diff --git a/wp-includes/assets/script-loader-packages.php b/wp-includes/assets/script-loader-packages.php index adb1ff86d5..051092af2b 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' => '0ac8327cc1c40dcfdf29716affd7ac63'), 'annotations.js' => array('dependencies' => array('lodash', 'wp-data', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-rich-text'), 'version' => '1c2dfcb00f9b6ccd16e93114b2dbc818'), 'api-fetch.js' => array('dependencies' => array('wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => '134e23b5f88ba06a093f9f92520a98df'), 'autop.js' => array('dependencies' => array('wp-polyfill'), 'version' => '0e55c6c10f6d8a4bd90b2ea903436301'), 'blob.js' => array('dependencies' => array('wp-polyfill'), 'version' => '4eca38a62df5f0145a5f1a78858581e7'), 'block-directory.js' => array('dependencies' => array('lodash', 'wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-data-controls', 'wp-edit-post', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives'), 'version' => '59e39b168393c12505197fed91dc8d01'), 'block-editor.js' => array('dependencies' => array('lodash', 'react', 'wp-a11y', 'wp-blob', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', '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-primitives', 'wp-rich-text', 'wp-shortcode', 'wp-token-list', 'wp-url', 'wp-wordcount'), 'version' => 'fc8c27c6e95e7e0d59b4e344cb9ddfed'), 'block-library.js' => array('dependencies' => array('lodash', 'moment', 'react', '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-hooks', 'wp-i18n', 'wp-keycodes', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-reusable-blocks', 'wp-rich-text', 'wp-server-side-render', 'wp-url', 'wp-viewport'), 'version' => '69fc06eecf1aeb26e48b8a47ed38179b'), 'block-serialization-default-parser.js' => array('dependencies' => array('wp-polyfill'), 'version' => '2fc6dec19af6d4c5e5fec8f6fdc1a10b'), 'blocks.js' => array('dependencies' => array('lodash', '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-primitives', 'wp-shortcode'), 'version' => '7ed7fe32dad771c4e0af4f56539ff156'), 'components.js' => array('dependencies' => array('lodash', 'moment', 'react', 'wp-a11y', 'wp-compose', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-primitives', 'wp-rich-text', 'wp-warning'), 'version' => '413e179f8a99bd28091ba5cc6f72c9f3'), 'compose.js' => array('dependencies' => array('lodash', 'react', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-priority-queue'), 'version' => '35754587ca81a116927d3de1017f4fa0'), 'core-data.js' => array('dependencies' => array('lodash', 'wp-api-fetch', 'wp-blocks', 'wp-data', 'wp-data-controls', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-url'), 'version' => 'fe45a7066c931b4d3d0ff96789da023d'), 'customize-widgets.js' => array('dependencies' => array('lodash', 'wp-a11y', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-polyfill', 'wp-primitives', 'wp-widgets'), 'version' => '779dd942fa1333da9130a6c196eb972e'), 'data.js' => array('dependencies' => array('lodash', 'react', 'wp-compose', 'wp-deprecated', 'wp-element', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-priority-queue', 'wp-redux-routine'), 'version' => 'a9e98fe3ad76884fe7909ba8348395b7'), 'data-controls.js' => array('dependencies' => array('wp-api-fetch', 'wp-data', 'wp-deprecated', 'wp-polyfill'), 'version' => 'cb4174d77c57f56732dc41d3bf3b2781'), 'date.js' => array('dependencies' => array('moment', 'wp-polyfill'), 'version' => '061439ac4325ef057b8f9c142c82a823'), 'deprecated.js' => array('dependencies' => array('wp-hooks', 'wp-polyfill'), 'version' => '932d8bb37da8bbb396a7a3f754345e08'), 'dom.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => 'a82fdb54a6baeb86aa639117061bf119'), 'dom-ready.js' => array('dependencies' => array('wp-polyfill'), 'version' => '71883072590656bf22c74c7b887df3dd'), 'edit-post.js' => array('dependencies' => array('lodash', 'react', 'wp-a11y', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-data-controls', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-url', 'wp-viewport', 'wp-warning'), 'version' => '3656613c515e40e95a15114467097b39'), 'edit-widgets.js' => array('dependencies' => array('lodash', 'wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-reusable-blocks', 'wp-url', 'wp-viewport', 'wp-widgets'), 'version' => 'b186cec01f1a7bb6ab91380888bf69f0'), 'editor.js' => array('dependencies' => array('lodash', 'react', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-data-controls', 'wp-date', 'wp-deprecated', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-reusable-blocks', 'wp-rich-text', 'wp-server-side-render', 'wp-url', 'wp-wordcount'), 'version' => '208cadf8632b62c7ccdf2f2feb2398e2'), 'element.js' => array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-escape-html', 'wp-polyfill'), 'version' => '43a121e875f299c637e1115581bee905'), 'escape-html.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'dcba9e40e8782c7d5883426934834b3e'), 'format-library.js' => array('dependencies' => array('lodash', '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' => 'c765b263eb6bc434e4b93dfc8771aaaf'), 'hooks.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'a7edae857aab69d69fa10d5aef23a5de'), 'html-entities.js' => array('dependencies' => array('wp-polyfill'), 'version' => '26307b6ad1e445fc1a4643f634cb29c6'), 'i18n.js' => array('dependencies' => array('wp-hooks', 'wp-polyfill'), 'version' => '5f1269854226b4dd90450db411a12b79'), 'is-shallow-equal.js' => array('dependencies' => array('wp-polyfill'), 'version' => '9b8d91804cfb3ef5b14e6ef816664072'), 'keyboard-shortcuts.js' => array('dependencies' => array('lodash', 'wp-compose', 'wp-data', 'wp-keycodes', 'wp-polyfill'), 'version' => 'd70c8cb490d99422cf8f2693ab7e88d0'), 'keycodes.js' => array('dependencies' => array('lodash', 'wp-i18n', 'wp-polyfill'), 'version' => '0b881ee2324067c223d746a87ae4ddda'), 'list-reusable-blocks.js' => array('dependencies' => array('lodash', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '7c8729d53ccf387890a9e30b5b3499a2'), 'media-utils.js' => array('dependencies' => array('lodash', 'wp-api-fetch', 'wp-blob', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '8e557d69e3ef2356d081c60830d157a1'), 'notices.js' => array('dependencies' => array('lodash', 'wp-data', 'wp-polyfill'), 'version' => 'f5dfeda575085df54ed17c2d8a6afaa4'), 'nux.js' => array('dependencies' => array('lodash', 'wp-components', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives'), 'version' => '46c24b95e957ec52584b5a578e431817'), 'plugins.js' => array('dependencies' => array('lodash', 'wp-compose', 'wp-element', 'wp-hooks', 'wp-polyfill', 'wp-primitives'), 'version' => '01dbac2843febe57b20f01bdb7a432b8'), 'primitives.js' => array('dependencies' => array('wp-element', 'wp-polyfill'), 'version' => 'fedf57cf6da174d1eca2875b8b730af3'), 'priority-queue.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'b2e76fb9887a285b5eff38763f2ac2fc'), 'redux-routine.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => 'fd5f93d1f8206c65d1891cf1f898211e'), 'reusable-blocks.js' => array('dependencies' => array('lodash', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-url'), 'version' => 'f210f01a481601fc2639d3f839449c5c'), 'rich-text.js' => array('dependencies' => array('lodash', 'wp-compose', 'wp-data', 'wp-element', 'wp-escape-html', 'wp-keycodes', 'wp-polyfill'), 'version' => '10cd4e4656806fb1a6884c84213af69c'), 'server-side-render.js' => array('dependencies' => array('lodash', 'wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => 'e68a4eae1f1e1f9a993d3bfbb601bad3'), 'shortcode.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => '361473450d55d9ffe30983cf22f42a8f'), 'token-list.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => '4440092061c305ccc3ebf8ce18138c8a'), 'url.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => 'd4bdf85a96aa587b52f4b8d58b4457c1'), 'viewport.js' => array('dependencies' => array('lodash', 'wp-compose', 'wp-data', 'wp-element', 'wp-polyfill'), 'version' => '57f92677272305fe301d0d0616d6c8c7'), 'warning.js' => array('dependencies' => array('wp-polyfill'), 'version' => '3e70e9d62208deeee510b84df4dec7f1'), 'widgets.js' => array('dependencies' => array('lodash', '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', 'wp-url'), 'version' => '2602721770ff18a259ab38ff3bac67bb'), 'wordcount.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => '83b86052fd3fc408a609e60d52164115')); \ No newline at end of file + array('dependencies' => array('wp-dom-ready', 'wp-i18n', 'wp-polyfill'), 'version' => '9c16bbcaf33be354f8441e70889ef026'), 'annotations.js' => array('dependencies' => array('lodash', 'wp-data', 'wp-hooks', 'wp-i18n', 'wp-polyfill', 'wp-rich-text'), 'version' => 'be09e28fc555e4078ceb084abfe19a2a'), 'api-fetch.js' => array('dependencies' => array('wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => 'f698127ce42a94f486d95e237332c934'), 'autop.js' => array('dependencies' => array('wp-polyfill'), 'version' => '9026a2ac95031fd794ea684e4c3d7c98'), 'blob.js' => array('dependencies' => array('wp-polyfill'), 'version' => '4eca38a62df5f0145a5f1a78858581e7'), 'block-directory.js' => array('dependencies' => array('lodash', 'wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-edit-post', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives'), 'version' => '75eaf8dcba3c56a2862d5b5119ccb021'), 'block-editor.js' => array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', '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-primitives', 'wp-rich-text', 'wp-shortcode', 'wp-token-list', 'wp-url', 'wp-warning', 'wp-wordcount'), 'version' => 'dcf437c2326ab93ff92b2cd3a31b2f96'), 'block-library.js' => array('dependencies' => array('lodash', 'moment', '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-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keycodes', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-reusable-blocks', 'wp-rich-text', 'wp-server-side-render', 'wp-url', 'wp-viewport'), 'version' => 'f3816a8b894c02a9ae9b415826d6e6a5'), 'block-serialization-default-parser.js' => array('dependencies' => array('wp-polyfill'), 'version' => '2fc6dec19af6d4c5e5fec8f6fdc1a10b'), 'blocks.js' => array('dependencies' => array('lodash', '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-shortcode'), 'version' => '1d4a5094380871c9d4f040cde2550b7b'), 'components.js' => array('dependencies' => array('lodash', 'moment', 'react', 'react-dom', 'wp-a11y', 'wp-compose', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-primitives', 'wp-rich-text', 'wp-warning'), 'version' => 'd2a3ec343d9115dc64c51106d3febdff'), 'compose.js' => array('dependencies' => array('lodash', 'react', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-polyfill', 'wp-priority-queue'), 'version' => '897f03a74ce499d3aa58130be18a1850'), 'core-data.js' => array('dependencies' => array('lodash', 'wp-api-fetch', 'wp-blocks', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-url'), 'version' => '0b9a2aee93cc8d3f76b93f2868cc25c8'), 'customize-widgets.js' => array('dependencies' => array('lodash', 'wp-a11y', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-viewport', 'wp-widgets'), 'version' => '0fc8684e1e4cf76a571add4f68ae8e51'), 'data.js' => array('dependencies' => array('lodash', 'react', 'wp-compose', 'wp-deprecated', 'wp-element', 'wp-is-shallow-equal', 'wp-polyfill', 'wp-priority-queue', 'wp-redux-routine'), 'version' => '77a74002a4c73ebb148c81338d26d31d'), 'data-controls.js' => array('dependencies' => array('wp-api-fetch', 'wp-data', 'wp-deprecated', 'wp-polyfill'), 'version' => '2172a4e883a68f61e2c16cd4c1ab8396'), 'date.js' => array('dependencies' => array('moment', 'wp-polyfill'), 'version' => '3875550ecc1e6622255f5a42e5a159ce'), 'deprecated.js' => array('dependencies' => array('wp-hooks', 'wp-polyfill'), 'version' => '932d8bb37da8bbb396a7a3f754345e08'), 'dom.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => '50dc1f3eb0cd526124881848f1e8c3ba'), 'dom-ready.js' => array('dependencies' => array('wp-polyfill'), 'version' => '71883072590656bf22c74c7b887df3dd'), 'edit-post.js' => array('dependencies' => array('lodash', 'wp-a11y', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-data-controls', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-url', 'wp-viewport', 'wp-warning'), 'version' => '78fcfbe83d5943f4eaf0f92d1b19d240'), 'edit-widgets.js' => array('dependencies' => array('lodash', 'wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-reusable-blocks', 'wp-url', 'wp-viewport', 'wp-widgets'), 'version' => '8a7a3c1fac16602efa298649c4a3274b'), 'editor.js' => array('dependencies' => array('lodash', 'react', 'wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-data-controls', 'wp-date', 'wp-deprecated', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-reusable-blocks', 'wp-rich-text', 'wp-server-side-render', 'wp-url', 'wp-wordcount'), 'version' => '99c3c9f04f3d6511eedbe4044cb8ae86'), 'element.js' => array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-escape-html', 'wp-polyfill'), 'version' => 'f806c4534fe0eb31e6a8ae2005c8791a'), 'escape-html.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'dcba9e40e8782c7d5883426934834b3e'), 'format-library.js' => array('dependencies' => array('lodash', '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' => 'c79b3840263d0a78c49fe044f2304f2e'), 'hooks.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'a514867ba88be0e33c1b9f4f6920a6a6'), 'html-entities.js' => array('dependencies' => array('wp-polyfill'), 'version' => '26307b6ad1e445fc1a4643f634cb29c6'), 'i18n.js' => array('dependencies' => array('wp-hooks', 'wp-polyfill'), 'version' => '8048667ca088a990a670c0ee3b7d0f81'), 'is-shallow-equal.js' => array('dependencies' => array('wp-polyfill'), 'version' => '9b8d91804cfb3ef5b14e6ef816664072'), 'keyboard-shortcuts.js' => array('dependencies' => array('lodash', 'wp-data', 'wp-element', 'wp-keycodes', 'wp-polyfill'), 'version' => '9fb17ccea196972abc222156880ce7f6'), 'keycodes.js' => array('dependencies' => array('lodash', 'wp-i18n', 'wp-polyfill'), 'version' => '3de88f173774e1e5471c6a402f02f8c8'), 'list-reusable-blocks.js' => array('dependencies' => array('lodash', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => 'e5caecd02ce3040a8a44b54206b63308'), 'media-utils.js' => array('dependencies' => array('lodash', 'wp-api-fetch', 'wp-blob', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '66e70199c167783aa11af451ef27d9a4'), 'notices.js' => array('dependencies' => array('lodash', 'wp-data', 'wp-polyfill'), 'version' => '1e7d4d108d95d5006f9de96adc5d419e'), 'nux.js' => array('dependencies' => array('lodash', 'wp-components', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-primitives'), 'version' => '86ae2c7f580732414594894f79e42c5a'), 'plugins.js' => array('dependencies' => array('lodash', 'wp-compose', 'wp-element', 'wp-hooks', 'wp-polyfill', 'wp-primitives'), 'version' => 'bc1633076d28d63ce55d46302f876d7b'), 'primitives.js' => array('dependencies' => array('wp-element', 'wp-polyfill'), 'version' => 'fedf57cf6da174d1eca2875b8b730af3'), 'priority-queue.js' => array('dependencies' => array('wp-polyfill'), 'version' => 'b2e76fb9887a285b5eff38763f2ac2fc'), 'redux-routine.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => '526a89dd4077c25f48fcbc20ee0bbb67'), 'reusable-blocks.js' => array('dependencies' => array('lodash', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-polyfill', 'wp-primitives', 'wp-url'), 'version' => 'cf03fd6b5d8fcca4dcc4414ef2ad8965'), 'rich-text.js' => array('dependencies' => array('lodash', 'wp-a11y', 'wp-compose', 'wp-data', 'wp-element', 'wp-escape-html', 'wp-i18n', 'wp-keycodes', 'wp-polyfill'), 'version' => 'bbc46a456915705640beaa1847fd7f5e'), 'server-side-render.js' => array('dependencies' => array('lodash', 'wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-url'), 'version' => 'de6ae82e99879a705ed55113202a3c8c'), 'shortcode.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => '4319042e75d48ae14cf0da54ef97155a'), 'token-list.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => '7eda0bf0cbf671b2a65b90b4d5a53872'), 'url.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => 'a46d49caececa748df2efad6c13c9c26'), 'viewport.js' => array('dependencies' => array('lodash', 'wp-compose', 'wp-data', 'wp-element', 'wp-polyfill'), 'version' => 'f79e1b909752884d4fc5c7d33e29433f'), 'warning.js' => array('dependencies' => array('wp-polyfill'), 'version' => '7c1e7902e42969a4268289623ad20340'), 'widgets.js' => array('dependencies' => array('lodash', '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' => '0b75b101ef044a196c2088f5ef446483'), 'wordcount.js' => array('dependencies' => array('lodash', 'wp-polyfill'), 'version' => '3bba5668869a0468bc75d3f973544db5')); \ No newline at end of file diff --git a/wp-includes/block-editor.php b/wp-includes/block-editor.php index 1e3f40672a..4d9707ed05 100644 --- a/wp-includes/block-editor.php +++ b/wp-includes/block-editor.php @@ -187,10 +187,22 @@ function get_default_block_editor_settings() { } } + // These styles are used if the "no theme styles" options is triggered or on + // themes without their own editor styles. + $default_editor_styles_file = ABSPATH . WPINC . '/css/dist/block-editor/default-editor-styles.css'; + if ( file_exists( $default_editor_styles_file ) ) { + $default_editor_styles = array( + array( 'css' => file_get_contents( $default_editor_styles_file ) ), + ); + } else { + $default_editor_styles = array(); + } + $editor_settings = array( 'alignWide' => get_theme_support( 'align-wide' ), 'allowedBlockTypes' => true, 'allowedMimeTypes' => get_allowed_mime_types(), + 'defaultEditorStyles' => $default_editor_styles, 'blockCategories' => get_default_block_categories(), 'disableCustomColors' => get_theme_support( 'disable-custom-colors' ), 'disableCustomFontSizes' => get_theme_support( 'disable-custom-font-sizes' ), @@ -464,22 +476,12 @@ function block_editor_rest_api_preload( array $preload_paths, $block_editor_cont * * @global array $editor_styles * - * @return array An array of theme styles for the block editor. Includes default font family - * style and theme stylesheets. + * @return array An array of theme styles for the block editor. */ function get_block_editor_theme_styles() { global $editor_styles; - if ( ! WP_Theme_JSON_Resolver::theme_has_support() ) { - $styles = array( - array( - 'css' => 'body { font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif }', - '__unstableType' => 'core', - ), - ); - } else { - $styles = array(); - } + $styles = array(); if ( $editor_styles && current_theme_supports( 'editor-styles' ) ) { foreach ( $editor_styles as $style ) { diff --git a/wp-includes/blocks/archives.php b/wp-includes/blocks/archives.php index 7b51169e21..2f4ad1045a 100644 --- a/wp-includes/blocks/archives.php +++ b/wp-includes/blocks/archives.php @@ -40,6 +40,10 @@ function render_block_core_archives( $attributes ) { $archives = wp_get_archives( $dropdown_args ); + $classnames = esc_attr( $class ); + + $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $classnames ) ); + switch ( $dropdown_args['type'] ) { case 'yearly': $label = __( 'Select Year' ); @@ -60,13 +64,13 @@ function render_block_core_archives( $attributes ) { $label = esc_html( $label ); - $block_content = ' + $block_content = ' '; return sprintf( - '
%2$s
', - esc_attr( $class ), + '
%2$s
', + $wrapper_attributes, $block_content ); } diff --git a/wp-includes/blocks/archives/editor-rtl.css b/wp-includes/blocks/archives/editor-rtl.css index 4e20e7d1ed..a7858d3361 100644 --- a/wp-includes/blocks/archives/editor-rtl.css +++ b/wp-includes/blocks/archives/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/archives/editor.css b/wp-includes/blocks/archives/editor.css index e131425b2b..0c891afcb5 100644 --- a/wp-includes/blocks/archives/editor.css +++ b/wp-includes/blocks/archives/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/post-content/editor-rtl.css b/wp-includes/blocks/archives/style-rtl.css similarity index 85% rename from wp-includes/blocks/post-content/editor-rtl.css rename to wp-includes/blocks/archives/style-rtl.css index bd03b9010b..3d9e326ba6 100644 --- a/wp-includes/blocks/post-content/editor-rtl.css +++ b/wp-includes/blocks/archives/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,13 +74,6 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block-post-content__placeholder { - height: 100px; - border: 1px dashed; - display: flex; - justify-content: center; - align-items: center; -} -.wp-block-post-content__placeholder span { - font-style: italic; +.wp-block-archives-dropdown label { + display: block; } \ No newline at end of file diff --git a/wp-includes/blocks/archives/style-rtl.min.css b/wp-includes/blocks/archives/style-rtl.min.css new file mode 100644 index 0000000000..cb7e0a8285 --- /dev/null +++ b/wp-includes/blocks/archives/style-rtl.min.css @@ -0,0 +1 @@ +.wp-block-archives-dropdown label{display:block} \ No newline at end of file diff --git a/wp-includes/blocks/query-title/editor.css b/wp-includes/blocks/archives/style.css similarity index 85% rename from wp-includes/blocks/query-title/editor.css rename to wp-includes/blocks/archives/style.css index dac751a3ed..3d9e326ba6 100644 --- a/wp-includes/blocks/query-title/editor.css +++ b/wp-includes/blocks/archives/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,7 +74,6 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block-query-title__placeholder { - padding: 1em 0; - border: 1px dashed; +.wp-block-archives-dropdown label { + display: block; } \ No newline at end of file diff --git a/wp-includes/blocks/archives/style.min.css b/wp-includes/blocks/archives/style.min.css new file mode 100644 index 0000000000..cb7e0a8285 --- /dev/null +++ b/wp-includes/blocks/archives/style.min.css @@ -0,0 +1 @@ +.wp-block-archives-dropdown label{display:block} \ No newline at end of file diff --git a/wp-includes/blocks/audio/editor-rtl.css b/wp-includes/blocks/audio/editor-rtl.css index f52d94a393..2168638bbe 100644 --- a/wp-includes/blocks/audio/editor-rtl.css +++ b/wp-includes/blocks/audio/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/audio/editor.css b/wp-includes/blocks/audio/editor.css index 7d21b97d0a..8e1d9c92e3 100644 --- a/wp-includes/blocks/audio/editor.css +++ b/wp-includes/blocks/audio/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/audio/style-rtl.css b/wp-includes/blocks/audio/style-rtl.css index 286aa03ffc..90b56714cc 100644 --- a/wp-includes/blocks/audio/style-rtl.css +++ b/wp-includes/blocks/audio/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/audio/style.css b/wp-includes/blocks/audio/style.css index 286aa03ffc..90b56714cc 100644 --- a/wp-includes/blocks/audio/style.css +++ b/wp-includes/blocks/audio/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/audio/theme-rtl.css b/wp-includes/blocks/audio/theme-rtl.css new file mode 100644 index 0000000000..1c7c418d5f --- /dev/null +++ b/wp-includes/blocks/audio/theme-rtl.css @@ -0,0 +1,84 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-audio figcaption { + color: #555; + font-size: 13px; + text-align: center; +} +.is-dark-theme .wp-block-audio figcaption { + color: rgba(255, 255, 255, 0.65); +} \ No newline at end of file diff --git a/wp-includes/blocks/audio/theme-rtl.min.css b/wp-includes/blocks/audio/theme-rtl.min.css new file mode 100644 index 0000000000..fa95928fd9 --- /dev/null +++ b/wp-includes/blocks/audio/theme-rtl.min.css @@ -0,0 +1 @@ +.wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:hsla(0,0%,100%,.65)} \ No newline at end of file diff --git a/wp-includes/blocks/audio/theme.css b/wp-includes/blocks/audio/theme.css new file mode 100644 index 0000000000..1c7c418d5f --- /dev/null +++ b/wp-includes/blocks/audio/theme.css @@ -0,0 +1,84 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-audio figcaption { + color: #555; + font-size: 13px; + text-align: center; +} +.is-dark-theme .wp-block-audio figcaption { + color: rgba(255, 255, 255, 0.65); +} \ No newline at end of file diff --git a/wp-includes/blocks/audio/theme.min.css b/wp-includes/blocks/audio/theme.min.css new file mode 100644 index 0000000000..fa95928fd9 --- /dev/null +++ b/wp-includes/blocks/audio/theme.min.css @@ -0,0 +1 @@ +.wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:hsla(0,0%,100%,.65)} \ No newline at end of file diff --git a/wp-includes/blocks/block/editor-rtl.css b/wp-includes/blocks/block/editor-rtl.css index da06693e40..7ae5b50416 100644 --- a/wp-includes/blocks/block/editor-rtl.css +++ b/wp-includes/blocks/block/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/block/editor.css b/wp-includes/blocks/block/editor.css index dba7ab9c0d..d09a24aa3a 100644 --- a/wp-includes/blocks/block/editor.css +++ b/wp-includes/blocks/block/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/button/block.json b/wp-includes/blocks/button/block.json index f2e4a52deb..99119b6d1d 100644 --- a/wp-includes/blocks/button/block.json +++ b/wp-includes/blocks/button/block.json @@ -63,9 +63,19 @@ }, "typography": { "fontSize": true, - "__experimentalFontFamily": true + "__experimentalFontFamily": true, + "__experimentalDefaultControls": { + "fontSize": true + } }, "reusable": false, + "spacing": { + "__experimentalSkipSerialization": true, + "padding": [ "horizontal", "vertical" ], + "__experimentalDefaultControls": { + "padding": true + } + }, "__experimentalBorder": { "radius": true, "__experimentalSkipSerialization": true diff --git a/wp-includes/blocks/button/editor-rtl.css b/wp-includes/blocks/button/editor-rtl.css index c8e3df3a03..55f2dd34ec 100644 --- a/wp-includes/blocks/button/editor-rtl.css +++ b/wp-includes/blocks/button/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -122,7 +128,6 @@ .is-selected .wp-block-button__inline-link { height: auto; overflow: visible; - margin-top: 16px; } .wp-button-label__width .components-button-group { diff --git a/wp-includes/blocks/button/editor-rtl.min.css b/wp-includes/blocks/button/editor-rtl.min.css index 2cf990e0e0..36e23c30df 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{text-align:center;margin-right:auto;margin-left:auto}.wp-block[data-align=right]>.wp-block-button{text-align:right}.wp-block-button{position:relative;cursor:text}.wp-block-button:not(.has-text-color):not(.is-style-outline) [data-rich-text-placeholder]:after{color:#fff}.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;overflow:hidden;max-width:290px}.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;margin-top:16px}.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} \ No newline at end of file +.wp-block[data-align=center]>.wp-block-button{text-align:center;margin-right:auto;margin-left:auto}.wp-block[data-align=right]>.wp-block-button{text-align:right}.wp-block-button{position:relative;cursor:text}.wp-block-button:not(.has-text-color):not(.is-style-outline) [data-rich-text-placeholder]:after{color:#fff}.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;overflow:hidden;max-width:290px}.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} \ No newline at end of file diff --git a/wp-includes/blocks/button/editor.css b/wp-includes/blocks/button/editor.css index 24c70312c5..17e7883430 100644 --- a/wp-includes/blocks/button/editor.css +++ b/wp-includes/blocks/button/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -123,7 +129,6 @@ .is-selected .wp-block-button__inline-link { height: auto; overflow: visible; - margin-top: 16px; } .wp-button-label__width .components-button-group { diff --git a/wp-includes/blocks/button/editor.min.css b/wp-includes/blocks/button/editor.min.css index 66dc3ef512..a205c08549 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{text-align:center;margin-left:auto;margin-right:auto}.wp-block[data-align=right]>.wp-block-button{ - /*!rtl:ignore*/text-align:right}.wp-block-button{position:relative;cursor:text}.wp-block-button:not(.has-text-color):not(.is-style-outline) [data-rich-text-placeholder]:after{color:#fff}.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;overflow:hidden;max-width:290px}.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;margin-top:16px}.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} \ No newline at end of file + /*!rtl:ignore*/text-align:right}.wp-block-button{position:relative;cursor:text}.wp-block-button:not(.has-text-color):not(.is-style-outline) [data-rich-text-placeholder]:after{color:#fff}.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;overflow:hidden;max-width:290px}.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} \ 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 d2b97dcdb0..4df43d65e3 100644 --- a/wp-includes/blocks/button/style-rtl.css +++ b/wp-includes/blocks/button/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -79,7 +85,7 @@ padding: calc(0.667em + 2px) calc(1.333em + 2px); text-align: center; text-decoration: none; - overflow-wrap: break-word; + word-break: break-word; box-sizing: border-box; } .wp-block-button__link:hover, .wp-block-button__link:focus, .wp-block-button__link:active, .wp-block-button__link:visited { @@ -102,41 +108,29 @@ font-size: inherit; } .wp-block-buttons > .wp-block-button.wp-block-button__width-25 { - width: calc(25% - 0.5em); + width: calc(25% - (var(--wp--style--block-gap, 0.5em) * 0.75)); } .wp-block-buttons > .wp-block-button.wp-block-button__width-50 { - width: calc(50% - 0.5em); + width: calc(50% - (var(--wp--style--block-gap, 0.5em) * 0.5)); } .wp-block-buttons > .wp-block-button.wp-block-button__width-75 { - width: calc(75% - 0.5em); + width: calc(75% - (var(--wp--style--block-gap, 0.5em) * 0.25)); } .wp-block-buttons > .wp-block-button.wp-block-button__width-100 { - width: calc(100% - 0.5em); -} -.wp-block-buttons > .wp-block-button.wp-block-button__width-100:only-child { - margin-left: 0; width: 100%; + flex-basis: 100%; } -@supports (column-gap: 0.5em) { - .wp-block-buttons > .wp-block-button.wp-block-button, .wp-block-buttons.is-content-justification-right > .wp-block-button.wp-block-button { - margin-left: 0; - margin-right: 0; - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-25 { - width: calc(25% - 0.375em); - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-50 { - width: calc(50% - 0.25em); - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-75 { - width: calc(75% - 0.125em); - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-100 { - width: auto; - flex-basis: 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; @@ -147,8 +141,8 @@ border-radius: 0 !important; } -.is-style-outline > .wp-block-button__link, -.wp-block-button__link.is-style-outline { +.is-style-outline > :where(.wp-block-button__link), +:where(.wp-block-button__link).is-style-outline { border: 2px solid currentColor; padding: 0.667em 1.333em; } diff --git a/wp-includes/blocks/button/style-rtl.min.css b/wp-includes/blocks/button/style-rtl.min.css index 317967d04f..8a51da0c1a 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{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;cursor:pointer;display:inline-block;font-size:1.125em;padding:calc(.667em + 2px) calc(1.333em + 2px);text-align:center;text-decoration:none;overflow-wrap:break-word;box-sizing:border-box}.wp-block-button__link:active,.wp-block-button__link:focus,.wp-block-button__link:hover,.wp-block-button__link:visited{color:#fff}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}.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% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{width:calc(100% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100:only-child{margin-left:0;width:100%}@supports (column-gap:0.5em){.wp-block-buttons.is-content-justification-right>.wp-block-button.wp-block-button,.wp-block-buttons>.wp-block-button.wp-block-button{margin-left:0;margin-right:0}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - .375em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - .25em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - .125em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{width:auto;flex-basis:100%}}.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}.is-style-outline>.wp-block-button__link,.wp-block-button__link.is-style-outline{border:2px solid;padding:.667em 1.333em}.is-style-outline>.wp-block-button__link:not(.has-text-color),.wp-block-button__link.is-style-outline:not(.has-text-color){color:currentColor}.is-style-outline>.wp-block-button__link:not(.has-background),.wp-block-button__link.is-style-outline:not(.has-background){background-color:initial} \ No newline at end of file +.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;cursor:pointer;display:inline-block;font-size:1.125em;padding:calc(.667em + 2px) calc(1.333em + 2px);text-align:center;text-decoration:none;word-break:break-word;box-sizing:border-box}.wp-block-button__link:active,.wp-block-button__link:focus,.wp-block-button__link:hover,.wp-block-button__link:visited{color:#fff}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}.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)*0.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*0.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*0.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{width:100%;flex-basis: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}.is-style-outline>:where(.wp-block-button__link),:where(.wp-block-button__link).is-style-outline{border:2px solid;padding:.667em 1.333em}.is-style-outline>.wp-block-button__link:not(.has-text-color),.wp-block-button__link.is-style-outline:not(.has-text-color){color:currentColor}.is-style-outline>.wp-block-button__link:not(.has-background),.wp-block-button__link.is-style-outline:not(.has-background){background-color:initial} \ No newline at end of file diff --git a/wp-includes/blocks/button/style.css b/wp-includes/blocks/button/style.css index 2fd53ecb4f..0a559b36a7 100644 --- a/wp-includes/blocks/button/style.css +++ b/wp-includes/blocks/button/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -79,7 +85,7 @@ padding: calc(0.667em + 2px) calc(1.333em + 2px); text-align: center; text-decoration: none; - overflow-wrap: break-word; + word-break: break-word; box-sizing: border-box; } .wp-block-button__link:hover, .wp-block-button__link:focus, .wp-block-button__link:active, .wp-block-button__link:visited { @@ -103,41 +109,29 @@ font-size: inherit; } .wp-block-buttons > .wp-block-button.wp-block-button__width-25 { - width: calc(25% - 0.5em); + width: calc(25% - (var(--wp--style--block-gap, 0.5em) * 0.75)); } .wp-block-buttons > .wp-block-button.wp-block-button__width-50 { - width: calc(50% - 0.5em); + width: calc(50% - (var(--wp--style--block-gap, 0.5em) * 0.5)); } .wp-block-buttons > .wp-block-button.wp-block-button__width-75 { - width: calc(75% - 0.5em); + width: calc(75% - (var(--wp--style--block-gap, 0.5em) * 0.25)); } .wp-block-buttons > .wp-block-button.wp-block-button__width-100 { - width: calc(100% - 0.5em); -} -.wp-block-buttons > .wp-block-button.wp-block-button__width-100:only-child { - margin-right: 0; width: 100%; + flex-basis: 100%; } -@supports (column-gap: 0.5em) { - .wp-block-buttons > .wp-block-button.wp-block-button, .wp-block-buttons.is-content-justification-right > .wp-block-button.wp-block-button { - margin-right: 0; - margin-left: 0; - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-25 { - width: calc(25% - 0.375em); - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-50 { - width: calc(50% - 0.25em); - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-75 { - width: calc(75% - 0.125em); - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-100 { - width: auto; - flex-basis: 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; @@ -148,8 +142,8 @@ border-radius: 0 !important; } -.is-style-outline > .wp-block-button__link, -.wp-block-button__link.is-style-outline { +.is-style-outline > :where(.wp-block-button__link), +:where(.wp-block-button__link).is-style-outline { border: 2px solid currentColor; padding: 0.667em 1.333em; } diff --git a/wp-includes/blocks/button/style.min.css b/wp-includes/blocks/button/style.min.css index 27351d6df3..8a51da0c1a 100644 --- a/wp-includes/blocks/button/style.min.css +++ b/wp-includes/blocks/button/style.min.css @@ -1 +1 @@ -.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;cursor:pointer;display:inline-block;font-size:1.125em;padding:calc(.667em + 2px) calc(1.333em + 2px);text-align:center;text-decoration:none;overflow-wrap:break-word;box-sizing:border-box}.wp-block-button__link:active,.wp-block-button__link:focus,.wp-block-button__link:hover,.wp-block-button__link:visited{color:#fff}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}.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% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{width:calc(100% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100:only-child{margin-right:0;width:100%}@supports (column-gap:0.5em){.wp-block-buttons.is-content-justification-right>.wp-block-button.wp-block-button,.wp-block-buttons>.wp-block-button.wp-block-button{margin-right:0;margin-left:0}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - .375em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - .25em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - .125em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{width:auto;flex-basis:100%}}.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}.is-style-outline>.wp-block-button__link,.wp-block-button__link.is-style-outline{border:2px solid;padding:.667em 1.333em}.is-style-outline>.wp-block-button__link:not(.has-text-color),.wp-block-button__link.is-style-outline:not(.has-text-color){color:currentColor}.is-style-outline>.wp-block-button__link:not(.has-background),.wp-block-button__link.is-style-outline:not(.has-background){background-color:initial} \ No newline at end of file +.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;cursor:pointer;display:inline-block;font-size:1.125em;padding:calc(.667em + 2px) calc(1.333em + 2px);text-align:center;text-decoration:none;word-break:break-word;box-sizing:border-box}.wp-block-button__link:active,.wp-block-button__link:focus,.wp-block-button__link:hover,.wp-block-button__link:visited{color:#fff}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}.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)*0.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*0.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*0.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{width:100%;flex-basis: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}.is-style-outline>:where(.wp-block-button__link),:where(.wp-block-button__link).is-style-outline{border:2px solid;padding:.667em 1.333em}.is-style-outline>.wp-block-button__link:not(.has-text-color),.wp-block-button__link.is-style-outline:not(.has-text-color){color:currentColor}.is-style-outline>.wp-block-button__link:not(.has-background),.wp-block-button__link.is-style-outline:not(.has-background){background-color:initial} \ No newline at end of file diff --git a/wp-includes/blocks/buttons/block.json b/wp-includes/blocks/buttons/block.json index 74eed0a4a0..818d4d20e9 100644 --- a/wp-includes/blocks/buttons/block.json +++ b/wp-includes/blocks/buttons/block.json @@ -6,18 +6,24 @@ "description": "Prompt visitors to take action with a group of button-style links.", "keywords": [ "link" ], "textdomain": "default", - "attributes": { - "contentJustification": { - "type": "string" - }, - "orientation": { - "type": "string", - "default": "horizontal" - } - }, "supports": { "anchor": true, - "align": [ "wide", "full" ] + "align": [ "wide", "full" ], + "__experimentalExposeControlsToChildren": true, + "spacing": { + "blockGap": true, + "margin": ["top", "bottom" ], + "__experimentalDefaultControls": { + "blockGap": true + } + }, + "__experimentalLayout": { + "allowSwitching": false, + "allowInheriting": false, + "default": { + "type": "flex" + } + } }, "editorStyle": "wp-block-buttons-editor", "style": "wp-block-buttons" diff --git a/wp-includes/blocks/buttons/editor-rtl.css b/wp-includes/blocks/buttons/editor-rtl.css index 06924fae73..fded3a8df0 100644 --- a/wp-includes/blocks/buttons/editor-rtl.css +++ b/wp-includes/blocks/buttons/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,18 +74,14 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block > .wp-block-buttons { - display: flex; - flex-wrap: wrap; -} - .wp-block-buttons { /* stylelint-disable indentation */ } .wp-block-buttons > .wp-block { - margin-right: 0; - margin-top: 0.5em; - margin-left: 0.5em; + margin: 0; +} +.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 { display: inline-flex; diff --git a/wp-includes/blocks/buttons/editor-rtl.min.css b/wp-includes/blocks/buttons/editor-rtl.min.css index 1a6f4451e9..a2f1ce6757 100644 --- a/wp-includes/blocks/buttons/editor-rtl.min.css +++ b/wp-includes/blocks/buttons/editor-rtl.min.css @@ -1 +1 @@ -.wp-block>.wp-block-buttons{display:flex;flex-wrap:wrap}.wp-block-buttons>.wp-block{margin-right:0;margin-top:.5em;margin-left:.5em}.wp-block-buttons>.block-list-appender{display:inline-flex;align-items:center}.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-right:auto;margin-left: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}.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} \ No newline at end of file +.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{display:inline-flex;align-items:center}.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-right:auto;margin-left: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}.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} \ No newline at end of file diff --git a/wp-includes/blocks/buttons/editor.css b/wp-includes/blocks/buttons/editor.css index 51cdc9c6bf..74aa2268f1 100644 --- a/wp-includes/blocks/buttons/editor.css +++ b/wp-includes/blocks/buttons/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,18 +74,14 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block > .wp-block-buttons { - display: flex; - flex-wrap: wrap; -} - .wp-block-buttons { /* stylelint-disable indentation */ } .wp-block-buttons > .wp-block { - margin-left: 0; - margin-top: 0.5em; - margin-right: 0.5em; + margin: 0; +} +.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 { display: inline-flex; diff --git a/wp-includes/blocks/buttons/editor.min.css b/wp-includes/blocks/buttons/editor.min.css index d69f0ba520..1ae01a1df1 100644 --- a/wp-includes/blocks/buttons/editor.min.css +++ b/wp-includes/blocks/buttons/editor.min.css @@ -1 +1 @@ -.wp-block>.wp-block-buttons{display:flex;flex-wrap:wrap}.wp-block-buttons>.wp-block{margin-left:0;margin-top:.5em;margin-right:.5em}.wp-block-buttons>.block-list-appender{display:inline-flex;align-items:center}.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}.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} \ No newline at end of file +.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{display:inline-flex;align-items:center}.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}.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} \ No newline at end of file diff --git a/wp-includes/blocks/buttons/style-rtl.css b/wp-includes/blocks/buttons/style-rtl.css index f167c581a6..1116000e9d 100644 --- a/wp-includes/blocks/buttons/style-rtl.css +++ b/wp-includes/blocks/buttons/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -69,29 +75,17 @@ * Reset the WP Admin page styles for Gutenberg-like pages. */ .wp-block-buttons { - display: flex; - flex-direction: row; - flex-wrap: wrap; - column-gap: 0.5em; /* stylelint-disable indentation */ } .wp-block-buttons.is-vertical { flex-direction: column; } -.wp-block-buttons.is-vertical > .wp-block-button { - margin-right: 0; -} .wp-block-buttons.is-vertical > .wp-block-button:last-child { margin-bottom: 0; } .wp-block-buttons > .wp-block-button { display: inline-block; - margin-left: 0; - margin-right: 0.5em; - margin-bottom: 0.5em; -} -.wp-block-buttons > .wp-block-button:last-child { - margin-right: 0; + margin: 0; } .wp-block-buttons.is-content-justification-left { justify-content: flex-start; @@ -108,13 +102,6 @@ .wp-block-buttons.is-content-justification-right { justify-content: flex-end; } -.wp-block-buttons.is-content-justification-right > .wp-block-button { - margin-left: 0.5em; - margin-right: 0; -} -.wp-block-buttons.is-content-justification-right > .wp-block-button:first-child { - margin-left: 0; -} .wp-block-buttons.is-content-justification-right.is-vertical { align-items: flex-end; } @@ -124,20 +111,6 @@ .wp-block-buttons.aligncenter { text-align: center; } -.wp-block-buttons.alignleft .wp-block-button { - margin-left: 0; - margin-right: 0.5em; -} -.wp-block-buttons.alignleft .wp-block-button:last-child { - margin-right: 0; -} -.wp-block-buttons.alignright .wp-block-button { - margin-right: 0; - margin-left: 0.5em; -} -.wp-block-buttons.alignright .wp-block-button:first-child { - margin-left: 0; -} .wp-block-buttons:not(.is-content-justification-space-between, .is-content-justification-right, .is-content-justification-left, @@ -145,7 +118,6 @@ /* stylelint-enable indentation */ margin-right: auto; margin-left: auto; - margin-bottom: 0.5em; width: 100%; } diff --git a/wp-includes/blocks/buttons/style-rtl.min.css b/wp-includes/blocks/buttons/style-rtl.min.css index 8a3d19911a..d33a8510dd 100644 --- a/wp-includes/blocks/buttons/style-rtl.min.css +++ b/wp-includes/blocks/buttons/style-rtl.min.css @@ -1 +1 @@ -.wp-block-buttons{display:flex;flex-direction:row;flex-wrap:wrap;column-gap:.5em}.wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button{margin-right:0}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin-left:0;margin-right:.5em;margin-bottom:.5em}.wp-block-buttons>.wp-block-button:last-child{margin-right: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>.wp-block-button{margin-left:.5em;margin-right:0}.wp-block-buttons.is-content-justification-right>.wp-block-button:first-child{margin-left:0}.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.alignleft .wp-block-button{margin-left:0;margin-right:.5em}.wp-block-buttons.alignleft .wp-block-button:last-child{margin-right:0}.wp-block-buttons.alignright .wp-block-button{margin-right:0;margin-left:.5em}.wp-block-buttons.alignright .wp-block-button:first-child{margin-left:0}.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-right:auto;margin-left:auto;margin-bottom:.5em;width:100%}.wp-block-button.aligncenter{text-align:center} \ No newline at end of file +.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-right:auto;margin-left:auto;width:100%}.wp-block-button.aligncenter{text-align:center} \ No newline at end of file diff --git a/wp-includes/blocks/buttons/style.css b/wp-includes/blocks/buttons/style.css index 9920998d64..a1dbe89384 100644 --- a/wp-includes/blocks/buttons/style.css +++ b/wp-includes/blocks/buttons/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -69,33 +75,17 @@ * Reset the WP Admin page styles for Gutenberg-like pages. */ .wp-block-buttons { - display: flex; - flex-direction: row; - flex-wrap: wrap; - column-gap: 0.5em; /* stylelint-disable indentation */ } .wp-block-buttons.is-vertical { flex-direction: column; } -.wp-block-buttons.is-vertical > .wp-block-button { - /*rtl:ignore*/ - margin-right: 0; -} .wp-block-buttons.is-vertical > .wp-block-button:last-child { margin-bottom: 0; } .wp-block-buttons > .wp-block-button { display: inline-block; - /*rtl:ignore*/ - margin-left: 0; - /*rtl:ignore*/ - margin-right: 0.5em; - margin-bottom: 0.5em; -} -.wp-block-buttons > .wp-block-button:last-child { - /*rtl:ignore*/ - margin-right: 0; + margin: 0; } .wp-block-buttons.is-content-justification-left { justify-content: flex-start; @@ -112,16 +102,6 @@ .wp-block-buttons.is-content-justification-right { justify-content: flex-end; } -.wp-block-buttons.is-content-justification-right > .wp-block-button { - /*rtl:ignore*/ - margin-left: 0.5em; - /*rtl:ignore*/ - margin-right: 0; -} -.wp-block-buttons.is-content-justification-right > .wp-block-button:first-child { - /*rtl:ignore*/ - margin-left: 0; -} .wp-block-buttons.is-content-justification-right.is-vertical { align-items: flex-end; } @@ -131,26 +111,6 @@ .wp-block-buttons.aligncenter { text-align: center; } -.wp-block-buttons.alignleft .wp-block-button { - /*rtl:ignore*/ - margin-left: 0; - /*rtl:ignore*/ - margin-right: 0.5em; -} -.wp-block-buttons.alignleft .wp-block-button:last-child { - /*rtl:ignore*/ - margin-right: 0; -} -.wp-block-buttons.alignright .wp-block-button { - /*rtl:ignore*/ - margin-right: 0; - /*rtl:ignore*/ - margin-left: 0.5em; -} -.wp-block-buttons.alignright .wp-block-button:first-child { - /*rtl:ignore*/ - margin-left: 0; -} .wp-block-buttons:not(.is-content-justification-space-between, .is-content-justification-right, .is-content-justification-left, @@ -158,7 +118,6 @@ /* stylelint-enable indentation */ margin-left: auto; margin-right: auto; - margin-bottom: 0.5em; width: 100%; } diff --git a/wp-includes/blocks/buttons/style.min.css b/wp-includes/blocks/buttons/style.min.css index 7674aee897..e412ce066b 100644 --- a/wp-includes/blocks/buttons/style.min.css +++ b/wp-includes/blocks/buttons/style.min.css @@ -1 +1 @@ -.wp-block-buttons{display:flex;flex-direction:row;flex-wrap:wrap;column-gap:.5em}.wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button{margin-right:0}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin-left:0;margin-right:.5em;margin-bottom:.5em}.wp-block-buttons>.wp-block-button:last-child{margin-right: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>.wp-block-button{margin-left:.5em;margin-right:0}.wp-block-buttons.is-content-justification-right>.wp-block-button:first-child{margin-left:0}.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.alignleft .wp-block-button{margin-left:0;margin-right:.5em}.wp-block-buttons.alignleft .wp-block-button:last-child{margin-right:0}.wp-block-buttons.alignright .wp-block-button{margin-right:0;margin-left:.5em}.wp-block-buttons.alignright .wp-block-button:first-child{margin-left:0}.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;margin-bottom:.5em;width:100%}.wp-block-button.aligncenter{text-align:center} \ No newline at end of file +.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-button.aligncenter{text-align:center} \ No newline at end of file diff --git a/wp-includes/blocks/calendar.php b/wp-includes/blocks/calendar.php index 6e0c52886a..9f3f8c48d3 100644 --- a/wp-includes/blocks/calendar.php +++ b/wp-includes/blocks/calendar.php @@ -15,6 +15,15 @@ function render_block_core_calendar( $attributes ) { global $monthnum, $year; + // Calendar shouldn't be rendered + // when there are no published posts on the site. + if ( ! block_core_calendar_has_published_posts() ) { + if ( is_user_logged_in() ) { + return '
' . __( 'The calendar block is hidden because there are no published posts.', 'gutenberg' ) . '
'; + } + return ''; + } + $previous_monthnum = $monthnum; $previous_year = $year; @@ -59,3 +68,86 @@ function register_block_core_calendar() { } add_action( 'init', 'register_block_core_calendar' ); + +/** + * Returns whether or not there are any published posts. + * + * Used to hide the calendar block when there are no published posts. + * This compensates for a known Core bug: https://core.trac.wordpress.org/ticket/12016 + * + * @return bool Has any published posts or not. + */ +function block_core_calendar_has_published_posts() { + // Multisite already has an option that stores the count of the published posts. + // Let's use that for multisites. + if ( is_multisite() ) { + return 0 < (int) get_option( 'post_count' ); + } + + // On single sites we try our own cached option first. + $has_published_posts = get_option( 'gutenberg_calendar_block_has_published_posts', null ); + if ( null !== $has_published_posts ) { + return (bool) $has_published_posts; + } + + // No cache hit, let's update the cache and return the cached value. + return block_core_calendar_update_has_published_posts(); +} + +/** + * Queries the database for any published post and saves + * a flag whether any published post exists or not. + * + * @return bool Has any published posts or not. + */ +function block_core_calendar_update_has_published_posts() { + global $wpdb; + $has_published_posts = (bool) $wpdb->get_var( "SELECT 1 as test FROM {$wpdb->posts} WHERE post_type = 'post' AND post_status = 'publish' LIMIT 1" ); + update_option( 'gutenberg_calendar_block_has_published_posts', $has_published_posts ); + return $has_published_posts; +} + +// We only want to register these functions and actions when +// we are on single sites. On multi sites we use `post_count` option. +if ( ! is_multisite() ) { + /** + * Handler for updating the has published posts flag when a post is deleted. + * + * @param int $post_id Deleted post ID. + */ + function block_core_calendar_update_has_published_post_on_delete( $post_id ) { + $post = get_post( $post_id ); + + if ( ! $post || 'publish' !== $post->post_status || 'post' !== $post->post_type ) { + return; + } + + block_core_calendar_update_has_published_posts(); + } + + /** + * Handler for updating the has published posts flag when a post status changes. + * + * @param string $new_status The status the post is changing to. + * @param string $old_status The status the post is changing from. + * @param WP_Post $post Post object. + */ + function block_core_calendar_update_has_published_post_on_transition_post_status( $new_status, $old_status, $post ) { + if ( $new_status === $old_status ) { + return; + } + + if ( 'post' !== get_post_type( $post ) ) { + return; + } + + if ( 'publish' !== $new_status && 'publish' !== $old_status ) { + return; + } + + block_core_calendar_update_has_published_posts(); + } + + add_action( 'delete_post', 'block_core_calendar_update_has_published_post_on_delete' ); + add_action( 'transition_post_status', 'block_core_calendar_update_has_published_post_on_transition_post_status', 10, 3 ); +} diff --git a/wp-includes/blocks/calendar/style-rtl.css b/wp-includes/blocks/calendar/style-rtl.css index 7fc0815d81..d74f6a5de4 100644 --- a/wp-includes/blocks/calendar/style-rtl.css +++ b/wp-includes/blocks/calendar/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/calendar/style.css b/wp-includes/blocks/calendar/style.css index 7fc0815d81..d74f6a5de4 100644 --- a/wp-includes/blocks/calendar/style.css +++ b/wp-includes/blocks/calendar/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/categories.php b/wp-includes/blocks/categories.php index 3cffff9551..5492712d51 100644 --- a/wp-includes/blocks/categories.php +++ b/wp-includes/blocks/categories.php @@ -23,6 +23,9 @@ function render_block_core_categories( $attributes ) { 'show_count' => ! empty( $attributes['showPostCounts'] ), 'title_li' => '', ); + if ( ! empty( $attributes['showOnlyTopLevel'] ) && $attributes['showOnlyTopLevel'] ) { + $args['parent'] = 0; + } if ( ! empty( $attributes['displayAsDropdown'] ) ) { $id = 'wp-block-categories-' . $block_id; diff --git a/wp-includes/blocks/categories/block.json b/wp-includes/blocks/categories/block.json index b238df4203..448b27c9cc 100644 --- a/wp-includes/blocks/categories/block.json +++ b/wp-includes/blocks/categories/block.json @@ -17,6 +17,10 @@ "showPostCounts": { "type": "boolean", "default": false + }, + "showOnlyTopLevel": { + "type": "boolean", + "default": false } }, "supports": { diff --git a/wp-includes/blocks/categories/editor-rtl.css b/wp-includes/blocks/categories/editor-rtl.css index 78b1d5c365..537f51c1c1 100644 --- a/wp-includes/blocks/categories/editor-rtl.css +++ b/wp-includes/blocks/categories/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/categories/editor.css b/wp-includes/blocks/categories/editor.css index d579e897d5..bfa9a8b19d 100644 --- a/wp-includes/blocks/categories/editor.css +++ b/wp-includes/blocks/categories/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/categories/style-rtl.css b/wp-includes/blocks/categories/style-rtl.css index 0eeb923445..014e5cf827 100644 --- a/wp-includes/blocks/categories/style-rtl.css +++ b/wp-includes/blocks/categories/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/categories/style.css b/wp-includes/blocks/categories/style.css index e9f11ab009..538d36ebf4 100644 --- a/wp-includes/blocks/categories/style.css +++ b/wp-includes/blocks/categories/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/code/block.json b/wp-includes/blocks/code/block.json index 8ea75ed6da..992058d12f 100644 --- a/wp-includes/blocks/code/block.json +++ b/wp-includes/blocks/code/block.json @@ -14,8 +14,32 @@ }, "supports": { "anchor": true, + "__experimentalSelector": ".wp-block-code > code", "typography": { - "fontSize": true + "fontSize": true, + "lineHeight": true, + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalTextTransform": true, + "__experimentalDefaultControls": { + "fontSize": true + } + }, + "spacing": { + "margin": [ "top", "bottom" ], + "padding": true + }, + "__experimentalBorder": { + "radius": true, + "color": true, + "width": true, + "style": true + }, + "color": { + "text": true, + "background": true, + "gradients": true } }, "style": "wp-block-code" diff --git a/wp-includes/blocks/code/style-rtl.css b/wp-includes/blocks/code/style-rtl.css index 83380b7c07..9128ee3213 100644 --- a/wp-includes/blocks/code/style-rtl.css +++ b/wp-includes/blocks/code/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/code/style.css b/wp-includes/blocks/code/style.css index 83380b7c07..9128ee3213 100644 --- a/wp-includes/blocks/code/style.css +++ b/wp-includes/blocks/code/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/heading/editor-rtl.css b/wp-includes/blocks/code/theme-rtl.css similarity index 80% rename from wp-includes/blocks/heading/editor-rtl.css rename to wp-includes/blocks/code/theme-rtl.css index e1fb9c8aa3..e70e600d46 100644 --- a/wp-includes/blocks/heading/editor-rtl.css +++ b/wp-includes/blocks/code/theme-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,13 +74,10 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.block-library-heading-level-dropdown .components-popover__content { - min-width: 230px; -} -.block-library-heading-level-dropdown .components-popover__content > div { - padding: 0; -} - -.block-library-heading-level-toolbar { - border: none; +.wp-block-code { + font-family: Menlo, Consolas, monaco, monospace; + color: #1e1e1e; + padding: 0.8em 1em; + border: 1px solid #ddd; + border-radius: 4px; } \ No newline at end of file diff --git a/wp-includes/blocks/code/theme-rtl.min.css b/wp-includes/blocks/code/theme-rtl.min.css new file mode 100644 index 0000000000..38d13d9447 --- /dev/null +++ b/wp-includes/blocks/code/theme-rtl.min.css @@ -0,0 +1 @@ +.wp-block-code{font-family:Menlo,Consolas,monaco,monospace;color:#1e1e1e;padding:.8em 1em;border:1px solid #ddd;border-radius:4px} \ No newline at end of file diff --git a/wp-includes/blocks/heading/editor.css b/wp-includes/blocks/code/theme.css similarity index 80% rename from wp-includes/blocks/heading/editor.css rename to wp-includes/blocks/code/theme.css index e1fb9c8aa3..e70e600d46 100644 --- a/wp-includes/blocks/heading/editor.css +++ b/wp-includes/blocks/code/theme.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,13 +74,10 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.block-library-heading-level-dropdown .components-popover__content { - min-width: 230px; -} -.block-library-heading-level-dropdown .components-popover__content > div { - padding: 0; -} - -.block-library-heading-level-toolbar { - border: none; +.wp-block-code { + font-family: Menlo, Consolas, monaco, monospace; + color: #1e1e1e; + padding: 0.8em 1em; + border: 1px solid #ddd; + border-radius: 4px; } \ No newline at end of file diff --git a/wp-includes/blocks/code/theme.min.css b/wp-includes/blocks/code/theme.min.css new file mode 100644 index 0000000000..38d13d9447 --- /dev/null +++ b/wp-includes/blocks/code/theme.min.css @@ -0,0 +1 @@ +.wp-block-code{font-family:Menlo,Consolas,monaco,monospace;color:#1e1e1e;padding:.8em 1em;border:1px solid #ddd;border-radius:4px} \ No newline at end of file diff --git a/wp-includes/blocks/column/block.json b/wp-includes/blocks/column/block.json index 00e443b0ec..826b916811 100644 --- a/wp-includes/blocks/column/block.json +++ b/wp-includes/blocks/column/block.json @@ -13,7 +13,11 @@ "width": { "type": "string" }, + "allowedBlocks": { + "type": "array" + }, "templateLock": { + "type": "string", "enum": [ "all", "insert", false ] } }, @@ -26,7 +30,10 @@ "link": true }, "spacing": { - "padding": true + "padding": true, + "__experimentalDefaultControls": { + "padding": true + } } } } diff --git a/wp-includes/blocks/columns/block.json b/wp-includes/blocks/columns/block.json index f3bc49d3d2..6f20b75715 100644 --- a/wp-includes/blocks/columns/block.json +++ b/wp-includes/blocks/columns/block.json @@ -3,11 +3,15 @@ "name": "core/columns", "title": "Columns", "category": "design", - "description": "Add a block that displays content in multiple columns, then add whatever content blocks you’d like.", + "description": "Display content in multiple columns, with blocks added to each column.", "textdomain": "default", "attributes": { "verticalAlignment": { "type": "string" + }, + "isStackedOnMobile": { + "type": "boolean", + "default": true } }, "supports": { @@ -17,6 +21,14 @@ "color": { "gradients": true, "link": true + }, + "spacing": { + "blockGap": true, + "margin": [ "top", "bottom" ], + "padding": true, + "__experimentalDefaultControls": { + "blockGap": true + } } }, "editorStyle": "wp-block-columns-editor", diff --git a/wp-includes/blocks/columns/editor-rtl.css b/wp-includes/blocks/columns/editor-rtl.css index 6f29d37e75..f48bf926fd 100644 --- a/wp-includes/blocks/columns/editor-rtl.css +++ b/wp-includes/blocks/columns/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,7 +74,7 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block-columns .wp-block { +.wp-block-columns :where(.wp-block) { max-width: none; margin-right: 0; margin-left: 0; @@ -76,12 +82,12 @@ @media (min-width: 600px) { .editor-styles-wrapper .block-editor-block-list__block.wp-block-column:nth-child(even) { - margin-right: 32px; + margin-right: var(--wp--style--block-gap, 2em); } } @media (min-width: 782px) { .editor-styles-wrapper .block-editor-block-list__block.wp-block-column:not(:first-child) { - margin-right: 32px; + margin-right: var(--wp--style--block-gap, 2em); } } .block-editor-block-list__block.wp-block-column.wp-block-column { diff --git a/wp-includes/blocks/columns/editor-rtl.min.css b/wp-includes/blocks/columns/editor-rtl.min.css index e3e98983fc..030035bfd4 100644 --- a/wp-includes/blocks/columns/editor-rtl.min.css +++ b/wp-includes/blocks/columns/editor-rtl.min.css @@ -1 +1 @@ -.wp-block-columns .wp-block{max-width:none;margin-right:0;margin-left:0}@media (min-width:600px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:nth-child(2n){margin-right:32px}}@media (min-width:782px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:not(:first-child){margin-right:32px}}.block-editor-block-list__block.wp-block-column.wp-block-column{margin-top:0;margin-bottom:0} \ No newline at end of file +.wp-block-columns :where(.wp-block){max-width:none;margin-right:0;margin-left:0}@media (min-width:600px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:nth-child(2n){margin-right:var(--wp--style--block-gap,2em)}}@media (min-width:782px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:not(:first-child){margin-right:var(--wp--style--block-gap,2em)}}.block-editor-block-list__block.wp-block-column.wp-block-column{margin-top:0;margin-bottom:0} \ No newline at end of file diff --git a/wp-includes/blocks/columns/editor.css b/wp-includes/blocks/columns/editor.css index 07470f47e3..1e73090afb 100644 --- a/wp-includes/blocks/columns/editor.css +++ b/wp-includes/blocks/columns/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,7 +74,7 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block-columns .wp-block { +.wp-block-columns :where(.wp-block) { max-width: none; margin-left: 0; margin-right: 0; @@ -76,12 +82,12 @@ @media (min-width: 600px) { .editor-styles-wrapper .block-editor-block-list__block.wp-block-column:nth-child(even) { - margin-left: 32px; + margin-left: var(--wp--style--block-gap, 2em); } } @media (min-width: 782px) { .editor-styles-wrapper .block-editor-block-list__block.wp-block-column:not(:first-child) { - margin-left: 32px; + margin-left: var(--wp--style--block-gap, 2em); } } .block-editor-block-list__block.wp-block-column.wp-block-column { diff --git a/wp-includes/blocks/columns/editor.min.css b/wp-includes/blocks/columns/editor.min.css index 8019dedcf8..09a8627ddd 100644 --- a/wp-includes/blocks/columns/editor.min.css +++ b/wp-includes/blocks/columns/editor.min.css @@ -1 +1 @@ -.wp-block-columns .wp-block{max-width:none;margin-left:0;margin-right:0}@media (min-width:600px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:nth-child(2n){margin-left:32px}}@media (min-width:782px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:not(:first-child){margin-left:32px}}.block-editor-block-list__block.wp-block-column.wp-block-column{margin-top:0;margin-bottom:0} \ No newline at end of file +.wp-block-columns :where(.wp-block){max-width:none;margin-left:0;margin-right:0}@media (min-width:600px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:nth-child(2n){margin-left:var(--wp--style--block-gap,2em)}}@media (min-width:782px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:not(:first-child){margin-left:var(--wp--style--block-gap,2em)}}.block-editor-block-list__block.wp-block-column.wp-block-column{margin-top:0;margin-bottom:0} \ No newline at end of file diff --git a/wp-includes/blocks/columns/style-rtl.css b/wp-includes/blocks/columns/style-rtl.css index 98917a763a..822772ae58 100644 --- a/wp-includes/blocks/columns/style-rtl.css +++ b/wp-includes/blocks/columns/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -82,7 +88,7 @@ flex-wrap: nowrap; } } -.wp-block-columns.has-background { +.wp-block-columns:where(.has-background) { padding: 1.25em 2.375em; } .wp-block-columns.are-vertically-aligned-top { @@ -94,6 +100,45 @@ .wp-block-columns.are-vertically-aligned-bottom { align-items: flex-end; } +@media (max-width: 599px) { + .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { + flex-basis: 100% !important; + } +} +@media (min-width: 600px) and (max-width: 781px) { + .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) { + flex-basis: calc(50% - calc(var(--wp--style--block-gap, 2em) / 2)) !important; + flex-grow: 0; + } + .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:nth-child(even) { + margin-right: var(--wp--style--block-gap, 2em); + } +} +@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:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) { + margin-right: var(--wp--style--block-gap, 2em); + } +} +.wp-block-columns.is-not-stacked-on-mobile { + flex-wrap: nowrap; +} +.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; +} +.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:not(:first-child) { + margin-right: var(--wp--style--block-gap, 2em); +} .wp-block-column { flex-grow: 1; @@ -104,32 +149,6 @@ * Individual Column Alignment */ } -@media (max-width: 599px) { - .wp-block-column { - flex-basis: 100% !important; - } -} -@media (min-width: 600px) and (max-width: 781px) { - .wp-block-column:not(:only-child) { - flex-basis: calc(50% - 1em) !important; - flex-grow: 0; - } - .wp-block-column:nth-child(even) { - margin-right: 2em; - } -} -@media (min-width: 782px) { - .wp-block-column { - flex-basis: 0; - flex-grow: 1; - } - .wp-block-column[style*=flex-basis] { - flex-grow: 0; - } - .wp-block-column:not(:first-child) { - margin-right: 2em; - } -} .wp-block-column.is-vertically-aligned-top { align-self: flex-start; } diff --git a/wp-includes/blocks/columns/style-rtl.min.css b/wp-includes/blocks/columns/style-rtl.min.css index 6da927408a..6d6c84e054 100644 --- a/wp-includes/blocks/columns/style-rtl.min.css +++ b/wp-includes/blocks/columns/style-rtl.min.css @@ -1 +1 @@ -.wp-block-columns{display:flex;margin-bottom:1.75em;box-sizing:border-box;flex-wrap:wrap}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap}}.wp-block-columns.has-background{padding:1.25em 2.375em}.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}.wp-block-column{flex-grow:1;min-width:0;word-break:break-word;overflow-wrap:break-word}@media (max-width:599px){.wp-block-column{flex-basis:100%!important}}@media (min-width:600px) and (max-width:781px){.wp-block-column:not(:only-child){flex-basis:calc(50% - 1em)!important;flex-grow:0}.wp-block-column:nth-child(2n){margin-right:2em}}@media (min-width:782px){.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-column[style*=flex-basis]{flex-grow:0}.wp-block-column:not(:first-child){margin-right:2em}}.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-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%} \ No newline at end of file +.wp-block-columns{display:flex;margin-bottom:1.75em;box-sizing:border-box;flex-wrap:wrap}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap}}.wp-block-columns:where(.has-background){padding:1.25em 2.375em}.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:599px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:600px) and (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:only-child){flex-basis:calc(50% - var(--wp--style--block-gap, 2em)/2)!important;flex-grow:0}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:nth-child(2n){margin-right:var(--wp--style--block-gap,2em)}}@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:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:first-child){margin-right:var(--wp--style--block-gap,2em)}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap}.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}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column:not(:first-child){margin-right:var(--wp--style--block-gap,2em)}.wp-block-column{flex-grow:1;min-width:0;word-break:break-word;overflow-wrap: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-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%} \ No newline at end of file diff --git a/wp-includes/blocks/columns/style.css b/wp-includes/blocks/columns/style.css index b83fbc12e9..ed8bc5f0db 100644 --- a/wp-includes/blocks/columns/style.css +++ b/wp-includes/blocks/columns/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -82,7 +88,7 @@ flex-wrap: nowrap; } } -.wp-block-columns.has-background { +.wp-block-columns:where(.has-background) { padding: 1.25em 2.375em; } .wp-block-columns.are-vertically-aligned-top { @@ -94,6 +100,45 @@ .wp-block-columns.are-vertically-aligned-bottom { align-items: flex-end; } +@media (max-width: 599px) { + .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { + flex-basis: 100% !important; + } +} +@media (min-width: 600px) and (max-width: 781px) { + .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) { + flex-basis: calc(50% - calc(var(--wp--style--block-gap, 2em) / 2)) !important; + flex-grow: 0; + } + .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:nth-child(even) { + margin-left: var(--wp--style--block-gap, 2em); + } +} +@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:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) { + margin-left: var(--wp--style--block-gap, 2em); + } +} +.wp-block-columns.is-not-stacked-on-mobile { + flex-wrap: nowrap; +} +.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; +} +.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:not(:first-child) { + margin-left: var(--wp--style--block-gap, 2em); +} .wp-block-column { flex-grow: 1; @@ -104,32 +149,6 @@ * Individual Column Alignment */ } -@media (max-width: 599px) { - .wp-block-column { - flex-basis: 100% !important; - } -} -@media (min-width: 600px) and (max-width: 781px) { - .wp-block-column:not(:only-child) { - flex-basis: calc(50% - 1em) !important; - flex-grow: 0; - } - .wp-block-column:nth-child(even) { - margin-left: 2em; - } -} -@media (min-width: 782px) { - .wp-block-column { - flex-basis: 0; - flex-grow: 1; - } - .wp-block-column[style*=flex-basis] { - flex-grow: 0; - } - .wp-block-column:not(:first-child) { - margin-left: 2em; - } -} .wp-block-column.is-vertically-aligned-top { align-self: flex-start; } diff --git a/wp-includes/blocks/columns/style.min.css b/wp-includes/blocks/columns/style.min.css index 40de0a1d66..45a1952a49 100644 --- a/wp-includes/blocks/columns/style.min.css +++ b/wp-includes/blocks/columns/style.min.css @@ -1 +1 @@ -.wp-block-columns{display:flex;margin-bottom:1.75em;box-sizing:border-box;flex-wrap:wrap}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap}}.wp-block-columns.has-background{padding:1.25em 2.375em}.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}.wp-block-column{flex-grow:1;min-width:0;word-break:break-word;overflow-wrap:break-word}@media (max-width:599px){.wp-block-column{flex-basis:100%!important}}@media (min-width:600px) and (max-width:781px){.wp-block-column:not(:only-child){flex-basis:calc(50% - 1em)!important;flex-grow:0}.wp-block-column:nth-child(2n){margin-left:2em}}@media (min-width:782px){.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-column[style*=flex-basis]{flex-grow:0}.wp-block-column:not(:first-child){margin-left:2em}}.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-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%} \ No newline at end of file +.wp-block-columns{display:flex;margin-bottom:1.75em;box-sizing:border-box;flex-wrap:wrap}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap}}.wp-block-columns:where(.has-background){padding:1.25em 2.375em}.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:599px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:600px) and (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:only-child){flex-basis:calc(50% - var(--wp--style--block-gap, 2em)/2)!important;flex-grow:0}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:nth-child(2n){margin-left:var(--wp--style--block-gap,2em)}}@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:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:first-child){margin-left:var(--wp--style--block-gap,2em)}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap}.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}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column:not(:first-child){margin-left:var(--wp--style--block-gap,2em)}.wp-block-column{flex-grow:1;min-width:0;word-break:break-word;overflow-wrap: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-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%} \ No newline at end of file diff --git a/wp-includes/blocks/cover/block.json b/wp-includes/blocks/cover/block.json index 3b3ad5d804..cac312ec13 100644 --- a/wp-includes/blocks/cover/block.json +++ b/wp-includes/blocks/cover/block.json @@ -12,6 +12,13 @@ "id": { "type": "number" }, + "alt": { + "type": "string", + "source": "attribute", + "selector": "img", + "attribute": "alt", + "default": "" + }, "hasParallax": { "type": "boolean", "default": false @@ -22,7 +29,7 @@ }, "dimRatio": { "type": "number", - "default": 50 + "default": 100 }, "overlayColor": { "type": "string" @@ -51,6 +58,17 @@ }, "contentPosition": { "type": "string" + }, + "isDark": { + "type": "boolean", + "default": true + }, + "allowedBlocks": { + "type": "array" + }, + "templateLock": { + "type": "string", + "enum": [ "all", "insert", false ] } }, "supports": { @@ -58,7 +76,10 @@ "align": true, "html": false, "spacing": { - "padding": true + "padding": true, + "__experimentalDefaultControls": { + "padding": true + } }, "color": { "__experimentalDuotone": "> .wp-block-cover__image-background, > .wp-block-cover__video-background", diff --git a/wp-includes/blocks/cover/editor-rtl.css b/wp-includes/blocks/cover/editor-rtl.css index 2a5a76095a..0694ef3a20 100644 --- a/wp-includes/blocks/cover/editor-rtl.css +++ b/wp-includes/blocks/cover/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,10 +74,28 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ +.wp-block-cover { + /* Extra specificity needed because the reset.css applied in the editor context is overriding this rule. */ +} +.editor-styles-wrapper .wp-block-cover { + box-sizing: border-box; +} .wp-block-cover.is-placeholder { min-height: auto !important; padding: 0 !important; } +.wp-block-cover.is-placeholder .block-library-cover__resize-container { + display: none; +} +.wp-block-cover.is-placeholder .components-placeholder.is-large { + min-height: 240px; + justify-content: flex-start; + z-index: 1; +} +.wp-block-cover.is-placeholder .components-placeholder.is-large + .block-library-cover__resize-container { + min-height: 240px; + display: block; +} .wp-block-cover.components-placeholder h2 { color: inherit; } @@ -115,45 +139,15 @@ right: 0; left: 0; bottom: 0; + min-height: 50px; } .block-library-cover__resize-container:not(.is-resizing) { height: auto !important; } -.wp-block-cover > .components-drop-zone.is-active { - transition: 0.2s opacity, 0.2s border; -} -@media (prefers-reduced-motion: reduce) { - .wp-block-cover > .components-drop-zone.is-active { - transition-duration: 0s; - transition-delay: 0s; - } -} -.wp-block-cover > .components-drop-zone.is-dragging-over-element { - background-color: transparent; - border: 48px solid var(--wp-admin-theme-color); -} -.wp-block-cover > .components-drop-zone.is-dragging-over-element .components-drop-zone__content { - transform: none; -} .wp-block-cover > .components-drop-zone .components-drop-zone__content { - display: flex; - align-items: center; - top: -36px; - right: -36px; - transform: none; -} -.wp-block-cover > .components-drop-zone .components-drop-zone__content-icon, -.wp-block-cover > .components-drop-zone .components-drop-zone__content-text { - display: inline; -} -.wp-block-cover > .components-drop-zone .components-drop-zone__content-icon { - margin: 0; - margin-left: 8px; -} -.wp-block-cover > .components-drop-zone .components-drop-zone__content-text { - font-size: 13px; + opacity: 0.8 !important; } .block-editor-block-patterns-list__list-item .has-parallax.wp-block-cover { diff --git a/wp-includes/blocks/cover/editor-rtl.min.css b/wp-includes/blocks/cover/editor-rtl.min.css index fb719cb3c4..088ea9fece 100644 --- a/wp-includes/blocks/cover/editor-rtl.min.css +++ b/wp-includes/blocks/cover/editor-rtl.min.css @@ -1 +1 @@ -.wp-block-cover.is-placeholder{min-height:auto!important;padding:0!important}.wp-block-cover.components-placeholder h2{color:inherit}.wp-block-cover.is-transient:before{background-color:#fff;opacity:.3}.wp-block-cover .components-spinner{position:absolute;z-index:1;top:50%;right:50%;transform:translate(50%,-50%);margin:0}.wp-block-cover .block-editor-block-list__layout{width:100%}.wp-block-cover .wp-block-cover__inner-container{text-align:right;margin-right:0;margin-left:0}.wp-block-cover .wp-block-cover__placeholder-background-options{width:100%}[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{position:absolute!important;top:0;right:0;left:0;bottom:0}.block-library-cover__resize-container:not(.is-resizing){height:auto!important}.wp-block-cover>.components-drop-zone.is-active{transition:opacity .2s,border .2s}@media (prefers-reduced-motion:reduce){.wp-block-cover>.components-drop-zone.is-active{transition-duration:0s;transition-delay:0s}}.wp-block-cover>.components-drop-zone.is-dragging-over-element{background-color:initial;border:48px solid var(--wp-admin-theme-color)}.wp-block-cover>.components-drop-zone.is-dragging-over-element .components-drop-zone__content{transform:none}.wp-block-cover>.components-drop-zone .components-drop-zone__content{display:flex;align-items:center;top:-36px;right:-36px;transform:none}.wp-block-cover>.components-drop-zone .components-drop-zone__content-icon,.wp-block-cover>.components-drop-zone .components-drop-zone__content-text{display:inline}.wp-block-cover>.components-drop-zone .components-drop-zone__content-icon{margin:0 0 0 8px}.wp-block-cover>.components-drop-zone .components-drop-zone__content-text{font-size:13px}.block-editor-block-patterns-list__list-item .has-parallax.wp-block-cover{background-attachment:scroll} \ No newline at end of file +.editor-styles-wrapper .wp-block-cover{box-sizing:border-box}.wp-block-cover.is-placeholder{min-height:auto!important;padding:0!important}.wp-block-cover.is-placeholder .block-library-cover__resize-container{display:none}.wp-block-cover.is-placeholder .components-placeholder.is-large{min-height:240px;justify-content:flex-start;z-index:1}.wp-block-cover.is-placeholder .components-placeholder.is-large+.block-library-cover__resize-container{min-height:240px;display:block}.wp-block-cover.components-placeholder h2{color:inherit}.wp-block-cover.is-transient:before{background-color:#fff;opacity:.3}.wp-block-cover .components-spinner{position:absolute;z-index:1;top:50%;right:50%;transform:translate(50%,-50%);margin:0}.wp-block-cover .block-editor-block-list__layout{width:100%}.wp-block-cover .wp-block-cover__inner-container{text-align:right;margin-right:0;margin-left:0}.wp-block-cover .wp-block-cover__placeholder-background-options{width:100%}[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{position:absolute!important;top:0;right:0;left:0;bottom:0;min-height:50px}.block-library-cover__resize-container:not(.is-resizing){height:auto!important}.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} \ No newline at end of file diff --git a/wp-includes/blocks/cover/editor.css b/wp-includes/blocks/cover/editor.css index e7f1d0fbfa..6620d70819 100644 --- a/wp-includes/blocks/cover/editor.css +++ b/wp-includes/blocks/cover/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,10 +74,28 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ +.wp-block-cover { + /* Extra specificity needed because the reset.css applied in the editor context is overriding this rule. */ +} +.editor-styles-wrapper .wp-block-cover { + box-sizing: border-box; +} .wp-block-cover.is-placeholder { min-height: auto !important; padding: 0 !important; } +.wp-block-cover.is-placeholder .block-library-cover__resize-container { + display: none; +} +.wp-block-cover.is-placeholder .components-placeholder.is-large { + min-height: 240px; + justify-content: flex-start; + z-index: 1; +} +.wp-block-cover.is-placeholder .components-placeholder.is-large + .block-library-cover__resize-container { + min-height: 240px; + display: block; +} .wp-block-cover.components-placeholder h2 { color: inherit; } @@ -115,45 +139,15 @@ left: 0; right: 0; bottom: 0; + min-height: 50px; } .block-library-cover__resize-container:not(.is-resizing) { height: auto !important; } -.wp-block-cover > .components-drop-zone.is-active { - transition: 0.2s opacity, 0.2s border; -} -@media (prefers-reduced-motion: reduce) { - .wp-block-cover > .components-drop-zone.is-active { - transition-duration: 0s; - transition-delay: 0s; - } -} -.wp-block-cover > .components-drop-zone.is-dragging-over-element { - background-color: transparent; - border: 48px solid var(--wp-admin-theme-color); -} -.wp-block-cover > .components-drop-zone.is-dragging-over-element .components-drop-zone__content { - transform: none; -} .wp-block-cover > .components-drop-zone .components-drop-zone__content { - display: flex; - align-items: center; - top: -36px; - left: -36px; - transform: none; -} -.wp-block-cover > .components-drop-zone .components-drop-zone__content-icon, -.wp-block-cover > .components-drop-zone .components-drop-zone__content-text { - display: inline; -} -.wp-block-cover > .components-drop-zone .components-drop-zone__content-icon { - margin: 0; - margin-right: 8px; -} -.wp-block-cover > .components-drop-zone .components-drop-zone__content-text { - font-size: 13px; + opacity: 0.8 !important; } .block-editor-block-patterns-list__list-item .has-parallax.wp-block-cover { diff --git a/wp-includes/blocks/cover/editor.min.css b/wp-includes/blocks/cover/editor.min.css index fe5a89fede..f5d9d4914a 100644 --- a/wp-includes/blocks/cover/editor.min.css +++ b/wp-includes/blocks/cover/editor.min.css @@ -1 +1 @@ -.wp-block-cover.is-placeholder{min-height:auto!important;padding:0!important}.wp-block-cover.components-placeholder h2{color:inherit}.wp-block-cover.is-transient:before{background-color:#fff;opacity:.3}.wp-block-cover .components-spinner{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}.wp-block-cover .block-editor-block-list__layout{width:100%}.wp-block-cover .wp-block-cover__inner-container{text-align:left;margin-left:0;margin-right:0}.wp-block-cover .wp-block-cover__placeholder-background-options{width:100%}[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{position:absolute!important;top:0;left:0;right:0;bottom:0}.block-library-cover__resize-container:not(.is-resizing){height:auto!important}.wp-block-cover>.components-drop-zone.is-active{transition:opacity .2s,border .2s}@media (prefers-reduced-motion:reduce){.wp-block-cover>.components-drop-zone.is-active{transition-duration:0s;transition-delay:0s}}.wp-block-cover>.components-drop-zone.is-dragging-over-element{background-color:initial;border:48px solid var(--wp-admin-theme-color)}.wp-block-cover>.components-drop-zone.is-dragging-over-element .components-drop-zone__content{transform:none}.wp-block-cover>.components-drop-zone .components-drop-zone__content{display:flex;align-items:center;top:-36px;left:-36px;transform:none}.wp-block-cover>.components-drop-zone .components-drop-zone__content-icon,.wp-block-cover>.components-drop-zone .components-drop-zone__content-text{display:inline}.wp-block-cover>.components-drop-zone .components-drop-zone__content-icon{margin:0 8px 0 0}.wp-block-cover>.components-drop-zone .components-drop-zone__content-text{font-size:13px}.block-editor-block-patterns-list__list-item .has-parallax.wp-block-cover{background-attachment:scroll} \ No newline at end of file +.editor-styles-wrapper .wp-block-cover{box-sizing:border-box}.wp-block-cover.is-placeholder{min-height:auto!important;padding:0!important}.wp-block-cover.is-placeholder .block-library-cover__resize-container{display:none}.wp-block-cover.is-placeholder .components-placeholder.is-large{min-height:240px;justify-content:flex-start;z-index:1}.wp-block-cover.is-placeholder .components-placeholder.is-large+.block-library-cover__resize-container{min-height:240px;display:block}.wp-block-cover.components-placeholder h2{color:inherit}.wp-block-cover.is-transient:before{background-color:#fff;opacity:.3}.wp-block-cover .components-spinner{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}.wp-block-cover .block-editor-block-list__layout{width:100%}.wp-block-cover .wp-block-cover__inner-container{text-align:left;margin-left:0;margin-right:0}.wp-block-cover .wp-block-cover__placeholder-background-options{width:100%}[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{position:absolute!important;top:0;left:0;right:0;bottom:0;min-height:50px}.block-library-cover__resize-container:not(.is-resizing){height:auto!important}.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} \ No newline at end of file diff --git a/wp-includes/blocks/cover/style-rtl.css b/wp-includes/blocks/cover/style-rtl.css index 6e7838a685..46ad41101f 100644 --- a/wp-includes/blocks/cover/style-rtl.css +++ b/wp-includes/blocks/cover/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -133,64 +139,48 @@ z-index: 1; opacity: 0.5; } -.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0 { + opacity: 0; +} +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10 { opacity: 0.1; } -.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20 { opacity: 0.2; } -.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30 { opacity: 0.3; } -.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40 { opacity: 0.4; } -.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50 { opacity: 0.5; } -.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60 { opacity: 0.6; } -.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70 { opacity: 0.7; } -.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80 { opacity: 0.8; } -.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90 { opacity: 0.9; } -.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100 { opacity: 1; } .wp-block-cover-image.alignleft, .wp-block-cover-image.alignright, @@ -224,6 +214,10 @@ z-index: 1; color: #fff; } +.wp-block-cover-image.is-light .wp-block-cover__inner-container, +.wp-block-cover.is-light .wp-block-cover__inner-container { + color: #000; +} .wp-block-cover-image p:not(.has-text-color), .wp-block-cover-image h1:not(.has-text-color), .wp-block-cover-image h2:not(.has-text-color), diff --git a/wp-includes/blocks/cover/style-rtl.min.css b/wp-includes/blocks/cover/style-rtl.min.css index d81b81c211..70ba06e98f 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{position:relative;background-size:cover;background-position:50%;min-height:430px;width:100%;display:flex;justify-content:center;align-items:center;padding:1em;box-sizing:border-box}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:fixed}@supports (-webkit-overflow-scrolling:touch){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated{background-repeat:repeat;background-size:auto}.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-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{content:"";background-color:inherit}.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim:not(.has-background-gradient):before,.wp-block-cover .wp-block-cover__gradient-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;opacity:.5}.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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{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{display:block;content:"";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-image .wp-block-cover__inner-container,.wp-block-cover .wp-block-cover__inner-container{width:100%;z-index:1;color:#fff}.wp-block-cover-image h1:not(.has-text-color),.wp-block-cover-image h2:not(.has-text-color),.wp-block-cover-image h3:not(.has-text-color),.wp-block-cover-image h4:not(.has-text-color),.wp-block-cover-image h5:not(.has-text-color),.wp-block-cover-image h6:not(.has-text-color),.wp-block-cover-image p:not(.has-text-color),.wp-block-cover h1:not(.has-text-color),.wp-block-cover h2:not(.has-text-color),.wp-block-cover h3:not(.has-text-color),.wp-block-cover h4:not(.has-text-color),.wp-block-cover h5:not(.has-text-color),.wp-block-cover h6:not(.has-text-color),.wp-block-cover p: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;width:auto}.wp-block-cover-image img.wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background,.wp-block-cover img.wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background{position:absolute;top:0;right:0;left:0;bottom:0;margin:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;-o-object-fit:cover;object-fit:cover;outline:none;border:none;box-shadow:none}.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-image .wp-block-cover-image-text,.wp-block-cover .wp-block-cover-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;z-index:1;margin-bottom:0;max-width:840px;padding:.44em;text-align:center} \ No newline at end of file +.wp-block-cover,.wp-block-cover-image{position:relative;background-size:cover;background-position:50%;min-height:430px;width:100%;display:flex;justify-content:center;align-items:center;padding:1em;box-sizing:border-box}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:fixed}@supports (-webkit-overflow-scrolling:touch){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated{background-repeat:repeat;background-size:auto}.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-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{content:"";background-color:inherit}.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim:not(.has-background-gradient):before,.wp-block-cover .wp-block-cover__gradient-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;opacity:.5}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover .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{display:block;content:"";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-image .wp-block-cover__inner-container,.wp-block-cover .wp-block-cover__inner-container{width:100%;z-index:1;color:#fff}.wp-block-cover-image.is-light .wp-block-cover__inner-container,.wp-block-cover.is-light .wp-block-cover__inner-container{color:#000}.wp-block-cover-image h1:not(.has-text-color),.wp-block-cover-image h2:not(.has-text-color),.wp-block-cover-image h3:not(.has-text-color),.wp-block-cover-image h4:not(.has-text-color),.wp-block-cover-image h5:not(.has-text-color),.wp-block-cover-image h6:not(.has-text-color),.wp-block-cover-image p:not(.has-text-color),.wp-block-cover h1:not(.has-text-color),.wp-block-cover h2:not(.has-text-color),.wp-block-cover h3:not(.has-text-color),.wp-block-cover h4:not(.has-text-color),.wp-block-cover h5:not(.has-text-color),.wp-block-cover h6:not(.has-text-color),.wp-block-cover p: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;width:auto}.wp-block-cover-image img.wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background,.wp-block-cover img.wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background{position:absolute;top:0;right:0;left:0;bottom:0;margin:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;-o-object-fit:cover;object-fit:cover;outline:none;border:none;box-shadow:none}.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-image .wp-block-cover-image-text,.wp-block-cover .wp-block-cover-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;z-index:1;margin-bottom:0;max-width:840px;padding:.44em;text-align:center} \ No newline at end of file diff --git a/wp-includes/blocks/cover/style.css b/wp-includes/blocks/cover/style.css index faaf6041d2..bb5e434b38 100644 --- a/wp-includes/blocks/cover/style.css +++ b/wp-includes/blocks/cover/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -133,64 +139,48 @@ z-index: 1; opacity: 0.5; } -.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0 { + opacity: 0; +} +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10 { opacity: 0.1; } -.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20 { opacity: 0.2; } -.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30 { opacity: 0.3; } -.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40 { opacity: 0.4; } -.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50 { opacity: 0.5; } -.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60 { opacity: 0.6; } -.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70 { opacity: 0.7; } -.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80 { opacity: 0.8; } -.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90 { opacity: 0.9; } -.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100 { opacity: 1; } .wp-block-cover-image.alignleft, .wp-block-cover-image.alignright, @@ -224,6 +214,10 @@ z-index: 1; color: #fff; } +.wp-block-cover-image.is-light .wp-block-cover__inner-container, +.wp-block-cover.is-light .wp-block-cover__inner-container { + color: #000; +} .wp-block-cover-image p:not(.has-text-color), .wp-block-cover-image h1:not(.has-text-color), .wp-block-cover-image h2:not(.has-text-color), diff --git a/wp-includes/blocks/cover/style.min.css b/wp-includes/blocks/cover/style.min.css index 85b62be91d..9ebae84a38 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{position:relative;background-size:cover;background-position:50%;min-height:430px;width:100%;display:flex;justify-content:center;align-items:center;padding:1em;box-sizing:border-box}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:fixed}@supports (-webkit-overflow-scrolling:touch){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated{background-repeat:repeat;background-size:auto}.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-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{content:"";background-color:inherit}.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim:not(.has-background-gradient):before,.wp-block-cover .wp-block-cover__gradient-background{position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;opacity:.5}.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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{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{display:block;content:"";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-image .wp-block-cover__inner-container,.wp-block-cover .wp-block-cover__inner-container{width:100%;z-index:1;color:#fff}.wp-block-cover-image h1:not(.has-text-color),.wp-block-cover-image h2:not(.has-text-color),.wp-block-cover-image h3:not(.has-text-color),.wp-block-cover-image h4:not(.has-text-color),.wp-block-cover-image h5:not(.has-text-color),.wp-block-cover-image h6:not(.has-text-color),.wp-block-cover-image p:not(.has-text-color),.wp-block-cover h1:not(.has-text-color),.wp-block-cover h2:not(.has-text-color),.wp-block-cover h3:not(.has-text-color),.wp-block-cover h4:not(.has-text-color),.wp-block-cover h5:not(.has-text-color),.wp-block-cover h6:not(.has-text-color),.wp-block-cover p: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;width:auto}.wp-block-cover-image img.wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background,.wp-block-cover img.wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;-o-object-fit:cover;object-fit:cover;outline:none;border:none;box-shadow:none}.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-image .wp-block-cover-image-text,.wp-block-cover .wp-block-cover-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;z-index:1;margin-bottom:0;max-width:840px;padding:.44em;text-align:center} \ No newline at end of file +.wp-block-cover,.wp-block-cover-image{position:relative;background-size:cover;background-position:50%;min-height:430px;width:100%;display:flex;justify-content:center;align-items:center;padding:1em;box-sizing:border-box}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:fixed}@supports (-webkit-overflow-scrolling:touch){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated{background-repeat:repeat;background-size:auto}.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-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{content:"";background-color:inherit}.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim:not(.has-background-gradient):before,.wp-block-cover .wp-block-cover__gradient-background{position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;opacity:.5}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover .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{display:block;content:"";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-image .wp-block-cover__inner-container,.wp-block-cover .wp-block-cover__inner-container{width:100%;z-index:1;color:#fff}.wp-block-cover-image.is-light .wp-block-cover__inner-container,.wp-block-cover.is-light .wp-block-cover__inner-container{color:#000}.wp-block-cover-image h1:not(.has-text-color),.wp-block-cover-image h2:not(.has-text-color),.wp-block-cover-image h3:not(.has-text-color),.wp-block-cover-image h4:not(.has-text-color),.wp-block-cover-image h5:not(.has-text-color),.wp-block-cover-image h6:not(.has-text-color),.wp-block-cover-image p:not(.has-text-color),.wp-block-cover h1:not(.has-text-color),.wp-block-cover h2:not(.has-text-color),.wp-block-cover h3:not(.has-text-color),.wp-block-cover h4:not(.has-text-color),.wp-block-cover h5:not(.has-text-color),.wp-block-cover h6:not(.has-text-color),.wp-block-cover p: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;width:auto}.wp-block-cover-image img.wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background,.wp-block-cover img.wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;-o-object-fit:cover;object-fit:cover;outline:none;border:none;box-shadow:none}.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-image .wp-block-cover-image-text,.wp-block-cover .wp-block-cover-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;z-index:1;margin-bottom:0;max-width:840px;padding:.44em;text-align:center} \ No newline at end of file diff --git a/wp-includes/blocks/embed/block.json b/wp-includes/blocks/embed/block.json index cc0cb64c03..ae46421963 100644 --- a/wp-includes/blocks/embed/block.json +++ b/wp-includes/blocks/embed/block.json @@ -3,7 +3,7 @@ "name": "core/embed", "title": "Embed", "category": "embed", - "description": "Add a block that displays content pulled from other sites, like Twitter, Instagram or YouTube.", + "description": "Add a block that displays content pulled from other sites, like Twitter or YouTube.", "textdomain": "default", "attributes": { "url": { diff --git a/wp-includes/blocks/embed/editor-rtl.css b/wp-includes/blocks/embed/editor-rtl.css index 05ccca80cb..d6c3f9e426 100644 --- a/wp-includes/blocks/embed/editor-rtl.css +++ b/wp-includes/blocks/embed/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/embed/editor.css b/wp-includes/blocks/embed/editor.css index f40ee91985..eff2fd8b2d 100644 --- a/wp-includes/blocks/embed/editor.css +++ b/wp-includes/blocks/embed/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/embed/style-rtl.css b/wp-includes/blocks/embed/style-rtl.css index b05fbb7c6d..c6a701ceb0 100644 --- a/wp-includes/blocks/embed/style-rtl.css +++ b/wp-includes/blocks/embed/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -89,6 +95,7 @@ .wp-block-embed { margin: 0 0 1em 0; + overflow-wrap: break-word; } .wp-block-embed figcaption { margin-top: 0.5em; diff --git a/wp-includes/blocks/embed/style-rtl.min.css b/wp-includes/blocks/embed/style-rtl.min.css index fe02683e95..56c761cc8c 100644 --- a/wp-includes/blocks/embed/style-rtl.min.css +++ b/wp-includes/blocks/embed/style-rtl.min.css @@ -1 +1 @@ -.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-width:320px;min-height:240px}.wp-block-embed{margin:0 0 1em}.wp-block-embed figcaption{margin-top:.5em;margin-bottom:1em}.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{position:absolute;top:0;left:0;bottom:0;right:0;height:100%;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%} \ No newline at end of file +.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-width:320px;min-height:240px}.wp-block-embed{margin:0 0 1em;overflow-wrap:break-word}.wp-block-embed figcaption{margin-top:.5em;margin-bottom:1em}.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{position:absolute;top:0;left:0;bottom:0;right:0;height:100%;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%} \ No newline at end of file diff --git a/wp-includes/blocks/embed/style.css b/wp-includes/blocks/embed/style.css index 03a5764c13..d3729d77db 100644 --- a/wp-includes/blocks/embed/style.css +++ b/wp-includes/blocks/embed/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -89,6 +95,7 @@ .wp-block-embed { margin: 0 0 1em 0; + overflow-wrap: break-word; } .wp-block-embed figcaption { margin-top: 0.5em; diff --git a/wp-includes/blocks/embed/style.min.css b/wp-includes/blocks/embed/style.min.css index 373fe1ed8b..40514bf944 100644 --- a/wp-includes/blocks/embed/style.min.css +++ b/wp-includes/blocks/embed/style.min.css @@ -1 +1 @@ -.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-width:320px;min-height:240px}.wp-block-embed{margin:0 0 1em}.wp-block-embed figcaption{margin-top:.5em;margin-bottom:1em}.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{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;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%} \ No newline at end of file +.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-width:320px;min-height:240px}.wp-block-embed{margin:0 0 1em;overflow-wrap:break-word}.wp-block-embed figcaption{margin-top:.5em;margin-bottom:1em}.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{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;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%} \ No newline at end of file diff --git a/wp-includes/blocks/embed/theme-rtl.css b/wp-includes/blocks/embed/theme-rtl.css new file mode 100644 index 0000000000..86a75e433b --- /dev/null +++ b/wp-includes/blocks/embed/theme-rtl.css @@ -0,0 +1,84 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-embed figcaption { + color: #555; + font-size: 13px; + text-align: center; +} +.is-dark-theme .wp-block-embed figcaption { + color: rgba(255, 255, 255, 0.65); +} \ No newline at end of file diff --git a/wp-includes/blocks/embed/theme-rtl.min.css b/wp-includes/blocks/embed/theme-rtl.min.css new file mode 100644 index 0000000000..237564356c --- /dev/null +++ b/wp-includes/blocks/embed/theme-rtl.min.css @@ -0,0 +1 @@ +.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:hsla(0,0%,100%,.65)} \ No newline at end of file diff --git a/wp-includes/blocks/embed/theme.css b/wp-includes/blocks/embed/theme.css new file mode 100644 index 0000000000..86a75e433b --- /dev/null +++ b/wp-includes/blocks/embed/theme.css @@ -0,0 +1,84 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-embed figcaption { + color: #555; + font-size: 13px; + text-align: center; +} +.is-dark-theme .wp-block-embed figcaption { + color: rgba(255, 255, 255, 0.65); +} \ No newline at end of file diff --git a/wp-includes/blocks/embed/theme.min.css b/wp-includes/blocks/embed/theme.min.css new file mode 100644 index 0000000000..237564356c --- /dev/null +++ b/wp-includes/blocks/embed/theme.min.css @@ -0,0 +1 @@ +.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:hsla(0,0%,100%,.65)} \ No newline at end of file diff --git a/wp-includes/blocks/file/block.json b/wp-includes/blocks/file/block.json index b7cfe76507..2d01180d82 100644 --- a/wp-includes/blocks/file/block.json +++ b/wp-includes/blocks/file/block.json @@ -13,6 +13,12 @@ "href": { "type": "string" }, + "fileId": { + "type": "string", + "source": "attribute", + "selector": "a:not([download])", + "attribute": "id" + }, "fileName": { "type": "string", "source": "html", diff --git a/wp-includes/blocks/file/editor-rtl.css b/wp-includes/blocks/file/editor-rtl.css index 84f19cb64b..11123184f9 100644 --- a/wp-includes/blocks/file/editor-rtl.css +++ b/wp-includes/blocks/file/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/file/editor.css b/wp-includes/blocks/file/editor.css index 13909fde52..745097ed0b 100644 --- a/wp-includes/blocks/file/editor.css +++ b/wp-includes/blocks/file/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/file/style-rtl.css b/wp-includes/blocks/file/style-rtl.css index 83a5a3f464..7d8d5646df 100644 --- a/wp-includes/blocks/file/style-rtl.css +++ b/wp-includes/blocks/file/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/file/style.css b/wp-includes/blocks/file/style.css index 72f6a90978..7d171738a6 100644 --- a/wp-includes/blocks/file/style.css +++ b/wp-includes/blocks/file/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/freeform/editor-rtl.css b/wp-includes/blocks/freeform/editor-rtl.css index 4cc0b2e750..8e7836723e 100644 --- a/wp-includes/blocks/freeform/editor-rtl.css +++ b/wp-includes/blocks/freeform/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/freeform/editor.css b/wp-includes/blocks/freeform/editor.css index f689590877..7a0fb4b329 100644 --- a/wp-includes/blocks/freeform/editor.css +++ b/wp-includes/blocks/freeform/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/gallery/block.json b/wp-includes/blocks/gallery/block.json index a87edb1eda..f5b3d317ec 100644 --- a/wp-includes/blocks/gallery/block.json +++ b/wp-includes/blocks/gallery/block.json @@ -58,6 +58,13 @@ }, "default": [] }, + "shortCodeTransforms": { + "type": "array", + "default": [], + "items": { + "type": "object" + } + }, "columns": { "type": "number", "minimum": 1, @@ -72,14 +79,30 @@ "type": "boolean", "default": true }, + "fixedHeight": { + "type": "boolean", + "default": true + }, + "linkTarget": { + "type": "string" + }, "linkTo": { "type": "string" }, "sizeSlug": { "type": "string", "default": "large" + }, + "allowResize": { + "type": "boolean", + "default": false } }, + "providesContext": { + "allowResize": "allowResize", + "imageCrop": "imageCrop", + "fixedHeight": "fixedHeight" + }, "supports": { "anchor": true, "align": true diff --git a/wp-includes/blocks/gallery/editor-rtl.css b/wp-includes/blocks/gallery/editor-rtl.css index 3cbdf9f522..dde63e86b6 100644 --- a/wp-includes/blocks/gallery/editor-rtl.css +++ b/wp-includes/blocks/gallery/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,27 +74,91 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block-gallery li { - list-style-type: none; -} -.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label { - display: none; -} -.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button { - margin-bottom: 0; -} - figure.wp-block-gallery { display: block; margin: 0; } - -.blocks-gallery-grid.blocks-gallery-grid { - padding-right: 0; - margin-right: 0; +figure.wp-block-gallery.has-nested-images .components-drop-zone { + display: none; + pointer-events: none; +} +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; + top: 0; + left: 5px; +} +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::before { + box-shadow: 0 0 0 1px #fff inset, 0 0 0 3px var(--wp-admin-theme-color) inset; + content: ""; + outline: 2px solid transparent; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 1; + pointer-events: none; +} +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 { + position: absolute; + top: 50%; + right: 50%; + margin-top: -9px; + margin-right: -9px; +} +/** + * Gallery inspector controls settings. + */ +.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 { + display: flex; + align-items: center; + color: #757575; + font-size: 12px; +} +.gallery-image-sizes .components-spinner { + margin: 0 4px 0 8px; +} + +/** + * Deprecated css past this point. This can be removed once all galleries are migrated + * to V2. + */ .blocks-gallery-item figure:not(.is-selected):focus, .blocks-gallery-item img:focus { outline: none; @@ -103,10 +173,6 @@ figure.wp-block-gallery { bottom: 0; right: 0; z-index: 1; - pointer-events: none; -} -.blocks-gallery-item figure.is-selected figcaption { - z-index: 2; } .blocks-gallery-item figure.is-transient img { opacity: 0.3; @@ -165,10 +231,18 @@ figure.wp-block-gallery { left: -2px; } -.blocks-gallery-item .components-spinner { - position: absolute; - top: 50%; - right: 50%; - margin-top: -9px; - margin-right: -9px; +.wp-block-gallery ul.blocks-gallery-grid { + padding: 0; + margin: 0; +} + +.wp-block-update-gallery-modal { + max-width: 400px; +} +.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons { + display: flex; + justify-content: flex-end; +} +.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons .components-button { + margin-right: 12px; } \ No newline at end of file diff --git a/wp-includes/blocks/gallery/editor-rtl.min.css b/wp-includes/blocks/gallery/editor-rtl.min.css index 466fc1baf7..81adde1039 100644 --- a/wp-includes/blocks/gallery/editor-rtl.min.css +++ b/wp-includes/blocks/gallery/editor-rtl.min.css @@ -1 +1 @@ -.wp-block-gallery li{list-style-type:none}.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label{display:none}.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button{margin-bottom:0}figure.wp-block-gallery{display:block;margin:0}.blocks-gallery-grid.blocks-gallery-grid{padding-right:0;margin-right:0;margin-bottom:0}.blocks-gallery-item figure:not(.is-selected):focus,.blocks-gallery-item img:focus{outline:none}.blocks-gallery-item figure.is-selected:before{box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";outline:2px solid transparent;position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;pointer-events:none}.blocks-gallery-item figure.is-selected figcaption{z-index:2}.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{margin:0;height:100%}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{display:none;position:absolute;top:-2px;margin:8px;z-index:20;transition:box-shadow .2s ease-out;border-radius:2px;background:#fff;border:1px solid #1e1e1e}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-duration:0s;transition-delay:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 2px 6px rgba(0,0,0,.05)}@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{padding:0;width:inherit;height:inherit}}.block-library-gallery-item__inline-menu.is-left{right:-2px}.block-library-gallery-item__inline-menu.is-right{left:-2px}.blocks-gallery-item .components-spinner{position:absolute;top:50%;right:50%;margin-top:-9px;margin-right:-9px} \ No newline at end of file +figure.wp-block-gallery{display:block;margin:0}figure.wp-block-gallery.has-nested-images .components-drop-zone{display:none;pointer-events:none}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;top:0;left:5px}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:before{box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";outline:2px solid transparent;position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;pointer-events:none}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{position:absolute;top:50%;right:50%;margin-top:-9px;margin-right:-9px}.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{display:flex;align-items:center;color:#757575;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{box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";outline:2px solid transparent;position:absolute;top:0;left:0;bottom:0;right: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{margin:0;height:100%}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{display:none;position:absolute;top:-2px;margin:8px;z-index:20;transition:box-shadow .2s ease-out;border-radius:2px;background:#fff;border:1px solid #1e1e1e}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-duration:0s;transition-delay:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 2px 6px rgba(0,0,0,.05)}@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{padding:0;width:inherit;height: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{padding:0;margin:0}.wp-block-update-gallery-modal{max-width:400px}.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons{display:flex;justify-content:flex-end}.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons .components-button{margin-right:12px} \ No newline at end of file diff --git a/wp-includes/blocks/gallery/editor.css b/wp-includes/blocks/gallery/editor.css index ab72476ef2..a5916d4ff5 100644 --- a/wp-includes/blocks/gallery/editor.css +++ b/wp-includes/blocks/gallery/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,27 +74,91 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block-gallery li { - list-style-type: none; -} -.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label { - display: none; -} -.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button { - margin-bottom: 0; -} - figure.wp-block-gallery { display: block; margin: 0; } - -.blocks-gallery-grid.blocks-gallery-grid { - padding-left: 0; - margin-left: 0; +figure.wp-block-gallery.has-nested-images .components-drop-zone { + display: none; + pointer-events: none; +} +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; + top: 0; + right: 5px; +} +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::before { + box-shadow: 0 0 0 1px #fff inset, 0 0 0 3px var(--wp-admin-theme-color) inset; + content: ""; + outline: 2px solid transparent; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: none; +} +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 { + position: absolute; + top: 50%; + left: 50%; + margin-top: -9px; + margin-left: -9px; +} +/** + * Gallery inspector controls settings. + */ +.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 { + display: flex; + align-items: center; + color: #757575; + font-size: 12px; +} +.gallery-image-sizes .components-spinner { + margin: 0 8px 0 4px; +} + +/** + * Deprecated css past this point. This can be removed once all galleries are migrated + * to V2. + */ .blocks-gallery-item figure:not(.is-selected):focus, .blocks-gallery-item img:focus { outline: none; @@ -103,10 +173,6 @@ figure.wp-block-gallery { bottom: 0; left: 0; z-index: 1; - pointer-events: none; -} -.blocks-gallery-item figure.is-selected figcaption { - z-index: 2; } .blocks-gallery-item figure.is-transient img { opacity: 0.3; @@ -165,10 +231,18 @@ figure.wp-block-gallery { right: -2px; } -.blocks-gallery-item .components-spinner { - position: absolute; - top: 50%; - left: 50%; - margin-top: -9px; - margin-left: -9px; +.wp-block-gallery ul.blocks-gallery-grid { + padding: 0; + margin: 0; +} + +.wp-block-update-gallery-modal { + max-width: 400px; +} +.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons { + display: flex; + justify-content: flex-end; +} +.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons .components-button { + margin-left: 12px; } \ No newline at end of file diff --git a/wp-includes/blocks/gallery/editor.min.css b/wp-includes/blocks/gallery/editor.min.css index 098c1003c7..9274f9cfae 100644 --- a/wp-includes/blocks/gallery/editor.min.css +++ b/wp-includes/blocks/gallery/editor.min.css @@ -1 +1 @@ -.wp-block-gallery li{list-style-type:none}.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label{display:none}.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button{margin-bottom:0}figure.wp-block-gallery{display:block;margin:0}.blocks-gallery-grid.blocks-gallery-grid{padding-left:0;margin-left:0;margin-bottom:0}.blocks-gallery-item figure:not(.is-selected):focus,.blocks-gallery-item img:focus{outline:none}.blocks-gallery-item figure.is-selected:before{box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";outline:2px solid transparent;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.blocks-gallery-item figure.is-selected figcaption{z-index:2}.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{margin:0;height:100%}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{display:none;position:absolute;top:-2px;margin:8px;z-index:20;transition:box-shadow .2s ease-out;border-radius:2px;background:#fff;border:1px solid #1e1e1e}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-duration:0s;transition-delay:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 2px 6px rgba(0,0,0,.05)}@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{padding:0;width:inherit;height:inherit}}.block-library-gallery-item__inline-menu.is-left{left:-2px}.block-library-gallery-item__inline-menu.is-right{right:-2px}.blocks-gallery-item .components-spinner{position:absolute;top:50%;left:50%;margin-top:-9px;margin-left:-9px} \ No newline at end of file +figure.wp-block-gallery{display:block;margin:0}figure.wp-block-gallery.has-nested-images .components-drop-zone{display:none;pointer-events:none}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;top:0;right:5px}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:before{box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";outline:2px solid transparent;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}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{position:absolute;top:50%;left:50%;margin-top:-9px;margin-left:-9px}.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{display:flex;align-items:center;color:#757575;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{box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";outline:2px solid transparent;position:absolute;top:0;right:0;bottom:0;left: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{margin:0;height:100%}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{display:none;position:absolute;top:-2px;margin:8px;z-index:20;transition:box-shadow .2s ease-out;border-radius:2px;background:#fff;border:1px solid #1e1e1e}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-duration:0s;transition-delay:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 2px 6px rgba(0,0,0,.05)}@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{padding:0;width:inherit;height: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{padding:0;margin:0}.wp-block-update-gallery-modal{max-width:400px}.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons{display:flex;justify-content:flex-end}.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons .components-button{margin-left:12px} \ No newline at end of file diff --git a/wp-includes/blocks/gallery/style-rtl.css b/wp-includes/blocks/gallery/style-rtl.css index fe0b6568a1..1be6de5c6c 100644 --- a/wp-includes/blocks/gallery/style-rtl.css +++ b/wp-includes/blocks/gallery/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -86,7 +92,6 @@ flex-direction: column; justify-content: center; position: relative; - align-self: flex-start; width: calc(50% - 1em); } .wp-block-gallery .blocks-gallery-image:nth-of-type(even), @@ -101,16 +106,9 @@ .blocks-gallery-grid .blocks-gallery-item figure { margin: 0; height: 100%; -} -@supports (position: sticky) { - .wp-block-gallery .blocks-gallery-image figure, -.wp-block-gallery .blocks-gallery-item figure, -.blocks-gallery-grid .blocks-gallery-image figure, -.blocks-gallery-grid .blocks-gallery-item figure { - display: flex; - align-items: flex-end; - justify-content: flex-start; - } + display: flex; + align-items: flex-end; + justify-content: flex-start; } .wp-block-gallery .blocks-gallery-image img, .wp-block-gallery .blocks-gallery-item img, @@ -119,15 +117,7 @@ display: block; max-width: 100%; height: auto; - width: 100%; -} -@supports (position: sticky) { - .wp-block-gallery .blocks-gallery-image img, -.wp-block-gallery .blocks-gallery-item img, -.blocks-gallery-grid .blocks-gallery-image img, -.blocks-gallery-grid .blocks-gallery-item img { - width: auto; - } + width: auto; } .wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption, @@ -145,6 +135,7 @@ background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 70%, transparent); box-sizing: border-box; margin: 0; + z-index: 2; } .wp-block-gallery .blocks-gallery-image figcaption img, .wp-block-gallery .blocks-gallery-item figcaption img, @@ -156,11 +147,6 @@ .blocks-gallery-grid figcaption { flex-grow: 1; } -.wp-block-gallery.is-cropped .blocks-gallery-image, .wp-block-gallery.is-cropped .blocks-gallery-item, -.blocks-gallery-grid.is-cropped .blocks-gallery-image, -.blocks-gallery-grid.is-cropped .blocks-gallery-item { - align-self: inherit; -} .wp-block-gallery.is-cropped .blocks-gallery-image a, .wp-block-gallery.is-cropped .blocks-gallery-image img, .wp-block-gallery.is-cropped .blocks-gallery-item a, .wp-block-gallery.is-cropped .blocks-gallery-item img, @@ -169,20 +155,10 @@ .blocks-gallery-grid.is-cropped .blocks-gallery-item a, .blocks-gallery-grid.is-cropped .blocks-gallery-item img { width: 100%; -} -@supports (position: sticky) { - .wp-block-gallery.is-cropped .blocks-gallery-image a, -.wp-block-gallery.is-cropped .blocks-gallery-image img, .wp-block-gallery.is-cropped .blocks-gallery-item a, -.wp-block-gallery.is-cropped .blocks-gallery-item img, -.blocks-gallery-grid.is-cropped .blocks-gallery-image a, -.blocks-gallery-grid.is-cropped .blocks-gallery-image img, -.blocks-gallery-grid.is-cropped .blocks-gallery-item a, -.blocks-gallery-grid.is-cropped .blocks-gallery-item img { - height: 100%; - flex: 1; - -o-object-fit: cover; - object-fit: cover; - } + height: 100%; + flex: 1; + -o-object-fit: cover; + object-fit: cover; } .wp-block-gallery.columns-1 .blocks-gallery-image, .wp-block-gallery.columns-1 .blocks-gallery-item, .blocks-gallery-grid.columns-1 .blocks-gallery-image, @@ -283,4 +259,197 @@ .wp-block-gallery.aligncenter .blocks-gallery-item figure, .blocks-gallery-grid.aligncenter .blocks-gallery-item figure { justify-content: center; +} + +.wp-block-gallery:not(.is-cropped) .blocks-gallery-item { + align-self: flex-start; +} + +.wp-block-gallery.has-nested-images { + display: flex; + flex-wrap: wrap; +} +.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { + margin: 0 0 var(--gallery-block--gutter-size, 16px) var(--gallery-block--gutter-size, 16px); + width: calc(50% - (var(--gallery-block--gutter-size, 16px) / 2)); +} +.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):last-of-type:not(#individual-image) { + margin-left: 0; +} +.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):nth-of-type(even) { + margin-left: 0; +} +.wp-block-gallery.has-nested-images figure.wp-block-image { + display: flex; + flex-grow: 1; + justify-content: center; + position: relative; + margin-top: auto; + margin-bottom: auto; + flex-direction: column; +} +.wp-block-gallery.has-nested-images figure.wp-block-image > div, +.wp-block-gallery.has-nested-images figure.wp-block-image > a { + margin: 0; + flex-direction: column; + flex-grow: 1; +} +.wp-block-gallery.has-nested-images figure.wp-block-image img { + display: block; + height: auto; + max-width: 100%; + width: auto; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { + background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 70%, transparent); + bottom: 0; + color: #fff; + font-size: 13px; + right: 0; + margin-bottom: 0; + max-height: 60%; + overflow: auto; + padding: 0 8px 8px; + position: absolute; + text-align: center; + width: 100%; + box-sizing: border-box; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img { + display: inline; +} +.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > div, +.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > a { + flex: 1 1 auto; +} +.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption { + flex: initial; + background: none; + color: inherit; + margin: 0; + padding: 10px 10px 9px; + position: relative; +} +.wp-block-gallery.has-nested-images figcaption { + flex-grow: 1; + flex-basis: 100%; + text-align: center; +} +.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) { + margin-top: 0; + margin-bottom: auto; +} +.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) img { + margin-bottom: var(--gallery-block--gutter-size, 16px); +} +.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) figcaption { + bottom: var(--gallery-block--gutter-size, 16px); +} +.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) > div:not(.components-drop-zone), +.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) > a { + 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 { + width: 100%; + flex: 1 0 0%; + height: 100%; + -o-object-fit: cover; + object-fit: cover; +} +.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) { + margin-left: 0; + width: 100%; +} +@media (min-width: 600px) { + .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + width: calc(33.3333333333% - (var(--gallery-block--gutter-size, 16px) * 0.6666666667)); + } + .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + width: calc(25% - (var(--gallery-block--gutter-size, 16px) * 0.75)); + } + .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + width: calc(20% - (var(--gallery-block--gutter-size, 16px) * 0.8)); + } + .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + width: calc(16.6666666667% - (var(--gallery-block--gutter-size, 16px) * 0.8333333333)); + } + .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + width: calc(14.2857142857% - (var(--gallery-block--gutter-size, 16px) * 0.8571428571)); + } + .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + width: calc(12.5% - (var(--gallery-block--gutter-size, 16px) * 0.875)); + } + .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image):nth-of-type(1n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-2 figure.wp-block-image:not(#individual-image):nth-of-type(2n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image):nth-of-type(3n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image):nth-of-type(4n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image):nth-of-type(5n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image):nth-of-type(6n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image):nth-of-type(7n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image):nth-of-type(8n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + width: calc(33.33% - (var(--gallery-block--gutter-size, 16px) * 0.6666666667)); + } + .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):nth-of-type(3n+3) { + margin-left: 0; + } + .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(--gallery-block--gutter-size, 16px) * 0.5)); + } + .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(1) { + 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-rtl.min.css b/wp-includes/blocks/gallery/style-rtl.min.css index bfb003fddd..89c6c80ebe 100644 --- a/wp-includes/blocks/gallery/style-rtl.min.css +++ b/wp-includes/blocks/gallery/style-rtl.min.css @@ -1 +1 @@ -.blocks-gallery-grid,.wp-block-gallery{display:flex;flex-wrap:wrap;list-style-type:none;padding:0;margin:0}.blocks-gallery-grid .blocks-gallery-image,.blocks-gallery-grid .blocks-gallery-item,.wp-block-gallery .blocks-gallery-image,.wp-block-gallery .blocks-gallery-item{margin:0 0 1em 1em;display:flex;flex-grow:1;flex-direction:column;justify-content:center;position:relative;align-self:flex-start;width:calc(50% - 1em)}.blocks-gallery-grid .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery .blocks-gallery-item:nth-of-type(2n){margin-left:0}.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{margin:0;height:100%}@supports (position:sticky){.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{display:flex;align-items:flex-end;justify-content:flex-start}}.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{display:block;max-width:100%;height:auto;width:100%}@supports (position:sticky){.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{width:auto}}.blocks-gallery-grid .blocks-gallery-image figcaption,.blocks-gallery-grid .blocks-gallery-item figcaption,.wp-block-gallery .blocks-gallery-image figcaption,.wp-block-gallery .blocks-gallery-item figcaption{position:absolute;bottom:0;width:100%;max-height:100%;overflow:auto;padding:3em .77em .7em;color:#fff;text-align:center;font-size:.8em;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);box-sizing:border-box;margin:0}.blocks-gallery-grid .blocks-gallery-image figcaption img,.blocks-gallery-grid .blocks-gallery-item figcaption img,.wp-block-gallery .blocks-gallery-image figcaption img,.wp-block-gallery .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid figcaption,.wp-block-gallery figcaption{flex-grow:1}.blocks-gallery-grid.is-cropped .blocks-gallery-image,.blocks-gallery-grid.is-cropped .blocks-gallery-item,.wp-block-gallery.is-cropped .blocks-gallery-image,.wp-block-gallery.is-cropped .blocks-gallery-item{align-self:inherit}.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{width:100%}@supports (position:sticky){.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{height:100%;flex:1;-o-object-fit:cover;object-fit:cover}}.blocks-gallery-grid.columns-1 .blocks-gallery-image,.blocks-gallery-grid.columns-1 .blocks-gallery-item,.wp-block-gallery.columns-1 .blocks-gallery-image,.wp-block-gallery.columns-1 .blocks-gallery-item{width:100%;margin-left:0}@media (min-width:600px){.blocks-gallery-grid.columns-3 .blocks-gallery-image,.blocks-gallery-grid.columns-3 .blocks-gallery-item,.wp-block-gallery.columns-3 .blocks-gallery-image,.wp-block-gallery.columns-3 .blocks-gallery-item{width:calc(33.33333% - .66667em);margin-left:1em}.blocks-gallery-grid.columns-4 .blocks-gallery-image,.blocks-gallery-grid.columns-4 .blocks-gallery-item,.wp-block-gallery.columns-4 .blocks-gallery-image,.wp-block-gallery.columns-4 .blocks-gallery-item{width:calc(25% - .75em);margin-left:1em}.blocks-gallery-grid.columns-5 .blocks-gallery-image,.blocks-gallery-grid.columns-5 .blocks-gallery-item,.wp-block-gallery.columns-5 .blocks-gallery-image,.wp-block-gallery.columns-5 .blocks-gallery-item{width:calc(20% - .8em);margin-left:1em}.blocks-gallery-grid.columns-6 .blocks-gallery-image,.blocks-gallery-grid.columns-6 .blocks-gallery-item,.wp-block-gallery.columns-6 .blocks-gallery-image,.wp-block-gallery.columns-6 .blocks-gallery-item{width:calc(16.66667% - .83333em);margin-left:1em}.blocks-gallery-grid.columns-7 .blocks-gallery-image,.blocks-gallery-grid.columns-7 .blocks-gallery-item,.wp-block-gallery.columns-7 .blocks-gallery-image,.wp-block-gallery.columns-7 .blocks-gallery-item{width:calc(14.28571% - .85714em);margin-left:1em}.blocks-gallery-grid.columns-8 .blocks-gallery-image,.blocks-gallery-grid.columns-8 .blocks-gallery-item,.wp-block-gallery.columns-8 .blocks-gallery-image,.wp-block-gallery.columns-8 .blocks-gallery-item{width:calc(12.5% - .875em);margin-left:1em}.blocks-gallery-grid.columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid.columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid.columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid.columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid.columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid.columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid.columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid.columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid.columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid.columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid.columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid.columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid.columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid.columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid.columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid.columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery.columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery.columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery.columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery.columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery.columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery.columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery.columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery.columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery.columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery.columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery.columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery.columns-8 .blocks-gallery-item:nth-of-type(8n){margin-left:0}}.blocks-gallery-grid .blocks-gallery-image:last-child,.blocks-gallery-grid .blocks-gallery-item:last-child,.wp-block-gallery .blocks-gallery-image:last-child,.wp-block-gallery .blocks-gallery-item:last-child{margin-left:0}.blocks-gallery-grid.alignleft,.blocks-gallery-grid.alignright,.wp-block-gallery.alignleft,.wp-block-gallery.alignright{max-width:420px;width:100%}.blocks-gallery-grid.aligncenter .blocks-gallery-item figure,.wp-block-gallery.aligncenter .blocks-gallery-item figure{justify-content:center} \ No newline at end of file +.blocks-gallery-grid,.wp-block-gallery{display:flex;flex-wrap:wrap;list-style-type:none;padding:0;margin:0}.blocks-gallery-grid .blocks-gallery-image,.blocks-gallery-grid .blocks-gallery-item,.wp-block-gallery .blocks-gallery-image,.wp-block-gallery .blocks-gallery-item{margin:0 0 1em 1em;display:flex;flex-grow:1;flex-direction:column;justify-content:center;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery .blocks-gallery-item:nth-of-type(2n){margin-left:0}.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{margin:0;height:100%;display:flex;align-items:flex-end;justify-content:flex-start}.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{display:block;max-width:100%;height:auto;width:auto}.blocks-gallery-grid .blocks-gallery-image figcaption,.blocks-gallery-grid .blocks-gallery-item figcaption,.wp-block-gallery .blocks-gallery-image figcaption,.wp-block-gallery .blocks-gallery-item figcaption{position:absolute;bottom:0;width:100%;max-height:100%;overflow:auto;padding:3em .77em .7em;color:#fff;text-align:center;font-size:.8em;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);box-sizing:border-box;margin:0;z-index:2}.blocks-gallery-grid .blocks-gallery-image figcaption img,.blocks-gallery-grid .blocks-gallery-item figcaption img,.wp-block-gallery .blocks-gallery-image figcaption img,.wp-block-gallery .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid figcaption,.wp-block-gallery figcaption{flex-grow:1}.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{width:100%;height:100%;flex:1;-o-object-fit:cover;object-fit:cover}.blocks-gallery-grid.columns-1 .blocks-gallery-image,.blocks-gallery-grid.columns-1 .blocks-gallery-item,.wp-block-gallery.columns-1 .blocks-gallery-image,.wp-block-gallery.columns-1 .blocks-gallery-item{width:100%;margin-left:0}@media (min-width:600px){.blocks-gallery-grid.columns-3 .blocks-gallery-image,.blocks-gallery-grid.columns-3 .blocks-gallery-item,.wp-block-gallery.columns-3 .blocks-gallery-image,.wp-block-gallery.columns-3 .blocks-gallery-item{width:calc(33.33333% - .66667em);margin-left:1em}.blocks-gallery-grid.columns-4 .blocks-gallery-image,.blocks-gallery-grid.columns-4 .blocks-gallery-item,.wp-block-gallery.columns-4 .blocks-gallery-image,.wp-block-gallery.columns-4 .blocks-gallery-item{width:calc(25% - .75em);margin-left:1em}.blocks-gallery-grid.columns-5 .blocks-gallery-image,.blocks-gallery-grid.columns-5 .blocks-gallery-item,.wp-block-gallery.columns-5 .blocks-gallery-image,.wp-block-gallery.columns-5 .blocks-gallery-item{width:calc(20% - .8em);margin-left:1em}.blocks-gallery-grid.columns-6 .blocks-gallery-image,.blocks-gallery-grid.columns-6 .blocks-gallery-item,.wp-block-gallery.columns-6 .blocks-gallery-image,.wp-block-gallery.columns-6 .blocks-gallery-item{width:calc(16.66667% - .83333em);margin-left:1em}.blocks-gallery-grid.columns-7 .blocks-gallery-image,.blocks-gallery-grid.columns-7 .blocks-gallery-item,.wp-block-gallery.columns-7 .blocks-gallery-image,.wp-block-gallery.columns-7 .blocks-gallery-item{width:calc(14.28571% - .85714em);margin-left:1em}.blocks-gallery-grid.columns-8 .blocks-gallery-image,.blocks-gallery-grid.columns-8 .blocks-gallery-item,.wp-block-gallery.columns-8 .blocks-gallery-image,.wp-block-gallery.columns-8 .blocks-gallery-item{width:calc(12.5% - .875em);margin-left:1em}.blocks-gallery-grid.columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid.columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid.columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid.columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid.columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid.columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid.columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid.columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid.columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid.columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid.columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid.columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid.columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid.columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid.columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid.columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery.columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery.columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery.columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery.columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery.columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery.columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery.columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery.columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery.columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery.columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery.columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery.columns-8 .blocks-gallery-item:nth-of-type(8n){margin-left:0}}.blocks-gallery-grid .blocks-gallery-image:last-child,.blocks-gallery-grid .blocks-gallery-item:last-child,.wp-block-gallery .blocks-gallery-image:last-child,.wp-block-gallery .blocks-gallery-item:last-child{margin-left:0}.blocks-gallery-grid.alignleft,.blocks-gallery-grid.alignright,.wp-block-gallery.alignleft,.wp-block-gallery.alignright{max-width:420px;width:100%}.blocks-gallery-grid.aligncenter .blocks-gallery-item figure,.wp-block-gallery.aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}.wp-block-gallery.has-nested-images{display:flex;flex-wrap:wrap}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0 0 var(--gallery-block--gutter-size,16px) var(--gallery-block--gutter-size,16px);width:calc(50% - var(--gallery-block--gutter-size, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):last-of-type:not(#individual-image),.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):nth-of-type(2n){margin-left:0}.wp-block-gallery.has-nested-images figure.wp-block-image{display:flex;flex-grow:1;justify-content:center;position:relative;margin-top:auto;margin-bottom:auto;flex-direction:column}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{margin:0;flex-direction:column;flex-grow:1}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%;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;color:#fff;font-size:13px;right:0;margin-bottom:0;max-height:60%;overflow:auto;padding:0 8px 8px;position:absolute;text-align:center;width:100%;box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.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.is-style-rounded figcaption{flex:initial;background:none;color:inherit;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-grow:1;flex-basis:100%;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-top:0;margin-bottom:auto}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) img{margin-bottom:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) figcaption{bottom:var(--gallery-block--gutter-size,16px)}.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{width:100%;flex:1 0 0%;height:100%;-o-object-fit:cover;object-fit:cover}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){margin-left:0;width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px);width:calc(33.33333% - var(--gallery-block--gutter-size, 16px)*0.66667)}.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px);width:calc(25% - var(--gallery-block--gutter-size, 16px)*0.75)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px);width:calc(20% - var(--gallery-block--gutter-size, 16px)*0.8)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px);width:calc(16.66667% - var(--gallery-block--gutter-size, 16px)*0.83333)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px);width:calc(14.28571% - var(--gallery-block--gutter-size, 16px)*0.85714)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px);width:calc(12.5% - var(--gallery-block--gutter-size, 16px)*0.875)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image):nth-of-type(1n),.wp-block-gallery.has-nested-images.columns-2 figure.wp-block-image:not(#individual-image):nth-of-type(2n),.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image):nth-of-type(3n),.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image):nth-of-type(4n),.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image):nth-of-type(5n),.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image):nth-of-type(6n),.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image):nth-of-type(7n),.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image):nth-of-type(8n){margin-left:0}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px);width:calc(33.33% - var(--gallery-block--gutter-size, 16px)*0.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):nth-of-type(3n+3){margin-left:0}.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(--gallery-block--gutter-size, 16px)*0.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 4b6400edbc..bc8531841f 100644 --- a/wp-includes/blocks/gallery/style.css +++ b/wp-includes/blocks/gallery/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -86,7 +92,6 @@ flex-direction: column; justify-content: center; position: relative; - align-self: flex-start; width: calc(50% - 1em); } .wp-block-gallery .blocks-gallery-image:nth-of-type(even), @@ -101,16 +106,9 @@ .blocks-gallery-grid .blocks-gallery-item figure { margin: 0; height: 100%; -} -@supports (position: sticky) { - .wp-block-gallery .blocks-gallery-image figure, -.wp-block-gallery .blocks-gallery-item figure, -.blocks-gallery-grid .blocks-gallery-image figure, -.blocks-gallery-grid .blocks-gallery-item figure { - display: flex; - align-items: flex-end; - justify-content: flex-start; - } + display: flex; + align-items: flex-end; + justify-content: flex-start; } .wp-block-gallery .blocks-gallery-image img, .wp-block-gallery .blocks-gallery-item img, @@ -119,15 +117,7 @@ display: block; max-width: 100%; height: auto; - width: 100%; -} -@supports (position: sticky) { - .wp-block-gallery .blocks-gallery-image img, -.wp-block-gallery .blocks-gallery-item img, -.blocks-gallery-grid .blocks-gallery-image img, -.blocks-gallery-grid .blocks-gallery-item img { - width: auto; - } + width: auto; } .wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption, @@ -145,6 +135,7 @@ background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 70%, transparent); box-sizing: border-box; margin: 0; + z-index: 2; } .wp-block-gallery .blocks-gallery-image figcaption img, .wp-block-gallery .blocks-gallery-item figcaption img, @@ -156,11 +147,6 @@ .blocks-gallery-grid figcaption { flex-grow: 1; } -.wp-block-gallery.is-cropped .blocks-gallery-image, .wp-block-gallery.is-cropped .blocks-gallery-item, -.blocks-gallery-grid.is-cropped .blocks-gallery-image, -.blocks-gallery-grid.is-cropped .blocks-gallery-item { - align-self: inherit; -} .wp-block-gallery.is-cropped .blocks-gallery-image a, .wp-block-gallery.is-cropped .blocks-gallery-image img, .wp-block-gallery.is-cropped .blocks-gallery-item a, .wp-block-gallery.is-cropped .blocks-gallery-item img, @@ -169,20 +155,10 @@ .blocks-gallery-grid.is-cropped .blocks-gallery-item a, .blocks-gallery-grid.is-cropped .blocks-gallery-item img { width: 100%; -} -@supports (position: sticky) { - .wp-block-gallery.is-cropped .blocks-gallery-image a, -.wp-block-gallery.is-cropped .blocks-gallery-image img, .wp-block-gallery.is-cropped .blocks-gallery-item a, -.wp-block-gallery.is-cropped .blocks-gallery-item img, -.blocks-gallery-grid.is-cropped .blocks-gallery-image a, -.blocks-gallery-grid.is-cropped .blocks-gallery-image img, -.blocks-gallery-grid.is-cropped .blocks-gallery-item a, -.blocks-gallery-grid.is-cropped .blocks-gallery-item img { - height: 100%; - flex: 1; - -o-object-fit: cover; - object-fit: cover; - } + height: 100%; + flex: 1; + -o-object-fit: cover; + object-fit: cover; } .wp-block-gallery.columns-1 .blocks-gallery-image, .wp-block-gallery.columns-1 .blocks-gallery-item, .blocks-gallery-grid.columns-1 .blocks-gallery-image, @@ -283,4 +259,197 @@ .wp-block-gallery.aligncenter .blocks-gallery-item figure, .blocks-gallery-grid.aligncenter .blocks-gallery-item figure { justify-content: center; +} + +.wp-block-gallery:not(.is-cropped) .blocks-gallery-item { + align-self: flex-start; +} + +.wp-block-gallery.has-nested-images { + display: flex; + flex-wrap: wrap; +} +.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { + margin: 0 var(--gallery-block--gutter-size, 16px) var(--gallery-block--gutter-size, 16px) 0; + width: calc(50% - (var(--gallery-block--gutter-size, 16px) / 2)); +} +.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):last-of-type:not(#individual-image) { + margin-right: 0; +} +.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):nth-of-type(even) { + margin-right: 0; +} +.wp-block-gallery.has-nested-images figure.wp-block-image { + display: flex; + flex-grow: 1; + justify-content: center; + position: relative; + margin-top: auto; + margin-bottom: auto; + flex-direction: column; +} +.wp-block-gallery.has-nested-images figure.wp-block-image > div, +.wp-block-gallery.has-nested-images figure.wp-block-image > a { + margin: 0; + flex-direction: column; + flex-grow: 1; +} +.wp-block-gallery.has-nested-images figure.wp-block-image img { + display: block; + height: auto; + max-width: 100%; + width: auto; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { + background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 70%, transparent); + bottom: 0; + 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%; + box-sizing: border-box; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img { + display: inline; +} +.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > div, +.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > a { + flex: 1 1 auto; +} +.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption { + flex: initial; + background: none; + color: inherit; + margin: 0; + padding: 10px 10px 9px; + position: relative; +} +.wp-block-gallery.has-nested-images figcaption { + flex-grow: 1; + flex-basis: 100%; + text-align: center; +} +.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) { + margin-top: 0; + margin-bottom: auto; +} +.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) img { + margin-bottom: var(--gallery-block--gutter-size, 16px); +} +.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) figcaption { + bottom: var(--gallery-block--gutter-size, 16px); +} +.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) > div:not(.components-drop-zone), +.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) > a { + 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 { + width: 100%; + flex: 1 0 0%; + height: 100%; + -o-object-fit: cover; + object-fit: cover; +} +.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) { + margin-right: 0; + width: 100%; +} +@media (min-width: 600px) { + .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + width: calc(33.3333333333% - (var(--gallery-block--gutter-size, 16px) * 0.6666666667)); + } + .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + width: calc(25% - (var(--gallery-block--gutter-size, 16px) * 0.75)); + } + .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + width: calc(20% - (var(--gallery-block--gutter-size, 16px) * 0.8)); + } + .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + width: calc(16.6666666667% - (var(--gallery-block--gutter-size, 16px) * 0.8333333333)); + } + .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + width: calc(14.2857142857% - (var(--gallery-block--gutter-size, 16px) * 0.8571428571)); + } + .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + width: calc(12.5% - (var(--gallery-block--gutter-size, 16px) * 0.875)); + } + .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image):nth-of-type(1n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-2 figure.wp-block-image:not(#individual-image):nth-of-type(2n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image):nth-of-type(3n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image):nth-of-type(4n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image):nth-of-type(5n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image):nth-of-type(6n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image):nth-of-type(7n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image):nth-of-type(8n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + width: calc(33.33% - (var(--gallery-block--gutter-size, 16px) * 0.6666666667)); + } + .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):nth-of-type(3n+3) { + margin-right: 0; + } + .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(--gallery-block--gutter-size, 16px) * 0.5)); + } + .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(1) { + 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.min.css b/wp-includes/blocks/gallery/style.min.css index 3f32b420c7..c7242b993b 100644 --- a/wp-includes/blocks/gallery/style.min.css +++ b/wp-includes/blocks/gallery/style.min.css @@ -1 +1 @@ -.blocks-gallery-grid,.wp-block-gallery{display:flex;flex-wrap:wrap;list-style-type:none;padding:0;margin:0}.blocks-gallery-grid .blocks-gallery-image,.blocks-gallery-grid .blocks-gallery-item,.wp-block-gallery .blocks-gallery-image,.wp-block-gallery .blocks-gallery-item{margin:0 1em 1em 0;display:flex;flex-grow:1;flex-direction:column;justify-content:center;position:relative;align-self:flex-start;width:calc(50% - 1em)}.blocks-gallery-grid .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery .blocks-gallery-item:nth-of-type(2n){margin-right:0}.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{margin:0;height:100%}@supports (position:sticky){.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{display:flex;align-items:flex-end;justify-content:flex-start}}.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{display:block;max-width:100%;height:auto;width:100%}@supports (position:sticky){.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{width:auto}}.blocks-gallery-grid .blocks-gallery-image figcaption,.blocks-gallery-grid .blocks-gallery-item figcaption,.wp-block-gallery .blocks-gallery-image figcaption,.wp-block-gallery .blocks-gallery-item figcaption{position:absolute;bottom:0;width:100%;max-height:100%;overflow:auto;padding:3em .77em .7em;color:#fff;text-align:center;font-size:.8em;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);box-sizing:border-box;margin:0}.blocks-gallery-grid .blocks-gallery-image figcaption img,.blocks-gallery-grid .blocks-gallery-item figcaption img,.wp-block-gallery .blocks-gallery-image figcaption img,.wp-block-gallery .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid figcaption,.wp-block-gallery figcaption{flex-grow:1}.blocks-gallery-grid.is-cropped .blocks-gallery-image,.blocks-gallery-grid.is-cropped .blocks-gallery-item,.wp-block-gallery.is-cropped .blocks-gallery-image,.wp-block-gallery.is-cropped .blocks-gallery-item{align-self:inherit}.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{width:100%}@supports (position:sticky){.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{height:100%;flex:1;-o-object-fit:cover;object-fit:cover}}.blocks-gallery-grid.columns-1 .blocks-gallery-image,.blocks-gallery-grid.columns-1 .blocks-gallery-item,.wp-block-gallery.columns-1 .blocks-gallery-image,.wp-block-gallery.columns-1 .blocks-gallery-item{width:100%;margin-right:0}@media (min-width:600px){.blocks-gallery-grid.columns-3 .blocks-gallery-image,.blocks-gallery-grid.columns-3 .blocks-gallery-item,.wp-block-gallery.columns-3 .blocks-gallery-image,.wp-block-gallery.columns-3 .blocks-gallery-item{width:calc(33.33333% - .66667em);margin-right:1em}.blocks-gallery-grid.columns-4 .blocks-gallery-image,.blocks-gallery-grid.columns-4 .blocks-gallery-item,.wp-block-gallery.columns-4 .blocks-gallery-image,.wp-block-gallery.columns-4 .blocks-gallery-item{width:calc(25% - .75em);margin-right:1em}.blocks-gallery-grid.columns-5 .blocks-gallery-image,.blocks-gallery-grid.columns-5 .blocks-gallery-item,.wp-block-gallery.columns-5 .blocks-gallery-image,.wp-block-gallery.columns-5 .blocks-gallery-item{width:calc(20% - .8em);margin-right:1em}.blocks-gallery-grid.columns-6 .blocks-gallery-image,.blocks-gallery-grid.columns-6 .blocks-gallery-item,.wp-block-gallery.columns-6 .blocks-gallery-image,.wp-block-gallery.columns-6 .blocks-gallery-item{width:calc(16.66667% - .83333em);margin-right:1em}.blocks-gallery-grid.columns-7 .blocks-gallery-image,.blocks-gallery-grid.columns-7 .blocks-gallery-item,.wp-block-gallery.columns-7 .blocks-gallery-image,.wp-block-gallery.columns-7 .blocks-gallery-item{width:calc(14.28571% - .85714em);margin-right:1em}.blocks-gallery-grid.columns-8 .blocks-gallery-image,.blocks-gallery-grid.columns-8 .blocks-gallery-item,.wp-block-gallery.columns-8 .blocks-gallery-image,.wp-block-gallery.columns-8 .blocks-gallery-item{width:calc(12.5% - .875em);margin-right:1em}.blocks-gallery-grid.columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid.columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid.columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid.columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid.columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid.columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid.columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid.columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid.columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid.columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid.columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid.columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid.columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid.columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid.columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid.columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery.columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery.columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery.columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery.columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery.columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery.columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery.columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery.columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery.columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery.columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery.columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery.columns-8 .blocks-gallery-item:nth-of-type(8n){margin-right:0}}.blocks-gallery-grid .blocks-gallery-image:last-child,.blocks-gallery-grid .blocks-gallery-item:last-child,.wp-block-gallery .blocks-gallery-image:last-child,.wp-block-gallery .blocks-gallery-item:last-child{margin-right:0}.blocks-gallery-grid.alignleft,.blocks-gallery-grid.alignright,.wp-block-gallery.alignleft,.wp-block-gallery.alignright{max-width:420px;width:100%}.blocks-gallery-grid.aligncenter .blocks-gallery-item figure,.wp-block-gallery.aligncenter .blocks-gallery-item figure{justify-content:center} \ No newline at end of file +.blocks-gallery-grid,.wp-block-gallery{display:flex;flex-wrap:wrap;list-style-type:none;padding:0;margin:0}.blocks-gallery-grid .blocks-gallery-image,.blocks-gallery-grid .blocks-gallery-item,.wp-block-gallery .blocks-gallery-image,.wp-block-gallery .blocks-gallery-item{margin:0 1em 1em 0;display:flex;flex-grow:1;flex-direction:column;justify-content:center;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery .blocks-gallery-item:nth-of-type(2n){margin-right:0}.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{margin:0;height:100%;display:flex;align-items:flex-end;justify-content:flex-start}.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{display:block;max-width:100%;height:auto;width:auto}.blocks-gallery-grid .blocks-gallery-image figcaption,.blocks-gallery-grid .blocks-gallery-item figcaption,.wp-block-gallery .blocks-gallery-image figcaption,.wp-block-gallery .blocks-gallery-item figcaption{position:absolute;bottom:0;width:100%;max-height:100%;overflow:auto;padding:3em .77em .7em;color:#fff;text-align:center;font-size:.8em;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);box-sizing:border-box;margin:0;z-index:2}.blocks-gallery-grid .blocks-gallery-image figcaption img,.blocks-gallery-grid .blocks-gallery-item figcaption img,.wp-block-gallery .blocks-gallery-image figcaption img,.wp-block-gallery .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid figcaption,.wp-block-gallery figcaption{flex-grow:1}.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{width:100%;height:100%;flex:1;-o-object-fit:cover;object-fit:cover}.blocks-gallery-grid.columns-1 .blocks-gallery-image,.blocks-gallery-grid.columns-1 .blocks-gallery-item,.wp-block-gallery.columns-1 .blocks-gallery-image,.wp-block-gallery.columns-1 .blocks-gallery-item{width:100%;margin-right:0}@media (min-width:600px){.blocks-gallery-grid.columns-3 .blocks-gallery-image,.blocks-gallery-grid.columns-3 .blocks-gallery-item,.wp-block-gallery.columns-3 .blocks-gallery-image,.wp-block-gallery.columns-3 .blocks-gallery-item{width:calc(33.33333% - .66667em);margin-right:1em}.blocks-gallery-grid.columns-4 .blocks-gallery-image,.blocks-gallery-grid.columns-4 .blocks-gallery-item,.wp-block-gallery.columns-4 .blocks-gallery-image,.wp-block-gallery.columns-4 .blocks-gallery-item{width:calc(25% - .75em);margin-right:1em}.blocks-gallery-grid.columns-5 .blocks-gallery-image,.blocks-gallery-grid.columns-5 .blocks-gallery-item,.wp-block-gallery.columns-5 .blocks-gallery-image,.wp-block-gallery.columns-5 .blocks-gallery-item{width:calc(20% - .8em);margin-right:1em}.blocks-gallery-grid.columns-6 .blocks-gallery-image,.blocks-gallery-grid.columns-6 .blocks-gallery-item,.wp-block-gallery.columns-6 .blocks-gallery-image,.wp-block-gallery.columns-6 .blocks-gallery-item{width:calc(16.66667% - .83333em);margin-right:1em}.blocks-gallery-grid.columns-7 .blocks-gallery-image,.blocks-gallery-grid.columns-7 .blocks-gallery-item,.wp-block-gallery.columns-7 .blocks-gallery-image,.wp-block-gallery.columns-7 .blocks-gallery-item{width:calc(14.28571% - .85714em);margin-right:1em}.blocks-gallery-grid.columns-8 .blocks-gallery-image,.blocks-gallery-grid.columns-8 .blocks-gallery-item,.wp-block-gallery.columns-8 .blocks-gallery-image,.wp-block-gallery.columns-8 .blocks-gallery-item{width:calc(12.5% - .875em);margin-right:1em}.blocks-gallery-grid.columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid.columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid.columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid.columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid.columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid.columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid.columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid.columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid.columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid.columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid.columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid.columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid.columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid.columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid.columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid.columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery.columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery.columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery.columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery.columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery.columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery.columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery.columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery.columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery.columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery.columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery.columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery.columns-8 .blocks-gallery-item:nth-of-type(8n){margin-right:0}}.blocks-gallery-grid .blocks-gallery-image:last-child,.blocks-gallery-grid .blocks-gallery-item:last-child,.wp-block-gallery .blocks-gallery-image:last-child,.wp-block-gallery .blocks-gallery-item:last-child{margin-right:0}.blocks-gallery-grid.alignleft,.blocks-gallery-grid.alignright,.wp-block-gallery.alignleft,.wp-block-gallery.alignright{max-width:420px;width:100%}.blocks-gallery-grid.aligncenter .blocks-gallery-item figure,.wp-block-gallery.aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}.wp-block-gallery.has-nested-images{display:flex;flex-wrap:wrap}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0 var(--gallery-block--gutter-size,16px) var(--gallery-block--gutter-size,16px) 0;width:calc(50% - var(--gallery-block--gutter-size, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):last-of-type:not(#individual-image),.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):nth-of-type(2n){margin-right:0}.wp-block-gallery.has-nested-images figure.wp-block-image{display:flex;flex-grow:1;justify-content:center;position:relative;margin-top:auto;margin-bottom:auto;flex-direction:column}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{margin:0;flex-direction:column;flex-grow:1}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%;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;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%;box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.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.is-style-rounded figcaption{flex:initial;background:none;color:inherit;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-grow:1;flex-basis:100%;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-top:0;margin-bottom:auto}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) img{margin-bottom:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) figcaption{bottom:var(--gallery-block--gutter-size,16px)}.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{width:100%;flex:1 0 0%;height:100%;-o-object-fit:cover;object-fit:cover}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){margin-right:0;width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px);width:calc(33.33333% - var(--gallery-block--gutter-size, 16px)*0.66667)}.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px);width:calc(25% - var(--gallery-block--gutter-size, 16px)*0.75)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px);width:calc(20% - var(--gallery-block--gutter-size, 16px)*0.8)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px);width:calc(16.66667% - var(--gallery-block--gutter-size, 16px)*0.83333)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px);width:calc(14.28571% - var(--gallery-block--gutter-size, 16px)*0.85714)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px);width:calc(12.5% - var(--gallery-block--gutter-size, 16px)*0.875)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image):nth-of-type(1n),.wp-block-gallery.has-nested-images.columns-2 figure.wp-block-image:not(#individual-image):nth-of-type(2n),.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image):nth-of-type(3n),.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image):nth-of-type(4n),.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image):nth-of-type(5n),.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image):nth-of-type(6n),.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image):nth-of-type(7n),.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image):nth-of-type(8n){margin-right:0}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px);width:calc(33.33% - var(--gallery-block--gutter-size, 16px)*0.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):nth-of-type(3n+3){margin-right:0}.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(--gallery-block--gutter-size, 16px)*0.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/theme-rtl.css b/wp-includes/blocks/gallery/theme-rtl.css new file mode 100644 index 0000000000..eaf1a29ac4 --- /dev/null +++ b/wp-includes/blocks/gallery/theme-rtl.css @@ -0,0 +1,84 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.blocks-gallery-caption { + color: #555; + font-size: 13px; + text-align: center; +} +.is-dark-theme .blocks-gallery-caption { + color: rgba(255, 255, 255, 0.65); +} \ No newline at end of file diff --git a/wp-includes/blocks/gallery/theme-rtl.min.css b/wp-includes/blocks/gallery/theme-rtl.min.css new file mode 100644 index 0000000000..fe8cd6a504 --- /dev/null +++ b/wp-includes/blocks/gallery/theme-rtl.min.css @@ -0,0 +1 @@ +.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:hsla(0,0%,100%,.65)} \ No newline at end of file diff --git a/wp-includes/blocks/gallery/theme.css b/wp-includes/blocks/gallery/theme.css new file mode 100644 index 0000000000..eaf1a29ac4 --- /dev/null +++ b/wp-includes/blocks/gallery/theme.css @@ -0,0 +1,84 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.blocks-gallery-caption { + color: #555; + font-size: 13px; + text-align: center; +} +.is-dark-theme .blocks-gallery-caption { + color: rgba(255, 255, 255, 0.65); +} \ No newline at end of file diff --git a/wp-includes/blocks/gallery/theme.min.css b/wp-includes/blocks/gallery/theme.min.css new file mode 100644 index 0000000000..fe8cd6a504 --- /dev/null +++ b/wp-includes/blocks/gallery/theme.min.css @@ -0,0 +1 @@ +.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:hsla(0,0%,100%,.65)} \ No newline at end of file diff --git a/wp-includes/blocks/group/block.json b/wp-includes/blocks/group/block.json index b12fb40043..c10790d28c 100644 --- a/wp-includes/blocks/group/block.json +++ b/wp-includes/blocks/group/block.json @@ -12,6 +12,7 @@ "default": "div" }, "templateLock": { + "type": "string", "enum": [ "all", "insert", false ] } }, @@ -24,7 +25,10 @@ "link": true }, "spacing": { - "padding": true + "padding": true, + "__experimentalDefaultControls": { + "padding": true + } }, "__experimentalBorder": { "color": true, diff --git a/wp-includes/blocks/group/editor-rtl.css b/wp-includes/blocks/group/editor-rtl.css index 35f6b1e887..59f73e394e 100644 --- a/wp-includes/blocks/group/editor-rtl.css +++ b/wp-includes/blocks/group/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/group/editor.css b/wp-includes/blocks/group/editor.css index c9b00d8dcd..2d3d197fd2 100644 --- a/wp-includes/blocks/group/editor.css +++ b/wp-includes/blocks/group/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/group/style-rtl.css b/wp-includes/blocks/group/style-rtl.css index 8fd3e9e3d7..3633372f7c 100644 --- a/wp-includes/blocks/group/style-rtl.css +++ b/wp-includes/blocks/group/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/group/style.css b/wp-includes/blocks/group/style.css index 8fd3e9e3d7..3633372f7c 100644 --- a/wp-includes/blocks/group/style.css +++ b/wp-includes/blocks/group/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/group/theme-rtl.css b/wp-includes/blocks/group/theme-rtl.css new file mode 100644 index 0000000000..21e5c5850a --- /dev/null +++ b/wp-includes/blocks/group/theme-rtl.css @@ -0,0 +1,79 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-group:where(.has-background) { + padding: 1.25em 2.375em; +} \ No newline at end of file diff --git a/wp-includes/blocks/group/theme-rtl.min.css b/wp-includes/blocks/group/theme-rtl.min.css new file mode 100644 index 0000000000..7b73295ad7 --- /dev/null +++ b/wp-includes/blocks/group/theme-rtl.min.css @@ -0,0 +1 @@ +.wp-block-group:where(.has-background){padding:1.25em 2.375em} \ No newline at end of file diff --git a/wp-includes/blocks/group/theme.css b/wp-includes/blocks/group/theme.css new file mode 100644 index 0000000000..21e5c5850a --- /dev/null +++ b/wp-includes/blocks/group/theme.css @@ -0,0 +1,79 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-group:where(.has-background) { + padding: 1.25em 2.375em; +} \ No newline at end of file diff --git a/wp-includes/blocks/group/theme.min.css b/wp-includes/blocks/group/theme.min.css new file mode 100644 index 0000000000..7b73295ad7 --- /dev/null +++ b/wp-includes/blocks/group/theme.min.css @@ -0,0 +1 @@ +.wp-block-group:where(.has-background){padding:1.25em 2.375em} \ No newline at end of file diff --git a/wp-includes/blocks/heading/block.json b/wp-includes/blocks/heading/block.json index 69ec1ba374..b09baa78d4 100644 --- a/wp-includes/blocks/heading/block.json +++ b/wp-includes/blocks/heading/block.json @@ -32,13 +32,25 @@ "color": { "link": true }, + "spacing": { + "margin": true + }, "typography": { "fontSize": true, "lineHeight": true, - "__experimentalFontWeight": true + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalTextTransform": true, + "__experimentalDefaultControls": { + "fontSize": true, + "fontAppearance": true, + "textTransform": true + } }, "__experimentalSelector": "h1,h2,h3,h4,h5,h6", - "__unstablePasteTextInline": true + "__unstablePasteTextInline": true, + "__experimentalSlashInserter": true }, "editorStyle": "wp-block-heading-editor", "style": "wp-block-heading" diff --git a/wp-includes/blocks/heading/editor-rtl.min.css b/wp-includes/blocks/heading/editor-rtl.min.css deleted file mode 100644 index ffc2c6277c..0000000000 --- a/wp-includes/blocks/heading/editor-rtl.min.css +++ /dev/null @@ -1 +0,0 @@ -.block-library-heading-level-dropdown .components-popover__content{min-width:230px}.block-library-heading-level-dropdown .components-popover__content>div{padding:0}.block-library-heading-level-toolbar{border:none} \ No newline at end of file diff --git a/wp-includes/blocks/heading/editor.min.css b/wp-includes/blocks/heading/editor.min.css deleted file mode 100644 index ffc2c6277c..0000000000 --- a/wp-includes/blocks/heading/editor.min.css +++ /dev/null @@ -1 +0,0 @@ -.block-library-heading-level-dropdown .components-popover__content{min-width:230px}.block-library-heading-level-dropdown .components-popover__content>div{padding:0}.block-library-heading-level-toolbar{border:none} \ No newline at end of file diff --git a/wp-includes/blocks/heading/style-rtl.css b/wp-includes/blocks/heading/style-rtl.css index 25c0c87e3a..2a163ecb5e 100644 --- a/wp-includes/blocks/heading/style-rtl.css +++ b/wp-includes/blocks/heading/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,6 +74,14 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ +h1, +h2, +h3, +h4, +h5, +h6 { + overflow-wrap: break-word; +} h1.has-background, h2.has-background, h3.has-background, diff --git a/wp-includes/blocks/heading/style-rtl.min.css b/wp-includes/blocks/heading/style-rtl.min.css index 38760e892f..a520e75dc7 100644 --- a/wp-includes/blocks/heading/style-rtl.min.css +++ b/wp-includes/blocks/heading/style-rtl.min.css @@ -1 +1 @@ -h1.has-background,h2.has-background,h3.has-background,h4.has-background,h5.has-background,h6.has-background{padding:1.25em 2.375em} \ No newline at end of file +h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1.has-background,h2.has-background,h3.has-background,h4.has-background,h5.has-background,h6.has-background{padding:1.25em 2.375em} \ No newline at end of file diff --git a/wp-includes/blocks/heading/style.css b/wp-includes/blocks/heading/style.css index 25c0c87e3a..2a163ecb5e 100644 --- a/wp-includes/blocks/heading/style.css +++ b/wp-includes/blocks/heading/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,6 +74,14 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ +h1, +h2, +h3, +h4, +h5, +h6 { + overflow-wrap: break-word; +} h1.has-background, h2.has-background, h3.has-background, diff --git a/wp-includes/blocks/heading/style.min.css b/wp-includes/blocks/heading/style.min.css index 38760e892f..a520e75dc7 100644 --- a/wp-includes/blocks/heading/style.min.css +++ b/wp-includes/blocks/heading/style.min.css @@ -1 +1 @@ -h1.has-background,h2.has-background,h3.has-background,h4.has-background,h5.has-background,h6.has-background{padding:1.25em 2.375em} \ No newline at end of file +h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1.has-background,h2.has-background,h3.has-background,h4.has-background,h5.has-background,h6.has-background{padding:1.25em 2.375em} \ No newline at end of file diff --git a/wp-includes/blocks/html/editor-rtl.css b/wp-includes/blocks/html/editor-rtl.css index 9595a76d97..a38b1dcde9 100644 --- a/wp-includes/blocks/html/editor-rtl.css +++ b/wp-includes/blocks/html/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,9 +74,6 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.block-library-html__edit { - margin-bottom: 28px; -} .block-library-html__edit .block-library-html__preview-overlay { position: absolute; width: 100%; @@ -79,20 +82,24 @@ right: 0; } .block-library-html__edit .block-editor-plain-text { - font-family: Menlo, Consolas, monaco, monospace; - color: #1e1e1e; - padding: 0.8em 1em; - border: 1px solid #ddd; - border-radius: 4px; + font-family: Menlo, Consolas, monaco, monospace !important; + color: #1e1e1e !important; + background: #fff !important; + padding: 12px !important; + border: 1px solid #1e1e1e !important; + box-shadow: none !important; + border-radius: 2px !important; max-height: 250px; /* Fonts smaller than 16px causes mobile safari to zoom. */ - font-size: 16px; + font-size: 16px !important; } @media (min-width: 600px) { .block-library-html__edit .block-editor-plain-text { - font-size: 13px; + font-size: 13px !important; } } .block-library-html__edit .block-editor-plain-text:focus { - box-shadow: none; + 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; } \ No newline at end of file diff --git a/wp-includes/blocks/html/editor-rtl.min.css b/wp-includes/blocks/html/editor-rtl.min.css index 42b778a681..20de7e5654 100644 --- a/wp-includes/blocks/html/editor-rtl.min.css +++ b/wp-includes/blocks/html/editor-rtl.min.css @@ -1 +1 @@ -.block-library-html__edit{margin-bottom:28px}.block-library-html__edit .block-library-html__preview-overlay{position:absolute;width:100%;height:100%;top:0;right:0}.block-library-html__edit .block-editor-plain-text{font-family:Menlo,Consolas,monaco,monospace;color:#1e1e1e;padding:.8em 1em;border:1px solid #ddd;border-radius:4px;max-height:250px;font-size:16px}@media (min-width:600px){.block-library-html__edit .block-editor-plain-text{font-size:13px}}.block-library-html__edit .block-editor-plain-text:focus{box-shadow:none} \ No newline at end of file +.block-library-html__edit .block-library-html__preview-overlay{position:absolute;width:100%;height:100%;top:0;right:0}.block-library-html__edit .block-editor-plain-text{font-family:Menlo,Consolas,monaco,monospace!important;color:#1e1e1e!important;background:#fff!important;padding:12px!important;border:1px solid #1e1e1e!important;box-shadow:none!important;border-radius:2px!important;max-height:250px;font-size:16px!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} \ No newline at end of file diff --git a/wp-includes/blocks/html/editor.css b/wp-includes/blocks/html/editor.css index 187cede88e..a8d2a10297 100644 --- a/wp-includes/blocks/html/editor.css +++ b/wp-includes/blocks/html/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,9 +74,6 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.block-library-html__edit { - margin-bottom: 28px; -} .block-library-html__edit .block-library-html__preview-overlay { position: absolute; width: 100%; @@ -79,20 +82,24 @@ left: 0; } .block-library-html__edit .block-editor-plain-text { - font-family: Menlo, Consolas, monaco, monospace; - color: #1e1e1e; - padding: 0.8em 1em; - border: 1px solid #ddd; - border-radius: 4px; + font-family: Menlo, Consolas, monaco, monospace !important; + color: #1e1e1e !important; + background: #fff !important; + padding: 12px !important; + border: 1px solid #1e1e1e !important; + box-shadow: none !important; + border-radius: 2px !important; max-height: 250px; /* Fonts smaller than 16px causes mobile safari to zoom. */ - font-size: 16px; + font-size: 16px !important; } @media (min-width: 600px) { .block-library-html__edit .block-editor-plain-text { - font-size: 13px; + font-size: 13px !important; } } .block-library-html__edit .block-editor-plain-text:focus { - box-shadow: none; + 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; } \ No newline at end of file diff --git a/wp-includes/blocks/html/editor.min.css b/wp-includes/blocks/html/editor.min.css index 33630bc469..5cf2da7b03 100644 --- a/wp-includes/blocks/html/editor.min.css +++ b/wp-includes/blocks/html/editor.min.css @@ -1 +1 @@ -.block-library-html__edit{margin-bottom:28px}.block-library-html__edit .block-library-html__preview-overlay{position:absolute;width:100%;height:100%;top:0;left:0}.block-library-html__edit .block-editor-plain-text{font-family:Menlo,Consolas,monaco,monospace;color:#1e1e1e;padding:.8em 1em;border:1px solid #ddd;border-radius:4px;max-height:250px;font-size:16px}@media (min-width:600px){.block-library-html__edit .block-editor-plain-text{font-size:13px}}.block-library-html__edit .block-editor-plain-text:focus{box-shadow:none} \ No newline at end of file +.block-library-html__edit .block-library-html__preview-overlay{position:absolute;width:100%;height:100%;top:0;left:0}.block-library-html__edit .block-editor-plain-text{font-family:Menlo,Consolas,monaco,monospace!important;color:#1e1e1e!important;background:#fff!important;padding:12px!important;border:1px solid #1e1e1e!important;box-shadow:none!important;border-radius:2px!important;max-height:250px;font-size:16px!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} \ No newline at end of file diff --git a/wp-includes/blocks/image/block.json b/wp-includes/blocks/image/block.json index 9cb1901028..b603b41a8c 100644 --- a/wp-includes/blocks/image/block.json +++ b/wp-includes/blocks/image/block.json @@ -3,6 +3,7 @@ "name": "core/image", "title": "Image", "category": "media", + "usesContext": [ "allowResize", "imageCrop", "fixedHeight" ], "description": "Insert an image to make a visual statement.", "keywords": [ "img", "photo", "picture" ], "textdomain": "default", diff --git a/wp-includes/blocks/image/editor-rtl.css b/wp-includes/blocks/image/editor-rtl.css index 209a3a1c29..f3a7e1e195 100644 --- a/wp-includes/blocks/image/editor-rtl.css +++ b/wp-includes/blocks/image/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -88,7 +94,7 @@ figure.wp-block-image:not(.wp-block) { margin-top: -9px; margin-right: -9px; } -.wp-block-image:not(.is-style-rounded) > div { +.wp-block-image:not(.is-style-rounded) > div:not(.components-placeholder) { border-radius: inherit; } @@ -115,6 +121,7 @@ figure.wp-block-image:not(.wp-block) { [data-align=wide] > .wp-block-image img, [data-align=full] > .wp-block-image img { + height: auto; width: 100%; } diff --git a/wp-includes/blocks/image/editor-rtl.min.css b/wp-includes/blocks/image/editor-rtl.min.css index 4ff324220d..1c3430c529 100644 --- a/wp-includes/blocks/image/editor-rtl.min.css +++ b/wp-includes/blocks/image/editor-rtl.min.css @@ -1 +1 @@ -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;top:50%;right:50%;margin-top:-9px;margin-right:-9px}.wp-block-image:not(.is-style-rounded)>div{border-radius:inherit}.wp-block-image .components-resizable-box__container{display:inline-block}.wp-block-image .components-resizable-box__container img{display:block;width:inherit;height:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{position:absolute;right:0;left:0;margin:-1px 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{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{display:table-caption;caption-side:bottom}.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-right:auto;margin-left:auto;text-align:center}.wp-block-image__crop-area{position:relative;max-width:100%;width:100%}.wp-block-image__crop-icon{padding:0 8px;min-width:48px;display:flex;justify-content:center;align-items:center}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{overflow:visible;min-width:260px}.wp-block-image__zoom .components-range-control{flex:1}.wp-block-image__zoom .components-base-control__field{display:flex;margin-bottom:0;flex-direction:column;align-items:flex-start}.wp-block-image__aspect-ratio{height:46px;margin-bottom:-8px;display:flex;align-items:center}.wp-block-image__aspect-ratio .components-button{width:36px;padding-right:0;padding-left:0} \ No newline at end of file +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;top:50%;right:50%;margin-top:-9px;margin-right:-9px}.wp-block-image:not(.is-style-rounded)>div:not(.components-placeholder){border-radius:inherit}.wp-block-image .components-resizable-box__container{display:inline-block}.wp-block-image .components-resizable-box__container img{display:block;width:inherit;height:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{position:absolute;right:0;left:0;margin:-1px 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{display:table-caption;caption-side:bottom}.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-right:auto;margin-left:auto;text-align:center}.wp-block-image__crop-area{position:relative;max-width:100%;width:100%}.wp-block-image__crop-icon{padding:0 8px;min-width:48px;display:flex;justify-content:center;align-items:center}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{overflow:visible;min-width:260px}.wp-block-image__zoom .components-range-control{flex:1}.wp-block-image__zoom .components-base-control__field{display:flex;margin-bottom:0;flex-direction:column;align-items:flex-start}.wp-block-image__aspect-ratio{height:46px;margin-bottom:-8px;display:flex;align-items:center}.wp-block-image__aspect-ratio .components-button{width:36px;padding-right:0;padding-left:0} \ No newline at end of file diff --git a/wp-includes/blocks/image/editor.css b/wp-includes/blocks/image/editor.css index ba1f17cb12..3e3765fad7 100644 --- a/wp-includes/blocks/image/editor.css +++ b/wp-includes/blocks/image/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -88,7 +94,7 @@ figure.wp-block-image:not(.wp-block) { margin-top: -9px; margin-left: -9px; } -.wp-block-image:not(.is-style-rounded) > div { +.wp-block-image:not(.is-style-rounded) > div:not(.components-placeholder) { border-radius: inherit; } @@ -115,6 +121,7 @@ figure.wp-block-image:not(.wp-block) { [data-align=wide] > .wp-block-image img, [data-align=full] > .wp-block-image img { + height: auto; width: 100%; } diff --git a/wp-includes/blocks/image/editor.min.css b/wp-includes/blocks/image/editor.min.css index fd758c291a..5de8124934 100644 --- a/wp-includes/blocks/image/editor.min.css +++ b/wp-includes/blocks/image/editor.min.css @@ -1 +1 @@ -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;top:50%;left:50%;margin-top:-9px;margin-left:-9px}.wp-block-image:not(.is-style-rounded)>div{border-radius:inherit}.wp-block-image .components-resizable-box__container{display:inline-block}.wp-block-image .components-resizable-box__container img{display:block;width:inherit;height:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{position:absolute;left:0;right:0;margin:-1px 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{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{display:table-caption;caption-side:bottom}.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{position:relative;max-width:100%;width:100%}.wp-block-image__crop-icon{padding:0 8px;min-width:48px;display:flex;justify-content:center;align-items:center}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{overflow:visible;min-width:260px}.wp-block-image__zoom .components-range-control{flex:1}.wp-block-image__zoom .components-base-control__field{display:flex;margin-bottom:0;flex-direction:column;align-items:flex-start}.wp-block-image__aspect-ratio{height:46px;margin-bottom:-8px;display:flex;align-items:center}.wp-block-image__aspect-ratio .components-button{width:36px;padding-left:0;padding-right:0} \ No newline at end of file +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;top:50%;left:50%;margin-top:-9px;margin-left:-9px}.wp-block-image:not(.is-style-rounded)>div:not(.components-placeholder){border-radius:inherit}.wp-block-image .components-resizable-box__container{display:inline-block}.wp-block-image .components-resizable-box__container img{display:block;width:inherit;height:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{position:absolute;left:0;right:0;margin:-1px 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{display:table-caption;caption-side:bottom}.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{position:relative;max-width:100%;width:100%}.wp-block-image__crop-icon{padding:0 8px;min-width:48px;display:flex;justify-content:center;align-items:center}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{overflow:visible;min-width:260px}.wp-block-image__zoom .components-range-control{flex:1}.wp-block-image__zoom .components-base-control__field{display:flex;margin-bottom:0;flex-direction:column;align-items:flex-start}.wp-block-image__aspect-ratio{height:46px;margin-bottom:-8px;display:flex;align-items:center}.wp-block-image__aspect-ratio .components-button{width:36px;padding-left:0;padding-right:0} \ 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 356f89cbff..6f9b322e74 100644 --- a/wp-includes/blocks/image/style-rtl.css +++ b/wp-includes/blocks/image/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -72,7 +78,9 @@ margin: 0 0 1em 0; } .wp-block-image img { + height: auto; max-width: 100%; + vertical-align: bottom; } .wp-block-image:not(.is-style-rounded) img { border-radius: inherit; @@ -81,6 +89,7 @@ text-align: center; } .wp-block-image.alignfull img, .wp-block-image.alignwide img { + height: auto; width: 100%; } .wp-block-image .alignleft, diff --git a/wp-includes/blocks/image/style-rtl.min.css b/wp-includes/blocks/image/style-rtl.min.css index 5331269ca3..c347f7e0e3 100644 --- a/wp-includes/blocks/image/style-rtl.min.css +++ b/wp-includes/blocks/image/style-rtl.min.css @@ -1 +1 @@ -.wp-block-image{margin:0 0 1em}.wp-block-image img{max-width:100%}.wp-block-image:not(.is-style-rounded) img{border-radius:inherit}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{width:100%}.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{display:table-caption;caption-side:bottom}.wp-block-image .alignleft{float:left;margin-left:1em;margin-top:.5em;margin-bottom:.5em}.wp-block-image .alignright{float:right;margin-right:1em;margin-top:.5em;margin-bottom:.5em}.wp-block-image .aligncenter{margin-right:auto;margin-left:auto}.wp-block-image figcaption{margin-top:.5em;margin-bottom:1em}.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{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;border-radius:0}}.wp-block-image figure{margin:0} \ No newline at end of file +.wp-block-image{margin:0 0 1em}.wp-block-image img{height:auto;max-width:100%;vertical-align:bottom}.wp-block-image:not(.is-style-rounded) img{border-radius:inherit}.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{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption{display:table-caption;caption-side:bottom}.wp-block-image .alignleft{float:left;margin-left:1em;margin-top:.5em;margin-bottom:.5em}.wp-block-image .alignright{float:right;margin-right:1em;margin-top:.5em;margin-bottom:.5em}.wp-block-image .aligncenter{margin-right:auto;margin-left:auto}.wp-block-image figcaption{margin-top:.5em;margin-bottom:1em}.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{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;border-radius:0}}.wp-block-image figure{margin:0} \ No newline at end of file diff --git a/wp-includes/blocks/image/style.css b/wp-includes/blocks/image/style.css index b7621296bd..0c8f777ce7 100644 --- a/wp-includes/blocks/image/style.css +++ b/wp-includes/blocks/image/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -72,7 +78,9 @@ margin: 0 0 1em 0; } .wp-block-image img { + height: auto; max-width: 100%; + vertical-align: bottom; } .wp-block-image:not(.is-style-rounded) img { border-radius: inherit; @@ -81,6 +89,7 @@ text-align: center; } .wp-block-image.alignfull img, .wp-block-image.alignwide img { + height: auto; width: 100%; } .wp-block-image .alignleft, diff --git a/wp-includes/blocks/image/style.min.css b/wp-includes/blocks/image/style.min.css index 7703f267df..46331d8c45 100644 --- a/wp-includes/blocks/image/style.min.css +++ b/wp-includes/blocks/image/style.min.css @@ -1 +1 @@ -.wp-block-image{margin:0 0 1em}.wp-block-image img{max-width:100%}.wp-block-image:not(.is-style-rounded) img{border-radius:inherit}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{width:100%}.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{display:table-caption;caption-side:bottom}.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-top:.5em;margin-bottom:1em}.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{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;border-radius:0}}.wp-block-image figure{margin:0} \ No newline at end of file +.wp-block-image{margin:0 0 1em}.wp-block-image img{height:auto;max-width:100%;vertical-align:bottom}.wp-block-image:not(.is-style-rounded) img{border-radius:inherit}.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{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption{display:table-caption;caption-side:bottom}.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-top:.5em;margin-bottom:1em}.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{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;border-radius:0}}.wp-block-image figure{margin:0} \ No newline at end of file diff --git a/wp-includes/blocks/image/theme-rtl.css b/wp-includes/blocks/image/theme-rtl.css new file mode 100644 index 0000000000..9d59652135 --- /dev/null +++ b/wp-includes/blocks/image/theme-rtl.css @@ -0,0 +1,84 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-image figcaption { + color: #555; + font-size: 13px; + text-align: center; +} +.is-dark-theme .wp-block-image figcaption { + color: rgba(255, 255, 255, 0.65); +} \ No newline at end of file diff --git a/wp-includes/blocks/image/theme-rtl.min.css b/wp-includes/blocks/image/theme-rtl.min.css new file mode 100644 index 0000000000..f5e0a6afbd --- /dev/null +++ b/wp-includes/blocks/image/theme-rtl.min.css @@ -0,0 +1 @@ +.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:hsla(0,0%,100%,.65)} \ No newline at end of file diff --git a/wp-includes/blocks/image/theme.css b/wp-includes/blocks/image/theme.css new file mode 100644 index 0000000000..9d59652135 --- /dev/null +++ b/wp-includes/blocks/image/theme.css @@ -0,0 +1,84 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-image figcaption { + color: #555; + font-size: 13px; + text-align: center; +} +.is-dark-theme .wp-block-image figcaption { + color: rgba(255, 255, 255, 0.65); +} \ No newline at end of file diff --git a/wp-includes/blocks/image/theme.min.css b/wp-includes/blocks/image/theme.min.css new file mode 100644 index 0000000000..f5e0a6afbd --- /dev/null +++ b/wp-includes/blocks/image/theme.min.css @@ -0,0 +1 @@ +.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:hsla(0,0%,100%,.65)} \ No newline at end of file diff --git a/wp-includes/blocks/latest-comments.php b/wp-includes/blocks/latest-comments.php index 6343a46d0b..3e649bbf5f 100644 --- a/wp-includes/blocks/latest-comments.php +++ b/wp-includes/blocks/latest-comments.php @@ -42,14 +42,15 @@ function wp_latest_comments_draft_or_post_title( $post = 0 ) { */ function render_block_core_latest_comments( $attributes = array() ) { $comments = get_comments( - // This filter is documented in wp-includes/widgets/class-wp-widget-recent-comments.php. + /** This filter is documented in wp-includes/widgets/class-wp-widget-recent-comments.php */ apply_filters( 'widget_comments_args', array( 'number' => $attributes['commentsToShow'], 'status' => 'approve', 'post_status' => 'publish', - ) + ), + array() ) ); diff --git a/wp-includes/blocks/latest-comments/style-rtl.css b/wp-includes/blocks/latest-comments/style-rtl.css index 03bd86b197..57d98fb54b 100644 --- a/wp-includes/blocks/latest-comments/style-rtl.css +++ b/wp-includes/blocks/latest-comments/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/latest-comments/style.css b/wp-includes/blocks/latest-comments/style.css index 507dbf3e49..c2fb27f49f 100644 --- a/wp-includes/blocks/latest-comments/style.css +++ b/wp-includes/blocks/latest-comments/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/latest-posts/editor-rtl.css b/wp-includes/blocks/latest-posts/editor-rtl.css index a95baaa52f..11a1d930bf 100644 --- a/wp-includes/blocks/latest-posts/editor-rtl.css +++ b/wp-includes/blocks/latest-posts/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/latest-posts/editor.css b/wp-includes/blocks/latest-posts/editor.css index fc8c2ddfc6..4e2394d905 100644 --- a/wp-includes/blocks/latest-posts/editor.css +++ b/wp-includes/blocks/latest-posts/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/latest-posts/style-rtl.css b/wp-includes/blocks/latest-posts/style-rtl.css index d1402f8828..332c3aa65e 100644 --- a/wp-includes/blocks/latest-posts/style-rtl.css +++ b/wp-includes/blocks/latest-posts/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -126,7 +132,6 @@ .wp-block-latest-posts__post-date, .wp-block-latest-posts__post-author { display: block; - color: #555; font-size: 0.8125em; } diff --git a/wp-includes/blocks/latest-posts/style-rtl.min.css b/wp-includes/blocks/latest-posts/style-rtl.min.css index b85aa8e2d9..19a4b2ee3e 100644 --- a/wp-includes/blocks/latest-posts/style-rtl.min.css +++ b/wp-includes/blocks/latest-posts/style-rtl.min.css @@ -1 +1 @@ -.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;color:#555;font-size:.8125em}.wp-block-latest-posts__post-excerpt{margin-top:.5em;margin-bottom:1em}.wp-block-latest-posts__featured-image a{display:inline-block}.wp-block-latest-posts__featured-image img{height:auto;width:auto;max-width:100%}.wp-block-latest-posts__featured-image.alignleft{margin-right:1em}.wp-block-latest-posts__featured-image.alignright{margin-left:1em}.wp-block-latest-posts__featured-image.aligncenter{margin-bottom:1em;text-align:center}.block-editor-image-alignment-control__row .components-base-control__field{display:flex;justify-content:space-between;align-items:center}.block-editor-image-alignment-control__row .components-base-control__field .components-base-control__label{margin-bottom:0} \ No newline at end of file +.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-top:.5em;margin-bottom:1em}.wp-block-latest-posts__featured-image a{display:inline-block}.wp-block-latest-posts__featured-image img{height:auto;width:auto;max-width:100%}.wp-block-latest-posts__featured-image.alignleft{margin-right:1em}.wp-block-latest-posts__featured-image.alignright{margin-left:1em}.wp-block-latest-posts__featured-image.aligncenter{margin-bottom:1em;text-align:center}.block-editor-image-alignment-control__row .components-base-control__field{display:flex;justify-content:space-between;align-items:center}.block-editor-image-alignment-control__row .components-base-control__field .components-base-control__label{margin-bottom:0} \ No newline at end of file diff --git a/wp-includes/blocks/latest-posts/style.css b/wp-includes/blocks/latest-posts/style.css index 1be5add415..bdf99f3c5c 100644 --- a/wp-includes/blocks/latest-posts/style.css +++ b/wp-includes/blocks/latest-posts/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -128,7 +134,6 @@ .wp-block-latest-posts__post-date, .wp-block-latest-posts__post-author { display: block; - color: #555; font-size: 0.8125em; } diff --git a/wp-includes/blocks/latest-posts/style.min.css b/wp-includes/blocks/latest-posts/style.min.css index a75b21b410..b69973da63 100644 --- a/wp-includes/blocks/latest-posts/style.min.css +++ b/wp-includes/blocks/latest-posts/style.min.css @@ -1 +1 @@ -.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;color:#555;font-size:.8125em}.wp-block-latest-posts__post-excerpt{margin-top:.5em;margin-bottom:1em}.wp-block-latest-posts__featured-image a{display:inline-block}.wp-block-latest-posts__featured-image img{height:auto;width:auto;max-width:100%}.wp-block-latest-posts__featured-image.alignleft{margin-right:1em}.wp-block-latest-posts__featured-image.alignright{margin-left:1em}.wp-block-latest-posts__featured-image.aligncenter{margin-bottom:1em;text-align:center}.block-editor-image-alignment-control__row .components-base-control__field{display:flex;justify-content:space-between;align-items:center}.block-editor-image-alignment-control__row .components-base-control__field .components-base-control__label{margin-bottom:0} \ No newline at end of file +.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-top:.5em;margin-bottom:1em}.wp-block-latest-posts__featured-image a{display:inline-block}.wp-block-latest-posts__featured-image img{height:auto;width:auto;max-width:100%}.wp-block-latest-posts__featured-image.alignleft{margin-right:1em}.wp-block-latest-posts__featured-image.alignright{margin-left:1em}.wp-block-latest-posts__featured-image.aligncenter{margin-bottom:1em;text-align:center}.block-editor-image-alignment-control__row .components-base-control__field{display:flex;justify-content:space-between;align-items:center}.block-editor-image-alignment-control__row .components-base-control__field .components-base-control__label{margin-bottom:0} \ No newline at end of file diff --git a/wp-includes/blocks/list/block.json b/wp-includes/blocks/list/block.json index 278dbad0d0..c82710f08d 100644 --- a/wp-includes/blocks/list/block.json +++ b/wp-includes/blocks/list/block.json @@ -39,13 +39,23 @@ "className": false, "typography": { "fontSize": true, - "__experimentalFontFamily": true + "__experimentalFontFamily": true, + "lineHeight": true, + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalTextTransform": true, + "__experimentalDefaultControls": { + "fontSize": true + } }, "color": { - "gradients": true + "gradients": true, + "link": true }, "__unstablePasteTextInline": true, - "__experimentalSelector": "ol,ul" + "__experimentalSelector": "ol,ul", + "__experimentalSlashInserter": true }, "editorStyle": "wp-block-list-editor", "style": "wp-block-list" diff --git a/wp-includes/blocks/list/style-rtl.css b/wp-includes/blocks/list/style-rtl.css index ad66b10c38..ef247b64de 100644 --- a/wp-includes/blocks/list/style-rtl.css +++ b/wp-includes/blocks/list/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,6 +74,10 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ +ol, +ul { + overflow-wrap: break-word; +} ol.has-background, ul.has-background { padding: 1.25em 2.375em; diff --git a/wp-includes/blocks/list/style-rtl.min.css b/wp-includes/blocks/list/style-rtl.min.css index 2de38af275..dd12e339bc 100644 --- a/wp-includes/blocks/list/style-rtl.min.css +++ b/wp-includes/blocks/list/style-rtl.min.css @@ -1 +1 @@ -ol.has-background,ul.has-background{padding:1.25em 2.375em} \ No newline at end of file +ol,ul{overflow-wrap:break-word}ol.has-background,ul.has-background{padding:1.25em 2.375em} \ No newline at end of file diff --git a/wp-includes/blocks/list/style.css b/wp-includes/blocks/list/style.css index ad66b10c38..ef247b64de 100644 --- a/wp-includes/blocks/list/style.css +++ b/wp-includes/blocks/list/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,6 +74,10 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ +ol, +ul { + overflow-wrap: break-word; +} ol.has-background, ul.has-background { padding: 1.25em 2.375em; diff --git a/wp-includes/blocks/list/style.min.css b/wp-includes/blocks/list/style.min.css index 2de38af275..dd12e339bc 100644 --- a/wp-includes/blocks/list/style.min.css +++ b/wp-includes/blocks/list/style.min.css @@ -1 +1 @@ -ol.has-background,ul.has-background{padding:1.25em 2.375em} \ No newline at end of file +ol,ul{overflow-wrap:break-word}ol.has-background,ul.has-background{padding:1.25em 2.375em} \ No newline at end of file diff --git a/wp-includes/blocks/loginout.php b/wp-includes/blocks/loginout.php index c9c23cf90b..ac10ced20f 100644 --- a/wp-includes/blocks/loginout.php +++ b/wp-includes/blocks/loginout.php @@ -38,7 +38,7 @@ function render_block_core_loginout( $attributes ) { } /** - * Registers the `core/latest-posts` block on server. + * Registers the `core/loginout` block on server. */ function register_block_core_loginout() { register_block_type_from_metadata( diff --git a/wp-includes/blocks/media-text/editor-rtl.css b/wp-includes/blocks/media-text/editor-rtl.css index 4bea0f0a06..5280c466ad 100644 --- a/wp-includes/blocks/media-text/editor-rtl.css +++ b/wp-includes/blocks/media-text/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,6 +74,20 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ +.wp-block-media-text__media { + position: relative; +} +.wp-block-media-text__media.is-transient img { + opacity: 0.3; +} +.wp-block-media-text__media .components-spinner { + position: absolute; + top: 50%; + right: 50%; + margin-top: -9px; + margin-right: -9px; +} + .wp-block-media-text .__resizable_base__ { grid-column: 1/span 2; grid-row: 2; diff --git a/wp-includes/blocks/media-text/editor-rtl.min.css b/wp-includes/blocks/media-text/editor-rtl.min.css index 8a1a26741c..92a178d149 100644 --- a/wp-includes/blocks/media-text/editor-rtl.min.css +++ b/wp-includes/blocks/media-text/editor-rtl.min.css @@ -1 +1 @@ -.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} \ No newline at end of file +.wp-block-media-text__media{position:relative}.wp-block-media-text__media.is-transient img{opacity:.3}.wp-block-media-text__media .components-spinner{position:absolute;top:50%;right:50%;margin-top:-9px;margin-right:-9px}.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} \ No newline at end of file diff --git a/wp-includes/blocks/media-text/editor.css b/wp-includes/blocks/media-text/editor.css index 4bea0f0a06..0f70aaf6ef 100644 --- a/wp-includes/blocks/media-text/editor.css +++ b/wp-includes/blocks/media-text/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,6 +74,20 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ +.wp-block-media-text__media { + position: relative; +} +.wp-block-media-text__media.is-transient img { + opacity: 0.3; +} +.wp-block-media-text__media .components-spinner { + position: absolute; + top: 50%; + left: 50%; + margin-top: -9px; + margin-left: -9px; +} + .wp-block-media-text .__resizable_base__ { grid-column: 1/span 2; grid-row: 2; diff --git a/wp-includes/blocks/media-text/editor.min.css b/wp-includes/blocks/media-text/editor.min.css index 8a1a26741c..5d8543600a 100644 --- a/wp-includes/blocks/media-text/editor.min.css +++ b/wp-includes/blocks/media-text/editor.min.css @@ -1 +1 @@ -.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} \ No newline at end of file +.wp-block-media-text__media{position:relative}.wp-block-media-text__media.is-transient img{opacity:.3}.wp-block-media-text__media .components-spinner{position:absolute;top:50%;left:50%;margin-top:-9px;margin-left:-9px}.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} \ No newline at end of file diff --git a/wp-includes/blocks/media-text/style-rtl.css b/wp-includes/blocks/media-text/style-rtl.css index ad66dfdf13..b9d2a84916 100644 --- a/wp-includes/blocks/media-text/style-rtl.css +++ b/wp-includes/blocks/media-text/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -121,6 +127,7 @@ .wp-block-media-text__media img, .wp-block-media-text__media video { + height: auto; max-width: unset; width: 100%; vertical-align: middle; diff --git a/wp-includes/blocks/media-text/style-rtl.min.css b/wp-includes/blocks/media-text/style-rtl.min.css index b4c26af753..54b85b3098 100644 --- a/wp-includes/blocks/media-text/style-rtl.min.css +++ b/wp-includes/blocks/media-text/style-rtl.min.css @@ -1 +1 @@ -.wp-block-media-text{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.is-vertically-aligned-center .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media,.wp-block-media-text .wp-block-media-text__content,.wp-block-media-text .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{max-width:unset;width:100%;vertical-align:middle}.wp-block-media-text.is-image-fill .wp-block-media-text__media{height:100%;min-height:250px;background-size:cover}.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{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@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}} \ No newline at end of file +.wp-block-media-text{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.is-vertically-aligned-center .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media,.wp-block-media-text .wp-block-media-text__content,.wp-block-media-text .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;width:100%;vertical-align:middle}.wp-block-media-text.is-image-fill .wp-block-media-text__media{height:100%;min-height:250px;background-size:cover}.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{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@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}} \ No newline at end of file diff --git a/wp-includes/blocks/media-text/style.css b/wp-includes/blocks/media-text/style.css index 48b8331dff..f6127c82bc 100644 --- a/wp-includes/blocks/media-text/style.css +++ b/wp-includes/blocks/media-text/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -131,6 +137,7 @@ .wp-block-media-text__media img, .wp-block-media-text__media video { + height: auto; max-width: unset; width: 100%; vertical-align: middle; diff --git a/wp-includes/blocks/media-text/style.min.css b/wp-includes/blocks/media-text/style.min.css index 675620b34d..1c16cda228 100644 --- a/wp-includes/blocks/media-text/style.min.css +++ b/wp-includes/blocks/media-text/style.min.css @@ -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{max-width:unset;width:100%;vertical-align:middle}.wp-block-media-text.is-image-fill .wp-block-media-text__media{height:100%;min-height:250px;background-size:cover}.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{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@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}} \ 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;width:100%;vertical-align:middle}.wp-block-media-text.is-image-fill .wp-block-media-text__media{height:100%;min-height:250px;background-size:cover}.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{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@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}} \ No newline at end of file diff --git a/wp-includes/blocks/more/editor-rtl.css b/wp-includes/blocks/more/editor-rtl.css index 6befc51b33..30905549ca 100644 --- a/wp-includes/blocks/more/editor-rtl.css +++ b/wp-includes/blocks/more/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/more/editor.css b/wp-includes/blocks/more/editor.css index cb37b02e6e..a1b1349f92 100644 --- a/wp-includes/blocks/more/editor.css +++ b/wp-includes/blocks/more/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/nextpage/editor-rtl.css b/wp-includes/blocks/nextpage/editor-rtl.css index 5e6f4788ab..99faebf84c 100644 --- a/wp-includes/blocks/nextpage/editor-rtl.css +++ b/wp-includes/blocks/nextpage/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/nextpage/editor.css b/wp-includes/blocks/nextpage/editor.css index c310de7a61..9942ce3ddb 100644 --- a/wp-includes/blocks/nextpage/editor.css +++ b/wp-includes/blocks/nextpage/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/page-list.php b/wp-includes/blocks/page-list.php index 5ee409fedd..733d2e0e43 100644 --- a/wp-includes/blocks/page-list.php +++ b/wp-includes/blocks/page-list.php @@ -9,28 +9,34 @@ * Build an array with CSS classes and inline styles defining the colors * which will be applied to the pages markup in the front-end when it is a descendant of navigation. * - * @param array $context Navigation block context. + * @param array $attributes Block attributes. + * @param array $context Navigation block context. * @return array Colors CSS classes and inline styles. */ -function block_core_page_list_build_css_colors( $context ) { +function block_core_page_list_build_css_colors( $attributes, $context ) { $colors = array( - 'css_classes' => array(), - 'inline_styles' => '', + 'css_classes' => array(), + 'inline_styles' => '', + 'overlay_css_classes' => array(), + 'overlay_inline_styles' => '', ); // Text color. $has_named_text_color = array_key_exists( 'textColor', $context ); + $has_picked_text_color = array_key_exists( 'customTextColor', $context ); $has_custom_text_color = isset( $context['style']['color']['text'] ); // If has text color. - if ( $has_custom_text_color || $has_named_text_color ) { + if ( $has_custom_text_color || $has_picked_text_color || $has_named_text_color ) { // Add has-text-color class. $colors['css_classes'][] = 'has-text-color'; } if ( $has_named_text_color ) { // Add the color class. - $colors['css_classes'][] = sprintf( 'has-%s-color', $context['textColor'] ); + $colors['css_classes'][] = sprintf( 'has-%s-color', gutenberg_experimental_to_kebab_case( $context['textColor'] ) ); + } elseif ( $has_picked_text_color ) { + $colors['inline_styles'] .= sprintf( 'color: %s;', $context['customTextColor'] ); } elseif ( $has_custom_text_color ) { // Add the custom color inline style. $colors['inline_styles'] .= sprintf( 'color: %s;', $context['style']['color']['text'] ); @@ -38,22 +44,56 @@ function block_core_page_list_build_css_colors( $context ) { // Background color. $has_named_background_color = array_key_exists( 'backgroundColor', $context ); + $has_picked_background_color = array_key_exists( 'customBackgroundColor', $context ); $has_custom_background_color = isset( $context['style']['color']['background'] ); // If has background color. - if ( $has_custom_background_color || $has_named_background_color ) { + if ( $has_custom_background_color || $has_picked_background_color || $has_named_background_color ) { // Add has-background class. $colors['css_classes'][] = 'has-background'; } if ( $has_named_background_color ) { // Add the background-color class. - $colors['css_classes'][] = sprintf( 'has-%s-background-color', $context['backgroundColor'] ); + $colors['css_classes'][] = sprintf( 'has-%s-background-color', gutenberg_experimental_to_kebab_case( $context['backgroundColor'] ) ); + } elseif ( $has_picked_background_color ) { + $colors['inline_styles'] .= sprintf( 'background-color: %s;', $context['customBackgroundColor'] ); } elseif ( $has_custom_background_color ) { // Add the custom background-color inline style. $colors['inline_styles'] .= sprintf( 'background-color: %s;', $context['style']['color']['background'] ); } + // Overlay text color. + $has_named_overlay_text_color = array_key_exists( 'overlayTextColor', $context ); + $has_picked_overlay_text_color = array_key_exists( 'customOverlayTextColor', $context ); + + // If it has a text color. + if ( $has_named_overlay_text_color || $has_picked_overlay_text_color ) { + $colors['overlay_css_classes'][] = 'has-text-color'; + } + + // Give overlay colors priority, fall back to Navigation block colors, then global styles. + if ( $has_named_overlay_text_color ) { + $colors['overlay_css_classes'][] = sprintf( 'has-%s-color', gutenberg_experimental_to_kebab_case( $context['overlayTextColor'] ) ); + } elseif ( $has_picked_overlay_text_color ) { + $colors['overlay_inline_styles'] .= sprintf( 'color: %s;', $context['customOverlayTextColor'] ); + } + + // Overlay background colors. + $has_named_overlay_background_color = array_key_exists( 'overlayBackgroundColor', $context ); + $has_picked_overlay_background_color = array_key_exists( 'customOverlayBackgroundColor', $context ); + + // If has background color. + if ( $has_named_overlay_background_color || $has_picked_overlay_background_color ) { + $colors['overlay_css_classes'][] = 'has-background'; + } + + if ( $has_named_overlay_background_color ) { + $colors['overlay_css_classes'][] = sprintf( 'has-%s-background-color', gutenberg_experimental_to_kebab_case( $context['overlayBackgroundColor'] ) ); + } elseif ( $has_picked_overlay_background_color ) { + $colors['overlay_inline_styles'] .= sprintf( 'background-color: %s;', $context['customOverlayBackgroundColor'] ); + } + return $colors; } @@ -88,28 +128,78 @@ function block_core_page_list_build_css_font_sizes( $context ) { /** * Outputs Page list markup from an array of pages with nested children. * - * @param array $nested_pages The array of nested pages. + * @param boolean $open_submenus_on_click Whether to open submenus on click instead of hover. + * @param boolean $show_submenu_icons Whether to show submenu indicator icons. + * @param boolean $is_navigation_child If block is a child of Navigation block. + * @param array $nested_pages The array of nested pages. + * @param array $active_page_ancestor_ids An array of ancestor ids for active page. + * @param array $colors Color information for overlay styles. + * @param integer $depth The nesting depth. * * @return string List markup. */ -function block_core_page_list_render_nested_page_list( $nested_pages ) { +function block_core_page_list_render_nested_page_list( $open_submenus_on_click, $show_submenu_icons, $is_navigation_child, $nested_pages, $active_page_ancestor_ids = array(), $colors = array(), $depth = 0 ) { if ( empty( $nested_pages ) ) { return; } $markup = ''; foreach ( (array) $nested_pages as $page ) { - $css_class = 'wp-block-pages-list__item'; + $css_class = $page['is_active'] ? ' current-menu-item' : ''; + $aria_current = $page['is_active'] ? ' aria-current="page"' : ''; + $style_attribute = ''; + + $css_class .= in_array( $page['page_id'], $active_page_ancestor_ids, true ) ? ' current-menu-ancestor' : ''; if ( isset( $page['children'] ) ) { $css_class .= ' has-child'; } - $markup .= '
  • '; - $markup .= '' . wp_kses( - $page['title'], - wp_kses_allowed_html( 'post' ) - ) . ''; + + if ( $is_navigation_child ) { + $css_class .= ' wp-block-navigation-item'; + + if ( $open_submenus_on_click ) { + $css_class .= ' open-on-click'; + } elseif ( $show_submenu_icons ) { + $css_class .= ' open-on-hover-click'; + } + } + + $navigation_child_content_class = $is_navigation_child ? ' wp-block-navigation-item__content' : ''; + + // If this is the first level of submenus, include the overlay colors. + if ( 1 === $depth && isset( $colors['overlay_css_classes'], $colors['overlay_inline_styles'] ) ) { + $css_class .= ' ' . trim( implode( ' ', $colors['overlay_css_classes'] ) ); + if ( '' !== $colors['overlay_inline_styles'] ) { + $style_attribute = sprintf( ' style="%s"', esc_attr( $colors['overlay_inline_styles'] ) ); + } + } + + $markup .= '
  • '; + + if ( isset( $page['children'] ) && $is_navigation_child && $open_submenus_on_click ) { + $markup .= ''; + } else { + $markup .= '' . wp_kses( + $page['title'], + wp_kses_allowed_html( 'post' ) + ) . ''; + } + if ( isset( $page['children'] ) ) { - $markup .= ''; - $markup .= ''; + if ( $is_navigation_child && $show_submenu_icons && ! $open_submenus_on_click ) { + $markup .= ''; + } + $markup .= ''; } $markup .= '
  • '; } @@ -149,44 +239,50 @@ function render_block_core_page_list( $attributes, $content, $block ) { static $block_id = 0; $block_id++; - // TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby values is resolved, - // update 'sort_column' to 'menu_order, post_title'. Sorting by both menu_order and post_title ensures a stable sort. - // Otherwise with pages that have the same menu_order value, we can see different ordering depending on how DB - // queries are constructed internally. For example we might see a different order when a limit is set to <499 - // versus >= 500. $all_pages = get_pages( array( - 'sort_column' => 'menu_order', + 'sort_column' => 'menu_order,post_title', 'order' => 'asc', ) ); + // If thare are no pages, there is nothing to show. + if ( empty( $all_pages ) ) { + return; + } + $top_level_pages = array(); $pages_with_children = array(); + $active_page_ancestor_ids = array(); + foreach ( (array) $all_pages as $page ) { + $is_active = ! empty( $page->ID ) && ( get_the_ID() === $page->ID ); + + if ( $is_active ) { + $active_page_ancestor_ids = get_post_ancestors( $page->ID ); + } + if ( $page->post_parent ) { $pages_with_children[ $page->post_parent ][ $page->ID ] = array( - 'title' => $page->post_title, - 'link' => get_permalink( $page->ID ), + 'page_id' => $page->ID, + 'title' => $page->post_title, + 'link' => get_permalink( $page->ID ), + 'is_active' => $is_active, ); } else { $top_level_pages[ $page->ID ] = array( - 'title' => $page->post_title, - 'link' => get_permalink( $page->ID ), + 'page_id' => $page->ID, + 'title' => $page->post_title, + 'link' => get_permalink( $page->ID ), + 'is_active' => $is_active, ); } } - $nested_pages = block_core_page_list_nest_pages( $top_level_pages, $pages_with_children ); - - $wrapper_markup = ''; - - $items_markup = block_core_page_list_render_nested_page_list( $nested_pages ); - - $colors = block_core_page_list_build_css_colors( $block->context ); + $colors = block_core_page_list_build_css_colors( $attributes, $block->context ); $font_sizes = block_core_page_list_build_css_font_sizes( $block->context ); $classes = array_merge( $colors['css_classes'], @@ -195,9 +291,17 @@ function render_block_core_page_list( $attributes, $content, $block ) { $style_attribute = ( $colors['inline_styles'] . $font_sizes['inline_styles'] ); $css_classes = trim( implode( ' ', $classes ) ); - if ( $block->context && $block->context['showSubmenuIcon'] ) { - $css_classes .= ' show-submenu-icons'; - } + $nested_pages = block_core_page_list_nest_pages( $top_level_pages, $pages_with_children ); + + $is_navigation_child = array_key_exists( 'showSubmenuIcon', $block->context ); + + $open_submenus_on_click = array_key_exists( 'openSubmenusOnClick', $block->context ) ? $block->context['openSubmenusOnClick'] : false; + + $show_submenu_icons = array_key_exists( 'showSubmenuIcon', $block->context ) ? $block->context['showSubmenuIcon'] : false; + + $wrapper_markup = ''; + + $items_markup = block_core_page_list_render_nested_page_list( $open_submenus_on_click, $show_submenu_icons, $is_navigation_child, $nested_pages, $active_page_ancestor_ids, $colors ); $wrapper_attributes = get_block_wrapper_attributes( array( diff --git a/wp-includes/blocks/page-list/block.json b/wp-includes/blocks/page-list/block.json index 25118d2dbe..146f236fca 100644 --- a/wp-includes/blocks/page-list/block.json +++ b/wp-includes/blocks/page-list/block.json @@ -6,15 +6,22 @@ "description": "Display a list of all pages.", "keywords": [ "menu", "navigation" ], "textdomain": "default", + "attributes": { + }, "usesContext": [ "textColor", "customTextColor", "backgroundColor", "customBackgroundColor", + "overlayTextColor", + "customOverlayTextColor", + "overlayBackgroundColor", + "customOverlayBackgroundColor", "fontSize", "customFontSize", "showSubmenuIcon", - "style" + "style", + "openSubmenusOnClick" ], "supports": { "reusable": false, diff --git a/wp-includes/blocks/page-list/editor-rtl.css b/wp-includes/blocks/page-list/editor-rtl.css index 444d6a587e..8cfe506ad0 100644 --- a/wp-includes/blocks/page-list/editor-rtl.css +++ b/wp-includes/blocks/page-list/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -104,4 +110,12 @@ } .wp-block-page-list-modal-buttons .components-button { margin-right: 12px; +} + +.wp-block-page-list .open-on-click:focus-within > .wp-block-navigation__submenu-container { + visibility: visible; + opacity: 1; + width: auto; + height: auto; + min-width: 200px; } \ No newline at end of file diff --git a/wp-includes/blocks/page-list/editor-rtl.min.css b/wp-includes/blocks/page-list/editor-rtl.min.css index 9391451c12..36361e60b7 100644 --- a/wp-includes/blocks/page-list/editor-rtl.min.css +++ b/wp-includes/blocks/page-list/editor-rtl.min.css @@ -1 +1 @@ -.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-pages-list__item__link{pointer-events:none}.wp-block-page-list .components-placeholder{min-height:0;padding:0;background-color:inherit}.wp-block-page-list .components-placeholder .components-spinner{margin:.5em}.wp-block-page-list-modal{max-width:400px}.wp-block-page-list-modal-buttons{display:flex;justify-content:flex-end}.wp-block-page-list-modal-buttons .components-button{margin-right:12px} \ No newline at end of file +.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-pages-list__item__link{pointer-events:none}.wp-block-page-list .components-placeholder{min-height:0;padding:0;background-color:inherit}.wp-block-page-list .components-placeholder .components-spinner{margin:.5em}.wp-block-page-list-modal{max-width:400px}.wp-block-page-list-modal-buttons{display:flex;justify-content:flex-end}.wp-block-page-list-modal-buttons .components-button{margin-right:12px}.wp-block-page-list .open-on-click:focus-within>.wp-block-navigation__submenu-container{visibility:visible;opacity:1;width:auto;height:auto;min-width:200px} \ No newline at end of file diff --git a/wp-includes/blocks/page-list/editor.css b/wp-includes/blocks/page-list/editor.css index c3a2b5e096..ee53857399 100644 --- a/wp-includes/blocks/page-list/editor.css +++ b/wp-includes/blocks/page-list/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -104,4 +110,12 @@ } .wp-block-page-list-modal-buttons .components-button { margin-left: 12px; +} + +.wp-block-page-list .open-on-click:focus-within > .wp-block-navigation__submenu-container { + visibility: visible; + opacity: 1; + width: auto; + height: auto; + min-width: 200px; } \ No newline at end of file diff --git a/wp-includes/blocks/page-list/editor.min.css b/wp-includes/blocks/page-list/editor.min.css index 5c2bf4995a..0ccbf3482b 100644 --- a/wp-includes/blocks/page-list/editor.min.css +++ b/wp-includes/blocks/page-list/editor.min.css @@ -1 +1 @@ -.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-pages-list__item__link{pointer-events:none}.wp-block-page-list .components-placeholder{min-height:0;padding:0;background-color:inherit}.wp-block-page-list .components-placeholder .components-spinner{margin:.5em}.wp-block-page-list-modal{max-width:400px}.wp-block-page-list-modal-buttons{display:flex;justify-content:flex-end}.wp-block-page-list-modal-buttons .components-button{margin-left:12px} \ No newline at end of file +.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-pages-list__item__link{pointer-events:none}.wp-block-page-list .components-placeholder{min-height:0;padding:0;background-color:inherit}.wp-block-page-list .components-placeholder .components-spinner{margin:.5em}.wp-block-page-list-modal{max-width:400px}.wp-block-page-list-modal-buttons{display:flex;justify-content:flex-end}.wp-block-page-list-modal-buttons .components-button{margin-left:12px}.wp-block-page-list .open-on-click:focus-within>.wp-block-navigation__submenu-container{visibility:visible;opacity:1;width:auto;height:auto;min-width:200px} \ No newline at end of file diff --git a/wp-includes/blocks/page-list/style-rtl.css b/wp-includes/blocks/page-list/style-rtl.css index 28e7bf08e1..8fc120f98e 100644 --- a/wp-includes/blocks/page-list/style-rtl.css +++ b/wp-includes/blocks/page-list/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -69,31 +75,10 @@ * Reset the WP Admin page styles for Gutenberg-like pages. */ .wp-block-navigation .wp-block-page-list { - display: flex; + display: contents; flex-wrap: wrap; background-color: inherit; } -.wp-block-navigation .wp-block-pages-list__item { +.wp-block-navigation .wp-block-navigation-item { background-color: inherit; -} -.wp-block-navigation .wp-block-page-list__submenu-icon { - display: none; -} -.wp-block-navigation .show-submenu-icons .wp-block-page-list__submenu-icon { - display: block; -} - -.is-vertical .wp-block-navigation__container .wp-block-page-list, -.is-open .wp-block-navigation__container .wp-block-page-list { - display: block; -} - -@media (min-width: 480px) { - .is-open .wp-block-navigation__container .wp-block-page-list { - display: flex; - } -} - -.items-justified-space-between .wp-block-page-list { - display: contents; } \ No newline at end of file diff --git a/wp-includes/blocks/page-list/style-rtl.min.css b/wp-includes/blocks/page-list/style-rtl.min.css index d852515661..a6f4713db4 100644 --- a/wp-includes/blocks/page-list/style-rtl.min.css +++ b/wp-includes/blocks/page-list/style-rtl.min.css @@ -1 +1 @@ -.wp-block-navigation .wp-block-page-list{display:flex;flex-wrap:wrap;background-color:inherit}.wp-block-navigation .wp-block-pages-list__item{background-color:inherit}.wp-block-navigation .wp-block-page-list__submenu-icon{display:none}.is-open .wp-block-navigation__container .wp-block-page-list,.is-vertical .wp-block-navigation__container .wp-block-page-list,.wp-block-navigation .show-submenu-icons .wp-block-page-list__submenu-icon{display:block}@media (min-width:480px){.is-open .wp-block-navigation__container .wp-block-page-list{display:flex}}.items-justified-space-between .wp-block-page-list{display:contents} \ No newline at end of file +.wp-block-navigation .wp-block-page-list{display:contents;flex-wrap:wrap;background-color:inherit}.wp-block-navigation .wp-block-navigation-item{background-color:inherit} \ No newline at end of file diff --git a/wp-includes/blocks/page-list/style.css b/wp-includes/blocks/page-list/style.css index 28e7bf08e1..8fc120f98e 100644 --- a/wp-includes/blocks/page-list/style.css +++ b/wp-includes/blocks/page-list/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -69,31 +75,10 @@ * Reset the WP Admin page styles for Gutenberg-like pages. */ .wp-block-navigation .wp-block-page-list { - display: flex; + display: contents; flex-wrap: wrap; background-color: inherit; } -.wp-block-navigation .wp-block-pages-list__item { +.wp-block-navigation .wp-block-navigation-item { background-color: inherit; -} -.wp-block-navigation .wp-block-page-list__submenu-icon { - display: none; -} -.wp-block-navigation .show-submenu-icons .wp-block-page-list__submenu-icon { - display: block; -} - -.is-vertical .wp-block-navigation__container .wp-block-page-list, -.is-open .wp-block-navigation__container .wp-block-page-list { - display: block; -} - -@media (min-width: 480px) { - .is-open .wp-block-navigation__container .wp-block-page-list { - display: flex; - } -} - -.items-justified-space-between .wp-block-page-list { - display: contents; } \ No newline at end of file diff --git a/wp-includes/blocks/page-list/style.min.css b/wp-includes/blocks/page-list/style.min.css index d852515661..a6f4713db4 100644 --- a/wp-includes/blocks/page-list/style.min.css +++ b/wp-includes/blocks/page-list/style.min.css @@ -1 +1 @@ -.wp-block-navigation .wp-block-page-list{display:flex;flex-wrap:wrap;background-color:inherit}.wp-block-navigation .wp-block-pages-list__item{background-color:inherit}.wp-block-navigation .wp-block-page-list__submenu-icon{display:none}.is-open .wp-block-navigation__container .wp-block-page-list,.is-vertical .wp-block-navigation__container .wp-block-page-list,.wp-block-navigation .show-submenu-icons .wp-block-page-list__submenu-icon{display:block}@media (min-width:480px){.is-open .wp-block-navigation__container .wp-block-page-list{display:flex}}.items-justified-space-between .wp-block-page-list{display:contents} \ No newline at end of file +.wp-block-navigation .wp-block-page-list{display:contents;flex-wrap:wrap;background-color:inherit}.wp-block-navigation .wp-block-navigation-item{background-color:inherit} \ No newline at end of file diff --git a/wp-includes/blocks/paragraph/block.json b/wp-includes/blocks/paragraph/block.json index d05e48a7be..80bc900ff4 100644 --- a/wp-includes/blocks/paragraph/block.json +++ b/wp-includes/blocks/paragraph/block.json @@ -37,7 +37,14 @@ }, "typography": { "fontSize": true, - "lineHeight": true + "lineHeight": true, + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalTextTransform": true, + "__experimentalDefaultControls": { + "fontSize": true + } }, "__experimentalSelector": "p", "__unstablePasteTextInline": true diff --git a/wp-includes/blocks/paragraph/editor-rtl.css b/wp-includes/blocks/paragraph/editor-rtl.css index a1e412720e..8d2c4256f5 100644 --- a/wp-includes/blocks/paragraph/editor-rtl.css +++ b/wp-includes/blocks/paragraph/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/paragraph/editor.css b/wp-includes/blocks/paragraph/editor.css index a1e412720e..8d2c4256f5 100644 --- a/wp-includes/blocks/paragraph/editor.css +++ b/wp-includes/blocks/paragraph/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/paragraph/style-rtl.css b/wp-includes/blocks/paragraph/style-rtl.css index 40ebf09790..996d80526e 100644 --- a/wp-includes/blocks/paragraph/style-rtl.css +++ b/wp-includes/blocks/paragraph/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -94,6 +100,10 @@ font-style: normal; } +p { + overflow-wrap: break-word; +} + p.has-drop-cap.has-background { overflow: hidden; } @@ -102,6 +112,6 @@ p.has-background { padding: 1.25em 2.375em; } -p.has-text-color a { +:where(p.has-text-color:not(.has-link-color)) a { color: inherit; } \ No newline at end of file diff --git a/wp-includes/blocks/paragraph/style-rtl.min.css b/wp-includes/blocks/paragraph/style-rtl.min.css index b2f1ea9f51..e7eeca4d12 100644 --- a/wp-includes/blocks/paragraph/style-rtl.min.css +++ b/wp-includes/blocks/paragraph/style-rtl.min.css @@ -1 +1 @@ -.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;line-height:.68;font-weight:100;margin:.05em 0 0 .1em;text-transform:uppercase;font-style:normal}p.has-drop-cap.has-background{overflow:hidden}p.has-background{padding:1.25em 2.375em}p.has-text-color a{color:inherit} \ No newline at end of file +.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;line-height:.68;font-weight:100;margin:.05em 0 0 .1em;text-transform:uppercase;font-style:normal}p{overflow-wrap:break-word}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} \ No newline at end of file diff --git a/wp-includes/blocks/paragraph/style.css b/wp-includes/blocks/paragraph/style.css index 186389c739..fa2da9836c 100644 --- a/wp-includes/blocks/paragraph/style.css +++ b/wp-includes/blocks/paragraph/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -94,6 +100,10 @@ font-style: normal; } +p { + overflow-wrap: break-word; +} + p.has-drop-cap.has-background { overflow: hidden; } @@ -102,6 +112,6 @@ p.has-background { padding: 1.25em 2.375em; } -p.has-text-color a { +:where(p.has-text-color:not(.has-link-color)) a { color: inherit; } \ No newline at end of file diff --git a/wp-includes/blocks/paragraph/style.min.css b/wp-includes/blocks/paragraph/style.min.css index 9e37219dae..17a58c1454 100644 --- a/wp-includes/blocks/paragraph/style.min.css +++ b/wp-includes/blocks/paragraph/style.min.css @@ -1 +1 @@ -.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;line-height:.68;font-weight:100;margin:.05em .1em 0 0;text-transform:uppercase;font-style:normal}p.has-drop-cap.has-background{overflow:hidden}p.has-background{padding:1.25em 2.375em}p.has-text-color a{color:inherit} \ No newline at end of file +.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;line-height:.68;font-weight:100;margin:.05em .1em 0 0;text-transform:uppercase;font-style:normal}p{overflow-wrap:break-word}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} \ No newline at end of file diff --git a/wp-includes/blocks/post-content/editor-rtl.min.css b/wp-includes/blocks/post-content/editor-rtl.min.css deleted file mode 100644 index 73efe29f65..0000000000 --- a/wp-includes/blocks/post-content/editor-rtl.min.css +++ /dev/null @@ -1 +0,0 @@ -.wp-block-post-content__placeholder{height:100px;border:1px dashed;display:flex;justify-content:center;align-items:center}.wp-block-post-content__placeholder span{font-style:italic} \ No newline at end of file diff --git a/wp-includes/blocks/post-content/editor.min.css b/wp-includes/blocks/post-content/editor.min.css deleted file mode 100644 index 73efe29f65..0000000000 --- a/wp-includes/blocks/post-content/editor.min.css +++ /dev/null @@ -1 +0,0 @@ -.wp-block-post-content__placeholder{height:100px;border:1px dashed;display:flex;justify-content:center;align-items:center}.wp-block-post-content__placeholder span{font-style:italic} \ No newline at end of file diff --git a/wp-includes/blocks/query-title/editor-rtl.css b/wp-includes/blocks/post-content/style-rtl.css similarity index 86% rename from wp-includes/blocks/query-title/editor-rtl.css rename to wp-includes/blocks/post-content/style-rtl.css index dac751a3ed..54a619fb45 100644 --- a/wp-includes/blocks/query-title/editor-rtl.css +++ b/wp-includes/blocks/post-content/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,7 +74,6 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block-query-title__placeholder { - padding: 1em 0; - border: 1px dashed; +.wp-block-post-content + * { + clear: both; } \ No newline at end of file diff --git a/wp-includes/blocks/post-content/style-rtl.min.css b/wp-includes/blocks/post-content/style-rtl.min.css new file mode 100644 index 0000000000..24eeeb205c --- /dev/null +++ b/wp-includes/blocks/post-content/style-rtl.min.css @@ -0,0 +1 @@ +.wp-block-post-content+*{clear:both} \ No newline at end of file diff --git a/wp-includes/blocks/tag-cloud/editor-rtl.css b/wp-includes/blocks/post-content/style.css similarity index 86% rename from wp-includes/blocks/tag-cloud/editor-rtl.css rename to wp-includes/blocks/post-content/style.css index 0e9aa94a8f..54a619fb45 100644 --- a/wp-includes/blocks/tag-cloud/editor-rtl.css +++ b/wp-includes/blocks/post-content/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,13 +74,6 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block-tag-cloud a { - display: inline-block; - margin-left: 5px; -} -.wp-block-tag-cloud span { - display: inline-block; - margin-right: 5px; - color: #757575; - text-decoration: none; +.wp-block-post-content + * { + clear: both; } \ No newline at end of file diff --git a/wp-includes/blocks/post-content/style.min.css b/wp-includes/blocks/post-content/style.min.css new file mode 100644 index 0000000000..24eeeb205c --- /dev/null +++ b/wp-includes/blocks/post-content/style.min.css @@ -0,0 +1 @@ +.wp-block-post-content+*{clear:both} \ No newline at end of file diff --git a/wp-includes/blocks/post-date/block.json b/wp-includes/blocks/post-date/block.json index 260e5f1c2a..4698801f06 100644 --- a/wp-includes/blocks/post-date/block.json +++ b/wp-includes/blocks/post-date/block.json @@ -26,7 +26,15 @@ }, "typography": { "fontSize": true, - "lineHeight": true + "lineHeight": true, + "__experimentalFontFamily": true, + "__experimentalFontWeight": true, + "__experimentalFontStyle": true, + "__experimentalTextTransform": true, + "__experimentalLetterSpacing": true, + "__experimentalDefaultControls": { + "fontSize": true + } } } } diff --git a/wp-includes/blocks/post-excerpt.php b/wp-includes/blocks/post-excerpt.php index 03e0acf4fe..cc68b24df9 100644 --- a/wp-includes/blocks/post-excerpt.php +++ b/wp-includes/blocks/post-excerpt.php @@ -18,6 +18,12 @@ function render_block_core_post_excerpt( $attributes, $content, $block ) { return ''; } + $excerpt = get_the_excerpt( $block->context['postId'] ); + + if ( empty( $excerpt ) ) { + return ''; + } + $more_text = ! empty( $attributes['moreText'] ) ? '' . $attributes['moreText'] . '' : ''; $filter_excerpt_more = function( $more ) use ( $more_text ) { return empty( $more_text ) ? $more : ''; @@ -38,7 +44,7 @@ function render_block_core_post_excerpt( $attributes, $content, $block ) { } $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $classes ) ); - $content = '

    ' . get_the_excerpt( $block->context['postId'] ); + $content = '

    ' . $excerpt; $show_more_on_new_line = ! isset( $attributes['showMoreOnNewLine'] ) || $attributes['showMoreOnNewLine']; if ( $show_more_on_new_line && ! empty( $more_text ) ) { $content .= '

    ' . $more_text . '

    '; diff --git a/wp-includes/blocks/post-excerpt/block.json b/wp-includes/blocks/post-excerpt/block.json index a066c4250a..c3b15ad5ec 100644 --- a/wp-includes/blocks/post-excerpt/block.json +++ b/wp-includes/blocks/post-excerpt/block.json @@ -24,9 +24,20 @@ "gradients": true, "link": true }, + "spacing": { + "margin": true, + "padding": true + }, "typography": { "fontSize": true, - "lineHeight": true + "lineHeight": true, + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalTextTransform": true, + "__experimentalDefaultControls": { + "fontSize": true + } } }, "editorStyle": "wp-block-post-excerpt-editor", diff --git a/wp-includes/blocks/post-excerpt/editor-rtl.css b/wp-includes/blocks/post-excerpt/editor-rtl.css index 28f41d62c1..97cb2491d6 100644 --- a/wp-includes/blocks/post-excerpt/editor-rtl.css +++ b/wp-includes/blocks/post-excerpt/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/post-excerpt/editor.css b/wp-includes/blocks/post-excerpt/editor.css index 28f41d62c1..97cb2491d6 100644 --- a/wp-includes/blocks/post-excerpt/editor.css +++ b/wp-includes/blocks/post-excerpt/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/post-excerpt/style-rtl.css b/wp-includes/blocks/post-excerpt/style-rtl.css index 25b871b94e..e54be1c0cf 100644 --- a/wp-includes/blocks/post-excerpt/style-rtl.css +++ b/wp-includes/blocks/post-excerpt/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/post-excerpt/style.css b/wp-includes/blocks/post-excerpt/style.css index 25b871b94e..e54be1c0cf 100644 --- a/wp-includes/blocks/post-excerpt/style.css +++ b/wp-includes/blocks/post-excerpt/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/post-featured-image.php b/wp-includes/blocks/post-featured-image.php index 8497a0569a..21e6aca445 100644 --- a/wp-includes/blocks/post-featured-image.php +++ b/wp-includes/blocks/post-featured-image.php @@ -23,14 +23,30 @@ function render_block_core_post_featured_image( $attributes, $content, $block ) if ( ! $featured_image ) { return ''; } - + $wrapper_attributes = get_block_wrapper_attributes(); if ( isset( $attributes['isLink'] ) && $attributes['isLink'] ) { $featured_image = sprintf( '%2s', get_the_permalink( $post_ID ), $featured_image ); } - $wrapper_attributes = get_block_wrapper_attributes(); + $has_width = ! empty( $attributes['width'] ); + $has_height = ! empty( $attributes['height'] ); + if ( ! $has_height && ! $has_width ) { + return "
    $featured_image
    "; + } - return '
    ' . $featured_image . '
    '; + if ( $has_width ) { + $wrapper_attributes = get_block_wrapper_attributes( array( 'style' => "width:{$attributes['width']};" ) ); + } + + if ( $has_height ) { + $image_styles = "height:{$attributes['height']};"; + if ( ! empty( $attributes['scale'] ) ) { + $image_styles .= "object-fit:{$attributes['scale']};"; + } + $featured_image = str_replace( 'src=', "style='$image_styles' src=", $featured_image ); + } + + return "
    $featured_image
    "; } /** diff --git a/wp-includes/blocks/post-featured-image/block.json b/wp-includes/blocks/post-featured-image/block.json index a5ab8d6cfd..49116ef908 100644 --- a/wp-includes/blocks/post-featured-image/block.json +++ b/wp-includes/blocks/post-featured-image/block.json @@ -9,12 +9,31 @@ "isLink": { "type": "boolean", "default": false + }, + "width": { + "type": "string" + }, + "height": { + "type": "string" + }, + "scale": { + "type": "string", + "default": "cover" } }, "usesContext": [ "postId", "postType", "queryId" ], "supports": { "align": [ "left", "right", "center", "wide", "full" ], - "html": false + "color": { + "__experimentalDuotone": "img", + "text": false, + "background": false + }, + "html": false, + "spacing": { + "margin": true, + "padding": true + } }, "editorStyle": "wp-block-post-featured-image-editor", "style": "wp-block-post-featured-image" diff --git a/wp-includes/blocks/post-featured-image/editor-rtl.css b/wp-includes/blocks/post-featured-image/editor-rtl.css index fad6ecb51a..3e06bd106f 100644 --- a/wp-includes/blocks/post-featured-image/editor-rtl.css +++ b/wp-includes/blocks/post-featured-image/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -77,7 +83,7 @@ div[data-type="core/post-featured-image"] img { .editor-styles-wrapper .post-featured-image_placeholder { display: flex; flex-direction: row; - align-items: flex-start; + align-items: center; border-radius: 2px; background-color: #fff; box-shadow: inset 0 0 0 1px #1e1e1e; @@ -90,4 +96,11 @@ div[data-type="core/post-featured-image"] img { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 13px; margin: 0; +} + +.block-library-post-featured-image-dimension-controls { + margin-bottom: 8px; +} +.block-library-post-featured-image-dimension-controls.scale-control-is-visible { + margin-bottom: 16px; } \ No newline at end of file diff --git a/wp-includes/blocks/post-featured-image/editor-rtl.min.css b/wp-includes/blocks/post-featured-image/editor-rtl.min.css index 9436b852df..72d11108ec 100644 --- a/wp-includes/blocks/post-featured-image/editor-rtl.min.css +++ b/wp-includes/blocks/post-featured-image/editor-rtl.min.css @@ -1 +1 @@ -div[data-type="core/post-featured-image"] img{max-width:100%;height:auto;display:block}.editor-styles-wrapper .post-featured-image_placeholder{display:flex;flex-direction:row;align-items:flex-start;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;padding:12px}.editor-styles-wrapper .post-featured-image_placeholder svg{margin-left:12px}.editor-styles-wrapper .post-featured-image_placeholder p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;margin:0} \ No newline at end of file +div[data-type="core/post-featured-image"] img{max-width:100%;height:auto;display:block}.editor-styles-wrapper .post-featured-image_placeholder{display:flex;flex-direction:row;align-items:center;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;padding:12px}.editor-styles-wrapper .post-featured-image_placeholder svg{margin-left:12px}.editor-styles-wrapper .post-featured-image_placeholder p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;margin:0}.block-library-post-featured-image-dimension-controls{margin-bottom:8px}.block-library-post-featured-image-dimension-controls.scale-control-is-visible{margin-bottom:16px} \ No newline at end of file diff --git a/wp-includes/blocks/post-featured-image/editor.css b/wp-includes/blocks/post-featured-image/editor.css index e309eed819..d3a9cc847e 100644 --- a/wp-includes/blocks/post-featured-image/editor.css +++ b/wp-includes/blocks/post-featured-image/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -77,7 +83,7 @@ div[data-type="core/post-featured-image"] img { .editor-styles-wrapper .post-featured-image_placeholder { display: flex; flex-direction: row; - align-items: flex-start; + align-items: center; border-radius: 2px; background-color: #fff; box-shadow: inset 0 0 0 1px #1e1e1e; @@ -90,4 +96,11 @@ div[data-type="core/post-featured-image"] img { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 13px; margin: 0; +} + +.block-library-post-featured-image-dimension-controls { + margin-bottom: 8px; +} +.block-library-post-featured-image-dimension-controls.scale-control-is-visible { + margin-bottom: 16px; } \ No newline at end of file diff --git a/wp-includes/blocks/post-featured-image/editor.min.css b/wp-includes/blocks/post-featured-image/editor.min.css index c856122aa8..c58037535b 100644 --- a/wp-includes/blocks/post-featured-image/editor.min.css +++ b/wp-includes/blocks/post-featured-image/editor.min.css @@ -1 +1 @@ -div[data-type="core/post-featured-image"] img{max-width:100%;height:auto;display:block}.editor-styles-wrapper .post-featured-image_placeholder{display:flex;flex-direction:row;align-items:flex-start;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;padding:12px}.editor-styles-wrapper .post-featured-image_placeholder svg{margin-right:12px}.editor-styles-wrapper .post-featured-image_placeholder p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;margin:0} \ No newline at end of file +div[data-type="core/post-featured-image"] img{max-width:100%;height:auto;display:block}.editor-styles-wrapper .post-featured-image_placeholder{display:flex;flex-direction:row;align-items:center;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;padding:12px}.editor-styles-wrapper .post-featured-image_placeholder svg{margin-right:12px}.editor-styles-wrapper .post-featured-image_placeholder p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;margin:0}.block-library-post-featured-image-dimension-controls{margin-bottom:8px}.block-library-post-featured-image-dimension-controls.scale-control-is-visible{margin-bottom:16px} \ No newline at end of file diff --git a/wp-includes/blocks/post-featured-image/style-rtl.css b/wp-includes/blocks/post-featured-image/style-rtl.css index 24776d1f17..378eeaec87 100644 --- a/wp-includes/blocks/post-featured-image/style-rtl.css +++ b/wp-includes/blocks/post-featured-image/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -77,7 +83,9 @@ } .wp-block-post-featured-image img { max-width: 100%; + width: 100%; height: auto; + vertical-align: bottom; } .wp-block-post-featured-image.alignwide img, .wp-block-post-featured-image.alignfull img { width: 100%; diff --git a/wp-includes/blocks/post-featured-image/style-rtl.min.css b/wp-includes/blocks/post-featured-image/style-rtl.min.css index e15dd96bb8..b4f3741ffb 100644 --- a/wp-includes/blocks/post-featured-image/style-rtl.min.css +++ b/wp-includes/blocks/post-featured-image/style-rtl.min.css @@ -1 +1 @@ -.wp-block-post-featured-image{margin-right:0;margin-left:0}.wp-block-post-featured-image a{display:inline-block}.wp-block-post-featured-image img{max-width:100%;height:auto}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%} \ No newline at end of file +.wp-block-post-featured-image{margin-right:0;margin-left:0}.wp-block-post-featured-image a{display:inline-block}.wp-block-post-featured-image img{max-width:100%;width:100%;height:auto;vertical-align:bottom}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%} \ No newline at end of file diff --git a/wp-includes/blocks/post-featured-image/style.css b/wp-includes/blocks/post-featured-image/style.css index bdff80d2cb..52f9111e19 100644 --- a/wp-includes/blocks/post-featured-image/style.css +++ b/wp-includes/blocks/post-featured-image/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -77,7 +83,9 @@ } .wp-block-post-featured-image img { max-width: 100%; + width: 100%; height: auto; + vertical-align: bottom; } .wp-block-post-featured-image.alignwide img, .wp-block-post-featured-image.alignfull img { width: 100%; diff --git a/wp-includes/blocks/post-featured-image/style.min.css b/wp-includes/blocks/post-featured-image/style.min.css index 692219c624..78fab265e3 100644 --- a/wp-includes/blocks/post-featured-image/style.min.css +++ b/wp-includes/blocks/post-featured-image/style.min.css @@ -1 +1 @@ -.wp-block-post-featured-image{margin-left:0;margin-right:0}.wp-block-post-featured-image a{display:inline-block}.wp-block-post-featured-image img{max-width:100%;height:auto}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%} \ No newline at end of file +.wp-block-post-featured-image{margin-left:0;margin-right:0}.wp-block-post-featured-image a{display:inline-block}.wp-block-post-featured-image img{max-width:100%;width:100%;height:auto;vertical-align:bottom}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%} \ No newline at end of file diff --git a/wp-includes/blocks/post-template.php b/wp-includes/blocks/post-template.php index 3daacbad7f..45bf3c4c64 100644 --- a/wp-includes/blocks/post-template.php +++ b/wp-includes/blocks/post-template.php @@ -61,7 +61,8 @@ function render_block_core_post_template( $attributes, $content, $block ) { ) ) )->render( array( 'dynamic' => false ) ); - $content .= "
  • {$block_content}
  • "; + $post_classes = esc_attr( implode( ' ', get_post_class( 'wp-block-post' ) ) ); + $content .= '
  • ' . $block_content . '
  • '; } wp_reset_postdata(); diff --git a/wp-includes/blocks/post-template/block.json b/wp-includes/blocks/post-template/block.json index 7ac5910941..2e0959d04b 100644 --- a/wp-includes/blocks/post-template/block.json +++ b/wp-includes/blocks/post-template/block.json @@ -16,7 +16,10 @@ "supports": { "reusable": false, "html": false, - "align": true + "align": true, + "__experimentalLayout": { + "allowEditing": false + } }, "style": "wp-block-post-template", "editorStyle": "wp-block-post-template-editor" diff --git a/wp-includes/blocks/post-template/editor-rtl.css b/wp-includes/blocks/post-template/editor-rtl.css index b9b845e299..84dad96c63 100644 --- a/wp-includes/blocks/post-template/editor-rtl.css +++ b/wp-includes/blocks/post-template/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/post-template/editor.css b/wp-includes/blocks/post-template/editor.css index d445d247f5..664bffd897 100644 --- a/wp-includes/blocks/post-template/editor.css +++ b/wp-includes/blocks/post-template/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/post-template/style-rtl.css b/wp-includes/blocks/post-template/style-rtl.css index 05de49fb9b..f365bdc865 100644 --- a/wp-includes/blocks/post-template/style-rtl.css +++ b/wp-includes/blocks/post-template/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,6 +76,8 @@ */ .wp-block-post-template, .wp-block-query-loop { + margin-top: 0; + margin-bottom: 0; max-width: 100%; list-style: none; padding: 0; diff --git a/wp-includes/blocks/post-template/style-rtl.min.css b/wp-includes/blocks/post-template/style-rtl.min.css index ba9853ab19..1e97f8cc65 100644 --- a/wp-includes/blocks/post-template/style-rtl.min.css +++ b/wp-includes/blocks/post-template/style-rtl.min.css @@ -1 +1 @@ -.wp-block-post-template,.wp-block-query-loop{max-width:100%;list-style:none;padding:0}.wp-block-post-template li,.wp-block-query-loop li{clear:both}.wp-block-post-template.is-flex-container,.wp-block-query-loop.is-flex-container{flex-direction:row;display:flex;flex-wrap:wrap}.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin:0 0 1.25em;width:100%}@media (min-width:600px){.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin-left:1.25em}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li{width:calc(50% - .625em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li:nth-child(2n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li:nth-child(2n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li,.wp-block-query-loop.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-3>li:nth-child(3n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-3>li:nth-child(3n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li{width:calc(25% - .9375em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li:nth-child(4n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li:nth-child(4n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li{width:calc(20% - 1em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li:nth-child(5n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li:nth-child(5n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li{width:calc(16.66667% - 1.04167em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li:nth-child(6n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li:nth-child(6n){margin-left:0}} \ No newline at end of file +.wp-block-post-template,.wp-block-query-loop{margin-top:0;margin-bottom:0;max-width:100%;list-style:none;padding:0}.wp-block-post-template li,.wp-block-query-loop li{clear:both}.wp-block-post-template.is-flex-container,.wp-block-query-loop.is-flex-container{flex-direction:row;display:flex;flex-wrap:wrap}.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin:0 0 1.25em;width:100%}@media (min-width:600px){.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin-left:1.25em}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li{width:calc(50% - .625em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li:nth-child(2n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li:nth-child(2n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li,.wp-block-query-loop.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-3>li:nth-child(3n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-3>li:nth-child(3n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li{width:calc(25% - .9375em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li:nth-child(4n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li:nth-child(4n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li{width:calc(20% - 1em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li:nth-child(5n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li:nth-child(5n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li{width:calc(16.66667% - 1.04167em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li:nth-child(6n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li:nth-child(6n){margin-left:0}} \ No newline at end of file diff --git a/wp-includes/blocks/post-template/style.css b/wp-includes/blocks/post-template/style.css index 71e7b7bcb5..e749a2ad81 100644 --- a/wp-includes/blocks/post-template/style.css +++ b/wp-includes/blocks/post-template/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,6 +76,8 @@ */ .wp-block-post-template, .wp-block-query-loop { + margin-top: 0; + margin-bottom: 0; max-width: 100%; list-style: none; padding: 0; diff --git a/wp-includes/blocks/post-template/style.min.css b/wp-includes/blocks/post-template/style.min.css index 765e5a6686..f0bd628cbb 100644 --- a/wp-includes/blocks/post-template/style.min.css +++ b/wp-includes/blocks/post-template/style.min.css @@ -1 +1 @@ -.wp-block-post-template,.wp-block-query-loop{max-width:100%;list-style:none;padding:0}.wp-block-post-template li,.wp-block-query-loop li{clear:both}.wp-block-post-template.is-flex-container,.wp-block-query-loop.is-flex-container{flex-direction:row;display:flex;flex-wrap:wrap}.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin:0 0 1.25em;width:100%}@media (min-width:600px){.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin-right:1.25em}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li{width:calc(50% - .625em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li:nth-child(2n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li:nth-child(2n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li,.wp-block-query-loop.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-3>li:nth-child(3n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-3>li:nth-child(3n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li{width:calc(25% - .9375em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li:nth-child(4n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li:nth-child(4n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li{width:calc(20% - 1em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li:nth-child(5n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li:nth-child(5n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li{width:calc(16.66667% - 1.04167em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li:nth-child(6n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li:nth-child(6n){margin-right:0}} \ No newline at end of file +.wp-block-post-template,.wp-block-query-loop{margin-top:0;margin-bottom:0;max-width:100%;list-style:none;padding:0}.wp-block-post-template li,.wp-block-query-loop li{clear:both}.wp-block-post-template.is-flex-container,.wp-block-query-loop.is-flex-container{flex-direction:row;display:flex;flex-wrap:wrap}.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin:0 0 1.25em;width:100%}@media (min-width:600px){.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin-right:1.25em}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li{width:calc(50% - .625em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li:nth-child(2n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li:nth-child(2n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li,.wp-block-query-loop.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-3>li:nth-child(3n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-3>li:nth-child(3n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li{width:calc(25% - .9375em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li:nth-child(4n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li:nth-child(4n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li{width:calc(20% - 1em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li:nth-child(5n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li:nth-child(5n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li{width:calc(16.66667% - 1.04167em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li:nth-child(6n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li:nth-child(6n){margin-right:0}} \ No newline at end of file diff --git a/wp-includes/blocks/post-terms.php b/wp-includes/blocks/post-terms.php index d82395b549..2573c4f0fb 100644 --- a/wp-includes/blocks/post-terms.php +++ b/wp-includes/blocks/post-terms.php @@ -23,30 +23,25 @@ function render_block_core_post_terms( $attributes, $content, $block ) { } $post_terms = get_the_terms( $block->context['postId'], $attributes['term'] ); - if ( is_wp_error( $post_terms ) ) { - return ''; - } - if ( empty( $post_terms ) ) { + if ( is_wp_error( $post_terms ) || empty( $post_terms ) ) { return ''; } - $align_class_name = empty( $attributes['textAlign'] ) ? '' : ' ' . "has-text-align-{$attributes['textAlign']}"; - - $terms_links = ''; - foreach ( $post_terms as $term ) { - $terms_links .= sprintf( - '%2$s | ', - get_term_link( $term->term_id ), - esc_html( $term->name ) - ); + $classes = 'taxonomy-' . $attributes['term']; + if ( isset( $attributes['textAlign'] ) ) { + $classes .= ' has-text-align-' . $attributes['textAlign']; } - $terms_links = trim( $terms_links, ' | ' ); - $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $align_class_name ) ); - return sprintf( - '
    %2$s
    ', - $wrapper_attributes, - $terms_links + $separator = empty( $attributes['separator'] ) ? ' ' : $attributes['separator']; + + $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $classes ) ); + + return get_the_term_list( + $block->context['postId'], + $attributes['term'], + "
    ", + '' . $separator . '', + '
    ' ); } diff --git a/wp-includes/blocks/post-terms/block.json b/wp-includes/blocks/post-terms/block.json index 1f9f61738e..08820d0c55 100644 --- a/wp-includes/blocks/post-terms/block.json +++ b/wp-includes/blocks/post-terms/block.json @@ -11,6 +11,10 @@ }, "textAlign": { "type": "string" + }, + "separator": { + "type": "string", + "default": ", " } }, "usesContext": [ "postId", "postType" ], @@ -22,7 +26,15 @@ }, "typography": { "lineHeight": true, - "fontSize": true + "fontSize": true, + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalTextTransform": true, + "__experimentalDefaultControls": { + "fontSize": true + } } - } + }, + "style": "wp-block-post-terms" } diff --git a/wp-includes/blocks/post-content/editor.css b/wp-includes/blocks/post-terms/style-rtl.css similarity index 85% rename from wp-includes/blocks/post-content/editor.css rename to wp-includes/blocks/post-terms/style-rtl.css index bd03b9010b..68b8e2c4bb 100644 --- a/wp-includes/blocks/post-content/editor.css +++ b/wp-includes/blocks/post-terms/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,13 +74,6 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block-post-content__placeholder { - height: 100px; - border: 1px dashed; - display: flex; - justify-content: center; - align-items: center; -} -.wp-block-post-content__placeholder span { - font-style: italic; +.wp-block-post-terms__separator { + white-space: pre-wrap; } \ No newline at end of file diff --git a/wp-includes/blocks/post-terms/style-rtl.min.css b/wp-includes/blocks/post-terms/style-rtl.min.css new file mode 100644 index 0000000000..d5cd05fd55 --- /dev/null +++ b/wp-includes/blocks/post-terms/style-rtl.min.css @@ -0,0 +1 @@ +.wp-block-post-terms__separator{white-space:pre-wrap} \ No newline at end of file diff --git a/wp-includes/blocks/post-terms/style.css b/wp-includes/blocks/post-terms/style.css new file mode 100644 index 0000000000..68b8e2c4bb --- /dev/null +++ b/wp-includes/blocks/post-terms/style.css @@ -0,0 +1,79 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-post-terms__separator { + white-space: pre-wrap; +} \ No newline at end of file diff --git a/wp-includes/blocks/post-terms/style.min.css b/wp-includes/blocks/post-terms/style.min.css new file mode 100644 index 0000000000..d5cd05fd55 --- /dev/null +++ b/wp-includes/blocks/post-terms/style.min.css @@ -0,0 +1 @@ +.wp-block-post-terms__separator{white-space:pre-wrap} \ No newline at end of file diff --git a/wp-includes/blocks/post-title.php b/wp-includes/blocks/post-title.php index 798278b556..61618939ce 100644 --- a/wp-includes/blocks/post-title.php +++ b/wp-includes/blocks/post-title.php @@ -19,7 +19,13 @@ function render_block_core_post_title( $attributes, $content, $block ) { return ''; } - $post_ID = $block->context['postId']; + $post_ID = $block->context['postId']; + $title = get_the_title( $post_ID ); + + if ( ! $title ) { + return ''; + } + $tag_name = 'h2'; $align_class_name = empty( $attributes['textAlign'] ) ? '' : "has-text-align-{$attributes['textAlign']}"; @@ -27,9 +33,8 @@ function render_block_core_post_title( $attributes, $content, $block ) { $tag_name = 0 === $attributes['level'] ? 'p' : 'h' . $attributes['level']; } - $title = get_the_title( $post_ID ); if ( isset( $attributes['isLink'] ) && $attributes['isLink'] ) { - $title = sprintf( '%4s', get_the_permalink( $post_ID ), $attributes['linkTarget'], $attributes['rel'], $title ); + $title = sprintf( '%4$s', get_the_permalink( $post_ID ), $attributes['linkTarget'], $attributes['rel'], $title ); } $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $align_class_name ) ); diff --git a/wp-includes/blocks/post-title/block.json b/wp-includes/blocks/post-title/block.json index b20985442e..ce0b04384b 100644 --- a/wp-includes/blocks/post-title/block.json +++ b/wp-includes/blocks/post-title/block.json @@ -35,10 +35,22 @@ "gradients": true, "link": true }, + "spacing": { + "margin": true + }, "typography": { "fontSize": true, "lineHeight": true, - "__experimentalFontFamily": true + "__experimentalFontFamily": true, + "__experimentalFontWeight": true, + "__experimentalFontStyle": true, + "__experimentalTextTransform": true, + "__experimentalLetterSpacing": true, + "__experimentalDefaultControls": { + "fontSize": true, + "fontAppearance": true, + "textTransform": true + } } }, "style": "wp-block-post-title" diff --git a/wp-includes/blocks/post-title/style-rtl.css b/wp-includes/blocks/post-title/style-rtl.css index 406cbe4488..385d1d115e 100644 --- a/wp-includes/blocks/post-title/style-rtl.css +++ b/wp-includes/blocks/post-title/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/post-title/style.css b/wp-includes/blocks/post-title/style.css index 406cbe4488..385d1d115e 100644 --- a/wp-includes/blocks/post-title/style.css +++ b/wp-includes/blocks/post-title/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/preformatted/block.json b/wp-includes/blocks/preformatted/block.json index 6deb40540b..53e32bdf5d 100644 --- a/wp-includes/blocks/preformatted/block.json +++ b/wp-includes/blocks/preformatted/block.json @@ -21,7 +21,15 @@ "gradients": true }, "typography": { - "fontSize": true + "fontSize": true, + "lineHeight": true, + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalTextTransform": true, + "__experimentalDefaultControls": { + "fontSize": true + } } }, "style": "wp-block-preformatted" diff --git a/wp-includes/blocks/preformatted/style-rtl.css b/wp-includes/blocks/preformatted/style-rtl.css index aa6e35b7e7..a661929b06 100644 --- a/wp-includes/blocks/preformatted/style-rtl.css +++ b/wp-includes/blocks/preformatted/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/preformatted/style.css b/wp-includes/blocks/preformatted/style.css index aa6e35b7e7..a661929b06 100644 --- a/wp-includes/blocks/preformatted/style.css +++ b/wp-includes/blocks/preformatted/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/pullquote/block.json b/wp-includes/blocks/pullquote/block.json index 1237a506ad..3411ce072e 100644 --- a/wp-includes/blocks/pullquote/block.json +++ b/wp-includes/blocks/pullquote/block.json @@ -20,31 +20,37 @@ "default": "", "__experimentalRole": "content" }, - "mainColor": { - "type": "string" - }, - "customMainColor": { - "type": "string" - }, - "textColor": { - "type": "string" - }, - "customTextColor": { + "textAlign": { "type": "string" } }, "supports": { "anchor": true, - "align": [ "left", "right", "wide", "full" ] - }, - "styles": [ - { - "name": "default", - "label": "Default", - "isDefault": true + "align": [ "left", "right", "wide", "full" ], + "color": { + "gradients": true, + "background": true, + "link": true }, - { "name": "solid-color", "label": "Solid color" } - ], + "typography": { + "fontSize": true, + "lineHeight": true, + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalTextTransform": true, + "__experimentalDefaultControls": { + "fontSize": true, + "fontAppearance": true + } + }, + "__experimentalBorder": { + "color": true, + "radius": true, + "style": true, + "width": true + } + }, "editorStyle": "wp-block-pullquote-editor", "style": "wp-block-pullquote" } diff --git a/wp-includes/blocks/pullquote/editor-rtl.css b/wp-includes/blocks/pullquote/editor-rtl.css index c639794e0a..d02c6e48c4 100644 --- a/wp-includes/blocks/pullquote/editor-rtl.css +++ b/wp-includes/blocks/pullquote/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,6 +74,8 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ +.wp-block-pullquote.has-text-align-left p, +.wp-block-pullquote.has-text-align-right p, .wp-block[data-align=left] > .wp-block-pullquote p, .wp-block[data-align=right] > .wp-block-pullquote p { font-size: 20px; diff --git a/wp-includes/blocks/pullquote/editor-rtl.min.css b/wp-includes/blocks/pullquote/editor-rtl.min.css index 18c410bbe7..310db7609a 100644 --- a/wp-includes/blocks/pullquote/editor-rtl.min.css +++ b/wp-includes/blocks/pullquote/editor-rtl.min.css @@ -1 +1 @@ -.wp-block[data-align=left]>.wp-block-pullquote p,.wp-block[data-align=right]>.wp-block-pullquote p{font-size:20px}.wp-block-pullquote blockquote p{font-size:28px;line-height:1.6}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:32px}.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{text-transform:none;font-style:normal}.wp-block-pullquote .wp-block-pullquote__citation{color:inherit} \ No newline at end of file +.wp-block-pullquote.has-text-align-left p,.wp-block-pullquote.has-text-align-right p,.wp-block[data-align=left]>.wp-block-pullquote p,.wp-block[data-align=right]>.wp-block-pullquote p{font-size:20px}.wp-block-pullquote blockquote p{font-size:28px;line-height:1.6}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:32px}.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{text-transform:none;font-style:normal}.wp-block-pullquote .wp-block-pullquote__citation{color:inherit} \ No newline at end of file diff --git a/wp-includes/blocks/pullquote/editor.css b/wp-includes/blocks/pullquote/editor.css index c639794e0a..d02c6e48c4 100644 --- a/wp-includes/blocks/pullquote/editor.css +++ b/wp-includes/blocks/pullquote/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,6 +74,8 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ +.wp-block-pullquote.has-text-align-left p, +.wp-block-pullquote.has-text-align-right p, .wp-block[data-align=left] > .wp-block-pullquote p, .wp-block[data-align=right] > .wp-block-pullquote p { font-size: 20px; diff --git a/wp-includes/blocks/pullquote/editor.min.css b/wp-includes/blocks/pullquote/editor.min.css index 18c410bbe7..310db7609a 100644 --- a/wp-includes/blocks/pullquote/editor.min.css +++ b/wp-includes/blocks/pullquote/editor.min.css @@ -1 +1 @@ -.wp-block[data-align=left]>.wp-block-pullquote p,.wp-block[data-align=right]>.wp-block-pullquote p{font-size:20px}.wp-block-pullquote blockquote p{font-size:28px;line-height:1.6}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:32px}.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{text-transform:none;font-style:normal}.wp-block-pullquote .wp-block-pullquote__citation{color:inherit} \ No newline at end of file +.wp-block-pullquote.has-text-align-left p,.wp-block-pullquote.has-text-align-right p,.wp-block[data-align=left]>.wp-block-pullquote p,.wp-block[data-align=right]>.wp-block-pullquote p{font-size:20px}.wp-block-pullquote blockquote p{font-size:28px;line-height:1.6}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:32px}.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{text-transform:none;font-style:normal}.wp-block-pullquote .wp-block-pullquote__citation{color:inherit} \ No newline at end of file diff --git a/wp-includes/blocks/pullquote/style-rtl.css b/wp-includes/blocks/pullquote/style-rtl.css index 8830abff60..6a1bd4d60b 100644 --- a/wp-includes/blocks/pullquote/style-rtl.css +++ b/wp-includes/blocks/pullquote/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -72,11 +78,17 @@ margin: 0 0 1em 0; padding: 3em 0; text-align: center; + overflow-wrap: break-word; } -.wp-block-pullquote.alignleft, .wp-block-pullquote.alignright { +.wp-block-pullquote p, +.wp-block-pullquote blockquote, +.wp-block-pullquote cite { + color: inherit; +} +.wp-block-pullquote.has-text-align-left, .wp-block-pullquote.has-text-align-right, .wp-block-pullquote.alignleft, .wp-block-pullquote.alignright { max-width: 420px; } -.wp-block-pullquote.alignleft p, .wp-block-pullquote.alignright p { +.wp-block-pullquote.has-text-align-left p, .wp-block-pullquote.has-text-align-right p, .wp-block-pullquote.alignleft p, .wp-block-pullquote.alignright p { font-size: 1.25em; } .wp-block-pullquote p { @@ -91,6 +103,14 @@ color: inherit; } +.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:not(.is-style-solid-color) { background: none; } @@ -101,7 +121,6 @@ .wp-block-pullquote.is-style-solid-color blockquote { margin-right: auto; margin-left: auto; - text-align: right; max-width: 60%; } .wp-block-pullquote.is-style-solid-color blockquote p { diff --git a/wp-includes/blocks/pullquote/style-rtl.min.css b/wp-includes/blocks/pullquote/style-rtl.min.css index 77ee949519..b8341cbdad 100644 --- a/wp-includes/blocks/pullquote/style-rtl.min.css +++ b/wp-includes/blocks/pullquote/style-rtl.min.css @@ -1 +1 @@ -.wp-block-pullquote{margin:0 0 1em;padding:3em 0;text-align:center}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{max-width:420px}.wp-block-pullquote.alignleft p,.wp-block-pullquote.alignright p{font-size:1.25em}.wp-block-pullquote p{font-size:1.75em;line-height:1.6}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}.wp-block-pullquote:not(.is-style-solid-color){background:none}.wp-block-pullquote.is-style-solid-color{border:none}.wp-block-pullquote.is-style-solid-color blockquote{margin-right:auto;margin-left:auto;text-align:right;max-width:60%}.wp-block-pullquote.is-style-solid-color blockquote p{margin-top:0;margin-bottom:0;font-size:2em}.wp-block-pullquote.is-style-solid-color blockquote cite{text-transform:none;font-style:normal}.wp-block-pullquote cite{color:inherit} \ No newline at end of file +.wp-block-pullquote{margin:0 0 1em;padding:3em 0;text-align:center;overflow-wrap:break-word}.wp-block-pullquote blockquote,.wp-block-pullquote cite,.wp-block-pullquote p{color:inherit}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright,.wp-block-pullquote.has-text-align-left,.wp-block-pullquote.has-text-align-right{max-width:420px}.wp-block-pullquote.alignleft p,.wp-block-pullquote.alignright p,.wp-block-pullquote.has-text-align-left p,.wp-block-pullquote.has-text-align-right p{font-size:1.25em}.wp-block-pullquote p{font-size:1.75em;line-height:1.6}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}.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:not(.is-style-solid-color){background:none}.wp-block-pullquote.is-style-solid-color{border:none}.wp-block-pullquote.is-style-solid-color blockquote{margin-right:auto;margin-left:auto;max-width:60%}.wp-block-pullquote.is-style-solid-color blockquote p{margin-top:0;margin-bottom:0;font-size:2em}.wp-block-pullquote.is-style-solid-color blockquote cite{text-transform:none;font-style:normal}.wp-block-pullquote cite{color:inherit} \ No newline at end of file diff --git a/wp-includes/blocks/pullquote/style.css b/wp-includes/blocks/pullquote/style.css index ce21ca75ff..ca52f5a36d 100644 --- a/wp-includes/blocks/pullquote/style.css +++ b/wp-includes/blocks/pullquote/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -72,11 +78,17 @@ margin: 0 0 1em 0; padding: 3em 0; text-align: center; + overflow-wrap: break-word; } -.wp-block-pullquote.alignleft, .wp-block-pullquote.alignright { +.wp-block-pullquote p, +.wp-block-pullquote blockquote, +.wp-block-pullquote cite { + color: inherit; +} +.wp-block-pullquote.has-text-align-left, .wp-block-pullquote.has-text-align-right, .wp-block-pullquote.alignleft, .wp-block-pullquote.alignright { max-width: 420px; } -.wp-block-pullquote.alignleft p, .wp-block-pullquote.alignright p { +.wp-block-pullquote.has-text-align-left p, .wp-block-pullquote.has-text-align-right p, .wp-block-pullquote.alignleft p, .wp-block-pullquote.alignright p { font-size: 1.25em; } .wp-block-pullquote p { @@ -91,6 +103,14 @@ color: inherit; } +.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:not(.is-style-solid-color) { background: none; } @@ -101,7 +121,6 @@ .wp-block-pullquote.is-style-solid-color blockquote { margin-left: auto; margin-right: auto; - text-align: left; max-width: 60%; } .wp-block-pullquote.is-style-solid-color blockquote p { diff --git a/wp-includes/blocks/pullquote/style.min.css b/wp-includes/blocks/pullquote/style.min.css index 2d7a31d975..db3da3c5d6 100644 --- a/wp-includes/blocks/pullquote/style.min.css +++ b/wp-includes/blocks/pullquote/style.min.css @@ -1 +1 @@ -.wp-block-pullquote{margin:0 0 1em;padding:3em 0;text-align:center}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{max-width:420px}.wp-block-pullquote.alignleft p,.wp-block-pullquote.alignright p{font-size:1.25em}.wp-block-pullquote p{font-size:1.75em;line-height:1.6}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}.wp-block-pullquote:not(.is-style-solid-color){background:none}.wp-block-pullquote.is-style-solid-color{border:none}.wp-block-pullquote.is-style-solid-color blockquote{margin-left:auto;margin-right:auto;text-align:left;max-width:60%}.wp-block-pullquote.is-style-solid-color blockquote p{margin-top:0;margin-bottom:0;font-size:2em}.wp-block-pullquote.is-style-solid-color blockquote cite{text-transform:none;font-style:normal}.wp-block-pullquote cite{color:inherit} \ No newline at end of file +.wp-block-pullquote{margin:0 0 1em;padding:3em 0;text-align:center;overflow-wrap:break-word}.wp-block-pullquote blockquote,.wp-block-pullquote cite,.wp-block-pullquote p{color:inherit}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright,.wp-block-pullquote.has-text-align-left,.wp-block-pullquote.has-text-align-right{max-width:420px}.wp-block-pullquote.alignleft p,.wp-block-pullquote.alignright p,.wp-block-pullquote.has-text-align-left p,.wp-block-pullquote.has-text-align-right p{font-size:1.25em}.wp-block-pullquote p{font-size:1.75em;line-height:1.6}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}.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:not(.is-style-solid-color){background:none}.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{margin-top:0;margin-bottom:0;font-size:2em}.wp-block-pullquote.is-style-solid-color blockquote cite{text-transform:none;font-style:normal}.wp-block-pullquote cite{color:inherit} \ No newline at end of file diff --git a/wp-includes/blocks/pullquote/theme-rtl.css b/wp-includes/blocks/pullquote/theme-rtl.css new file mode 100644 index 0000000000..aea922effe --- /dev/null +++ b/wp-includes/blocks/pullquote/theme-rtl.css @@ -0,0 +1,89 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-pullquote { + border-top: 4px solid currentColor; + border-bottom: 4px solid currentColor; + margin-bottom: 1.75em; + color: currentColor; +} +.wp-block-pullquote cite, +.wp-block-pullquote footer, .wp-block-pullquote__citation { + color: currentColor; + text-transform: uppercase; + font-size: 0.8125em; + font-style: normal; +} \ No newline at end of file diff --git a/wp-includes/blocks/pullquote/theme-rtl.min.css b/wp-includes/blocks/pullquote/theme-rtl.min.css new file mode 100644 index 0000000000..c8bb64154e --- /dev/null +++ b/wp-includes/blocks/pullquote/theme-rtl.min.css @@ -0,0 +1 @@ +.wp-block-pullquote{border-top:4px solid;border-bottom:4px solid;margin-bottom:1.75em;color:currentColor}.wp-block-pullquote__citation,.wp-block-pullquote cite,.wp-block-pullquote footer{color:currentColor;text-transform:uppercase;font-size:.8125em;font-style:normal} \ No newline at end of file diff --git a/wp-includes/blocks/pullquote/theme.css b/wp-includes/blocks/pullquote/theme.css new file mode 100644 index 0000000000..aea922effe --- /dev/null +++ b/wp-includes/blocks/pullquote/theme.css @@ -0,0 +1,89 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-pullquote { + border-top: 4px solid currentColor; + border-bottom: 4px solid currentColor; + margin-bottom: 1.75em; + color: currentColor; +} +.wp-block-pullquote cite, +.wp-block-pullquote footer, .wp-block-pullquote__citation { + color: currentColor; + text-transform: uppercase; + font-size: 0.8125em; + font-style: normal; +} \ No newline at end of file diff --git a/wp-includes/blocks/pullquote/theme.min.css b/wp-includes/blocks/pullquote/theme.min.css new file mode 100644 index 0000000000..c8bb64154e --- /dev/null +++ b/wp-includes/blocks/pullquote/theme.min.css @@ -0,0 +1 @@ +.wp-block-pullquote{border-top:4px solid;border-bottom:4px solid;margin-bottom:1.75em;color:currentColor}.wp-block-pullquote__citation,.wp-block-pullquote cite,.wp-block-pullquote footer{color:currentColor;text-transform:uppercase;font-size:.8125em;font-style:normal} \ No newline at end of file diff --git a/wp-includes/blocks/query-pagination-next.php b/wp-includes/blocks/query-pagination-next.php index f22a4810f9..d091e1c6bb 100644 --- a/wp-includes/blocks/query-pagination-next.php +++ b/wp-includes/blocks/query-pagination-next.php @@ -20,9 +20,13 @@ function render_block_core_query_pagination_next( $attributes, $content, $block $max_page = isset( $block->context['query']['pages'] ) ? (int) $block->context['query']['pages'] : 0; $wrapper_attributes = get_block_wrapper_attributes(); - $default_label = __( 'Next Page »' ); + $default_label = __( 'Next Page' ); $label = isset( $attributes['label'] ) && ! empty( $attributes['label'] ) ? $attributes['label'] : $default_label; - $content = ''; + $pagination_arrow = get_query_pagination_arrow( $block, true ); + if ( $pagination_arrow ) { + $label .= $pagination_arrow; + } + $content = ''; // Check if the pagination is for Query that inherits the global context. if ( isset( $block->context['query']['inherit'] ) && $block->context['query']['inherit'] ) { diff --git a/wp-includes/blocks/query-pagination-next/block.json b/wp-includes/blocks/query-pagination-next/block.json index afc69d6e14..0c8437c02d 100644 --- a/wp-includes/blocks/query-pagination-next/block.json +++ b/wp-includes/blocks/query-pagination-next/block.json @@ -11,7 +11,7 @@ "type": "string" } }, - "usesContext": [ "queryId", "query" ], + "usesContext": [ "queryId", "query", "paginationArrow" ], "supports": { "reusable": false, "html": false, @@ -21,7 +21,14 @@ }, "typography": { "fontSize": true, - "lineHeight": true + "lineHeight": true, + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalTextTransform": true, + "__experimentalDefaultControls": { + "fontSize": true + } } } } diff --git a/wp-includes/blocks/query-pagination-numbers.php b/wp-includes/blocks/query-pagination-numbers.php index 9d27e88519..60fe85efa1 100644 --- a/wp-includes/blocks/query-pagination-numbers.php +++ b/wp-includes/blocks/query-pagination-numbers.php @@ -45,6 +45,28 @@ function render_block_core_query_pagination_numbers( $attributes, $content, $blo 'total' => $total, 'prev_next' => false, ); + if ( 1 !== $page ) { + /** + * `paginate_links` doesn't use the provided `format` when the page is `1`. + * This is great for the main query as it removes the extra query params + * making the URL shorter, but in the case of multiple custom queries is + * problematic. It results in returning an empty link which ends up with + * a link to the current page. + * + * A way to address this is to add a `fake` query arg with no value that + * is the same for all custom queries. This way the link is not empty and + * preserves all the other existent query args. + * + * @see https://developer.wordpress.org/reference/functions/paginate_links/ + * + * The proper fix of this should be in core. Track Ticket: + * @see https://core.trac.wordpress.org/ticket/53868 + * + * TODO: After two WP versions (starting from the WP version the core patch landed), + * we should remove this and call `paginate_links` with the proper new arg. + */ + $paginate_args['add_args'] = array( 'cst' => '' ); + } // We still need to preserve `paged` query param if exists, as is used // for Queries that inherit from global context. $paged = empty( $_GET['paged'] ) ? null : (int) $_GET['paged']; diff --git a/wp-includes/blocks/query-pagination-numbers/editor-rtl.css b/wp-includes/blocks/query-pagination-numbers/editor-rtl.css index da40c95b59..5a4f6505b0 100644 --- a/wp-includes/blocks/query-pagination-numbers/editor-rtl.css +++ b/wp-includes/blocks/query-pagination-numbers/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/query-pagination-numbers/editor.css b/wp-includes/blocks/query-pagination-numbers/editor.css index 1c2ea30897..f107a351bd 100644 --- a/wp-includes/blocks/query-pagination-numbers/editor.css +++ b/wp-includes/blocks/query-pagination-numbers/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/query-pagination-previous.php b/wp-includes/blocks/query-pagination-previous.php index 676347de8e..4750649672 100644 --- a/wp-includes/blocks/query-pagination-previous.php +++ b/wp-includes/blocks/query-pagination-previous.php @@ -19,9 +19,13 @@ function render_block_core_query_pagination_previous( $attributes, $content, $bl $page = empty( $_GET[ $page_key ] ) ? 1 : (int) $_GET[ $page_key ]; $wrapper_attributes = get_block_wrapper_attributes(); - $default_label = __( '« Previous Page' ); + $default_label = __( 'Previous Page' ); $label = isset( $attributes['label'] ) && ! empty( $attributes['label'] ) ? $attributes['label'] : $default_label; - $content = ''; + $pagination_arrow = get_query_pagination_arrow( $block, false ); + if ( $pagination_arrow ) { + $label = $pagination_arrow . $label; + } + $content = ''; // Check if the pagination is for Query that inherits the global context // and handle appropriately. if ( isset( $block->context['query']['inherit'] ) && $block->context['query']['inherit'] ) { diff --git a/wp-includes/blocks/query-pagination-previous/block.json b/wp-includes/blocks/query-pagination-previous/block.json index 78a53867d0..c7d7b106f0 100644 --- a/wp-includes/blocks/query-pagination-previous/block.json +++ b/wp-includes/blocks/query-pagination-previous/block.json @@ -11,7 +11,7 @@ "type": "string" } }, - "usesContext": [ "queryId", "query" ], + "usesContext": [ "queryId", "query", "paginationArrow" ], "supports": { "reusable": false, "html": false, @@ -21,7 +21,14 @@ }, "typography": { "fontSize": true, - "lineHeight": true + "lineHeight": true, + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalTextTransform": true, + "__experimentalDefaultControls": { + "fontSize": true + } } } } diff --git a/wp-includes/blocks/query-pagination.php b/wp-includes/blocks/query-pagination.php index a9f31bf78f..ae32242bc9 100644 --- a/wp-includes/blocks/query-pagination.php +++ b/wp-includes/blocks/query-pagination.php @@ -5,12 +5,35 @@ * @package WordPress */ +/** + * Renders the `core/query-pagination` block on the server. + * + * @param array $attributes Block attributes. + * @param string $content Block default content. + * + * @return string Returns the wrapper for the Query pagination. + */ +function render_block_core_query_pagination( $attributes, $content ) { + if ( empty( trim( $content ) ) ) { + return ''; + } + + return sprintf( + '
    %2$s
    ', + get_block_wrapper_attributes(), + $content + ); +} + /** * Registers the `core/query-pagination` block on the server. */ function register_block_core_query_pagination() { register_block_type_from_metadata( - __DIR__ . '/query-pagination' + __DIR__ . '/query-pagination', + array( + 'render_callback' => 'render_block_core_query_pagination', + ) ); } add_action( 'init', 'register_block_core_query_pagination' ); diff --git a/wp-includes/blocks/query-pagination/block.json b/wp-includes/blocks/query-pagination/block.json index c1de24977f..b3a169627e 100644 --- a/wp-includes/blocks/query-pagination/block.json +++ b/wp-includes/blocks/query-pagination/block.json @@ -6,7 +6,16 @@ "parent": [ "core/query" ], "description": "Displays a paginated navigation to next/previous set of posts, when applicable.", "textdomain": "default", + "attributes": { + "paginationArrow": { + "type": "string", + "default": "none" + } + }, "usesContext": [ "queryId", "query" ], + "providesContext": { + "paginationArrow": "paginationArrow" + }, "supports": { "align": true, "reusable": false, @@ -14,6 +23,13 @@ "color": { "gradients": true, "link": true + }, + "__experimentalLayout": { + "allowSwitching": false, + "allowInheriting": false, + "default": { + "type": "flex" + } } }, "editorStyle": "wp-block-query-pagination-editor", diff --git a/wp-includes/blocks/query-pagination/editor-rtl.css b/wp-includes/blocks/query-pagination/editor-rtl.css index 29683310ef..f042bc3761 100644 --- a/wp-includes/blocks/query-pagination/editor-rtl.css +++ b/wp-includes/blocks/query-pagination/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,10 +74,8 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block > .wp-block-query-pagination { - display: flex; - flex-wrap: wrap; - flex-direction: row; +.wp-block[data-align=center] > .wp-block-query-pagination { + justify-content: center; } .editor-styles-wrapper .wp-block-query-pagination { @@ -88,7 +92,6 @@ .wp-block-query-pagination > .wp-block-query-pagination-next, .wp-block-query-pagination > .wp-block-query-pagination-previous, .wp-block-query-pagination > .wp-block-query-pagination-numbers { - display: inline-block; margin-right: 0; margin-top: 0.5em; margin-right: 0.5em; diff --git a/wp-includes/blocks/query-pagination/editor-rtl.min.css b/wp-includes/blocks/query-pagination/editor-rtl.min.css index b85588ce2b..69e939f003 100644 --- a/wp-includes/blocks/query-pagination/editor-rtl.min.css +++ b/wp-includes/blocks/query-pagination/editor-rtl.min.css @@ -1 +1 @@ -.wp-block>.wp-block-query-pagination{display:flex;flex-wrap:wrap;flex-direction:row}.editor-styles-wrapper .wp-block-query-pagination{max-width:100%}.editor-styles-wrapper .wp-block-query-pagination.block-editor-block-list__layout{margin:0}.block-library-query-pagination-toolbar__popover .components-popover__content{min-width:230px}.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{display:inline-block;margin-top:.5em;margin-right:.5em;margin-bottom:.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} \ No newline at end of file +.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}.block-library-query-pagination-toolbar__popover .components-popover__content{min-width:230px}.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-top:.5em;margin-right:.5em;margin-bottom:.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} \ No newline at end of file diff --git a/wp-includes/blocks/query-pagination/editor.css b/wp-includes/blocks/query-pagination/editor.css index 73772fbfdd..dd72281466 100644 --- a/wp-includes/blocks/query-pagination/editor.css +++ b/wp-includes/blocks/query-pagination/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,10 +74,8 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block > .wp-block-query-pagination { - display: flex; - flex-wrap: wrap; - flex-direction: row; +.wp-block[data-align=center] > .wp-block-query-pagination { + justify-content: center; } .editor-styles-wrapper .wp-block-query-pagination { @@ -88,7 +92,6 @@ .wp-block-query-pagination > .wp-block-query-pagination-next, .wp-block-query-pagination > .wp-block-query-pagination-previous, .wp-block-query-pagination > .wp-block-query-pagination-numbers { - display: inline-block; margin-left: 0; margin-top: 0.5em; /*rtl:ignore*/ diff --git a/wp-includes/blocks/query-pagination/editor.min.css b/wp-includes/blocks/query-pagination/editor.min.css index 86048bc169..38c8a7c289 100644 --- a/wp-includes/blocks/query-pagination/editor.min.css +++ b/wp-includes/blocks/query-pagination/editor.min.css @@ -1 +1 @@ -.wp-block>.wp-block-query-pagination{display:flex;flex-wrap:wrap;flex-direction:row}.editor-styles-wrapper .wp-block-query-pagination{max-width:100%}.editor-styles-wrapper .wp-block-query-pagination.block-editor-block-list__layout{margin:0}.block-library-query-pagination-toolbar__popover .components-popover__content{min-width:230px}.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{display:inline-block;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} \ No newline at end of file +.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}.block-library-query-pagination-toolbar__popover .components-popover__content{min-width:230px}.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} \ No newline at end of file diff --git a/wp-includes/blocks/query-pagination/style-rtl.css b/wp-includes/blocks/query-pagination/style-rtl.css index cc7dd539ad..3d681ef441 100644 --- a/wp-includes/blocks/query-pagination/style-rtl.css +++ b/wp-includes/blocks/query-pagination/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,15 +74,9 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block-query-pagination { - display: flex; - flex-direction: row; - flex-wrap: wrap; -} .wp-block-query-pagination > .wp-block-query-pagination-next, .wp-block-query-pagination > .wp-block-query-pagination-previous, .wp-block-query-pagination > .wp-block-query-pagination-numbers { - display: inline-block; margin-right: 0.5em; margin-bottom: 0.5em; } @@ -84,4 +84,21 @@ .wp-block-query-pagination > .wp-block-query-pagination-previous:last-child, .wp-block-query-pagination > .wp-block-query-pagination-numbers:last-child { margin-right: 0; +} +.wp-block-query-pagination .wp-block-query-pagination-previous-arrow { + margin-left: 1ch; + display: inline-block; +} +.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 { + margin-right: 1ch; + display: inline-block; +} +.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; } \ No newline at end of file diff --git a/wp-includes/blocks/query-pagination/style-rtl.min.css b/wp-includes/blocks/query-pagination/style-rtl.min.css index 27da9515cf..c9b1f8ddf5 100644 --- a/wp-includes/blocks/query-pagination/style-rtl.min.css +++ b/wp-includes/blocks/query-pagination/style-rtl.min.css @@ -1 +1 @@ -.wp-block-query-pagination{display:flex;flex-direction:row;flex-wrap:wrap}.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{display:inline-block;margin-right:.5em;margin-bottom:.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} \ No newline at end of file +.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-right:.5em;margin-bottom:.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 .wp-block-query-pagination-previous-arrow{margin-left:1ch;display:inline-block}.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{margin-right:1ch;display:inline-block}.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} \ No newline at end of file diff --git a/wp-includes/blocks/query-pagination/style.css b/wp-includes/blocks/query-pagination/style.css index aea372547b..de290ad8d5 100644 --- a/wp-includes/blocks/query-pagination/style.css +++ b/wp-includes/blocks/query-pagination/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,15 +74,9 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block-query-pagination { - display: flex; - flex-direction: row; - flex-wrap: wrap; -} .wp-block-query-pagination > .wp-block-query-pagination-next, .wp-block-query-pagination > .wp-block-query-pagination-previous, .wp-block-query-pagination > .wp-block-query-pagination-numbers { - display: inline-block; /*rtl:ignore*/ margin-right: 0.5em; margin-bottom: 0.5em; @@ -86,4 +86,21 @@ .wp-block-query-pagination > .wp-block-query-pagination-numbers:last-child { /*rtl:ignore*/ margin-right: 0; +} +.wp-block-query-pagination .wp-block-query-pagination-previous-arrow { + margin-right: 1ch; + display: inline-block; +} +.wp-block-query-pagination .wp-block-query-pagination-previous-arrow:not(.is-arrow-chevron) { + transform: scaleX(1) /*rtl:scaleX(-1);*/; +} +.wp-block-query-pagination .wp-block-query-pagination-next-arrow { + margin-left: 1ch; + display: inline-block; +} +.wp-block-query-pagination .wp-block-query-pagination-next-arrow:not(.is-arrow-chevron) { + transform: scaleX(1) /*rtl:scaleX(-1);*/; +} +.wp-block-query-pagination.aligncenter { + justify-content: center; } \ No newline at end of file diff --git a/wp-includes/blocks/query-pagination/style.min.css b/wp-includes/blocks/query-pagination/style.min.css index 27da9515cf..f302fbadbc 100644 --- a/wp-includes/blocks/query-pagination/style.min.css +++ b/wp-includes/blocks/query-pagination/style.min.css @@ -1 +1 @@ -.wp-block-query-pagination{display:flex;flex-direction:row;flex-wrap:wrap}.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{display:inline-block;margin-right:.5em;margin-bottom:.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} \ No newline at end of file +.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-right:.5em;margin-bottom:.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 .wp-block-query-pagination-previous-arrow{margin-right:1ch;display:inline-block}.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{margin-left:1ch;display:inline-block}.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} \ No newline at end of file diff --git a/wp-includes/blocks/query-title/block.json b/wp-includes/blocks/query-title/block.json index 3e5d43fc50..04190056c7 100644 --- a/wp-includes/blocks/query-title/block.json +++ b/wp-includes/blocks/query-title/block.json @@ -23,10 +23,22 @@ "color": { "gradients": true }, + "spacing": { + "margin": true + }, "typography": { "fontSize": true, "lineHeight": true, - "__experimentalFontFamily": true + "__experimentalFontFamily": true, + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalTextTransform": true, + "__experimentalDefaultControls": { + "fontSize": true, + "fontAppearance": true, + "textTransform": true + } } }, "editorStyle": "wp-block-query-title-editor" diff --git a/wp-includes/blocks/query-title/editor-rtl.min.css b/wp-includes/blocks/query-title/editor-rtl.min.css deleted file mode 100644 index e8a48852c7..0000000000 --- a/wp-includes/blocks/query-title/editor-rtl.min.css +++ /dev/null @@ -1 +0,0 @@ -.wp-block-query-title__placeholder{padding:1em 0;border:1px dashed} \ No newline at end of file diff --git a/wp-includes/blocks/query-title/editor.min.css b/wp-includes/blocks/query-title/editor.min.css deleted file mode 100644 index e8a48852c7..0000000000 --- a/wp-includes/blocks/query-title/editor.min.css +++ /dev/null @@ -1 +0,0 @@ -.wp-block-query-title__placeholder{padding:1em 0;border:1px dashed} \ No newline at end of file diff --git a/wp-includes/blocks/query/editor-rtl.css b/wp-includes/blocks/query/editor-rtl.css index 0275e1f2e1..2b3cda1610 100644 --- a/wp-includes/blocks/query/editor-rtl.css +++ b/wp-includes/blocks/query/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/query/editor.css b/wp-includes/blocks/query/editor.css index 0bbb7a3d7f..cba2ff64c5 100644 --- a/wp-includes/blocks/query/editor.css +++ b/wp-includes/blocks/query/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/quote/block.json b/wp-includes/blocks/quote/block.json index 9bae4dff96..ad3f199e0f 100644 --- a/wp-includes/blocks/quote/block.json +++ b/wp-includes/blocks/quote/block.json @@ -27,7 +27,20 @@ } }, "supports": { - "anchor": true + "anchor": true, + "__experimentalSlashInserter": true, + "typography": { + "fontSize": true, + "lineHeight": true, + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalTextTransform": true, + "__experimentalDefaultControls": { + "fontSize": true, + "fontAppearance": true + } + } }, "styles": [ { @@ -35,6 +48,7 @@ "label": "Default", "isDefault": true }, + { "name": "plain", "label": "Plain" }, { "name": "large", "label": "Large" } ], "editorStyle": "wp-block-quote-editor", diff --git a/wp-includes/blocks/quote/style-rtl.css b/wp-includes/blocks/quote/style-rtl.css index af2157d478..04f3b698f2 100644 --- a/wp-includes/blocks/quote/style-rtl.css +++ b/wp-includes/blocks/quote/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,6 +74,9 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ +.wp-block-quote { + overflow-wrap: break-word; +} .wp-block-quote.is-style-large, .wp-block-quote.is-large { margin-bottom: 1em; padding: 0 1em; diff --git a/wp-includes/blocks/quote/style-rtl.min.css b/wp-includes/blocks/quote/style-rtl.min.css index a2bd1c0337..550b387843 100644 --- a/wp-includes/blocks/quote/style-rtl.min.css +++ b/wp-includes/blocks/quote/style-rtl.min.css @@ -1 +1 @@ -.wp-block-quote.is-large,.wp-block-quote.is-style-large{margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large p,.wp-block-quote.is-style-large p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large cite,.wp-block-quote.is-large footer,.wp-block-quote.is-style-large cite,.wp-block-quote.is-style-large footer{font-size:1.125em;text-align:left} \ No newline at end of file +.wp-block-quote{overflow-wrap:break-word}.wp-block-quote.is-large,.wp-block-quote.is-style-large{margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large p,.wp-block-quote.is-style-large p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large cite,.wp-block-quote.is-large footer,.wp-block-quote.is-style-large cite,.wp-block-quote.is-style-large footer{font-size:1.125em;text-align:left} \ No newline at end of file diff --git a/wp-includes/blocks/quote/style.css b/wp-includes/blocks/quote/style.css index a447c253fd..39d97cc271 100644 --- a/wp-includes/blocks/quote/style.css +++ b/wp-includes/blocks/quote/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,6 +74,9 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ +.wp-block-quote { + overflow-wrap: break-word; +} .wp-block-quote.is-style-large, .wp-block-quote.is-large { margin-bottom: 1em; padding: 0 1em; diff --git a/wp-includes/blocks/quote/style.min.css b/wp-includes/blocks/quote/style.min.css index c8f06bf26e..f3db5ae00f 100644 --- a/wp-includes/blocks/quote/style.min.css +++ b/wp-includes/blocks/quote/style.min.css @@ -1 +1 @@ -.wp-block-quote.is-large,.wp-block-quote.is-style-large{margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large p,.wp-block-quote.is-style-large p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large cite,.wp-block-quote.is-large footer,.wp-block-quote.is-style-large cite,.wp-block-quote.is-style-large footer{font-size:1.125em;text-align:right} \ No newline at end of file +.wp-block-quote{overflow-wrap:break-word}.wp-block-quote.is-large,.wp-block-quote.is-style-large{margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large p,.wp-block-quote.is-style-large p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large cite,.wp-block-quote.is-large footer,.wp-block-quote.is-style-large cite,.wp-block-quote.is-style-large footer{font-size:1.125em;text-align:right} \ No newline at end of file diff --git a/wp-includes/blocks/quote/theme-rtl.css b/wp-includes/blocks/quote/theme-rtl.css new file mode 100644 index 0000000000..d50d69edce --- /dev/null +++ b/wp-includes/blocks/quote/theme-rtl.css @@ -0,0 +1,101 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-quote { + border-right: 0.25em solid currentColor; + margin: 0 0 1.75em 0; + padding-right: 1em; +} +.wp-block-quote cite, +.wp-block-quote footer { + color: currentColor; + font-size: 0.8125em; + position: relative; + font-style: normal; +} +.wp-block-quote.has-text-align-right { + border-right: none; + border-left: 0.25em solid currentColor; + padding-right: 0; + padding-left: 1em; +} +.wp-block-quote.has-text-align-center { + border: none; + padding-right: 0; +} +.wp-block-quote.is-style-plain, .wp-block-quote.is-style-large, .wp-block-quote.is-large { + border: none; +} \ No newline at end of file diff --git a/wp-includes/blocks/quote/theme-rtl.min.css b/wp-includes/blocks/quote/theme-rtl.min.css new file mode 100644 index 0000000000..2eddf5f543 --- /dev/null +++ b/wp-includes/blocks/quote/theme-rtl.min.css @@ -0,0 +1 @@ +.wp-block-quote{border-right:.25em solid;margin:0 0 1.75em;padding-right:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;position:relative;font-style:normal}.wp-block-quote.has-text-align-right{border-right:none;border-left:.25em solid;padding-right:0;padding-left:1em}.wp-block-quote.has-text-align-center{border:none;padding-right:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote.is-style-plain{border:none} \ No newline at end of file diff --git a/wp-includes/blocks/quote/theme.css b/wp-includes/blocks/quote/theme.css new file mode 100644 index 0000000000..2148230ac8 --- /dev/null +++ b/wp-includes/blocks/quote/theme.css @@ -0,0 +1,101 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-quote { + border-left: 0.25em solid currentColor; + margin: 0 0 1.75em 0; + padding-left: 1em; +} +.wp-block-quote cite, +.wp-block-quote footer { + color: currentColor; + font-size: 0.8125em; + position: relative; + font-style: normal; +} +.wp-block-quote.has-text-align-right { + border-left: none; + border-right: 0.25em solid currentColor; + padding-left: 0; + padding-right: 1em; +} +.wp-block-quote.has-text-align-center { + border: none; + padding-left: 0; +} +.wp-block-quote.is-style-plain, .wp-block-quote.is-style-large, .wp-block-quote.is-large { + border: none; +} \ No newline at end of file diff --git a/wp-includes/blocks/quote/theme.min.css b/wp-includes/blocks/quote/theme.min.css new file mode 100644 index 0000000000..1d99a5483c --- /dev/null +++ b/wp-includes/blocks/quote/theme.min.css @@ -0,0 +1 @@ +.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;position:relative;font-style:normal}.wp-block-quote.has-text-align-right{border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote.has-text-align-center{border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote.is-style-plain{border:none} \ No newline at end of file diff --git a/wp-includes/blocks/rss/editor-rtl.css b/wp-includes/blocks/rss/editor-rtl.css index 3965992edb..33bd6f4796 100644 --- a/wp-includes/blocks/rss/editor-rtl.css +++ b/wp-includes/blocks/rss/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/rss/editor.css b/wp-includes/blocks/rss/editor.css index 2a234fdf5f..2495be19a9 100644 --- a/wp-includes/blocks/rss/editor.css +++ b/wp-includes/blocks/rss/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/rss/style-rtl.css b/wp-includes/blocks/rss/style-rtl.css index 740d6f4b60..ea8a8760ba 100644 --- a/wp-includes/blocks/rss/style-rtl.css +++ b/wp-includes/blocks/rss/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,39 +74,43 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block-rss.wp-block-rss { +ul.wp-block-rss { + list-style: none; + padding: 0; +} +ul.wp-block-rss.wp-block-rss { box-sizing: border-box; } -.wp-block-rss.alignleft { +ul.wp-block-rss.alignleft { margin-right: 2em; } -.wp-block-rss.alignright { +ul.wp-block-rss.alignright { margin-left: 2em; } -.wp-block-rss.is-grid { +ul.wp-block-rss.is-grid { display: flex; flex-wrap: wrap; padding: 0; list-style: none; } -.wp-block-rss.is-grid li { +ul.wp-block-rss.is-grid li { margin: 0 0 1em 1em; width: 100%; } @media (min-width: 600px) { - .wp-block-rss.columns-2 li { + ul.wp-block-rss.columns-2 li { width: calc(( 100% / 2 ) - 1em); } - .wp-block-rss.columns-3 li { + ul.wp-block-rss.columns-3 li { width: calc(( 100% / 3 ) - 1em); } - .wp-block-rss.columns-4 li { + ul.wp-block-rss.columns-4 li { width: calc(( 100% / 4 ) - 1em); } - .wp-block-rss.columns-5 li { + ul.wp-block-rss.columns-5 li { width: calc(( 100% / 5 ) - 1em); } - .wp-block-rss.columns-6 li { + ul.wp-block-rss.columns-6 li { width: calc(( 100% / 6 ) - 1em); } } @@ -108,6 +118,5 @@ .wp-block-rss__item-publish-date, .wp-block-rss__item-author { display: block; - color: #555; font-size: 0.8125em; } \ No newline at end of file diff --git a/wp-includes/blocks/rss/style-rtl.min.css b/wp-includes/blocks/rss/style-rtl.min.css index 47be9a7828..71ee29f332 100644 --- a/wp-includes/blocks/rss/style-rtl.min.css +++ b/wp-includes/blocks/rss/style-rtl.min.css @@ -1 +1 @@ -.wp-block-rss.wp-block-rss{box-sizing:border-box}.wp-block-rss.alignleft{margin-right:2em}.wp-block-rss.alignright{margin-left:2em}.wp-block-rss.is-grid{display:flex;flex-wrap:wrap;padding:0;list-style:none}.wp-block-rss.is-grid li{margin:0 0 1em 1em;width:100%}@media (min-width:600px){.wp-block-rss.columns-2 li{width:calc(50% - 1em)}.wp-block-rss.columns-3 li{width:calc(33.33333% - 1em)}.wp-block-rss.columns-4 li{width:calc(25% - 1em)}.wp-block-rss.columns-5 li{width:calc(20% - 1em)}.wp-block-rss.columns-6 li{width:calc(16.66667% - 1em)}}.wp-block-rss__item-author,.wp-block-rss__item-publish-date{display:block;color:#555;font-size:.8125em} \ No newline at end of file +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;padding:0;list-style:none}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} \ No newline at end of file diff --git a/wp-includes/blocks/rss/style.css b/wp-includes/blocks/rss/style.css index db5ac6da4b..9956134a0d 100644 --- a/wp-includes/blocks/rss/style.css +++ b/wp-includes/blocks/rss/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,41 +74,45 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block-rss.wp-block-rss { +ul.wp-block-rss { + list-style: none; + padding: 0; +} +ul.wp-block-rss.wp-block-rss { box-sizing: border-box; } -.wp-block-rss.alignleft { +ul.wp-block-rss.alignleft { /*rtl:ignore*/ margin-right: 2em; } -.wp-block-rss.alignright { +ul.wp-block-rss.alignright { /*rtl:ignore*/ margin-left: 2em; } -.wp-block-rss.is-grid { +ul.wp-block-rss.is-grid { display: flex; flex-wrap: wrap; padding: 0; list-style: none; } -.wp-block-rss.is-grid li { +ul.wp-block-rss.is-grid li { margin: 0 1em 1em 0; width: 100%; } @media (min-width: 600px) { - .wp-block-rss.columns-2 li { + ul.wp-block-rss.columns-2 li { width: calc(( 100% / 2 ) - 1em); } - .wp-block-rss.columns-3 li { + ul.wp-block-rss.columns-3 li { width: calc(( 100% / 3 ) - 1em); } - .wp-block-rss.columns-4 li { + ul.wp-block-rss.columns-4 li { width: calc(( 100% / 4 ) - 1em); } - .wp-block-rss.columns-5 li { + ul.wp-block-rss.columns-5 li { width: calc(( 100% / 5 ) - 1em); } - .wp-block-rss.columns-6 li { + ul.wp-block-rss.columns-6 li { width: calc(( 100% / 6 ) - 1em); } } @@ -110,6 +120,5 @@ .wp-block-rss__item-publish-date, .wp-block-rss__item-author { display: block; - color: #555; font-size: 0.8125em; } \ No newline at end of file diff --git a/wp-includes/blocks/rss/style.min.css b/wp-includes/blocks/rss/style.min.css index afb37b4d93..6d3402c120 100644 --- a/wp-includes/blocks/rss/style.min.css +++ b/wp-includes/blocks/rss/style.min.css @@ -1 +1 @@ -.wp-block-rss.wp-block-rss{box-sizing:border-box}.wp-block-rss.alignleft{margin-right:2em}.wp-block-rss.alignright{margin-left:2em}.wp-block-rss.is-grid{display:flex;flex-wrap:wrap;padding:0;list-style:none}.wp-block-rss.is-grid li{margin:0 1em 1em 0;width:100%}@media (min-width:600px){.wp-block-rss.columns-2 li{width:calc(50% - 1em)}.wp-block-rss.columns-3 li{width:calc(33.33333% - 1em)}.wp-block-rss.columns-4 li{width:calc(25% - 1em)}.wp-block-rss.columns-5 li{width:calc(20% - 1em)}.wp-block-rss.columns-6 li{width:calc(16.66667% - 1em)}}.wp-block-rss__item-author,.wp-block-rss__item-publish-date{display:block;color:#555;font-size:.8125em} \ No newline at end of file +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;padding:0;list-style:none}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} \ No newline at end of file diff --git a/wp-includes/blocks/search.php b/wp-includes/blocks/search.php index eba67deeec..64ac21ff3f 100644 --- a/wp-includes/blocks/search.php +++ b/wp-includes/blocks/search.php @@ -27,53 +27,60 @@ function render_block_core_search( $attributes ) { ) ); - $input_id = 'wp-block-search__input-' . ++$instance_id; - $classnames = classnames_for_block_core_search( $attributes ); - $show_label = ( ! empty( $attributes['showLabel'] ) ) ? true : false; - $use_icon_button = ( ! empty( $attributes['buttonUseIcon'] ) ) ? true : false; - $show_input = ( ! empty( $attributes['buttonPosition'] ) && 'button-only' === $attributes['buttonPosition'] ) ? false : true; - $show_button = ( ! empty( $attributes['buttonPosition'] ) && 'no-button' === $attributes['buttonPosition'] ) ? false : true; - $label_markup = ''; - $input_markup = ''; - $button_markup = ''; - $inline_styles = styles_for_block_core_search( $attributes ); + $input_id = 'wp-block-search__input-' . ++$instance_id; + $classnames = classnames_for_block_core_search( $attributes ); + $show_label = ( ! empty( $attributes['showLabel'] ) ) ? true : false; + $use_icon_button = ( ! empty( $attributes['buttonUseIcon'] ) ) ? true : false; + $show_input = ( ! empty( $attributes['buttonPosition'] ) && 'button-only' === $attributes['buttonPosition'] ) ? false : true; + $show_button = ( ! empty( $attributes['buttonPosition'] ) && 'no-button' === $attributes['buttonPosition'] ) ? false : true; + $label_markup = ''; + $input_markup = ''; + $button_markup = ''; + $inline_styles = styles_for_block_core_search( $attributes ); + $color_classes = get_color_classes_for_block_core_search( $attributes ); + $is_button_inside = ! empty( $attributes['buttonPosition'] ) && + 'button-inside' === $attributes['buttonPosition']; + // Border color classes need to be applied to the elements that have a border color. + $border_color_classes = get_border_color_classes_for_block_core_search( $attributes ); - if ( $show_label ) { - if ( ! empty( $attributes['label'] ) ) { - $label_markup = sprintf( - '', - $input_id, - $attributes['label'] - ); - } else { - $label_markup = sprintf( - '', - $input_id, - __( 'Search' ) - ); - } + $label_markup = sprintf( + '', + $input_id, + empty( $attributes['label'] ) ? __( 'Search' ) : $attributes['label'] + ); + if ( $show_label && ! empty( $attributes['label'] ) ) { + $label_markup = sprintf( + '', + $input_id, + $attributes['label'] + ); } if ( $show_input ) { - $input_markup = sprintf( - '', + $input_classes = ! $is_button_inside ? $border_color_classes : ''; + $input_markup = sprintf( + '', $input_id, + $input_classes, esc_attr( get_search_query() ), esc_attr( $attributes['placeholder'] ), - $inline_styles['shared'] + $inline_styles['input'] ); } if ( $show_button ) { $button_internal_markup = ''; - $button_classes = ''; + $button_classes = $color_classes; + if ( ! $is_button_inside ) { + $button_classes .= ' ' . $border_color_classes; + } if ( ! $use_icon_button ) { if ( ! empty( $attributes['buttonText'] ) ) { $button_internal_markup = $attributes['buttonText']; } } else { - $button_classes .= 'has-icon'; + $button_classes .= ' has-icon'; $button_internal_markup = ' @@ -81,19 +88,21 @@ function render_block_core_search( $attributes ) { } $button_markup = sprintf( - '', + '', $button_classes, - $inline_styles['shared'], + $inline_styles['button'], $button_internal_markup ); } - $field_markup = sprintf( - '
    %s
    ', + $field_markup_classes = $is_button_inside ? $border_color_classes : ''; + $field_markup = sprintf( + '
    %s
    ', + $field_markup_classes, $inline_styles['wrapper'], $input_markup . $button_markup ); - $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $classnames ) ); + $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $classnames ) ); return sprintf( '
    %s
    ', @@ -169,8 +178,9 @@ function classnames_for_block_core_search( $attributes ) { * @return array Style HTML attribute. */ function styles_for_block_core_search( $attributes ) { - $shared_styles = array(); $wrapper_styles = array(); + $button_styles = array(); + $input_styles = array(); // Add width styles. $has_width = ! empty( $attributes['width'] ) && ! empty( $attributes['widthUnit'] ); @@ -188,26 +198,155 @@ function styles_for_block_core_search( $attributes ) { $has_border_radius = ! empty( $attributes['style']['border']['radius'] ); if ( $has_border_radius ) { - // Shared style for button and input radius values. + $default_padding = '4px'; $border_radius = $attributes['style']['border']['radius']; - $shared_styles[] = sprintf( 'border-radius: %spx;', esc_attr( $border_radius ) ); - // Apply wrapper border radius if button placed inside. - $button_inside = ! empty( $attributes['buttonPosition'] ) && + $is_button_inside = ! empty( $attributes['buttonPosition'] ) && 'button-inside' === $attributes['buttonPosition']; - if ( $button_inside ) { - // We adjust the border radius value for the outer wrapper element - // to make it visually consistent with the radius applied to inner - // elements. - $default_padding = 4; - $adjusted_radius = $border_radius + $default_padding; - $wrapper_styles[] = sprintf( 'border-radius: %dpx;', esc_attr( $adjusted_radius ) ); + if ( is_array( $border_radius ) ) { + // Apply styles for individual corner border radii. + foreach ( $border_radius as $key => $value ) { + if ( null !== $value ) { + // Convert camelCase key to kebab-case. + $name = strtolower( preg_replace( '/(? ! empty( $shared_styles ) ? sprintf( ' style="%s"', implode( ' ', $shared_styles ) ) : '', + 'input' => ! empty( $input_styles ) ? sprintf( ' style="%s"', implode( ' ', $input_styles ) ) : '', + 'button' => ! empty( $button_styles ) ? sprintf( ' style="%s"', implode( ' ', $button_styles ) ) : '', 'wrapper' => ! empty( $wrapper_styles ) ? sprintf( ' style="%s"', implode( ' ', $wrapper_styles ) ) : '', ); } + +/** + * Returns border color classnames depending on whether there are named or custom border colors. + * + * @param array $attributes The block attributes. + * + * @return string The border color classnames to be applied to the block elements. + */ +function get_border_color_classes_for_block_core_search( $attributes ) { + $has_custom_border_color = ! empty( $attributes['style']['border']['color'] ); + $border_color_classes = ! empty( $attributes['borderColor'] ) ? sprintf( 'has-border-color has-%s-border-color', $attributes['borderColor'] ) : ''; + // If there's a border color style and no `borderColor` text string, we still want to add the generic `has-border-color` class name to the element. + if ( $has_custom_border_color && empty( $attributes['borderColor'] ) ) { + $border_color_classes = 'has-border-color'; + } + return $border_color_classes; +} + +/** + * Returns color classnames depending on whether there are named or custom text and background colors. + * + * @param array $attributes The block attributes. + * + * @return string The color classnames to be applied to the block elements. + */ +function get_color_classes_for_block_core_search( $attributes ) { + $classnames = array(); + + // Text color. + $has_named_text_color = ! empty( $attributes['textColor'] ); + $has_custom_text_color = ! empty( $attributes['style']['color']['text'] ); + if ( $has_named_text_color ) { + $classnames[] = sprintf( 'has-text-color has-%s-color', $attributes['textColor'] ); + } elseif ( $has_custom_text_color ) { + // If a custom 'textColor' was selected instead of a preset, still add the generic `has-text-color` class. + $classnames[] = 'has-text-color'; + } + + // Background color. + $has_named_background_color = ! empty( $attributes['backgroundColor'] ); + $has_custom_background_color = ! empty( $attributes['style']['color']['background'] ); + $has_named_gradient = ! empty( $attributes['gradient'] ); + $has_custom_gradient = ! empty( $attributes['style']['color']['gradient'] ); + if ( + $has_named_background_color || + $has_custom_background_color || + $has_named_gradient || + $has_custom_gradient + ) { + $classnames[] = 'has-background'; + } + if ( $has_named_background_color ) { + $classnames[] = sprintf( 'has-%s-background-color', $attributes['backgroundColor'] ); + } + if ( $has_named_gradient ) { + $classnames[] = sprintf( 'has-%s-gradient-background', $attributes['gradient'] ); + } + + return implode( ' ', $classnames ); +} diff --git a/wp-includes/blocks/search/block.json b/wp-includes/blocks/search/block.json index b96f14f53c..d2b3e08e94 100644 --- a/wp-includes/blocks/search/block.json +++ b/wp-includes/blocks/search/block.json @@ -41,7 +41,12 @@ }, "supports": { "align": [ "left", "center", "right" ], + "color": { + "gradients": true, + "__experimentalSkipSerialization": true + }, "__experimentalBorder": { + "color": true, "radius": true, "__experimentalSkipSerialization": true }, diff --git a/wp-includes/blocks/search/editor-rtl.css b/wp-includes/blocks/search/editor-rtl.css index 97402fb45d..0dcbd6513e 100644 --- a/wp-includes/blocks/search/editor-rtl.css +++ b/wp-includes/blocks/search/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -72,18 +78,11 @@ margin: auto; } -.wp-block-search .wp-block-search__input { - padding: 8px; -} -.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper { - padding: 4px; -} .wp-block-search .wp-block-search__button { height: auto; border-radius: initial; -} -.wp-block-search .wp-block-search__button.wp-block-search__button.wp-block-search__button { - padding: 6px 10px; + display: flex; + align-items: 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 e929c7deac..1c9ed10861 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__input{padding:8px}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper{padding:4px}.wp-block-search .wp-block-search__button{height:auto;border-radius:initial}.wp-block-search .wp-block-search__button.wp-block-search__button.wp-block-search__button{padding:6px 10px}.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{height:auto;border-radius:initial;display:flex;align-items: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 97402fb45d..0dcbd6513e 100644 --- a/wp-includes/blocks/search/editor.css +++ b/wp-includes/blocks/search/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -72,18 +78,11 @@ margin: auto; } -.wp-block-search .wp-block-search__input { - padding: 8px; -} -.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper { - padding: 4px; -} .wp-block-search .wp-block-search__button { height: auto; border-radius: initial; -} -.wp-block-search .wp-block-search__button.wp-block-search__button.wp-block-search__button { - padding: 6px 10px; + display: flex; + align-items: 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 e929c7deac..1c9ed10861 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__input{padding:8px}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper{padding:4px}.wp-block-search .wp-block-search__button{height:auto;border-radius:initial}.wp-block-search .wp-block-search__button.wp-block-search__button.wp-block-search__button{padding:6px 10px}.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{height:auto;border-radius:initial;display:flex;align-items: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 a639c1f780..dc253ec093 100644 --- a/wp-includes/blocks/search/style-rtl.css +++ b/wp-includes/blocks/search/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,38 +74,51 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block-search .wp-block-search__button { +.wp-block-search__button { background: #f7f7f7; border: 1px solid #ccc; padding: 0.375em 0.625em; color: #32373c; margin-right: 0.625em; word-break: normal; + font-size: inherit; + font-family: inherit; + line-height: inherit; } -.wp-block-search .wp-block-search__button.has-icon { +.wp-block-search__button.has-icon { line-height: 0; } -.wp-block-search .wp-block-search__button svg { +.wp-block-search__button svg { min-width: 1.5em; min-height: 1.5em; + fill: currentColor; } -.wp-block-search .wp-block-search__inside-wrapper { + +.wp-block-search__inside-wrapper { display: flex; flex: auto; flex-wrap: nowrap; max-width: 100%; } -.wp-block-search .wp-block-search__label { + +.wp-block-search__label { width: 100%; } -.wp-block-search .wp-block-search__input { + +.wp-block-search__input { + padding: 8px; flex-grow: 1; min-width: 3em; border: 1px solid #949494; + font-size: inherit; + font-family: inherit; + line-height: inherit; } + .wp-block-search.wp-block-search__button-only .wp-block-search__button { margin-right: 0; } + .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper { padding: 4px; border: 1px solid #949494; @@ -115,6 +134,7 @@ .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button { padding: 0.125em 0.5em; } + .wp-block-search.aligncenter .wp-block-search__inside-wrapper { margin: auto; } \ 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 895109daf6..ba07bb31f4 100644 --- a/wp-includes/blocks/search/style-rtl.min.css +++ b/wp-includes/blocks/search/style-rtl.min.css @@ -1 +1 @@ -.wp-block-search .wp-block-search__button{background:#f7f7f7;border:1px solid #ccc;padding:.375em .625em;color:#32373c;margin-right:.625em;word-break:normal}.wp-block-search .wp-block-search__button.has-icon{line-height:0}.wp-block-search .wp-block-search__button svg{min-width:1.5em;min-height:1.5em}.wp-block-search .wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search .wp-block-search__label{width:100%}.wp-block-search .wp-block-search__input{flex-grow:1;min-width:3em;border:1px solid #949494}.wp-block-search.wp-block-search__button-only .wp-block-search__button{margin-right:0}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper{padding:4px;border:1px solid #949494}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input{border-radius:0;border:none;padding:0 .25em 0 0}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus{outline:none}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button{padding:.125em .5em}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto} \ No newline at end of file +.wp-block-search__button{background:#f7f7f7;border:1px solid #ccc;padding:.375em .625em;color:#32373c;margin-right:.625em;word-break:normal;font-size:inherit;font-family:inherit;line-height:inherit}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{min-width:1.5em;min-height:1.5em;fill:currentColor}.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{padding:8px;flex-grow:1;min-width:3em;border:1px solid #949494;font-size:inherit;font-family:inherit;line-height:inherit}.wp-block-search.wp-block-search__button-only .wp-block-search__button{margin-right:0}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper{padding:4px;border:1px solid #949494}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input{border-radius:0;border:none;padding:0 .25em 0 0}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus{outline:none}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button{padding:.125em .5em}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto} \ No newline at end of file diff --git a/wp-includes/blocks/search/style.css b/wp-includes/blocks/search/style.css index c6af7eb018..23267f9fcc 100644 --- a/wp-includes/blocks/search/style.css +++ b/wp-includes/blocks/search/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,38 +74,51 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -.wp-block-search .wp-block-search__button { +.wp-block-search__button { background: #f7f7f7; border: 1px solid #ccc; padding: 0.375em 0.625em; color: #32373c; margin-left: 0.625em; word-break: normal; + font-size: inherit; + font-family: inherit; + line-height: inherit; } -.wp-block-search .wp-block-search__button.has-icon { +.wp-block-search__button.has-icon { line-height: 0; } -.wp-block-search .wp-block-search__button svg { +.wp-block-search__button svg { min-width: 1.5em; min-height: 1.5em; + fill: currentColor; } -.wp-block-search .wp-block-search__inside-wrapper { + +.wp-block-search__inside-wrapper { display: flex; flex: auto; flex-wrap: nowrap; max-width: 100%; } -.wp-block-search .wp-block-search__label { + +.wp-block-search__label { width: 100%; } -.wp-block-search .wp-block-search__input { + +.wp-block-search__input { + padding: 8px; flex-grow: 1; min-width: 3em; border: 1px solid #949494; + font-size: inherit; + font-family: inherit; + line-height: inherit; } + .wp-block-search.wp-block-search__button-only .wp-block-search__button { margin-left: 0; } + .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper { padding: 4px; border: 1px solid #949494; @@ -115,6 +134,7 @@ .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button { padding: 0.125em 0.5em; } + .wp-block-search.aligncenter .wp-block-search__inside-wrapper { margin: auto; } \ 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 ff5228100c..0a43764140 100644 --- a/wp-includes/blocks/search/style.min.css +++ b/wp-includes/blocks/search/style.min.css @@ -1 +1 @@ -.wp-block-search .wp-block-search__button{background:#f7f7f7;border:1px solid #ccc;padding:.375em .625em;color:#32373c;margin-left:.625em;word-break:normal}.wp-block-search .wp-block-search__button.has-icon{line-height:0}.wp-block-search .wp-block-search__button svg{min-width:1.5em;min-height:1.5em}.wp-block-search .wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search .wp-block-search__label{width:100%}.wp-block-search .wp-block-search__input{flex-grow:1;min-width:3em;border:1px solid #949494}.wp-block-search.wp-block-search__button-only .wp-block-search__button{margin-left:0}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper{padding:4px;border:1px solid #949494}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input{border-radius:0;border:none;padding:0 0 0 .25em}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus{outline:none}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button{padding:.125em .5em}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto} \ No newline at end of file +.wp-block-search__button{background:#f7f7f7;border:1px solid #ccc;padding:.375em .625em;color:#32373c;margin-left:.625em;word-break:normal;font-size:inherit;font-family:inherit;line-height:inherit}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{min-width:1.5em;min-height:1.5em;fill:currentColor}.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{padding:8px;flex-grow:1;min-width:3em;border:1px solid #949494;font-size:inherit;font-family:inherit;line-height:inherit}.wp-block-search.wp-block-search__button-only .wp-block-search__button{margin-left:0}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper{padding:4px;border:1px solid #949494}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input{border-radius:0;border:none;padding:0 0 0 .25em}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus{outline:none}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button{padding:.125em .5em}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto} \ No newline at end of file diff --git a/wp-includes/blocks/search/theme-rtl.css b/wp-includes/blocks/search/theme-rtl.css new file mode 100644 index 0000000000..b89e43707d --- /dev/null +++ b/wp-includes/blocks/search/theme-rtl.css @@ -0,0 +1,79 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-search .wp-block-search__label { + font-weight: bold; +} \ No newline at end of file diff --git a/wp-includes/blocks/search/theme-rtl.min.css b/wp-includes/blocks/search/theme-rtl.min.css new file mode 100644 index 0000000000..cb932bbd63 --- /dev/null +++ b/wp-includes/blocks/search/theme-rtl.min.css @@ -0,0 +1 @@ +.wp-block-search .wp-block-search__label{font-weight:700} \ No newline at end of file diff --git a/wp-includes/blocks/search/theme.css b/wp-includes/blocks/search/theme.css new file mode 100644 index 0000000000..b89e43707d --- /dev/null +++ b/wp-includes/blocks/search/theme.css @@ -0,0 +1,79 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-search .wp-block-search__label { + font-weight: bold; +} \ No newline at end of file diff --git a/wp-includes/blocks/search/theme.min.css b/wp-includes/blocks/search/theme.min.css new file mode 100644 index 0000000000..cb932bbd63 --- /dev/null +++ b/wp-includes/blocks/search/theme.min.css @@ -0,0 +1 @@ +.wp-block-search .wp-block-search__label{font-weight:700} \ No newline at end of file diff --git a/wp-includes/blocks/separator/editor-rtl.css b/wp-includes/blocks/separator/editor-rtl.css index c47a782400..7732be5547 100644 --- a/wp-includes/blocks/separator/editor-rtl.css +++ b/wp-includes/blocks/separator/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/separator/editor.css b/wp-includes/blocks/separator/editor.css index c47a782400..7732be5547 100644 --- a/wp-includes/blocks/separator/editor.css +++ b/wp-includes/blocks/separator/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/separator/style-rtl.css b/wp-includes/blocks/separator/style-rtl.css index 9c59f085ab..b8fc44a68d 100644 --- a/wp-includes/blocks/separator/style-rtl.css +++ b/wp-includes/blocks/separator/style-rtl.css @@ -41,6 +41,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -80,7 +86,6 @@ background: none !important; border: none; text-align: center; - width: none; line-height: 1; height: auto; } diff --git a/wp-includes/blocks/separator/style-rtl.min.css b/wp-includes/blocks/separator/style-rtl.min.css index 3bb9081c86..d944f9f53f 100644 --- a/wp-includes/blocks/separator/style-rtl.min.css +++ b/wp-includes/blocks/separator/style-rtl.min.css @@ -1 +1 @@ -@charset "UTF-8";.wp-block-separator{border-top:1px solid;border-bottom:1px solid}.wp-block-separator.is-style-wide{border-bottom-width:1px}.wp-block-separator.is-style-dots{background:none!important;border:none;text-align:center;width:none;line-height:1;height:auto}.wp-block-separator.is-style-dots:before{content:"···";color:currentColor;font-size:1.5em;letter-spacing:2em;padding-left:2em;font-family:serif} \ No newline at end of file +@charset "UTF-8";.wp-block-separator{border-top:1px solid;border-bottom:1px solid}.wp-block-separator.is-style-wide{border-bottom-width:1px}.wp-block-separator.is-style-dots{background:none!important;border:none;text-align:center;line-height:1;height:auto}.wp-block-separator.is-style-dots:before{content:"···";color:currentColor;font-size:1.5em;letter-spacing:2em;padding-left:2em;font-family:serif} \ No newline at end of file diff --git a/wp-includes/blocks/separator/style.css b/wp-includes/blocks/separator/style.css index b824ff9a7a..af844bded2 100644 --- a/wp-includes/blocks/separator/style.css +++ b/wp-includes/blocks/separator/style.css @@ -41,6 +41,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -80,7 +86,6 @@ background: none !important; border: none; text-align: center; - width: none; line-height: 1; height: auto; } diff --git a/wp-includes/blocks/separator/style.min.css b/wp-includes/blocks/separator/style.min.css index 3bb9081c86..d944f9f53f 100644 --- a/wp-includes/blocks/separator/style.min.css +++ b/wp-includes/blocks/separator/style.min.css @@ -1 +1 @@ -@charset "UTF-8";.wp-block-separator{border-top:1px solid;border-bottom:1px solid}.wp-block-separator.is-style-wide{border-bottom-width:1px}.wp-block-separator.is-style-dots{background:none!important;border:none;text-align:center;width:none;line-height:1;height:auto}.wp-block-separator.is-style-dots:before{content:"···";color:currentColor;font-size:1.5em;letter-spacing:2em;padding-left:2em;font-family:serif} \ No newline at end of file +@charset "UTF-8";.wp-block-separator{border-top:1px solid;border-bottom:1px solid}.wp-block-separator.is-style-wide{border-bottom-width:1px}.wp-block-separator.is-style-dots{background:none!important;border:none;text-align:center;line-height:1;height:auto}.wp-block-separator.is-style-dots:before{content:"···";color:currentColor;font-size:1.5em;letter-spacing:2em;padding-left:2em;font-family:serif} \ No newline at end of file diff --git a/wp-includes/blocks/separator/theme-rtl.css b/wp-includes/blocks/separator/theme-rtl.css new file mode 100644 index 0000000000..516d6c486d --- /dev/null +++ b/wp-includes/blocks/separator/theme-rtl.css @@ -0,0 +1,93 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-separator { + border: none; + border-bottom: 2px solid currentColor; + margin-right: auto; + margin-left: auto; + opacity: 0.4; +} +.wp-block-separator:not(.is-style-wide):not(.is-style-dots) { + width: 100px; +} +.wp-block-separator.has-background:not(.is-style-dots) { + border-bottom: none; + height: 1px; +} +.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots) { + height: 2px; +} \ No newline at end of file diff --git a/wp-includes/blocks/separator/theme-rtl.min.css b/wp-includes/blocks/separator/theme-rtl.min.css new file mode 100644 index 0000000000..c983d184b7 --- /dev/null +++ b/wp-includes/blocks/separator/theme-rtl.min.css @@ -0,0 +1 @@ +.wp-block-separator{border:none;border-bottom:2px solid;margin-right:auto;margin-left:auto;opacity:.4}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px} \ No newline at end of file diff --git a/wp-includes/blocks/separator/theme.css b/wp-includes/blocks/separator/theme.css new file mode 100644 index 0000000000..0470119d94 --- /dev/null +++ b/wp-includes/blocks/separator/theme.css @@ -0,0 +1,93 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-separator { + border: none; + border-bottom: 2px solid currentColor; + margin-left: auto; + margin-right: auto; + opacity: 0.4; +} +.wp-block-separator:not(.is-style-wide):not(.is-style-dots) { + width: 100px; +} +.wp-block-separator.has-background:not(.is-style-dots) { + border-bottom: none; + height: 1px; +} +.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots) { + height: 2px; +} \ No newline at end of file diff --git a/wp-includes/blocks/separator/theme.min.css b/wp-includes/blocks/separator/theme.min.css new file mode 100644 index 0000000000..b701f87e74 --- /dev/null +++ b/wp-includes/blocks/separator/theme.min.css @@ -0,0 +1 @@ +.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto;opacity:.4}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px} \ No newline at end of file diff --git a/wp-includes/blocks/shortcode/editor-rtl.css b/wp-includes/blocks/shortcode/editor-rtl.css index 4e12d3afbd..264d9cfd98 100644 --- a/wp-includes/blocks/shortcode/editor-rtl.css +++ b/wp-includes/blocks/shortcode/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/shortcode/editor.css b/wp-includes/blocks/shortcode/editor.css index 4e12d3afbd..264d9cfd98 100644 --- a/wp-includes/blocks/shortcode/editor.css +++ b/wp-includes/blocks/shortcode/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/site-logo.php b/wp-includes/blocks/site-logo.php index ef24e73e1e..c227781eec 100644 --- a/wp-includes/blocks/site-logo.php +++ b/wp-includes/blocks/site-logo.php @@ -133,6 +133,12 @@ add_filter( 'pre_set_theme_mod_custom_logo', '_sync_custom_logo_to_site_logo' ); * @param array $value Updated theme mod settings. */ function _delete_site_logo_on_remove_custom_logo( $old_value, $value ) { + global $_ignore_site_logo_changes; + + if ( $_ignore_site_logo_changes ) { + return; + } + // If the custom_logo is being unset, it's being removed from theme mods. if ( isset( $old_value['custom_logo'] ) && ! isset( $value['custom_logo'] ) ) { delete_option( 'site_logo' ); @@ -143,6 +149,12 @@ function _delete_site_logo_on_remove_custom_logo( $old_value, $value ) { * Deletes the site logo when all theme mods are being removed. */ function _delete_site_logo_on_remove_theme_mods() { + global $_ignore_site_logo_changes; + + if ( $_ignore_site_logo_changes ) { + return; + } + if ( false !== get_theme_support( 'custom-logo' ) ) { delete_option( 'site_logo' ); } @@ -160,3 +172,21 @@ function _delete_site_logo_on_remove_custom_logo_on_setup_theme() { add_action( "delete_option_theme_mods_$theme", '_delete_site_logo_on_remove_theme_mods' ); } add_action( 'setup_theme', '_delete_site_logo_on_remove_custom_logo_on_setup_theme', 11 ); + +/** + * Removes the custom_logo theme-mod when the site_logo option gets deleted. + */ +function _delete_custom_logo_on_remove_site_logo() { + global $_ignore_site_logo_changes; + + // Prevent _delete_site_logo_on_remove_custom_logo and + // _delete_site_logo_on_remove_theme_mods from firing and causing an + // infinite loop. + $_ignore_site_logo_changes = true; + + // Remove the custom logo. + remove_theme_mod( 'custom_logo' ); + + $_ignore_site_logo_changes = false; +} +add_action( 'delete_option_site_logo', '_delete_custom_logo_on_remove_site_logo' ); diff --git a/wp-includes/blocks/site-logo/block.json b/wp-includes/blocks/site-logo/block.json index c40cfcdd2b..2bbe4dd29c 100644 --- a/wp-includes/blocks/site-logo/block.json +++ b/wp-includes/blocks/site-logo/block.json @@ -3,7 +3,7 @@ "name": "core/site-logo", "title": "Site Logo", "category": "layout", - "description": "Useful for displaying a graphic mark, design, or symbol to represent the site. Once a site logo is set, it can be reused in different places and templates. It should not be confused with the site icon, which is the small image used in the dashboard, browser tabs, public search results, etc, to help recognize a site.", + "description": "Display a graphic to represent this site. Update the block, and the changes apply everywhere it’s used. This is different than the site icon, which is the smaller image visible in your dashboard, browser tabs, etc used to help others recognize this site.", "textdomain": "default", "attributes": { "align": { @@ -21,10 +21,21 @@ "default": "_self" } }, + "example": { + "viewportWidth": 500, + "attributes": { + "width": 350 + } + }, "supports": { "html": false, "align": true, - "alignWide": false + "alignWide": false, + "color": { + "__experimentalDuotone": "img", + "text": false, + "background": false + } }, "styles": [ { diff --git a/wp-includes/blocks/site-logo/editor-rtl.css b/wp-includes/blocks/site-logo/editor-rtl.css index 0c8910804f..d1961a328b 100644 --- a/wp-includes/blocks/site-logo/editor-rtl.css +++ b/wp-includes/blocks/site-logo/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -84,6 +90,7 @@ width: 120px; } .wp-block-site-logo.is-default-size img { + height: auto; width: 100%; } .wp-block-site-logo .custom-logo-link { @@ -97,26 +104,34 @@ } .wp-block-site-logo img { display: block; + height: auto; max-width: 100%; } -.wp-block-site-logo .components-placeholder { - justify-content: flex-start; - min-height: auto; + +.wp-block-site-logo.wp-block-site-logo .components-placeholder, +.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container { + border-radius: inherit; +} +.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder { height: 120px; - padding: 12px; + width: 120px; } -.wp-block-site-logo .components-placeholder .components-placeholder__label { - margin-top: 12px; - white-space: nowrap; +.wp-block-site-logo.wp-block-site-logo .components-placeholder { + justify-content: center; + align-items: center; + box-shadow: none; + padding: 0; + min-height: 48px; + min-width: 48px; + height: 100%; + width: 100%; + color: currentColor; + background: transparent; } -.wp-block-site-logo .components-placeholder .components-placeholder__label .block-editor-block-icon, -.wp-block-site-logo .components-placeholder .components-placeholder__label > svg { - margin-left: 4px; -} -.wp-block-site-logo .components-placeholder .components-form-file-upload { +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-form-file-upload { display: none; } -.wp-block-site-logo .components-placeholder .components-placeholder__preview { +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__preview { position: absolute; top: 4px; left: 4px; @@ -127,6 +142,65 @@ align-items: center; justify-content: center; } -.wp-block-site-logo .components-placeholder .components-drop-zone__content-text { +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text { display: none; +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder::before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + border: 1px dashed currentColor; + opacity: 0.3; + pointer-events: none; + border-radius: inherit; +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__fieldset { + width: auto; +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button { + color: inherit; + padding: 0; + display: flex; + justify-content: center; + align-items: center; + width: 48px; + height: 48px; + border-radius: 50%; + position: relative; + visibility: hidden; + background: transparent; + transition: all 0.1s linear; +} +@media (prefers-reduced-motion: reduce) { + .wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button { + transition-duration: 0s; + transition-delay: 0s; + } +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button > svg { + color: #fff; +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__illustration { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + width: 100%; + height: 100%; + stroke: currentColor; + stroke-dasharray: 3; + opacity: 0.3; +} +.wp-block-site-logo.wp-block-site-logo.is-selected .components-button.components-button { + background: var(--wp-admin-theme-color); + border-color: var(--wp-admin-theme-color); + border-style: solid; + color: #fff; + opacity: 1; + visibility: visible; } \ No newline at end of file diff --git a/wp-includes/blocks/site-logo/editor-rtl.min.css b/wp-includes/blocks/site-logo/editor-rtl.min.css index 9e9df73b74..2e18b2b6d4 100644 --- a/wp-includes/blocks/site-logo/editor-rtl.min.css +++ b/wp-includes/blocks/site-logo/editor-rtl.min.css @@ -1 +1 @@ -.wp-block[data-align=center]>.wp-block-site-logo{margin-right:auto;margin-left:auto;text-align:center}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo:not(.is-default-size){display:table}.wp-block-site-logo.is-default-size{width:120px}.wp-block-site-logo.is-default-size img{width:100%}.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;max-width:100%}.wp-block-site-logo .components-placeholder{justify-content:flex-start;min-height:auto;height:120px;padding:12px}.wp-block-site-logo .components-placeholder .components-placeholder__label{margin-top:12px;white-space:nowrap}.wp-block-site-logo .components-placeholder .components-placeholder__label .block-editor-block-icon,.wp-block-site-logo .components-placeholder .components-placeholder__label>svg{margin-left:4px}.wp-block-site-logo .components-placeholder .components-form-file-upload{display:none}.wp-block-site-logo .components-placeholder .components-placeholder__preview{position:absolute;top:4px;left:4px;bottom:4px;right:4px;background:hsla(0,0%,100%,.8);display:flex;align-items:center;justify-content:center}.wp-block-site-logo .components-placeholder .components-drop-zone__content-text{display:none} \ No newline at end of file +.wp-block[data-align=center]>.wp-block-site-logo{margin-right:auto;margin-left:auto;text-align:center}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo:not(.is-default-size){display:table}.wp-block-site-logo.is-default-size{width:120px}.wp-block-site-logo.is-default-size img{height:auto;width:100%}.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 .components-placeholder,.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container{border-radius:inherit}.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder{height:120px;width:120px}.wp-block-site-logo.wp-block-site-logo .components-placeholder{justify-content:center;align-items:center;box-shadow:none;padding:0;min-height:48px;min-width:48px;height:100%;width:100%;color:currentColor;background:transparent}.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-placeholder__preview{position:absolute;top:4px;left:4px;bottom:4px;right:4px;background:hsla(0,0%,100%,.8);display:flex;align-items:center;justify-content:center}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text{display:none}.wp-block-site-logo.wp-block-site-logo .components-placeholder:before{content:"";display:block;position:absolute;top:0;left:0;bottom:0;right:0;border:1px dashed;opacity:.3;pointer-events:none;border-radius:inherit}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__fieldset{width:auto}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{color:inherit;padding:0;display:flex;justify-content:center;align-items:center;width:48px;height:48px;border-radius:50%;position:relative;visibility:hidden;background:transparent;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{transition-duration:0s;transition-delay:0s}}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button>svg{color:#fff}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__illustration{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;stroke:currentColor;stroke-dasharray:3;opacity:.3}.wp-block-site-logo.wp-block-site-logo.is-selected .components-button.components-button{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-style:solid;color:#fff;opacity:1;visibility:visible} \ No newline at end of file diff --git a/wp-includes/blocks/site-logo/editor.css b/wp-includes/blocks/site-logo/editor.css index ec977aa055..cc26076aa3 100644 --- a/wp-includes/blocks/site-logo/editor.css +++ b/wp-includes/blocks/site-logo/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -84,6 +90,7 @@ width: 120px; } .wp-block-site-logo.is-default-size img { + height: auto; width: 100%; } .wp-block-site-logo .custom-logo-link { @@ -97,26 +104,34 @@ } .wp-block-site-logo img { display: block; + height: auto; max-width: 100%; } -.wp-block-site-logo .components-placeholder { - justify-content: flex-start; - min-height: auto; + +.wp-block-site-logo.wp-block-site-logo .components-placeholder, +.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container { + border-radius: inherit; +} +.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder { height: 120px; - padding: 12px; + width: 120px; } -.wp-block-site-logo .components-placeholder .components-placeholder__label { - margin-top: 12px; - white-space: nowrap; +.wp-block-site-logo.wp-block-site-logo .components-placeholder { + justify-content: center; + align-items: center; + box-shadow: none; + padding: 0; + min-height: 48px; + min-width: 48px; + height: 100%; + width: 100%; + color: currentColor; + background: transparent; } -.wp-block-site-logo .components-placeholder .components-placeholder__label .block-editor-block-icon, -.wp-block-site-logo .components-placeholder .components-placeholder__label > svg { - margin-right: 4px; -} -.wp-block-site-logo .components-placeholder .components-form-file-upload { +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-form-file-upload { display: none; } -.wp-block-site-logo .components-placeholder .components-placeholder__preview { +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__preview { position: absolute; top: 4px; right: 4px; @@ -127,6 +142,65 @@ align-items: center; justify-content: center; } -.wp-block-site-logo .components-placeholder .components-drop-zone__content-text { +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text { display: none; +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder::before { + content: ""; + display: block; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border: 1px dashed currentColor; + opacity: 0.3; + pointer-events: none; + border-radius: inherit; +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__fieldset { + width: auto; +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button { + color: inherit; + padding: 0; + display: flex; + justify-content: center; + align-items: center; + width: 48px; + height: 48px; + border-radius: 50%; + position: relative; + visibility: hidden; + background: transparent; + transition: all 0.1s linear; +} +@media (prefers-reduced-motion: reduce) { + .wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button { + transition-duration: 0s; + transition-delay: 0s; + } +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button > svg { + color: #fff; +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__illustration { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + stroke: currentColor; + stroke-dasharray: 3; + opacity: 0.3; +} +.wp-block-site-logo.wp-block-site-logo.is-selected .components-button.components-button { + background: var(--wp-admin-theme-color); + border-color: var(--wp-admin-theme-color); + border-style: solid; + color: #fff; + opacity: 1; + visibility: visible; } \ No newline at end of file diff --git a/wp-includes/blocks/site-logo/editor.min.css b/wp-includes/blocks/site-logo/editor.min.css index 0b48ccd28a..80a820e5ef 100644 --- a/wp-includes/blocks/site-logo/editor.min.css +++ b/wp-includes/blocks/site-logo/editor.min.css @@ -1 +1 @@ -.wp-block[data-align=center]>.wp-block-site-logo{margin-left:auto;margin-right:auto;text-align:center}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo:not(.is-default-size){display:table}.wp-block-site-logo.is-default-size{width:120px}.wp-block-site-logo.is-default-size img{width:100%}.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;max-width:100%}.wp-block-site-logo .components-placeholder{justify-content:flex-start;min-height:auto;height:120px;padding:12px}.wp-block-site-logo .components-placeholder .components-placeholder__label{margin-top:12px;white-space:nowrap}.wp-block-site-logo .components-placeholder .components-placeholder__label .block-editor-block-icon,.wp-block-site-logo .components-placeholder .components-placeholder__label>svg{margin-right:4px}.wp-block-site-logo .components-placeholder .components-form-file-upload{display:none}.wp-block-site-logo .components-placeholder .components-placeholder__preview{position:absolute;top:4px;right:4px;bottom:4px;left:4px;background:hsla(0,0%,100%,.8);display:flex;align-items:center;justify-content:center}.wp-block-site-logo .components-placeholder .components-drop-zone__content-text{display:none} \ No newline at end of file +.wp-block[data-align=center]>.wp-block-site-logo{margin-left:auto;margin-right:auto;text-align:center}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo:not(.is-default-size){display:table}.wp-block-site-logo.is-default-size{width:120px}.wp-block-site-logo.is-default-size img{height:auto;width:100%}.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 .components-placeholder,.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container{border-radius:inherit}.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder{height:120px;width:120px}.wp-block-site-logo.wp-block-site-logo .components-placeholder{justify-content:center;align-items:center;box-shadow:none;padding:0;min-height:48px;min-width:48px;height:100%;width:100%;color:currentColor;background:transparent}.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-placeholder__preview{position:absolute;top:4px;right:4px;bottom:4px;left:4px;background:hsla(0,0%,100%,.8);display:flex;align-items:center;justify-content:center}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text{display:none}.wp-block-site-logo.wp-block-site-logo .components-placeholder:before{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;border:1px dashed;opacity:.3;pointer-events:none;border-radius:inherit}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__fieldset{width:auto}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{color:inherit;padding:0;display:flex;justify-content:center;align-items:center;width:48px;height:48px;border-radius:50%;position:relative;visibility:hidden;background:transparent;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{transition-duration:0s;transition-delay:0s}}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button>svg{color:#fff}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__illustration{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;stroke:currentColor;stroke-dasharray:3;opacity:.3}.wp-block-site-logo.wp-block-site-logo.is-selected .components-button.components-button{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-style:solid;color:#fff;opacity:1;visibility:visible} \ No newline at end of file diff --git a/wp-includes/blocks/site-logo/style-rtl.css b/wp-includes/blocks/site-logo/style-rtl.css index a9f9fdd63c..8fc6d932e3 100644 --- a/wp-includes/blocks/site-logo/style-rtl.css +++ b/wp-includes/blocks/site-logo/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -78,9 +84,13 @@ width: 120px; height: auto; } -.wp-block-site-logo .aligncenter { +.wp-block-site-logo a, +.wp-block-site-logo img { + border-radius: inherit; +} +.wp-block-site-logo.aligncenter { display: table; } -.wp-block-site-logo.is-style-rounded img { +.wp-block-site-logo.is-style-rounded { border-radius: 9999px; } \ No newline at end of file diff --git a/wp-includes/blocks/site-logo/style-rtl.min.css b/wp-includes/blocks/site-logo/style-rtl.min.css index 79b08e68b0..34a040a764 100644 --- a/wp-includes/blocks/site-logo/style-rtl.min.css +++ b/wp-includes/blocks/site-logo/style-rtl.min.css @@ -1 +1 @@ -.wp-block-site-logo{line-height:0}.wp-block-site-logo a{display:inline-block}.wp-block-site-logo.is-default-size img{width:120px;height:auto}.wp-block-site-logo .aligncenter{display:table}.wp-block-site-logo.is-style-rounded img{border-radius:9999px} \ No newline at end of file +.wp-block-site-logo{line-height:0}.wp-block-site-logo a{display:inline-block}.wp-block-site-logo.is-default-size img{width:120px;height:auto}.wp-block-site-logo a,.wp-block-site-logo img{border-radius:inherit}.wp-block-site-logo.aligncenter{display:table}.wp-block-site-logo.is-style-rounded{border-radius:9999px} \ No newline at end of file diff --git a/wp-includes/blocks/site-logo/style.css b/wp-includes/blocks/site-logo/style.css index a9f9fdd63c..8fc6d932e3 100644 --- a/wp-includes/blocks/site-logo/style.css +++ b/wp-includes/blocks/site-logo/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -78,9 +84,13 @@ width: 120px; height: auto; } -.wp-block-site-logo .aligncenter { +.wp-block-site-logo a, +.wp-block-site-logo img { + border-radius: inherit; +} +.wp-block-site-logo.aligncenter { display: table; } -.wp-block-site-logo.is-style-rounded img { +.wp-block-site-logo.is-style-rounded { border-radius: 9999px; } \ No newline at end of file diff --git a/wp-includes/blocks/site-logo/style.min.css b/wp-includes/blocks/site-logo/style.min.css index 79b08e68b0..34a040a764 100644 --- a/wp-includes/blocks/site-logo/style.min.css +++ b/wp-includes/blocks/site-logo/style.min.css @@ -1 +1 @@ -.wp-block-site-logo{line-height:0}.wp-block-site-logo a{display:inline-block}.wp-block-site-logo.is-default-size img{width:120px;height:auto}.wp-block-site-logo .aligncenter{display:table}.wp-block-site-logo.is-style-rounded img{border-radius:9999px} \ No newline at end of file +.wp-block-site-logo{line-height:0}.wp-block-site-logo a{display:inline-block}.wp-block-site-logo.is-default-size img{width:120px;height:auto}.wp-block-site-logo a,.wp-block-site-logo img{border-radius:inherit}.wp-block-site-logo.aligncenter{display:table}.wp-block-site-logo.is-style-rounded{border-radius:9999px} \ No newline at end of file diff --git a/wp-includes/blocks/site-tagline/block.json b/wp-includes/blocks/site-tagline/block.json index 13ba84c968..b048b873ef 100644 --- a/wp-includes/blocks/site-tagline/block.json +++ b/wp-includes/blocks/site-tagline/block.json @@ -12,6 +12,7 @@ } }, "supports": { + "align": [ "wide", "full" ], "html": false, "color": { "gradients": true @@ -24,7 +25,13 @@ "fontSize": true, "lineHeight": true, "__experimentalFontFamily": true, - "__experimentalTextTransform": true + "__experimentalTextTransform": true, + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalDefaultControls": { + "fontSize": true + } } }, "editorStyle": "wp-block-site-tagline-editor" diff --git a/wp-includes/blocks/site-tagline/editor-rtl.css b/wp-includes/blocks/site-tagline/editor-rtl.css index 742aa0fd82..9718e9c841 100644 --- a/wp-includes/blocks/site-tagline/editor-rtl.css +++ b/wp-includes/blocks/site-tagline/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/site-tagline/editor.css b/wp-includes/blocks/site-tagline/editor.css index 742aa0fd82..9718e9c841 100644 --- a/wp-includes/blocks/site-tagline/editor.css +++ b/wp-includes/blocks/site-tagline/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/site-title.php b/wp-includes/blocks/site-title.php index 079187f500..a7de6feffa 100644 --- a/wp-includes/blocks/site-title.php +++ b/wp-includes/blocks/site-title.php @@ -21,18 +21,31 @@ function render_block_core_site_title( $attributes ) { $tag_name = 'h1'; $align_class_name = empty( $attributes['textAlign'] ) ? '' : "has-text-align-{$attributes['textAlign']}"; + $aria_current = is_home() || ( is_front_page() && 'page' === get_option( 'show_on_front' ) ) ? ' aria-current="page"' : ''; + if ( isset( $attributes['level'] ) ) { $tag_name = 0 === $attributes['level'] ? 'p' : 'h' . $attributes['level']; } - $link = sprintf( '%2$s', get_bloginfo( 'url' ), $site_title ); + if ( $attributes['isLink'] ) { + $link_attrs = array( + 'href="' . get_bloginfo( 'url' ) . '"', + 'rel="home"', + $aria_current, + ); + if ( '_blank' === $attributes['linkTarget'] ) { + $link_attrs[] = 'target="_blank"'; + $link_attrs[] = 'aria-label="' . esc_attr__( '(opens in a new tab)' ) . '"'; + } + $site_title = sprintf( '%2$s', implode( ' ', $link_attrs ), $site_title ); + } $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $align_class_name ) ); return sprintf( '<%1$s %2$s>%3$s', $tag_name, $wrapper_attributes, - $link + $site_title ); } diff --git a/wp-includes/blocks/site-title/block.json b/wp-includes/blocks/site-title/block.json index c43f078dac..a16d1c9f3b 100644 --- a/wp-includes/blocks/site-title/block.json +++ b/wp-includes/blocks/site-title/block.json @@ -3,7 +3,7 @@ "name": "core/site-title", "title": "Site Title", "category": "design", - "description": "Displays and allows editing the name of the site. The site title usually appears in the browser title bar, in search results, and more. Also available in Settings > General.", + "description": "Displays the name of this site. Update the block, and the changes apply everywhere it’s used. This will also appear in the browser title bar and in search results.", "textdomain": "default", "attributes": { "level": { @@ -12,14 +12,24 @@ }, "textAlign": { "type": "string" + }, + "isLink": { + "type": "boolean", + "default": true + }, + "linkTarget": { + "type": "string", + "default": "_self" } }, + "example": { + "viewportWidth": 500 + }, "supports": { "align": [ "wide", "full" ], "html": false, "color": { "gradients": true, - "text": false, "link": true }, "spacing": { @@ -32,7 +42,15 @@ "__experimentalFontFamily": true, "__experimentalTextTransform": true, "__experimentalFontStyle": true, - "__experimentalFontWeight": true + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalDefaultControls": { + "fontSize": true, + "lineHeight": true, + "fontAppearance": true, + "letterSpacing": true, + "textTransform": true + } } }, "editorStyle": "wp-block-site-title-editor" diff --git a/wp-includes/blocks/site-title/editor-rtl.css b/wp-includes/blocks/site-title/editor-rtl.css index 4cb28ff4d0..703084c6c9 100644 --- a/wp-includes/blocks/site-title/editor-rtl.css +++ b/wp-includes/blocks/site-title/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/site-title/editor.css b/wp-includes/blocks/site-title/editor.css index 4cb28ff4d0..703084c6c9 100644 --- a/wp-includes/blocks/site-title/editor.css +++ b/wp-includes/blocks/site-title/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/social-link/editor-rtl.css b/wp-includes/blocks/social-link/editor-rtl.css index c9c26fb0f1..aa6b3662fc 100644 --- a/wp-includes/blocks/social-link/editor-rtl.css +++ b/wp-includes/blocks/social-link/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -82,4 +88,8 @@ .wp-block-social-links.is-style-pill-shape .wp-social-link button { padding-right: calc((2/3) * 1em); padding-left: calc((2/3) * 1em); +} + +.wp-block-social-links.is-style-logos-only .wp-social-link button { + padding: 0; } \ No newline at end of file diff --git a/wp-includes/blocks/social-link/editor-rtl.min.css b/wp-includes/blocks/social-link/editor-rtl.min.css index 525f9ee841..dcbeb283d0 100644 --- a/wp-includes/blocks/social-link/editor-rtl.min.css +++ b/wp-includes/blocks/social-link/editor-rtl.min.css @@ -1 +1 @@ -.wp-block-social-links .wp-social-link{line-height:0}.wp-block-social-links .wp-social-link button{font-size:inherit;color:currentColor;height:auto;line-height:0;padding:.25em}.wp-block-social-links.is-style-pill-shape .wp-social-link button{padding-right:.66667em;padding-left:.66667em} \ No newline at end of file +.wp-block-social-links .wp-social-link{line-height:0}.wp-block-social-links .wp-social-link button{font-size:inherit;color:currentColor;height:auto;line-height:0;padding:.25em}.wp-block-social-links.is-style-pill-shape .wp-social-link button{padding-right:.66667em;padding-left:.66667em}.wp-block-social-links.is-style-logos-only .wp-social-link button{padding:0} \ No newline at end of file diff --git a/wp-includes/blocks/social-link/editor.css b/wp-includes/blocks/social-link/editor.css index bde459ff11..f49193363e 100644 --- a/wp-includes/blocks/social-link/editor.css +++ b/wp-includes/blocks/social-link/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -82,4 +88,8 @@ .wp-block-social-links.is-style-pill-shape .wp-social-link button { padding-left: calc((2/3) * 1em); padding-right: calc((2/3) * 1em); +} + +.wp-block-social-links.is-style-logos-only .wp-social-link button { + padding: 0; } \ No newline at end of file diff --git a/wp-includes/blocks/social-link/editor.min.css b/wp-includes/blocks/social-link/editor.min.css index 94d7f7c9a7..1d35de1e5b 100644 --- a/wp-includes/blocks/social-link/editor.min.css +++ b/wp-includes/blocks/social-link/editor.min.css @@ -1 +1 @@ -.wp-block-social-links .wp-social-link{line-height:0}.wp-block-social-links .wp-social-link button{font-size:inherit;color:currentColor;height:auto;line-height:0;padding:.25em}.wp-block-social-links.is-style-pill-shape .wp-social-link button{padding-left:.66667em;padding-right:.66667em} \ No newline at end of file +.wp-block-social-links .wp-social-link{line-height:0}.wp-block-social-links .wp-social-link button{font-size:inherit;color:currentColor;height:auto;line-height:0;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} \ No newline at end of file diff --git a/wp-includes/blocks/social-links/block.json b/wp-includes/blocks/social-links/block.json index b559ae04fa..091b7ba614 100644 --- a/wp-includes/blocks/social-links/block.json +++ b/wp-includes/blocks/social-links/block.json @@ -40,7 +40,29 @@ }, "supports": { "align": [ "left", "center", "right" ], - "anchor": true + "anchor": true, + "__experimentalExposeControlsToChildren": true, + "__experimentalLayout": { + "allowSwitching": false, + "allowInheriting": false, + "default": { + "type": "flex" + } + }, + "spacing": { + "blockGap": true, + "margin": [ "top", "bottom" ], + "units": [ + "px", + "em", + "rem", + "vh", + "vw" + ], + "__experimentalDefaultControls": { + "blockGap": true + } + } }, "styles": [ { "name": "default", "label": "Default", "isDefault": true }, diff --git a/wp-includes/blocks/social-links/editor-rtl.css b/wp-includes/blocks/social-links/editor-rtl.css index bf503290eb..e1f1d2174f 100644 --- a/wp-includes/blocks/social-links/editor-rtl.css +++ b/wp-includes/blocks/social-links/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -106,6 +112,10 @@ padding-right: calc((2/3) * 1em); padding-left: calc((2/3) * 1em); } +.is-style-logos-only .wp-block-social-links__social-placeholder + .block-list-appender, +.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 { content: ""; display: block; diff --git a/wp-includes/blocks/social-links/editor-rtl.min.css b/wp-includes/blocks/social-links/editor-rtl.min.css index 73e9b66850..364e5f71df 100644 --- a/wp-includes/blocks/social-links/editor-rtl.min.css +++ b/wp-includes/blocks/social-links/editor-rtl.min.css @@ -1 +1 @@ -.wp-block-social-links div.block-editor-url-input{display:inline-block;margin-right:8px}.wp-social-link:hover{transform:none}.editor-styles-wrapper .wp-block-social-links{padding:0}.wp-block-social-links__social-placeholder{display:flex;opacity:.8;list-style:none}.wp-block-social-links__social-placeholder>.wp-social-link{padding-right:0!important;margin-right:0!important;padding-left:0!important;margin-left:0!important;width:0!important;visibility:hidden}.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{display:flex}.wp-block-social-links__social-placeholder+.block-list-appender,.wp-block-social-links__social-placeholder .wp-social-link{padding:.25em}.is-style-pill-shape .wp-block-social-links__social-placeholder+.block-list-appender,.is-style-pill-shape .wp-block-social-links__social-placeholder .wp-social-link{padding-right:.66667em;padding-left:.66667em}.wp-block-social-links__social-placeholder .wp-social-link:before{content:"";display:block;width:1em;height:1em;border-radius:50%}.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{list-style:none;order:2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:24px;margin-top:auto;margin-bottom:auto;cursor:default;padding-left:8px}.wp-block-social-links .wp-block-social-links__social-prompt+.block-list-appender{margin-left:8px;padding:.25em}.wp-block-social-links .block-list-appender{margin:4px 0 4px auto;border-radius:9999px}.wp-block-social-links .block-list-appender .block-editor-inserter{display:flex;align-items:center;justify-content:center;font-size:inherit;width:1em;height:1em}.has-small-icon-size .wp-block-social-links .block-list-appender{font-size:16px}.has-normal-icon-size .wp-block-social-links .block-list-appender{font-size:24px}.has-large-icon-size .wp-block-social-links .block-list-appender{font-size:36px}.has-huge-icon-size .wp-block-social-links .block-list-appender{font-size:48px}.wp-block-social-links .block-list-appender:before{content:none}.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-duration:0s;transition-delay: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} \ No newline at end of file +.wp-block-social-links div.block-editor-url-input{display:inline-block;margin-right:8px}.wp-social-link:hover{transform:none}.editor-styles-wrapper .wp-block-social-links{padding:0}.wp-block-social-links__social-placeholder{display:flex;opacity:.8;list-style:none}.wp-block-social-links__social-placeholder>.wp-social-link{padding-right:0!important;margin-right:0!important;padding-left:0!important;margin-left:0!important;width:0!important;visibility:hidden}.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{display:flex}.wp-block-social-links__social-placeholder+.block-list-appender,.wp-block-social-links__social-placeholder .wp-social-link{padding:.25em}.is-style-pill-shape .wp-block-social-links__social-placeholder+.block-list-appender,.is-style-pill-shape .wp-block-social-links__social-placeholder .wp-social-link{padding-right:.66667em;padding-left:.66667em}.is-style-logos-only .wp-block-social-links__social-placeholder+.block-list-appender,.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{content:"";display:block;width:1em;height:1em;border-radius:50%}.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{list-style:none;order:2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:24px;margin-top:auto;margin-bottom:auto;cursor:default;padding-left:8px}.wp-block-social-links .wp-block-social-links__social-prompt+.block-list-appender{margin-left:8px;padding:.25em}.wp-block-social-links .block-list-appender{margin:4px 0 4px auto;border-radius:9999px}.wp-block-social-links .block-list-appender .block-editor-inserter{display:flex;align-items:center;justify-content:center;font-size:inherit;width:1em;height:1em}.has-small-icon-size .wp-block-social-links .block-list-appender{font-size:16px}.has-normal-icon-size .wp-block-social-links .block-list-appender{font-size:24px}.has-large-icon-size .wp-block-social-links .block-list-appender{font-size:36px}.has-huge-icon-size .wp-block-social-links .block-list-appender{font-size:48px}.wp-block-social-links .block-list-appender:before{content:none}.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-duration:0s;transition-delay: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} \ No newline at end of file diff --git a/wp-includes/blocks/social-links/editor.css b/wp-includes/blocks/social-links/editor.css index 0964214450..65d4e896bd 100644 --- a/wp-includes/blocks/social-links/editor.css +++ b/wp-includes/blocks/social-links/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -106,6 +112,10 @@ padding-left: calc((2/3) * 1em); padding-right: calc((2/3) * 1em); } +.is-style-logos-only .wp-block-social-links__social-placeholder + .block-list-appender, +.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 { content: ""; display: block; diff --git a/wp-includes/blocks/social-links/editor.min.css b/wp-includes/blocks/social-links/editor.min.css index 3e049a20a7..f8d1ea6285 100644 --- a/wp-includes/blocks/social-links/editor.min.css +++ b/wp-includes/blocks/social-links/editor.min.css @@ -1 +1 @@ -.wp-block-social-links div.block-editor-url-input{display:inline-block;margin-left:8px}.wp-social-link:hover{transform:none}.editor-styles-wrapper .wp-block-social-links{padding:0}.wp-block-social-links__social-placeholder{display:flex;opacity:.8;list-style:none}.wp-block-social-links__social-placeholder>.wp-social-link{padding-left:0!important;margin-left:0!important;padding-right:0!important;margin-right:0!important;width:0!important;visibility:hidden}.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{display:flex}.wp-block-social-links__social-placeholder+.block-list-appender,.wp-block-social-links__social-placeholder .wp-social-link{padding:.25em}.is-style-pill-shape .wp-block-social-links__social-placeholder+.block-list-appender,.is-style-pill-shape .wp-block-social-links__social-placeholder .wp-social-link{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links__social-placeholder .wp-social-link:before{content:"";display:block;width:1em;height:1em;border-radius:50%}.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{list-style:none;order:2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:24px;margin-top:auto;margin-bottom:auto;cursor:default;padding-right:8px}.wp-block-social-links .wp-block-social-links__social-prompt+.block-list-appender{margin-right:8px;padding:.25em}.wp-block-social-links .block-list-appender{margin:4px auto 4px 0;border-radius:9999px}.wp-block-social-links .block-list-appender .block-editor-inserter{display:flex;align-items:center;justify-content:center;font-size:inherit;width:1em;height:1em}.has-small-icon-size .wp-block-social-links .block-list-appender{font-size:16px}.has-normal-icon-size .wp-block-social-links .block-list-appender{font-size:24px}.has-large-icon-size .wp-block-social-links .block-list-appender{font-size:36px}.has-huge-icon-size .wp-block-social-links .block-list-appender{font-size:48px}.wp-block-social-links .block-list-appender:before{content:none}.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-duration:0s;transition-delay: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} \ No newline at end of file +.wp-block-social-links div.block-editor-url-input{display:inline-block;margin-left:8px}.wp-social-link:hover{transform:none}.editor-styles-wrapper .wp-block-social-links{padding:0}.wp-block-social-links__social-placeholder{display:flex;opacity:.8;list-style:none}.wp-block-social-links__social-placeholder>.wp-social-link{padding-left:0!important;margin-left:0!important;padding-right:0!important;margin-right:0!important;width:0!important;visibility:hidden}.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{display:flex}.wp-block-social-links__social-placeholder+.block-list-appender,.wp-block-social-links__social-placeholder .wp-social-link{padding:.25em}.is-style-pill-shape .wp-block-social-links__social-placeholder+.block-list-appender,.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+.block-list-appender,.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{content:"";display:block;width:1em;height:1em;border-radius:50%}.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{list-style:none;order:2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:24px;margin-top:auto;margin-bottom:auto;cursor:default;padding-right:8px}.wp-block-social-links .wp-block-social-links__social-prompt+.block-list-appender{margin-right:8px;padding:.25em}.wp-block-social-links .block-list-appender{margin:4px auto 4px 0;border-radius:9999px}.wp-block-social-links .block-list-appender .block-editor-inserter{display:flex;align-items:center;justify-content:center;font-size:inherit;width:1em;height:1em}.has-small-icon-size .wp-block-social-links .block-list-appender{font-size:16px}.has-normal-icon-size .wp-block-social-links .block-list-appender{font-size:24px}.has-large-icon-size .wp-block-social-links .block-list-appender{font-size:36px}.has-huge-icon-size .wp-block-social-links .block-list-appender{font-size:48px}.wp-block-social-links .block-list-appender:before{content:none}.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-duration:0s;transition-delay: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} \ No newline at end of file diff --git a/wp-includes/blocks/social-links/style-rtl.css b/wp-includes/blocks/social-links/style-rtl.css index f39a938880..d9d80b9b45 100644 --- a/wp-includes/blocks/social-links/style-rtl.css +++ b/wp-includes/blocks/social-links/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -69,8 +75,6 @@ * Reset the WP Admin page styles for Gutenberg-like pages. */ .wp-block-social-links { - display: flex; - flex-wrap: wrap; padding-right: 0; padding-left: 0; text-indent: 0; @@ -82,9 +86,6 @@ border-bottom: 0; box-shadow: none; } -.wp-block-social-links .wp-social-link.wp-social-link.wp-social-link { - margin: 4px 0 4px 8px; -} .wp-block-social-links .wp-social-link a { padding: 0.25em; } @@ -303,7 +304,13 @@ .wp-block-social-links.is-style-logos-only .wp-social-link { background: none; - padding: 4px; +} +.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 { + width: 1.25em; + height: 1.25em; } .wp-block-social-links.is-style-logos-only .wp-social-link-amazon { color: #f90; diff --git a/wp-includes/blocks/social-links/style-rtl.min.css b/wp-includes/blocks/social-links/style-rtl.min.css index 9a49bdbb87..900d154340 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{display:flex;flex-wrap:wrap;padding-right:0;padding-left:0;text-indent:0;margin-right:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{text-decoration:none;border-bottom:0;box-shadow:none}.wp-block-social-links .wp-social-link.wp-social-link.wp-social-link{margin:4px 0 4px 8px}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{width:1em;height:1em}.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{justify-content:center;display:flex}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{display:block;border-radius:9999px;transition:transform .1s ease;height:auto}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-duration:0s;transition-delay:0s}}.wp-block-social-link a{display:block;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: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-block-social-link-anchor svg{color:currentColor;fill: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:#fe4500;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{background-color:#fefc00;color:#fff;stroke:#000}.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-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-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;padding:4px}.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:#fe4500}.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{color:#fff;stroke:#000}.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-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-wordpress{color:#3499cd}.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-right:.66667em;padding-left:.66667em} \ No newline at end of file +.wp-block-social-links{padding-right:0;padding-left:0;text-indent:0;margin-right:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{text-decoration:none;border-bottom:0;box-shadow:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{width:1em;height:1em}.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{justify-content:center;display:flex}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{display:block;border-radius:9999px;transition:transform .1s ease;height:auto}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-duration:0s;transition-delay:0s}}.wp-block-social-link a{display:block;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: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-block-social-link-anchor svg{color:currentColor;fill: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:#fe4500;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{background-color:#fefc00;color:#fff;stroke:#000}.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-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-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{width:1.25em;height: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:#fe4500}.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{color:#fff;stroke:#000}.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-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-wordpress{color:#3499cd}.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-right:.66667em;padding-left:.66667em} \ 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 7c461ba94b..192a2a5902 100644 --- a/wp-includes/blocks/social-links/style.css +++ b/wp-includes/blocks/social-links/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -69,8 +75,6 @@ * Reset the WP Admin page styles for Gutenberg-like pages. */ .wp-block-social-links { - display: flex; - flex-wrap: wrap; padding-left: 0; padding-right: 0; text-indent: 0; @@ -82,9 +86,6 @@ border-bottom: 0; box-shadow: none; } -.wp-block-social-links .wp-social-link.wp-social-link.wp-social-link { - margin: 4px 8px 4px 0; -} .wp-block-social-links .wp-social-link a { padding: 0.25em; } @@ -303,7 +304,13 @@ .wp-block-social-links.is-style-logos-only .wp-social-link { background: none; - padding: 4px; +} +.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 { + width: 1.25em; + height: 1.25em; } .wp-block-social-links.is-style-logos-only .wp-social-link-amazon { color: #f90; diff --git a/wp-includes/blocks/social-links/style.min.css b/wp-includes/blocks/social-links/style.min.css index 4e0f0de118..8bffb31ecd 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{display:flex;flex-wrap:wrap;padding-left:0;padding-right:0;text-indent:0;margin-left:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{text-decoration:none;border-bottom:0;box-shadow:none}.wp-block-social-links .wp-social-link.wp-social-link.wp-social-link{margin:4px 8px 4px 0}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{width:1em;height:1em}.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{justify-content:center;display:flex}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{display:block;border-radius:9999px;transition:transform .1s ease;height:auto}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-duration:0s;transition-delay:0s}}.wp-block-social-link a{display:block;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: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-block-social-link-anchor svg{color:currentColor;fill: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:#fe4500;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{background-color:#fefc00;color:#fff;stroke:#000}.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-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-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;padding:4px}.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:#fe4500}.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{color:#fff;stroke:#000}.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-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-wordpress{color:#3499cd}.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} \ No newline at end of file +.wp-block-social-links{padding-left:0;padding-right:0;text-indent:0;margin-left:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{text-decoration:none;border-bottom:0;box-shadow:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{width:1em;height:1em}.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{justify-content:center;display:flex}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{display:block;border-radius:9999px;transition:transform .1s ease;height:auto}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-duration:0s;transition-delay:0s}}.wp-block-social-link a{display:block;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: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-block-social-link-anchor svg{color:currentColor;fill: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:#fe4500;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{background-color:#fefc00;color:#fff;stroke:#000}.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-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-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{width:1.25em;height: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:#fe4500}.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{color:#fff;stroke:#000}.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-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-wordpress{color:#3499cd}.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} \ No newline at end of file diff --git a/wp-includes/blocks/spacer/editor-rtl.css b/wp-includes/blocks/spacer/editor-rtl.css index 3803be0511..cbe09d6ffa 100644 --- a/wp-includes/blocks/spacer/editor-rtl.css +++ b/wp-includes/blocks/spacer/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -72,9 +78,11 @@ content: ""; display: block; position: absolute; + z-index: 1; width: 100%; - height: 24px; - transform: translateY(-12px); + min-height: 8px; + min-width: 8px; + height: 100%; } .wp-block-spacer.is-hovered .block-library-spacer__resize-container, diff --git a/wp-includes/blocks/spacer/editor-rtl.min.css b/wp-includes/blocks/spacer/editor-rtl.min.css index f2514dc8a1..b335257817 100644 --- a/wp-includes/blocks/spacer/editor-rtl.min.css +++ b/wp-includes/blocks/spacer/editor-rtl.min.css @@ -1 +1 @@ -.block-editor-block-list__block[data-type="core/spacer"]:before{content:"";display:block;position:absolute;width:100%;height:24px;transform:translateY(-12px)}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container{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{background:hsla(0,0%,100%,.15)}.block-library-spacer__resize-container{clear:both}.block-library-spacer__resize-container .components-resizable-box__handle:before{content:none}.block-library-spacer__resize-container.resize-horizontal{margin-bottom:0} \ No newline at end of file +.block-editor-block-list__block[data-type="core/spacer"]:before{content:"";display:block;position:absolute;z-index:1;width:100%;min-height:8px;min-width:8px;height:100%}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container{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{background:hsla(0,0%,100%,.15)}.block-library-spacer__resize-container{clear:both}.block-library-spacer__resize-container .components-resizable-box__handle:before{content:none}.block-library-spacer__resize-container.resize-horizontal{margin-bottom:0} \ No newline at end of file diff --git a/wp-includes/blocks/spacer/editor.css b/wp-includes/blocks/spacer/editor.css index 3803be0511..cbe09d6ffa 100644 --- a/wp-includes/blocks/spacer/editor.css +++ b/wp-includes/blocks/spacer/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -72,9 +78,11 @@ content: ""; display: block; position: absolute; + z-index: 1; width: 100%; - height: 24px; - transform: translateY(-12px); + min-height: 8px; + min-width: 8px; + height: 100%; } .wp-block-spacer.is-hovered .block-library-spacer__resize-container, diff --git a/wp-includes/blocks/spacer/editor.min.css b/wp-includes/blocks/spacer/editor.min.css index f2514dc8a1..b335257817 100644 --- a/wp-includes/blocks/spacer/editor.min.css +++ b/wp-includes/blocks/spacer/editor.min.css @@ -1 +1 @@ -.block-editor-block-list__block[data-type="core/spacer"]:before{content:"";display:block;position:absolute;width:100%;height:24px;transform:translateY(-12px)}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container{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{background:hsla(0,0%,100%,.15)}.block-library-spacer__resize-container{clear:both}.block-library-spacer__resize-container .components-resizable-box__handle:before{content:none}.block-library-spacer__resize-container.resize-horizontal{margin-bottom:0} \ No newline at end of file +.block-editor-block-list__block[data-type="core/spacer"]:before{content:"";display:block;position:absolute;z-index:1;width:100%;min-height:8px;min-width:8px;height:100%}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container{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{background:hsla(0,0%,100%,.15)}.block-library-spacer__resize-container{clear:both}.block-library-spacer__resize-container .components-resizable-box__handle:before{content:none}.block-library-spacer__resize-container.resize-horizontal{margin-bottom:0} \ No newline at end of file diff --git a/wp-includes/blocks/spacer/style-rtl.css b/wp-includes/blocks/spacer/style-rtl.css index daca8f93dd..281b4faca8 100644 --- a/wp-includes/blocks/spacer/style-rtl.css +++ b/wp-includes/blocks/spacer/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/spacer/style.css b/wp-includes/blocks/spacer/style.css index daca8f93dd..281b4faca8 100644 --- a/wp-includes/blocks/spacer/style.css +++ b/wp-includes/blocks/spacer/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/table/block.json b/wp-includes/blocks/table/block.json index 01e5c58520..2890d09545 100644 --- a/wp-includes/blocks/table/block.json +++ b/wp-includes/blocks/table/block.json @@ -3,7 +3,7 @@ "name": "core/table", "title": "Table", "category": "text", - "description": "Insert a table — perfect for sharing charts and data.", + "description": "Create structured content in rows and columns to display information.", "textdomain": "default", "attributes": { "hasFixedLayout": { @@ -129,6 +129,17 @@ "__experimentalSkipSerialization": true, "gradients": true }, + "typography": { + "fontSize": true, + "lineHeight": true, + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalTextTransform": true, + "__experimentalDefaultControls": { + "fontSize": true + } + }, "__experimentalBorder": { "__experimentalSkipSerialization": true, "color": true, diff --git a/wp-includes/blocks/table/editor-rtl.css b/wp-includes/blocks/table/editor-rtl.css index 33202193ae..0e2a5b3557 100644 --- a/wp-includes/blocks/table/editor-rtl.css +++ b/wp-includes/blocks/table/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/table/editor.css b/wp-includes/blocks/table/editor.css index e1d9558466..7ba5978c96 100644 --- a/wp-includes/blocks/table/editor.css +++ b/wp-includes/blocks/table/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/table/style-rtl.css b/wp-includes/blocks/table/style-rtl.css index aa387bf540..a639ea4e84 100644 --- a/wp-includes/blocks/table/style-rtl.css +++ b/wp-includes/blocks/table/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/table/style.css b/wp-includes/blocks/table/style.css index aa387bf540..a639ea4e84 100644 --- a/wp-includes/blocks/table/style.css +++ b/wp-includes/blocks/table/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/table/theme-rtl.css b/wp-includes/blocks/table/theme-rtl.css new file mode 100644 index 0000000000..5afee38702 --- /dev/null +++ b/wp-includes/blocks/table/theme-rtl.css @@ -0,0 +1,96 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-table thead { + border-bottom: 3px solid; +} +.wp-block-table tfoot { + border-top: 3px solid; +} +.wp-block-table td, +.wp-block-table th { + padding: 0.5em; + border: 1px solid; + word-break: normal; +} +.wp-block-table figcaption { + color: #555; + font-size: 13px; + text-align: center; +} +.is-dark-theme .wp-block-table figcaption { + color: rgba(255, 255, 255, 0.65); +} \ No newline at end of file diff --git a/wp-includes/blocks/table/theme-rtl.min.css b/wp-includes/blocks/table/theme-rtl.min.css new file mode 100644 index 0000000000..3d21ce3f4b --- /dev/null +++ b/wp-includes/blocks/table/theme-rtl.min.css @@ -0,0 +1 @@ +.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{padding:.5em;border:1px solid;word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)} \ No newline at end of file diff --git a/wp-includes/blocks/table/theme.css b/wp-includes/blocks/table/theme.css new file mode 100644 index 0000000000..5afee38702 --- /dev/null +++ b/wp-includes/blocks/table/theme.css @@ -0,0 +1,96 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-table thead { + border-bottom: 3px solid; +} +.wp-block-table tfoot { + border-top: 3px solid; +} +.wp-block-table td, +.wp-block-table th { + padding: 0.5em; + border: 1px solid; + word-break: normal; +} +.wp-block-table figcaption { + color: #555; + font-size: 13px; + text-align: center; +} +.is-dark-theme .wp-block-table figcaption { + color: rgba(255, 255, 255, 0.65); +} \ No newline at end of file diff --git a/wp-includes/blocks/table/theme.min.css b/wp-includes/blocks/table/theme.min.css new file mode 100644 index 0000000000..3d21ce3f4b --- /dev/null +++ b/wp-includes/blocks/table/theme.min.css @@ -0,0 +1 @@ +.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{padding:.5em;border:1px solid;word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)} \ No newline at end of file diff --git a/wp-includes/blocks/tag-cloud.php b/wp-includes/blocks/tag-cloud.php index cdebc92271..0658998d4e 100644 --- a/wp-includes/blocks/tag-cloud.php +++ b/wp-includes/blocks/tag-cloud.php @@ -17,6 +17,7 @@ function render_block_core_tag_cloud( $attributes ) { 'echo' => false, 'taxonomy' => $attributes['taxonomy'], 'show_count' => $attributes['showTagCounts'], + 'number' => $attributes['numberOfTags'], ); $tag_cloud = wp_tag_cloud( $args ); diff --git a/wp-includes/blocks/tag-cloud/block.json b/wp-includes/blocks/tag-cloud/block.json index e394a53223..dad4dfdd40 100644 --- a/wp-includes/blocks/tag-cloud/block.json +++ b/wp-includes/blocks/tag-cloud/block.json @@ -6,6 +6,12 @@ "description": "A cloud of your most used tags.", "textdomain": "default", "attributes": { + "numberOfTags": { + "type": "number", + "default": 45, + "minimum": 1, + "maximum": 100 + }, "taxonomy": { "type": "string", "default": "post_tag" diff --git a/wp-includes/blocks/tag-cloud/editor-rtl.min.css b/wp-includes/blocks/tag-cloud/editor-rtl.min.css deleted file mode 100644 index 09597655c8..0000000000 --- a/wp-includes/blocks/tag-cloud/editor-rtl.min.css +++ /dev/null @@ -1 +0,0 @@ -.wp-block-tag-cloud a{display:inline-block;margin-left:5px}.wp-block-tag-cloud span{display:inline-block;margin-right:5px;color:#757575;text-decoration:none} \ No newline at end of file diff --git a/wp-includes/blocks/tag-cloud/editor.css b/wp-includes/blocks/tag-cloud/editor.css deleted file mode 100644 index a0a9d55e51..0000000000 --- a/wp-includes/blocks/tag-cloud/editor.css +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Colors - */ -/** - * Breakpoints & Media Queries - */ -/** - * SCSS Variables. - * - * Please use variables from this sheet to ensure consistency across the UI. - * Don't add to this sheet unless you're pretty sure the value will be reused in many places. - * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. - */ -/** - * Colors - */ -/** - * Fonts & basic variables. - */ -/** - * Grid System. - * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ - */ -/** - * Dimensions. - */ -/** - * Shadows. - */ -/** - * Editor widths. - */ -/** - * Block & Editor UI. - */ -/** - * Block paddings. - */ -/** - * React Native specific. - * These variables do not appear to be used anywhere else. - */ -/** - * Breakpoint mixins - */ -/** - * Long content fade mixin - * - * Creates a fading overlay to signify that the content is longer - * than the space allows. - */ -/** - * Focus styles. - */ -/** - * Applies editor left position to the selector passed as argument - */ -/** - * Styles that are reused verbatim in a few places - */ -/** - * Allows users to opt-out of animations via OS-level preferences. - */ -/** - * Reset default styles for JavaScript UI based pages. - * This is a WP-admin agnostic reset - */ -/** - * Reset the WP Admin page styles for Gutenberg-like pages. - */ -.wp-block-tag-cloud a { - display: inline-block; - margin-right: 5px; -} -.wp-block-tag-cloud span { - display: inline-block; - margin-left: 5px; - color: #757575; - text-decoration: none; -} \ No newline at end of file diff --git a/wp-includes/blocks/tag-cloud/editor.min.css b/wp-includes/blocks/tag-cloud/editor.min.css deleted file mode 100644 index c157a09854..0000000000 --- a/wp-includes/blocks/tag-cloud/editor.min.css +++ /dev/null @@ -1 +0,0 @@ -.wp-block-tag-cloud a{display:inline-block;margin-right:5px}.wp-block-tag-cloud span{display:inline-block;margin-left:5px;color:#757575;text-decoration:none} \ No newline at end of file diff --git a/wp-includes/blocks/tag-cloud/style-rtl.css b/wp-includes/blocks/tag-cloud/style-rtl.css index 80ac0467c9..33e9a5bf42 100644 --- a/wp-includes/blocks/tag-cloud/style-rtl.css +++ b/wp-includes/blocks/tag-cloud/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -74,4 +80,13 @@ .wp-block-tag-cloud.alignfull { padding-right: 1em; padding-left: 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; } \ No newline at end of file diff --git a/wp-includes/blocks/tag-cloud/style-rtl.min.css b/wp-includes/blocks/tag-cloud/style-rtl.min.css index e88c98696b..8a3d0b3929 100644 --- a/wp-includes/blocks/tag-cloud/style-rtl.min.css +++ b/wp-includes/blocks/tag-cloud/style-rtl.min.css @@ -1 +1 @@ -.wp-block-tag-cloud.aligncenter{text-align:center}.wp-block-tag-cloud.alignfull{padding-right:1em;padding-left:1em} \ No newline at end of file +.wp-block-tag-cloud.aligncenter{text-align:center}.wp-block-tag-cloud.alignfull{padding-right:1em;padding-left: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} \ No newline at end of file diff --git a/wp-includes/blocks/tag-cloud/style.css b/wp-includes/blocks/tag-cloud/style.css index 743b91aaa8..4b4e66adaf 100644 --- a/wp-includes/blocks/tag-cloud/style.css +++ b/wp-includes/blocks/tag-cloud/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -74,4 +80,13 @@ .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; } \ No newline at end of file diff --git a/wp-includes/blocks/tag-cloud/style.min.css b/wp-includes/blocks/tag-cloud/style.min.css index 18a57b6389..86e5304b45 100644 --- a/wp-includes/blocks/tag-cloud/style.min.css +++ b/wp-includes/blocks/tag-cloud/style.min.css @@ -1 +1 @@ -.wp-block-tag-cloud.aligncenter{text-align:center}.wp-block-tag-cloud.alignfull{padding-left:1em;padding-right:1em} \ No newline at end of file +.wp-block-tag-cloud.aligncenter{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} \ No newline at end of file diff --git a/wp-includes/blocks/text-columns/editor-rtl.css b/wp-includes/blocks/text-columns/editor-rtl.css index 76a40a55f4..593177994d 100644 --- a/wp-includes/blocks/text-columns/editor-rtl.css +++ b/wp-includes/blocks/text-columns/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/text-columns/editor.css b/wp-includes/blocks/text-columns/editor.css index 76a40a55f4..593177994d 100644 --- a/wp-includes/blocks/text-columns/editor.css +++ b/wp-includes/blocks/text-columns/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/text-columns/style-rtl.css b/wp-includes/blocks/text-columns/style-rtl.css index 9df1f7ab93..184dd3d79f 100644 --- a/wp-includes/blocks/text-columns/style-rtl.css +++ b/wp-includes/blocks/text-columns/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/text-columns/style.css b/wp-includes/blocks/text-columns/style.css index 5027bec01f..b726ae4e25 100644 --- a/wp-includes/blocks/text-columns/style.css +++ b/wp-includes/blocks/text-columns/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/verse/block.json b/wp-includes/blocks/verse/block.json index ec080e7c1e..4260fb8e77 100644 --- a/wp-includes/blocks/verse/block.json +++ b/wp-includes/blocks/verse/block.json @@ -27,7 +27,16 @@ }, "typography": { "fontSize": true, - "__experimentalFontFamily": true + "__experimentalFontFamily": true, + "lineHeight": true, + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalTextTransform": true, + "__experimentalDefaultControls": { + "fontSize": true, + "fontAppearance": true + } }, "spacing": { "padding": true diff --git a/wp-includes/blocks/verse/style-rtl.css b/wp-includes/blocks/verse/style-rtl.css index e1348e799b..d85f01378a 100644 --- a/wp-includes/blocks/verse/style-rtl.css +++ b/wp-includes/blocks/verse/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/verse/style.css b/wp-includes/blocks/verse/style.css index e1348e799b..d85f01378a 100644 --- a/wp-includes/blocks/verse/style.css +++ b/wp-includes/blocks/verse/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/video/editor-rtl.css b/wp-includes/blocks/video/editor-rtl.css index ec988b7a67..981062ce60 100644 --- a/wp-includes/blocks/video/editor-rtl.css +++ b/wp-includes/blocks/video/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/video/editor.css b/wp-includes/blocks/video/editor.css index 3d8ef52dac..f0cba31a4b 100644 --- a/wp-includes/blocks/video/editor.css +++ b/wp-includes/blocks/video/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/video/style-rtl.css b/wp-includes/blocks/video/style-rtl.css index e49ffbeeb8..c5e92d94a2 100644 --- a/wp-includes/blocks/video/style-rtl.css +++ b/wp-includes/blocks/video/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/video/style.css b/wp-includes/blocks/video/style.css index e49ffbeeb8..c5e92d94a2 100644 --- a/wp-includes/blocks/video/style.css +++ b/wp-includes/blocks/video/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ diff --git a/wp-includes/blocks/video/theme-rtl.css b/wp-includes/blocks/video/theme-rtl.css new file mode 100644 index 0000000000..7da4d140cd --- /dev/null +++ b/wp-includes/blocks/video/theme-rtl.css @@ -0,0 +1,84 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-video figcaption { + color: #555; + font-size: 13px; + text-align: center; +} +.is-dark-theme .wp-block-video figcaption { + color: rgba(255, 255, 255, 0.65); +} \ No newline at end of file diff --git a/wp-includes/blocks/video/theme-rtl.min.css b/wp-includes/blocks/video/theme-rtl.min.css new file mode 100644 index 0000000000..c52e49b58d --- /dev/null +++ b/wp-includes/blocks/video/theme-rtl.min.css @@ -0,0 +1 @@ +.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:hsla(0,0%,100%,.65)} \ No newline at end of file diff --git a/wp-includes/blocks/video/theme.css b/wp-includes/blocks/video/theme.css new file mode 100644 index 0000000000..7da4d140cd --- /dev/null +++ b/wp-includes/blocks/video/theme.css @@ -0,0 +1,84 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +.wp-block-video figcaption { + color: #555; + font-size: 13px; + text-align: center; +} +.is-dark-theme .wp-block-video figcaption { + color: rgba(255, 255, 255, 0.65); +} \ No newline at end of file diff --git a/wp-includes/blocks/video/theme.min.css b/wp-includes/blocks/video/theme.min.css new file mode 100644 index 0000000000..c52e49b58d --- /dev/null +++ b/wp-includes/blocks/video/theme.min.css @@ -0,0 +1 @@ +.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:hsla(0,0%,100%,.65)} \ No newline at end of file diff --git a/wp-includes/css/dist/block-directory/style-rtl.css b/wp-includes/css/dist/block-directory/style-rtl.css index f6ac76a651..c2204d8681 100644 --- a/wp-includes/css/dist/block-directory/style-rtl.css +++ b/wp-includes/css/dist/block-directory/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { diff --git a/wp-includes/css/dist/block-directory/style-rtl.min.css b/wp-includes/css/dist/block-directory/style-rtl.min.css index 2b78ae0c06..93965065e9 100644 --- a/wp-includes/css/dist/block-directory/style-rtl.min.css +++ b/wp-includes/css/dist/block-directory/style-rtl.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-directory-block-ratings>span{display:flex}.block-directory-block-ratings svg{fill:#1e1e1e;margin-right:-4px}.block-directory-block-ratings .block-directory-block-ratings__star-empty{fill:#ccc}.block-directory-compact-list{margin:0;list-style:none}.block-directory-compact-list__item{display:flex;flex-direction:row;align-items:center;margin-bottom:16px}.block-directory-compact-list__item:last-child{margin-bottom:0}.block-directory-compact-list__item-details{margin-right:8px}.block-directory-compact-list__item-title{font-weight:500}.block-directory-compact-list__item-author{color:#757575;font-size:11px}.block-directory-downloadable-block-icon{min-width:54px;width:54px;height:54px;vertical-align:middle;border:1px solid #ddd}.block-directory-downloadable-block-list-item{padding:12px;width:100%;height:auto;text-align:right;display:grid;grid-template-columns:auto 1fr}.block-directory-downloadable-block-list-item:hover{box-shadow:0 0 0 2px var(--wp-admin-theme-color)}.block-directory-downloadable-block-list-item.is-busy{background:transparent}.block-directory-downloadable-block-list-item.is-busy .block-directory-downloadable-block-list-item__author{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.block-directory-downloadable-block-list-item:disabled,.block-directory-downloadable-block-list-item[aria-disabled]{opacity:1}.block-directory-downloadable-block-list-item__icon{position:relative;margin-left:16px;align-self:flex-start}.block-directory-downloadable-block-list-item__icon .block-directory-downloadable-block-list-item__spinner{position:absolute;top:0;left:0;bottom:0;right:0;background:hsla(0,0%,100%,.75);display:flex;align-items:center;justify-content:center}.block-directory-block-ratings{display:block;margin-top:4px}.block-directory-downloadable-block-list-item__details{color:#1e1e1e}.block-directory-downloadable-block-list-item__title{display:block;font-weight:600}.block-directory-downloadable-block-list-item__author{display:block;margin-top:4px;font-weight:400}.block-directory-downloadable-block-list-item__desc{display:block;margin-top:8px}.block-directory-downloadable-block-notice{margin:8px 0 0;color:#cc1818}.block-directory-downloadable-block-notice__content{padding-left:12px;margin-bottom:8px}.block-directory-downloadable-blocks-panel{padding:16px}.block-directory-downloadable-blocks-panel.has-blocks-loading{font-style:normal;padding:0;margin:112px 0;text-align:center;color:#757575}.block-directory-downloadable-blocks-panel.has-blocks-loading .components-spinner{float:inherit}.block-directory-downloadable-blocks-panel__no-local{margin:48px 0;padding:0 64px;color:#757575;text-align:center}.block-directory-downloadable-blocks-panel__title{margin:0 0 4px;font-size:14px}.block-directory-downloadable-blocks-panel__description{margin-top:0}.block-directory-downloadable-blocks-panel button{margin-top:4px}.installed-blocks-pre-publish-panel__copy{margin-top:0} \ 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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-directory-block-ratings>span{display:flex}.block-directory-block-ratings svg{fill:#1e1e1e;margin-right:-4px}.block-directory-block-ratings .block-directory-block-ratings__star-empty{fill:#ccc}.block-directory-compact-list{margin:0;list-style:none}.block-directory-compact-list__item{display:flex;flex-direction:row;align-items:center;margin-bottom:16px}.block-directory-compact-list__item:last-child{margin-bottom:0}.block-directory-compact-list__item-details{margin-right:8px}.block-directory-compact-list__item-title{font-weight:500}.block-directory-compact-list__item-author{color:#757575;font-size:11px}.block-directory-downloadable-block-icon{min-width:54px;width:54px;height:54px;vertical-align:middle;border:1px solid #ddd}.block-directory-downloadable-block-list-item{padding:12px;width:100%;height:auto;text-align:right;display:grid;grid-template-columns:auto 1fr}.block-directory-downloadable-block-list-item:hover{box-shadow:0 0 0 2px var(--wp-admin-theme-color)}.block-directory-downloadable-block-list-item.is-busy{background:transparent}.block-directory-downloadable-block-list-item.is-busy .block-directory-downloadable-block-list-item__author{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.block-directory-downloadable-block-list-item:disabled,.block-directory-downloadable-block-list-item[aria-disabled]{opacity:1}.block-directory-downloadable-block-list-item__icon{position:relative;margin-left:16px;align-self:flex-start}.block-directory-downloadable-block-list-item__icon .block-directory-downloadable-block-list-item__spinner{position:absolute;top:0;left:0;bottom:0;right:0;background:hsla(0,0%,100%,.75);display:flex;align-items:center;justify-content:center}.block-directory-block-ratings{display:block;margin-top:4px}.block-directory-downloadable-block-list-item__details{color:#1e1e1e}.block-directory-downloadable-block-list-item__title{display:block;font-weight:600}.block-directory-downloadable-block-list-item__author{display:block;margin-top:4px;font-weight:400}.block-directory-downloadable-block-list-item__desc{display:block;margin-top:8px}.block-directory-downloadable-block-notice{margin:8px 0 0;color:#cc1818}.block-directory-downloadable-block-notice__content{padding-left:12px;margin-bottom:8px}.block-directory-downloadable-blocks-panel{padding:16px}.block-directory-downloadable-blocks-panel.has-blocks-loading{font-style:normal;padding:0;margin:112px 0;text-align:center;color:#757575}.block-directory-downloadable-blocks-panel.has-blocks-loading .components-spinner{float:inherit}.block-directory-downloadable-blocks-panel__no-local{margin:48px 0;padding:0 64px;color:#757575;text-align:center}.block-directory-downloadable-blocks-panel__title{margin:0 0 4px;font-size:14px}.block-directory-downloadable-blocks-panel__description{margin-top:0}.block-directory-downloadable-blocks-panel button{margin-top:4px}.installed-blocks-pre-publish-panel__copy{margin-top:0} \ No newline at end of file diff --git a/wp-includes/css/dist/block-directory/style.css b/wp-includes/css/dist/block-directory/style.css index f1614c3074..e2750b510f 100644 --- a/wp-includes/css/dist/block-directory/style.css +++ b/wp-includes/css/dist/block-directory/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { diff --git a/wp-includes/css/dist/block-directory/style.min.css b/wp-includes/css/dist/block-directory/style.min.css index 70b31ba0a8..2632319cfe 100644 --- a/wp-includes/css/dist/block-directory/style.min.css +++ b/wp-includes/css/dist/block-directory/style.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-directory-block-ratings>span{display:flex}.block-directory-block-ratings svg{fill:#1e1e1e;margin-left:-4px}.block-directory-block-ratings .block-directory-block-ratings__star-empty{fill:#ccc}.block-directory-compact-list{margin:0;list-style:none}.block-directory-compact-list__item{display:flex;flex-direction:row;align-items:center;margin-bottom:16px}.block-directory-compact-list__item:last-child{margin-bottom:0}.block-directory-compact-list__item-details{margin-left:8px}.block-directory-compact-list__item-title{font-weight:500}.block-directory-compact-list__item-author{color:#757575;font-size:11px}.block-directory-downloadable-block-icon{min-width:54px;width:54px;height:54px;vertical-align:middle;border:1px solid #ddd}.block-directory-downloadable-block-list-item{padding:12px;width:100%;height:auto;text-align:left;display:grid;grid-template-columns:auto 1fr}.block-directory-downloadable-block-list-item:hover{box-shadow:0 0 0 2px var(--wp-admin-theme-color)}.block-directory-downloadable-block-list-item.is-busy{background:transparent}.block-directory-downloadable-block-list-item.is-busy .block-directory-downloadable-block-list-item__author{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.block-directory-downloadable-block-list-item:disabled,.block-directory-downloadable-block-list-item[aria-disabled]{opacity:1}.block-directory-downloadable-block-list-item__icon{position:relative;margin-right:16px;align-self:flex-start}.block-directory-downloadable-block-list-item__icon .block-directory-downloadable-block-list-item__spinner{position:absolute;top:0;right:0;bottom:0;left:0;background:hsla(0,0%,100%,.75);display:flex;align-items:center;justify-content:center}.block-directory-block-ratings{display:block;margin-top:4px}.block-directory-downloadable-block-list-item__details{color:#1e1e1e}.block-directory-downloadable-block-list-item__title{display:block;font-weight:600}.block-directory-downloadable-block-list-item__author{display:block;margin-top:4px;font-weight:400}.block-directory-downloadable-block-list-item__desc{display:block;margin-top:8px}.block-directory-downloadable-block-notice{margin:8px 0 0;color:#cc1818}.block-directory-downloadable-block-notice__content{padding-right:12px;margin-bottom:8px}.block-directory-downloadable-blocks-panel{padding:16px}.block-directory-downloadable-blocks-panel.has-blocks-loading{font-style:normal;padding:0;margin:112px 0;text-align:center;color:#757575}.block-directory-downloadable-blocks-panel.has-blocks-loading .components-spinner{float:inherit}.block-directory-downloadable-blocks-panel__no-local{margin:48px 0;padding:0 64px;color:#757575;text-align:center}.block-directory-downloadable-blocks-panel__title{margin:0 0 4px;font-size:14px}.block-directory-downloadable-blocks-panel__description{margin-top:0}.block-directory-downloadable-blocks-panel button{margin-top:4px}.installed-blocks-pre-publish-panel__copy{margin-top:0} \ 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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.block-directory-block-ratings>span{display:flex}.block-directory-block-ratings svg{fill:#1e1e1e;margin-left:-4px}.block-directory-block-ratings .block-directory-block-ratings__star-empty{fill:#ccc}.block-directory-compact-list{margin:0;list-style:none}.block-directory-compact-list__item{display:flex;flex-direction:row;align-items:center;margin-bottom:16px}.block-directory-compact-list__item:last-child{margin-bottom:0}.block-directory-compact-list__item-details{margin-left:8px}.block-directory-compact-list__item-title{font-weight:500}.block-directory-compact-list__item-author{color:#757575;font-size:11px}.block-directory-downloadable-block-icon{min-width:54px;width:54px;height:54px;vertical-align:middle;border:1px solid #ddd}.block-directory-downloadable-block-list-item{padding:12px;width:100%;height:auto;text-align:left;display:grid;grid-template-columns:auto 1fr}.block-directory-downloadable-block-list-item:hover{box-shadow:0 0 0 2px var(--wp-admin-theme-color)}.block-directory-downloadable-block-list-item.is-busy{background:transparent}.block-directory-downloadable-block-list-item.is-busy .block-directory-downloadable-block-list-item__author{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.block-directory-downloadable-block-list-item:disabled,.block-directory-downloadable-block-list-item[aria-disabled]{opacity:1}.block-directory-downloadable-block-list-item__icon{position:relative;margin-right:16px;align-self:flex-start}.block-directory-downloadable-block-list-item__icon .block-directory-downloadable-block-list-item__spinner{position:absolute;top:0;right:0;bottom:0;left:0;background:hsla(0,0%,100%,.75);display:flex;align-items:center;justify-content:center}.block-directory-block-ratings{display:block;margin-top:4px}.block-directory-downloadable-block-list-item__details{color:#1e1e1e}.block-directory-downloadable-block-list-item__title{display:block;font-weight:600}.block-directory-downloadable-block-list-item__author{display:block;margin-top:4px;font-weight:400}.block-directory-downloadable-block-list-item__desc{display:block;margin-top:8px}.block-directory-downloadable-block-notice{margin:8px 0 0;color:#cc1818}.block-directory-downloadable-block-notice__content{padding-right:12px;margin-bottom:8px}.block-directory-downloadable-blocks-panel{padding:16px}.block-directory-downloadable-blocks-panel.has-blocks-loading{font-style:normal;padding:0;margin:112px 0;text-align:center;color:#757575}.block-directory-downloadable-blocks-panel.has-blocks-loading .components-spinner{float:inherit}.block-directory-downloadable-blocks-panel__no-local{margin:48px 0;padding:0 64px;color:#757575;text-align:center}.block-directory-downloadable-blocks-panel__title{margin:0 0 4px;font-size:14px}.block-directory-downloadable-blocks-panel__description{margin-top:0}.block-directory-downloadable-blocks-panel button{margin-top:4px}.installed-blocks-pre-publish-panel__copy{margin-top:0} \ No newline at end of file diff --git a/wp-includes/css/dist/block-editor/default-editor-styles-rtl.css b/wp-includes/css/dist/block-editor/default-editor-styles-rtl.css new file mode 100644 index 0000000000..2a4fb54a44 --- /dev/null +++ b/wp-includes/css/dist/block-editor/default-editor-styles-rtl.css @@ -0,0 +1,114 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +: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; +} +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + :root { + --wp-admin-border-width-focus: 1.5px; + } +} + +/** +* Default editor styles. +* +* These styles are shown if a theme does not register its own editor style, +* a theme.json file, or has toggled off "Use theme styles" in preferences. +*/ +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 18px; + line-height: 1.5; + --wp--style--block-gap: 2em; +} + +p { + line-height: 1.8; +} + +.editor-post-title__block { + margin-top: 2em; + margin-bottom: 1em; + font-size: 2.5em; + font-weight: 800; +} \ No newline at end of file diff --git a/wp-includes/css/dist/block-editor/default-editor-styles-rtl.min.css b/wp-includes/css/dist/block-editor/default-editor-styles-rtl.min.css new file mode 100644 index 0000000000..743f20fa5b --- /dev/null +++ b/wp-includes/css/dist/block-editor/default-editor-styles-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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:18px;line-height:1.5;--wp--style--block-gap:2em}p{line-height:1.8}.editor-post-title__block{margin-top:2em;margin-bottom:1em;font-size:2.5em;font-weight:800} \ No newline at end of file diff --git a/wp-includes/css/dist/block-editor/default-editor-styles.css b/wp-includes/css/dist/block-editor/default-editor-styles.css new file mode 100644 index 0000000000..2a4fb54a44 --- /dev/null +++ b/wp-includes/css/dist/block-editor/default-editor-styles.css @@ -0,0 +1,114 @@ +/** + * Colors + */ +/** + * Breakpoints & Media Queries + */ +/** + * SCSS Variables. + * + * Please use variables from this sheet to ensure consistency across the UI. + * Don't add to this sheet unless you're pretty sure the value will be reused in many places. + * For example, don't add rules to this sheet that affect block visuals. It's purely for UI. + */ +/** + * Colors + */ +/** + * Fonts & basic variables. + */ +/** + * Grid System. + * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/ + */ +/** + * Dimensions. + */ +/** + * Shadows. + */ +/** + * Editor widths. + */ +/** + * Block & Editor UI. + */ +/** + * Block paddings. + */ +/** + * React Native specific. + * These variables do not appear to be used anywhere else. + */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ +/** + * Breakpoint mixins + */ +/** + * Long content fade mixin + * + * Creates a fading overlay to signify that the content is longer + * than the space allows. + */ +/** + * Focus styles. + */ +/** + * Applies editor left position to the selector passed as argument + */ +/** + * Styles that are reused verbatim in a few places + */ +/** + * Allows users to opt-out of animations via OS-level preferences. + */ +/** + * Reset default styles for JavaScript UI based pages. + * This is a WP-admin agnostic reset + */ +/** + * Reset the WP Admin page styles for Gutenberg-like pages. + */ +: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; +} +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + :root { + --wp-admin-border-width-focus: 1.5px; + } +} + +/** +* Default editor styles. +* +* These styles are shown if a theme does not register its own editor style, +* a theme.json file, or has toggled off "Use theme styles" in preferences. +*/ +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 18px; + line-height: 1.5; + --wp--style--block-gap: 2em; +} + +p { + line-height: 1.8; +} + +.editor-post-title__block { + margin-top: 2em; + margin-bottom: 1em; + font-size: 2.5em; + font-weight: 800; +} \ No newline at end of file diff --git a/wp-includes/css/dist/block-editor/default-editor-styles.min.css b/wp-includes/css/dist/block-editor/default-editor-styles.min.css new file mode 100644 index 0000000000..743f20fa5b --- /dev/null +++ b/wp-includes/css/dist/block-editor/default-editor-styles.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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:18px;line-height:1.5;--wp--style--block-gap:2em}p{line-height:1.8}.editor-post-title__block{margin-top:2em;margin-bottom:1em;font-size:2.5em;font-weight:800} \ 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 ed359f4684..615d115966 100644 --- a/wp-includes/css/dist/block-editor/style-rtl.css +++ b/wp-includes/css/dist/block-editor/style-rtl.css @@ -1,4 +1,3 @@ -@charset "UTF-8"; /** * Colors */ @@ -41,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -71,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -81,10 +89,6 @@ } } -#start-resizable-editor-section { - display: none; -} - .block-editor-autocompleters__block { white-space: nowrap; } @@ -92,6 +96,10 @@ margin-left: 8px; } +.block-editor-block-alignment-control__menu-group .components-menu-item__info { + margin-top: 0; +} + .block-editor-block-alignment-matrix-control__popover .components-popover__content { min-width: 0; width: auto; @@ -110,6 +118,11 @@ .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 { min-width: 20px; min-height: 20px; @@ -190,12 +203,15 @@ background: transparent; } .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered:not(.is-selected)::after { - box-shadow: 0 0 0 1px #949494; + box-shadow: 0 0 0 1px var(--wp-admin-theme-color); +} +.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted::after { + box-shadow: 0 0 0 1px var(--wp-admin-theme-color); + outline: 1px solid transparent; } -.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted::after, .block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected::after, .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected::after, .block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.has-child-selected { box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); - outline: var(--wp-admin-border-width-focus) solid transparent; + outline: 2px solid transparent; } .block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected::before { content: ""; @@ -267,6 +283,7 @@ left: 1px; box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); border-radius: 1px; + outline: 2px solid transparent; } .is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus::after { box-shadow: 0 0 0 var(--wp-admin-border-width-focus) #fff; @@ -318,10 +335,6 @@ .block-editor-block-list__layout .block-editor-block-list__block[data-clear=true] { float: none; } -.block-editor-block-list__layout .block-editor-block-list__block .block-editor-block-list__layout .block-editor-default-block-appender .block-editor-inserter { - right: auto; - left: 8px; -} .is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-hovered { cursor: default; @@ -338,7 +351,7 @@ cursor: unset; } .is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected::after { - box-shadow: 0 0 0 1px var(--wp-admin-theme-color); + box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); top: 1px; right: 1px; left: 1px; @@ -383,6 +396,22 @@ 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-right: auto; + margin-left: auto; +} + /** * In-Canvas Inserter */ @@ -466,26 +495,15 @@ .block-editor-block-list__insertion-point-indicator { position: absolute; background: var(--wp-admin-theme-color); - animation: block-editor-inserter__toggle__fade-in-animation-delayed 0.3s ease; - animation-fill-mode: forwards; -} -@media (prefers-reduced-motion: reduce) { - .block-editor-block-list__insertion-point-indicator { - animation-duration: 1ms; - animation-delay: 0s; - } } .block-editor-block-list__insertion-point.is-vertical > .block-editor-block-list__insertion-point-indicator { top: 50%; - left: 0; - right: 0; height: 1px; } .block-editor-block-list__insertion-point.is-horizontal > .block-editor-block-list__insertion-point-indicator { top: 0; left: 0; right: 50%; - height: 100%; width: 1px; } @@ -537,30 +555,6 @@ background: #1e1e1e; } -.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button, -.block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button { - animation: block-editor-inserter__toggle__fade-in-animation-delayed 0.3s ease; - animation-fill-mode: forwards; -} -@media (prefers-reduced-motion: reduce) { - .block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button, -.block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button { - animation-duration: 1ms; - animation-delay: 0s; - } -} - -@keyframes block-editor-inserter__toggle__fade-in-animation-delayed { - 0% { - opacity: 0; - } - 60% { - opacity: 0; - } - 100% { - opacity: 1; - } -} /** * Block Toolbar when contextual. */ @@ -619,7 +613,7 @@ */ .block-editor-block-list__block-selection-button { display: inline-flex; - padding: 0 13px; + padding: 0 12px; z-index: 22; border-radius: 2px; background-color: #1e1e1e; @@ -639,6 +633,7 @@ padding: 0; height: 24px; min-width: 24px; + margin-right: -2px; } .block-editor-block-list__block-selection-button .components-button.has-icon.block-selection-button_drag-handle svg { min-width: 18px; @@ -737,7 +732,7 @@ align-self: center; padding: 0; list-style: none; - margin: 8px; + margin-bottom: revert; } .block-editor-block-list__block .block-list-appender.wp-block { max-width: none; @@ -784,11 +779,17 @@ margin: 0; } .block-editor-block-breadcrumb li { - display: inline-block; + display: inline-flex; margin: 0; } -.block-editor-block-breadcrumb li:not(:last-child)::after { - content: "←"; +.block-editor-block-breadcrumb li .block-editor-block-breadcrumb__separator { + fill: currentColor; + margin-right: -4px; + margin-left: -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 { @@ -861,14 +862,8 @@ * Invalid block comparison */ .block-editor-block-compare { - overflow: auto; height: auto; } -@media (min-width: 600px) { - .block-editor-block-compare { - max-height: 70%; - } -} .block-editor-block-compare__wrapper { display: flex; @@ -881,6 +876,7 @@ width: 50%; padding: 0 0 0 16px; min-width: 200px; + max-width: 600px; } .block-editor-block-compare__wrapper > div button { float: left; @@ -926,6 +922,30 @@ margin: 0.67em 0; } +.block-editor-block-content-overlay.overlay-active::before { + content: ""; + position: absolute; + top: 0; + right: 0; + width: 100%; + height: 100%; + background: transparent; + border: none; + border-radius: 2px; + z-index: 10; + pointer-events: none; +} +.block-editor-block-content-overlay:hover:not(.is-dragging-blocks).overlay-active::before, .block-editor-block-content-overlay.parent-highlighted.overlay-active::before { + background: rgba(var(--wp-admin-theme-color--rgb), 0.1); + box-shadow: 0 0 0 1px var(--wp-admin-theme-color) inset; +} +.block-editor-block-content-overlay.overlay-active:not(.is-dragging-blocks) * { + pointer-events: none; +} +.block-editor-block-content-overlay.is-dragging-blocks { + box-shadow: 0 0 0 1px var(--wp-admin-theme-color); +} + .block-editor-block-draggable-chip-wrapper { position: absolute; top: -24px; @@ -966,8 +986,17 @@ font-size: 13px; } -.is-dragging { - display: none !important; +.block-editor-block-list__layout .is-dragging { + background-color: currentColor !important; + opacity: 0.05 !important; + border-radius: 2px !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-mobile-toolbar { @@ -1103,6 +1132,10 @@ width: calc(100% + 1px); } +.block-editor-block-navigation__container { + min-width: 280px; +} + .block-editor-block-navigation__label { margin: 0 0 12px; color: #757575; @@ -1111,296 +1144,6 @@ font-weight: 500; } -.block-editor-block-navigation__container { - min-width: 280px; -} - -.block-editor-block-navigation-tree { - width: 100%; - border-collapse: collapse; - padding: 0; - margin: 0; -} -.components-modal__content .block-editor-block-navigation-tree { - margin: -12px -6px 0; - width: calc(100% + 12px); -} - -.block-editor-block-navigation-leaf { - position: relative; -} -.block-editor-block-navigation-leaf.is-selected .block-editor-block-navigation-block-contents { - background: var(--wp-admin-theme-color); - color: #fff; -} -.block-editor-block-navigation-leaf.is-selected .block-editor-block-navigation-block-contents:focus { - box-shadow: inset 0 0 0 1px #fff, 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); -} -.block-editor-block-navigation-leaf.is-branch-selected.is-selected .block-editor-block-navigation-block-contents { - border-radius: 2px 2px 0 0; -} -.block-editor-block-navigation-leaf.is-branch-selected:not(.is-selected) .block-editor-block-navigation-block-contents { - background: linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)), linear-gradient(var(--wp-admin-theme-color), var(--wp-admin-theme-color)); - border-radius: 0; -} -.block-editor-block-navigation-leaf.is-branch-selected.is-last-of-selected-branch .block-editor-block-navigation-block-contents { - border-radius: 0 0 2px 2px; -} -.block-editor-block-navigation-leaf.is-dragging { - display: none; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents { - display: flex; - align-items: center; - width: 100%; - height: auto; - padding: 6px 12px; - text-align: right; - color: #1e1e1e; - border-radius: 2px; - position: relative; - white-space: nowrap; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents:hover, .block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents:focus { - box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents:focus { - z-index: 1; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents.is-dropping-before::before { - content: ""; - position: absolute; - pointer-events: none; - transition: border-color 0.1s linear, border-style 0.1s linear, box-shadow 0.1s linear; - top: -2px; - left: 0; - right: 0; - border-top: 4px solid var(--wp-admin-theme-color); -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents.is-dropping-after::before { - content: ""; - position: absolute; - pointer-events: none; - transition: border-color 0.1s linear, border-style 0.1s linear, box-shadow 0.1s linear; - bottom: -2px; - left: 0; - right: 0; - border-bottom: 4px solid var(--wp-admin-theme-color); -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents.is-dropping-to-inner-blocks::before { - content: ""; - position: absolute; - pointer-events: none; - transition: border-color 0.1s linear, border-style 0.1s linear, box-shadow 0.1s linear; - bottom: -2px; - left: 0; - right: 24px; - border-bottom: 4px solid var(--wp-admin-theme-color); -} -.components-modal__content .block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents { - padding-right: 0; - padding-left: 0; -} -.block-editor-block-navigation-leaf.is-visible .block-editor-block-navigation-block-contents { - opacity: 1; - animation: edit-post__fade-in-animation 0.2s ease-out 0s; - animation-fill-mode: forwards; -} -@media (prefers-reduced-motion: reduce) { - .block-editor-block-navigation-leaf.is-visible .block-editor-block-navigation-block-contents { - animation-duration: 1ms; - animation-delay: 0s; - } -} -.block-editor-block-navigation-leaf .block-editor-block-icon { - align-self: flex-start; - margin-left: 10px; - width: 20px; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__contents-cell { - padding-top: 0; - padding-bottom: 0; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell { - line-height: 0; - width: 36px; - opacity: 0; - vertical-align: top; -} -@media (prefers-reduced-motion: reduce) { - .block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell { - transition-duration: 0s; - transition-delay: 0s; - } -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell:hover, .block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell.is-visible, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell:hover, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell.is-visible { - position: relative; - z-index: 1; - opacity: 1; - animation: edit-post__fade-in-animation 0.2s ease-out 0s; - animation-fill-mode: forwards; -} -@media (prefers-reduced-motion: reduce) { - .block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell:hover, .block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell.is-visible, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell:hover, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell.is-visible { - animation-duration: 1ms; - animation-delay: 0s; - } -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell .components-button.has-icon, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell .components-button.has-icon { - width: 24px; - min-width: 24px; - padding: 0; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell { - padding-top: 8px; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell-alignment-wrapper { - display: flex; - height: 100%; - flex-direction: column; - align-items: center; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button { - position: relative; - width: 36px; - height: 24px; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button svg { - position: relative; - height: 24px; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-up-button { - margin-top: -6px; - align-items: flex-end; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-up-button svg { - bottom: -4px; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-down-button { - margin-bottom: -6px; - align-items: flex-start; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-down-button svg { - top: -4px; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button:focus:enabled { - box-shadow: none; - outline: none; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button:focus { - box-shadow: none; - outline: none; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-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; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button::before { - content: ""; - position: absolute; - display: block; - border-radius: 2px; - height: 16px; - min-width: 100%; - right: 0; - left: 0; - animation: components-button__appear-animation 0.1s ease; - animation-fill-mode: forwards; -} -@media (prefers-reduced-motion: reduce) { - .block-editor-block-navigation-leaf .block-editor-block-mover-button::before { - animation-duration: 1ms; - animation-delay: 0s; - } -} -.block-editor-block-navigation-leaf .block-editor-inserter__toggle { - background: #1e1e1e; - color: #fff; - height: 24px; - margin: 6px 1px 6px 6px; - min-width: 24px; -} -.block-editor-block-navigation-leaf .block-editor-inserter__toggle:active { - color: #fff; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block-select-button__anchor { - background: rgba(0, 0, 0, 0.1); - border-radius: 2px; - display: inline-block; - padding: 2px 6px; - margin: 0 8px; - max-width: 120px; - overflow: hidden; - text-overflow: ellipsis; -} -.block-editor-block-navigation-leaf.is-selected .block-editor-block-navigation-block-select-button__anchor { - background: rgba(0, 0, 0, 0.3); -} - -.block-editor-block-navigation-block-slot__description, -.block-editor-block-navigation-block-select-button__description, -.block-editor-block-navigation-appender__description { - display: none; -} - -.block-editor-block-navigation-block__contents-cell .block-editor-block-navigation-block__contents-container, -.block-editor-block-navigation-block__contents-cell .block-editor-block-navigation-appender__container, -.block-editor-block-navigation-appender__cell .block-editor-block-navigation-block__contents-container, -.block-editor-block-navigation-appender__cell .block-editor-block-navigation-appender__container { - display: flex; -} - -.block-editor-block-navigation-leaf[aria-level] .block-editor-block-icon { - margin-right: 224px; -} - -.block-editor-block-navigation-leaf[aria-level="1"] .block-editor-block-icon { - margin-right: 0px; -} - -.block-editor-block-navigation-leaf[aria-level="2"] .block-editor-block-icon { - margin-right: 28px; -} - -.block-editor-block-navigation-leaf[aria-level="3"] .block-editor-block-icon { - margin-right: 56px; -} - -.block-editor-block-navigation-leaf[aria-level="4"] .block-editor-block-icon { - margin-right: 84px; -} - -.block-editor-block-navigation-leaf[aria-level="5"] .block-editor-block-icon { - margin-right: 112px; -} - -.block-editor-block-navigation-leaf[aria-level="6"] .block-editor-block-icon { - margin-right: 140px; -} - -.block-editor-block-navigation-leaf[aria-level="7"] .block-editor-block-icon { - margin-right: 168px; -} - -.block-editor-block-navigation-leaf[aria-level="8"] .block-editor-block-icon { - margin-right: 196px; -} - -.block-editor-block-navigation-leaf[aria-level="9"] .block-editor-block-icon { - margin-right: 224px; -} - .block-editor-block-parent-selector { background: #fff; border-radius: 2px; @@ -1414,7 +1157,7 @@ .block-editor-block-patterns-list__list-item { cursor: pointer; - margin-top: 16px; + margin-bottom: 24px; } .block-editor-block-patterns-list__list-item.is-placeholder { min-height: 100px; @@ -1425,23 +1168,28 @@ .block-editor-block-patterns-list__item { height: 100%; - border-radius: 2px; - transition: all 0.05s ease-in-out; - position: relative; - border: 1px solid transparent; } -.block-editor-block-patterns-list__item:hover { +.block-editor-block-patterns-list__item .block-editor-block-preview__container { + display: flex; + align-items: center; + overflow: hidden; + border-radius: 2px; + border: 1px solid #f0f0f0; +} +.block-editor-block-patterns-list__item .block-editor-block-patterns-list__item-title { + padding-top: 8px; + font-size: 12px; + text-align: center; +} +.block-editor-block-patterns-list__item:hover .block-editor-block-preview__container { border: 1px solid var(--wp-admin-theme-color); } -.block-editor-block-patterns-list__item:focus { +.block-editor-block-patterns-list__item:focus .block-editor-block-preview__container { 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-patterns-list__item-title { - padding: 4px; - font-size: 12px; - text-align: center; +.block-editor-block-patterns-list__item:hover .block-editor-block-patterns-list__item-title, .block-editor-block-patterns-list__item:focus .block-editor-block-patterns-list__item-title { + color: var(--wp-admin-theme-color); } .block-editor-block-preview__container { @@ -1449,12 +1197,7 @@ width: 100%; overflow: hidden; } -.block-editor-block-preview__container.editor-styles-wrapper { - padding: 0; - margin: 0; -} .block-editor-block-preview__container .block-editor-block-preview__content { - position: absolute; top: 0; right: 0; transform-origin: top right; @@ -1469,14 +1212,6 @@ .block-editor-block-preview__container .block-editor-block-preview__content .block-list-appender { display: none; } -.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-list__layout.is-root-container { - padding-right: 0; - padding-left: 0; -} -.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-list__layout.is-root-container > .wp-block[data-align=full] { - margin-right: 0; - margin-left: 0; -} .block-editor-block-settings-menu__popover .components-dropdown-menu__menu { padding: 0; @@ -1727,9 +1462,6 @@ } .block-editor-block-types-list > [role=presentation] { - padding: 4px; - margin-right: -4px; - margin-left: -4px; overflow: hidden; display: flex; flex-wrap: wrap; @@ -1943,15 +1675,66 @@ min-width: 230px; } -.components-border-style-control__select { +.components-border-radius-control { + margin-bottom: 12px; +} +.components-border-radius-control legend { + padding-bottom: 4px; +} +.components-border-radius-control .components-border-radius-control__wrapper { + display: flex; + justify-content: space-between; + align-items: flex-start; +} +.components-border-radius-control .components-border-radius-control__wrapper > .components-unit-control-wrapper { + width: calc(50% - 26px); + margin-bottom: 0; +} +.components-border-radius-control .components-border-radius-control__wrapper .components-range-control { + width: calc(50% - 26px); + margin-bottom: 0; +} +.components-border-radius-control .components-border-radius-control__wrapper .components-range-control .components-base-control__field { + margin-bottom: 0; + height: 30px; +} +.components-border-radius-control .components-border-radius-control__wrapper .components-range-control .components-range-control__wrapper { + margin-left: 10px; +} +.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: flex; + width: 70%; + flex-wrap: wrap; +} +.components-border-radius-control .components-border-radius-control__input-controls-wrapper .components-unit-control-wrapper { + width: calc(50% - 8px); + margin-bottom: 8px; + margin-left: 8px; +} +.components-border-radius-control .component-border-radius-control__linked-button.has-icon { + display: flex; + justify-content: center; +} +.components-border-radius-control .component-border-radius-control__linked-button.has-icon svg { + margin-left: 0; +} + +.components-border-style-control legend { + line-height: 1.2; + padding-bottom: 4px; +} +.components-border-style-control .components-border-style-control__buttons { + display: inline-flex; margin-bottom: 24px; } -.components-border-style-control__select button { - width: 100%; -} -.components-border-style-control__select ul li, -.components-border-style-control__select ul li:last-child { - margin: 6px; +.components-border-style-control .components-border-style-control__buttons .components-button.has-icon { + min-width: 30px; + height: 30px; + padding: 3px; + margin-left: 4px; } .block-editor-button-block-appender { @@ -1997,10 +1780,6 @@ .block-editor-color-gradient-control .block-editor-color-gradient-control__color-indicator { margin-bottom: 12px; } -.block-editor-color-gradient-control .block-editor-color-gradient-control__button-tabs { - display: block; - margin-bottom: 12px; -} .block-editor-panel-color-gradient-settings .component-color-indicator { vertical-align: text-bottom; @@ -2013,15 +1792,14 @@ } @media screen and (min-width: 782px) { .block-editor-panel-color-gradient-settings .components-circular-option-picker__swatches { - margin-left: 0; - } - .block-editor-panel-color-gradient-settings .components-circular-option-picker__option-wrapper { - margin-left: calc((100% - (28px * 6)) / 5); - } - .block-editor-panel-color-gradient-settings .components-circular-option-picker__option-wrapper:nth-child(6n+6) { - margin-left: 0; + 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-contrast-checker > .components-notice { margin: 0; @@ -2054,10 +1832,6 @@ margin-left: 0; } -.block-editor-block-list__empty-block-inserter, -.block-editor-default-block-appender .block-editor-inserter { - left: 8px; -} @media (min-width: 600px) { .block-editor-block-list__empty-block-inserter, .block-editor-default-block-appender .block-editor-inserter { @@ -2070,31 +1844,41 @@ display: none; } -.block-editor-duotone-control__popover .components-popover__content { - border: 1px solid #1e1e1e; - min-width: 214px; -} -.block-editor-duotone-control__popover .components-circular-option-picker { - padding: 12px; -} -.block-editor-duotone-control__popover .components-menu-group__label { - padding: 12px 12px 0 12px; - width: 100%; - box-sizing: border-box; +.block-editor-default-block-appender.has-visible-prompt .block-editor-inserter, +.block-editor-block-list__empty-block-inserter { + left: 0; } -.block-editor-duotone-control__popover > .components-popover__content { - width: 334px; +.block-editor-duotone-control__popover > .components-popover__content > div { + padding: 16px; + width: 280px; +} +.block-editor-duotone-control__popover .components-menu-group__label { + padding: 0; +} +.block-editor-duotone-control__popover .components-custom-gradient-picker__gradient-bar { + margin: 16px 0 12px; +} +.block-editor-duotone-control__popover .components-circular-option-picker__swatches { + display: grid; + grid-template-columns: repeat(6, 28px); + gap: 12px; + justify-content: space-between; +} + +.block-editor-duotone-control__description { + margin: 16px 0; + font-size: 12px; } .block-editor-duotone-control__popover:not([data-y-axis=middle][data-x-axis=right]) > .components-popover__content { margin-right: -14px; } -.components-font-appearance-control__select { +.components-font-appearance-control { margin-bottom: 24px; } -.components-font-appearance-control__select ul li { +.components-font-appearance-control ul li { color: #1e1e1e; text-transform: capitalize; } @@ -2115,6 +1899,17 @@ justify-content: space-between; } +@keyframes loadingpulse { + 0% { + opacity: 1; + } + 50% { + opacity: 0; + } + 100% { + opacity: 1; + } +} .block-editor-link-control { position: relative; min-width: 360px; @@ -2129,7 +1924,27 @@ position: relative; } -.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text] { +.block-editor-link-control__search-input-container { + 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__field { + display: flex; + align-items: center; + margin: 0; +} +.block-editor-link-control__field .components-base-control__label { + margin-left: 16px; + margin-bottom: 0; +} +.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-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; padding: 6px 8px; box-shadow: 0 0 0 transparent; @@ -2144,42 +1959,39 @@ display: block; padding: 11px 16px; padding-left: 36px; - margin: 16px; + margin: 0; position: relative; border: 1px solid #ddd; border-radius: 2px; } @media (prefers-reduced-motion: reduce) { - .block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text] { + .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-duration: 0s; transition-delay: 0s; } } @media (min-width: 600px) { - .block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text] { + .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; /* Override core line-height. To be reviewed. */ line-height: normal; } } -.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]:focus { +.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 1px var(--wp-admin-theme-color); outline: 2px solid transparent; } -.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]::-webkit-input-placeholder { +.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, 0.62); } -.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]::-moz-placeholder { +.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 { opacity: 1; color: rgba(30, 30, 30, 0.62); } -.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]:-ms-input-placeholder { +.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, 0.62); } -.block-editor-link-control .block-editor-link-control__search-input .components-base-control__field { - margin-bottom: 0; -} .block-editor-link-control__search-error { margin: -8px 16px 16px; @@ -2192,14 +2004,13 @@ * when suggestions are rendered. * * Compensate for: - * - Input margin ($grid-unit-20) * - Border (1px) * - Vertically, for the difference in height between the input (40px) and * the icon buttons. * - Horizontally, pad to the minimum of: default input padding, or the * equivalent of the vertical padding. */ - top: 19px; + top: 3px; left: 19px; } @@ -2250,7 +2061,7 @@ .block-editor-link-control__search-item { position: relative; display: flex; - align-items: center; + align-items: flex-start; font-size: 13px; cursor: pointer; background: #fff; @@ -2258,11 +2069,14 @@ border: none; text-align: right; padding: 12px 16px; - border-radius: 5px; + border-radius: 2px; height: auto; } .block-editor-link-control__search-item:hover, .block-editor-link-control__search-item:focus { - background-color: #ddd; + background-color: #f0f0f0; +} +.block-editor-link-control__search-item:hover .block-editor-link-control__search-item-type, .block-editor-link-control__search-item:focus .block-editor-link-control__search-item-type { + background: #fff; } .block-editor-link-control__search-item:focus:not(:disabled) { box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color) inset; @@ -2274,28 +2088,50 @@ background: #fff; } .block-editor-link-control__search-item.is-current { + flex-direction: column; background: transparent; border: 0; width: 100%; cursor: default; padding: 16px; - padding-right: 24px; } .block-editor-link-control__search-item .block-editor-link-control__search-item-header { display: block; + flex-direction: row; + align-items: flex-start; margin-left: 8px; - overflow: hidden; - white-space: nowrap; + white-space: pre-wrap; + word-wrap: break-word; +} +.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 .block-editor-link-control__search-item-icon { - margin-left: 1em; - min-width: 24px; + position: relative; + top: 0.2em; + margin-left: 8px; + max-height: 24px; + flex-shrink: 0; + width: 24px; + display: flex; + justify-content: center; +} +.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 { + top: 0; + width: 32px; + max-height: 32px; } .block-editor-link-control__search-item .block-editor-link-control__search-item-info, .block-editor-link-control__search-item .block-editor-link-control__search-item-title { overflow: hidden; text-overflow: ellipsis; - padding-left: 24px; } .block-editor-link-control__search-item .block-editor-link-control__search-item-info .components-external-link__icon, .block-editor-link-control__search-item .block-editor-link-control__search-item-title .components-external-link__icon { @@ -2311,26 +2147,114 @@ } .block-editor-link-control__search-item .block-editor-link-control__search-item-title mark { font-weight: 700; - color: #000; + color: inherit; background-color: transparent; } .block-editor-link-control__search-item .block-editor-link-control__search-item-title span { font-weight: normal; } +.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-info { display: block; color: #757575; font-size: 0.9em; line-height: 1.3; } +.block-editor-link-control__search-item .block-editor-link-control__search-item-error-notice { + font-style: italic; + font-size: 1.1em; +} .block-editor-link-control__search-item .block-editor-link-control__search-item-type { display: block; - padding: 3px 8px; + padding: 3px 6px; margin-right: auto; font-size: 0.9em; background-color: #f0f0f0; border-radius: 2px; } +.block-editor-link-control__search-item .block-editor-link-control__search-item-description { + padding-top: 12px; + margin: 0; +} +.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder { + margin-top: 12px; + padding-top: 0; + height: 28px; + display: flex; + flex-direction: column; + justify-content: space-around; +} +.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder::before, .block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder::after { + display: block; + content: ""; + height: 0.7em; + width: 100%; + background-color: #f0f0f0; + border-radius: 3px; +} +.block-editor-link-control__search-item .block-editor-link-control__search-item-description .components-text { + font-size: 0.9em; +} +.block-editor-link-control__search-item .block-editor-link-control__search-item-image { + display: flex; + width: 100%; + background-color: #f0f0f0; + justify-content: center; + height: 140px; + max-height: 140px; + overflow: hidden; + border-radius: 2px; + margin-top: 12px; +} +.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; + max-width: 100%; + height: 140px; + max-height: 140px; +} + +.block-editor-link-control__search-item-top { + 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::before, .block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-description::after { + animation: loadingpulse 1s linear infinite; + animation-delay: 0.5s; +} +.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-image { + animation: loadingpulse 1s linear infinite; + animation-delay: 0.5s; +} +.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon svg, +.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon img { + opacity: 0; +} +.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon::before { + content: ""; + display: block; + background-color: #f0f0f0; + position: absolute; + top: 0; + right: 0; + left: 0; + bottom: 0; + border-radius: 100%; + animation: loadingpulse 1s linear infinite; + animation-delay: 0.5s; +} .block-editor-link-control__loading { margin: 16px; @@ -2354,14 +2278,36 @@ 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__search-results div[role=menu] > .block-editor-link-control__search-item.block-editor-link-control__search-item { padding: 10px; } -.block-editor-link-control__settings { +.block-editor-link-control__tools { + display: flex; + align-items: center; border-top: 1px solid #ddd; margin: 0; - padding: 16px 24px; + padding: 16px; +} + +.block-editor-link-control__unlink { + padding-right: 16px; + padding-left: 16px; +} + +.block-editor-link-control__settings { + flex: 1; + margin: 0; } .block-editor-link-control__settings :last-child { margin-bottom: 0; @@ -2470,7 +2416,6 @@ background: transparent; word-break: break-word; border-radius: 2px; - border: 1px solid transparent; transition: all 0.05s ease-in-out; position: relative; height: auto; @@ -2486,9 +2431,11 @@ cursor: default; } .components-button.block-editor-block-types-list__item:not(:disabled):hover { - border-color: var(--wp-admin-theme-color); color: var(--wp-admin-theme-color) !important; } +.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 { color: #fff; background: #1e1e1e; @@ -2530,12 +2477,363 @@ font-size: 12px; } -.modal-open .block-editor-media-replace-flow__options { +.block-editor-list-view-tree { + width: 100%; + border-collapse: collapse; + padding: 0; + margin: 0; +} +.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.is-selected { + background: var(--wp-admin-theme-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; +} +.is-dragging-components-draggable .block-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents { + background: none; + color: #1e1e1e; +} +.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 .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-branch-selected:not(.is-selected) { + background: linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)), linear-gradient(var(--wp-admin-theme-color), var(--wp-admin-theme-color)); +} +.block-editor-list-view-leaf.is-branch-selected.is-selected .block-editor-list-view-block-contents { + border-radius: 2px 2px 0 0; +} +.block-editor-list-view-leaf[aria-expanded=false].is-branch-selected.is-selected .block-editor-list-view-block-contents { + border-radius: 2px; +} +.block-editor-list-view-leaf.is-branch-selected:not(.is-selected) .block-editor-list-view-block-contents { + border-radius: 0; +} +.block-editor-list-view-leaf.is-dragging { + display: none; +} +.block-editor-list-view-leaf .block-editor-list-view-block-contents { + display: flex; + align-items: center; + width: 100%; + height: auto; + padding: 6px 0 6px 12px; + text-align: right; + color: #1e1e1e; + border-radius: 2px; + position: relative; + white-space: nowrap; +} +.block-editor-list-view-leaf .block-editor-list-view-block-contents.is-dropping-before::before { + content: ""; + position: absolute; + pointer-events: none; + transition: border-color 0.1s linear, border-style 0.1s linear, box-shadow 0.1s linear; + top: -2px; + left: 0; + right: 0; + border-top: 4px solid var(--wp-admin-theme-color); +} +.components-modal__content .block-editor-list-view-leaf .block-editor-list-view-block-contents { + padding-right: 0; + padding-left: 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 { + content: ""; + position: absolute; + top: 0; + left: -29px; + bottom: 0; + right: 0; + border-radius: inherit; + box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); + z-index: 1; + pointer-events: none; +} +.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 { + opacity: 1; + animation: edit-post__fade-in-animation 0.2s ease-out 0s; + animation-fill-mode: forwards; +} +@media (prefers-reduced-motion: reduce) { + .block-editor-list-view-leaf.is-visible .block-editor-list-view-block-contents { + animation-duration: 1ms; + animation-delay: 0s; + } +} +.block-editor-list-view-leaf .block-editor-block-icon { + align-self: flex-start; + margin-left: 8px; + width: 24px; +} +.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell, +.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell, +.block-editor-list-view-leaf .block-editor-list-view-block__contents-cell { + padding-top: 0; + padding-bottom: 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; + width: 36px; + opacity: 0; + vertical-align: middle; +} +@media (prefers-reduced-motion: reduce) { + .block-editor-list-view-leaf .block-editor-list-view-block__menu-cell, +.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell { + transition-duration: 0s; + transition-delay: 0s; + } +} +.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell:hover, .block-editor-list-view-leaf .block-editor-list-view-block__menu-cell.is-visible, +.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell:hover, +.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell.is-visible { + position: relative; + z-index: 1; + opacity: 1; + animation: edit-post__fade-in-animation 0.2s ease-out 0s; + animation-fill-mode: forwards; +} +@media (prefers-reduced-motion: reduce) { + .block-editor-list-view-leaf .block-editor-list-view-block__menu-cell:hover, .block-editor-list-view-leaf .block-editor-list-view-block__menu-cell.is-visible, +.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell:hover, +.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell.is-visible { + animation-duration: 1ms; + animation-delay: 0s; + } +} +.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 { + width: 24px; + min-width: 24px; + padding: 0; +} +.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell { + padding-left: 5px; +} +.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 { + display: flex; + height: 100%; + flex-direction: column; + align-items: center; +} +.block-editor-list-view-leaf .block-editor-block-mover-button { + position: relative; + width: 36px; + height: 24px; +} +.block-editor-list-view-leaf .block-editor-block-mover-button svg { + position: relative; + height: 24px; +} +.block-editor-list-view-leaf .block-editor-block-mover-button.is-up-button { + margin-top: -6px; + align-items: flex-end; +} +.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 { + margin-bottom: -6px; + align-items: flex-start; +} +.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:focus:enabled { + box-shadow: none; + outline: none; +} +.block-editor-list-view-leaf .block-editor-block-mover-button:focus { + box-shadow: none; + outline: none; +} +.block-editor-list-view-leaf .block-editor-block-mover-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; +} +.block-editor-list-view-leaf .block-editor-block-mover-button::before { + content: ""; + position: absolute; + display: block; + border-radius: 2px; + height: 16px; + min-width: 100%; + right: 0; + left: 0; + animation: components-button__appear-animation 0.1s ease; + animation-fill-mode: forwards; +} +@media (prefers-reduced-motion: reduce) { + .block-editor-list-view-leaf .block-editor-block-mover-button::before { + animation-duration: 1ms; + animation-delay: 0s; + } +} +.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__anchor { + background: rgba(0, 0, 0, 0.1); + border-radius: 2px; + display: inline-block; + padding: 2px 6px; + margin: 0 8px; + max-width: 120px; + overflow: hidden; + text-overflow: ellipsis; +} +.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-select-button__anchor { + background: rgba(0, 0, 0, 0.3); +} + +.block-editor-list-view-block-select-button__description, +.block-editor-list-view-appender__description { display: none; } -.block-editor-media-replace-flow__options .components-popover__content > div { - padding-top: 16px; +.block-editor-list-view-block__contents-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-appender__cell .block-editor-list-view-block__contents-container, +.block-editor-list-view-appender__cell .block-editor-list-view-appender__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: 0px; +} + +.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[aria-expanded=true] .block-editor-list-view__expander svg { + visibility: visible; + transition: transform 0.2s ease; + transform: rotate(-90deg); +} +@media (prefers-reduced-motion: reduce) { + .block-editor-list-view-leaf[aria-expanded=true] .block-editor-list-view__expander svg { + transition-duration: 0s; + transition-delay: 0s; + } +} + +.block-editor-list-view-leaf[aria-expanded=false] .block-editor-list-view__expander svg { + visibility: visible; + transform: rotate(0deg); + transition: transform 0.2s ease; +} +@media (prefers-reduced-motion: reduce) { + .block-editor-list-view-leaf[aria-expanded=false] .block-editor-list-view__expander svg { + transition-duration: 0s; + transition-delay: 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); + height: 1px; +} + +.block-editor-list-view-drop-indicator:not([data-y-axis=middle][data-x-axis=right]) > .components-popover__content { + margin-right: 0; + border: none; + box-shadow: none; +} + +.block-editor-list-view-placeholder { + padding: 0; + margin: 0; + height: 36px; +} + +.modal-open .block-editor-media-replace-flow__options { + display: none; } .block-editor-media-replace-flow__indicator { @@ -2544,34 +2842,42 @@ .block-editor-media-flow__url-input { border-top: 1px solid #1e1e1e; - margin-top: 12px; - margin-left: -12px; - margin-right: -12px; - padding: 12px 24px 0; + margin-top: 8px; + margin-left: -8px; + margin-right: -8px; + padding: 16px; } .block-editor-media-flow__url-input .block-editor-media-replace-flow__image-url-label { + display: block; top: 16px; + margin-bottom: 8px; } .block-editor-media-flow__url-input .block-editor-link-control { - margin-top: -16px; - width: auto; + width: 220px; +} +.block-editor-media-flow__url-input .block-editor-link-control .block-editor-url-input { + padding: 0; } .block-editor-media-flow__url-input .block-editor-link-control .components-base-control .components-base-control__field { margin-bottom: 0; } .block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-title { max-width: 180px; - margin-top: 16px; + white-space: nowrap; +} +.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-info { + white-space: nowrap; } .block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item.is-current { width: auto; padding: 0; } .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: 16px 0 0 0; + margin: 0; width: 100%; } .block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-actions { + top: 0; left: 4px; } @@ -2600,6 +2906,7 @@ } .block-editor-media-placeholder__url-input-form input[type=url].block-editor-media-placeholder__url-input-field { width: 100%; + min-width: 200px; flex-grow: 1; border: none; border-radius: 0; @@ -2715,23 +3022,24 @@ word-wrap: normal !important; } -.block-editor-rich-text__editable > p:first-child { - margin-top: 0; -} -.block-editor-rich-text__editable [data-rich-text-placeholder] { +.rich-text [data-rich-text-placeholder] { pointer-events: none; } -.block-editor-rich-text__editable [data-rich-text-placeholder]::after { +.rich-text [data-rich-text-placeholder]::after { content: attr(data-rich-text-placeholder); opacity: 0.62; } -.block-editor-rich-text__editable:focus { +.rich-text:focus { outline: none; } -.block-editor-rich-text__editable:focus [data-rich-text-format-boundary] { +.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: 0.8; } @@ -2802,10 +3110,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before z-index: 100000; } -.block-editor-text-decoration-and-transform { - display: flex; -} - .block-editor-text-transform-control { flex: 0 0 50%; } @@ -2840,10 +3144,10 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before .block-editor-tool-selector__help { margin-top: 8px; - margin-right: -12px; - margin-left: -12px; - margin-bottom: -12px; - padding: 12px 20px; + margin-right: -8px; + margin-left: -8px; + margin-bottom: -8px; + padding: 16px; border-top: 1px solid #ddd; color: #757575; min-width: 280px; @@ -3193,8 +3497,40 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before font-size: 12px; } -#end-resizable-editor-section { - display: none; +.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__border-controls .block-editor-hooks__border-controls-row { + display: flex; + justify-content: space-between; +} +.block-editor-hooks__border-controls .block-editor-hooks__border-controls-row > * { + width: calc(50% - 8px); +} +.block-editor-hooks__border-controls .components-unit-control-wrapper { + margin-bottom: 24px; +} +.block-editor-hooks__border-controls .components-unit-control-wrapper:last-child { + margin-bottom: 8px; +} + +.typography-block-support-panel .components-font-appearance-control, +.typography-block-support-panel .components-font-size-picker__controls, +.typography-block-support-panel .block-editor-text-decoration-control__buttons, +.typography-block-support-panel .block-editor-text-transform-control__buttons { + margin-bottom: 0; +} +.typography-block-support-panel .block-editor-line-height-control input { + max-width: 100%; +} +.typography-block-support-panel .single-column { + grid-column: span 1; } /** @@ -3204,8 +3540,9 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before display: flex; flex-grow: 1; width: 100%; - overflow: auto; position: relative; + overflow-y: hidden; + overflow-x: auto; transition: border-color 0.1s linear, box-shadow 0.1s linear; } @media (prefers-reduced-motion: reduce) { @@ -3265,10 +3602,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before width: 24px !important; margin: 0 !important; } -.block-editor-block-toolbar__block-controls .block-editor-block-switcher .components-dropdown-menu__toggle:focus::before, -.block-editor-block-toolbar__block-controls .block-editor-block-switcher__no-switcher-icon:focus::before { - left: 4px !important; -} .block-editor-block-toolbar__block-controls .block-editor-block-mover { margin-right: -6px; } @@ -3316,10 +3649,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before width: 0 !important; height: 0 !important; } -.show-icon-labels .block-editor-block-switcher .components-dropdown-menu__toggle:focus::before, -.show-icon-labels .block-editor-block-switcher__no-switcher-icon:focus::before { - left: 4px !important; -} .show-icon-labels .block-editor-block-parent-selector__button .block-editor-block-icon { width: 0; } @@ -3369,6 +3698,10 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before } } +.block-editor-inserter__content { + position: relative; +} + .block-editor-inserter__popover.is-quick .components-popover__content { border: none; } @@ -3446,96 +3779,26 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before } .block-editor-inserter__search { - padding: 16px; + background: #fff; + padding: 16px 16px 0 16px; position: sticky; top: 0; - background: #fff; z-index: 1; } -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input { - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; - padding: 6px 8px; - box-shadow: 0 0 0 transparent; - transition: box-shadow 0.1s linear; - border-radius: 2px; - border: 1px solid #757575; - /* Fonts smaller than 16px causes mobile safari to zoom. */ - font-size: 16px; - /* Override core line-height. To be reviewed. */ - line-height: normal; - display: block; - padding: 16px 16px 16px 48px; - background: #f0f0f0; - border: none; - width: 100%; - height: 48px; - /* Fonts smaller than 16px causes mobile safari to zoom. */ - font-size: 16px; -} -@media (prefers-reduced-motion: reduce) { - .block-editor-inserter__search input[type=search].block-editor-inserter__search-input { - transition-duration: 0s; - transition-delay: 0s; - } -} -@media (min-width: 600px) { - .block-editor-inserter__search input[type=search].block-editor-inserter__search-input { - font-size: 13px; - /* Override core line-height. To be reviewed. */ - line-height: normal; - } -} -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input:focus { - border-color: var(--wp-admin-theme-color); - box-shadow: 0 0 0 1px var(--wp-admin-theme-color); - outline: 2px solid transparent; -} -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-input-placeholder { - color: rgba(30, 30, 30, 0.62); -} -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-moz-placeholder { - opacity: 1; - color: rgba(30, 30, 30, 0.62); -} -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input:-ms-input-placeholder { - color: rgba(30, 30, 30, 0.62); -} -@media (min-width: 600px) { - .block-editor-inserter__search input[type=search].block-editor-inserter__search-input { - font-size: 13px; - } -} -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input:focus { - background: #fff; - box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); -} -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::placeholder { - color: #757575; -} -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-decoration, .block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-cancel-button, .block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-results-button, .block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-results-decoration { - -webkit-appearance: none; -} - -.block-editor-inserter__search-icon { - position: absolute; - top: 0; +.block-editor-inserter__search .components-search-control__icon { left: 20px; - bottom: 0; - display: flex; - align-items: center; } -.block-editor-inserter__search-icon > svg { - margin: 8px; +.block-editor-inserter__search .components-base-control__field { + margin-bottom: 0; } .block-editor-inserter__tabs { display: flex; flex-direction: column; - margin-top: -8px; } .block-editor-inserter__tabs .components-tab-panel__tabs { position: sticky; - top: 72px; + top: 64px; background: #fff; z-index: 1; border-bottom: 1px solid #ddd; @@ -3576,7 +3839,8 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before } .block-editor-inserter__panel-dropdown select.components-select-control__input.components-select-control__input.components-select-control__input { - line-height: 1.2; + height: 36px; + line-height: 36px; } .block-editor-inserter__panel-dropdown select { @@ -3588,10 +3852,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before position: relative; } -.block-editor-inserter__popover .block-editor-block-types-list { - margin: -8px; -} - .block-editor-inserter__reusable-blocks-panel { position: relative; text-align: left; @@ -3604,7 +3864,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before .block-editor-inserter__no-results { padding: 32px; - margin-top: 64px; text-align: center; } @@ -3706,6 +3965,12 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before grid-template-columns: 1fr 1fr; grid-gap: 8px; } +.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; @@ -3729,8 +3994,59 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before .block-editor-inserter__quick-inserter-expand.components-button:active { color: #ccc; } -.block-editor-inserter__quick-inserter-expand.components-button:focus:not(:disabled) { - box-shadow: inset 0 0 0 1.5px var(--wp-admin-theme-color), inset 0 0 0 3px #fff; +.block-editor-inserter__quick-inserter-expand.components-button.components-button:focus:not(:disabled) { + box-shadow: none; + background: var(--wp-admin-theme-color); + border-color: var(--wp-admin-theme-color); +} + +.block-editor-block-patterns-explorer__sidebar { + position: absolute; + top: 60px; + right: 0; + bottom: 0; + width: 280px; + padding: 24px 32px 32px; + overflow-x: visible; + overflow-y: scroll; +} +.block-editor-block-patterns-explorer__sidebar__categories-list__item { + display: block; + width: 100%; + height: 48px; + text-align: right; +} +.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: 248px; +} +.block-editor-block-patterns-explorer .block-editor-block-patterns-list { + display: grid; + grid-gap: 32px; + grid-template-columns: repeat(1, 1fr); +} +@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; + min-height: 100px; + max-height: 800px; } .block-editor-post-preview__dropdown { @@ -3792,8 +4108,11 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -3804,8 +4123,11 @@ body.admin-color-light { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -3816,8 +4138,11 @@ body.admin-color-modern { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -3828,8 +4153,11 @@ body.admin-color-blue { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -3840,8 +4168,11 @@ body.admin-color-coffee { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -3852,8 +4183,11 @@ body.admin-color-ectoplasm { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -3864,8 +4198,11 @@ body.admin-color-midnight { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -3876,8 +4213,11 @@ body.admin-color-ocean { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { 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 ea128cd312..304c54264c 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-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}#start-resizable-editor-section{display:none}.block-editor-autocompleters__block{white-space:nowrap}.block-editor-autocompleters__block .block-editor-block-icon{margin-left:8px}.block-editor-block-alignment-matrix-control__popover .components-popover__content{min-width:0;width:auto}.block-editor-block-alignment-matrix-control__popover .components-popover__content>div{padding:8px}.block-editor-block-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.block-editor-block-icon.has-colors svg{fill:currentColor}.block-editor-block-icon svg{min-width:20px;min-height:20px;max-width:24px;max-height:24px}.block-editor-block-inspector p{margin-top:0}.block-editor-block-inspector h2,.block-editor-block-inspector h3{font-size:13px;color:#1e1e1e;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-panel__body{border:none;border-top:1px solid #e0e0e0}.block-editor-block-inspector .block-editor-block-card{padding:16px}.block-editor-block-inspector__no-blocks{display:block;font-size:13px;background:#fff;padding:32px 16px;text-align:center}.block-editor-block-styles .block-editor-block-list__block{margin:0}.block-editor-block-list__layout{position:relative}.block-editor-block-list__layout.is-navigate-mode{cursor:default}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{position:absolute;z-index:1;pointer-events:none;content:"";top:1px;bottom:1px;right:1px;left:1px;box-shadow:0 0 0 1px var(--wp-admin-theme-color);border-radius:1px;outline:2px solid transparent}.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-multi-selected:after,.is-dark-theme .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered: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 1px #fff}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted .components-placeholder ::selection,.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected .components-placeholder ::selection,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered .components-placeholder ::selection,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected .components-placeholder ::selection{background:transparent}.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered:not(.is-selected):after{box-shadow:0 0 0 1px #949494}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:after,.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.has-child-selected,.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) var(--wp-admin-theme-color);outline:var(--wp-admin-border-width-focus) solid transparent}.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected:before{content:"";position:absolute;z-index:0;pointer-events:none;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;left:0;right:0;top:-14px;border-radius:2px;border-top:4px solid #ccc}.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected:after{content:none}.block-editor-block-list__layout .is-block-moving-mode.can-insert-moving-block.block-editor-block-list__block.is-selected:before{border-color:var(--wp-admin-theme-color)}.is-block-moving-mode.block-editor-block-list__block-selection-button{opacity:0;font-size:1px;height:1px;padding:0}.block-editor-block-list__layout .block-editor-block-list__block{position:relative;overflow-wrap:break-word}.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-right:0;margin-left: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:not([contenteditable]):focus{outline:none}.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after{position:absolute;z-index:1;pointer-events:none;content:"";top:1px;bottom:1px;right:1px;left:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);border-radius:1px}.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}.block-editor-block-list__layout .block-editor-block-list__block:after{content:"";pointer-events:none;position:absolute;top:0;left:0;bottom:0;right:0;border-radius:2px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) transparent}.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{content:"";position:absolute;top:0;left:0;bottom:0;right:0;border-radius:2px;background-color:hsla(0,0%,100%,.4)}.block-editor-block-list__layout .block-editor-block-list__block.has-warning.is-multi-selected:after{background-color:initial}.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}.block-editor-block-list__layout .block-editor-block-list__block .block-editor-block-list__layout .block-editor-default-block-appender .block-editor-inserter{right:auto;left:8px}.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{top:1px;right:1px;left:1px;bottom:1px;box-shadow:0 0 0 1px var(--wp-admin-theme-color);border-radius:1px}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected{cursor:unset}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected:after{box-shadow:0 0 0 1px var(--wp-admin-theme-color);top:1px;right:1px;left:1px;bottom:1px;border-radius:1px}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected:focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){opacity:.5;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){transition-duration:0s;transition-delay:0s}}.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}.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity{opacity:.5;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity{transition-duration:0s;transition-delay:0s}}.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity.has-child-selected,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity.is-active-entity,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity.is-active-entity .block-editor-block-list__block,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity .is-active-entity .block-editor-block-list__block,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity:not(.has-child-selected) .block-editor-block-list__block{opacity:1}.wp-block[data-align=left]>*,.wp-block[data-align=right]>*{z-index:21}.block-editor-block-list .block-editor-inserter{margin:8px;cursor:move;cursor:grab}@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-duration:1ms;animation-delay:0s}}.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{display:block;margin:0;padding:12px;width:100%;border:none;outline:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;resize:none;overflow:hidden;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;line-height:1.5;transition:padding .2s linear}@media (prefers-reduced-motion:reduce){.block-editor-block-list__block .block-editor-block-list__block-html-textarea{transition-duration:0s;transition-delay: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{z-index:5;position:relative}.block-editor-block-list__block .block-editor-warning.block-editor-block-list__block-crash-warning{margin-bottom:auto}.block-editor-block-list__insertion-point{position:absolute}.block-editor-block-list__insertion-point-indicator{position:absolute;background:var(--wp-admin-theme-color);animation:block-editor-inserter__toggle__fade-in-animation-delayed .3s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.block-editor-block-list__insertion-point-indicator{animation-duration:1ms;animation-delay:0s}}.block-editor-block-list__insertion-point.is-vertical>.block-editor-block-list__insertion-point-indicator{top:50%;left:0;right:0;height:1px}.block-editor-block-list__insertion-point.is-horizontal>.block-editor-block-list__insertion-point-indicator{top:0;left:0;right:50%;height:100%;width:1px}.block-editor-block-list__insertion-point-inserter{display:none;position:absolute;justify-content:center;top:calc(50% - 12px);right:calc(50% - 12px)}@media (min-width:480px){.block-editor-block-list__insertion-point-inserter{display:flex}}.block-editor-block-list__block-popover-inserter{position:absolute;top:-9999em;margin-bottom:14px}.block-editor-block-list__block-popover-inserter.is-visible{position:static}.block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button.has-icon,.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,.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon{background:#1e1e1e;border-radius:2px;color:#fff;padding:0;min-width:24px;height:24px}.block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button.has-icon:hover,.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,.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon:hover{color:#fff;background:var(--wp-admin-theme-color)}.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-popover-inserter .block-editor-inserter__toggle.components-button,.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button{animation:block-editor-inserter__toggle__fade-in-animation-delayed .3s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button,.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button{animation-duration:1ms;animation-delay:0s}}@keyframes block-editor-inserter__toggle__fade-in-animation-delayed{0%{opacity:0}60%{opacity:0}to{opacity:1}}.block-editor-block-contextual-toolbar{display:inline-flex;border:1px solid #1e1e1e;border-radius:2px;background-color:#fff}.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{position:sticky;top:0;width:100%;z-index:31;min-height:48px;display:block;border:none;border-bottom:1px solid #e0e0e0;border-radius:0}.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 .block-editor-block-mover-button{overflow:hidden}.block-editor-block-contextual-toolbar .block-editor-block-mover.is-horizontal .block-editor-block-mover-button.block-editor-block-mover-button{min-width:24px;width:24px}.block-editor-block-contextual-toolbar .block-editor-block-mover.is-horizontal .block-editor-block-mover-button.block-editor-block-mover-button svg{min-width:24px}.block-editor-block-contextual-toolbar .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button:focus:before{right:0!important;min-width:0;width:100%}@media (min-width:600px){.block-editor-block-contextual-toolbar .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button.is-up-button svg{top:5px}.block-editor-block-contextual-toolbar .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button.is-down-button svg{bottom:5px}}.block-editor-block-list__block-selection-button{display:inline-flex;padding:0 13px;z-index:22;border-radius:2px;background-color:#1e1e1e;font-size:13px;height:48px}.block-editor-block-list__block-selection-button .block-editor-block-list__block-selection-button__content{margin:auto;display:inline-flex;align-items:center}.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;padding:0;height:24px;min-width:24px}.block-editor-block-list__block-selection-button .components-button.has-icon.block-selection-button_drag-handle svg{min-width:18px;min-height:18px}.block-editor-block-list__block-selection-button .block-editor-block-icon{font-size:13px;color:#fff;height:48px}.block-editor-block-list__block-selection-button .components-button{min-width:36px;color:#fff;height:48px;display:flex}.block-editor-block-list__block-selection-button .components-button:focus{box-shadow:none;border:none}.block-editor-block-list__block-selection-button .components-button:active{color:#fff}.block-editor-block-list__block-selection-button .block-selection-button_select-button.components-button{padding:0}.block-editor-block-list__insertion-point-popover.is-without-arrow{z-index:28;position:absolute;pointer-events:none}.block-editor-block-list__insertion-point-popover.is-without-arrow *{pointer-events:none}.block-editor-block-list__insertion-point-popover.is-without-arrow .is-with-inserter,.block-editor-block-list__insertion-point-popover.is-without-arrow .is-with-inserter *{pointer-events:all}.block-editor-block-list__insertion-point-popover.is-without-arrow .components-popover__content.components-popover__content{background:none;border:none;box-shadow:none;overflow-y:visible;margin-right:0}@keyframes hide-during-dragging{to{position:fixed;transform:translate(-9999px,9999px)}}.components-popover.block-editor-block-list__block-popover{z-index:31;position:absolute}.components-popover.block-editor-block-list__block-popover .components-popover__content{margin:0!important;min-width:auto;width:max-content;background:none;border:none;box-shadow:none;overflow-y:visible;pointer-events:none}.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-contextual-toolbar,.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-list__block-selection-button,.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-list__empty-block-inserter{pointer-events:all}.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-contextual-toolbar,.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-list__block-selection-button{margin-top:12px;margin-bottom:12px}.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{opacity:0;animation:hide-during-dragging 1ms linear forwards}.is-dragging-components-draggable .components-tooltip{display:none}.block-editor-block-list__block .block-list-appender{align-self:center;padding:0;list-style:none;margin:8px}.block-editor-block-list__block .block-list-appender.wp-block{max-width:none}.block-editor-block-list__block .block-list-appender .block-editor-default-block-appender{margin:8px 0}.block-editor-block-list__block .block-list-appender .block-list-appender__toggle{padding:0;opacity:1;transform:scale(1);transition:all .1s ease;margin-right:8px}@media (prefers-reduced-motion:reduce){.block-editor-block-list__block .block-list-appender .block-list-appender__toggle{transition-duration:0s;transition-delay:0s}}.block-editor-block-list__block .block-list-appender:first-of-type .block-list-appender__toggle{margin-right:0}.is-vertical .block-list-appender{width:24px;margin-left:auto;margin-top:12px;margin-right:12px}.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-breadcrumb{list-style:none;padding:0;margin:0}.block-editor-block-breadcrumb li{display:inline-block;margin:0}.block-editor-block-breadcrumb li:not(:last-child):after{content:"←"}.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){text-decoration:underline;box-shadow:none}.block-editor-block-breadcrumb__button.components-button:focus{box-shadow:none}.block-editor-block-breadcrumb__button.components-button:focus:before{content:"";display:block;position:absolute;border-radius:2px;top:1px;left:1px;bottom:1px;right:1px;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-block-breadcrumb__current{cursor:default}.block-editor-block-breadcrumb__button.components-button,.block-editor-block-breadcrumb__current{color:#1e1e1e;padding:0 8px;font-size:inherit}.block-editor-block-card{display:flex;align-items:flex-start}.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;margin-right:0;margin-left:12px;width:24px;height:24px}.block-editor-block-compare{overflow:auto;height:auto}@media (min-width:600px){.block-editor-block-compare{max-height:70%}}.block-editor-block-compare__wrapper{display:flex;padding-bottom:16px}.block-editor-block-compare__wrapper>div{display:flex;justify-content:space-between;flex-direction:column;width:50%;padding:0 0 0 16px;min-width:200px}.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-right:15px;padding-left:0}.block-editor-block-compare__wrapper .block-editor-block-compare__html{font-family:Menlo,Consolas,monaco,monospace;font-size:12px;color:#1e1e1e;border-bottom:1px solid #ddd;padding-bottom:15px;line-height:1.7}.block-editor-block-compare__wrapper .block-editor-block-compare__html span{background-color:#e6ffed;padding-top:3px;padding-bottom: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;top:-24px;right:0}.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}.block-editor-block-draggable-chip svg{fill:currentColor}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content{margin:auto;justify-content:flex-start}.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-width:18px;min-height: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}.is-dragging{display:none!important}.block-editor-block-mobile-toolbar{display:flex;flex-direction:row;border-left:1px solid #ddd}.block-editor-block-mobile-toolbar .block-editor-block-mover-button{width:36px;height:36px;border-radius:2px;padding:3px;margin:0;justify-content:center;align-items:center}.block-editor-block-mobile-toolbar .block-editor-block-mover-button .dashicon{margin:auto}.block-editor-block-mobile-toolbar .block-editor-block-mover{display:flex;margin-left:auto}.block-editor-block-mobile-toolbar .block-editor-block-mover .block-editor-block-mover-button{float:right}.block-editor-block-mover-button__description{display:none}.block-editor-block-mover-button.has-icon{padding:0}.block-editor-block-mover{display:inline-flex;flex-direction:row}.block-editor-block-mover .block-editor-block-mover__move-button-container,.block-editor-block-mover .components-toolbar{flex:1;flex-direction:row;border-left:none!important}@media (min-width:600px){.block-editor-block-mover .block-editor-block-mover__move-button-container,.block-editor-block-mover .components-toolbar{flex-direction:column}}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container,.block-editor-block-mover.is-horizontal .components-toolbar{flex-direction:row}.block-editor-block-mover .block-editor-block-mover-button.block-editor-block-mover-button{padding-left:0;padding-right:0;min-width:36px}@media (min-width:600px){.block-editor-block-mover .block-editor-block-mover-button{height:24px;width:42px;padding-left:11px!important;padding-right:6px!important}.block-editor-block-mover .block-editor-block-mover-button.block-editor-block-mover-button{min-width:42px}}@media (min-width:600px){.block-editor-block-mover .block-editor-block-mover-button:before{right:8px!important;left:8px!important}}.block-editor-block-mover .block-editor-block-mover__drag-handle{width:24px;cursor:grab;min-width:24px!important;padding:0!important}.block-editor-block-mover .block-editor-block-mover__drag-handle:focus:before{right:0!important;left:0!important}@media (min-width:600px){.block-editor-block-mover .components-toolbar-group .block-editor-block-mover-button,.block-editor-block-mover .components-toolbar .block-editor-block-mover-button{margin:0 0 0 auto}.block-editor-block-mover .components-toolbar-group .block-editor-block-mover-button.is-up-button:before,.block-editor-block-mover .components-toolbar .block-editor-block-mover-button.is-up-button:before{bottom:0;height:calc(100% - 1px)}.block-editor-block-mover .components-toolbar-group .block-editor-block-mover-button.is-down-button:before,.block-editor-block-mover .components-toolbar .block-editor-block-mover-button.is-down-button:before{top:0;height:calc(100% - 1px)}}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.has-icon{height:48px;width:24px;padding-right:0;padding-left:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.has-icon:before{top:1px;bottom:1px;min-width:0;width:auto;height:auto}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-up-button.has-icon svg{margin-right:0;margin-left:-8px;margin-bottom:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-up-button.has-icon:before{right:0!important;left:0!important}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-down-button.has-icon svg{margin-right:-8px;margin-left:0;margin-top:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-down-button.has-icon:before{right:0!important;left:0!important;width:calc(100% + 1px)}.block-editor-block-navigation__label{margin:0 0 12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500}.block-editor-block-navigation__container{min-width:280px}.block-editor-block-navigation-tree{width:100%;border-collapse:collapse;padding:0;margin:0}.components-modal__content .block-editor-block-navigation-tree{margin:-12px -6px 0;width:calc(100% + 12px)}.block-editor-block-navigation-leaf{position:relative}.block-editor-block-navigation-leaf.is-selected .block-editor-block-navigation-block-contents{background:var(--wp-admin-theme-color);color:#fff}.block-editor-block-navigation-leaf.is-selected .block-editor-block-navigation-block-contents:focus{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-block-navigation-leaf.is-branch-selected.is-selected .block-editor-block-navigation-block-contents{border-radius:2px 2px 0 0}.block-editor-block-navigation-leaf.is-branch-selected:not(.is-selected) .block-editor-block-navigation-block-contents{background:linear-gradient(hsla(0,0%,100%,.9),hsla(0,0%,100%,.9)),linear-gradient(var(--wp-admin-theme-color),var(--wp-admin-theme-color));border-radius:0}.block-editor-block-navigation-leaf.is-branch-selected.is-last-of-selected-branch .block-editor-block-navigation-block-contents{border-radius:0 0 2px 2px}.block-editor-block-navigation-leaf.is-dragging{display:none}.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents{display:flex;align-items:center;width:100%;height:auto;padding:6px 12px;text-align:right;color:#1e1e1e;border-radius:2px;position:relative;white-space:nowrap}.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents:focus,.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents:hover{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents:focus{z-index:1}.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents.is-dropping-before:before{content:"";position:absolute;pointer-events:none;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;top:-2px;left:0;right:0;border-top:4px solid var(--wp-admin-theme-color)}.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents.is-dropping-after:before{content:"";position:absolute;pointer-events:none;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;bottom:-2px;left:0;right:0;border-bottom:4px solid var(--wp-admin-theme-color)}.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents.is-dropping-to-inner-blocks:before{content:"";position:absolute;pointer-events:none;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;bottom:-2px;left:0;right:24px;border-bottom:4px solid var(--wp-admin-theme-color)}.components-modal__content .block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents{padding-right:0;padding-left:0}.block-editor-block-navigation-leaf.is-visible .block-editor-block-navigation-block-contents{opacity:1;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.block-editor-block-navigation-leaf.is-visible .block-editor-block-navigation-block-contents{animation-duration:1ms;animation-delay:0s}}.block-editor-block-navigation-leaf .block-editor-block-icon{align-self:flex-start;margin-left:10px;width:20px}.block-editor-block-navigation-leaf .block-editor-block-navigation-block__contents-cell,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell{padding-top:0;padding-bottom:0}.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell{line-height:0;width:36px;opacity:0;vertical-align:top}@media (prefers-reduced-motion:reduce){.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell{transition-duration:0s;transition-delay:0s}}.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell.is-visible,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell:hover,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell.is-visible,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell:hover{position:relative;z-index:1;opacity:1;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell.is-visible,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell:hover,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell.is-visible,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell:hover{animation-duration:1ms;animation-delay:0s}}.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell .components-button.has-icon,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell .components-button.has-icon{width:24px;min-width:24px;padding:0}.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell{padding-top:8px}.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell-alignment-wrapper{display:flex;height:100%;flex-direction:column;align-items:center}.block-editor-block-navigation-leaf .block-editor-block-mover-button{position:relative;width:36px;height:24px}.block-editor-block-navigation-leaf .block-editor-block-mover-button svg{position:relative;height:24px}.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-up-button{margin-top:-6px;align-items:flex-end}.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-up-button svg{bottom:-4px}.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-down-button{margin-bottom:-6px;align-items:flex-start}.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-down-button svg{top:-4px}.block-editor-block-navigation-leaf .block-editor-block-mover-button:focus,.block-editor-block-navigation-leaf .block-editor-block-mover-button:focus:enabled{box-shadow:none;outline:none}.block-editor-block-navigation-leaf .block-editor-block-mover-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}.block-editor-block-navigation-leaf .block-editor-block-mover-button:before{content:"";position:absolute;display:block;border-radius:2px;height:16px;min-width:100%;right:0;left:0;animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.block-editor-block-navigation-leaf .block-editor-block-mover-button:before{animation-duration:1ms;animation-delay:0s}}.block-editor-block-navigation-leaf .block-editor-inserter__toggle{background:#1e1e1e;color:#fff;height:24px;margin:6px 1px 6px 6px;min-width:24px}.block-editor-block-navigation-leaf .block-editor-inserter__toggle:active{color:#fff}.block-editor-block-navigation-leaf .block-editor-block-navigation-block-select-button__anchor{background:rgba(0,0,0,.1);border-radius:2px;display:inline-block;padding:2px 6px;margin:0 8px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.block-editor-block-navigation-leaf.is-selected .block-editor-block-navigation-block-select-button__anchor{background:rgba(0,0,0,.3)}.block-editor-block-navigation-appender__description,.block-editor-block-navigation-block-select-button__description,.block-editor-block-navigation-block-slot__description{display:none}.block-editor-block-navigation-appender__cell .block-editor-block-navigation-appender__container,.block-editor-block-navigation-appender__cell .block-editor-block-navigation-block__contents-container,.block-editor-block-navigation-block__contents-cell .block-editor-block-navigation-appender__container,.block-editor-block-navigation-block__contents-cell .block-editor-block-navigation-block__contents-container{display:flex}.block-editor-block-navigation-leaf[aria-level] .block-editor-block-icon{margin-right:224px}.block-editor-block-navigation-leaf[aria-level="1"] .block-editor-block-icon{margin-right:0}.block-editor-block-navigation-leaf[aria-level="2"] .block-editor-block-icon{margin-right:28px}.block-editor-block-navigation-leaf[aria-level="3"] .block-editor-block-icon{margin-right:56px}.block-editor-block-navigation-leaf[aria-level="4"] .block-editor-block-icon{margin-right:84px}.block-editor-block-navigation-leaf[aria-level="5"] .block-editor-block-icon{margin-right:112px}.block-editor-block-navigation-leaf[aria-level="6"] .block-editor-block-icon{margin-right:140px}.block-editor-block-navigation-leaf[aria-level="7"] .block-editor-block-icon{margin-right:168px}.block-editor-block-navigation-leaf[aria-level="8"] .block-editor-block-icon{margin-right:196px}.block-editor-block-navigation-leaf[aria-level="9"] .block-editor-block-icon{margin-right:224px}.block-editor-block-parent-selector{background:#fff;border-radius:2px}.block-editor-block-parent-selector .block-editor-block-parent-selector__button{width:48px;height:48px;border:1px solid #1e1e1e;border-radius:2px}.block-editor-block-patterns-list__list-item{cursor:pointer;margin-top:16px}.block-editor-block-patterns-list__list-item.is-placeholder{min-height:100px}.block-editor-block-patterns-list__list-item[draggable=true] .block-editor-block-preview__container{cursor:grab}.block-editor-block-patterns-list__item{height:100%;border-radius:2px;transition:all .05s ease-in-out;position:relative;border:1px solid transparent}.block-editor-block-patterns-list__item:hover{border:1px solid var(--wp-admin-theme-color)}.block-editor-block-patterns-list__item:focus{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-patterns-list__item-title{padding:4px;font-size:12px;text-align:center}.block-editor-block-preview__container{position:relative;width:100%;overflow:hidden}.block-editor-block-preview__container.editor-styles-wrapper{padding:0;margin:0}.block-editor-block-preview__container .block-editor-block-preview__content{position:absolute;top:0;right:0;transform-origin:top right;text-align:initial;margin:0;overflow:visible;min-height:auto}.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-drop-zone,.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,.block-editor-block-preview__container .block-editor-block-preview__content .reusable-block-indicator{display:none}.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-list__layout.is-root-container{padding-right:0;padding-left:0}.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-list__layout.is-root-container>.wp-block[data-align=full]{margin-right:0;margin-left:0}.block-editor-block-settings-menu__popover .components-dropdown-menu__menu{padding:0}.block-editor-block-styles{display:flex;flex-wrap:wrap;justify-content:space-between}.block-editor-block-styles__item{width:calc(50% - 4px);margin:4px 0;flex-shrink:0;cursor:pointer;overflow:hidden;border-radius:2px;padding:6px;display:flex;flex-direction:column}.block-editor-block-styles__item:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-block-styles__item:hover .block-editor-block-styles__item-preview{border-color:var(--wp-admin-theme-color)}.block-editor-block-styles__item.is-active .block-editor-block-styles__item-label{font-weight:700}.block-editor-block-styles__item.is-active .block-editor-block-styles__item-preview{margin:0;border:2px solid #1e1e1e}.block-editor-block-styles__item .block-editor-block-preview__container{cursor:inherit}.block-editor-block-styles__item-preview{outline:1px solid transparent;padding:0;margin:2px;border-radius:2px;display:flex;overflow:hidden;background:#fff;align-items:center;flex-grow:1;min-height:80px;max-height:160px}.block-editor-block-switcher__styles__menugroup{position:relative}.block-editor-block-styles__item-label{text-align:center;padding:4px 0}.block-editor-block-switcher,.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{margin:0;display:block;height:48px}.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}.block-editor-block-switcher__popover{margin-right:6px}.components-button.block-editor-block-switcher__no-switcher-icon{width:48px}.components-button.block-editor-block-switcher__no-switcher-icon .block-editor-blocks-icon{margin-left:auto;margin-right:auto}.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-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,.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{height:100%;position:relative;margin:0 auto;display:flex;align-items:center;min-width:100%}.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,.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{top:8px;left:8px;bottom:8px;right:8px}.components-popover.block-editor-block-switcher__popover .components-popover__content{min-width:300px}.components-popover.block-editor-block-switcher__popover .components-popover__content>div{min-width:auto;display:flex;background:#fff;padding:0}.components-popover.block-editor-block-switcher__popover .components-popover__content>div .components-menu-group{margin:0}.block-editor-block-switcher__popover .components-popover__content .block-editor-block-styles{margin:0 -3px}.block-editor-block-switcher__popover .components-popover__content .components-panel__body{border:0;position:relative;z-index:1}.block-editor-block-switcher__popover .components-popover__content .components-panel__body+.components-panel__body{border-top:1px solid #e0e0e0}.block-editor-block-switcher__popover__preview__parent .block-editor-block-switcher__popover__preview__container{position:absolute;top:-12px;right:calc(100% + 32px)}.block-editor-block-switcher__preview__popover{display:none}.block-editor-block-switcher__preview__popover.components-popover{margin-right:4px;margin-top:11px}@media (min-width:782px){.block-editor-block-switcher__preview__popover{display:block}}.block-editor-block-switcher__preview__popover .components-popover__content{box-shadow:none;border:1px solid #1e1e1e;background:#fff;border-radius:2px}.block-editor-block-switcher__preview__popover .block-editor-block-switcher__preview{width:300px;height:auto;max-height:500px;padding:16px}.block-editor-block-switcher__preview-title{margin-bottom:12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon{width:48px}.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{width:48px;height: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{height:100%;border-radius:2px;transition:all .05s ease-in-out;position:relative;border:1px 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: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{padding:4px;font-size:12px;text-align:center;cursor:pointer}.block-editor-block-types-list>[role=presentation]{padding:4px;margin-right:-4px;margin-left:-4px;overflow:hidden;display:flex;flex-wrap:wrap}.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;justify-content:flex-start;flex-direction:row;flex-wrap:wrap;width:100%;margin:16px 0;padding:0;list-style:none}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations>li{list-style:none;margin:8px 0 0 20px;flex-shrink:1;width:75px;text-align:center}.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{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;display:block;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-block-pattern-setup{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;outline:1px solid transparent}.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{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;padding:16px;max-height:550px;overflow:auto;margin:0 1px 1px;width:calc(100% - 2px);background:#fff}.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-title{padding:4px;font-size:12px;text-align:center}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-preview__container{border-radius:2px;border:1px solid #ddd}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar{box-sizing:border-box;position:relative;padding:16px;width:100%;text-align:right;margin:0;color:#1e1e1e;border-radius:2px 2px 0 0;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;outline:1px solid transparent;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.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{width:calc(50% - 36px);display:flex}.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{display:flex;flex-direction:column;width:100%;box-sizing:border-box}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container{overflow:hidden;position:relative;padding:0;margin:0;list-style:none;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{opacity:0;position:absolute;top:0;width:100%;margin:auto;padding:16px;transition:transform .5s,opacity .5s,z-index .5s;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-variation-transforms{padding:0 56px 16px 16px;width:100%}.block-editor-block-variation-transforms .components-dropdown-menu__toggle{border:1px solid #757575;border-radius:2px;min-height:30px;width:100%;position:relative;text-align:right;justify-content:left;padding:6px 12px}.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%;padding:0;position:absolute;left:0;top:0}.block-editor-block-variation-transforms__popover .components-popover__content{min-width:230px}.components-border-style-control__select{margin-bottom:24px}.components-border-style-control__select button{width:100%}.components-border-style-control__select ul li,.components-border-style-control__select ul li:last-child{margin:6px}.block-editor-button-block-appender{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;width:100%;height:auto;color:#1e1e1e;box-shadow:inset 0 0 0 1px #1e1e1e}.is-dark-theme .block-editor-button-block-appender{color:hsla(0,0%,100%,.65);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.65)}.block-editor-button-block-appender:hover{color:var(--wp-admin-theme-color);box-shadow:inset 0 0 0 1px 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-button-block-appender.block-list-appender__toggle{display:flex;flex-direction:row;box-shadow:none;height:24px;width:24px}.block-editor-button-block-appender.block-list-appender__toggle>svg{width:24px;background-color:#1e1e1e;color:#fff;border-radius:2px;flex:1 0 auto}.block-editor-color-gradient-control .block-editor-color-gradient-control__color-indicator{margin-bottom:12px}.block-editor-color-gradient-control .block-editor-color-gradient-control__button-tabs{display:block;margin-bottom:12px}.block-editor-panel-color-gradient-settings .component-color-indicator{vertical-align:text-bottom}.block-editor-panel-color-gradient-settings__panel-title .component-color-indicator{display:inline-block}.block-editor-panel-color-gradient-settings.is-opened .block-editor-panel-color-gradient-settings__panel-title .component-color-indicator{display:none}@media screen and (min-width:782px){.block-editor-panel-color-gradient-settings .components-circular-option-picker__swatches{margin-left:0}.block-editor-panel-color-gradient-settings .components-circular-option-picker__option-wrapper{margin-left:calc(20% - 33.6px)}.block-editor-panel-color-gradient-settings .components-circular-option-picker__option-wrapper:nth-child(6n+6){margin-left:0}}.block-editor-contrast-checker>.components-notice{margin:0}.block-editor-default-block-appender{clear:both;margin-right:auto;margin-left: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}.block-editor-default-block-appender .components-drop-zone__content-icon{display:none}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender .block-editor-inserter{position:absolute;top:0;height:32px}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter .block-editor-inserter__toggle,.block-editor-default-block-appender .block-editor-inserter .block-editor-inserter__toggle{margin-left:0}.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender .block-editor-inserter{left:8px}@media (min-width:600px){.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender .block-editor-inserter{display:flex;height:100%}}.block-editor-block-list__empty-block-inserter:disabled,.block-editor-default-block-appender .block-editor-inserter:disabled{display:none}.block-editor-duotone-control__popover .components-popover__content{border:1px solid #1e1e1e;min-width:214px}.block-editor-duotone-control__popover .components-circular-option-picker{padding:12px}.block-editor-duotone-control__popover .components-menu-group__label{padding:12px 12px 0;width:100%;box-sizing:border-box}.block-editor-duotone-control__popover>.components-popover__content{width:334px}.block-editor-duotone-control__popover:not([data-y-axis=middle][data-x-axis=right])>.components-popover__content{margin-right:-14px}.components-font-appearance-control__select{margin-bottom:24px}.components-font-appearance-control__select ul li{color:#1e1e1e;text-transform:capitalize}.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}.block-editor-link-control{position:relative;min-width:360px}.components-popover__content .block-editor-link-control{min-width:auto;width:90vw;max-width:360px}.block-editor-link-control__search-input-wrapper{position:relative}.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;font-size:16px;line-height:normal;width:calc(100% - 32px);display:block;padding:11px 16px 11px 36px;margin:16px;position:relative;border:1px solid #ddd;border-radius:2px}@media (prefers-reduced-motion:reduce){.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]{font-size:13px;line-height:normal}}.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-link-control .block-editor-link-control__search-input .components-base-control__field{margin-bottom:0}.block-editor-link-control__search-error{margin:-8px 16px 16px}.block-editor-link-control__search-actions{position:absolute;top:19px;left:19px}.components-button .block-editor-link-control__search-submit .has-icon{margin:-1px}.block-editor-link-control__search-results-wrapper{position:relative;margin-top:-15px}.block-editor-link-control__search-results-wrapper:after,.block-editor-link-control__search-results-wrapper:before{content:"";position:absolute;right:-1px;left:16px;display:block;pointer-events:none;z-index:100}.block-editor-link-control__search-results-wrapper:before{height:8px;top:0;bottom:auto}.block-editor-link-control__search-results-wrapper:after{height:16px;bottom:0;top:auto}.block-editor-link-control__search-results-label{padding:16px 32px 0;display:block;font-weight:600}.block-editor-link-control__search-results{margin:0;padding:8px 16px;max-height:200px;overflow-y:auto}.block-editor-link-control__search-results.is-loading{opacity:.2}.block-editor-link-control__search-item{position:relative;display:flex;align-items:center;font-size:13px;cursor:pointer;background:#fff;width:100%;border:none;text-align:right;padding:12px 16px;border-radius:5px;height:auto}.block-editor-link-control__search-item:focus,.block-editor-link-control__search-item:hover{background-color:#ddd}.block-editor-link-control__search-item:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color) inset}.block-editor-link-control__search-item.is-selected{background:#f0f0f0}.block-editor-link-control__search-item.is-selected .block-editor-link-control__search-item-type{background:#fff}.block-editor-link-control__search-item.is-current{background:transparent;border:0;width:100%;cursor:default;padding:16px 24px 16px 16px}.block-editor-link-control__search-item .block-editor-link-control__search-item-header{display:block;margin-left:8px;overflow:hidden;white-space:nowrap}.block-editor-link-control__search-item .block-editor-link-control__search-item-icon{margin-left:1em;min-width:24px}.block-editor-link-control__search-item .block-editor-link-control__search-item-info,.block-editor-link-control__search-item .block-editor-link-control__search-item-title{overflow:hidden;text-overflow:ellipsis;padding-left:24px}.block-editor-link-control__search-item .block-editor-link-control__search-item-info .components-external-link__icon,.block-editor-link-control__search-item .block-editor-link-control__search-item-title .components-external-link__icon{position:absolute;left:0;margin-top:0}.block-editor-link-control__search-item .block-editor-link-control__search-item-title{display:block;margin-bottom:.2em;font-weight:500;position:relative}.block-editor-link-control__search-item .block-editor-link-control__search-item-title mark{font-weight:700;color:#000;background-color:initial}.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-info{display:block;color:#757575;font-size:.9em;line-height:1.3}.block-editor-link-control__search-item .block-editor-link-control__search-item-type{display:block;padding:3px 8px;margin-right:auto;font-size:.9em;background-color:#f0f0f0;border-radius:2px}.block-editor-link-control__loading{margin:16px;display:flex;align-items:center}.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:"";position:absolute;top:-10px;right:0;display:block;width:100%}.block-editor-link-control__search-results div[role=menu]>.block-editor-link-control__search-item.block-editor-link-control__search-item{padding:10px}.block-editor-link-control__settings{border-top:1px solid #ddd;margin:0;padding:16px 24px}.block-editor-link-control__settings :last-child{margin-bottom:0}.is-alternate .block-editor-link-control__settings{border-top:1px solid #1e1e1e}.block-editor-link-control__setting{margin-bottom:16px}.block-editor-link-control__setting :last-child{margin-bottom:0}.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{position:absolute;right:auto;bottom:auto;top:28px;left:62px}.block-editor-link-control__search-item-action{margin-right:auto;flex-shrink:0}.block-editor-line-height-control{margin-bottom:24px}.block-editor-line-height-control input{display:block;max-width:60px}.block-editor-image-size-control{margin-bottom:1em}.block-editor-image-size-control .block-editor-image-size-control__row{display:flex;justify-content:space-between}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__height,.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__width{margin-bottom:.5em}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__height input,.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__width input{line-height:1.25}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__width{margin-left:5px}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__height{margin-right:5px}.block-editor-block-list__layout.has-overlay:after{content:"";position:absolute;top:-14px;left:-14px;bottom:-14px;right:-14px;z-index:60}[data-align=full] .has-overlay:after{left:0;right:0}.block-editor-block-types-list__list-item{display:block;width:33.33%;padding:0;margin:0}.components-button.block-editor-block-types-list__item{display:flex;flex-direction:column;width:100%;font-size:13px;color:#1e1e1e;padding:8px;align-items:stretch;justify-content:center;cursor:pointer;background:transparent;word-break:break-word;border-radius:2px;border:1px solid transparent;transition:all .05s ease-in-out;position:relative;height:auto}@media (prefers-reduced-motion:reduce){.components-button.block-editor-block-types-list__item{transition-duration:0s;transition-delay:0s}}.components-button.block-editor-block-types-list__item:disabled{opacity:.6;cursor:default}.components-button.block-editor-block-types-list__item:not(:disabled):hover{border-color:var(--wp-admin-theme-color);color:var(--wp-admin-theme-color)!important}.components-button.block-editor-block-types-list__item:not(:disabled).is-active{color:#fff;background:#1e1e1e;outline:2px solid transparent;outline-offset:-2px}.block-editor-block-types-list__item-icon{padding:12px 20px;border-radius:2px;color:#1e1e1e;transition:all .05s ease-in-out}@media (prefers-reduced-motion:reduce){.block-editor-block-types-list__item-icon{transition-duration:0s;transition-delay:0s}}.block-editor-block-types-list__item-icon .block-editor-block-icon{margin-right:auto;margin-left: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-duration:0s;transition-delay: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{padding:4px 2px 8px;font-size:12px}.modal-open .block-editor-media-replace-flow__options{display:none}.block-editor-media-replace-flow__options .components-popover__content>div{padding-top:16px}.block-editor-media-replace-flow__indicator{margin-right:4px}.block-editor-media-flow__url-input{border-top:1px solid #1e1e1e;margin-top:12px;margin-left:-12px;margin-right:-12px;padding:12px 24px 0}.block-editor-media-flow__url-input .block-editor-media-replace-flow__image-url-label{top:16px}.block-editor-media-flow__url-input .block-editor-link-control{margin-top:-16px;width:auto}.block-editor-media-flow__url-input .block-editor-link-control .components-base-control .components-base-control__field{margin-bottom:0}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-title{max-width:180px;margin-top:16px}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item.is-current{width:auto;padding:0}.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:16px 0 0;width:100%}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-actions{left:4px}.block-editor-media-flow__error{padding:0 20px 20px;max-width:255px}.block-editor-media-flow__error .components-with-notices-ui{max-width:255px}.block-editor-media-flow__error .components-with-notices-ui .components-notice__content{overflow:hidden;word-wrap:break-word}.block-editor-media-flow__error .components-with-notices-ui .components-notice__dismiss{position:absolute;left:10px}.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{width:100%;flex-grow:1;border:none;border-radius:0;margin:2px}@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{margin:1em;display:block}.block-editor-media-placeholder.is-appender{min-height:0}.block-editor-media-placeholder.is-appender:hover{cursor:pointer;box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.block-editor-multi-selection-inspector__card{display:flex;align-items:flex-start;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{margin-right:-2px;margin-left:10px;padding:0 3px;width:36px;height:24px}.block-editor-plain-text{box-shadow:none;font-family:inherit;font-size:inherit;color:inherit;line-height:inherit;border:none;padding:0;margin:0;width:100%}.block-editor-responsive-block-control{margin-bottom:28px;border-bottom:1px solid #ccc;padding-bottom:14px}.block-editor-responsive-block-control:last-child{padding-bottom:0;border-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{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.block-editor-rich-text__editable>p:first-child{margin-top:0}.block-editor-rich-text__editable [data-rich-text-placeholder]{pointer-events:none}.block-editor-rich-text__editable [data-rich-text-placeholder]:after{content:attr(data-rich-text-placeholder);opacity:.62}.block-editor-rich-text__editable:focus{outline:none}.block-editor-rich-text__editable:focus [data-rich-text-format-boundary]{border-radius:2px}figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]:before{opacity:.8}.components-popover.block-editor-rich-text__inline-format-toolbar{z-index:99998}.components-popover.block-editor-rich-text__inline-format-toolbar .components-popover__content{width:auto;min-width:auto;margin-bottom:8px;box-shadow:none;border:1px solid #1e1e1e;border-radius:2px;background-color:#fff}.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar,.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar-group{border:none}.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-width:48px;min-height:48px;padding-right:12px;padding-left: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)}[data-rich-text-script]{display:inline}[data-rich-text-script]:before{content:"";background:#ff0}.block-editor-skip-to-selected-block{position:absolute;top:-9999em}.block-editor-skip-to-selected-block:focus{height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:var(--wp-admin-theme-color);line-height:normal;box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:none;z-index:100000}.block-editor-text-decoration-and-transform{display:flex}.block-editor-text-transform-control{flex:0 0 50%}.block-editor-text-transform-control legend{margin-bottom:8px}.block-editor-text-transform-control .block-editor-text-transform-control__buttons{display:inline-flex;margin-bottom:24px}.block-editor-text-transform-control .block-editor-text-transform-control__buttons .components-button.has-icon{min-width:24px;padding:0;margin-left:4px}.block-editor-text-decoration-control{flex:0 0 50%}.block-editor-text-decoration-control legend{margin-bottom:8px}.block-editor-text-decoration-control .block-editor-text-decoration-control__buttons{display:inline-flex;margin-bottom:24px}.block-editor-text-decoration-control .block-editor-text-decoration-control__buttons .components-button.has-icon{min-width:24px;padding:0;margin-left:4px}.block-editor-tool-selector__help{margin:8px -12px -12px;padding:12px 20px;border-top:1px solid #ddd;color:#757575;min-width:280px}.block-editor-block-list__block .block-editor-url-input,.block-editor-url-input,.components-popover .block-editor-url-input{flex-grow:1;position:relative;padding:1px}.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]{width:100%;padding:8px 12px 8px 8px;border:none;border-radius:0;margin-right:0;margin-left:0;font-size:16px}@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]{width:300px;font-size:13px}}.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{position:absolute;left:8px 8px 8px 12px;bottom:8px 8px 8px 12px8px1;margin:0}.block-editor-url-input__input[type=text]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal}@media (prefers-reduced-motion:reduce){.block-editor-url-input__input[type=text]{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.block-editor-url-input__input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-url-input__suggestions{max-height:200px;transition:all .15s ease-in-out;padding:4px 0;width:302px;overflow-y:auto}@media (prefers-reduced-motion:reduce){.block-editor-url-input__suggestions{transition-duration:0s;transition-delay: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:inherit}}.block-editor-url-input__suggestion{padding:4px 8px 8px;color:#757575;display:block;font-size:13px;cursor:pointer;background:#fff;width:100%;border:none;text-align:right;box-shadow:none}.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{content:"";position:absolute;display:block;width:1px;height:24px;left:-1px;background:#ddd}.block-editor-url-input__button-modal{box-shadow:0 2px 6px rgba(0,0,0,.05);border:1px solid #ddd;background:#fff}.block-editor-url-input__button-modal-line{display:flex;flex-direction:row;flex-grow:1;flex-shrink:1;min-width:0;align-items:flex-start}.block-editor-url-input__button-modal-line .components-button{flex-shrink:0;width:36px;height: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{padding:5px;border-radius:2px;height:30px;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{flex-shrink:0;border-radius:0;border-right:1px solid #ddd;margin-right:1px}.block-editor-url-popover__settings-toggle[aria-expanded=true] .dashicon{transform:rotate(-180deg)}.block-editor-url-popover__input-container .components-base-control:last-child,.block-editor-url-popover__input-container .components-base-control:last-child .components-base-control__field{margin-bottom:0}.block-editor-url-popover__settings{display:block;padding:16px;border-top:1px solid #ddd}.block-editor-url-popover__link-editor,.block-editor-url-popover__link-viewer{display:flex}.block-editor-url-popover__link-editor .block-editor-url-input .components-base-control__field,.block-editor-url-popover__link-viewer .block-editor-url-input .components-base-control__field{margin-bottom:0}.block-editor-url-popover__link-editor .block-editor-url-input .components-spinner,.block-editor-url-popover__link-viewer .block-editor-url-input .components-spinner{bottom:8px 8px 8px 12px1}.block-editor-url-popover__link-viewer-url{margin:7px;flex-grow:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:150px;max-width:500px}.block-editor-url-popover__link-viewer-url.has-invalid-link{color:#cc1818}.block-editor-warning{align-items:center;display:flex;flex-wrap:wrap;padding:1em;border:1px solid #1e1e1e;border-radius:2px;background-color:#fff}.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{line-height:1.4;font-size:13px;color:#1e1e1e;margin:0}.block-editor-warning p.block-editor-warning__message.block-editor-warning__message{min-height:auto}.block-editor-warning .block-editor-warning__contents{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap;align-items:baseline;width:100%}.block-editor-warning .block-editor-warning__actions{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}.html-anchor-control .components-external-link{display:block;margin-top:8px}.block-editor-hooks__layout-controls{display:flex;margin-bottom:16px}.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-hooks__layout-controls-reset{display:flex;justify-content:flex-end;margin-bottom:24px}.block-editor-hooks__layout-controls-helptext{font-size:12px}#end-resizable-editor-section{display:none}.block-editor-block-toolbar{display:flex;flex-grow:1;width:100%;overflow:auto;position:relative;transition:border-color .1s linear,box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.block-editor-block-toolbar{transition-duration:0s;transition-delay: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;line-height:0;margin-top:-1px;margin-bottom:-1px;border:0;border-left:1px solid #ddd}.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.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-parent-selector{position:absolute;top:-1px;right:-57px}.show-icon-labels .block-editor-block-parent-selector{position:relative;right:auto;top:auto;margin-top:-1px;margin-right:-1px;margin-bottom:-1px}.block-editor-block-toolbar__block-controls{height:auto!important;padding:0!important;margin-right:-1px}.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{width:24px!important;margin:0!important}.block-editor-block-toolbar__block-controls .block-editor-block-switcher .components-dropdown-menu__toggle:focus:before,.block-editor-block-toolbar__block-controls .block-editor-block-switcher__no-switcher-icon:focus:before{left:4px!important}.block-editor-block-toolbar__block-controls .block-editor-block-mover{margin-right:-6px}.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-right:6px;padding-left:6px}.show-icon-labels .block-editor-block-switcher{border-left:1px solid #1e1e1e}.show-icon-labels .block-editor-block-switcher .components-dropdown-menu__toggle{margin-right:0}.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{width:0!important;height:0!important}.show-icon-labels .block-editor-block-switcher .components-dropdown-menu__toggle:focus:before,.show-icon-labels .block-editor-block-switcher__no-switcher-icon:focus:before{left:4px!important}.show-icon-labels .block-editor-block-parent-selector__button .block-editor-block-icon{width:0}.show-icon-labels .block-editor-block-toolbar__block-controls .block-editor-block-mover{margin-right:0;white-space:nowrap}.show-icon-labels .block-editor-block-mover-button{padding-right:8px!important;padding-left:8px!important}.show-icon-labels .block-editor-block-mover__drag-handle.has-icon{padding-right:6px!important;padding-left:6px!important;border-left:1px solid #1e1e1e}@media (min-width:600px){.show-icon-labels .is-up-button.is-up-button.is-up-button{border-bottom:1px solid #1e1e1e;margin-left:0;border-radius:0}}.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{display:inline-block;background:none;border:none;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:0}@media (min-width:782px){.block-editor-inserter{position:relative}}.block-editor-inserter__popover.is-quick .components-popover__content{border:none}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>*{border-right:1px solid #ccc;border-left:1px solid #ccc}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>:first-child{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}.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{overflow:visible;height:auto}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__preview-container{display:none}.block-editor-inserter__toggle.components-button{display:inline-flex;align-items:center;cursor:pointer;border:none;outline:none;padding:0;transition:color .2s ease}@media (prefers-reduced-motion:reduce){.block-editor-inserter__toggle.components-button{transition-duration:0s;transition-delay:0s}}.block-editor-inserter__menu{height:100%;position:relative;overflow:visible}.block-editor-inserter__main-area{width:auto;overflow-y:auto;height:100%}@media (min-width:782px){.block-editor-inserter__main-area{width:350px}}.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;position:sticky;top:0;background:#fff;z-index:1}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;line-height:normal;display:block;padding:16px 16px 16px 48px;background:#f0f0f0;border:none;width:100%;height:48px;font-size:16px}@media (prefers-reduced-motion:reduce){.block-editor-inserter__search input[type=search].block-editor-inserter__search-input{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.block-editor-inserter__search input[type=search].block-editor-inserter__search-input{font-size:13px;line-height:normal}}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.block-editor-inserter__search input[type=search].block-editor-inserter__search-input{font-size:13px}}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input:focus{background:#fff;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::placeholder{color:#757575}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-cancel-button,.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-decoration,.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-results-button,.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-results-decoration{-webkit-appearance:none}.block-editor-inserter__search-icon{position:absolute;top:0;left:20px;bottom:0;display:flex;align-items:center}.block-editor-inserter__search-icon>svg{margin:8px}.block-editor-inserter__tabs{display:flex;flex-direction:column;margin-top:-8px}.block-editor-inserter__tabs .components-tab-panel__tabs{position:sticky;top:72px;background:#fff;z-index:1;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__tab-content{display:flex;flex-grow:1;flex-direction:column;position:relative;z-index:0}.block-editor-inserter__panel-header{display:inline-flex;align-items:center;padding:16px 16px 0}.block-editor-inserter__panel-header-patterns{padding:16px 16px 0}.block-editor-inserter__panel-content{padding:16px}.block-editor-inserter__panel-title,.block-editor-inserter__panel-title button{margin:0 0 0 12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500}.block-editor-inserter__panel-dropdown select.components-select-control__input.components-select-control__input.components-select-control__input{line-height:1.2}.block-editor-inserter__panel-dropdown select{border:none}.block-editor-inserter__block-list{flex-grow:1;position:relative}.block-editor-inserter__popover .block-editor-block-types-list{margin:-8px}.block-editor-inserter__reusable-blocks-panel{position:relative;text-align:left}.block-editor-inserter__manage-reusable-blocks{display:inline-block;margin:16px}.block-editor-inserter__no-results{padding:32px;margin-top:64px;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{display:flex;align-items:center}.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{display:none;width:300px;background:#fff;border-radius:2px;border:1px solid #ddd;position:absolute;top:16px;right:calc(100% + 16px);max-height:calc(100% - 32px);overflow-y:hidden}@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__preview-content{min-height:144px;background:#f0f0f0;display:grid;flex-grow:1;align-items:center}.block-editor-inserter__preview-content-missing{flex:1;display:flex;justify-content:center;align-items:center;min-height:144px;color:#757575;background:#f0f0f0}.block-editor-inserter__tips{border-top:1px solid #ddd;padding:16px;flex-shrink:0;position:relative}.block-editor-inserter__manage-reusable-blocks-container{padding:16px}.block-editor-inserter__quick-inserter{width:100%;max-width:100%}@media (min-width:782px){.block-editor-inserter__quick-inserter{width:350px}}.block-editor-inserter__quick-inserter-results .block-editor-inserter__panel-header{height:0;padding:0;float:right}.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{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px}.block-editor-inserter__quick-inserter-separator{border-top:1px solid #ddd}.block-editor-inserter__popover.is-quick>.components-popover__content>div{padding:0}.block-editor-inserter__quick-inserter-expand.components-button{display:block;background:#1e1e1e;color:#fff;width:100%;height:44px;border-radius:0}.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:focus:not(:disabled){box-shadow:inset 0 0 0 1.5px var(--wp-admin-theme-color),inset 0 0 0 3px #fff}.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 .components-popover__content{overflow-y:visible}.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__actions .editor-post-preview{display:none}}@media (min-width:600px){.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-duration:0s;transition-delay: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}}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-20:#006187;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#2145e6;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#07526c;--wp-admin-theme-color-darker-20:#064054;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#383330;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#46365d;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#dd382d;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#576e74;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#d97426;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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}@media (-webkit-min-device-pixel-ratio:2),(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-block-alignment-control__menu-group .components-menu-item__info{margin-top:0}.block-editor-block-alignment-matrix-control__popover .components-popover__content{min-width:0;width:auto}.block-editor-block-alignment-matrix-control__popover .components-popover__content>div{padding:8px}.block-editor-block-icon{display:flex;align-items:center;justify-content:center;width:24px;height: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{min-width:20px;min-height:20px;max-width:24px;max-height:24px}.block-editor-block-inspector p{margin-top:0}.block-editor-block-inspector h2,.block-editor-block-inspector h3{font-size:13px;color:#1e1e1e;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-panel__body{border:none;border-top:1px solid #e0e0e0}.block-editor-block-inspector .block-editor-block-card{padding:16px}.block-editor-block-inspector__no-blocks{display:block;font-size:13px;background:#fff;padding:32px 16px;text-align:center}.block-editor-block-styles .block-editor-block-list__block{margin:0}.block-editor-block-list__layout{position:relative}.block-editor-block-list__layout.is-navigate-mode{cursor:default}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{position:absolute;z-index:1;pointer-events:none;content:"";top:1px;bottom:1px;right:1px;left:1px;box-shadow:0 0 0 1px var(--wp-admin-theme-color);border-radius:1px;outline:2px solid transparent}.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-multi-selected:after,.is-dark-theme .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered: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 1px #fff}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted .components-placeholder ::selection,.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected .components-placeholder ::selection,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered .components-placeholder ::selection,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected .components-placeholder ::selection{background:transparent}.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered:not(.is-selected):after{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after{box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:1px solid transparent}.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:after,.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.has-child-selected,.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) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected:before{content:"";position:absolute;z-index:0;pointer-events:none;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;left:0;right:0;top:-14px;border-radius:2px;border-top:4px solid #ccc}.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected:after{content:none}.block-editor-block-list__layout .is-block-moving-mode.can-insert-moving-block.block-editor-block-list__block.is-selected:before{border-color:var(--wp-admin-theme-color)}.is-block-moving-mode.block-editor-block-list__block-selection-button{opacity:0;font-size:1px;height:1px;padding:0}.block-editor-block-list__layout .block-editor-block-list__block{position:relative;overflow-wrap:break-word}.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-right:0;margin-left: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:not([contenteditable]):focus{outline:none}.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after{position:absolute;z-index:1;pointer-events:none;content:"";top:1px;bottom:1px;right:1px;left:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);border-radius:1px;outline:2px solid transparent}.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}.block-editor-block-list__layout .block-editor-block-list__block:after{content:"";pointer-events:none;position:absolute;top:0;left:0;bottom:0;right:0;border-radius:2px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) transparent}.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{content:"";position:absolute;top:0;left:0;bottom:0;right:0;border-radius:2px;background-color:hsla(0,0%,100%,.4)}.block-editor-block-list__layout .block-editor-block-list__block.has-warning.is-multi-selected:after{background-color:initial}.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{top:1px;right:1px;left:1px;bottom:1px;box-shadow:0 0 0 1px var(--wp-admin-theme-color);border-radius:1px}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected{cursor:unset}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);top:1px;right:1px;left:1px;bottom:1px;border-radius:1px}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected:focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){opacity:.5;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){transition-duration:0s;transition-delay:0s}}.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}.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity{opacity:.5;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity{transition-duration:0s;transition-delay:0s}}.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity.has-child-selected,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity.is-active-entity,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity.is-active-entity .block-editor-block-list__block,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity .is-active-entity .block-editor-block-list__block,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity:not(.has-child-selected) .block-editor-block-list__block{opacity:1}.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-right:auto;margin-left:auto}.block-editor-block-list .block-editor-inserter{margin:8px;cursor:move;cursor:grab}@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-duration:1ms;animation-delay:0s}}.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{display:block;margin:0;padding:12px;width:100%;border:none;outline:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;resize:none;overflow:hidden;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;line-height:1.5;transition:padding .2s linear}@media (prefers-reduced-motion:reduce){.block-editor-block-list__block .block-editor-block-list__block-html-textarea{transition-duration:0s;transition-delay: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{z-index:5;position:relative}.block-editor-block-list__block .block-editor-warning.block-editor-block-list__block-crash-warning{margin-bottom:auto}.block-editor-block-list__insertion-point{position:absolute}.block-editor-block-list__insertion-point-indicator{position:absolute;background:var(--wp-admin-theme-color)}.block-editor-block-list__insertion-point.is-vertical>.block-editor-block-list__insertion-point-indicator{top:50%;height:1px}.block-editor-block-list__insertion-point.is-horizontal>.block-editor-block-list__insertion-point-indicator{top:0;left:0;right:50%;width:1px}.block-editor-block-list__insertion-point-inserter{display:none;position:absolute;justify-content:center;top:calc(50% - 12px);right:calc(50% - 12px)}@media (min-width:480px){.block-editor-block-list__insertion-point-inserter{display:flex}}.block-editor-block-list__block-popover-inserter{position:absolute;top:-9999em;margin-bottom:14px}.block-editor-block-list__block-popover-inserter.is-visible{position:static}.block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button.has-icon,.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,.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon{background:#1e1e1e;border-radius:2px;color:#fff;padding:0;min-width:24px;height:24px}.block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button.has-icon:hover,.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,.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon:hover{color:#fff;background:var(--wp-admin-theme-color)}.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{display:inline-flex;border:1px solid #1e1e1e;border-radius:2px;background-color:#fff}.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{position:sticky;top:0;width:100%;z-index:31;min-height:48px;display:block;border:none;border-bottom:1px solid #e0e0e0;border-radius:0}.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 .block-editor-block-mover-button{overflow:hidden}.block-editor-block-contextual-toolbar .block-editor-block-mover.is-horizontal .block-editor-block-mover-button.block-editor-block-mover-button{min-width:24px;width:24px}.block-editor-block-contextual-toolbar .block-editor-block-mover.is-horizontal .block-editor-block-mover-button.block-editor-block-mover-button svg{min-width:24px}.block-editor-block-contextual-toolbar .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button:focus:before{right:0!important;min-width:0;width:100%}@media (min-width:600px){.block-editor-block-contextual-toolbar .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button.is-up-button svg{top:5px}.block-editor-block-contextual-toolbar .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button.is-down-button svg{bottom:5px}}.block-editor-block-list__block-selection-button{display:inline-flex;padding:0 12px;z-index:22;border-radius:2px;background-color:#1e1e1e;font-size:13px;height:48px}.block-editor-block-list__block-selection-button .block-editor-block-list__block-selection-button__content{margin:auto;display:inline-flex;align-items:center}.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;padding:0;height:24px;min-width:24px;margin-right:-2px}.block-editor-block-list__block-selection-button .components-button.has-icon.block-selection-button_drag-handle svg{min-width:18px;min-height:18px}.block-editor-block-list__block-selection-button .block-editor-block-icon{font-size:13px;color:#fff;height:48px}.block-editor-block-list__block-selection-button .components-button{min-width:36px;color:#fff;height:48px;display:flex}.block-editor-block-list__block-selection-button .components-button:focus{box-shadow:none;border:none}.block-editor-block-list__block-selection-button .components-button:active{color:#fff}.block-editor-block-list__block-selection-button .block-selection-button_select-button.components-button{padding:0}.block-editor-block-list__insertion-point-popover.is-without-arrow{z-index:28;position:absolute;pointer-events:none}.block-editor-block-list__insertion-point-popover.is-without-arrow *{pointer-events:none}.block-editor-block-list__insertion-point-popover.is-without-arrow .is-with-inserter,.block-editor-block-list__insertion-point-popover.is-without-arrow .is-with-inserter *{pointer-events:all}.block-editor-block-list__insertion-point-popover.is-without-arrow .components-popover__content.components-popover__content{background:none;border:none;box-shadow:none;overflow-y:visible;margin-right:0}@keyframes hide-during-dragging{to{position:fixed;transform:translate(-9999px,9999px)}}.components-popover.block-editor-block-list__block-popover{z-index:31;position:absolute}.components-popover.block-editor-block-list__block-popover .components-popover__content{margin:0!important;min-width:auto;width:max-content;background:none;border:none;box-shadow:none;overflow-y:visible;pointer-events:none}.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-contextual-toolbar,.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-list__block-selection-button,.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-list__empty-block-inserter{pointer-events:all}.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-contextual-toolbar,.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-list__block-selection-button{margin-top:12px;margin-bottom:12px}.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{opacity:0;animation:hide-during-dragging 1ms linear forwards}.is-dragging-components-draggable .components-tooltip{display:none}.block-editor-block-list__block .block-list-appender{align-self:center;padding:0;list-style:none;margin-bottom:revert}.block-editor-block-list__block .block-list-appender.wp-block{max-width:none}.block-editor-block-list__block .block-list-appender .block-editor-default-block-appender{margin:8px 0}.block-editor-block-list__block .block-list-appender .block-list-appender__toggle{padding:0;opacity:1;transform:scale(1);transition:all .1s ease;margin-right:8px}@media (prefers-reduced-motion:reduce){.block-editor-block-list__block .block-list-appender .block-list-appender__toggle{transition-duration:0s;transition-delay:0s}}.block-editor-block-list__block .block-list-appender:first-of-type .block-list-appender__toggle{margin-right:0}.is-vertical .block-list-appender{width:24px;margin-left:auto;margin-top:12px;margin-right:12px}.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-breadcrumb{list-style:none;padding:0;margin:0}.block-editor-block-breadcrumb li{display:inline-flex;margin:0}.block-editor-block-breadcrumb li .block-editor-block-breadcrumb__separator{fill:currentColor;margin-right:-4px;margin-left:-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){text-decoration:underline;box-shadow:none}.block-editor-block-breadcrumb__button.components-button:focus{box-shadow:none}.block-editor-block-breadcrumb__button.components-button:focus:before{content:"";display:block;position:absolute;border-radius:2px;top:1px;left:1px;bottom:1px;right:1px;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-block-breadcrumb__current{cursor:default}.block-editor-block-breadcrumb__button.components-button,.block-editor-block-breadcrumb__current{color:#1e1e1e;padding:0 8px;font-size:inherit}.block-editor-block-card{display:flex;align-items:flex-start}.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;margin-right:0;margin-left:12px;width:24px;height:24px}.block-editor-block-compare{height:auto}.block-editor-block-compare__wrapper{display:flex;padding-bottom:16px}.block-editor-block-compare__wrapper>div{display:flex;justify-content:space-between;flex-direction:column;width:50%;padding:0 0 0 16px;min-width:200px;max-width:600px}.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-right:15px;padding-left:0}.block-editor-block-compare__wrapper .block-editor-block-compare__html{font-family:Menlo,Consolas,monaco,monospace;font-size:12px;color:#1e1e1e;border-bottom:1px solid #ddd;padding-bottom:15px;line-height:1.7}.block-editor-block-compare__wrapper .block-editor-block-compare__html span{background-color:#e6ffed;padding-top:3px;padding-bottom: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-content-overlay.overlay-active:before{content:"";position:absolute;top:0;right:0;width:100%;height:100%;background:transparent;border:none;border-radius:2px;z-index:10;pointer-events:none}.block-editor-block-content-overlay.parent-highlighted.overlay-active:before,.block-editor-block-content-overlay:hover:not(.is-dragging-blocks).overlay-active:before{background:rgba(var(--wp-admin-theme-color--rgb),.1);box-shadow:0 0 0 1px var(--wp-admin-theme-color) inset}.block-editor-block-content-overlay.overlay-active:not(.is-dragging-blocks) *{pointer-events:none}.block-editor-block-content-overlay.is-dragging-blocks{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.block-editor-block-draggable-chip-wrapper{position:absolute;top:-24px;right:0}.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}.block-editor-block-draggable-chip svg{fill:currentColor}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content{margin:auto;justify-content:flex-start}.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-width:18px;min-height: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-list__layout .is-dragging{background-color:currentColor!important;opacity:.05!important;border-radius:2px!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-mobile-toolbar{display:flex;flex-direction:row;border-left:1px solid #ddd}.block-editor-block-mobile-toolbar .block-editor-block-mover-button{width:36px;height:36px;border-radius:2px;padding:3px;margin:0;justify-content:center;align-items:center}.block-editor-block-mobile-toolbar .block-editor-block-mover-button .dashicon{margin:auto}.block-editor-block-mobile-toolbar .block-editor-block-mover{display:flex;margin-left:auto}.block-editor-block-mobile-toolbar .block-editor-block-mover .block-editor-block-mover-button{float:right}.block-editor-block-mover-button__description{display:none}.block-editor-block-mover-button.has-icon{padding:0}.block-editor-block-mover{display:inline-flex;flex-direction:row}.block-editor-block-mover .block-editor-block-mover__move-button-container,.block-editor-block-mover .components-toolbar{flex:1;flex-direction:row;border-left:none!important}@media (min-width:600px){.block-editor-block-mover .block-editor-block-mover__move-button-container,.block-editor-block-mover .components-toolbar{flex-direction:column}}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container,.block-editor-block-mover.is-horizontal .components-toolbar{flex-direction:row}.block-editor-block-mover .block-editor-block-mover-button.block-editor-block-mover-button{padding-left:0;padding-right:0;min-width:36px}@media (min-width:600px){.block-editor-block-mover .block-editor-block-mover-button{height:24px;width:42px;padding-left:11px!important;padding-right:6px!important}.block-editor-block-mover .block-editor-block-mover-button.block-editor-block-mover-button{min-width:42px}}@media (min-width:600px){.block-editor-block-mover .block-editor-block-mover-button:before{right:8px!important;left:8px!important}}.block-editor-block-mover .block-editor-block-mover__drag-handle{width:24px;cursor:grab;min-width:24px!important;padding:0!important}.block-editor-block-mover .block-editor-block-mover__drag-handle:focus:before{right:0!important;left:0!important}@media (min-width:600px){.block-editor-block-mover .components-toolbar-group .block-editor-block-mover-button,.block-editor-block-mover .components-toolbar .block-editor-block-mover-button{margin:0 0 0 auto}.block-editor-block-mover .components-toolbar-group .block-editor-block-mover-button.is-up-button:before,.block-editor-block-mover .components-toolbar .block-editor-block-mover-button.is-up-button:before{bottom:0;height:calc(100% - 1px)}.block-editor-block-mover .components-toolbar-group .block-editor-block-mover-button.is-down-button:before,.block-editor-block-mover .components-toolbar .block-editor-block-mover-button.is-down-button:before{top:0;height:calc(100% - 1px)}}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.has-icon{height:48px;width:24px;padding-right:0;padding-left:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.has-icon:before{top:1px;bottom:1px;min-width:0;width:auto;height:auto}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-up-button.has-icon svg{margin-right:0;margin-left:-8px;margin-bottom:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-up-button.has-icon:before{right:0!important;left:0!important}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-down-button.has-icon svg{margin-right:-8px;margin-left:0;margin-top:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-down-button.has-icon:before{right:0!important;left:0!important;width:calc(100% + 1px)}.block-editor-block-navigation__container{min-width:280px}.block-editor-block-navigation__label{margin:0 0 12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500}.block-editor-block-parent-selector{background:#fff;border-radius:2px}.block-editor-block-parent-selector .block-editor-block-parent-selector__button{width:48px;height:48px;border:1px solid #1e1e1e;border-radius:2px}.block-editor-block-patterns-list__list-item{cursor:pointer;margin-bottom:24px}.block-editor-block-patterns-list__list-item.is-placeholder{min-height:100px}.block-editor-block-patterns-list__list-item[draggable=true] .block-editor-block-preview__container{cursor:grab}.block-editor-block-patterns-list__item{height:100%}.block-editor-block-patterns-list__item .block-editor-block-preview__container{display:flex;align-items:center;overflow:hidden;border-radius:2px;border:1px solid #f0f0f0}.block-editor-block-patterns-list__item .block-editor-block-patterns-list__item-title{padding-top:8px;font-size:12px;text-align:center}.block-editor-block-patterns-list__item:hover .block-editor-block-preview__container{border:1px solid var(--wp-admin-theme-color)}.block-editor-block-patterns-list__item:focus .block-editor-block-preview__container{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-patterns-list__item:focus .block-editor-block-patterns-list__item-title,.block-editor-block-patterns-list__item:hover .block-editor-block-patterns-list__item-title{color:var(--wp-admin-theme-color)}.block-editor-block-preview__container{position:relative;width:100%;overflow:hidden}.block-editor-block-preview__container .block-editor-block-preview__content{top:0;right:0;transform-origin:top right;text-align:initial;margin:0;overflow:visible;min-height:auto}.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-drop-zone,.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,.block-editor-block-preview__container .block-editor-block-preview__content .reusable-block-indicator{display:none}.block-editor-block-settings-menu__popover .components-dropdown-menu__menu{padding:0}.block-editor-block-styles{display:flex;flex-wrap:wrap;justify-content:space-between}.block-editor-block-styles__item{width:calc(50% - 4px);margin:4px 0;flex-shrink:0;cursor:pointer;overflow:hidden;border-radius:2px;padding:6px;display:flex;flex-direction:column}.block-editor-block-styles__item:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-block-styles__item:hover .block-editor-block-styles__item-preview{border-color:var(--wp-admin-theme-color)}.block-editor-block-styles__item.is-active .block-editor-block-styles__item-label{font-weight:700}.block-editor-block-styles__item.is-active .block-editor-block-styles__item-preview{margin:0;border:2px solid #1e1e1e}.block-editor-block-styles__item .block-editor-block-preview__container{cursor:inherit}.block-editor-block-styles__item-preview{outline:1px solid transparent;padding:0;margin:2px;border-radius:2px;display:flex;overflow:hidden;background:#fff;align-items:center;flex-grow:1;min-height:80px;max-height:160px}.block-editor-block-switcher__styles__menugroup{position:relative}.block-editor-block-styles__item-label{text-align:center;padding:4px 0}.block-editor-block-switcher,.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{margin:0;display:block;height:48px}.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}.block-editor-block-switcher__popover{margin-right:6px}.components-button.block-editor-block-switcher__no-switcher-icon{width:48px}.components-button.block-editor-block-switcher__no-switcher-icon .block-editor-blocks-icon{margin-left:auto;margin-right:auto}.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-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,.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{height:100%;position:relative;margin:0 auto;display:flex;align-items:center;min-width:100%}.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,.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{top:8px;left:8px;bottom:8px;right:8px}.components-popover.block-editor-block-switcher__popover .components-popover__content{min-width:300px}.components-popover.block-editor-block-switcher__popover .components-popover__content>div{min-width:auto;display:flex;background:#fff;padding:0}.components-popover.block-editor-block-switcher__popover .components-popover__content>div .components-menu-group{margin:0}.block-editor-block-switcher__popover .components-popover__content .block-editor-block-styles{margin:0 -3px}.block-editor-block-switcher__popover .components-popover__content .components-panel__body{border:0;position:relative;z-index:1}.block-editor-block-switcher__popover .components-popover__content .components-panel__body+.components-panel__body{border-top:1px solid #e0e0e0}.block-editor-block-switcher__popover__preview__parent .block-editor-block-switcher__popover__preview__container{position:absolute;top:-12px;right:calc(100% + 32px)}.block-editor-block-switcher__preview__popover{display:none}.block-editor-block-switcher__preview__popover.components-popover{margin-right:4px;margin-top:11px}@media (min-width:782px){.block-editor-block-switcher__preview__popover{display:block}}.block-editor-block-switcher__preview__popover .components-popover__content{box-shadow:none;border:1px solid #1e1e1e;background:#fff;border-radius:2px}.block-editor-block-switcher__preview__popover .block-editor-block-switcher__preview{width:300px;height:auto;max-height:500px;padding:16px}.block-editor-block-switcher__preview-title{margin-bottom:12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon{width:48px}.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{width:48px;height: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{height:100%;border-radius:2px;transition:all .05s ease-in-out;position:relative;border:1px 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: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{padding:4px;font-size:12px;text-align:center;cursor:pointer}.block-editor-block-types-list>[role=presentation]{overflow:hidden;display:flex;flex-wrap:wrap}.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;justify-content:flex-start;flex-direction:row;flex-wrap:wrap;width:100%;margin:16px 0;padding:0;list-style:none}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations>li{list-style:none;margin:8px 0 0 20px;flex-shrink:1;width:75px;text-align:center}.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{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;display:block;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-block-pattern-setup{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;outline:1px solid transparent}.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{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;padding:16px;max-height:550px;overflow:auto;margin:0 1px 1px;width:calc(100% - 2px);background:#fff}.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-title{padding:4px;font-size:12px;text-align:center}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-preview__container{border-radius:2px;border:1px solid #ddd}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar{box-sizing:border-box;position:relative;padding:16px;width:100%;text-align:right;margin:0;color:#1e1e1e;border-radius:2px 2px 0 0;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;outline:1px solid transparent;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.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{width:calc(50% - 36px);display:flex}.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{display:flex;flex-direction:column;width:100%;box-sizing:border-box}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container{overflow:hidden;position:relative;padding:0;margin:0;list-style:none;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{opacity:0;position:absolute;top:0;width:100%;margin:auto;padding:16px;transition:transform .5s,opacity .5s,z-index .5s;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-variation-transforms{padding:0 56px 16px 16px;width:100%}.block-editor-block-variation-transforms .components-dropdown-menu__toggle{border:1px solid #757575;border-radius:2px;min-height:30px;width:100%;position:relative;text-align:right;justify-content:left;padding:6px 12px}.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%;padding:0;position:absolute;left: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{padding-bottom:4px}.components-border-radius-control .components-border-radius-control__wrapper{display:flex;justify-content:space-between;align-items:flex-start}.components-border-radius-control .components-border-radius-control__wrapper .components-range-control,.components-border-radius-control .components-border-radius-control__wrapper>.components-unit-control-wrapper{width:calc(50% - 26px);margin-bottom:0}.components-border-radius-control .components-border-radius-control__wrapper .components-range-control .components-base-control__field{margin-bottom:0;height:30px}.components-border-radius-control .components-border-radius-control__wrapper .components-range-control .components-range-control__wrapper{margin-left:10px}.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:flex;width:70%;flex-wrap:wrap}.components-border-radius-control .components-border-radius-control__input-controls-wrapper .components-unit-control-wrapper{width:calc(50% - 8px);margin-bottom:8px;margin-left:8px}.components-border-radius-control .component-border-radius-control__linked-button.has-icon{display:flex;justify-content:center}.components-border-radius-control .component-border-radius-control__linked-button.has-icon svg{margin-left:0}.components-border-style-control legend{line-height:1.2;padding-bottom:4px}.components-border-style-control .components-border-style-control__buttons{display:inline-flex;margin-bottom:24px}.components-border-style-control .components-border-style-control__buttons .components-button.has-icon{min-width:30px;height:30px;padding:3px;margin-left:4px}.block-editor-button-block-appender{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;width:100%;height:auto;color:#1e1e1e;box-shadow:inset 0 0 0 1px #1e1e1e}.is-dark-theme .block-editor-button-block-appender{color:hsla(0,0%,100%,.65);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.65)}.block-editor-button-block-appender:hover{color:var(--wp-admin-theme-color);box-shadow:inset 0 0 0 1px 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-button-block-appender.block-list-appender__toggle{display:flex;flex-direction:row;box-shadow:none;height:24px;width:24px}.block-editor-button-block-appender.block-list-appender__toggle>svg{width:24px;background-color:#1e1e1e;color:#fff;border-radius:2px;flex:1 0 auto}.block-editor-color-gradient-control .block-editor-color-gradient-control__color-indicator{margin-bottom:12px}.block-editor-panel-color-gradient-settings .component-color-indicator{vertical-align:text-bottom}.block-editor-panel-color-gradient-settings__panel-title .component-color-indicator{display:inline-block}.block-editor-panel-color-gradient-settings.is-opened .block-editor-panel-color-gradient-settings__panel-title .component-color-indicator{display:none}@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-contrast-checker>.components-notice{margin:0}.block-editor-default-block-appender{clear:both;margin-right:auto;margin-left: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}.block-editor-default-block-appender .components-drop-zone__content-icon{display:none}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender .block-editor-inserter{position:absolute;top:0;height:32px}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter .block-editor-inserter__toggle,.block-editor-default-block-appender .block-editor-inserter .block-editor-inserter__toggle{margin-left:0}@media (min-width:600px){.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender .block-editor-inserter{display:flex;height:100%}}.block-editor-block-list__empty-block-inserter:disabled,.block-editor-default-block-appender .block-editor-inserter:disabled{display:none}.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender.has-visible-prompt .block-editor-inserter{left:0}.block-editor-duotone-control__popover>.components-popover__content>div{padding:16px;width:280px}.block-editor-duotone-control__popover .components-menu-group__label{padding:0}.block-editor-duotone-control__popover .components-custom-gradient-picker__gradient-bar{margin:16px 0 12px}.block-editor-duotone-control__popover .components-circular-option-picker__swatches{display:grid;grid-template-columns:repeat(6,28px);gap:12px;justify-content:space-between}.block-editor-duotone-control__description{margin:16px 0;font-size:12px}.block-editor-duotone-control__popover:not([data-y-axis=middle][data-x-axis=right])>.components-popover__content{margin-right:-14px}.components-font-appearance-control{margin-bottom:24px}.components-font-appearance-control ul li{color:#1e1e1e;text-transform:capitalize}.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{position:relative;min-width:360px}.components-popover__content .block-editor-link-control{min-width:auto;width:90vw;max-width:360px}.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>.components-base-control__field{display:flex;align-items:center;margin:0}.block-editor-link-control__field .components-base-control__label{margin-left:16px;margin-bottom:0}.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input,.block-editor-link-control__field input[type=text]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;font-size:16px;line-height:normal;width:calc(100% - 32px);display:block;padding:11px 16px 11px 36px;margin:0;position:relative;border:1px solid #ddd;border-radius:2px}@media (prefers-reduced-motion:reduce){.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input,.block-editor-link-control__field input[type=text]{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input,.block-editor-link-control__field input[type=text]{font-size:13px;line-height:normal}}.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input:focus,.block-editor-link-control__field input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input::-webkit-input-placeholder,.block-editor-link-control__field input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input::-moz-placeholder,.block-editor-link-control__field input[type=text]::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input:-ms-input-placeholder,.block-editor-link-control__field input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-link-control__search-error{margin:-8px 16px 16px}.block-editor-link-control__search-actions{position:absolute;top:3px;left:19px}.components-button .block-editor-link-control__search-submit .has-icon{margin:-1px}.block-editor-link-control__search-results-wrapper{position:relative;margin-top:-15px}.block-editor-link-control__search-results-wrapper:after,.block-editor-link-control__search-results-wrapper:before{content:"";position:absolute;right:-1px;left:16px;display:block;pointer-events:none;z-index:100}.block-editor-link-control__search-results-wrapper:before{height:8px;top:0;bottom:auto}.block-editor-link-control__search-results-wrapper:after{height:16px;bottom:0;top:auto}.block-editor-link-control__search-results-label{padding:16px 32px 0;display:block;font-weight:600}.block-editor-link-control__search-results{margin:0;padding:8px 16px;max-height:200px;overflow-y:auto}.block-editor-link-control__search-results.is-loading{opacity:.2}.block-editor-link-control__search-item{position:relative;display:flex;align-items:flex-start;font-size:13px;cursor:pointer;background:#fff;width:100%;border:none;text-align:right;padding:12px 16px;border-radius:2px;height:auto}.block-editor-link-control__search-item:focus,.block-editor-link-control__search-item:hover{background-color:#f0f0f0}.block-editor-link-control__search-item:focus .block-editor-link-control__search-item-type,.block-editor-link-control__search-item:hover .block-editor-link-control__search-item-type{background:#fff}.block-editor-link-control__search-item:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color) inset}.block-editor-link-control__search-item.is-selected{background:#f0f0f0}.block-editor-link-control__search-item.is-selected .block-editor-link-control__search-item-type{background:#fff}.block-editor-link-control__search-item.is-current{flex-direction:column;background:transparent;border:0;width:100%;cursor:default;padding:16px}.block-editor-link-control__search-item .block-editor-link-control__search-item-header{display:block;flex-direction:row;align-items:flex-start;margin-left:8px;white-space:pre-wrap;word-wrap:break-word}.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 .block-editor-link-control__search-item-icon{position:relative;top:.2em;margin-left:8px;max-height:24px;flex-shrink:0;width:24px;display:flex;justify-content:center}.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{top:0;width:32px;max-height:32px}.block-editor-link-control__search-item .block-editor-link-control__search-item-info,.block-editor-link-control__search-item .block-editor-link-control__search-item-title{overflow:hidden;text-overflow:ellipsis}.block-editor-link-control__search-item .block-editor-link-control__search-item-info .components-external-link__icon,.block-editor-link-control__search-item .block-editor-link-control__search-item-title .components-external-link__icon{position:absolute;left:0;margin-top:0}.block-editor-link-control__search-item .block-editor-link-control__search-item-title{display:block;margin-bottom:.2em;font-weight:500;position:relative}.block-editor-link-control__search-item .block-editor-link-control__search-item-title mark{font-weight:700;color:inherit;background-color:initial}.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-info{display:block;color:#757575;font-size:.9em;line-height:1.3}.block-editor-link-control__search-item .block-editor-link-control__search-item-error-notice{font-style:italic;font-size:1.1em}.block-editor-link-control__search-item .block-editor-link-control__search-item-type{display:block;padding:3px 6px;margin-right:auto;font-size:.9em;background-color:#f0f0f0;border-radius:2px}.block-editor-link-control__search-item .block-editor-link-control__search-item-description{padding-top:12px;margin:0}.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder{margin-top:12px;padding-top:0;height:28px;display:flex;flex-direction:column;justify-content:space-around}.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{display:block;content:"";height:.7em;width:100%;background-color:#f0f0f0;border-radius:3px}.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{display:flex;width:100%;background-color:#f0f0f0;justify-content:center;height:140px;max-height:140px;overflow:hidden;border-radius:2px;margin-top:12px}.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;max-width:100%;height:140px;max-height:140px}.block-editor-link-control__search-item-top{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{content:"";display:block;background-color:#f0f0f0;position:absolute;top:0;right:0;left:0;bottom:0;border-radius:100%;animation:loadingpulse 1s linear infinite;animation-delay:.5s}.block-editor-link-control__loading{margin:16px;display:flex;align-items:center}.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:"";position:absolute;top:-10px;right:0;display:block;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__search-results div[role=menu]>.block-editor-link-control__search-item.block-editor-link-control__search-item{padding:10px}.block-editor-link-control__tools{display:flex;align-items:center;border-top:1px solid #ddd;margin:0;padding:16px}.block-editor-link-control__unlink{padding-right:16px;padding-left:16px}.block-editor-link-control__settings{flex:1;margin:0}.block-editor-link-control__settings :last-child{margin-bottom:0}.is-alternate .block-editor-link-control__settings{border-top:1px solid #1e1e1e}.block-editor-link-control__setting{margin-bottom:16px}.block-editor-link-control__setting :last-child{margin-bottom:0}.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{position:absolute;right:auto;bottom:auto;top:28px;left:62px}.block-editor-link-control__search-item-action{margin-right:auto;flex-shrink:0}.block-editor-line-height-control{margin-bottom:24px}.block-editor-line-height-control input{display:block;max-width:60px}.block-editor-image-size-control{margin-bottom:1em}.block-editor-image-size-control .block-editor-image-size-control__row{display:flex;justify-content:space-between}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__height,.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__width{margin-bottom:.5em}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__height input,.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__width input{line-height:1.25}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__width{margin-left:5px}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__height{margin-right:5px}.block-editor-block-list__layout.has-overlay:after{content:"";position:absolute;top:-14px;left:-14px;bottom:-14px;right:-14px;z-index:60}[data-align=full] .has-overlay:after{left:0;right:0}.block-editor-block-types-list__list-item{display:block;width:33.33%;padding:0;margin:0}.components-button.block-editor-block-types-list__item{display:flex;flex-direction:column;width:100%;font-size:13px;color:#1e1e1e;padding:8px;align-items:stretch;justify-content:center;cursor:pointer;background:transparent;word-break:break-word;border-radius:2px;transition:all .05s ease-in-out;position:relative;height:auto}@media (prefers-reduced-motion:reduce){.components-button.block-editor-block-types-list__item{transition-duration:0s;transition-delay:0s}}.components-button.block-editor-block-types-list__item:disabled{opacity:.6;cursor:default}.components-button.block-editor-block-types-list__item:not(:disabled):hover{color:var(--wp-admin-theme-color)!important}.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{color:#fff;background:#1e1e1e;outline:2px solid transparent;outline-offset:-2px}.block-editor-block-types-list__item-icon{padding:12px 20px;border-radius:2px;color:#1e1e1e;transition:all .05s ease-in-out}@media (prefers-reduced-motion:reduce){.block-editor-block-types-list__item-icon{transition-duration:0s;transition-delay:0s}}.block-editor-block-types-list__item-icon .block-editor-block-icon{margin-right:auto;margin-left: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-duration:0s;transition-delay: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{padding:4px 2px 8px;font-size:12px}.block-editor-list-view-tree{width:100%;border-collapse:collapse;padding:0;margin:0}.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.is-selected{background:var(--wp-admin-theme-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}.is-dragging-components-draggable .block-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents{background:none;color:#1e1e1e}.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 .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-branch-selected:not(.is-selected){background:linear-gradient(hsla(0,0%,100%,.9),hsla(0,0%,100%,.9)),linear-gradient(var(--wp-admin-theme-color),var(--wp-admin-theme-color))}.block-editor-list-view-leaf.is-branch-selected.is-selected .block-editor-list-view-block-contents{border-radius:2px 2px 0 0}.block-editor-list-view-leaf[aria-expanded=false].is-branch-selected.is-selected .block-editor-list-view-block-contents{border-radius:2px}.block-editor-list-view-leaf.is-branch-selected:not(.is-selected) .block-editor-list-view-block-contents{border-radius:0}.block-editor-list-view-leaf.is-dragging{display:none}.block-editor-list-view-leaf .block-editor-list-view-block-contents{display:flex;align-items:center;width:100%;height:auto;padding:6px 0 6px 12px;text-align:right;color:#1e1e1e;border-radius:2px;position:relative;white-space:nowrap}.block-editor-list-view-leaf .block-editor-list-view-block-contents.is-dropping-before:before{content:"";position:absolute;pointer-events:none;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;top:-2px;left:0;right:0;border-top:4px solid var(--wp-admin-theme-color)}.components-modal__content .block-editor-list-view-leaf .block-editor-list-view-block-contents{padding-right:0;padding-left: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{content:"";position:absolute;top:0;left:-29px;bottom:0;right:0;border-radius:inherit;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);z-index:1;pointer-events:none}.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{opacity:1;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-visible .block-editor-list-view-block-contents{animation-duration:1ms;animation-delay:0s}}.block-editor-list-view-leaf .block-editor-block-icon{align-self:flex-start;margin-left:8px;width:24px}.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-top:0;padding-bottom: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;width:36px;opacity:0;vertical-align:middle}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell{transition-duration:0s;transition-delay:0s}}.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: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:hover{position:relative;z-index:1;opacity:1;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.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: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:hover{animation-duration:1ms;animation-delay:0s}}.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{width:24px;min-width:24px;padding:0}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell{padding-left:5px}.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{display:flex;height:100%;flex-direction:column;align-items:center}.block-editor-list-view-leaf .block-editor-block-mover-button{position:relative;width:36px;height:24px}.block-editor-list-view-leaf .block-editor-block-mover-button svg{position:relative;height:24px}.block-editor-list-view-leaf .block-editor-block-mover-button.is-up-button{margin-top:-6px;align-items:flex-end}.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{margin-bottom:-6px;align-items:flex-start}.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:focus,.block-editor-list-view-leaf .block-editor-block-mover-button:focus:enabled{box-shadow:none;outline:none}.block-editor-list-view-leaf .block-editor-block-mover-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}.block-editor-list-view-leaf .block-editor-block-mover-button:before{content:"";position:absolute;display:block;border-radius:2px;height:16px;min-width:100%;right:0;left:0;animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf .block-editor-block-mover-button:before{animation-duration:1ms;animation-delay:0s}}.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__anchor{background:rgba(0,0,0,.1);border-radius:2px;display:inline-block;padding:2px 6px;margin:0 8px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.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-appender__description,.block-editor-list-view-block-select-button__description{display:none}.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[aria-expanded=true] .block-editor-list-view__expander svg{visibility:visible;transition:transform .2s ease;transform:rotate(-90deg)}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf[aria-expanded=true] .block-editor-list-view__expander svg{transition-duration:0s;transition-delay:0s}}.block-editor-list-view-leaf[aria-expanded=false] .block-editor-list-view__expander svg{visibility:visible;transform:rotate(0deg);transition:transform .2s ease}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf[aria-expanded=false] .block-editor-list-view__expander svg{transition-duration:0s;transition-delay: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);height:1px}.block-editor-list-view-drop-indicator:not([data-y-axis=middle][data-x-axis=right])>.components-popover__content{margin-right:0;border:none;box-shadow:none}.block-editor-list-view-placeholder{padding:0;margin:0;height:36px}.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{border-top:1px solid #1e1e1e;margin-top:8px;margin-left:-8px;margin-right:-8px;padding:16px}.block-editor-media-flow__url-input .block-editor-media-replace-flow__image-url-label{display:block;top:16px;margin-bottom:8px}.block-editor-media-flow__url-input .block-editor-link-control{width:220px}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-url-input{padding:0}.block-editor-media-flow__url-input .block-editor-link-control .components-base-control .components-base-control__field{margin-bottom:0}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-title{max-width:180px;white-space:nowrap}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-info{white-space:nowrap}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item.is-current{width:auto;padding:0}.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{top:0;left:4px}.block-editor-media-flow__error{padding:0 20px 20px;max-width:255px}.block-editor-media-flow__error .components-with-notices-ui{max-width:255px}.block-editor-media-flow__error .components-with-notices-ui .components-notice__content{overflow:hidden;word-wrap:break-word}.block-editor-media-flow__error .components-with-notices-ui .components-notice__dismiss{position:absolute;left:10px}.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{width:100%;min-width:200px;flex-grow:1;border:none;border-radius:0;margin:2px}@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{margin:1em;display:block}.block-editor-media-placeholder.is-appender{min-height:0}.block-editor-media-placeholder.is-appender:hover{cursor:pointer;box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.block-editor-multi-selection-inspector__card{display:flex;align-items:flex-start;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{margin-right:-2px;margin-left:10px;padding:0 3px;width:36px;height:24px}.block-editor-plain-text{box-shadow:none;font-family:inherit;font-size:inherit;color:inherit;line-height:inherit;border:none;padding:0;margin:0;width:100%}.block-editor-responsive-block-control{margin-bottom:28px;border-bottom:1px solid #ccc;padding-bottom:14px}.block-editor-responsive-block-control:last-child{padding-bottom:0;border-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{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.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}.components-popover.block-editor-rich-text__inline-format-toolbar{z-index:99998}.components-popover.block-editor-rich-text__inline-format-toolbar .components-popover__content{width:auto;min-width:auto;margin-bottom:8px;box-shadow:none;border:1px solid #1e1e1e;border-radius:2px;background-color:#fff}.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar,.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar-group{border:none}.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-width:48px;min-height:48px;padding-right:12px;padding-left: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)}[data-rich-text-script]{display:inline}[data-rich-text-script]:before{content:"";background:#ff0}.block-editor-skip-to-selected-block{position:absolute;top:-9999em}.block-editor-skip-to-selected-block:focus{height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:var(--wp-admin-theme-color);line-height:normal;box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:none;z-index:100000}.block-editor-text-transform-control{flex:0 0 50%}.block-editor-text-transform-control legend{margin-bottom:8px}.block-editor-text-transform-control .block-editor-text-transform-control__buttons{display:inline-flex;margin-bottom:24px}.block-editor-text-transform-control .block-editor-text-transform-control__buttons .components-button.has-icon{min-width:24px;padding:0;margin-left:4px}.block-editor-text-decoration-control{flex:0 0 50%}.block-editor-text-decoration-control legend{margin-bottom:8px}.block-editor-text-decoration-control .block-editor-text-decoration-control__buttons{display:inline-flex;margin-bottom:24px}.block-editor-text-decoration-control .block-editor-text-decoration-control__buttons .components-button.has-icon{min-width:24px;padding:0;margin-left:4px}.block-editor-tool-selector__help{margin:8px -8px -8px;padding:16px;border-top:1px solid #ddd;color:#757575;min-width:280px}.block-editor-block-list__block .block-editor-url-input,.block-editor-url-input,.components-popover .block-editor-url-input{flex-grow:1;position:relative;padding:1px}.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]{width:100%;padding:8px 12px 8px 8px;border:none;border-radius:0;margin-right:0;margin-left:0;font-size:16px}@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]{width:300px;font-size:13px}}.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{position:absolute;left:8px 8px 8px 12px;bottom:8px 8px 8px 12px8px1;margin:0}.block-editor-url-input__input[type=text]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal}@media (prefers-reduced-motion:reduce){.block-editor-url-input__input[type=text]{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.block-editor-url-input__input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-url-input__suggestions{max-height:200px;transition:all .15s ease-in-out;padding:4px 0;width:302px;overflow-y:auto}@media (prefers-reduced-motion:reduce){.block-editor-url-input__suggestions{transition-duration:0s;transition-delay: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:inherit}}.block-editor-url-input__suggestion{padding:4px 8px 8px;color:#757575;display:block;font-size:13px;cursor:pointer;background:#fff;width:100%;border:none;text-align:right;box-shadow:none}.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{content:"";position:absolute;display:block;width:1px;height:24px;left:-1px;background:#ddd}.block-editor-url-input__button-modal{box-shadow:0 2px 6px rgba(0,0,0,.05);border:1px solid #ddd;background:#fff}.block-editor-url-input__button-modal-line{display:flex;flex-direction:row;flex-grow:1;flex-shrink:1;min-width:0;align-items:flex-start}.block-editor-url-input__button-modal-line .components-button{flex-shrink:0;width:36px;height: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{padding:5px;border-radius:2px;height:30px;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{flex-shrink:0;border-radius:0;border-right:1px solid #ddd;margin-right:1px}.block-editor-url-popover__settings-toggle[aria-expanded=true] .dashicon{transform:rotate(-180deg)}.block-editor-url-popover__input-container .components-base-control:last-child,.block-editor-url-popover__input-container .components-base-control:last-child .components-base-control__field{margin-bottom:0}.block-editor-url-popover__settings{display:block;padding:16px;border-top:1px solid #ddd}.block-editor-url-popover__link-editor,.block-editor-url-popover__link-viewer{display:flex}.block-editor-url-popover__link-editor .block-editor-url-input .components-base-control__field,.block-editor-url-popover__link-viewer .block-editor-url-input .components-base-control__field{margin-bottom:0}.block-editor-url-popover__link-editor .block-editor-url-input .components-spinner,.block-editor-url-popover__link-viewer .block-editor-url-input .components-spinner{bottom:8px 8px 8px 12px1}.block-editor-url-popover__link-viewer-url{margin:7px;flex-grow:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:150px;max-width:500px}.block-editor-url-popover__link-viewer-url.has-invalid-link{color:#cc1818}.block-editor-warning{align-items:center;display:flex;flex-wrap:wrap;padding:1em;border:1px solid #1e1e1e;border-radius:2px;background-color:#fff}.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{line-height:1.4;font-size:13px;color:#1e1e1e;margin:0}.block-editor-warning p.block-editor-warning__message.block-editor-warning__message{min-height:auto}.block-editor-warning .block-editor-warning__contents{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap;align-items:baseline;width:100%}.block-editor-warning .block-editor-warning__actions{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}.html-anchor-control .components-external-link{display:block;margin-top:8px}.block-editor-hooks__layout-controls{display:flex;margin-bottom:16px}.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-hooks__layout-controls-reset{display:flex;justify-content:flex-end;margin-bottom:24px}.block-editor-hooks__layout-controls-helptext{font-size:12px}.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__border-controls .block-editor-hooks__border-controls-row{display:flex;justify-content:space-between}.block-editor-hooks__border-controls .block-editor-hooks__border-controls-row>*{width:calc(50% - 8px)}.block-editor-hooks__border-controls .components-unit-control-wrapper{margin-bottom:24px}.block-editor-hooks__border-controls .components-unit-control-wrapper:last-child{margin-bottom:8px}.typography-block-support-panel .block-editor-text-decoration-control__buttons,.typography-block-support-panel .block-editor-text-transform-control__buttons,.typography-block-support-panel .components-font-appearance-control,.typography-block-support-panel .components-font-size-picker__controls{margin-bottom:0}.typography-block-support-panel .block-editor-line-height-control input{max-width:100%}.typography-block-support-panel .single-column{grid-column:span 1}.block-editor-block-toolbar{display:flex;flex-grow:1;width:100%;position:relative;overflow-y:hidden;overflow-x:auto;transition:border-color .1s linear,box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.block-editor-block-toolbar{transition-duration:0s;transition-delay: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;line-height:0;margin-top:-1px;margin-bottom:-1px;border:0;border-left:1px solid #ddd}.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.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-parent-selector{position:absolute;top:-1px;right:-57px}.show-icon-labels .block-editor-block-parent-selector{position:relative;right:auto;top:auto;margin-top:-1px;margin-right:-1px;margin-bottom:-1px}.block-editor-block-toolbar__block-controls{height:auto!important;padding:0!important;margin-right:-1px}.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{width:24px!important;margin:0!important}.block-editor-block-toolbar__block-controls .block-editor-block-mover{margin-right:-6px}.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-right:6px;padding-left:6px}.show-icon-labels .block-editor-block-switcher{border-left:1px solid #1e1e1e}.show-icon-labels .block-editor-block-switcher .components-dropdown-menu__toggle{margin-right:0}.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{width:0!important;height:0!important}.show-icon-labels .block-editor-block-parent-selector__button .block-editor-block-icon{width:0}.show-icon-labels .block-editor-block-toolbar__block-controls .block-editor-block-mover{margin-right:0;white-space:nowrap}.show-icon-labels .block-editor-block-mover-button{padding-right:8px!important;padding-left:8px!important}.show-icon-labels .block-editor-block-mover__drag-handle.has-icon{padding-right:6px!important;padding-left:6px!important;border-left:1px solid #1e1e1e}@media (min-width:600px){.show-icon-labels .is-up-button.is-up-button.is-up-button{border-bottom:1px solid #1e1e1e;margin-left:0;border-radius:0}}.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{display:inline-block;background:none;border:none;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:0}@media (min-width:782px){.block-editor-inserter{position:relative}}.block-editor-inserter__content{position:relative}.block-editor-inserter__popover.is-quick .components-popover__content{border:none}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>*{border-right:1px solid #ccc;border-left:1px solid #ccc}.block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter>:first-child{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}.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{overflow:visible;height:auto}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__preview-container{display:none}.block-editor-inserter__toggle.components-button{display:inline-flex;align-items:center;cursor:pointer;border:none;outline:none;padding:0;transition:color .2s ease}@media (prefers-reduced-motion:reduce){.block-editor-inserter__toggle.components-button{transition-duration:0s;transition-delay:0s}}.block-editor-inserter__menu{height:100%;position:relative;overflow:visible}.block-editor-inserter__main-area{width:auto;overflow-y:auto;height:100%}@media (min-width:782px){.block-editor-inserter__main-area{width:350px}}.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{background:#fff;padding:16px 16px 0;position:sticky;top:0;z-index:1}.block-editor-inserter__search .components-search-control__icon{left:20px}.block-editor-inserter__search .components-base-control__field{margin-bottom:0}.block-editor-inserter__tabs{display:flex;flex-direction:column}.block-editor-inserter__tabs .components-tab-panel__tabs{position:sticky;top:64px;background:#fff;z-index:1;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__tab-content{display:flex;flex-grow:1;flex-direction:column;position:relative;z-index:0}.block-editor-inserter__panel-header{display:inline-flex;align-items:center;padding:16px 16px 0}.block-editor-inserter__panel-header-patterns{padding:16px 16px 0}.block-editor-inserter__panel-content{padding:16px}.block-editor-inserter__panel-title,.block-editor-inserter__panel-title button{margin:0 0 0 12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500}.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__block-list{flex-grow:1;position:relative}.block-editor-inserter__reusable-blocks-panel{position:relative;text-align:left}.block-editor-inserter__manage-reusable-blocks{display:inline-block;margin:16px}.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{display:flex;align-items:center}.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{display:none;width:300px;background:#fff;border-radius:2px;border:1px solid #ddd;position:absolute;top:16px;right:calc(100% + 16px);max-height:calc(100% - 32px);overflow-y:hidden}@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__preview-content{min-height:144px;background:#f0f0f0;display:grid;flex-grow:1;align-items:center}.block-editor-inserter__preview-content-missing{flex:1;display:flex;justify-content:center;align-items:center;min-height:144px;color:#757575;background:#f0f0f0}.block-editor-inserter__tips{border-top:1px solid #ddd;padding:16px;flex-shrink:0;position:relative}.block-editor-inserter__manage-reusable-blocks-container{padding:16px}.block-editor-inserter__quick-inserter{width:100%;max-width:100%}@media (min-width:782px){.block-editor-inserter__quick-inserter{width:350px}}.block-editor-inserter__quick-inserter-results .block-editor-inserter__panel-header{height:0;padding:0;float:right}.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{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px}.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>div{padding:0}.block-editor-inserter__quick-inserter-expand.components-button{display:block;background:#1e1e1e;color:#fff;width:100%;height:44px;border-radius:0}.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){box-shadow:none;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.block-editor-block-patterns-explorer__sidebar{position:absolute;top:60px;right:0;bottom:0;width:280px;padding:24px 32px 32px;overflow-x:visible;overflow-y:scroll}.block-editor-block-patterns-explorer__sidebar__categories-list__item{display:block;width:100%;height:48px;text-align:right}.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:248px}.block-editor-block-patterns-explorer .block-editor-block-patterns-list{display:grid;grid-gap:32px;grid-template-columns:repeat(1,1fr)}@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;min-height:100px;max-height:800px}.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 .components-popover__content{overflow-y:visible}.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__actions .editor-post-preview{display:none}}@media (min-width:600px){.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-duration:0s;transition-delay: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}}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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 cf4ef704bf..469b937471 100644 --- a/wp-includes/css/dist/block-editor/style.css +++ b/wp-includes/css/dist/block-editor/style.css @@ -1,4 +1,3 @@ -@charset "UTF-8"; /** * Colors */ @@ -41,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -71,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -81,10 +89,6 @@ } } -#start-resizable-editor-section { - display: none; -} - .block-editor-autocompleters__block { white-space: nowrap; } @@ -92,6 +96,10 @@ margin-right: 8px; } +.block-editor-block-alignment-control__menu-group .components-menu-item__info { + margin-top: 0; +} + .block-editor-block-alignment-matrix-control__popover .components-popover__content { min-width: 0; width: auto; @@ -110,6 +118,11 @@ .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 { min-width: 20px; min-height: 20px; @@ -190,12 +203,15 @@ background: transparent; } .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered:not(.is-selected)::after { - box-shadow: 0 0 0 1px #949494; + box-shadow: 0 0 0 1px var(--wp-admin-theme-color); +} +.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted::after { + box-shadow: 0 0 0 1px var(--wp-admin-theme-color); + outline: 1px solid transparent; } -.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted::after, .block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected::after, .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected::after, .block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.has-child-selected { box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); - outline: var(--wp-admin-border-width-focus) solid transparent; + outline: 2px solid transparent; } .block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected::before { content: ""; @@ -267,6 +283,7 @@ right: 1px; box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); border-radius: 1px; + outline: 2px solid transparent; } .is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus::after { box-shadow: 0 0 0 var(--wp-admin-border-width-focus) #fff; @@ -318,10 +335,6 @@ .block-editor-block-list__layout .block-editor-block-list__block[data-clear=true] { float: none; } -.block-editor-block-list__layout .block-editor-block-list__block .block-editor-block-list__layout .block-editor-default-block-appender .block-editor-inserter { - left: auto; - right: 8px; -} .is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-hovered { cursor: default; @@ -338,7 +351,7 @@ cursor: unset; } .is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected::after { - box-shadow: 0 0 0 1px var(--wp-admin-theme-color); + box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); top: 1px; left: 1px; right: 1px; @@ -383,6 +396,22 @@ 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; +} + /** * In-Canvas Inserter */ @@ -466,26 +495,15 @@ .block-editor-block-list__insertion-point-indicator { position: absolute; background: var(--wp-admin-theme-color); - animation: block-editor-inserter__toggle__fade-in-animation-delayed 0.3s ease; - animation-fill-mode: forwards; -} -@media (prefers-reduced-motion: reduce) { - .block-editor-block-list__insertion-point-indicator { - animation-duration: 1ms; - animation-delay: 0s; - } } .block-editor-block-list__insertion-point.is-vertical > .block-editor-block-list__insertion-point-indicator { top: 50%; - right: 0; - left: 0; height: 1px; } .block-editor-block-list__insertion-point.is-horizontal > .block-editor-block-list__insertion-point-indicator { top: 0; right: 0; left: 50%; - height: 100%; width: 1px; } @@ -537,30 +555,6 @@ background: #1e1e1e; } -.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button, -.block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button { - animation: block-editor-inserter__toggle__fade-in-animation-delayed 0.3s ease; - animation-fill-mode: forwards; -} -@media (prefers-reduced-motion: reduce) { - .block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button, -.block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button { - animation-duration: 1ms; - animation-delay: 0s; - } -} - -@keyframes block-editor-inserter__toggle__fade-in-animation-delayed { - 0% { - opacity: 0; - } - 60% { - opacity: 0; - } - 100% { - opacity: 1; - } -} /** * Block Toolbar when contextual. */ @@ -619,7 +613,7 @@ */ .block-editor-block-list__block-selection-button { display: inline-flex; - padding: 0 13px; + padding: 0 12px; z-index: 22; border-radius: 2px; background-color: #1e1e1e; @@ -639,6 +633,7 @@ padding: 0; height: 24px; min-width: 24px; + margin-left: -2px; } .block-editor-block-list__block-selection-button .components-button.has-icon.block-selection-button_drag-handle svg { min-width: 18px; @@ -737,7 +732,7 @@ align-self: center; padding: 0; list-style: none; - margin: 8px; + margin-bottom: revert; } .block-editor-block-list__block .block-list-appender.wp-block { max-width: none; @@ -784,11 +779,17 @@ margin: 0; } .block-editor-block-breadcrumb li { - display: inline-block; + display: inline-flex; margin: 0; } -.block-editor-block-breadcrumb li:not(:last-child)::after { - content: "→" /*rtl:"←"*/; +.block-editor-block-breadcrumb li .block-editor-block-breadcrumb__separator { + fill: currentColor; + margin-left: -4px; + margin-right: -4px; + transform: scaleX(1) /*rtl:scaleX(-1);*/; +} +.block-editor-block-breadcrumb li:last-child .block-editor-block-breadcrumb__separator { + display: none; } .block-editor-block-breadcrumb__button.components-button { @@ -861,14 +862,8 @@ * Invalid block comparison */ .block-editor-block-compare { - overflow: auto; height: auto; } -@media (min-width: 600px) { - .block-editor-block-compare { - max-height: 70%; - } -} .block-editor-block-compare__wrapper { display: flex; @@ -881,6 +876,7 @@ width: 50%; padding: 0 16px 0 0; min-width: 200px; + max-width: 600px; } .block-editor-block-compare__wrapper > div button { float: right; @@ -926,6 +922,30 @@ margin: 0.67em 0; } +.block-editor-block-content-overlay.overlay-active::before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: transparent; + border: none; + border-radius: 2px; + z-index: 10; + pointer-events: none; +} +.block-editor-block-content-overlay:hover:not(.is-dragging-blocks).overlay-active::before, .block-editor-block-content-overlay.parent-highlighted.overlay-active::before { + background: rgba(var(--wp-admin-theme-color--rgb), 0.1); + box-shadow: 0 0 0 1px var(--wp-admin-theme-color) inset; +} +.block-editor-block-content-overlay.overlay-active:not(.is-dragging-blocks) * { + pointer-events: none; +} +.block-editor-block-content-overlay.is-dragging-blocks { + box-shadow: 0 0 0 1px var(--wp-admin-theme-color); +} + .block-editor-block-draggable-chip-wrapper { position: absolute; top: -24px; @@ -966,8 +986,17 @@ font-size: 13px; } -.is-dragging { - display: none !important; +.block-editor-block-list__layout .is-dragging { + background-color: currentColor !important; + opacity: 0.05 !important; + border-radius: 2px !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-mobile-toolbar { @@ -1103,6 +1132,10 @@ width: calc(100% + 1px); } +.block-editor-block-navigation__container { + min-width: 280px; +} + .block-editor-block-navigation__label { margin: 0 0 12px; color: #757575; @@ -1111,296 +1144,6 @@ font-weight: 500; } -.block-editor-block-navigation__container { - min-width: 280px; -} - -.block-editor-block-navigation-tree { - width: 100%; - border-collapse: collapse; - padding: 0; - margin: 0; -} -.components-modal__content .block-editor-block-navigation-tree { - margin: -12px -6px 0; - width: calc(100% + 12px); -} - -.block-editor-block-navigation-leaf { - position: relative; -} -.block-editor-block-navigation-leaf.is-selected .block-editor-block-navigation-block-contents { - background: var(--wp-admin-theme-color); - color: #fff; -} -.block-editor-block-navigation-leaf.is-selected .block-editor-block-navigation-block-contents:focus { - box-shadow: inset 0 0 0 1px #fff, 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); -} -.block-editor-block-navigation-leaf.is-branch-selected.is-selected .block-editor-block-navigation-block-contents { - border-radius: 2px 2px 0 0; -} -.block-editor-block-navigation-leaf.is-branch-selected:not(.is-selected) .block-editor-block-navigation-block-contents { - background: linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)), linear-gradient(var(--wp-admin-theme-color), var(--wp-admin-theme-color)); - border-radius: 0; -} -.block-editor-block-navigation-leaf.is-branch-selected.is-last-of-selected-branch .block-editor-block-navigation-block-contents { - border-radius: 0 0 2px 2px; -} -.block-editor-block-navigation-leaf.is-dragging { - display: none; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents { - display: flex; - align-items: center; - width: 100%; - height: auto; - padding: 6px 12px; - text-align: left; - color: #1e1e1e; - border-radius: 2px; - position: relative; - white-space: nowrap; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents:hover, .block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents:focus { - box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents:focus { - z-index: 1; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents.is-dropping-before::before { - content: ""; - position: absolute; - pointer-events: none; - transition: border-color 0.1s linear, border-style 0.1s linear, box-shadow 0.1s linear; - top: -2px; - right: 0; - left: 0; - border-top: 4px solid var(--wp-admin-theme-color); -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents.is-dropping-after::before { - content: ""; - position: absolute; - pointer-events: none; - transition: border-color 0.1s linear, border-style 0.1s linear, box-shadow 0.1s linear; - bottom: -2px; - right: 0; - left: 0; - border-bottom: 4px solid var(--wp-admin-theme-color); -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents.is-dropping-to-inner-blocks::before { - content: ""; - position: absolute; - pointer-events: none; - transition: border-color 0.1s linear, border-style 0.1s linear, box-shadow 0.1s linear; - bottom: -2px; - right: 0; - left: 24px; - border-bottom: 4px solid var(--wp-admin-theme-color); -} -.components-modal__content .block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents { - padding-left: 0; - padding-right: 0; -} -.block-editor-block-navigation-leaf.is-visible .block-editor-block-navigation-block-contents { - opacity: 1; - animation: edit-post__fade-in-animation 0.2s ease-out 0s; - animation-fill-mode: forwards; -} -@media (prefers-reduced-motion: reduce) { - .block-editor-block-navigation-leaf.is-visible .block-editor-block-navigation-block-contents { - animation-duration: 1ms; - animation-delay: 0s; - } -} -.block-editor-block-navigation-leaf .block-editor-block-icon { - align-self: flex-start; - margin-right: 10px; - width: 20px; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__contents-cell { - padding-top: 0; - padding-bottom: 0; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell { - line-height: 0; - width: 36px; - opacity: 0; - vertical-align: top; -} -@media (prefers-reduced-motion: reduce) { - .block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell { - transition-duration: 0s; - transition-delay: 0s; - } -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell:hover, .block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell.is-visible, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell:hover, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell.is-visible { - position: relative; - z-index: 1; - opacity: 1; - animation: edit-post__fade-in-animation 0.2s ease-out 0s; - animation-fill-mode: forwards; -} -@media (prefers-reduced-motion: reduce) { - .block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell:hover, .block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell.is-visible, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell:hover, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell.is-visible { - animation-duration: 1ms; - animation-delay: 0s; - } -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell .components-button.has-icon, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell, -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell .components-button.has-icon { - width: 24px; - min-width: 24px; - padding: 0; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell { - padding-top: 8px; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell-alignment-wrapper { - display: flex; - height: 100%; - flex-direction: column; - align-items: center; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button { - position: relative; - width: 36px; - height: 24px; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button svg { - position: relative; - height: 24px; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-up-button { - margin-top: -6px; - align-items: flex-end; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-up-button svg { - bottom: -4px; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-down-button { - margin-bottom: -6px; - align-items: flex-start; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-down-button svg { - top: -4px; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button:focus:enabled { - box-shadow: none; - outline: none; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button:focus { - box-shadow: none; - outline: none; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-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; -} -.block-editor-block-navigation-leaf .block-editor-block-mover-button::before { - content: ""; - position: absolute; - display: block; - border-radius: 2px; - height: 16px; - min-width: 100%; - left: 0; - right: 0; - animation: components-button__appear-animation 0.1s ease; - animation-fill-mode: forwards; -} -@media (prefers-reduced-motion: reduce) { - .block-editor-block-navigation-leaf .block-editor-block-mover-button::before { - animation-duration: 1ms; - animation-delay: 0s; - } -} -.block-editor-block-navigation-leaf .block-editor-inserter__toggle { - background: #1e1e1e; - color: #fff; - height: 24px; - margin: 6px 6px 6px 1px; - min-width: 24px; -} -.block-editor-block-navigation-leaf .block-editor-inserter__toggle:active { - color: #fff; -} -.block-editor-block-navigation-leaf .block-editor-block-navigation-block-select-button__anchor { - background: rgba(0, 0, 0, 0.1); - border-radius: 2px; - display: inline-block; - padding: 2px 6px; - margin: 0 8px; - max-width: 120px; - overflow: hidden; - text-overflow: ellipsis; -} -.block-editor-block-navigation-leaf.is-selected .block-editor-block-navigation-block-select-button__anchor { - background: rgba(0, 0, 0, 0.3); -} - -.block-editor-block-navigation-block-slot__description, -.block-editor-block-navigation-block-select-button__description, -.block-editor-block-navigation-appender__description { - display: none; -} - -.block-editor-block-navigation-block__contents-cell .block-editor-block-navigation-block__contents-container, -.block-editor-block-navigation-block__contents-cell .block-editor-block-navigation-appender__container, -.block-editor-block-navigation-appender__cell .block-editor-block-navigation-block__contents-container, -.block-editor-block-navigation-appender__cell .block-editor-block-navigation-appender__container { - display: flex; -} - -.block-editor-block-navigation-leaf[aria-level] .block-editor-block-icon { - margin-left: 224px; -} - -.block-editor-block-navigation-leaf[aria-level="1"] .block-editor-block-icon { - margin-left: 0px; -} - -.block-editor-block-navigation-leaf[aria-level="2"] .block-editor-block-icon { - margin-left: 28px; -} - -.block-editor-block-navigation-leaf[aria-level="3"] .block-editor-block-icon { - margin-left: 56px; -} - -.block-editor-block-navigation-leaf[aria-level="4"] .block-editor-block-icon { - margin-left: 84px; -} - -.block-editor-block-navigation-leaf[aria-level="5"] .block-editor-block-icon { - margin-left: 112px; -} - -.block-editor-block-navigation-leaf[aria-level="6"] .block-editor-block-icon { - margin-left: 140px; -} - -.block-editor-block-navigation-leaf[aria-level="7"] .block-editor-block-icon { - margin-left: 168px; -} - -.block-editor-block-navigation-leaf[aria-level="8"] .block-editor-block-icon { - margin-left: 196px; -} - -.block-editor-block-navigation-leaf[aria-level="9"] .block-editor-block-icon { - margin-left: 224px; -} - .block-editor-block-parent-selector { background: #fff; border-radius: 2px; @@ -1414,7 +1157,7 @@ .block-editor-block-patterns-list__list-item { cursor: pointer; - margin-top: 16px; + margin-bottom: 24px; } .block-editor-block-patterns-list__list-item.is-placeholder { min-height: 100px; @@ -1425,23 +1168,28 @@ .block-editor-block-patterns-list__item { height: 100%; - border-radius: 2px; - transition: all 0.05s ease-in-out; - position: relative; - border: 1px solid transparent; } -.block-editor-block-patterns-list__item:hover { +.block-editor-block-patterns-list__item .block-editor-block-preview__container { + display: flex; + align-items: center; + overflow: hidden; + border-radius: 2px; + border: 1px solid #f0f0f0; +} +.block-editor-block-patterns-list__item .block-editor-block-patterns-list__item-title { + padding-top: 8px; + font-size: 12px; + text-align: center; +} +.block-editor-block-patterns-list__item:hover .block-editor-block-preview__container { border: 1px solid var(--wp-admin-theme-color); } -.block-editor-block-patterns-list__item:focus { +.block-editor-block-patterns-list__item:focus .block-editor-block-preview__container { 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-patterns-list__item-title { - padding: 4px; - font-size: 12px; - text-align: center; +.block-editor-block-patterns-list__item:hover .block-editor-block-patterns-list__item-title, .block-editor-block-patterns-list__item:focus .block-editor-block-patterns-list__item-title { + color: var(--wp-admin-theme-color); } .block-editor-block-preview__container { @@ -1449,12 +1197,7 @@ width: 100%; overflow: hidden; } -.block-editor-block-preview__container.editor-styles-wrapper { - padding: 0; - margin: 0; -} .block-editor-block-preview__container .block-editor-block-preview__content { - position: absolute; top: 0; left: 0; transform-origin: top left; @@ -1469,14 +1212,6 @@ .block-editor-block-preview__container .block-editor-block-preview__content .block-list-appender { display: none; } -.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-list__layout.is-root-container { - padding-left: 0; - padding-right: 0; -} -.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-list__layout.is-root-container > .wp-block[data-align=full] { - margin-left: 0; - margin-right: 0; -} .block-editor-block-settings-menu__popover .components-dropdown-menu__menu { padding: 0; @@ -1727,9 +1462,6 @@ } .block-editor-block-types-list > [role=presentation] { - padding: 4px; - margin-left: -4px; - margin-right: -4px; overflow: hidden; display: flex; flex-wrap: wrap; @@ -1943,15 +1675,66 @@ min-width: 230px; } -.components-border-style-control__select { +.components-border-radius-control { + margin-bottom: 12px; +} +.components-border-radius-control legend { + padding-bottom: 4px; +} +.components-border-radius-control .components-border-radius-control__wrapper { + display: flex; + justify-content: space-between; + align-items: flex-start; +} +.components-border-radius-control .components-border-radius-control__wrapper > .components-unit-control-wrapper { + width: calc(50% - 26px); + margin-bottom: 0; +} +.components-border-radius-control .components-border-radius-control__wrapper .components-range-control { + width: calc(50% - 26px); + margin-bottom: 0; +} +.components-border-radius-control .components-border-radius-control__wrapper .components-range-control .components-base-control__field { + margin-bottom: 0; + height: 30px; +} +.components-border-radius-control .components-border-radius-control__wrapper .components-range-control .components-range-control__wrapper { + margin-right: 10px; +} +.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: flex; + width: 70%; + flex-wrap: wrap; +} +.components-border-radius-control .components-border-radius-control__input-controls-wrapper .components-unit-control-wrapper { + width: calc(50% - 8px); + margin-bottom: 8px; + margin-right: 8px; +} +.components-border-radius-control .component-border-radius-control__linked-button.has-icon { + display: flex; + justify-content: center; +} +.components-border-radius-control .component-border-radius-control__linked-button.has-icon svg { + margin-right: 0; +} + +.components-border-style-control legend { + line-height: 1.2; + padding-bottom: 4px; +} +.components-border-style-control .components-border-style-control__buttons { + display: inline-flex; margin-bottom: 24px; } -.components-border-style-control__select button { - width: 100%; -} -.components-border-style-control__select ul li, -.components-border-style-control__select ul li:last-child { - margin: 6px; +.components-border-style-control .components-border-style-control__buttons .components-button.has-icon { + min-width: 30px; + height: 30px; + padding: 3px; + margin-right: 4px; } .block-editor-button-block-appender { @@ -1997,10 +1780,6 @@ .block-editor-color-gradient-control .block-editor-color-gradient-control__color-indicator { margin-bottom: 12px; } -.block-editor-color-gradient-control .block-editor-color-gradient-control__button-tabs { - display: block; - margin-bottom: 12px; -} .block-editor-panel-color-gradient-settings .component-color-indicator { vertical-align: text-bottom; @@ -2013,15 +1792,14 @@ } @media screen and (min-width: 782px) { .block-editor-panel-color-gradient-settings .components-circular-option-picker__swatches { - margin-right: 0; - } - .block-editor-panel-color-gradient-settings .components-circular-option-picker__option-wrapper { - margin-right: calc((100% - (28px * 6)) / 5); - } - .block-editor-panel-color-gradient-settings .components-circular-option-picker__option-wrapper:nth-child(6n+6) { - margin-right: 0; + 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-contrast-checker > .components-notice { margin: 0; @@ -2054,10 +1832,6 @@ margin-right: 0; } -.block-editor-block-list__empty-block-inserter, -.block-editor-default-block-appender .block-editor-inserter { - right: 8px; -} @media (min-width: 600px) { .block-editor-block-list__empty-block-inserter, .block-editor-default-block-appender .block-editor-inserter { @@ -2070,31 +1844,41 @@ display: none; } -.block-editor-duotone-control__popover .components-popover__content { - border: 1px solid #1e1e1e; - min-width: 214px; -} -.block-editor-duotone-control__popover .components-circular-option-picker { - padding: 12px; -} -.block-editor-duotone-control__popover .components-menu-group__label { - padding: 12px 12px 0 12px; - width: 100%; - box-sizing: border-box; +.block-editor-default-block-appender.has-visible-prompt .block-editor-inserter, +.block-editor-block-list__empty-block-inserter { + right: 0; } -.block-editor-duotone-control__popover > .components-popover__content { - width: 334px; +.block-editor-duotone-control__popover > .components-popover__content > div { + padding: 16px; + width: 280px; +} +.block-editor-duotone-control__popover .components-menu-group__label { + padding: 0; +} +.block-editor-duotone-control__popover .components-custom-gradient-picker__gradient-bar { + margin: 16px 0 12px; +} +.block-editor-duotone-control__popover .components-circular-option-picker__swatches { + display: grid; + grid-template-columns: repeat(6, 28px); + gap: 12px; + justify-content: space-between; +} + +.block-editor-duotone-control__description { + margin: 16px 0; + font-size: 12px; } .block-editor-duotone-control__popover:not([data-y-axis=middle][data-x-axis=right]) > .components-popover__content { margin-left: -14px; } -.components-font-appearance-control__select { +.components-font-appearance-control { margin-bottom: 24px; } -.components-font-appearance-control__select ul li { +.components-font-appearance-control ul li { color: #1e1e1e; text-transform: capitalize; } @@ -2115,6 +1899,17 @@ justify-content: space-between; } +@keyframes loadingpulse { + 0% { + opacity: 1; + } + 50% { + opacity: 0; + } + 100% { + opacity: 1; + } +} .block-editor-link-control { position: relative; min-width: 360px; @@ -2129,7 +1924,27 @@ position: relative; } -.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text] { +.block-editor-link-control__search-input-container { + 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__field { + display: flex; + align-items: center; + margin: 0; +} +.block-editor-link-control__field .components-base-control__label { + margin-right: 16px; + margin-bottom: 0; +} +.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-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; padding: 6px 8px; box-shadow: 0 0 0 transparent; @@ -2144,42 +1959,39 @@ display: block; padding: 11px 16px; padding-right: 36px; - margin: 16px; + margin: 0; position: relative; border: 1px solid #ddd; border-radius: 2px; } @media (prefers-reduced-motion: reduce) { - .block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text] { + .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-duration: 0s; transition-delay: 0s; } } @media (min-width: 600px) { - .block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text] { + .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; /* Override core line-height. To be reviewed. */ line-height: normal; } } -.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]:focus { +.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 1px var(--wp-admin-theme-color); outline: 2px solid transparent; } -.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]::-webkit-input-placeholder { +.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, 0.62); } -.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]::-moz-placeholder { +.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 { opacity: 1; color: rgba(30, 30, 30, 0.62); } -.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]:-ms-input-placeholder { +.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, 0.62); } -.block-editor-link-control .block-editor-link-control__search-input .components-base-control__field { - margin-bottom: 0; -} .block-editor-link-control__search-error { margin: -8px 16px 16px; @@ -2192,14 +2004,13 @@ * when suggestions are rendered. * * Compensate for: - * - Input margin ($grid-unit-20) * - Border (1px) * - Vertically, for the difference in height between the input (40px) and * the icon buttons. * - Horizontally, pad to the minimum of: default input padding, or the * equivalent of the vertical padding. */ - top: 19px; + top: 3px; right: 19px; } @@ -2250,7 +2061,7 @@ .block-editor-link-control__search-item { position: relative; display: flex; - align-items: center; + align-items: flex-start; font-size: 13px; cursor: pointer; background: #fff; @@ -2258,11 +2069,14 @@ border: none; text-align: left; padding: 12px 16px; - border-radius: 5px; + border-radius: 2px; height: auto; } .block-editor-link-control__search-item:hover, .block-editor-link-control__search-item:focus { - background-color: #ddd; + background-color: #f0f0f0; +} +.block-editor-link-control__search-item:hover .block-editor-link-control__search-item-type, .block-editor-link-control__search-item:focus .block-editor-link-control__search-item-type { + background: #fff; } .block-editor-link-control__search-item:focus:not(:disabled) { box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color) inset; @@ -2274,28 +2088,50 @@ background: #fff; } .block-editor-link-control__search-item.is-current { + flex-direction: column; background: transparent; border: 0; width: 100%; cursor: default; padding: 16px; - padding-left: 24px; } .block-editor-link-control__search-item .block-editor-link-control__search-item-header { display: block; + flex-direction: row; + align-items: flex-start; margin-right: 8px; - overflow: hidden; - white-space: nowrap; + white-space: pre-wrap; + word-wrap: break-word; +} +.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 .block-editor-link-control__search-item-icon { - margin-right: 1em; - min-width: 24px; + position: relative; + top: 0.2em; + margin-right: 8px; + max-height: 24px; + flex-shrink: 0; + width: 24px; + display: flex; + justify-content: center; +} +.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 { + top: 0; + width: 32px; + max-height: 32px; } .block-editor-link-control__search-item .block-editor-link-control__search-item-info, .block-editor-link-control__search-item .block-editor-link-control__search-item-title { overflow: hidden; text-overflow: ellipsis; - padding-right: 24px; } .block-editor-link-control__search-item .block-editor-link-control__search-item-info .components-external-link__icon, .block-editor-link-control__search-item .block-editor-link-control__search-item-title .components-external-link__icon { @@ -2311,26 +2147,114 @@ } .block-editor-link-control__search-item .block-editor-link-control__search-item-title mark { font-weight: 700; - color: #000; + color: inherit; background-color: transparent; } .block-editor-link-control__search-item .block-editor-link-control__search-item-title span { font-weight: normal; } +.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-info { display: block; color: #757575; font-size: 0.9em; line-height: 1.3; } +.block-editor-link-control__search-item .block-editor-link-control__search-item-error-notice { + font-style: italic; + font-size: 1.1em; +} .block-editor-link-control__search-item .block-editor-link-control__search-item-type { display: block; - padding: 3px 8px; + padding: 3px 6px; margin-left: auto; font-size: 0.9em; background-color: #f0f0f0; border-radius: 2px; } +.block-editor-link-control__search-item .block-editor-link-control__search-item-description { + padding-top: 12px; + margin: 0; +} +.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder { + margin-top: 12px; + padding-top: 0; + height: 28px; + display: flex; + flex-direction: column; + justify-content: space-around; +} +.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder::before, .block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder::after { + display: block; + content: ""; + height: 0.7em; + width: 100%; + background-color: #f0f0f0; + border-radius: 3px; +} +.block-editor-link-control__search-item .block-editor-link-control__search-item-description .components-text { + font-size: 0.9em; +} +.block-editor-link-control__search-item .block-editor-link-control__search-item-image { + display: flex; + width: 100%; + background-color: #f0f0f0; + justify-content: center; + height: 140px; + max-height: 140px; + overflow: hidden; + border-radius: 2px; + margin-top: 12px; +} +.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; + max-width: 100%; + height: 140px; + max-height: 140px; +} + +.block-editor-link-control__search-item-top { + 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::before, .block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-description::after { + animation: loadingpulse 1s linear infinite; + animation-delay: 0.5s; +} +.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-image { + animation: loadingpulse 1s linear infinite; + animation-delay: 0.5s; +} +.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon svg, +.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon img { + opacity: 0; +} +.block-editor-link-control__search-item.is-fetching .block-editor-link-control__search-item-icon::before { + content: ""; + display: block; + background-color: #f0f0f0; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + border-radius: 100%; + animation: loadingpulse 1s linear infinite; + animation-delay: 0.5s; +} .block-editor-link-control__loading { margin: 16px; @@ -2354,14 +2278,36 @@ 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__search-results div[role=menu] > .block-editor-link-control__search-item.block-editor-link-control__search-item { padding: 10px; } -.block-editor-link-control__settings { +.block-editor-link-control__tools { + display: flex; + align-items: center; border-top: 1px solid #ddd; margin: 0; - padding: 16px 24px; + padding: 16px; +} + +.block-editor-link-control__unlink { + padding-left: 16px; + padding-right: 16px; +} + +.block-editor-link-control__settings { + flex: 1; + margin: 0; } .block-editor-link-control__settings :last-child { margin-bottom: 0; @@ -2470,7 +2416,6 @@ background: transparent; word-break: break-word; border-radius: 2px; - border: 1px solid transparent; transition: all 0.05s ease-in-out; position: relative; height: auto; @@ -2486,9 +2431,11 @@ cursor: default; } .components-button.block-editor-block-types-list__item:not(:disabled):hover { - border-color: var(--wp-admin-theme-color); color: var(--wp-admin-theme-color) !important; } +.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 { color: #fff; background: #1e1e1e; @@ -2530,12 +2477,363 @@ font-size: 12px; } -.modal-open .block-editor-media-replace-flow__options { +.block-editor-list-view-tree { + width: 100%; + border-collapse: collapse; + padding: 0; + margin: 0; +} +.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.is-selected { + background: var(--wp-admin-theme-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; +} +.is-dragging-components-draggable .block-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents { + background: none; + color: #1e1e1e; +} +.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 .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-branch-selected:not(.is-selected) { + background: linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)), linear-gradient(var(--wp-admin-theme-color), var(--wp-admin-theme-color)); +} +.block-editor-list-view-leaf.is-branch-selected.is-selected .block-editor-list-view-block-contents { + border-radius: 2px 2px 0 0; +} +.block-editor-list-view-leaf[aria-expanded=false].is-branch-selected.is-selected .block-editor-list-view-block-contents { + border-radius: 2px; +} +.block-editor-list-view-leaf.is-branch-selected:not(.is-selected) .block-editor-list-view-block-contents { + border-radius: 0; +} +.block-editor-list-view-leaf.is-dragging { + display: none; +} +.block-editor-list-view-leaf .block-editor-list-view-block-contents { + display: flex; + align-items: center; + width: 100%; + height: auto; + padding: 6px 12px 6px 0; + text-align: left; + color: #1e1e1e; + border-radius: 2px; + position: relative; + white-space: nowrap; +} +.block-editor-list-view-leaf .block-editor-list-view-block-contents.is-dropping-before::before { + content: ""; + position: absolute; + pointer-events: none; + transition: border-color 0.1s linear, border-style 0.1s linear, box-shadow 0.1s linear; + top: -2px; + right: 0; + left: 0; + border-top: 4px solid var(--wp-admin-theme-color); +} +.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 { + content: ""; + position: absolute; + top: 0; + right: -29px; + bottom: 0; + left: 0; + border-radius: inherit; + box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); + z-index: 1; + pointer-events: none; +} +.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 { + opacity: 1; + animation: edit-post__fade-in-animation 0.2s ease-out 0s; + animation-fill-mode: forwards; +} +@media (prefers-reduced-motion: reduce) { + .block-editor-list-view-leaf.is-visible .block-editor-list-view-block-contents { + animation-duration: 1ms; + animation-delay: 0s; + } +} +.block-editor-list-view-leaf .block-editor-block-icon { + align-self: flex-start; + margin-right: 8px; + width: 24px; +} +.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell, +.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell, +.block-editor-list-view-leaf .block-editor-list-view-block__contents-cell { + padding-top: 0; + padding-bottom: 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; + width: 36px; + opacity: 0; + vertical-align: middle; +} +@media (prefers-reduced-motion: reduce) { + .block-editor-list-view-leaf .block-editor-list-view-block__menu-cell, +.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell { + transition-duration: 0s; + transition-delay: 0s; + } +} +.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell:hover, .block-editor-list-view-leaf .block-editor-list-view-block__menu-cell.is-visible, +.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell:hover, +.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell.is-visible { + position: relative; + z-index: 1; + opacity: 1; + animation: edit-post__fade-in-animation 0.2s ease-out 0s; + animation-fill-mode: forwards; +} +@media (prefers-reduced-motion: reduce) { + .block-editor-list-view-leaf .block-editor-list-view-block__menu-cell:hover, .block-editor-list-view-leaf .block-editor-list-view-block__menu-cell.is-visible, +.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell:hover, +.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell.is-visible { + animation-duration: 1ms; + animation-delay: 0s; + } +} +.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 { + width: 24px; + min-width: 24px; + padding: 0; +} +.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell { + padding-right: 5px; +} +.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 { + display: flex; + height: 100%; + flex-direction: column; + align-items: center; +} +.block-editor-list-view-leaf .block-editor-block-mover-button { + position: relative; + width: 36px; + height: 24px; +} +.block-editor-list-view-leaf .block-editor-block-mover-button svg { + position: relative; + height: 24px; +} +.block-editor-list-view-leaf .block-editor-block-mover-button.is-up-button { + margin-top: -6px; + align-items: flex-end; +} +.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 { + margin-bottom: -6px; + align-items: flex-start; +} +.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:focus:enabled { + box-shadow: none; + outline: none; +} +.block-editor-list-view-leaf .block-editor-block-mover-button:focus { + box-shadow: none; + outline: none; +} +.block-editor-list-view-leaf .block-editor-block-mover-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; +} +.block-editor-list-view-leaf .block-editor-block-mover-button::before { + content: ""; + position: absolute; + display: block; + border-radius: 2px; + height: 16px; + min-width: 100%; + left: 0; + right: 0; + animation: components-button__appear-animation 0.1s ease; + animation-fill-mode: forwards; +} +@media (prefers-reduced-motion: reduce) { + .block-editor-list-view-leaf .block-editor-block-mover-button::before { + animation-duration: 1ms; + animation-delay: 0s; + } +} +.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__anchor { + background: rgba(0, 0, 0, 0.1); + border-radius: 2px; + display: inline-block; + padding: 2px 6px; + margin: 0 8px; + max-width: 120px; + overflow: hidden; + text-overflow: ellipsis; +} +.block-editor-list-view-leaf.is-selected .block-editor-list-view-block-select-button__anchor { + background: rgba(0, 0, 0, 0.3); +} + +.block-editor-list-view-block-select-button__description, +.block-editor-list-view-appender__description { display: none; } -.block-editor-media-replace-flow__options .components-popover__content > div { - padding-top: 16px; +.block-editor-list-view-block__contents-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-appender__cell .block-editor-list-view-block__contents-container, +.block-editor-list-view-appender__cell .block-editor-list-view-appender__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: 0px; +} + +.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[aria-expanded=true] .block-editor-list-view__expander svg { + visibility: visible; + transition: transform 0.2s ease; + transform: rotate(90deg); +} +@media (prefers-reduced-motion: reduce) { + .block-editor-list-view-leaf[aria-expanded=true] .block-editor-list-view__expander svg { + transition-duration: 0s; + transition-delay: 0s; + } +} + +.block-editor-list-view-leaf[aria-expanded=false] .block-editor-list-view__expander svg { + visibility: visible; + transform: rotate(0deg); + transition: transform 0.2s ease; +} +@media (prefers-reduced-motion: reduce) { + .block-editor-list-view-leaf[aria-expanded=false] .block-editor-list-view__expander svg { + transition-duration: 0s; + transition-delay: 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); + height: 1px; +} + +.block-editor-list-view-drop-indicator:not([data-y-axis=middle][data-x-axis=right]) > .components-popover__content { + margin-left: 0; + border: none; + box-shadow: none; +} + +.block-editor-list-view-placeholder { + padding: 0; + margin: 0; + height: 36px; +} + +.modal-open .block-editor-media-replace-flow__options { + display: none; } .block-editor-media-replace-flow__indicator { @@ -2544,34 +2842,42 @@ .block-editor-media-flow__url-input { border-top: 1px solid #1e1e1e; - margin-top: 12px; - margin-right: -12px; - margin-left: -12px; - padding: 12px 24px 0; + margin-top: 8px; + margin-right: -8px; + margin-left: -8px; + padding: 16px; } .block-editor-media-flow__url-input .block-editor-media-replace-flow__image-url-label { + display: block; top: 16px; + margin-bottom: 8px; } .block-editor-media-flow__url-input .block-editor-link-control { - margin-top: -16px; - width: auto; + width: 220px; +} +.block-editor-media-flow__url-input .block-editor-link-control .block-editor-url-input { + padding: 0; } .block-editor-media-flow__url-input .block-editor-link-control .components-base-control .components-base-control__field { margin-bottom: 0; } .block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-title { max-width: 180px; - margin-top: 16px; + white-space: nowrap; +} +.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-info { + white-space: nowrap; } .block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item.is-current { width: auto; padding: 0; } .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: 16px 0 0 0; + margin: 0; width: 100%; } .block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-actions { + top: 0; right: 4px; } @@ -2600,6 +2906,7 @@ } .block-editor-media-placeholder__url-input-form input[type=url].block-editor-media-placeholder__url-input-field { width: 100%; + min-width: 200px; flex-grow: 1; border: none; border-radius: 0; @@ -2715,23 +3022,24 @@ word-wrap: normal !important; } -.block-editor-rich-text__editable > p:first-child { - margin-top: 0; -} -.block-editor-rich-text__editable [data-rich-text-placeholder] { +.rich-text [data-rich-text-placeholder] { pointer-events: none; } -.block-editor-rich-text__editable [data-rich-text-placeholder]::after { +.rich-text [data-rich-text-placeholder]::after { content: attr(data-rich-text-placeholder); opacity: 0.62; } -.block-editor-rich-text__editable:focus { +.rich-text:focus { outline: none; } -.block-editor-rich-text__editable:focus [data-rich-text-format-boundary] { +.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: 0.8; } @@ -2802,10 +3110,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before z-index: 100000; } -.block-editor-text-decoration-and-transform { - display: flex; -} - .block-editor-text-transform-control { flex: 0 0 50%; } @@ -2840,10 +3144,10 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before .block-editor-tool-selector__help { margin-top: 8px; - margin-left: -12px; - margin-right: -12px; - margin-bottom: -12px; - padding: 12px 20px; + margin-left: -8px; + margin-right: -8px; + margin-bottom: -8px; + padding: 16px; border-top: 1px solid #ddd; color: #757575; min-width: 280px; @@ -3193,8 +3497,40 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before font-size: 12px; } -#end-resizable-editor-section { - display: none; +.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__border-controls .block-editor-hooks__border-controls-row { + display: flex; + justify-content: space-between; +} +.block-editor-hooks__border-controls .block-editor-hooks__border-controls-row > * { + width: calc(50% - 8px); +} +.block-editor-hooks__border-controls .components-unit-control-wrapper { + margin-bottom: 24px; +} +.block-editor-hooks__border-controls .components-unit-control-wrapper:last-child { + margin-bottom: 8px; +} + +.typography-block-support-panel .components-font-appearance-control, +.typography-block-support-panel .components-font-size-picker__controls, +.typography-block-support-panel .block-editor-text-decoration-control__buttons, +.typography-block-support-panel .block-editor-text-transform-control__buttons { + margin-bottom: 0; +} +.typography-block-support-panel .block-editor-line-height-control input { + max-width: 100%; +} +.typography-block-support-panel .single-column { + grid-column: span 1; } /** @@ -3204,8 +3540,9 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before display: flex; flex-grow: 1; width: 100%; - overflow: auto; position: relative; + overflow-y: hidden; + overflow-x: auto; transition: border-color 0.1s linear, box-shadow 0.1s linear; } @media (prefers-reduced-motion: reduce) { @@ -3265,10 +3602,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before width: 24px !important; margin: 0 !important; } -.block-editor-block-toolbar__block-controls .block-editor-block-switcher .components-dropdown-menu__toggle:focus::before, -.block-editor-block-toolbar__block-controls .block-editor-block-switcher__no-switcher-icon:focus::before { - right: 4px !important; -} .block-editor-block-toolbar__block-controls .block-editor-block-mover { margin-left: -6px; } @@ -3316,10 +3649,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before width: 0 !important; height: 0 !important; } -.show-icon-labels .block-editor-block-switcher .components-dropdown-menu__toggle:focus::before, -.show-icon-labels .block-editor-block-switcher__no-switcher-icon:focus::before { - right: 4px !important; -} .show-icon-labels .block-editor-block-parent-selector__button .block-editor-block-icon { width: 0; } @@ -3369,6 +3698,10 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before } } +.block-editor-inserter__content { + position: relative; +} + .block-editor-inserter__popover.is-quick .components-popover__content { border: none; } @@ -3446,96 +3779,26 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before } .block-editor-inserter__search { - padding: 16px; + background: #fff; + padding: 16px 16px 0 16px; position: sticky; top: 0; - background: #fff; z-index: 1; } -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input { - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; - padding: 6px 8px; - box-shadow: 0 0 0 transparent; - transition: box-shadow 0.1s linear; - border-radius: 2px; - border: 1px solid #757575; - /* Fonts smaller than 16px causes mobile safari to zoom. */ - font-size: 16px; - /* Override core line-height. To be reviewed. */ - line-height: normal; - display: block; - padding: 16px 48px 16px 16px; - background: #f0f0f0; - border: none; - width: 100%; - height: 48px; - /* Fonts smaller than 16px causes mobile safari to zoom. */ - font-size: 16px; -} -@media (prefers-reduced-motion: reduce) { - .block-editor-inserter__search input[type=search].block-editor-inserter__search-input { - transition-duration: 0s; - transition-delay: 0s; - } -} -@media (min-width: 600px) { - .block-editor-inserter__search input[type=search].block-editor-inserter__search-input { - font-size: 13px; - /* Override core line-height. To be reviewed. */ - line-height: normal; - } -} -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input:focus { - border-color: var(--wp-admin-theme-color); - box-shadow: 0 0 0 1px var(--wp-admin-theme-color); - outline: 2px solid transparent; -} -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-input-placeholder { - color: rgba(30, 30, 30, 0.62); -} -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-moz-placeholder { - opacity: 1; - color: rgba(30, 30, 30, 0.62); -} -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input:-ms-input-placeholder { - color: rgba(30, 30, 30, 0.62); -} -@media (min-width: 600px) { - .block-editor-inserter__search input[type=search].block-editor-inserter__search-input { - font-size: 13px; - } -} -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input:focus { - background: #fff; - box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); -} -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::placeholder { - color: #757575; -} -.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-decoration, .block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-cancel-button, .block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-results-button, .block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-results-decoration { - -webkit-appearance: none; -} - -.block-editor-inserter__search-icon { - position: absolute; - top: 0; +.block-editor-inserter__search .components-search-control__icon { right: 20px; - bottom: 0; - display: flex; - align-items: center; } -.block-editor-inserter__search-icon > svg { - margin: 8px; +.block-editor-inserter__search .components-base-control__field { + margin-bottom: 0; } .block-editor-inserter__tabs { display: flex; flex-direction: column; - margin-top: -8px; } .block-editor-inserter__tabs .components-tab-panel__tabs { position: sticky; - top: 72px; + top: 64px; background: #fff; z-index: 1; border-bottom: 1px solid #ddd; @@ -3576,7 +3839,8 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before } .block-editor-inserter__panel-dropdown select.components-select-control__input.components-select-control__input.components-select-control__input { - line-height: 1.2; + height: 36px; + line-height: 36px; } .block-editor-inserter__panel-dropdown select { @@ -3588,10 +3852,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before position: relative; } -.block-editor-inserter__popover .block-editor-block-types-list { - margin: -8px; -} - .block-editor-inserter__reusable-blocks-panel { position: relative; text-align: right; @@ -3604,7 +3864,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before .block-editor-inserter__no-results { padding: 32px; - margin-top: 64px; text-align: center; } @@ -3706,6 +3965,12 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before grid-template-columns: 1fr 1fr; grid-gap: 8px; } +.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; @@ -3729,8 +3994,59 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before .block-editor-inserter__quick-inserter-expand.components-button:active { color: #ccc; } -.block-editor-inserter__quick-inserter-expand.components-button:focus:not(:disabled) { - box-shadow: inset 0 0 0 1.5px var(--wp-admin-theme-color), inset 0 0 0 3px #fff; +.block-editor-inserter__quick-inserter-expand.components-button.components-button:focus:not(:disabled) { + box-shadow: none; + background: var(--wp-admin-theme-color); + border-color: var(--wp-admin-theme-color); +} + +.block-editor-block-patterns-explorer__sidebar { + position: absolute; + top: 60px; + left: 0; + bottom: 0; + width: 280px; + padding: 24px 32px 32px; + overflow-x: visible; + overflow-y: scroll; +} +.block-editor-block-patterns-explorer__sidebar__categories-list__item { + display: block; + width: 100%; + height: 48px; + text-align: left; +} +.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: 248px; +} +.block-editor-block-patterns-explorer .block-editor-block-patterns-list { + display: grid; + grid-gap: 32px; + grid-template-columns: repeat(1, 1fr); +} +@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; + min-height: 100px; + max-height: 800px; } .block-editor-post-preview__dropdown { @@ -3792,8 +4108,11 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -3804,8 +4123,11 @@ body.admin-color-light { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -3816,8 +4138,11 @@ body.admin-color-modern { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -3828,8 +4153,11 @@ body.admin-color-blue { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -3840,8 +4168,11 @@ body.admin-color-coffee { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -3852,8 +4183,11 @@ body.admin-color-ectoplasm { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -3864,8 +4198,11 @@ body.admin-color-midnight { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -3876,8 +4213,11 @@ body.admin-color-ocean { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { diff --git a/wp-includes/css/dist/block-editor/style.min.css b/wp-includes/css/dist/block-editor/style.min.css index e29a67c3f3..1a284f32f9 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-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}#start-resizable-editor-section{display:none}.block-editor-autocompleters__block{white-space:nowrap}.block-editor-autocompleters__block .block-editor-block-icon{margin-right:8px}.block-editor-block-alignment-matrix-control__popover .components-popover__content{min-width:0;width:auto}.block-editor-block-alignment-matrix-control__popover .components-popover__content>div{padding:8px}.block-editor-block-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.block-editor-block-icon.has-colors svg{fill:currentColor}.block-editor-block-icon svg{min-width:20px;min-height:20px;max-width:24px;max-height:24px}.block-editor-block-inspector p{margin-top:0}.block-editor-block-inspector h2,.block-editor-block-inspector h3{font-size:13px;color:#1e1e1e;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-panel__body{border:none;border-top:1px solid #e0e0e0}.block-editor-block-inspector .block-editor-block-card{padding:16px}.block-editor-block-inspector__no-blocks{display:block;font-size:13px;background:#fff;padding:32px 16px;text-align:center}.block-editor-block-styles .block-editor-block-list__block{margin:0}.block-editor-block-list__layout{position:relative}.block-editor-block-list__layout.is-navigate-mode{cursor:default}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{position:absolute;z-index:1;pointer-events:none;content:"";top:1px;bottom:1px;left:1px;right:1px;box-shadow:0 0 0 1px var(--wp-admin-theme-color);border-radius:1px;outline:2px solid transparent}.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-multi-selected:after,.is-dark-theme .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered: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 1px #fff}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted .components-placeholder ::selection,.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected .components-placeholder ::selection,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered .components-placeholder ::selection,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected .components-placeholder ::selection{background:transparent}.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered:not(.is-selected):after{box-shadow:0 0 0 1px #949494}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:after,.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.has-child-selected,.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) var(--wp-admin-theme-color);outline:var(--wp-admin-border-width-focus) solid transparent}.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected:before{content:"";position:absolute;z-index:0;pointer-events:none;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;right:0;left:0;top:-14px;border-radius:2px;border-top:4px solid #ccc}.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected:after{content:none}.block-editor-block-list__layout .is-block-moving-mode.can-insert-moving-block.block-editor-block-list__block.is-selected:before{border-color:var(--wp-admin-theme-color)}.is-block-moving-mode.block-editor-block-list__block-selection-button{opacity:0;font-size:1px;height:1px;padding:0}.block-editor-block-list__layout .block-editor-block-list__block{position:relative;overflow-wrap:break-word}.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:not([contenteditable]):focus{outline:none}.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after{position:absolute;z-index:1;pointer-events:none;content:"";top:1px;bottom:1px;left:1px;right:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);border-radius:1px}.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}.block-editor-block-list__layout .block-editor-block-list__block:after{content:"";pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) transparent}.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{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px;background-color:hsla(0,0%,100%,.4)}.block-editor-block-list__layout .block-editor-block-list__block.has-warning.is-multi-selected:after{background-color:initial}.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}.block-editor-block-list__layout .block-editor-block-list__block .block-editor-block-list__layout .block-editor-default-block-appender .block-editor-inserter{left:auto;right:8px}.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{top:1px;left:1px;right:1px;bottom:1px;box-shadow:0 0 0 1px var(--wp-admin-theme-color);border-radius:1px}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected{cursor:unset}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected:after{box-shadow:0 0 0 1px var(--wp-admin-theme-color);top:1px;left:1px;right:1px;bottom:1px;border-radius:1px}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected:focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){opacity:.5;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){transition-duration:0s;transition-delay:0s}}.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}.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity{opacity:.5;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity{transition-duration:0s;transition-delay:0s}}.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity.has-child-selected,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity.is-active-entity,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity.is-active-entity .block-editor-block-list__block,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity .is-active-entity .block-editor-block-list__block,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity:not(.has-child-selected) .block-editor-block-list__block{opacity:1}.wp-block[data-align=left]>*,.wp-block[data-align=right]>*{z-index:21}.block-editor-block-list .block-editor-inserter{margin:8px;cursor:move;cursor:grab}@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-duration:1ms;animation-delay:0s}}.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{display:block;margin:0;padding:12px;width:100%;border:none;outline:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;resize:none;overflow:hidden;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;line-height:1.5;transition:padding .2s linear}@media (prefers-reduced-motion:reduce){.block-editor-block-list__block .block-editor-block-list__block-html-textarea{transition-duration:0s;transition-delay: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{z-index:5;position:relative}.block-editor-block-list__block .block-editor-warning.block-editor-block-list__block-crash-warning{margin-bottom:auto}.block-editor-block-list__insertion-point{position:absolute}.block-editor-block-list__insertion-point-indicator{position:absolute;background:var(--wp-admin-theme-color);animation:block-editor-inserter__toggle__fade-in-animation-delayed .3s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.block-editor-block-list__insertion-point-indicator{animation-duration:1ms;animation-delay:0s}}.block-editor-block-list__insertion-point.is-vertical>.block-editor-block-list__insertion-point-indicator{top:50%;right:0;left:0;height:1px}.block-editor-block-list__insertion-point.is-horizontal>.block-editor-block-list__insertion-point-indicator{top:0;right:0;left:50%;height:100%;width:1px}.block-editor-block-list__insertion-point-inserter{display:none;position:absolute;justify-content:center;top:calc(50% - 12px);left:calc(50% - 12px)}@media (min-width:480px){.block-editor-block-list__insertion-point-inserter{display:flex}}.block-editor-block-list__block-popover-inserter{position:absolute;top:-9999em;margin-bottom:14px}.block-editor-block-list__block-popover-inserter.is-visible{position:static}.block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button.has-icon,.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,.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon{background:#1e1e1e;border-radius:2px;color:#fff;padding:0;min-width:24px;height:24px}.block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button.has-icon:hover,.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,.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon:hover{color:#fff;background:var(--wp-admin-theme-color)}.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-popover-inserter .block-editor-inserter__toggle.components-button,.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button{animation:block-editor-inserter__toggle__fade-in-animation-delayed .3s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button,.block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button{animation-duration:1ms;animation-delay:0s}}@keyframes block-editor-inserter__toggle__fade-in-animation-delayed{0%{opacity:0}60%{opacity:0}to{opacity:1}}.block-editor-block-contextual-toolbar{display:inline-flex;border:1px solid #1e1e1e;border-radius:2px;background-color:#fff}.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{position:sticky;top:0;width:100%;z-index:31;min-height:48px;display:block;border:none;border-bottom:1px solid #e0e0e0;border-radius:0}.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 .block-editor-block-mover-button{overflow:hidden}.block-editor-block-contextual-toolbar .block-editor-block-mover.is-horizontal .block-editor-block-mover-button.block-editor-block-mover-button{min-width:24px;width:24px}.block-editor-block-contextual-toolbar .block-editor-block-mover.is-horizontal .block-editor-block-mover-button.block-editor-block-mover-button svg{min-width:24px}.block-editor-block-contextual-toolbar .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button:focus:before{left:0!important;min-width:0;width:100%}@media (min-width:600px){.block-editor-block-contextual-toolbar .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button.is-up-button svg{top:5px}.block-editor-block-contextual-toolbar .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button.is-down-button svg{bottom:5px}}.block-editor-block-list__block-selection-button{display:inline-flex;padding:0 13px;z-index:22;border-radius:2px;background-color:#1e1e1e;font-size:13px;height:48px}.block-editor-block-list__block-selection-button .block-editor-block-list__block-selection-button__content{margin:auto;display:inline-flex;align-items:center}.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;padding:0;height:24px;min-width:24px}.block-editor-block-list__block-selection-button .components-button.has-icon.block-selection-button_drag-handle svg{min-width:18px;min-height:18px}.block-editor-block-list__block-selection-button .block-editor-block-icon{font-size:13px;color:#fff;height:48px}.block-editor-block-list__block-selection-button .components-button{min-width:36px;color:#fff;height:48px;display:flex}.block-editor-block-list__block-selection-button .components-button:focus{box-shadow:none;border:none}.block-editor-block-list__block-selection-button .components-button:active{color:#fff}.block-editor-block-list__block-selection-button .block-selection-button_select-button.components-button{padding:0}.block-editor-block-list__insertion-point-popover.is-without-arrow{z-index:28;position:absolute;pointer-events:none}.block-editor-block-list__insertion-point-popover.is-without-arrow *{pointer-events:none}.block-editor-block-list__insertion-point-popover.is-without-arrow .is-with-inserter,.block-editor-block-list__insertion-point-popover.is-without-arrow .is-with-inserter *{pointer-events:all}.block-editor-block-list__insertion-point-popover.is-without-arrow .components-popover__content.components-popover__content{background:none;border:none;box-shadow:none;overflow-y:visible;margin-left:0}@keyframes hide-during-dragging{to{position:fixed;transform:translate(9999px,9999px)}}.components-popover.block-editor-block-list__block-popover{z-index:31;position:absolute}.components-popover.block-editor-block-list__block-popover .components-popover__content{margin:0!important;min-width:auto;width:max-content;background:none;border:none;box-shadow:none;overflow-y:visible;pointer-events:none}.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-contextual-toolbar,.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-list__block-selection-button,.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-list__empty-block-inserter{pointer-events:all}.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-contextual-toolbar,.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-list__block-selection-button{margin-top:12px;margin-bottom:12px}.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{opacity:0;animation:hide-during-dragging 1ms linear forwards}.is-dragging-components-draggable .components-tooltip{display:none}.block-editor-block-list__block .block-list-appender{align-self:center;padding:0;list-style:none;margin:8px}.block-editor-block-list__block .block-list-appender.wp-block{max-width:none}.block-editor-block-list__block .block-list-appender .block-editor-default-block-appender{margin:8px 0}.block-editor-block-list__block .block-list-appender .block-list-appender__toggle{padding:0;opacity:1;transform:scale(1);transition:all .1s ease;margin-left:8px}@media (prefers-reduced-motion:reduce){.block-editor-block-list__block .block-list-appender .block-list-appender__toggle{transition-duration:0s;transition-delay:0s}}.block-editor-block-list__block .block-list-appender:first-of-type .block-list-appender__toggle{margin-left:0}.is-vertical .block-list-appender{width:24px;margin-right:auto;margin-top:12px;margin-left:12px}.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-breadcrumb{list-style:none;padding:0;margin:0}.block-editor-block-breadcrumb li{display:inline-block;margin:0}.block-editor-block-breadcrumb li:not(:last-child):after{content:"→"}.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){text-decoration:underline;box-shadow:none}.block-editor-block-breadcrumb__button.components-button:focus{box-shadow:none}.block-editor-block-breadcrumb__button.components-button:focus:before{content:"";display:block;position:absolute;border-radius:2px;top:1px;right:1px;bottom:1px;left:1px;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-block-breadcrumb__current{cursor:default}.block-editor-block-breadcrumb__button.components-button,.block-editor-block-breadcrumb__current{color:#1e1e1e;padding:0 8px;font-size:inherit}.block-editor-block-card{display:flex;align-items:flex-start}.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;margin-left:0;margin-right:12px;width:24px;height:24px}.block-editor-block-compare{overflow:auto;height:auto}@media (min-width:600px){.block-editor-block-compare{max-height:70%}}.block-editor-block-compare__wrapper{display:flex;padding-bottom:16px}.block-editor-block-compare__wrapper>div{display:flex;justify-content:space-between;flex-direction:column;width:50%;padding:0 16px 0 0;min-width:200px}.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{font-family:Menlo,Consolas,monaco,monospace;font-size:12px;color:#1e1e1e;border-bottom:1px solid #ddd;padding-bottom:15px;line-height:1.7}.block-editor-block-compare__wrapper .block-editor-block-compare__html span{background-color:#e6ffed;padding-top:3px;padding-bottom: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;top:-24px;left:0}.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}.block-editor-block-draggable-chip svg{fill:currentColor}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content{margin:auto;justify-content:flex-start}.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-width:18px;min-height: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}.is-dragging{display:none!important}.block-editor-block-mobile-toolbar{display:flex;flex-direction:row;border-right:1px solid #ddd}.block-editor-block-mobile-toolbar .block-editor-block-mover-button{width:36px;height:36px;border-radius:2px;padding:3px;margin:0;justify-content:center;align-items:center}.block-editor-block-mobile-toolbar .block-editor-block-mover-button .dashicon{margin:auto}.block-editor-block-mobile-toolbar .block-editor-block-mover{display:flex;margin-right:auto}.block-editor-block-mobile-toolbar .block-editor-block-mover .block-editor-block-mover-button{float:left}.block-editor-block-mover-button__description{display:none}.block-editor-block-mover-button.has-icon{padding:0}.block-editor-block-mover{display:inline-flex;flex-direction:row}.block-editor-block-mover .block-editor-block-mover__move-button-container,.block-editor-block-mover .components-toolbar{flex:1;flex-direction:row;border-right:none!important}@media (min-width:600px){.block-editor-block-mover .block-editor-block-mover__move-button-container,.block-editor-block-mover .components-toolbar{flex-direction:column}}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container,.block-editor-block-mover.is-horizontal .components-toolbar{flex-direction:row}.block-editor-block-mover .block-editor-block-mover-button.block-editor-block-mover-button{padding-right:0;padding-left:0;min-width:36px}@media (min-width:600px){.block-editor-block-mover .block-editor-block-mover-button{height:24px;width:42px;padding-right:11px!important;padding-left:6px!important}.block-editor-block-mover .block-editor-block-mover-button.block-editor-block-mover-button{min-width:42px}}@media (min-width:600px){.block-editor-block-mover .block-editor-block-mover-button:before{left:8px!important;right:8px!important}}.block-editor-block-mover .block-editor-block-mover__drag-handle{width:24px;cursor:grab;min-width:24px!important;padding:0!important}.block-editor-block-mover .block-editor-block-mover__drag-handle:focus:before{left:0!important;right:0!important}@media (min-width:600px){.block-editor-block-mover .components-toolbar-group .block-editor-block-mover-button,.block-editor-block-mover .components-toolbar .block-editor-block-mover-button{margin:0 auto 0 0}.block-editor-block-mover .components-toolbar-group .block-editor-block-mover-button.is-up-button:before,.block-editor-block-mover .components-toolbar .block-editor-block-mover-button.is-up-button:before{bottom:0;height:calc(100% - 1px)}.block-editor-block-mover .components-toolbar-group .block-editor-block-mover-button.is-down-button:before,.block-editor-block-mover .components-toolbar .block-editor-block-mover-button.is-down-button:before{top:0;height:calc(100% - 1px)}}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.has-icon{height:48px;width:24px;padding-left:0;padding-right:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.has-icon:before{top:1px;bottom:1px;min-width:0;width:auto;height:auto}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-up-button.has-icon svg{margin-left:0;margin-right:-8px;margin-bottom:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-up-button.has-icon:before{left:0!important;right:0!important}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-down-button.has-icon svg{margin-left:-8px;margin-right:0;margin-top:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-down-button.has-icon:before{left:0!important;right:0!important;width:calc(100% + 1px)}.block-editor-block-navigation__label{margin:0 0 12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500}.block-editor-block-navigation__container{min-width:280px}.block-editor-block-navigation-tree{width:100%;border-collapse:collapse;padding:0;margin:0}.components-modal__content .block-editor-block-navigation-tree{margin:-12px -6px 0;width:calc(100% + 12px)}.block-editor-block-navigation-leaf{position:relative}.block-editor-block-navigation-leaf.is-selected .block-editor-block-navigation-block-contents{background:var(--wp-admin-theme-color);color:#fff}.block-editor-block-navigation-leaf.is-selected .block-editor-block-navigation-block-contents:focus{box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-block-navigation-leaf.is-branch-selected.is-selected .block-editor-block-navigation-block-contents{border-radius:2px 2px 0 0}.block-editor-block-navigation-leaf.is-branch-selected:not(.is-selected) .block-editor-block-navigation-block-contents{background:linear-gradient(hsla(0,0%,100%,.9),hsla(0,0%,100%,.9)),linear-gradient(var(--wp-admin-theme-color),var(--wp-admin-theme-color));border-radius:0}.block-editor-block-navigation-leaf.is-branch-selected.is-last-of-selected-branch .block-editor-block-navigation-block-contents{border-radius:0 0 2px 2px}.block-editor-block-navigation-leaf.is-dragging{display:none}.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents{display:flex;align-items:center;width:100%;height:auto;padding:6px 12px;text-align:left;color:#1e1e1e;border-radius:2px;position:relative;white-space:nowrap}.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents:focus,.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents:hover{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents:focus{z-index:1}.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents.is-dropping-before:before{content:"";position:absolute;pointer-events:none;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;top:-2px;right:0;left:0;border-top:4px solid var(--wp-admin-theme-color)}.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents.is-dropping-after:before{content:"";position:absolute;pointer-events:none;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;bottom:-2px;right:0;left:0;border-bottom:4px solid var(--wp-admin-theme-color)}.block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents.is-dropping-to-inner-blocks:before{content:"";position:absolute;pointer-events:none;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;bottom:-2px;right:0;left:24px;border-bottom:4px solid var(--wp-admin-theme-color)}.components-modal__content .block-editor-block-navigation-leaf .block-editor-block-navigation-block-contents{padding-left:0;padding-right:0}.block-editor-block-navigation-leaf.is-visible .block-editor-block-navigation-block-contents{opacity:1;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.block-editor-block-navigation-leaf.is-visible .block-editor-block-navigation-block-contents{animation-duration:1ms;animation-delay:0s}}.block-editor-block-navigation-leaf .block-editor-block-icon{align-self:flex-start;margin-right:10px;width:20px}.block-editor-block-navigation-leaf .block-editor-block-navigation-block__contents-cell,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell{padding-top:0;padding-bottom:0}.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell{line-height:0;width:36px;opacity:0;vertical-align:top}@media (prefers-reduced-motion:reduce){.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell{transition-duration:0s;transition-delay:0s}}.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell.is-visible,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell:hover,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell.is-visible,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell:hover{position:relative;z-index:1;opacity:1;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell.is-visible,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell:hover,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell.is-visible,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell:hover{animation-duration:1ms;animation-delay:0s}}.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell .components-button.has-icon,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell,.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell .components-button.has-icon{width:24px;min-width:24px;padding:0}.block-editor-block-navigation-leaf .block-editor-block-navigation-block__menu-cell{padding-top:8px}.block-editor-block-navigation-leaf .block-editor-block-navigation-block__mover-cell-alignment-wrapper{display:flex;height:100%;flex-direction:column;align-items:center}.block-editor-block-navigation-leaf .block-editor-block-mover-button{position:relative;width:36px;height:24px}.block-editor-block-navigation-leaf .block-editor-block-mover-button svg{position:relative;height:24px}.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-up-button{margin-top:-6px;align-items:flex-end}.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-up-button svg{bottom:-4px}.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-down-button{margin-bottom:-6px;align-items:flex-start}.block-editor-block-navigation-leaf .block-editor-block-mover-button.is-down-button svg{top:-4px}.block-editor-block-navigation-leaf .block-editor-block-mover-button:focus,.block-editor-block-navigation-leaf .block-editor-block-mover-button:focus:enabled{box-shadow:none;outline:none}.block-editor-block-navigation-leaf .block-editor-block-mover-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}.block-editor-block-navigation-leaf .block-editor-block-mover-button:before{content:"";position:absolute;display:block;border-radius:2px;height:16px;min-width:100%;left:0;right:0;animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.block-editor-block-navigation-leaf .block-editor-block-mover-button:before{animation-duration:1ms;animation-delay:0s}}.block-editor-block-navigation-leaf .block-editor-inserter__toggle{background:#1e1e1e;color:#fff;height:24px;margin:6px 6px 6px 1px;min-width:24px}.block-editor-block-navigation-leaf .block-editor-inserter__toggle:active{color:#fff}.block-editor-block-navigation-leaf .block-editor-block-navigation-block-select-button__anchor{background:rgba(0,0,0,.1);border-radius:2px;display:inline-block;padding:2px 6px;margin:0 8px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.block-editor-block-navigation-leaf.is-selected .block-editor-block-navigation-block-select-button__anchor{background:rgba(0,0,0,.3)}.block-editor-block-navigation-appender__description,.block-editor-block-navigation-block-select-button__description,.block-editor-block-navigation-block-slot__description{display:none}.block-editor-block-navigation-appender__cell .block-editor-block-navigation-appender__container,.block-editor-block-navigation-appender__cell .block-editor-block-navigation-block__contents-container,.block-editor-block-navigation-block__contents-cell .block-editor-block-navigation-appender__container,.block-editor-block-navigation-block__contents-cell .block-editor-block-navigation-block__contents-container{display:flex}.block-editor-block-navigation-leaf[aria-level] .block-editor-block-icon{margin-left:224px}.block-editor-block-navigation-leaf[aria-level="1"] .block-editor-block-icon{margin-left:0}.block-editor-block-navigation-leaf[aria-level="2"] .block-editor-block-icon{margin-left:28px}.block-editor-block-navigation-leaf[aria-level="3"] .block-editor-block-icon{margin-left:56px}.block-editor-block-navigation-leaf[aria-level="4"] .block-editor-block-icon{margin-left:84px}.block-editor-block-navigation-leaf[aria-level="5"] .block-editor-block-icon{margin-left:112px}.block-editor-block-navigation-leaf[aria-level="6"] .block-editor-block-icon{margin-left:140px}.block-editor-block-navigation-leaf[aria-level="7"] .block-editor-block-icon{margin-left:168px}.block-editor-block-navigation-leaf[aria-level="8"] .block-editor-block-icon{margin-left:196px}.block-editor-block-navigation-leaf[aria-level="9"] .block-editor-block-icon{margin-left:224px}.block-editor-block-parent-selector{background:#fff;border-radius:2px}.block-editor-block-parent-selector .block-editor-block-parent-selector__button{width:48px;height:48px;border:1px solid #1e1e1e;border-radius:2px}.block-editor-block-patterns-list__list-item{cursor:pointer;margin-top:16px}.block-editor-block-patterns-list__list-item.is-placeholder{min-height:100px}.block-editor-block-patterns-list__list-item[draggable=true] .block-editor-block-preview__container{cursor:grab}.block-editor-block-patterns-list__item{height:100%;border-radius:2px;transition:all .05s ease-in-out;position:relative;border:1px solid transparent}.block-editor-block-patterns-list__item:hover{border:1px solid var(--wp-admin-theme-color)}.block-editor-block-patterns-list__item:focus{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-patterns-list__item-title{padding:4px;font-size:12px;text-align:center}.block-editor-block-preview__container{position:relative;width:100%;overflow:hidden}.block-editor-block-preview__container.editor-styles-wrapper{padding:0;margin:0}.block-editor-block-preview__container .block-editor-block-preview__content{position:absolute;top:0;left:0;transform-origin:top left;text-align:initial;margin:0;overflow:visible;min-height:auto}.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-drop-zone,.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,.block-editor-block-preview__container .block-editor-block-preview__content .reusable-block-indicator{display:none}.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-list__layout.is-root-container{padding-left:0;padding-right:0}.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-list__layout.is-root-container>.wp-block[data-align=full]{margin-left:0;margin-right:0}.block-editor-block-settings-menu__popover .components-dropdown-menu__menu{padding:0}.block-editor-block-styles{display:flex;flex-wrap:wrap;justify-content:space-between}.block-editor-block-styles__item{width:calc(50% - 4px);margin:4px 0;flex-shrink:0;cursor:pointer;overflow:hidden;border-radius:2px;padding:6px;display:flex;flex-direction:column}.block-editor-block-styles__item:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-block-styles__item:hover .block-editor-block-styles__item-preview{border-color:var(--wp-admin-theme-color)}.block-editor-block-styles__item.is-active .block-editor-block-styles__item-label{font-weight:700}.block-editor-block-styles__item.is-active .block-editor-block-styles__item-preview{margin:0;border:2px solid #1e1e1e}.block-editor-block-styles__item .block-editor-block-preview__container{cursor:inherit}.block-editor-block-styles__item-preview{outline:1px solid transparent;padding:0;margin:2px;border-radius:2px;display:flex;overflow:hidden;background:#fff;align-items:center;flex-grow:1;min-height:80px;max-height:160px}.block-editor-block-switcher__styles__menugroup{position:relative}.block-editor-block-styles__item-label{text-align:center;padding:4px 0}.block-editor-block-switcher,.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{margin:0;display:block;height:48px}.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}.block-editor-block-switcher__popover{margin-left:6px}.components-button.block-editor-block-switcher__no-switcher-icon{width:48px}.components-button.block-editor-block-switcher__no-switcher-icon .block-editor-blocks-icon{margin-right:auto;margin-left:auto}.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-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,.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{height:100%;position:relative;margin:0 auto;display:flex;align-items:center;min-width:100%}.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,.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{top:8px;right:8px;bottom:8px;left:8px}.components-popover.block-editor-block-switcher__popover .components-popover__content{min-width:300px}.components-popover.block-editor-block-switcher__popover .components-popover__content>div{min-width:auto;display:flex;background:#fff;padding:0}.components-popover.block-editor-block-switcher__popover .components-popover__content>div .components-menu-group{margin:0}.block-editor-block-switcher__popover .components-popover__content .block-editor-block-styles{margin:0 -3px}.block-editor-block-switcher__popover .components-popover__content .components-panel__body{border:0;position:relative;z-index:1}.block-editor-block-switcher__popover .components-popover__content .components-panel__body+.components-panel__body{border-top:1px solid #e0e0e0}.block-editor-block-switcher__popover__preview__parent .block-editor-block-switcher__popover__preview__container{position:absolute;top:-12px;left:calc(100% + 32px)}.block-editor-block-switcher__preview__popover{display:none}.block-editor-block-switcher__preview__popover.components-popover{margin-left:4px;margin-top:11px}@media (min-width:782px){.block-editor-block-switcher__preview__popover{display:block}}.block-editor-block-switcher__preview__popover .components-popover__content{box-shadow:none;border:1px solid #1e1e1e;background:#fff;border-radius:2px}.block-editor-block-switcher__preview__popover .block-editor-block-switcher__preview{width:300px;height:auto;max-height:500px;padding:16px}.block-editor-block-switcher__preview-title{margin-bottom:12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon{width:48px}.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{width:48px;height: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{height:100%;border-radius:2px;transition:all .05s ease-in-out;position:relative;border:1px 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: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{padding:4px;font-size:12px;text-align:center;cursor:pointer}.block-editor-block-types-list>[role=presentation]{padding:4px;margin-left:-4px;margin-right:-4px;overflow:hidden;display:flex;flex-wrap:wrap}.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;justify-content:flex-start;flex-direction:row;flex-wrap:wrap;width:100%;margin:16px 0;padding:0;list-style:none}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations>li{list-style:none;margin:8px 20px 0 0;flex-shrink:1;width:75px;text-align:center}.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{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;display:block;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-block-pattern-setup{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;outline:1px solid transparent}.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{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;padding:16px;max-height:550px;overflow:auto;margin:0 1px 1px;width:calc(100% - 2px);background:#fff}.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-title{padding:4px;font-size:12px;text-align:center}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-preview__container{border-radius:2px;border:1px solid #ddd}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar{box-sizing:border-box;position:relative;padding:16px;width:100%;text-align:left;margin:0;color:#1e1e1e;border-radius:2px 2px 0 0;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;outline:1px solid transparent;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.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{width:calc(50% - 36px);display:flex}.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{display:flex;flex-direction:column;width:100%;box-sizing:border-box}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container{overflow:hidden;position:relative;padding:0;margin:0;list-style:none;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{opacity:0;position:absolute;top:0;width:100%;margin:auto;padding:16px;transition:transform .5s,opacity .5s,z-index .5s;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-variation-transforms{padding:0 16px 16px 56px;width:100%}.block-editor-block-variation-transforms .components-dropdown-menu__toggle{border:1px solid #757575;border-radius:2px;min-height:30px;width:100%;position:relative;text-align:left;justify-content:left;padding:6px 12px}.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-style-control__select{margin-bottom:24px}.components-border-style-control__select button{width:100%}.components-border-style-control__select ul li,.components-border-style-control__select ul li:last-child{margin:6px}.block-editor-button-block-appender{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;width:100%;height:auto;color:#1e1e1e;box-shadow:inset 0 0 0 1px #1e1e1e}.is-dark-theme .block-editor-button-block-appender{color:hsla(0,0%,100%,.65);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.65)}.block-editor-button-block-appender:hover{color:var(--wp-admin-theme-color);box-shadow:inset 0 0 0 1px 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-button-block-appender.block-list-appender__toggle{display:flex;flex-direction:row;box-shadow:none;height:24px;width:24px}.block-editor-button-block-appender.block-list-appender__toggle>svg{width:24px;background-color:#1e1e1e;color:#fff;border-radius:2px;flex:1 0 auto}.block-editor-color-gradient-control .block-editor-color-gradient-control__color-indicator{margin-bottom:12px}.block-editor-color-gradient-control .block-editor-color-gradient-control__button-tabs{display:block;margin-bottom:12px}.block-editor-panel-color-gradient-settings .component-color-indicator{vertical-align:text-bottom}.block-editor-panel-color-gradient-settings__panel-title .component-color-indicator{display:inline-block}.block-editor-panel-color-gradient-settings.is-opened .block-editor-panel-color-gradient-settings__panel-title .component-color-indicator{display:none}@media screen and (min-width:782px){.block-editor-panel-color-gradient-settings .components-circular-option-picker__swatches{margin-right:0}.block-editor-panel-color-gradient-settings .components-circular-option-picker__option-wrapper{margin-right:calc(20% - 33.6px)}.block-editor-panel-color-gradient-settings .components-circular-option-picker__option-wrapper:nth-child(6n+6){margin-right:0}}.block-editor-contrast-checker>.components-notice{margin:0}.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}.block-editor-default-block-appender .components-drop-zone__content-icon{display:none}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender .block-editor-inserter{position:absolute;top:0;height:32px}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter .block-editor-inserter__toggle,.block-editor-default-block-appender .block-editor-inserter .block-editor-inserter__toggle{margin-right:0}.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender .block-editor-inserter{right:8px}@media (min-width:600px){.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender .block-editor-inserter{display:flex;height:100%}}.block-editor-block-list__empty-block-inserter:disabled,.block-editor-default-block-appender .block-editor-inserter:disabled{display:none}.block-editor-duotone-control__popover .components-popover__content{border:1px solid #1e1e1e;min-width:214px}.block-editor-duotone-control__popover .components-circular-option-picker{padding:12px}.block-editor-duotone-control__popover .components-menu-group__label{padding:12px 12px 0;width:100%;box-sizing:border-box}.block-editor-duotone-control__popover>.components-popover__content{width:334px}.block-editor-duotone-control__popover:not([data-y-axis=middle][data-x-axis=right])>.components-popover__content{margin-left:-14px}.components-font-appearance-control__select{margin-bottom:24px}.components-font-appearance-control__select ul li{color:#1e1e1e;text-transform:capitalize}.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}.block-editor-link-control{position:relative;min-width:360px}.components-popover__content .block-editor-link-control{min-width:auto;width:90vw;max-width:360px}.block-editor-link-control__search-input-wrapper{position:relative}.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;font-size:16px;line-height:normal;width:calc(100% - 32px);display:block;padding:11px 36px 11px 16px;margin:16px;position:relative;border:1px solid #ddd;border-radius:2px}@media (prefers-reduced-motion:reduce){.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]{font-size:13px;line-height:normal}}.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.block-editor-link-control .block-editor-link-control__search-input.block-editor-link-control__search-input input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-link-control .block-editor-link-control__search-input .components-base-control__field{margin-bottom:0}.block-editor-link-control__search-error{margin:-8px 16px 16px}.block-editor-link-control__search-actions{position:absolute;top:19px;right:19px}.components-button .block-editor-link-control__search-submit .has-icon{margin:-1px}.block-editor-link-control__search-results-wrapper{position:relative;margin-top:-15px}.block-editor-link-control__search-results-wrapper:after,.block-editor-link-control__search-results-wrapper:before{content:"";position:absolute;left:-1px;right:16px;display:block;pointer-events:none;z-index:100}.block-editor-link-control__search-results-wrapper:before{height:8px;top:0;bottom:auto}.block-editor-link-control__search-results-wrapper:after{height:16px;bottom:0;top:auto}.block-editor-link-control__search-results-label{padding:16px 32px 0;display:block;font-weight:600}.block-editor-link-control__search-results{margin:0;padding:8px 16px;max-height:200px;overflow-y:auto}.block-editor-link-control__search-results.is-loading{opacity:.2}.block-editor-link-control__search-item{position:relative;display:flex;align-items:center;font-size:13px;cursor:pointer;background:#fff;width:100%;border:none;text-align:left;padding:12px 16px;border-radius:5px;height:auto}.block-editor-link-control__search-item:focus,.block-editor-link-control__search-item:hover{background-color:#ddd}.block-editor-link-control__search-item:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color) inset}.block-editor-link-control__search-item.is-selected{background:#f0f0f0}.block-editor-link-control__search-item.is-selected .block-editor-link-control__search-item-type{background:#fff}.block-editor-link-control__search-item.is-current{background:transparent;border:0;width:100%;cursor:default;padding:16px 16px 16px 24px}.block-editor-link-control__search-item .block-editor-link-control__search-item-header{display:block;margin-right:8px;overflow:hidden;white-space:nowrap}.block-editor-link-control__search-item .block-editor-link-control__search-item-icon{margin-right:1em;min-width:24px}.block-editor-link-control__search-item .block-editor-link-control__search-item-info,.block-editor-link-control__search-item .block-editor-link-control__search-item-title{overflow:hidden;text-overflow:ellipsis;padding-right:24px}.block-editor-link-control__search-item .block-editor-link-control__search-item-info .components-external-link__icon,.block-editor-link-control__search-item .block-editor-link-control__search-item-title .components-external-link__icon{position:absolute;right:0;margin-top:0}.block-editor-link-control__search-item .block-editor-link-control__search-item-title{display:block;margin-bottom:.2em;font-weight:500;position:relative}.block-editor-link-control__search-item .block-editor-link-control__search-item-title mark{font-weight:700;color:#000;background-color:initial}.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-info{display:block;color:#757575;font-size:.9em;line-height:1.3}.block-editor-link-control__search-item .block-editor-link-control__search-item-type{display:block;padding:3px 8px;margin-left:auto;font-size:.9em;background-color:#f0f0f0;border-radius:2px}.block-editor-link-control__loading{margin:16px;display:flex;align-items:center}.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:"";position:absolute;top:-10px;left:0;display:block;width:100%}.block-editor-link-control__search-results div[role=menu]>.block-editor-link-control__search-item.block-editor-link-control__search-item{padding:10px}.block-editor-link-control__settings{border-top:1px solid #ddd;margin:0;padding:16px 24px}.block-editor-link-control__settings :last-child{margin-bottom:0}.is-alternate .block-editor-link-control__settings{border-top:1px solid #1e1e1e}.block-editor-link-control__setting{margin-bottom:16px}.block-editor-link-control__setting :last-child{margin-bottom:0}.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{position:absolute;left:auto;bottom:auto;top:28px;right:62px}.block-editor-link-control__search-item-action{margin-left:auto;flex-shrink:0}.block-editor-line-height-control{margin-bottom:24px}.block-editor-line-height-control input{display:block;max-width:60px}.block-editor-image-size-control{margin-bottom:1em}.block-editor-image-size-control .block-editor-image-size-control__row{display:flex;justify-content:space-between}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__height,.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__width{margin-bottom:.5em}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__height input,.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__width input{line-height:1.25}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__width{margin-right:5px}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__height{margin-left:5px}.block-editor-block-list__layout.has-overlay:after{content:"";position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;z-index:60}[data-align=full] .has-overlay:after{right:0;left:0}.block-editor-block-types-list__list-item{display:block;width:33.33%;padding:0;margin:0}.components-button.block-editor-block-types-list__item{display:flex;flex-direction:column;width:100%;font-size:13px;color:#1e1e1e;padding:8px;align-items:stretch;justify-content:center;cursor:pointer;background:transparent;word-break:break-word;border-radius:2px;border:1px solid transparent;transition:all .05s ease-in-out;position:relative;height:auto}@media (prefers-reduced-motion:reduce){.components-button.block-editor-block-types-list__item{transition-duration:0s;transition-delay:0s}}.components-button.block-editor-block-types-list__item:disabled{opacity:.6;cursor:default}.components-button.block-editor-block-types-list__item:not(:disabled):hover{border-color:var(--wp-admin-theme-color);color:var(--wp-admin-theme-color)!important}.components-button.block-editor-block-types-list__item:not(:disabled).is-active{color:#fff;background:#1e1e1e;outline:2px solid transparent;outline-offset:-2px}.block-editor-block-types-list__item-icon{padding:12px 20px;border-radius:2px;color:#1e1e1e;transition:all .05s ease-in-out}@media (prefers-reduced-motion:reduce){.block-editor-block-types-list__item-icon{transition-duration:0s;transition-delay: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-duration:0s;transition-delay: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{padding:4px 2px 8px;font-size:12px}.modal-open .block-editor-media-replace-flow__options{display:none}.block-editor-media-replace-flow__options .components-popover__content>div{padding-top:16px}.block-editor-media-replace-flow__indicator{margin-left:4px}.block-editor-media-flow__url-input{border-top:1px solid #1e1e1e;margin-top:12px;margin-right:-12px;margin-left:-12px;padding:12px 24px 0}.block-editor-media-flow__url-input .block-editor-media-replace-flow__image-url-label{top:16px}.block-editor-media-flow__url-input .block-editor-link-control{margin-top:-16px;width:auto}.block-editor-media-flow__url-input .block-editor-link-control .components-base-control .components-base-control__field{margin-bottom:0}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-title{max-width:180px;margin-top:16px}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item.is-current{width:auto;padding:0}.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:16px 0 0;width:100%}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-actions{right:4px}.block-editor-media-flow__error{padding:0 20px 20px;max-width:255px}.block-editor-media-flow__error .components-with-notices-ui{max-width:255px}.block-editor-media-flow__error .components-with-notices-ui .components-notice__content{overflow:hidden;word-wrap:break-word}.block-editor-media-flow__error .components-with-notices-ui .components-notice__dismiss{position:absolute;right:10px}.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{width:100%;flex-grow:1;border:none;border-radius:0;margin:2px}@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{margin:1em;display:block}.block-editor-media-placeholder.is-appender{min-height:0}.block-editor-media-placeholder.is-appender:hover{cursor:pointer;box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.block-editor-multi-selection-inspector__card{display:flex;align-items:flex-start;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{margin-left:-2px;margin-right:10px;padding:0 3px;width:36px;height:24px}.block-editor-plain-text{box-shadow:none;font-family:inherit;font-size:inherit;color:inherit;line-height:inherit;border:none;padding:0;margin:0;width:100%}.block-editor-responsive-block-control{margin-bottom:28px;border-bottom:1px solid #ccc;padding-bottom:14px}.block-editor-responsive-block-control:last-child{padding-bottom:0;border-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{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.block-editor-rich-text__editable>p:first-child{margin-top:0}.block-editor-rich-text__editable [data-rich-text-placeholder]{pointer-events:none}.block-editor-rich-text__editable [data-rich-text-placeholder]:after{content:attr(data-rich-text-placeholder);opacity:.62}.block-editor-rich-text__editable:focus{outline:none}.block-editor-rich-text__editable:focus [data-rich-text-format-boundary]{border-radius:2px}figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]:before{opacity:.8}.components-popover.block-editor-rich-text__inline-format-toolbar{z-index:99998}.components-popover.block-editor-rich-text__inline-format-toolbar .components-popover__content{width:auto;min-width:auto;margin-bottom:8px;box-shadow:none;border:1px solid #1e1e1e;border-radius:2px;background-color:#fff}.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar,.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar-group{border:none}.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-width:48px;min-height: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)}[data-rich-text-script]{display:inline}[data-rich-text-script]:before{content:"";background:#ff0}.block-editor-skip-to-selected-block{position:absolute;top:-9999em}.block-editor-skip-to-selected-block:focus{height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:var(--wp-admin-theme-color);line-height:normal;box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:none;z-index:100000}.block-editor-text-decoration-and-transform{display:flex}.block-editor-text-transform-control{flex:0 0 50%}.block-editor-text-transform-control legend{margin-bottom:8px}.block-editor-text-transform-control .block-editor-text-transform-control__buttons{display:inline-flex;margin-bottom:24px}.block-editor-text-transform-control .block-editor-text-transform-control__buttons .components-button.has-icon{min-width:24px;padding:0;margin-right:4px}.block-editor-text-decoration-control{flex:0 0 50%}.block-editor-text-decoration-control legend{margin-bottom:8px}.block-editor-text-decoration-control .block-editor-text-decoration-control__buttons{display:inline-flex;margin-bottom:24px}.block-editor-text-decoration-control .block-editor-text-decoration-control__buttons .components-button.has-icon{min-width:24px;padding:0;margin-right:4px}.block-editor-tool-selector__help{margin:8px -12px -12px;padding:12px 20px;border-top:1px solid #ddd;color:#757575;min-width:280px}.block-editor-block-list__block .block-editor-url-input,.block-editor-url-input,.components-popover .block-editor-url-input{flex-grow:1;position:relative;padding:1px}.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]{width:100%;padding:8px 8px 8px 12px;border:none;border-radius:0;margin-left:0;margin-right:0;font-size:16px}@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]{width:300px;font-size:13px}}.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{position:absolute;right:8px 8px 8px 12px;bottom:8px 8px 8px 12px8px1;margin:0}.block-editor-url-input__input[type=text]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal}@media (prefers-reduced-motion:reduce){.block-editor-url-input__input[type=text]{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.block-editor-url-input__input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-url-input__suggestions{max-height:200px;transition:all .15s ease-in-out;padding:4px 0;width:302px;overflow-y:auto}@media (prefers-reduced-motion:reduce){.block-editor-url-input__suggestions{transition-duration:0s;transition-delay: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:inherit}}.block-editor-url-input__suggestion{padding:4px 8px 8px;color:#757575;display:block;font-size:13px;cursor:pointer;background:#fff;width:100%;border:none;text-align:left;box-shadow:none}.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{content:"";position:absolute;display:block;width:1px;height:24px;right:-1px;background:#ddd}.block-editor-url-input__button-modal{box-shadow:0 2px 6px rgba(0,0,0,.05);border:1px solid #ddd;background:#fff}.block-editor-url-input__button-modal-line{display:flex;flex-direction:row;flex-grow:1;flex-shrink:1;min-width:0;align-items:flex-start}.block-editor-url-input__button-modal-line .components-button{flex-shrink:0;width:36px;height: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{padding:5px;border-radius:2px;height:30px;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{flex-shrink:0;border-radius:0;border-left:1px solid #ddd;margin-left:1px}.block-editor-url-popover__settings-toggle[aria-expanded=true] .dashicon{transform:rotate(180deg)}.block-editor-url-popover__input-container .components-base-control:last-child,.block-editor-url-popover__input-container .components-base-control:last-child .components-base-control__field{margin-bottom:0}.block-editor-url-popover__settings{display:block;padding:16px;border-top:1px solid #ddd}.block-editor-url-popover__link-editor,.block-editor-url-popover__link-viewer{display:flex}.block-editor-url-popover__link-editor .block-editor-url-input .components-base-control__field,.block-editor-url-popover__link-viewer .block-editor-url-input .components-base-control__field{margin-bottom:0}.block-editor-url-popover__link-editor .block-editor-url-input .components-spinner,.block-editor-url-popover__link-viewer .block-editor-url-input .components-spinner{bottom:8px 8px 8px 12px1}.block-editor-url-popover__link-viewer-url{margin:7px;flex-grow:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:150px;max-width:500px}.block-editor-url-popover__link-viewer-url.has-invalid-link{color:#cc1818}.block-editor-warning{align-items:center;display:flex;flex-wrap:wrap;padding:1em;border:1px solid #1e1e1e;border-radius:2px;background-color:#fff}.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{line-height:1.4;font-size:13px;color:#1e1e1e;margin:0}.block-editor-warning p.block-editor-warning__message.block-editor-warning__message{min-height:auto}.block-editor-warning .block-editor-warning__contents{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap;align-items:baseline;width:100%}.block-editor-warning .block-editor-warning__actions{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}.html-anchor-control .components-external-link{display:block;margin-top:8px}.block-editor-hooks__layout-controls{display:flex;margin-bottom:16px}.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-hooks__layout-controls-reset{display:flex;justify-content:flex-end;margin-bottom:24px}.block-editor-hooks__layout-controls-helptext{font-size:12px}#end-resizable-editor-section{display:none}.block-editor-block-toolbar{display:flex;flex-grow:1;width:100%;overflow:auto;position:relative;transition:border-color .1s linear,box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.block-editor-block-toolbar{transition-duration:0s;transition-delay: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;line-height:0;margin-top:-1px;margin-bottom:-1px;border:0;border-right:1px solid #ddd}.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.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-parent-selector{position:absolute;top:-1px;left:-57px}.show-icon-labels .block-editor-block-parent-selector{position:relative;left:auto;top:auto;margin-top:-1px;margin-left:-1px;margin-bottom:-1px}.block-editor-block-toolbar__block-controls{height:auto!important;padding:0!important;margin-left:-1px}.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{width:24px!important;margin:0!important}.block-editor-block-toolbar__block-controls .block-editor-block-switcher .components-dropdown-menu__toggle:focus:before,.block-editor-block-toolbar__block-controls .block-editor-block-switcher__no-switcher-icon:focus:before{right:4px!important}.block-editor-block-toolbar__block-controls .block-editor-block-mover{margin-left:-6px}.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{border-right:1px solid #1e1e1e}.show-icon-labels .block-editor-block-switcher .components-dropdown-menu__toggle{margin-left:0}.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{width:0!important;height:0!important}.show-icon-labels .block-editor-block-switcher .components-dropdown-menu__toggle:focus:before,.show-icon-labels .block-editor-block-switcher__no-switcher-icon:focus:before{right:4px!important}.show-icon-labels .block-editor-block-parent-selector__button .block-editor-block-icon{width:0}.show-icon-labels .block-editor-block-toolbar__block-controls .block-editor-block-mover{margin-left:0;white-space:nowrap}.show-icon-labels .block-editor-block-mover-button{padding-left:8px!important;padding-right:8px!important}.show-icon-labels .block-editor-block-mover__drag-handle.has-icon{padding-left:6px!important;padding-right:6px!important;border-right:1px solid #1e1e1e}@media (min-width:600px){.show-icon-labels .is-up-button.is-up-button.is-up-button{border-bottom:1px solid #1e1e1e;margin-right:0;border-radius:0}}.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{display:inline-block;background:none;border:none;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:0}@media (min-width:782px){.block-editor-inserter{position:relative}}.block-editor-inserter__popover.is-quick .components-popover__content{border: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-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}.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{overflow:visible;height:auto}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__preview-container{display:none}.block-editor-inserter__toggle.components-button{display:inline-flex;align-items:center;cursor:pointer;border:none;outline:none;padding:0;transition:color .2s ease}@media (prefers-reduced-motion:reduce){.block-editor-inserter__toggle.components-button{transition-duration:0s;transition-delay:0s}}.block-editor-inserter__menu{height:100%;position:relative;overflow:visible}.block-editor-inserter__main-area{width:auto;overflow-y:auto;height:100%}@media (min-width:782px){.block-editor-inserter__main-area{width:350px}}.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;position:sticky;top:0;background:#fff;z-index:1}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;line-height:normal;display:block;padding:16px 48px 16px 16px;background:#f0f0f0;border:none;width:100%;height:48px;font-size:16px}@media (prefers-reduced-motion:reduce){.block-editor-inserter__search input[type=search].block-editor-inserter__search-input{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.block-editor-inserter__search input[type=search].block-editor-inserter__search-input{font-size:13px;line-height:normal}}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.block-editor-inserter__search input[type=search].block-editor-inserter__search-input{font-size:13px}}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input:focus{background:#fff;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::placeholder{color:#757575}.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-cancel-button,.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-decoration,.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-results-button,.block-editor-inserter__search input[type=search].block-editor-inserter__search-input::-webkit-search-results-decoration{-webkit-appearance:none}.block-editor-inserter__search-icon{position:absolute;top:0;right:20px;bottom:0;display:flex;align-items:center}.block-editor-inserter__search-icon>svg{margin:8px}.block-editor-inserter__tabs{display:flex;flex-direction:column;margin-top:-8px}.block-editor-inserter__tabs .components-tab-panel__tabs{position:sticky;top:72px;background:#fff;z-index:1;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__tab-content{display:flex;flex-grow:1;flex-direction:column;position:relative;z-index:0}.block-editor-inserter__panel-header{display:inline-flex;align-items:center;padding:16px 16px 0}.block-editor-inserter__panel-header-patterns{padding:16px 16px 0}.block-editor-inserter__panel-content{padding:16px}.block-editor-inserter__panel-title,.block-editor-inserter__panel-title button{margin:0 12px 0 0;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500}.block-editor-inserter__panel-dropdown select.components-select-control__input.components-select-control__input.components-select-control__input{line-height:1.2}.block-editor-inserter__panel-dropdown select{border:none}.block-editor-inserter__block-list{flex-grow:1;position:relative}.block-editor-inserter__popover .block-editor-block-types-list{margin:-8px}.block-editor-inserter__reusable-blocks-panel{position:relative;text-align:right}.block-editor-inserter__manage-reusable-blocks{display:inline-block;margin:16px}.block-editor-inserter__no-results{padding:32px;margin-top:64px;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{display:flex;align-items:center}.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{display:none;width:300px;background:#fff;border-radius:2px;border:1px solid #ddd;position:absolute;top:16px;left:calc(100% + 16px);max-height:calc(100% - 32px);overflow-y:hidden}@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__preview-content{min-height:144px;background:#f0f0f0;display:grid;flex-grow:1;align-items:center}.block-editor-inserter__preview-content-missing{flex:1;display:flex;justify-content:center;align-items:center;min-height:144px;color:#757575;background:#f0f0f0}.block-editor-inserter__tips{border-top:1px solid #ddd;padding:16px;flex-shrink:0;position:relative}.block-editor-inserter__manage-reusable-blocks-container{padding:16px}.block-editor-inserter__quick-inserter{width:100%;max-width:100%}@media (min-width:782px){.block-editor-inserter__quick-inserter{width:350px}}.block-editor-inserter__quick-inserter-results .block-editor-inserter__panel-header{height:0;padding:0;float:left}.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{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px}.block-editor-inserter__quick-inserter-separator{border-top:1px solid #ddd}.block-editor-inserter__popover.is-quick>.components-popover__content>div{padding:0}.block-editor-inserter__quick-inserter-expand.components-button{display:block;background:#1e1e1e;color:#fff;width:100%;height:44px;border-radius:0}.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:focus:not(:disabled){box-shadow:inset 0 0 0 1.5px var(--wp-admin-theme-color),inset 0 0 0 3px #fff}.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 .components-popover__content{overflow-y:visible}.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__actions .editor-post-preview{display:none}}@media (min-width:600px){.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-duration:0s;transition-delay: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}}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-20:#006187;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#2145e6;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#07526c;--wp-admin-theme-color-darker-20:#064054;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#383330;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#46365d;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#dd382d;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#576e74;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#d97426;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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}@media (-webkit-min-device-pixel-ratio:2),(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-block-alignment-control__menu-group .components-menu-item__info{margin-top:0}.block-editor-block-alignment-matrix-control__popover .components-popover__content{min-width:0;width:auto}.block-editor-block-alignment-matrix-control__popover .components-popover__content>div{padding:8px}.block-editor-block-icon{display:flex;align-items:center;justify-content:center;width:24px;height: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{min-width:20px;min-height:20px;max-width:24px;max-height:24px}.block-editor-block-inspector p{margin-top:0}.block-editor-block-inspector h2,.block-editor-block-inspector h3{font-size:13px;color:#1e1e1e;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-panel__body{border:none;border-top:1px solid #e0e0e0}.block-editor-block-inspector .block-editor-block-card{padding:16px}.block-editor-block-inspector__no-blocks{display:block;font-size:13px;background:#fff;padding:32px 16px;text-align:center}.block-editor-block-styles .block-editor-block-list__block{margin:0}.block-editor-block-list__layout{position:relative}.block-editor-block-list__layout.is-navigate-mode{cursor:default}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after,.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered:after,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected:after{position:absolute;z-index:1;pointer-events:none;content:"";top:1px;bottom:1px;left:1px;right:1px;box-shadow:0 0 0 1px var(--wp-admin-theme-color);border-radius:1px;outline:2px solid transparent}.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-multi-selected:after,.is-dark-theme .block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered: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 1px #fff}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted .components-placeholder ::selection,.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected .components-placeholder ::selection,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered .components-placeholder ::selection,.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-selected .components-placeholder ::selection{background:transparent}.block-editor-block-list__layout.is-navigate-mode .block-editor-block-list__block.is-hovered:not(.is-selected):after{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.block-editor-block-list__layout .block-editor-block-list__block.is-highlighted:after{box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:1px solid transparent}.block-editor-block-list__layout .block-editor-block-list__block.is-multi-selected:after,.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.has-child-selected,.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) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected:before{content:"";position:absolute;z-index:0;pointer-events:none;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;right:0;left:0;top:-14px;border-radius:2px;border-top:4px solid #ccc}.block-editor-block-list__layout .is-block-moving-mode.block-editor-block-list__block.is-selected:after{content:none}.block-editor-block-list__layout .is-block-moving-mode.can-insert-moving-block.block-editor-block-list__block.is-selected:before{border-color:var(--wp-admin-theme-color)}.is-block-moving-mode.block-editor-block-list__block-selection-button{opacity:0;font-size:1px;height:1px;padding:0}.block-editor-block-list__layout .block-editor-block-list__block{position:relative;overflow-wrap:break-word}.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:not([contenteditable]):focus{outline:none}.block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after{position:absolute;z-index:1;pointer-events:none;content:"";top:1px;bottom:1px;left:1px;right:1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);border-radius:1px;outline:2px solid transparent}.is-dark-theme .block-editor-block-list__layout .block-editor-block-list__block:not([contenteditable]):focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) #fff}.block-editor-block-list__layout .block-editor-block-list__block:after{content:"";pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) transparent}.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{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px;background-color:hsla(0,0%,100%,.4)}.block-editor-block-list__layout .block-editor-block-list__block.has-warning.is-multi-selected:after{background-color:initial}.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{top:1px;left:1px;right:1px;bottom:1px;box-shadow:0 0 0 1px var(--wp-admin-theme-color);border-radius:1px}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected{cursor:unset}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);top:1px;left:1px;right:1px;bottom:1px;border-radius:1px}.is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-selected:focus:after{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){opacity:.5;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.is-focus-mode .block-editor-block-list__block:not(.has-child-selected){transition-duration:0s;transition-delay:0s}}.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}.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity{opacity:.5;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity{transition-duration:0s;transition-delay:0s}}.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity.has-child-selected,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity.is-active-entity,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity.is-active-entity .block-editor-block-list__block,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity .is-active-entity .block-editor-block-list__block,.is-root-container:not(.is-focus-mode) .block-editor-block-list__block.has-active-entity:not(.has-child-selected) .block-editor-block-list__block{opacity:1}.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{margin:8px;cursor:move;cursor:grab}@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-duration:1ms;animation-delay:0s}}.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{display:block;margin:0;padding:12px;width:100%;border:none;outline:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;resize:none;overflow:hidden;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;line-height:1.5;transition:padding .2s linear}@media (prefers-reduced-motion:reduce){.block-editor-block-list__block .block-editor-block-list__block-html-textarea{transition-duration:0s;transition-delay: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{z-index:5;position:relative}.block-editor-block-list__block .block-editor-warning.block-editor-block-list__block-crash-warning{margin-bottom:auto}.block-editor-block-list__insertion-point{position:absolute}.block-editor-block-list__insertion-point-indicator{position:absolute;background:var(--wp-admin-theme-color)}.block-editor-block-list__insertion-point.is-vertical>.block-editor-block-list__insertion-point-indicator{top:50%;height:1px}.block-editor-block-list__insertion-point.is-horizontal>.block-editor-block-list__insertion-point-indicator{top:0;right:0;left:50%;width:1px}.block-editor-block-list__insertion-point-inserter{display:none;position:absolute;justify-content:center;top:calc(50% - 12px);left:calc(50% - 12px)}@media (min-width:480px){.block-editor-block-list__insertion-point-inserter{display:flex}}.block-editor-block-list__block-popover-inserter{position:absolute;top:-9999em;margin-bottom:14px}.block-editor-block-list__block-popover-inserter.is-visible{position:static}.block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button.has-icon,.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,.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon{background:#1e1e1e;border-radius:2px;color:#fff;padding:0;min-width:24px;height:24px}.block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button.has-icon:hover,.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,.block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon:hover{color:#fff;background:var(--wp-admin-theme-color)}.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{display:inline-flex;border:1px solid #1e1e1e;border-radius:2px;background-color:#fff}.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{position:sticky;top:0;width:100%;z-index:31;min-height:48px;display:block;border:none;border-bottom:1px solid #e0e0e0;border-radius:0}.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 .block-editor-block-mover-button{overflow:hidden}.block-editor-block-contextual-toolbar .block-editor-block-mover.is-horizontal .block-editor-block-mover-button.block-editor-block-mover-button{min-width:24px;width:24px}.block-editor-block-contextual-toolbar .block-editor-block-mover.is-horizontal .block-editor-block-mover-button.block-editor-block-mover-button svg{min-width:24px}.block-editor-block-contextual-toolbar .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button:focus:before{left:0!important;min-width:0;width:100%}@media (min-width:600px){.block-editor-block-contextual-toolbar .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button.is-up-button svg{top:5px}.block-editor-block-contextual-toolbar .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover-button.is-down-button svg{bottom:5px}}.block-editor-block-list__block-selection-button{display:inline-flex;padding:0 12px;z-index:22;border-radius:2px;background-color:#1e1e1e;font-size:13px;height:48px}.block-editor-block-list__block-selection-button .block-editor-block-list__block-selection-button__content{margin:auto;display:inline-flex;align-items:center}.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;padding:0;height:24px;min-width:24px;margin-left:-2px}.block-editor-block-list__block-selection-button .components-button.has-icon.block-selection-button_drag-handle svg{min-width:18px;min-height:18px}.block-editor-block-list__block-selection-button .block-editor-block-icon{font-size:13px;color:#fff;height:48px}.block-editor-block-list__block-selection-button .components-button{min-width:36px;color:#fff;height:48px;display:flex}.block-editor-block-list__block-selection-button .components-button:focus{box-shadow:none;border:none}.block-editor-block-list__block-selection-button .components-button:active{color:#fff}.block-editor-block-list__block-selection-button .block-selection-button_select-button.components-button{padding:0}.block-editor-block-list__insertion-point-popover.is-without-arrow{z-index:28;position:absolute;pointer-events:none}.block-editor-block-list__insertion-point-popover.is-without-arrow *{pointer-events:none}.block-editor-block-list__insertion-point-popover.is-without-arrow .is-with-inserter,.block-editor-block-list__insertion-point-popover.is-without-arrow .is-with-inserter *{pointer-events:all}.block-editor-block-list__insertion-point-popover.is-without-arrow .components-popover__content.components-popover__content{background:none;border:none;box-shadow:none;overflow-y:visible;margin-left:0}@keyframes hide-during-dragging{to{position:fixed;transform:translate(9999px,9999px)}}.components-popover.block-editor-block-list__block-popover{z-index:31;position:absolute}.components-popover.block-editor-block-list__block-popover .components-popover__content{margin:0!important;min-width:auto;width:max-content;background:none;border:none;box-shadow:none;overflow-y:visible;pointer-events:none}.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-contextual-toolbar,.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-list__block-selection-button,.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-list__empty-block-inserter{pointer-events:all}.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-contextual-toolbar,.components-popover.block-editor-block-list__block-popover .components-popover__content .block-editor-block-list__block-selection-button{margin-top:12px;margin-bottom:12px}.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{opacity:0;animation:hide-during-dragging 1ms linear forwards}.is-dragging-components-draggable .components-tooltip{display:none}.block-editor-block-list__block .block-list-appender{align-self:center;padding:0;list-style:none;margin-bottom:revert}.block-editor-block-list__block .block-list-appender.wp-block{max-width:none}.block-editor-block-list__block .block-list-appender .block-editor-default-block-appender{margin:8px 0}.block-editor-block-list__block .block-list-appender .block-list-appender__toggle{padding:0;opacity:1;transform:scale(1);transition:all .1s ease;margin-left:8px}@media (prefers-reduced-motion:reduce){.block-editor-block-list__block .block-list-appender .block-list-appender__toggle{transition-duration:0s;transition-delay:0s}}.block-editor-block-list__block .block-list-appender:first-of-type .block-list-appender__toggle{margin-left:0}.is-vertical .block-list-appender{width:24px;margin-right:auto;margin-top:12px;margin-left:12px}.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-breadcrumb{list-style:none;padding:0;margin: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){text-decoration:underline;box-shadow:none}.block-editor-block-breadcrumb__button.components-button:focus{box-shadow:none}.block-editor-block-breadcrumb__button.components-button:focus:before{content:"";display:block;position:absolute;border-radius:2px;top:1px;right:1px;bottom:1px;left:1px;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-editor-block-breadcrumb__current{cursor:default}.block-editor-block-breadcrumb__button.components-button,.block-editor-block-breadcrumb__current{color:#1e1e1e;padding:0 8px;font-size:inherit}.block-editor-block-card{display:flex;align-items:flex-start}.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;margin-left:0;margin-right:12px;width:24px;height:24px}.block-editor-block-compare{height:auto}.block-editor-block-compare__wrapper{display:flex;padding-bottom:16px}.block-editor-block-compare__wrapper>div{display:flex;justify-content:space-between;flex-direction:column;width:50%;padding:0 16px 0 0;min-width:200px;max-width:600px}.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{font-family:Menlo,Consolas,monaco,monospace;font-size:12px;color:#1e1e1e;border-bottom:1px solid #ddd;padding-bottom:15px;line-height:1.7}.block-editor-block-compare__wrapper .block-editor-block-compare__html span{background-color:#e6ffed;padding-top:3px;padding-bottom: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-content-overlay.overlay-active:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;border:none;border-radius:2px;z-index:10;pointer-events:none}.block-editor-block-content-overlay.parent-highlighted.overlay-active:before,.block-editor-block-content-overlay:hover:not(.is-dragging-blocks).overlay-active:before{background:rgba(var(--wp-admin-theme-color--rgb),.1);box-shadow:0 0 0 1px var(--wp-admin-theme-color) inset}.block-editor-block-content-overlay.overlay-active:not(.is-dragging-blocks) *{pointer-events:none}.block-editor-block-content-overlay.is-dragging-blocks{box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.block-editor-block-draggable-chip-wrapper{position:absolute;top:-24px;left:0}.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}.block-editor-block-draggable-chip svg{fill:currentColor}.block-editor-block-draggable-chip .block-editor-block-draggable-chip__content{margin:auto;justify-content:flex-start}.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-width:18px;min-height: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-list__layout .is-dragging{background-color:currentColor!important;opacity:.05!important;border-radius:2px!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-mobile-toolbar{display:flex;flex-direction:row;border-right:1px solid #ddd}.block-editor-block-mobile-toolbar .block-editor-block-mover-button{width:36px;height:36px;border-radius:2px;padding:3px;margin:0;justify-content:center;align-items:center}.block-editor-block-mobile-toolbar .block-editor-block-mover-button .dashicon{margin:auto}.block-editor-block-mobile-toolbar .block-editor-block-mover{display:flex;margin-right:auto}.block-editor-block-mobile-toolbar .block-editor-block-mover .block-editor-block-mover-button{float:left}.block-editor-block-mover-button__description{display:none}.block-editor-block-mover-button.has-icon{padding:0}.block-editor-block-mover{display:inline-flex;flex-direction:row}.block-editor-block-mover .block-editor-block-mover__move-button-container,.block-editor-block-mover .components-toolbar{flex:1;flex-direction:row;border-right:none!important}@media (min-width:600px){.block-editor-block-mover .block-editor-block-mover__move-button-container,.block-editor-block-mover .components-toolbar{flex-direction:column}}.block-editor-block-mover.is-horizontal .block-editor-block-mover__move-button-container,.block-editor-block-mover.is-horizontal .components-toolbar{flex-direction:row}.block-editor-block-mover .block-editor-block-mover-button.block-editor-block-mover-button{padding-right:0;padding-left:0;min-width:36px}@media (min-width:600px){.block-editor-block-mover .block-editor-block-mover-button{height:24px;width:42px;padding-right:11px!important;padding-left:6px!important}.block-editor-block-mover .block-editor-block-mover-button.block-editor-block-mover-button{min-width:42px}}@media (min-width:600px){.block-editor-block-mover .block-editor-block-mover-button:before{left:8px!important;right:8px!important}}.block-editor-block-mover .block-editor-block-mover__drag-handle{width:24px;cursor:grab;min-width:24px!important;padding:0!important}.block-editor-block-mover .block-editor-block-mover__drag-handle:focus:before{left:0!important;right:0!important}@media (min-width:600px){.block-editor-block-mover .components-toolbar-group .block-editor-block-mover-button,.block-editor-block-mover .components-toolbar .block-editor-block-mover-button{margin:0 auto 0 0}.block-editor-block-mover .components-toolbar-group .block-editor-block-mover-button.is-up-button:before,.block-editor-block-mover .components-toolbar .block-editor-block-mover-button.is-up-button:before{bottom:0;height:calc(100% - 1px)}.block-editor-block-mover .components-toolbar-group .block-editor-block-mover-button.is-down-button:before,.block-editor-block-mover .components-toolbar .block-editor-block-mover-button.is-down-button:before{top:0;height:calc(100% - 1px)}}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.has-icon{height:48px;width:24px;padding-left:0;padding-right:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.has-icon:before{top:1px;bottom:1px;min-width:0;width:auto;height:auto}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-up-button.has-icon svg{margin-left:0;margin-right:-8px;margin-bottom:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-up-button.has-icon:before{left:0!important;right:0!important}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-down-button.has-icon svg{margin-left:-8px;margin-right:0;margin-top:0}.block-editor-block-mover.is-horizontal .block-editor-block-mover-button.is-down-button.has-icon:before{left:0!important;right:0!important;width:calc(100% + 1px)}.block-editor-block-navigation__container{min-width:280px}.block-editor-block-navigation__label{margin:0 0 12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500}.block-editor-block-parent-selector{background:#fff;border-radius:2px}.block-editor-block-parent-selector .block-editor-block-parent-selector__button{width:48px;height:48px;border:1px solid #1e1e1e;border-radius:2px}.block-editor-block-patterns-list__list-item{cursor:pointer;margin-bottom:24px}.block-editor-block-patterns-list__list-item.is-placeholder{min-height:100px}.block-editor-block-patterns-list__list-item[draggable=true] .block-editor-block-preview__container{cursor:grab}.block-editor-block-patterns-list__item{height:100%}.block-editor-block-patterns-list__item .block-editor-block-preview__container{display:flex;align-items:center;overflow:hidden;border-radius:2px;border:1px solid #f0f0f0}.block-editor-block-patterns-list__item .block-editor-block-patterns-list__item-title{padding-top:8px;font-size:12px;text-align:center}.block-editor-block-patterns-list__item:hover .block-editor-block-preview__container{border:1px solid var(--wp-admin-theme-color)}.block-editor-block-patterns-list__item:focus .block-editor-block-preview__container{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-patterns-list__item:focus .block-editor-block-patterns-list__item-title,.block-editor-block-patterns-list__item:hover .block-editor-block-patterns-list__item-title{color:var(--wp-admin-theme-color)}.block-editor-block-preview__container{position:relative;width:100%;overflow:hidden}.block-editor-block-preview__container .block-editor-block-preview__content{top:0;left:0;transform-origin:top left;text-align:initial;margin:0;overflow:visible;min-height:auto}.block-editor-block-preview__container .block-editor-block-preview__content .block-editor-block-drop-zone,.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,.block-editor-block-preview__container .block-editor-block-preview__content .reusable-block-indicator{display:none}.block-editor-block-settings-menu__popover .components-dropdown-menu__menu{padding:0}.block-editor-block-styles{display:flex;flex-wrap:wrap;justify-content:space-between}.block-editor-block-styles__item{width:calc(50% - 4px);margin:4px 0;flex-shrink:0;cursor:pointer;overflow:hidden;border-radius:2px;padding:6px;display:flex;flex-direction:column}.block-editor-block-styles__item:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-block-styles__item:hover .block-editor-block-styles__item-preview{border-color:var(--wp-admin-theme-color)}.block-editor-block-styles__item.is-active .block-editor-block-styles__item-label{font-weight:700}.block-editor-block-styles__item.is-active .block-editor-block-styles__item-preview{margin:0;border:2px solid #1e1e1e}.block-editor-block-styles__item .block-editor-block-preview__container{cursor:inherit}.block-editor-block-styles__item-preview{outline:1px solid transparent;padding:0;margin:2px;border-radius:2px;display:flex;overflow:hidden;background:#fff;align-items:center;flex-grow:1;min-height:80px;max-height:160px}.block-editor-block-switcher__styles__menugroup{position:relative}.block-editor-block-styles__item-label{text-align:center;padding:4px 0}.block-editor-block-switcher,.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{margin:0;display:block;height:48px}.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}.block-editor-block-switcher__popover{margin-left:6px}.components-button.block-editor-block-switcher__no-switcher-icon{width:48px}.components-button.block-editor-block-switcher__no-switcher-icon .block-editor-blocks-icon{margin-right:auto;margin-left:auto}.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-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,.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{height:100%;position:relative;margin:0 auto;display:flex;align-items:center;min-width:100%}.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,.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{top:8px;right:8px;bottom:8px;left:8px}.components-popover.block-editor-block-switcher__popover .components-popover__content{min-width:300px}.components-popover.block-editor-block-switcher__popover .components-popover__content>div{min-width:auto;display:flex;background:#fff;padding:0}.components-popover.block-editor-block-switcher__popover .components-popover__content>div .components-menu-group{margin:0}.block-editor-block-switcher__popover .components-popover__content .block-editor-block-styles{margin:0 -3px}.block-editor-block-switcher__popover .components-popover__content .components-panel__body{border:0;position:relative;z-index:1}.block-editor-block-switcher__popover .components-popover__content .components-panel__body+.components-panel__body{border-top:1px solid #e0e0e0}.block-editor-block-switcher__popover__preview__parent .block-editor-block-switcher__popover__preview__container{position:absolute;top:-12px;left:calc(100% + 32px)}.block-editor-block-switcher__preview__popover{display:none}.block-editor-block-switcher__preview__popover.components-popover{margin-left:4px;margin-top:11px}@media (min-width:782px){.block-editor-block-switcher__preview__popover{display:block}}.block-editor-block-switcher__preview__popover .components-popover__content{box-shadow:none;border:1px solid #1e1e1e;background:#fff;border-radius:2px}.block-editor-block-switcher__preview__popover .block-editor-block-switcher__preview{width:300px;height:auto;max-height:500px;padding:16px}.block-editor-block-switcher__preview-title{margin-bottom:12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500}.block-editor-block-contextual-toolbar .components-button.block-editor-block-switcher__no-switcher-icon{width:48px}.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{width:48px;height: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{height:100%;border-radius:2px;transition:all .05s ease-in-out;position:relative;border:1px 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: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{padding:4px;font-size:12px;text-align:center;cursor:pointer}.block-editor-block-types-list>[role=presentation]{overflow:hidden;display:flex;flex-wrap:wrap}.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;justify-content:flex-start;flex-direction:row;flex-wrap:wrap;width:100%;margin:16px 0;padding:0;list-style:none}.block-editor-block-variation-picker__variations.block-editor-block-variation-picker__variations>li{list-style:none;margin:8px 20px 0 0;flex-shrink:1;width:75px;text-align:center}.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{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;display:block;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-block-pattern-setup{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;outline:1px solid transparent}.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{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;padding:16px;max-height:550px;overflow:auto;margin:0 1px 1px;width:calc(100% - 2px);background:#fff}.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-title{padding:4px;font-size:12px;text-align:center}.block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-preview__container{border-radius:2px;border:1px solid #ddd}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar{box-sizing:border-box;position:relative;padding:16px;width:100%;text-align:left;margin:0;color:#1e1e1e;border-radius:2px 2px 0 0;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;outline:1px solid transparent;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.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{width:calc(50% - 36px);display:flex}.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{display:flex;flex-direction:column;width:100%;box-sizing:border-box}.block-editor-block-pattern-setup .block-editor-block-pattern-setup__container .carousel-container{overflow:hidden;position:relative;padding:0;margin:0;list-style:none;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{opacity:0;position:absolute;top:0;width:100%;margin:auto;padding:16px;transition:transform .5s,opacity .5s,z-index .5s;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-variation-transforms{padding:0 16px 16px 56px;width:100%}.block-editor-block-variation-transforms .components-dropdown-menu__toggle{border:1px solid #757575;border-radius:2px;min-height:30px;width:100%;position:relative;text-align:left;justify-content:left;padding:6px 12px}.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{padding-bottom:4px}.components-border-radius-control .components-border-radius-control__wrapper{display:flex;justify-content:space-between;align-items:flex-start}.components-border-radius-control .components-border-radius-control__wrapper .components-range-control,.components-border-radius-control .components-border-radius-control__wrapper>.components-unit-control-wrapper{width:calc(50% - 26px);margin-bottom:0}.components-border-radius-control .components-border-radius-control__wrapper .components-range-control .components-base-control__field{margin-bottom:0;height:30px}.components-border-radius-control .components-border-radius-control__wrapper .components-range-control .components-range-control__wrapper{margin-right:10px}.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:flex;width:70%;flex-wrap:wrap}.components-border-radius-control .components-border-radius-control__input-controls-wrapper .components-unit-control-wrapper{width:calc(50% - 8px);margin-bottom:8px;margin-right:8px}.components-border-radius-control .component-border-radius-control__linked-button.has-icon{display:flex;justify-content:center}.components-border-radius-control .component-border-radius-control__linked-button.has-icon svg{margin-right:0}.components-border-style-control legend{line-height:1.2;padding-bottom:4px}.components-border-style-control .components-border-style-control__buttons{display:inline-flex;margin-bottom:24px}.components-border-style-control .components-border-style-control__buttons .components-button.has-icon{min-width:30px;height:30px;padding:3px;margin-right:4px}.block-editor-button-block-appender{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;width:100%;height:auto;color:#1e1e1e;box-shadow:inset 0 0 0 1px #1e1e1e}.is-dark-theme .block-editor-button-block-appender{color:hsla(0,0%,100%,.65);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.65)}.block-editor-button-block-appender:hover{color:var(--wp-admin-theme-color);box-shadow:inset 0 0 0 1px 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-button-block-appender.block-list-appender__toggle{display:flex;flex-direction:row;box-shadow:none;height:24px;width:24px}.block-editor-button-block-appender.block-list-appender__toggle>svg{width:24px;background-color:#1e1e1e;color:#fff;border-radius:2px;flex:1 0 auto}.block-editor-color-gradient-control .block-editor-color-gradient-control__color-indicator{margin-bottom:12px}.block-editor-panel-color-gradient-settings .component-color-indicator{vertical-align:text-bottom}.block-editor-panel-color-gradient-settings__panel-title .component-color-indicator{display:inline-block}.block-editor-panel-color-gradient-settings.is-opened .block-editor-panel-color-gradient-settings__panel-title .component-color-indicator{display:none}@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-contrast-checker>.components-notice{margin:0}.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}.block-editor-default-block-appender .components-drop-zone__content-icon{display:none}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender .block-editor-inserter{position:absolute;top:0;height:32px}.block-editor-block-list__empty-block-inserter.block-editor-block-list__empty-block-inserter .block-editor-inserter__toggle,.block-editor-default-block-appender .block-editor-inserter .block-editor-inserter__toggle{margin-right:0}@media (min-width:600px){.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender .block-editor-inserter{display:flex;height:100%}}.block-editor-block-list__empty-block-inserter:disabled,.block-editor-default-block-appender .block-editor-inserter:disabled{display:none}.block-editor-block-list__empty-block-inserter,.block-editor-default-block-appender.has-visible-prompt .block-editor-inserter{right:0}.block-editor-duotone-control__popover>.components-popover__content>div{padding:16px;width:280px}.block-editor-duotone-control__popover .components-menu-group__label{padding:0}.block-editor-duotone-control__popover .components-custom-gradient-picker__gradient-bar{margin:16px 0 12px}.block-editor-duotone-control__popover .components-circular-option-picker__swatches{display:grid;grid-template-columns:repeat(6,28px);gap:12px;justify-content:space-between}.block-editor-duotone-control__description{margin:16px 0;font-size:12px}.block-editor-duotone-control__popover:not([data-y-axis=middle][data-x-axis=right])>.components-popover__content{margin-left:-14px}.components-font-appearance-control{margin-bottom:24px}.components-font-appearance-control ul li{color:#1e1e1e;text-transform:capitalize}.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{position:relative;min-width:360px}.components-popover__content .block-editor-link-control{min-width:auto;width:90vw;max-width:360px}.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>.components-base-control__field{display:flex;align-items:center;margin:0}.block-editor-link-control__field .components-base-control__label{margin-right:16px;margin-bottom:0}.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input,.block-editor-link-control__field input[type=text]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;font-size:16px;line-height:normal;width:calc(100% - 32px);display:block;padding:11px 36px 11px 16px;margin:0;position:relative;border:1px solid #ddd;border-radius:2px}@media (prefers-reduced-motion:reduce){.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input,.block-editor-link-control__field input[type=text]{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input,.block-editor-link-control__field input[type=text]{font-size:13px;line-height:normal}}.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input:focus,.block-editor-link-control__field input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input::-webkit-input-placeholder,.block-editor-link-control__field input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input::-moz-placeholder,.block-editor-link-control__field input[type=text]::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.block-editor-link-control__field.block-editor-url-input input[type=text].block-editor-url-input__input:-ms-input-placeholder,.block-editor-link-control__field input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-link-control__search-error{margin:-8px 16px 16px}.block-editor-link-control__search-actions{position:absolute;top:3px;right:19px}.components-button .block-editor-link-control__search-submit .has-icon{margin:-1px}.block-editor-link-control__search-results-wrapper{position:relative;margin-top:-15px}.block-editor-link-control__search-results-wrapper:after,.block-editor-link-control__search-results-wrapper:before{content:"";position:absolute;left:-1px;right:16px;display:block;pointer-events:none;z-index:100}.block-editor-link-control__search-results-wrapper:before{height:8px;top:0;bottom:auto}.block-editor-link-control__search-results-wrapper:after{height:16px;bottom:0;top:auto}.block-editor-link-control__search-results-label{padding:16px 32px 0;display:block;font-weight:600}.block-editor-link-control__search-results{margin:0;padding:8px 16px;max-height:200px;overflow-y:auto}.block-editor-link-control__search-results.is-loading{opacity:.2}.block-editor-link-control__search-item{position:relative;display:flex;align-items:flex-start;font-size:13px;cursor:pointer;background:#fff;width:100%;border:none;text-align:left;padding:12px 16px;border-radius:2px;height:auto}.block-editor-link-control__search-item:focus,.block-editor-link-control__search-item:hover{background-color:#f0f0f0}.block-editor-link-control__search-item:focus .block-editor-link-control__search-item-type,.block-editor-link-control__search-item:hover .block-editor-link-control__search-item-type{background:#fff}.block-editor-link-control__search-item:focus:not(:disabled){box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color) inset}.block-editor-link-control__search-item.is-selected{background:#f0f0f0}.block-editor-link-control__search-item.is-selected .block-editor-link-control__search-item-type{background:#fff}.block-editor-link-control__search-item.is-current{flex-direction:column;background:transparent;border:0;width:100%;cursor:default;padding:16px}.block-editor-link-control__search-item .block-editor-link-control__search-item-header{display:block;flex-direction:row;align-items:flex-start;margin-right:8px;white-space:pre-wrap;word-wrap:break-word}.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 .block-editor-link-control__search-item-icon{position:relative;top:.2em;margin-right:8px;max-height:24px;flex-shrink:0;width:24px;display:flex;justify-content:center}.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{top:0;width:32px;max-height:32px}.block-editor-link-control__search-item .block-editor-link-control__search-item-info,.block-editor-link-control__search-item .block-editor-link-control__search-item-title{overflow:hidden;text-overflow:ellipsis}.block-editor-link-control__search-item .block-editor-link-control__search-item-info .components-external-link__icon,.block-editor-link-control__search-item .block-editor-link-control__search-item-title .components-external-link__icon{position:absolute;right:0;margin-top:0}.block-editor-link-control__search-item .block-editor-link-control__search-item-title{display:block;margin-bottom:.2em;font-weight:500;position:relative}.block-editor-link-control__search-item .block-editor-link-control__search-item-title mark{font-weight:700;color:inherit;background-color:initial}.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-info{display:block;color:#757575;font-size:.9em;line-height:1.3}.block-editor-link-control__search-item .block-editor-link-control__search-item-error-notice{font-style:italic;font-size:1.1em}.block-editor-link-control__search-item .block-editor-link-control__search-item-type{display:block;padding:3px 6px;margin-left:auto;font-size:.9em;background-color:#f0f0f0;border-radius:2px}.block-editor-link-control__search-item .block-editor-link-control__search-item-description{padding-top:12px;margin:0}.block-editor-link-control__search-item .block-editor-link-control__search-item-description.is-placeholder{margin-top:12px;padding-top:0;height:28px;display:flex;flex-direction:column;justify-content:space-around}.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{display:block;content:"";height:.7em;width:100%;background-color:#f0f0f0;border-radius:3px}.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{display:flex;width:100%;background-color:#f0f0f0;justify-content:center;height:140px;max-height:140px;overflow:hidden;border-radius:2px;margin-top:12px}.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;max-width:100%;height:140px;max-height:140px}.block-editor-link-control__search-item-top{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{content:"";display:block;background-color:#f0f0f0;position:absolute;top:0;left:0;right:0;bottom:0;border-radius:100%;animation:loadingpulse 1s linear infinite;animation-delay:.5s}.block-editor-link-control__loading{margin:16px;display:flex;align-items:center}.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:"";position:absolute;top:-10px;left:0;display:block;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__search-results div[role=menu]>.block-editor-link-control__search-item.block-editor-link-control__search-item{padding:10px}.block-editor-link-control__tools{display:flex;align-items:center;border-top:1px solid #ddd;margin:0;padding:16px}.block-editor-link-control__unlink{padding-left:16px;padding-right:16px}.block-editor-link-control__settings{flex:1;margin:0}.block-editor-link-control__settings :last-child{margin-bottom:0}.is-alternate .block-editor-link-control__settings{border-top:1px solid #1e1e1e}.block-editor-link-control__setting{margin-bottom:16px}.block-editor-link-control__setting :last-child{margin-bottom:0}.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{position:absolute;left:auto;bottom:auto;top:28px;right:62px}.block-editor-link-control__search-item-action{margin-left:auto;flex-shrink:0}.block-editor-line-height-control{margin-bottom:24px}.block-editor-line-height-control input{display:block;max-width:60px}.block-editor-image-size-control{margin-bottom:1em}.block-editor-image-size-control .block-editor-image-size-control__row{display:flex;justify-content:space-between}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__height,.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__width{margin-bottom:.5em}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__height input,.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__width input{line-height:1.25}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__width{margin-right:5px}.block-editor-image-size-control .block-editor-image-size-control__row .block-editor-image-size-control__height{margin-left:5px}.block-editor-block-list__layout.has-overlay:after{content:"";position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;z-index:60}[data-align=full] .has-overlay:after{right:0;left:0}.block-editor-block-types-list__list-item{display:block;width:33.33%;padding:0;margin:0}.components-button.block-editor-block-types-list__item{display:flex;flex-direction:column;width:100%;font-size:13px;color:#1e1e1e;padding:8px;align-items:stretch;justify-content:center;cursor:pointer;background:transparent;word-break:break-word;border-radius:2px;transition:all .05s ease-in-out;position:relative;height:auto}@media (prefers-reduced-motion:reduce){.components-button.block-editor-block-types-list__item{transition-duration:0s;transition-delay:0s}}.components-button.block-editor-block-types-list__item:disabled{opacity:.6;cursor:default}.components-button.block-editor-block-types-list__item:not(:disabled):hover{color:var(--wp-admin-theme-color)!important}.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{color:#fff;background:#1e1e1e;outline:2px solid transparent;outline-offset:-2px}.block-editor-block-types-list__item-icon{padding:12px 20px;border-radius:2px;color:#1e1e1e;transition:all .05s ease-in-out}@media (prefers-reduced-motion:reduce){.block-editor-block-types-list__item-icon{transition-duration:0s;transition-delay: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-duration:0s;transition-delay: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{padding:4px 2px 8px;font-size:12px}.block-editor-list-view-tree{width:100%;border-collapse:collapse;padding:0;margin:0}.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.is-selected{background:var(--wp-admin-theme-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}.is-dragging-components-draggable .block-editor-list-view-leaf.is-selected .block-editor-list-view-block-contents{background:none;color:#1e1e1e}.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 .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-branch-selected:not(.is-selected){background:linear-gradient(hsla(0,0%,100%,.9),hsla(0,0%,100%,.9)),linear-gradient(var(--wp-admin-theme-color),var(--wp-admin-theme-color))}.block-editor-list-view-leaf.is-branch-selected.is-selected .block-editor-list-view-block-contents{border-radius:2px 2px 0 0}.block-editor-list-view-leaf[aria-expanded=false].is-branch-selected.is-selected .block-editor-list-view-block-contents{border-radius:2px}.block-editor-list-view-leaf.is-branch-selected:not(.is-selected) .block-editor-list-view-block-contents{border-radius:0}.block-editor-list-view-leaf.is-dragging{display:none}.block-editor-list-view-leaf .block-editor-list-view-block-contents{display:flex;align-items:center;width:100%;height:auto;padding:6px 12px 6px 0;text-align:left;color:#1e1e1e;border-radius:2px;position:relative;white-space:nowrap}.block-editor-list-view-leaf .block-editor-list-view-block-contents.is-dropping-before:before{content:"";position:absolute;pointer-events:none;transition:border-color .1s linear,border-style .1s linear,box-shadow .1s linear;top:-2px;right:0;left:0;border-top:4px solid var(--wp-admin-theme-color)}.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{content:"";position:absolute;top:0;right:-29px;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);z-index:1;pointer-events:none}.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{opacity:1;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf.is-visible .block-editor-list-view-block-contents{animation-duration:1ms;animation-delay:0s}}.block-editor-list-view-leaf .block-editor-block-icon{align-self:flex-start;margin-right:8px;width:24px}.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-top:0;padding-bottom: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;width:36px;opacity:0;vertical-align:middle}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell,.block-editor-list-view-leaf .block-editor-list-view-block__mover-cell{transition-duration:0s;transition-delay:0s}}.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: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:hover{position:relative;z-index:1;opacity:1;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.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: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:hover{animation-duration:1ms;animation-delay:0s}}.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{width:24px;min-width:24px;padding:0}.block-editor-list-view-leaf .block-editor-list-view-block__menu-cell{padding-right:5px}.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{display:flex;height:100%;flex-direction:column;align-items:center}.block-editor-list-view-leaf .block-editor-block-mover-button{position:relative;width:36px;height:24px}.block-editor-list-view-leaf .block-editor-block-mover-button svg{position:relative;height:24px}.block-editor-list-view-leaf .block-editor-block-mover-button.is-up-button{margin-top:-6px;align-items:flex-end}.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{margin-bottom:-6px;align-items:flex-start}.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:focus,.block-editor-list-view-leaf .block-editor-block-mover-button:focus:enabled{box-shadow:none;outline:none}.block-editor-list-view-leaf .block-editor-block-mover-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}.block-editor-list-view-leaf .block-editor-block-mover-button:before{content:"";position:absolute;display:block;border-radius:2px;height:16px;min-width:100%;left:0;right:0;animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf .block-editor-block-mover-button:before{animation-duration:1ms;animation-delay:0s}}.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__anchor{background:rgba(0,0,0,.1);border-radius:2px;display:inline-block;padding:2px 6px;margin:0 8px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.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-appender__description,.block-editor-list-view-block-select-button__description{display:none}.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[aria-expanded=true] .block-editor-list-view__expander svg{visibility:visible;transition:transform .2s ease;transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf[aria-expanded=true] .block-editor-list-view__expander svg{transition-duration:0s;transition-delay:0s}}.block-editor-list-view-leaf[aria-expanded=false] .block-editor-list-view__expander svg{visibility:visible;transform:rotate(0deg);transition:transform .2s ease}@media (prefers-reduced-motion:reduce){.block-editor-list-view-leaf[aria-expanded=false] .block-editor-list-view__expander svg{transition-duration:0s;transition-delay: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);height:1px}.block-editor-list-view-drop-indicator:not([data-y-axis=middle][data-x-axis=right])>.components-popover__content{margin-left:0;border:none;box-shadow:none}.block-editor-list-view-placeholder{padding:0;margin:0;height:36px}.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{border-top:1px solid #1e1e1e;margin-top:8px;margin-right:-8px;margin-left:-8px;padding:16px}.block-editor-media-flow__url-input .block-editor-media-replace-flow__image-url-label{display:block;top:16px;margin-bottom:8px}.block-editor-media-flow__url-input .block-editor-link-control{width:220px}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-url-input{padding:0}.block-editor-media-flow__url-input .block-editor-link-control .components-base-control .components-base-control__field{margin-bottom:0}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-title{max-width:180px;white-space:nowrap}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item-info{white-space:nowrap}.block-editor-media-flow__url-input .block-editor-link-control .block-editor-link-control__search-item.is-current{width:auto;padding:0}.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{top:0;right:4px}.block-editor-media-flow__error{padding:0 20px 20px;max-width:255px}.block-editor-media-flow__error .components-with-notices-ui{max-width:255px}.block-editor-media-flow__error .components-with-notices-ui .components-notice__content{overflow:hidden;word-wrap:break-word}.block-editor-media-flow__error .components-with-notices-ui .components-notice__dismiss{position:absolute;right:10px}.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{width:100%;min-width:200px;flex-grow:1;border:none;border-radius:0;margin:2px}@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{margin:1em;display:block}.block-editor-media-placeholder.is-appender{min-height:0}.block-editor-media-placeholder.is-appender:hover{cursor:pointer;box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.block-editor-multi-selection-inspector__card{display:flex;align-items:flex-start;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{margin-left:-2px;margin-right:10px;padding:0 3px;width:36px;height:24px}.block-editor-plain-text{box-shadow:none;font-family:inherit;font-size:inherit;color:inherit;line-height:inherit;border:none;padding:0;margin:0;width:100%}.block-editor-responsive-block-control{margin-bottom:28px;border-bottom:1px solid #ccc;padding-bottom:14px}.block-editor-responsive-block-control:last-child{padding-bottom:0;border-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{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.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}.components-popover.block-editor-rich-text__inline-format-toolbar{z-index:99998}.components-popover.block-editor-rich-text__inline-format-toolbar .components-popover__content{width:auto;min-width:auto;margin-bottom:8px;box-shadow:none;border:1px solid #1e1e1e;border-radius:2px;background-color:#fff}.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar,.components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar-group{border:none}.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-width:48px;min-height: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)}[data-rich-text-script]{display:inline}[data-rich-text-script]:before{content:"";background:#ff0}.block-editor-skip-to-selected-block{position:absolute;top:-9999em}.block-editor-skip-to-selected-block:focus{height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:var(--wp-admin-theme-color);line-height:normal;box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:none;z-index:100000}.block-editor-text-transform-control{flex:0 0 50%}.block-editor-text-transform-control legend{margin-bottom:8px}.block-editor-text-transform-control .block-editor-text-transform-control__buttons{display:inline-flex;margin-bottom:24px}.block-editor-text-transform-control .block-editor-text-transform-control__buttons .components-button.has-icon{min-width:24px;padding:0;margin-right:4px}.block-editor-text-decoration-control{flex:0 0 50%}.block-editor-text-decoration-control legend{margin-bottom:8px}.block-editor-text-decoration-control .block-editor-text-decoration-control__buttons{display:inline-flex;margin-bottom:24px}.block-editor-text-decoration-control .block-editor-text-decoration-control__buttons .components-button.has-icon{min-width:24px;padding:0;margin-right:4px}.block-editor-tool-selector__help{margin:8px -8px -8px;padding:16px;border-top:1px solid #ddd;color:#757575;min-width:280px}.block-editor-block-list__block .block-editor-url-input,.block-editor-url-input,.components-popover .block-editor-url-input{flex-grow:1;position:relative;padding:1px}.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]{width:100%;padding:8px 8px 8px 12px;border:none;border-radius:0;margin-left:0;margin-right:0;font-size:16px}@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]{width:300px;font-size:13px}}.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{position:absolute;right:8px 8px 8px 12px;bottom:8px 8px 8px 12px8px1;margin:0}.block-editor-url-input__input[type=text]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal}@media (prefers-reduced-motion:reduce){.block-editor-url-input__input[type=text]{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.block-editor-url-input__input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.block-editor-url-input__suggestions{max-height:200px;transition:all .15s ease-in-out;padding:4px 0;width:302px;overflow-y:auto}@media (prefers-reduced-motion:reduce){.block-editor-url-input__suggestions{transition-duration:0s;transition-delay: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:inherit}}.block-editor-url-input__suggestion{padding:4px 8px 8px;color:#757575;display:block;font-size:13px;cursor:pointer;background:#fff;width:100%;border:none;text-align:left;box-shadow:none}.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{content:"";position:absolute;display:block;width:1px;height:24px;right:-1px;background:#ddd}.block-editor-url-input__button-modal{box-shadow:0 2px 6px rgba(0,0,0,.05);border:1px solid #ddd;background:#fff}.block-editor-url-input__button-modal-line{display:flex;flex-direction:row;flex-grow:1;flex-shrink:1;min-width:0;align-items:flex-start}.block-editor-url-input__button-modal-line .components-button{flex-shrink:0;width:36px;height: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{padding:5px;border-radius:2px;height:30px;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{flex-shrink:0;border-radius:0;border-left:1px solid #ddd;margin-left:1px}.block-editor-url-popover__settings-toggle[aria-expanded=true] .dashicon{transform:rotate(180deg)}.block-editor-url-popover__input-container .components-base-control:last-child,.block-editor-url-popover__input-container .components-base-control:last-child .components-base-control__field{margin-bottom:0}.block-editor-url-popover__settings{display:block;padding:16px;border-top:1px solid #ddd}.block-editor-url-popover__link-editor,.block-editor-url-popover__link-viewer{display:flex}.block-editor-url-popover__link-editor .block-editor-url-input .components-base-control__field,.block-editor-url-popover__link-viewer .block-editor-url-input .components-base-control__field{margin-bottom:0}.block-editor-url-popover__link-editor .block-editor-url-input .components-spinner,.block-editor-url-popover__link-viewer .block-editor-url-input .components-spinner{bottom:8px 8px 8px 12px1}.block-editor-url-popover__link-viewer-url{margin:7px;flex-grow:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:150px;max-width:500px}.block-editor-url-popover__link-viewer-url.has-invalid-link{color:#cc1818}.block-editor-warning{align-items:center;display:flex;flex-wrap:wrap;padding:1em;border:1px solid #1e1e1e;border-radius:2px;background-color:#fff}.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{line-height:1.4;font-size:13px;color:#1e1e1e;margin:0}.block-editor-warning p.block-editor-warning__message.block-editor-warning__message{min-height:auto}.block-editor-warning .block-editor-warning__contents{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap;align-items:baseline;width:100%}.block-editor-warning .block-editor-warning__actions{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}.html-anchor-control .components-external-link{display:block;margin-top:8px}.block-editor-hooks__layout-controls{display:flex;margin-bottom:16px}.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-hooks__layout-controls-reset{display:flex;justify-content:flex-end;margin-bottom:24px}.block-editor-hooks__layout-controls-helptext{font-size:12px}.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__border-controls .block-editor-hooks__border-controls-row{display:flex;justify-content:space-between}.block-editor-hooks__border-controls .block-editor-hooks__border-controls-row>*{width:calc(50% - 8px)}.block-editor-hooks__border-controls .components-unit-control-wrapper{margin-bottom:24px}.block-editor-hooks__border-controls .components-unit-control-wrapper:last-child{margin-bottom:8px}.typography-block-support-panel .block-editor-text-decoration-control__buttons,.typography-block-support-panel .block-editor-text-transform-control__buttons,.typography-block-support-panel .components-font-appearance-control,.typography-block-support-panel .components-font-size-picker__controls{margin-bottom:0}.typography-block-support-panel .block-editor-line-height-control input{max-width:100%}.typography-block-support-panel .single-column{grid-column:span 1}.block-editor-block-toolbar{display:flex;flex-grow:1;width:100%;position:relative;overflow-y:hidden;overflow-x:auto;transition:border-color .1s linear,box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.block-editor-block-toolbar{transition-duration:0s;transition-delay: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;line-height:0;margin-top:-1px;margin-bottom:-1px;border:0;border-right:1px solid #ddd}.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.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-parent-selector{position:absolute;top:-1px;left:-57px}.show-icon-labels .block-editor-block-parent-selector{position:relative;left:auto;top:auto;margin-top:-1px;margin-left:-1px;margin-bottom:-1px}.block-editor-block-toolbar__block-controls{height:auto!important;padding:0!important;margin-left:-1px}.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{width:24px!important;margin:0!important}.block-editor-block-toolbar__block-controls .block-editor-block-mover{margin-left:-6px}.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{border-right:1px solid #1e1e1e}.show-icon-labels .block-editor-block-switcher .components-dropdown-menu__toggle{margin-left:0}.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{width:0!important;height:0!important}.show-icon-labels .block-editor-block-parent-selector__button .block-editor-block-icon{width:0}.show-icon-labels .block-editor-block-toolbar__block-controls .block-editor-block-mover{margin-left:0;white-space:nowrap}.show-icon-labels .block-editor-block-mover-button{padding-left:8px!important;padding-right:8px!important}.show-icon-labels .block-editor-block-mover__drag-handle.has-icon{padding-left:6px!important;padding-right:6px!important;border-right:1px solid #1e1e1e}@media (min-width:600px){.show-icon-labels .is-up-button.is-up-button.is-up-button{border-bottom:1px solid #1e1e1e;margin-right:0;border-radius:0}}.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{display:inline-block;background:none;border:none;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:0}@media (min-width:782px){.block-editor-inserter{position:relative}}.block-editor-inserter__content{position:relative}.block-editor-inserter__popover.is-quick .components-popover__content{border: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-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}.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{overflow:visible;height:auto}.block-editor-inserter__popover .block-editor-inserter__menu .block-editor-inserter__preview-container{display:none}.block-editor-inserter__toggle.components-button{display:inline-flex;align-items:center;cursor:pointer;border:none;outline:none;padding:0;transition:color .2s ease}@media (prefers-reduced-motion:reduce){.block-editor-inserter__toggle.components-button{transition-duration:0s;transition-delay:0s}}.block-editor-inserter__menu{height:100%;position:relative;overflow:visible}.block-editor-inserter__main-area{width:auto;overflow-y:auto;height:100%}@media (min-width:782px){.block-editor-inserter__main-area{width:350px}}.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{background:#fff;padding:16px 16px 0;position:sticky;top:0;z-index:1}.block-editor-inserter__search .components-search-control__icon{right:20px}.block-editor-inserter__search .components-base-control__field{margin-bottom:0}.block-editor-inserter__tabs{display:flex;flex-direction:column}.block-editor-inserter__tabs .components-tab-panel__tabs{position:sticky;top:64px;background:#fff;z-index:1;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__tab-content{display:flex;flex-grow:1;flex-direction:column;position:relative;z-index:0}.block-editor-inserter__panel-header{display:inline-flex;align-items:center;padding:16px 16px 0}.block-editor-inserter__panel-header-patterns{padding:16px 16px 0}.block-editor-inserter__panel-content{padding:16px}.block-editor-inserter__panel-title,.block-editor-inserter__panel-title button{margin:0 12px 0 0;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500}.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__block-list{flex-grow:1;position:relative}.block-editor-inserter__reusable-blocks-panel{position:relative;text-align:right}.block-editor-inserter__manage-reusable-blocks{display:inline-block;margin:16px}.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{display:flex;align-items:center}.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{display:none;width:300px;background:#fff;border-radius:2px;border:1px solid #ddd;position:absolute;top:16px;left:calc(100% + 16px);max-height:calc(100% - 32px);overflow-y:hidden}@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__preview-content{min-height:144px;background:#f0f0f0;display:grid;flex-grow:1;align-items:center}.block-editor-inserter__preview-content-missing{flex:1;display:flex;justify-content:center;align-items:center;min-height:144px;color:#757575;background:#f0f0f0}.block-editor-inserter__tips{border-top:1px solid #ddd;padding:16px;flex-shrink:0;position:relative}.block-editor-inserter__manage-reusable-blocks-container{padding:16px}.block-editor-inserter__quick-inserter{width:100%;max-width:100%}@media (min-width:782px){.block-editor-inserter__quick-inserter{width:350px}}.block-editor-inserter__quick-inserter-results .block-editor-inserter__panel-header{height:0;padding:0;float:left}.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{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px}.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>div{padding:0}.block-editor-inserter__quick-inserter-expand.components-button{display:block;background:#1e1e1e;color:#fff;width:100%;height:44px;border-radius:0}.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){box-shadow:none;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.block-editor-block-patterns-explorer__sidebar{position:absolute;top:60px;left:0;bottom:0;width:280px;padding:24px 32px 32px;overflow-x:visible;overflow-y:scroll}.block-editor-block-patterns-explorer__sidebar__categories-list__item{display:block;width:100%;height:48px;text-align:left}.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:248px}.block-editor-block-patterns-explorer .block-editor-block-patterns-list{display:grid;grid-gap:32px;grid-template-columns:repeat(1,1fr)}@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;min-height:100px;max-height:800px}.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 .components-popover__content{overflow-y:visible}.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__actions .editor-post-preview{display:none}}@media (min-width:600px){.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-duration:0s;transition-delay: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}}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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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/common-rtl.css b/wp-includes/css/dist/block-library/common-rtl.css index a675879818..61aef98d65 100644 --- a/wp-includes/css/dist/block-library/common-rtl.css +++ b/wp-includes/css/dist/block-library/common-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -81,135 +90,34 @@ } :root { + /* + * Our classes uses the same values we set for gradient value attributes, + * and we can not use spacing because of WP multi site kses rule. + */ /* stylelint-disable function-comma-space-after */ /* stylelint-enable function-comma-space-after */ } -:root .has-pale-pink-background-color { - background-color: #f78da7; -} -:root .has-vivid-red-background-color { - background-color: #cf2e2e; -} -:root .has-luminous-vivid-orange-background-color { - background-color: #ff6900; -} -:root .has-luminous-vivid-amber-background-color { - background-color: #fcb900; -} -:root .has-light-green-cyan-background-color { - background-color: #7bdcb5; -} -:root .has-vivid-green-cyan-background-color { - background-color: #00d084; -} -:root .has-pale-cyan-blue-background-color { - background-color: #8ed1fc; -} -:root .has-vivid-cyan-blue-background-color { - background-color: #0693e3; -} -:root .has-vivid-purple-background-color { - background-color: #9b51e0; -} -:root .has-white-background-color { - background-color: #fff; -} :root .has-very-light-gray-background-color { background-color: #eee; } -:root .has-cyan-bluish-gray-background-color { - background-color: #abb8c3; -} :root .has-very-dark-gray-background-color { background-color: #313131; } -:root .has-black-background-color { - background-color: #000; -} -:root .has-pale-pink-color { - color: #f78da7; -} -:root .has-vivid-red-color { - color: #cf2e2e; -} -:root .has-luminous-vivid-orange-color { - color: #ff6900; -} -:root .has-luminous-vivid-amber-color { - color: #fcb900; -} -:root .has-light-green-cyan-color { - color: #7bdcb5; -} -:root .has-vivid-green-cyan-color { - color: #00d084; -} -:root .has-pale-cyan-blue-color { - color: #8ed1fc; -} -:root .has-vivid-cyan-blue-color { - color: #0693e3; -} -:root .has-vivid-purple-color { - color: #9b51e0; -} -:root .has-white-color { - color: #fff; -} :root .has-very-light-gray-color { color: #eee; } -:root .has-cyan-bluish-gray-color { - color: #abb8c3; -} :root .has-very-dark-gray-color { color: #313131; } -:root .has-black-color { - color: #000; -} -:root .has-vivid-cyan-blue-to-vivid-purple-gradient-background { - background: linear-gradient(-135deg, #0693e3 0%, #9b51e0 100%); -} :root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background { background: linear-gradient(-135deg, #00d084 0%, #0693e3 100%); } -:root .has-light-green-cyan-to-vivid-green-cyan-gradient-background { - background: linear-gradient(-135deg, #7adcb4 0%, #00d082 100%); -} -:root .has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background { - background: linear-gradient(-135deg, #fcb900 0%, #ff6900 100%); -} -:root .has-luminous-vivid-orange-to-vivid-red-gradient-background { - background: linear-gradient(-135deg, #ff6900 0%, #cf2e2e 100%); -} -:root .has-very-light-gray-to-cyan-bluish-gray-gradient-background { - background: linear-gradient(-135deg, #eeeeee 0%, #a9b8c3 100%); -} -:root .has-cool-to-warm-spectrum-gradient-background { - background: linear-gradient(-135deg, #4aeadc 0%, #9778d1 20%, #cf2aba 40%, #ee2c82 60%, #fb6962 80%, #fef84c 100%); -} -:root .has-blush-light-purple-gradient-background { - background: linear-gradient(-135deg, #ffceec 0%, #9896f0 100%); -} -:root .has-blush-bordeaux-gradient-background { - background: linear-gradient(-135deg, #fecda5 0%, #fe2d2d 50%, #6b003e 100%); -} :root .has-purple-crush-gradient-background { background: linear-gradient(-135deg, #34e2e4 0%, #4721fb 50%, #ab1dfe 100%); } -:root .has-luminous-dusk-gradient-background { - background: linear-gradient(-135deg, #ffcb70 0%, #c751c0 50%, #4158d0 100%); -} :root .has-hazy-dawn-gradient-background { background: linear-gradient(-135deg, #faaca8 0%, #dad0ec 100%); } -:root .has-pale-ocean-gradient-background { - background: linear-gradient(-135deg, #fff5cb 0%, #b6e3d4 50%, #33a7b5 100%); -} -:root .has-electric-grass-gradient-background { - background: linear-gradient(-135deg, #caf880 0%, #71ce7e 100%); -} :root .has-subdued-olive-gradient-background { background: linear-gradient(-135deg, #fafae1 0%, #67a671 100%); } @@ -223,25 +131,11 @@ background: linear-gradient(-135deg, #020381 0%, #2874fc 100%); } -.has-small-font-size { - font-size: 0.8125em; -} - -.has-regular-font-size, -.has-normal-font-size { +.has-regular-font-size { font-size: 1em; } -.has-medium-font-size { - font-size: 1.25em; -} - -.has-large-font-size { - font-size: 2.25em; -} - -.has-larger-font-size, -.has-huge-font-size { +.has-larger-font-size { font-size: 2.625em; } diff --git a/wp-includes/css/dist/block-library/common-rtl.min.css b/wp-includes/css/dist/block-library/common-rtl.min.css index 790e4d7109..84fd2fbccc 100644 --- a/wp-includes/css/dist/block-library/common-rtl.min.css +++ b/wp-includes/css/dist/block-library/common-rtl.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}:root .has-pale-pink-background-color{background-color:#f78da7}:root .has-vivid-red-background-color{background-color:#cf2e2e}:root .has-luminous-vivid-orange-background-color{background-color:#ff6900}:root .has-luminous-vivid-amber-background-color{background-color:#fcb900}:root .has-light-green-cyan-background-color{background-color:#7bdcb5}:root .has-vivid-green-cyan-background-color{background-color:#00d084}:root .has-pale-cyan-blue-background-color{background-color:#8ed1fc}:root .has-vivid-cyan-blue-background-color{background-color:#0693e3}:root .has-vivid-purple-background-color{background-color:#9b51e0}:root .has-white-background-color{background-color:#fff}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-cyan-bluish-gray-background-color{background-color:#abb8c3}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-black-background-color{background-color:#000}:root .has-pale-pink-color{color:#f78da7}:root .has-vivid-red-color{color:#cf2e2e}:root .has-luminous-vivid-orange-color{color:#ff6900}:root .has-luminous-vivid-amber-color{color:#fcb900}:root .has-light-green-cyan-color{color:#7bdcb5}:root .has-vivid-green-cyan-color{color:#00d084}:root .has-pale-cyan-blue-color{color:#8ed1fc}:root .has-vivid-cyan-blue-color{color:#0693e3}:root .has-vivid-purple-color{color:#9b51e0}:root .has-white-color{color:#fff}:root .has-very-light-gray-color{color:#eee}:root .has-cyan-bluish-gray-color{color:#abb8c3}:root .has-very-dark-gray-color{color:#313131}:root .has-black-color{color:#000}:root .has-vivid-cyan-blue-to-vivid-purple-gradient-background{background:linear-gradient(-135deg,#0693e3,#9b51e0)}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(-135deg,#00d084,#0693e3)}:root .has-light-green-cyan-to-vivid-green-cyan-gradient-background{background:linear-gradient(-135deg,#7adcb4,#00d082)}:root .has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background:linear-gradient(-135deg,#fcb900,#ff6900)}:root .has-luminous-vivid-orange-to-vivid-red-gradient-background{background:linear-gradient(-135deg,#ff6900,#cf2e2e)}:root .has-very-light-gray-to-cyan-bluish-gray-gradient-background{background:linear-gradient(-135deg,#eee,#a9b8c3)}:root .has-cool-to-warm-spectrum-gradient-background{background:linear-gradient(-135deg,#4aeadc,#9778d1 20%,#cf2aba 40%,#ee2c82 60%,#fb6962 80%,#fef84c)}:root .has-blush-light-purple-gradient-background{background:linear-gradient(-135deg,#ffceec,#9896f0)}:root .has-blush-bordeaux-gradient-background{background:linear-gradient(-135deg,#fecda5,#fe2d2d 50%,#6b003e)}:root .has-purple-crush-gradient-background{background:linear-gradient(-135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-luminous-dusk-gradient-background{background:linear-gradient(-135deg,#ffcb70,#c751c0 50%,#4158d0)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(-135deg,#faaca8,#dad0ec)}:root .has-pale-ocean-gradient-background{background:linear-gradient(-135deg,#fff5cb,#b6e3d4 50%,#33a7b5)}:root .has-electric-grass-gradient-background{background:linear-gradient(-135deg,#caf880,#71ce7e)}: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-small-font-size{font-size:.8125em}.has-normal-font-size,.has-regular-font-size{font-size:1em}.has-medium-font-size{font-size:1.25em}.has-large-font-size{font-size:2.25em}.has-huge-font-size,.has-larger-font-size{font-size:2.625em}.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{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#444;display:block;font-size:1em;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000} \ 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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}: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-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{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#444;display:block;font-size:1em;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000} \ No newline at end of file diff --git a/wp-includes/css/dist/block-library/common.css b/wp-includes/css/dist/block-library/common.css index 3503bbc07b..40f1fd9630 100644 --- a/wp-includes/css/dist/block-library/common.css +++ b/wp-includes/css/dist/block-library/common.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -81,135 +90,34 @@ } :root { + /* + * Our classes uses the same values we set for gradient value attributes, + * and we can not use spacing because of WP multi site kses rule. + */ /* stylelint-disable function-comma-space-after */ /* stylelint-enable function-comma-space-after */ } -:root .has-pale-pink-background-color { - background-color: #f78da7; -} -:root .has-vivid-red-background-color { - background-color: #cf2e2e; -} -:root .has-luminous-vivid-orange-background-color { - background-color: #ff6900; -} -:root .has-luminous-vivid-amber-background-color { - background-color: #fcb900; -} -:root .has-light-green-cyan-background-color { - background-color: #7bdcb5; -} -:root .has-vivid-green-cyan-background-color { - background-color: #00d084; -} -:root .has-pale-cyan-blue-background-color { - background-color: #8ed1fc; -} -:root .has-vivid-cyan-blue-background-color { - background-color: #0693e3; -} -:root .has-vivid-purple-background-color { - background-color: #9b51e0; -} -:root .has-white-background-color { - background-color: #fff; -} :root .has-very-light-gray-background-color { background-color: #eee; } -:root .has-cyan-bluish-gray-background-color { - background-color: #abb8c3; -} :root .has-very-dark-gray-background-color { background-color: #313131; } -:root .has-black-background-color { - background-color: #000; -} -:root .has-pale-pink-color { - color: #f78da7; -} -:root .has-vivid-red-color { - color: #cf2e2e; -} -:root .has-luminous-vivid-orange-color { - color: #ff6900; -} -:root .has-luminous-vivid-amber-color { - color: #fcb900; -} -:root .has-light-green-cyan-color { - color: #7bdcb5; -} -:root .has-vivid-green-cyan-color { - color: #00d084; -} -:root .has-pale-cyan-blue-color { - color: #8ed1fc; -} -:root .has-vivid-cyan-blue-color { - color: #0693e3; -} -:root .has-vivid-purple-color { - color: #9b51e0; -} -:root .has-white-color { - color: #fff; -} :root .has-very-light-gray-color { color: #eee; } -:root .has-cyan-bluish-gray-color { - color: #abb8c3; -} :root .has-very-dark-gray-color { color: #313131; } -:root .has-black-color { - color: #000; -} -:root .has-vivid-cyan-blue-to-vivid-purple-gradient-background { - background: linear-gradient(135deg, #0693e3 0%, #9b51e0 100%); -} :root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background { background: linear-gradient(135deg, #00d084 0%, #0693e3 100%); } -:root .has-light-green-cyan-to-vivid-green-cyan-gradient-background { - background: linear-gradient(135deg, #7adcb4 0%, #00d082 100%); -} -:root .has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background { - background: linear-gradient(135deg, #fcb900 0%, #ff6900 100%); -} -:root .has-luminous-vivid-orange-to-vivid-red-gradient-background { - background: linear-gradient(135deg, #ff6900 0%, #cf2e2e 100%); -} -:root .has-very-light-gray-to-cyan-bluish-gray-gradient-background { - background: linear-gradient(135deg, #eeeeee 0%, #a9b8c3 100%); -} -:root .has-cool-to-warm-spectrum-gradient-background { - background: linear-gradient(135deg, #4aeadc 0%, #9778d1 20%, #cf2aba 40%, #ee2c82 60%, #fb6962 80%, #fef84c 100%); -} -:root .has-blush-light-purple-gradient-background { - background: linear-gradient(135deg, #ffceec 0%, #9896f0 100%); -} -:root .has-blush-bordeaux-gradient-background { - background: linear-gradient(135deg, #fecda5 0%, #fe2d2d 50%, #6b003e 100%); -} :root .has-purple-crush-gradient-background { background: linear-gradient(135deg, #34e2e4 0%, #4721fb 50%, #ab1dfe 100%); } -:root .has-luminous-dusk-gradient-background { - background: linear-gradient(135deg, #ffcb70 0%, #c751c0 50%, #4158d0 100%); -} :root .has-hazy-dawn-gradient-background { background: linear-gradient(135deg, #faaca8 0%, #dad0ec 100%); } -:root .has-pale-ocean-gradient-background { - background: linear-gradient(135deg, #fff5cb 0%, #b6e3d4 50%, #33a7b5 100%); -} -:root .has-electric-grass-gradient-background { - background: linear-gradient(135deg, #caf880 0%, #71ce7e 100%); -} :root .has-subdued-olive-gradient-background { background: linear-gradient(135deg, #fafae1 0%, #67a671 100%); } @@ -223,25 +131,11 @@ background: linear-gradient(135deg, #020381 0%, #2874fc 100%); } -.has-small-font-size { - font-size: 0.8125em; -} - -.has-regular-font-size, -.has-normal-font-size { +.has-regular-font-size { font-size: 1em; } -.has-medium-font-size { - font-size: 1.25em; -} - -.has-large-font-size { - font-size: 2.25em; -} - -.has-larger-font-size, -.has-huge-font-size { +.has-larger-font-size { font-size: 2.625em; } diff --git a/wp-includes/css/dist/block-library/common.min.css b/wp-includes/css/dist/block-library/common.min.css index 8d0374268d..63e1c725ff 100644 --- a/wp-includes/css/dist/block-library/common.min.css +++ b/wp-includes/css/dist/block-library/common.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}:root .has-pale-pink-background-color{background-color:#f78da7}:root .has-vivid-red-background-color{background-color:#cf2e2e}:root .has-luminous-vivid-orange-background-color{background-color:#ff6900}:root .has-luminous-vivid-amber-background-color{background-color:#fcb900}:root .has-light-green-cyan-background-color{background-color:#7bdcb5}:root .has-vivid-green-cyan-background-color{background-color:#00d084}:root .has-pale-cyan-blue-background-color{background-color:#8ed1fc}:root .has-vivid-cyan-blue-background-color{background-color:#0693e3}:root .has-vivid-purple-background-color{background-color:#9b51e0}:root .has-white-background-color{background-color:#fff}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-cyan-bluish-gray-background-color{background-color:#abb8c3}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-black-background-color{background-color:#000}:root .has-pale-pink-color{color:#f78da7}:root .has-vivid-red-color{color:#cf2e2e}:root .has-luminous-vivid-orange-color{color:#ff6900}:root .has-luminous-vivid-amber-color{color:#fcb900}:root .has-light-green-cyan-color{color:#7bdcb5}:root .has-vivid-green-cyan-color{color:#00d084}:root .has-pale-cyan-blue-color{color:#8ed1fc}:root .has-vivid-cyan-blue-color{color:#0693e3}:root .has-vivid-purple-color{color:#9b51e0}:root .has-white-color{color:#fff}:root .has-very-light-gray-color{color:#eee}:root .has-cyan-bluish-gray-color{color:#abb8c3}:root .has-very-dark-gray-color{color:#313131}:root .has-black-color{color:#000}:root .has-vivid-cyan-blue-to-vivid-purple-gradient-background{background:linear-gradient(135deg,#0693e3,#9b51e0)}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-light-green-cyan-to-vivid-green-cyan-gradient-background{background:linear-gradient(135deg,#7adcb4,#00d082)}:root .has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background:linear-gradient(135deg,#fcb900,#ff6900)}:root .has-luminous-vivid-orange-to-vivid-red-gradient-background{background:linear-gradient(135deg,#ff6900,#cf2e2e)}:root .has-very-light-gray-to-cyan-bluish-gray-gradient-background{background:linear-gradient(135deg,#eee,#a9b8c3)}:root .has-cool-to-warm-spectrum-gradient-background{background:linear-gradient(135deg,#4aeadc,#9778d1 20%,#cf2aba 40%,#ee2c82 60%,#fb6962 80%,#fef84c)}:root .has-blush-light-purple-gradient-background{background:linear-gradient(135deg,#ffceec,#9896f0)}:root .has-blush-bordeaux-gradient-background{background:linear-gradient(135deg,#fecda5,#fe2d2d 50%,#6b003e)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-luminous-dusk-gradient-background{background:linear-gradient(135deg,#ffcb70,#c751c0 50%,#4158d0)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-pale-ocean-gradient-background{background:linear-gradient(135deg,#fff5cb,#b6e3d4 50%,#33a7b5)}:root .has-electric-grass-gradient-background{background:linear-gradient(135deg,#caf880,#71ce7e)}: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-small-font-size{font-size:.8125em}.has-normal-font-size,.has-regular-font-size{font-size:1em}.has-medium-font-size{font-size:1.25em}.has-large-font-size{font-size:2.25em}.has-huge-font-size,.has-larger-font-size{font-size:2.625em}.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{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip:auto!important;-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} \ 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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}: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-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{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip:auto!important;-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} \ 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 b36e9359d9..81ff19635a 100644 --- a/wp-includes/css/dist/block-library/editor-rtl.css +++ b/wp-includes/css/dist/block-library/editor-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,10 +74,6 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -#start-resizable-editor-section { - display: none; -} - ul.wp-block-archives { padding-right: 2.5em; } @@ -146,7 +148,6 @@ ul.wp-block-archives { .is-selected .wp-block-button__inline-link { height: auto; overflow: visible; - margin-top: 16px; } .wp-button-label__width .components-button-group { @@ -160,18 +161,14 @@ div[data-type="core/button"] { display: table; } -.wp-block > .wp-block-buttons { - display: flex; - flex-wrap: wrap; -} - .wp-block-buttons { /* stylelint-disable indentation */ } .wp-block-buttons > .wp-block { - margin-right: 0; - margin-top: 0.5em; - margin-left: 0.5em; + margin: 0; +} +.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 { display: inline-flex; @@ -216,7 +213,7 @@ div[data-type="core/button"] { margin-top: 6px; } -.wp-block-columns .wp-block { +.wp-block-columns :where(.wp-block) { max-width: none; margin-right: 0; margin-left: 0; @@ -224,12 +221,12 @@ div[data-type="core/button"] { @media (min-width: 600px) { .editor-styles-wrapper .block-editor-block-list__block.wp-block-column:nth-child(even) { - margin-right: 32px; + margin-right: var(--wp--style--block-gap, 2em); } } @media (min-width: 782px) { .editor-styles-wrapper .block-editor-block-list__block.wp-block-column:not(:first-child) { - margin-right: 32px; + margin-right: var(--wp--style--block-gap, 2em); } } .block-editor-block-list__block.wp-block-column.wp-block-column { @@ -237,10 +234,28 @@ div[data-type="core/button"] { margin-bottom: 0; } +.wp-block-cover { + /* Extra specificity needed because the reset.css applied in the editor context is overriding this rule. */ +} +.editor-styles-wrapper .wp-block-cover { + box-sizing: border-box; +} .wp-block-cover.is-placeholder { min-height: auto !important; padding: 0 !important; } +.wp-block-cover.is-placeholder .block-library-cover__resize-container { + display: none; +} +.wp-block-cover.is-placeholder .components-placeholder.is-large { + min-height: 240px; + justify-content: flex-start; + z-index: 1; +} +.wp-block-cover.is-placeholder .components-placeholder.is-large + .block-library-cover__resize-container { + min-height: 240px; + display: block; +} .wp-block-cover.components-placeholder h2 { color: inherit; } @@ -284,45 +299,15 @@ div[data-type="core/button"] { right: 0; left: 0; bottom: 0; + min-height: 50px; } .block-library-cover__resize-container:not(.is-resizing) { height: auto !important; } -.wp-block-cover > .components-drop-zone.is-active { - transition: 0.2s opacity, 0.2s border; -} -@media (prefers-reduced-motion: reduce) { - .wp-block-cover > .components-drop-zone.is-active { - transition-duration: 0s; - transition-delay: 0s; - } -} -.wp-block-cover > .components-drop-zone.is-dragging-over-element { - background-color: transparent; - border: 48px solid var(--wp-admin-theme-color); -} -.wp-block-cover > .components-drop-zone.is-dragging-over-element .components-drop-zone__content { - transform: none; -} .wp-block-cover > .components-drop-zone .components-drop-zone__content { - display: flex; - align-items: center; - top: -36px; - right: -36px; - transform: none; -} -.wp-block-cover > .components-drop-zone .components-drop-zone__content-icon, -.wp-block-cover > .components-drop-zone .components-drop-zone__content-text { - display: inline; -} -.wp-block-cover > .components-drop-zone .components-drop-zone__content-icon { - margin: 0; - margin-left: 8px; -} -.wp-block-cover > .components-drop-zone .components-drop-zone__content-text { - font-size: 13px; + opacity: 0.8 !important; } .block-editor-block-patterns-list__list-item .has-parallax.wp-block-cover { @@ -736,27 +721,91 @@ div[data-type="core/freeform"].is-selected .block-library-classic__toolbar { display: block; } -.wp-block-gallery li { - list-style-type: none; -} -.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label { - display: none; -} -.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button { - margin-bottom: 0; -} - figure.wp-block-gallery { display: block; margin: 0; } - -.blocks-gallery-grid.blocks-gallery-grid { - padding-right: 0; - margin-right: 0; +figure.wp-block-gallery.has-nested-images .components-drop-zone { + display: none; + pointer-events: none; +} +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; + top: 0; + left: 5px; +} +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::before { + box-shadow: 0 0 0 1px #fff inset, 0 0 0 3px var(--wp-admin-theme-color) inset; + content: ""; + outline: 2px solid transparent; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 1; + pointer-events: none; +} +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 { + position: absolute; + top: 50%; + right: 50%; + margin-top: -9px; + margin-right: -9px; +} +/** + * Gallery inspector controls settings. + */ +.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 { + display: flex; + align-items: center; + color: #757575; + font-size: 12px; +} +.gallery-image-sizes .components-spinner { + margin: 0 4px 0 8px; +} + +/** + * Deprecated css past this point. This can be removed once all galleries are migrated + * to V2. + */ .blocks-gallery-item figure:not(.is-selected):focus, .blocks-gallery-item img:focus { outline: none; @@ -771,10 +820,6 @@ figure.wp-block-gallery { bottom: 0; right: 0; z-index: 1; - pointer-events: none; -} -.blocks-gallery-item figure.is-selected figcaption { - z-index: 2; } .blocks-gallery-item figure.is-transient img { opacity: 0.3; @@ -833,12 +878,20 @@ figure.wp-block-gallery { left: -2px; } -.blocks-gallery-item .components-spinner { - position: absolute; - top: 50%; - right: 50%; - margin-top: -9px; - margin-right: -9px; +.wp-block-gallery ul.blocks-gallery-grid { + padding: 0; + margin: 0; +} + +.wp-block-update-gallery-modal { + max-width: 400px; +} +.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons { + display: flex; + justify-content: flex-end; +} +.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons .components-button { + margin-right: 12px; } /** @@ -858,20 +911,6 @@ figure.wp-block-gallery { margin-bottom: 18px; } -.block-library-heading-level-dropdown .components-popover__content { - min-width: 230px; -} -.block-library-heading-level-dropdown .components-popover__content > div { - padding: 0; -} - -.block-library-heading-level-toolbar { - border: none; -} - -.block-library-html__edit { - margin-bottom: 28px; -} .block-library-html__edit .block-library-html__preview-overlay { position: absolute; width: 100%; @@ -880,22 +919,26 @@ figure.wp-block-gallery { right: 0; } .block-library-html__edit .block-editor-plain-text { - font-family: Menlo, Consolas, monaco, monospace; - color: #1e1e1e; - padding: 0.8em 1em; - border: 1px solid #ddd; - border-radius: 4px; + font-family: Menlo, Consolas, monaco, monospace !important; + color: #1e1e1e !important; + background: #fff !important; + padding: 12px !important; + border: 1px solid #1e1e1e !important; + box-shadow: none !important; + border-radius: 2px !important; max-height: 250px; /* Fonts smaller than 16px causes mobile safari to zoom. */ - font-size: 16px; + font-size: 16px !important; } @media (min-width: 600px) { .block-library-html__edit .block-editor-plain-text { - font-size: 13px; + font-size: 13px !important; } } .block-library-html__edit .block-editor-plain-text:focus { - box-shadow: none; + 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; } figure.wp-block-image:not(.wp-block) { @@ -918,7 +961,7 @@ figure.wp-block-image:not(.wp-block) { margin-top: -9px; margin-right: -9px; } -.wp-block-image:not(.is-style-rounded) > div { +.wp-block-image:not(.is-style-rounded) > div:not(.components-placeholder) { border-radius: inherit; } @@ -945,6 +988,7 @@ figure.wp-block-image:not(.wp-block) { [data-align=wide] > .wp-block-image img, [data-align=full] > .wp-block-image img { + height: auto; width: 100%; } @@ -1038,6 +1082,20 @@ figure.wp-block-image:not(.wp-block) { margin-bottom: 20px; } +.wp-block-media-text__media { + position: relative; +} +.wp-block-media-text__media.is-transient img { + opacity: 0.3; +} +.wp-block-media-text__media .components-spinner { + position: absolute; + top: 50%; + right: 50%; + margin-top: -9px; + margin-right: -9px; +} + .wp-block-media-text .__resizable_base__ { grid-column: 1/span 2; grid-row: 2; @@ -1106,6 +1164,14 @@ figure.wp-block-image:not(.wp-block) { margin-right: 0; padding-right: 0; } +.editor-styles-wrapper .wp-block-navigation .wp-block-navigation-item.wp-block { + margin-right: revert; + margin-left: revert; +} + +.wp-block-navigation-item__label { + display: inline; +} /** * Submenus. @@ -1116,22 +1182,22 @@ figure.wp-block-image:not(.wp-block) { } .wp-block-navigation__container, -.wp-block-navigation-link { +.wp-block-navigation-item { background-color: inherit; } -.wp-block-navigation:not(.is-selected):not(.has-child-selected) .has-child:hover > .wp-block-navigation-link__container { +.wp-block-navigation:not(.is-selected):not(.has-child-selected) .has-child:hover > .wp-block-navigation__submenu-container { opacity: 0; visibility: hidden; } -.has-child.is-selected > .wp-block-navigation-link__container, .has-child.has-child-selected > .wp-block-navigation-link__container { +.has-child.is-selected > .wp-block-navigation__submenu-container, .has-child.has-child-selected > .wp-block-navigation__submenu-container { display: flex; opacity: 1; visibility: visible; } -.is-dragging-components-draggable .has-child.is-dragging-within > .wp-block-navigation-link__container { +.is-dragging-components-draggable .has-child.is-dragging-within > .wp-block-navigation__submenu-container { opacity: 1; visibility: visible; } @@ -1239,6 +1305,17 @@ figure.wp-block-image:not(.wp-block) { margin-left: 7px; } +@keyframes loadingpulse { + 0% { + opacity: 1; + } + 50% { + opacity: 0.5; + } + 100% { + opacity: 1; + } +} .wp-block-navigation-placeholder__preview { display: flex; flex-direction: row; @@ -1247,11 +1324,15 @@ figure.wp-block-image:not(.wp-block) { width: 100%; overflow: hidden; } -.wp-block-navigation-placeholder__preview .wp-block-navigation-link.wp-block-navigation-link { +.wp-block-navigation-placeholder__preview.is-loading { + animation: loadingpulse 1s linear infinite; + animation-delay: 0.5s; +} +.wp-block-navigation-placeholder__preview .wp-block-navigation-item.wp-block-navigation-item { position: relative; min-width: 72px; } -.wp-block-navigation-placeholder__preview .wp-block-navigation-link.wp-block-navigation-link::before { +.wp-block-navigation-placeholder__preview .wp-block-navigation-item.wp-block-navigation-item::before { display: block; content: ""; border-radius: 2px; @@ -1259,24 +1340,25 @@ figure.wp-block-image:not(.wp-block) { height: 16px; width: 100%; } -.wp-block-navigation-placeholder__preview svg { +.wp-block-navigation-placeholder__preview .wp-block-navigation-placeholder__preview-search-icon { + height: 24px; +} +.wp-block-navigation-placeholder__preview .wp-block-navigation-placeholder__preview-search-icon svg { fill: currentColor; } -.wp-block-navigation-placeholder__preview .wp-block-navigation-link.wp-block-navigation-link, -.wp-block-navigation-placeholder__preview svg { +.wp-block-navigation-placeholder__preview .wp-block-navigation-item.wp-block-navigation-item, +.wp-block-navigation-placeholder__preview .wp-block-navigation-placeholder__preview-search-icon { opacity: 0.3; } -.wp-block-navigation.is-selected .wp-block-navigation-placeholder__preview { +.wp-block-navigation.is-selected .wp-block-navigation-placeholder__preview:not(.is-loading) { display: flex; opacity: 0; width: 0; overflow: hidden; flex-wrap: nowrap; + flex: 0; } -.wp-block-navigation.is-selected .is-small .wp-block-navigation-placeholder__preview { - display: none; -} -.wp-block-navigation.is-selected .is-medium .wp-block-navigation-placeholder__preview { +.is-vertical.is-selected .wp-block-navigation-placeholder__preview:not(.is-loading), .wp-block-navigation.is-selected .is-small .wp-block-navigation-placeholder__preview:not(.is-loading), .wp-block-navigation.is-selected .is-medium .wp-block-navigation-placeholder__preview:not(.is-loading) { display: none; } @@ -1366,23 +1448,66 @@ figure.wp-block-image:not(.wp-block) { } } -@media (min-width: 600px) { - .components-button.wp-block-navigation__responsive-container-open { - display: none; - } -} - .wp-block-navigation__responsive-container.is-menu-open { position: fixed; -} -body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { top: 155px; } @media (min-width: 782px) { - body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { + .wp-block-navigation__responsive-container.is-menu-open { + top: 93px; + } +} +@media (min-width: 782px) { + .wp-block-navigation__responsive-container.is-menu-open { + right: 36px; + } +} +@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; } } +@media (min-width: 782px) { + .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 { + top: 0; + left: 0; + bottom: 0; + right: 0; +} @media (min-width: 600px) { .wp-block-navigation__responsive-close { @@ -1408,9 +1533,42 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { margin-top: 16px; } -.wp-block-navigation-link__container { - border-radius: 0; - min-height: 36px; +@keyframes fadein { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +.wp-block-navigation__unsaved-changes { + position: relative; +} +.wp-block-navigation__unsaved-changes .components-spinner { + position: absolute; + top: calc(50% - 18px / 2); + right: calc(50% - 18px / 2); + opacity: 0; + animation: 0.5s linear 2s normal forwards fadein; +} + +@keyframes fadeouthalf { + 0% { + opacity: 1; + } + 100% { + opacity: 0.5; + } +} +.wp-block-navigation__unsaved-changes-overlay.is-saving { + opacity: 1; + animation: 0.5s linear 2s normal forwards fadeouthalf; +} + +.wp-block-navigation-delete-menu-button { + width: 100%; + justify-content: center; + margin-bottom: 16px; } /** @@ -1419,80 +1577,118 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { .wp-block-navigation .has-child { cursor: pointer; } -.wp-block-navigation .has-child .submenu-container, -.wp-block-navigation .has-child .wp-block-navigation-link__container { +.wp-block-navigation .has-child .wp-block-navigation__submenu-container { z-index: 28; } -.wp-block-navigation .has-child:hover .submenu-container, -.wp-block-navigation .has-child:hover .wp-block-navigation-link__container { +.wp-block-navigation .has-child:hover .wp-block-navigation__submenu-container { z-index: 29; } -.wp-block-navigation .has-child.is-selected > .wp-block-navigation-link__container, .wp-block-navigation .has-child.has-child-selected > .wp-block-navigation-link__container { +.wp-block-navigation .has-child.is-selected > .wp-block-navigation__submenu-container, .wp-block-navigation .has-child.has-child-selected > .wp-block-navigation__submenu-container { visibility: visible !important; opacity: 1 !important; + min-width: 200px !important; + height: auto !important; + width: auto !important; } /** * Navigation Items. */ -.wp-block-navigation-link .wp-block-navigation-link__container { - display: block; -} -.wp-block-navigation-link .wp-block-navigation-link__content { +.wp-block-navigation-item .wp-block-navigation-item__content { cursor: text; } -.wp-block-navigation-link.is-editing, .wp-block-navigation-link.is-selected { +.wp-block-navigation-item.is-editing, .wp-block-navigation-item.is-selected { min-width: 20px; } -.wp-block-navigation-link .block-list-appender { +.wp-block-navigation-item .block-list-appender { margin-top: 16px; margin-left: auto; margin-bottom: 16px; margin-right: 16px; } -.wp-block-navigation .block-editor-block-list__block[data-type="core/navigation-link"] > .block-editor-block-list__insertion-point { - display: none; -} - /** * Menu item setup state. Is shown when a menu item has no URL configured. */ .wp-block-navigation-link__placeholder { position: relative; - margin: 2px; + text-decoration: none !important; + box-shadow: none !important; + background-image: none !important; } -.wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text { - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; - font-size: 13px; - padding-right: 4px; - padding-left: 4px; +.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-size: 6px 3px; + background-repeat: repeat-x; + padding-bottom: 0.1em; } -.wp-block-navigation-link__placeholder.wp-block-navigation-link__content { +.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; } -.wp-block-navigation-link__placeholder::before { - content: ""; - display: block; - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - border-radius: 2px; - opacity: 0.1; -} -.is-dark-theme .wp-block-navigation-link__placeholder::before { - opacity: 0.2; -} -.is-editing .wp-block-navigation-link__placeholder::before { - background: currentColor; + +/** +* Link Control Transforms +*/ +.link-control-transform { + border-top: 1px solid #ccc; + padding: 0 16px 8px 16px; } -.wp-block-navigation .wp-block-navigation-link:not(.is-editing) .wp-block-navigation-link__content.wp-block-navigation-link__placeholder { - box-shadow: inset 0 0 0 1px #757575; - border-radius: 2px; - color: var(--wp-admin-theme-color); +.link-control-transform__subheading { + font-size: 11px; + text-transform: uppercase; + font-weight: 500; + color: #1e1e1e; + margin-bottom: 1.5em; +} + +.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.is-selected > .wp-block-navigation__submenu-container, .wp-block-navigation-submenu.has-child-selected > .wp-block-navigation__submenu-container { + visibility: visible !important; + opacity: 1 !important; + min-width: 200px !important; + height: auto !important; + width: auto !important; + position: absolute; + right: -1px; + top: 100%; +} +@media (min-width: 782px) { + .wp-block-navigation-submenu.is-selected > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container, .wp-block-navigation-submenu.has-child-selected > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { + right: 100%; + top: -1px; + } + .wp-block-navigation-submenu.is-selected > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container::before, .wp-block-navigation-submenu.has-child-selected > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container::before { + content: ""; + position: absolute; + left: 100%; + height: 100%; + display: block; + width: 0.5em; + background: transparent; + } } .block-editor-block-list__block[data-type="core/nextpage"] { @@ -1566,6 +1762,14 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { margin-right: 12px; } +.wp-block-page-list .open-on-click:focus-within > .wp-block-navigation__submenu-container { + visibility: visible; + opacity: 1; + width: auto; + height: auto; + min-width: 200px; +} + .block-editor-block-list__block[data-type="core/paragraph"].has-drop-cap:focus { min-height: auto !important; } @@ -1578,50 +1782,12 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { opacity: 0; } -.wp-block-post-content__placeholder { - height: 100px; - border: 1px dashed; - display: flex; - justify-content: center; - align-items: center; -} -.wp-block-post-content__placeholder span { - font-style: italic; -} - .wp-block-post-excerpt .wp-block-post-excerpt__excerpt.is-inline { display: inline-block; } -.wp-block-post-author { - display: flex; - flex-wrap: wrap; -} -.wp-block-post-author .wp-block-post-author__byline { - font-size: 0.5em; - margin-top: 0; - position: relative; - font-style: normal; -} -.wp-block-post-author .wp-block-post-author__content { - flex-grow: 1; - flex-basis: 0; -} -.wp-block-post-author .wp-block-post-author__avatar img { - margin: 0; -} -.wp-block-post-author .wp-block-post-author__avatar { - margin-bottom: -8px; -} -.wp-block-post-author .wp-block-post-author__name { - margin: 0; - font-weight: bold; -} -.wp-block-post-author .wp-block-post-author__bio { - margin: 0 0 8px; - font-size: 0.7em; -} - +.wp-block-pullquote.has-text-align-left p, +.wp-block-pullquote.has-text-align-right p, .wp-block[data-align=left] > .wp-block-pullquote p, .wp-block[data-align=right] > .wp-block-pullquote p { font-size: 20px; @@ -1678,18 +1844,11 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { margin: auto; } -.wp-block-search .wp-block-search__input { - padding: 8px; -} -.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper { - padding: 4px; -} .wp-block-search .wp-block-search__button { height: auto; border-radius: initial; -} -.wp-block-search .wp-block-search__button.wp-block-search__button.wp-block-search__button { - padding: 6px 10px; + display: flex; + align-items: center; } .wp-block-search__components-button-group { margin-top: 10px; @@ -1764,6 +1923,7 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { width: 120px; } .wp-block-site-logo.is-default-size img { + height: auto; width: 100%; } .wp-block-site-logo .custom-logo-link { @@ -1777,26 +1937,34 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { } .wp-block-site-logo img { display: block; + height: auto; max-width: 100%; } -.wp-block-site-logo .components-placeholder { - justify-content: flex-start; - min-height: auto; + +.wp-block-site-logo.wp-block-site-logo .components-placeholder, +.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container { + border-radius: inherit; +} +.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder { height: 120px; - padding: 12px; + width: 120px; } -.wp-block-site-logo .components-placeholder .components-placeholder__label { - margin-top: 12px; - white-space: nowrap; +.wp-block-site-logo.wp-block-site-logo .components-placeholder { + justify-content: center; + align-items: center; + box-shadow: none; + padding: 0; + min-height: 48px; + min-width: 48px; + height: 100%; + width: 100%; + color: currentColor; + background: transparent; } -.wp-block-site-logo .components-placeholder .components-placeholder__label .block-editor-block-icon, -.wp-block-site-logo .components-placeholder .components-placeholder__label > svg { - margin-left: 4px; -} -.wp-block-site-logo .components-placeholder .components-form-file-upload { +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-form-file-upload { display: none; } -.wp-block-site-logo .components-placeholder .components-placeholder__preview { +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__preview { position: absolute; top: 4px; left: 4px; @@ -1807,9 +1975,68 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { align-items: center; justify-content: center; } -.wp-block-site-logo .components-placeholder .components-drop-zone__content-text { +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text { display: none; } +.wp-block-site-logo.wp-block-site-logo .components-placeholder::before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + border: 1px dashed currentColor; + opacity: 0.3; + pointer-events: none; + border-radius: inherit; +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__fieldset { + width: auto; +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button { + color: inherit; + padding: 0; + display: flex; + justify-content: center; + align-items: center; + width: 48px; + height: 48px; + border-radius: 50%; + position: relative; + visibility: hidden; + background: transparent; + transition: all 0.1s linear; +} +@media (prefers-reduced-motion: reduce) { + .wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button { + transition-duration: 0s; + transition-delay: 0s; + } +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button > svg { + color: #fff; +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__illustration { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + width: 100%; + height: 100%; + stroke: currentColor; + stroke-dasharray: 3; + opacity: 0.3; +} +.wp-block-site-logo.wp-block-site-logo.is-selected .components-button.components-button { + background: var(--wp-admin-theme-color); + border-color: var(--wp-admin-theme-color); + border-style: solid; + color: #fff; + opacity: 1; + visibility: visible; +} .wp-block-site-tagline__placeholder { padding: 1em 0; @@ -1837,6 +2064,10 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { padding-left: calc((2/3) * 1em); } +.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; @@ -1875,6 +2106,10 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { padding-right: calc((2/3) * 1em); padding-left: calc((2/3) * 1em); } +.is-style-logos-only .wp-block-social-links__social-placeholder + .block-list-appender, +.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 { content: ""; display: block; @@ -1958,9 +2193,11 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { content: ""; display: block; position: absolute; + z-index: 1; width: 100%; - height: 24px; - transform: translateY(-12px); + min-height: 8px; + min-width: 8px; + height: 100%; } .wp-block-spacer.is-hovered .block-library-spacer__resize-container, @@ -2052,17 +2289,6 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { margin-bottom: 0; } -.wp-block-tag-cloud a { - display: inline-block; - margin-left: 5px; -} -.wp-block-tag-cloud span { - display: inline-block; - margin-right: 5px; - color: #757575; - text-decoration: none; -} - .wp-block-template-part__placeholder-preview-dropdown-content .components-popover__content, .wp-block-template-part__preview-dropdown-content .components-popover__content { min-width: 320px; @@ -2082,7 +2308,7 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { cursor: pointer; margin-top: 16px; transition: all 0.05s ease-in-out; - border: 1px solid transparent; + border: 1px solid #ddd; width: 100%; background-color: #fff; } @@ -2096,6 +2322,9 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { .wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item.is-placeholder { min-height: 100px; } +.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item .block-editor-block-preview__container { + border-bottom: 1px solid #ddd; +} .wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item-title { padding: 4px; font-size: 12px; @@ -2114,11 +2343,13 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { font-weight: 500; } -.block-editor-block-list__block[data-type="core/template-part"].has-child-selected::after { - border: 1px dotted var(--wp-admin-theme-color); +.wp-block-template-part__placeholder-create-new__title-form .wp-block-template-part__placeholder-create-new__title-form-actions { + padding-top: 12px; + display: flex; + justify-content: flex-end; } -.block-editor-block-list__block[data-type="core/template-part"].has-child-selected.is-hovered::after, .block-editor-block-list__block[data-type="core/template-part"].has-child-selected.is-highlighted::after { - border: none; +.wp-block-template-part__placeholder-create-new__title-form .wp-block-template-part__placeholder-create-new__title-form-actions .components-flex-item { + margin-right: 12px; } .wp-block-text-columns .block-editor-rich-text__editable:focus { @@ -2224,11 +2455,6 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { margin-bottom: 4px; } -.wp-block-query-title__placeholder { - padding: 1em 0; - border: 1px dashed; -} - .editor-styles-wrapper ul.wp-block-post-template { padding-right: 0; margin-right: 0; @@ -2243,10 +2469,8 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { padding: 0 56px 16px 16px; } -.wp-block > .wp-block-query-pagination { - display: flex; - flex-wrap: wrap; - flex-direction: row; +.wp-block[data-align=center] > .wp-block-query-pagination { + justify-content: center; } .editor-styles-wrapper .wp-block-query-pagination { @@ -2263,7 +2487,6 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { .wp-block-query-pagination > .wp-block-query-pagination-next, .wp-block-query-pagination > .wp-block-query-pagination-previous, .wp-block-query-pagination > .wp-block-query-pagination-numbers { - display: inline-block; margin-right: 0; margin-top: 0.5em; margin-right: 0.5em; @@ -2294,7 +2517,7 @@ div[data-type="core/post-featured-image"] img { .editor-styles-wrapper .post-featured-image_placeholder { display: flex; flex-direction: row; - align-items: flex-start; + align-items: center; border-radius: 2px; background-color: #fff; box-shadow: inset 0 0 0 1px #1e1e1e; @@ -2309,141 +2532,42 @@ div[data-type="core/post-featured-image"] img { margin: 0; } -.wp-block-term-description__placeholder { - padding: 1em 0; - border: 1px dashed; +.block-library-post-featured-image-dimension-controls { + margin-bottom: 8px; +} +.block-library-post-featured-image-dimension-controls.scale-control-is-visible { + margin-bottom: 16px; } :root .editor-styles-wrapper { + /* + * Our classes uses the same values we set for gradient value attributes, + * and we can not use spacing because of WP multi site kses rule. + */ /* stylelint-disable function-comma-space-after */ /* stylelint-enable function-comma-space-after */ } -:root .editor-styles-wrapper .has-pale-pink-background-color { - background-color: #f78da7; -} -:root .editor-styles-wrapper .has-vivid-red-background-color { - background-color: #cf2e2e; -} -:root .editor-styles-wrapper .has-luminous-vivid-orange-background-color { - background-color: #ff6900; -} -:root .editor-styles-wrapper .has-luminous-vivid-amber-background-color { - background-color: #fcb900; -} -:root .editor-styles-wrapper .has-light-green-cyan-background-color { - background-color: #7bdcb5; -} -:root .editor-styles-wrapper .has-vivid-green-cyan-background-color { - background-color: #00d084; -} -:root .editor-styles-wrapper .has-pale-cyan-blue-background-color { - background-color: #8ed1fc; -} -:root .editor-styles-wrapper .has-vivid-cyan-blue-background-color { - background-color: #0693e3; -} -:root .editor-styles-wrapper .has-vivid-purple-background-color { - background-color: #9b51e0; -} -:root .editor-styles-wrapper .has-white-background-color { - background-color: #fff; -} :root .editor-styles-wrapper .has-very-light-gray-background-color { background-color: #eee; } -:root .editor-styles-wrapper .has-cyan-bluish-gray-background-color { - background-color: #abb8c3; -} :root .editor-styles-wrapper .has-very-dark-gray-background-color { background-color: #313131; } -:root .editor-styles-wrapper .has-black-background-color { - background-color: #000; -} -:root .editor-styles-wrapper .has-pale-pink-color { - color: #f78da7; -} -:root .editor-styles-wrapper .has-vivid-red-color { - color: #cf2e2e; -} -:root .editor-styles-wrapper .has-luminous-vivid-orange-color { - color: #ff6900; -} -:root .editor-styles-wrapper .has-luminous-vivid-amber-color { - color: #fcb900; -} -:root .editor-styles-wrapper .has-light-green-cyan-color { - color: #7bdcb5; -} -:root .editor-styles-wrapper .has-vivid-green-cyan-color { - color: #00d084; -} -:root .editor-styles-wrapper .has-pale-cyan-blue-color { - color: #8ed1fc; -} -:root .editor-styles-wrapper .has-vivid-cyan-blue-color { - color: #0693e3; -} -:root .editor-styles-wrapper .has-vivid-purple-color { - color: #9b51e0; -} -:root .editor-styles-wrapper .has-white-color { - color: #fff; -} :root .editor-styles-wrapper .has-very-light-gray-color { color: #eee; } -:root .editor-styles-wrapper .has-cyan-bluish-gray-color { - color: #abb8c3; -} :root .editor-styles-wrapper .has-very-dark-gray-color { color: #313131; } -:root .editor-styles-wrapper .has-black-color { - color: #000; -} -:root .editor-styles-wrapper .has-vivid-cyan-blue-to-vivid-purple-gradient-background { - background: linear-gradient(-135deg, #0693e3 0%, #9b51e0 100%); -} :root .editor-styles-wrapper .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background { background: linear-gradient(-135deg, #00d084 0%, #0693e3 100%); } -:root .editor-styles-wrapper .has-light-green-cyan-to-vivid-green-cyan-gradient-background { - background: linear-gradient(-135deg, #7adcb4 0%, #00d082 100%); -} -:root .editor-styles-wrapper .has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background { - background: linear-gradient(-135deg, #fcb900 0%, #ff6900 100%); -} -:root .editor-styles-wrapper .has-luminous-vivid-orange-to-vivid-red-gradient-background { - background: linear-gradient(-135deg, #ff6900 0%, #cf2e2e 100%); -} -:root .editor-styles-wrapper .has-very-light-gray-to-cyan-bluish-gray-gradient-background { - background: linear-gradient(-135deg, #eeeeee 0%, #a9b8c3 100%); -} -:root .editor-styles-wrapper .has-cool-to-warm-spectrum-gradient-background { - background: linear-gradient(-135deg, #4aeadc 0%, #9778d1 20%, #cf2aba 40%, #ee2c82 60%, #fb6962 80%, #fef84c 100%); -} -:root .editor-styles-wrapper .has-blush-light-purple-gradient-background { - background: linear-gradient(-135deg, #ffceec 0%, #9896f0 100%); -} -:root .editor-styles-wrapper .has-blush-bordeaux-gradient-background { - background: linear-gradient(-135deg, #fecda5 0%, #fe2d2d 50%, #6b003e 100%); -} :root .editor-styles-wrapper .has-purple-crush-gradient-background { background: linear-gradient(-135deg, #34e2e4 0%, #4721fb 50%, #ab1dfe 100%); } -:root .editor-styles-wrapper .has-luminous-dusk-gradient-background { - background: linear-gradient(-135deg, #ffcb70 0%, #c751c0 50%, #4158d0 100%); -} :root .editor-styles-wrapper .has-hazy-dawn-gradient-background { background: linear-gradient(-135deg, #faaca8 0%, #dad0ec 100%); } -:root .editor-styles-wrapper .has-pale-ocean-gradient-background { - background: linear-gradient(-135deg, #fff5cb 0%, #b6e3d4 50%, #33a7b5 100%); -} -:root .editor-styles-wrapper .has-electric-grass-gradient-background { - background: linear-gradient(-135deg, #caf880 0%, #71ce7e 100%); -} :root .editor-styles-wrapper .has-subdued-olive-gradient-background { background: linear-gradient(-135deg, #fafae1 0%, #67a671 100%); } @@ -2457,25 +2581,11 @@ div[data-type="core/post-featured-image"] img { background: linear-gradient(-135deg, #020381 0%, #2874fc 100%); } -.editor-styles-wrapper .has-small-font-size { - font-size: 13px; -} - -.editor-styles-wrapper .has-regular-font-size, -.editor-styles-wrapper .has-normal-font-size { +.editor-styles-wrapper .has-regular-font-size { font-size: 16px; } -.editor-styles-wrapper .has-medium-font-size { - font-size: 20px; -} - -.editor-styles-wrapper .has-large-font-size { - font-size: 36px; -} - -.editor-styles-wrapper .has-larger-font-size, -.editor-styles-wrapper .has-huge-font-size { +.editor-styles-wrapper .has-larger-font-size { font-size: 42px; } @@ -2484,7 +2594,4 @@ div[data-type="core/post-featured-image"] img { * * These are only output in the editor, but styles here are NOT prefixed .editor-styles-wrapper. * This allows us to create normalization styles that are easily overridden by editor styles. - */ -#end-resizable-editor-section { - display: none; -} \ No newline at end of file + */ \ 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 8fa71fe576..dda2824768 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 @@ -#start-resizable-editor-section{display:none}ul.wp-block-archives{padding-right:2.5em}.wp-block-audio{margin-right:0;margin-left:0}.edit-post-visual-editor .block-library-block__reusable-block-container .is-root-container{padding-right:0;padding-left: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}.wp-block[data-align=center]>.wp-block-button{text-align:center;margin-right:auto;margin-left:auto}.wp-block[data-align=right]>.wp-block-button{text-align:right}.wp-block-button{position:relative;cursor:text}.wp-block-button:not(.has-text-color):not(.is-style-outline) [data-rich-text-placeholder]:after{color:#fff}.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;overflow:hidden;max-width:290px}.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;margin-top:16px}.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}.wp-block>.wp-block-buttons{display:flex;flex-wrap:wrap}.wp-block-buttons>.wp-block{margin-right:0;margin-top:.5em;margin-left:.5em}.wp-block-buttons>.block-list-appender{display:inline-flex;align-items:center}.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-right:auto;margin-left: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}.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}.wp-block-columns .wp-block{max-width:none;margin-right:0;margin-left:0}@media (min-width:600px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:nth-child(2n){margin-right:32px}}@media (min-width:782px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:not(:first-child){margin-right:32px}}.block-editor-block-list__block.wp-block-column.wp-block-column{margin-top:0;margin-bottom:0}.wp-block-cover.is-placeholder{min-height:auto!important;padding:0!important}.wp-block-cover.components-placeholder h2{color:inherit}.wp-block-cover.is-transient:before{background-color:#fff;opacity:.3}.wp-block-cover .components-spinner{position:absolute;z-index:1;top:50%;right:50%;transform:translate(50%,-50%);margin:0}.wp-block-cover .block-editor-block-list__layout{width:100%}.wp-block-cover .wp-block-cover__inner-container{text-align:right;margin-right:0;margin-left:0}.wp-block-cover .wp-block-cover__placeholder-background-options{width:100%}[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{position:absolute!important;top:0;right:0;left:0;bottom:0}.block-library-cover__resize-container:not(.is-resizing){height:auto!important}.wp-block-cover>.components-drop-zone.is-active{transition:opacity .2s,border .2s}@media (prefers-reduced-motion:reduce){.wp-block-cover>.components-drop-zone.is-active{transition-duration:0s;transition-delay:0s}}.wp-block-cover>.components-drop-zone.is-dragging-over-element{background-color:initial;border:48px solid var(--wp-admin-theme-color)}.wp-block-cover>.components-drop-zone.is-dragging-over-element .components-drop-zone__content{transform:none}.wp-block-cover>.components-drop-zone .components-drop-zone__content{display:flex;align-items:center;top:-36px;right:-36px;transform:none}.wp-block-cover>.components-drop-zone .components-drop-zone__content-icon,.wp-block-cover>.components-drop-zone .components-drop-zone__content-text{display:inline}.wp-block-cover>.components-drop-zone .components-drop-zone__content-icon{margin:0 0 0 8px}.wp-block-cover>.components-drop-zone .components-drop-zone__content-text{font-size:13px}.block-editor-block-patterns-list__list-item .has-parallax.wp-block-cover{background-attachment:scroll}.wp-block-embed{margin-right:0;margin-left:0;clear:both}.wp-block-embed.is-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1em;min-height:200px;text-align:center;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e}.wp-block-embed.is-loading p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.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{position:absolute;top:0;right:0;left:0;bottom:0;opacity: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{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;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{margin-bottom:1em;width:100%;height:100%}.wp-block-file .wp-block-file__preview-overlay{position:absolute;top:0;left:0;bottom:0;right:0}.wp-block-file .wp-block-file__content-wrapper{flex-grow:1}.wp-block-file a{min-width:1em}.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{padding-right:2.5em;margin-right:0}.wp-block-freeform.block-library-rich-text__tinymce blockquote{margin:0;box-shadow:inset 0 0 0 0 #ddd;border-right:4px solid #000;padding-right:1em}.wp-block-freeform.block-library-rich-text__tinymce pre{white-space:pre-wrap;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;color:#1e1e1e}.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]{padding:0 2px;margin:0 -2px;border-radius:2px;box-shadow:0 0 0 1px #e5f5fa;background:#e5f5fa}.wp-block-freeform.block-library-rich-text__tinymce code{padding:2px;border-radius:2px;color:#1e1e1e;background:#f0f0f0;font-family:Menlo,Consolas,monaco,monospace;font-size:14px}.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-right:auto;margin-left:auto}.wp-block-freeform.block-library-rich-text__tinymce .wp-more-tag{width:96%;height:20px;display:block;margin:15px auto;outline:0;cursor:default;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-size:1900px 20px;background-repeat:no-repeat;background-position:50%}.wp-block-freeform.block-library-rich-text__tinymce img::selection{background-color:initial}.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{padding-top:.5em;margin:0}.wp-block-freeform.block-library-rich-text__tinymce .wpview{width:99.99%;position:relative;clear:both;margin-bottom:16px;border:1px solid transparent}.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{display:block;max-width:100%;background:transparent}.wp-block-freeform.block-library-rich-text__tinymce .wpview .mce-shim{position:absolute;top:0;left:0;bottom:0;right: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{border:1px solid #ddd;padding:1em 0;margin:0;word-wrap:break-word}.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;margin:0 auto;width:32px;height:32px;font-size:32px}.wp-block-freeform.block-library-rich-text__tinymce .wpview.wpview-type-gallery:after{content:"";display:table;clear:both}.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{margin:auto -6px;padding:6px 0;line-height:1;overflow-x:hidden}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-item{float:right;margin:0;text-align:center;padding:6px;box-sizing:border-box}.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{max-width:100%;height:auto;border:none;padding:0}div[data-type="core/freeform"]:before{transition:border-color .1s linear,box-shadow .1s linear;border:1px solid #ddd;outline:1px solid transparent}@media (prefers-reduced-motion:reduce){div[data-type="core/freeform"]:before{transition-duration:0s;transition-delay: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{content:"";display:table;clear:both}.mce-toolbar-grp .mce-btn.mce-active:hover button,.mce-toolbar-grp .mce-btn.mce-active:hover i,.mce-toolbar-grp .mce-btn.mce-active button,.mce-toolbar-grp .mce-btn.mce-active 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{display:none;width:auto;position:sticky;z-index:31;top:0;border:1px solid #ddd;border-bottom:none;border-radius:2px;margin:0 0 8px;padding:0}div[data-type="core/freeform"].is-selected .block-library-classic__toolbar{display:block;border-color:#1e1e1e}.block-library-classic__toolbar .mce-tinymce{box-shadow:none}@media (min-width:600px){.block-library-classic__toolbar{padding:0}}.block-library-classic__toolbar:empty{display:block;background:#f5f5f5;border-bottom:1px solid #e2e4e7}.block-library-classic__toolbar:empty:before{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;content:attr(data-placeholder);color:#555d66;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}.wp-block-gallery li{list-style-type:none}.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label{display:none}.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button{margin-bottom:0}figure.wp-block-gallery{display:block;margin:0}.blocks-gallery-grid.blocks-gallery-grid{padding-right:0;margin-right:0;margin-bottom:0}.blocks-gallery-item figure:not(.is-selected):focus,.blocks-gallery-item img:focus{outline:none}.blocks-gallery-item figure.is-selected:before{box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";outline:2px solid transparent;position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;pointer-events:none}.blocks-gallery-item figure.is-selected figcaption{z-index:2}.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{margin:0;height:100%}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{display:none;position:absolute;top:-2px;margin:8px;z-index:20;transition:box-shadow .2s ease-out;border-radius:2px;background:#fff;border:1px solid #1e1e1e}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-duration:0s;transition-delay:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 2px 6px rgba(0,0,0,.05)}@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{padding:0;width:inherit;height:inherit}}.block-library-gallery-item__inline-menu.is-left{right:-2px}.block-library-gallery-item__inline-menu.is-right{left:-2px}.blocks-gallery-item .components-spinner{position:absolute;top:50%;right:50%;margin-top:-9px;margin-right:-9px}.wp-block-group .block-editor-block-list__insertion-point{right:0;left:0}[data-type="core/group"].is-selected .block-list-appender{margin-right:0;margin-left:0}[data-type="core/group"].is-selected .has-background .block-list-appender{margin-top:18px;margin-bottom:18px}.block-library-heading-level-dropdown .components-popover__content{min-width:230px}.block-library-heading-level-dropdown .components-popover__content>div{padding:0}.block-library-heading-level-toolbar{border:none}.block-library-html__edit{margin-bottom:28px}.block-library-html__edit .block-library-html__preview-overlay{position:absolute;width:100%;height:100%;top:0;right:0}.block-library-html__edit .block-editor-plain-text{font-family:Menlo,Consolas,monaco,monospace;color:#1e1e1e;padding:.8em 1em;border:1px solid #ddd;border-radius:4px;max-height:250px;font-size:16px}@media (min-width:600px){.block-library-html__edit .block-editor-plain-text{font-size:13px}}.block-library-html__edit .block-editor-plain-text:focus{box-shadow: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;top:50%;right:50%;margin-top:-9px;margin-right:-9px}.wp-block-image:not(.is-style-rounded)>div{border-radius:inherit}.wp-block-image .components-resizable-box__container{display:inline-block}.wp-block-image .components-resizable-box__container img{display:block;width:inherit;height:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{position:absolute;right:0;left:0;margin:-1px 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{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{display:table-caption;caption-side:bottom}.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-right:auto;margin-left:auto;text-align:center}.wp-block-image__crop-area{position:relative;max-width:100%;width:100%}.wp-block-image__crop-icon{padding:0 8px;min-width:48px;display:flex;justify-content:center;align-items:center}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{overflow:visible;min-width:260px}.wp-block-image__zoom .components-range-control{flex:1}.wp-block-image__zoom .components-base-control__field{display:flex;margin-bottom:0;flex-direction:column;align-items:flex-start}.wp-block-image__aspect-ratio{height:46px;margin-bottom:-8px;display:flex;align-items:center}.wp-block-image__aspect-ratio .components-button{width:36px;padding-right:0;padding-left:0}.wp-block-latest-posts{padding-right:2.5em}.wp-block-latest-posts.is-grid{padding-right:0}.wp-block-latest-posts li a>div{display:inline}.edit-post-visual-editor .wp-block-latest-posts.is-grid li{margin-bottom:20px}.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"]{max-width:100%;text-align:center;margin-top:28px;margin-bottom:28px}.wp-block-more{display:block;text-align:center;white-space:nowrap}.wp-block-more input[type=text]{position:relative;font-size:13px;text-transform:uppercase;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;color:#757575;border:none;box-shadow:none;white-space:nowrap;text-align:center;margin:0;border-radius:4px;background:#fff;padding:6px 8px;height:24px;max-width:100%}.wp-block-more input[type=text]:focus{box-shadow:none}.wp-block-more:before{content:"";position:absolute;top:50%;right:0;left:0;border-top:3px dashed #ccc}.editor-styles-wrapper .wp-block-navigation ul{margin-top:0;margin-bottom:0;margin-right:0;padding-right:0}.wp-block-navigation__container.is-parent-of-selected-block{visibility:visible;opacity:1}.wp-block-navigation-link,.wp-block-navigation__container{background-color:inherit}.wp-block-navigation:not(.is-selected):not(.has-child-selected) .has-child:hover>.wp-block-navigation-link__container{opacity:0;visibility:hidden}.has-child.has-child-selected>.wp-block-navigation-link__container,.has-child.is-selected>.wp-block-navigation-link__container{display:flex;opacity:1;visibility:visible}.is-dragging-components-draggable .has-child.is-dragging-within>.wp-block-navigation-link__container{opacity:1;visibility:visible}.is-editing>.wp-block-navigation__container{visibility:visible;opacity:1;display:flex;flex-direction:column}.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}.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{height:30px;position:relative;margin:0 auto;padding:3px;display:flex;align-items:center;border-radius:4px}.block-library-colors-selector .block-library-colors-selector__state-selection{margin-right:auto;margin-left:auto;border-radius:11px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);width:22px;min-width:22px;height:22px;min-height:22px;line-height:20px;padding:2px}.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 .block-editor-button-block-appender{justify-content:flex-start}.components-placeholder.wp-block-navigation-placeholder{outline:none;padding:0;box-shadow:none;background:none;min-height:0;color:inherit}.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}.is-selected .components-placeholder.wp-block-navigation-placeholder{color:#1e1e1e}.wp-block-navigation-placeholder .components-spinner{margin-top:-4px;margin-right:4px;vertical-align:middle;margin-left:7px}.wp-block-navigation-placeholder__preview{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;width:100%;overflow:hidden}.wp-block-navigation-placeholder__preview .wp-block-navigation-link.wp-block-navigation-link{position:relative;min-width:72px}.wp-block-navigation-placeholder__preview .wp-block-navigation-link.wp-block-navigation-link:before{display:block;content:"";border-radius:2px;background:currentColor;height:16px;width:100%}.wp-block-navigation-placeholder__preview svg{fill:currentColor}.wp-block-navigation-placeholder__preview .wp-block-navigation-link.wp-block-navigation-link,.wp-block-navigation-placeholder__preview svg{opacity:.3}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__preview{display:flex;opacity:0;width:0;overflow:hidden;flex-wrap:nowrap}.wp-block-navigation.is-selected .is-medium .wp-block-navigation-placeholder__preview,.wp-block-navigation.is-selected .is-small .wp-block-navigation-placeholder__preview{display:none}.wp-block-navigation-placeholder__controls{padding:8px;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;flex-direction:row;align-items:center;display:none;position:relative;z-index:1;float:right;width:100%}.is-large .wp-block-navigation-placeholder__controls{padding:4px 8px}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls{display:flex}.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions,.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions,.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions{flex-direction:column}.is-selected.is-vertical .wp-block-navigation-placeholder__controls{display:inline-flex;padding:12px}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon{margin-left:12px;height:36px}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator{margin-left:12px;padding:0;align-items:center;justify-content:flex-start;line-height:0;margin-right:5px;display:none}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator svg{margin-left:4px}.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator{margin-bottom:4px;margin-right:0}.is-large .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator{display:inline-flex}.is-vertical .wp-block-navigation-placeholder,.is-vertical .wp-block-navigation-placeholder__controls,.is-vertical .wp-block-navigation-placeholder__preview{min-height:156px}.is-vertical .wp-block-navigation-placeholder__controls,.is-vertical .wp-block-navigation-placeholder__preview{flex-direction:column;align-items:flex-start}.wp-block-navigation-placeholder__actions{display:flex;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.wp-block-navigation-placeholder__actions .components-button.components-dropdown-menu__toggle.has-icon{padding:6px 12px 6px 4px;display:flex;flex-direction:row-reverse}.wp-block-navigation-placeholder__actions .components-dropdown,.wp-block-navigation-placeholder__actions>.components-button{margin-left:12px}@media (min-width:600px){.components-button.wp-block-navigation__responsive-container-open,.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}body.admin-bar .wp-block-navigation__responsive-container.is-menu-open{top:155px}@media (min-width:782px){body.admin-bar .wp-block-navigation__responsive-container.is-menu-open{top:61px}}@media (min-width:600px){.wp-block-navigation__responsive-close{pointer-events:none}.wp-block-navigation__responsive-close .block-editor-block-list__layout *,.wp-block-navigation__responsive-close .wp-block-navigation__responsive-container-close{pointer-events:all}}.wp-block-navigation__responsive-close .wp-block-pages-list__item__link{pointer-events:none}.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{padding:0;height:auto;color:inherit}.is-menu-open .wp-block-navigation__responsive-container-content * .block-list-appender{margin-top:16px}.wp-block-navigation-link__container{border-radius:0;min-height:36px}.wp-block-navigation .has-child{cursor:pointer}.wp-block-navigation .has-child .submenu-container,.wp-block-navigation .has-child .wp-block-navigation-link__container{z-index:28}.wp-block-navigation .has-child:hover .submenu-container,.wp-block-navigation .has-child:hover .wp-block-navigation-link__container{z-index:29}.wp-block-navigation .has-child.has-child-selected>.wp-block-navigation-link__container,.wp-block-navigation .has-child.is-selected>.wp-block-navigation-link__container{visibility:visible!important;opacity:1!important}.wp-block-navigation-link .wp-block-navigation-link__container{display:block}.wp-block-navigation-link .wp-block-navigation-link__content{cursor:text}.wp-block-navigation-link.is-editing,.wp-block-navigation-link.is-selected{min-width:20px}.wp-block-navigation-link .block-list-appender{margin:16px 16px 16px auto}.wp-block-navigation .block-editor-block-list__block[data-type="core/navigation-link"]>.block-editor-block-list__insertion-point{display:none}.wp-block-navigation-link__placeholder{position:relative;margin:2px}.wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;padding-right:4px;padding-left:4px}.wp-block-navigation-link__placeholder.wp-block-navigation-link__content{cursor:pointer}.wp-block-navigation-link__placeholder:before{content:"";display:block;position:absolute;top:0;left:0;bottom:0;right:0;border-radius:2px;opacity:.1}.is-dark-theme .wp-block-navigation-link__placeholder:before{opacity:.2}.is-editing .wp-block-navigation-link__placeholder:before{background:currentColor}.wp-block-navigation .wp-block-navigation-link:not(.is-editing) .wp-block-navigation-link__content.wp-block-navigation-link__placeholder{box-shadow:inset 0 0 0 1px #757575;border-radius:2px;color:var(--wp-admin-theme-color)}.block-editor-block-list__block[data-type="core/nextpage"]{max-width:100%;text-align:center;margin-top:28px;margin-bottom:28px}.wp-block-nextpage{display:block;text-align:center;white-space:nowrap}.wp-block-nextpage>span{font-size:13px;position:relative;text-transform:uppercase;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;color:#757575;border-radius:4px;background:#fff;padding:6px 8px;height:24px}.wp-block-nextpage:before{content:"";position:absolute;top:50%;right:0;left:0;border-top:3px dashed #ccc}.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-pages-list__item__link{pointer-events:none}.wp-block-page-list .components-placeholder{min-height:0;padding:0;background-color:inherit}.wp-block-page-list .components-placeholder .components-spinner{margin:.5em}.wp-block-page-list-modal{max-width:400px}.wp-block-page-list-modal-buttons{display:flex;justify-content:flex-end}.wp-block-page-list-modal-buttons .components-button{margin-right: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] [data-rich-text-placeholder]{opacity:0}.wp-block-post-content__placeholder{height:100px;border:1px dashed;display:flex;justify-content:center;align-items:center}.wp-block-post-content__placeholder span{font-style:italic}.wp-block-post-excerpt .wp-block-post-excerpt__excerpt.is-inline{display:inline-block}.wp-block-post-author{display:flex;flex-wrap:wrap}.wp-block-post-author .wp-block-post-author__byline{font-size:.5em;margin-top:0;position:relative;font-style:normal}.wp-block-post-author .wp-block-post-author__content{flex-grow:1;flex-basis:0}.wp-block-post-author .wp-block-post-author__avatar img{margin:0}.wp-block-post-author .wp-block-post-author__avatar{margin-bottom:-8px}.wp-block-post-author .wp-block-post-author__name{margin:0;font-weight:700}.wp-block-post-author .wp-block-post-author__bio{margin:0 0 8px;font-size:.7em}.wp-block[data-align=left]>.wp-block-pullquote p,.wp-block[data-align=right]>.wp-block-pullquote p{font-size:20px}.wp-block-pullquote blockquote p{font-size:28px;line-height:1.6}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:32px}.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{text-transform:none;font-style:normal}.wp-block-pullquote .wp-block-pullquote__citation{color:inherit}.wp-block-rss li a>div{display:inline}.wp-block-rss__placeholder-form{display:flex;align-items:stretch}.wp-block-rss__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.wp-block-rss__placeholder-form>*{margin-bottom:0}}.wp-block-rss__placeholder-input{display:flex;align-items:stretch;flex-grow:1}.wp-block-rss__placeholder-input .components-base-control__field{display:flex;align-items:stretch;flex-grow:1;margin:0 0 0 8px}.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__input{padding:8px}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper{padding:4px}.wp-block-search .wp-block-search__button{height:auto;border-radius:initial}.wp-block-search .wp-block-search__button.wp-block-search__button.wp-block-search__button{padding:6px 10px}.wp-block-search__components-button-group{margin-top:10px}.block-editor-block-list__block[data-type="core/separator"]{padding-top:.1px;padding-bottom:.1px}[data-type="core/shortcode"] .block-editor-plain-text{max-height:250px}[data-type="core/shortcode"].components-placeholder{min-height:0}.blocks-shortcode__textarea{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal}@media (prefers-reduced-motion:reduce){.blocks-shortcode__textarea{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.blocks-shortcode__textarea{font-size:13px;line-height:normal}}.blocks-shortcode__textarea:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.blocks-shortcode__textarea::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.blocks-shortcode__textarea::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.blocks-shortcode__textarea:-ms-input-placeholder{color:rgba(30,30,30,.62)}.wp-block[data-align=center]>.wp-block-site-logo{margin-right:auto;margin-left:auto;text-align:center}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo:not(.is-default-size){display:table}.wp-block-site-logo.is-default-size{width:120px}.wp-block-site-logo.is-default-size img{width:100%}.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;max-width:100%}.wp-block-site-logo .components-placeholder{justify-content:flex-start;min-height:auto;height:120px;padding:12px}.wp-block-site-logo .components-placeholder .components-placeholder__label{margin-top:12px;white-space:nowrap}.wp-block-site-logo .components-placeholder .components-placeholder__label .block-editor-block-icon,.wp-block-site-logo .components-placeholder .components-placeholder__label>svg{margin-left:4px}.wp-block-site-logo .components-placeholder .components-form-file-upload{display:none}.wp-block-site-logo .components-placeholder .components-placeholder__preview{position:absolute;top:4px;left:4px;bottom:4px;right:4px;background:hsla(0,0%,100%,.8);display:flex;align-items:center;justify-content:center}.wp-block-site-logo .components-placeholder .components-drop-zone__content-text{display:none}.wp-block-site-tagline__placeholder,.wp-block-site-title__placeholder{padding:1em 0;border:1px dashed}.wp-block-social-links .wp-social-link{line-height:0}.wp-block-social-links .wp-social-link button{font-size:inherit;color:currentColor;height:auto;line-height:0;padding:.25em}.wp-block-social-links.is-style-pill-shape .wp-social-link button{padding-right:.66667em;padding-left:.66667em}.wp-block-social-links div.block-editor-url-input{display:inline-block;margin-right:8px}.wp-social-link:hover{transform:none}.editor-styles-wrapper .wp-block-social-links{padding:0}.wp-block-social-links__social-placeholder{display:flex;opacity:.8;list-style:none}.wp-block-social-links__social-placeholder>.wp-social-link{padding-right:0!important;margin-right:0!important;padding-left:0!important;margin-left:0!important;width:0!important;visibility:hidden}.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{display:flex}.wp-block-social-links__social-placeholder+.block-list-appender,.wp-block-social-links__social-placeholder .wp-social-link{padding:.25em}.is-style-pill-shape .wp-block-social-links__social-placeholder+.block-list-appender,.is-style-pill-shape .wp-block-social-links__social-placeholder .wp-social-link{padding-right:.66667em;padding-left:.66667em}.wp-block-social-links__social-placeholder .wp-social-link:before{content:"";display:block;width:1em;height:1em;border-radius:50%}.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{list-style:none;order:2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:24px;margin-top:auto;margin-bottom:auto;cursor:default;padding-left:8px}.wp-block-social-links .wp-block-social-links__social-prompt+.block-list-appender{margin-left:8px;padding:.25em}.wp-block-social-links .block-list-appender{margin:4px 0 4px auto;border-radius:9999px}.wp-block-social-links .block-list-appender .block-editor-inserter{display:flex;align-items:center;justify-content:center;font-size:inherit;width:1em;height:1em}.has-small-icon-size .wp-block-social-links .block-list-appender{font-size:16px}.has-normal-icon-size .wp-block-social-links .block-list-appender{font-size:24px}.has-large-icon-size .wp-block-social-links .block-list-appender{font-size:36px}.has-huge-icon-size .wp-block-social-links .block-list-appender{font-size:48px}.wp-block-social-links .block-list-appender:before{content:none}.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-duration:0s;transition-delay: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;position:absolute;width:100%;height:24px;transform:translateY(-12px)}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container{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{background:hsla(0,0%,100%,.15)}.block-library-spacer__resize-container{clear:both}.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}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color);border-style:double}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)}.blocks-table__placeholder-form.blocks-table__placeholder-form{display:flex;flex-direction:column;align-items:flex-start}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{flex-direction:row;align-items:flex-end}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:0}}.blocks-table__placeholder-input{width:112px;margin-left:8px;margin-bottom:0}.blocks-table__placeholder-input input{height:36px}.blocks-table__placeholder-input .components-base-control__field{margin-bottom:0}.wp-block-tag-cloud a{display:inline-block;margin-left:5px}.wp-block-tag-cloud span{display:inline-block;margin-right:5px;color:#757575;text-decoration:none}.wp-block-template-part__placeholder-preview-dropdown-content .components-popover__content,.wp-block-template-part__preview-dropdown-content .components-popover__content{min-width:320px;padding:0}.wp-block-template-part__selection-preview-search-form{border-bottom:1px solid #ddd}.wp-block-template-part__selection-preview-container{background:#fff;padding-bottom:16px}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item{border-radius:2px;cursor:pointer;margin-top:16px;transition:all .05s ease-in-out;border:1px solid transparent;width:100%;background-color:#fff}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item:hover{border:1px solid var(--wp-admin-theme-color)}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item:focus{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}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item.is-placeholder{min-height:100px}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item-title{padding:4px;font-size:12px;text-align:right}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-panel-group-header{padding:16px 16px 0}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-panel-group-content{padding:0 16px}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-panel-group-title{color:var(--wp-admin-theme-color);text-transform:uppercase;font-size:11px;font-weight:500}.block-editor-block-list__block[data-type="core/template-part"].has-child-selected:after{border:1px dotted var(--wp-admin-theme-color)}.block-editor-block-list__block[data-type="core/template-part"].has-child-selected.is-highlighted:after,.block-editor-block-list__block[data-type="core/template-part"].has-child-selected.is-hovered:after{border:none}.wp-block-text-columns .block-editor-rich-text__editable:focus{outline:1px solid #ddd}.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{position:absolute;top:50%;right:50%;margin-top:-9px;margin-right:-9px}.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>.components-popover__content{width:360px}.block-library-video-tracks-editor__track-list-track{display:flex;place-content:space-between;align-items:baseline;padding-right:12px}.block-library-video-tracks-editor__single-track-editor-label-language{display:flex;margin-top:12px}.block-library-video-tracks-editor__single-track-editor-label-language>.components-base-control{width:50%}.block-library-video-tracks-editor__single-track-editor-label-language>.components-base-control:first-child{margin-left:16px}.block-library-video-tracks-editor__single-track-editor-kind-select{max-width:240px}.block-library-video-tracks-editor__single-track-editor-buttons-container{display:flex;place-content:space-between;margin-top:32px}.block-library-video-tracks-editor__single-track-editor-edit-track-label{margin-top:4px;margin-bottom:12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500;display:block}.block-library-video-tracks-editor>.components-popover__content>div,.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}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-base-control__label{margin-bottom:4px}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-base-control__field{margin-bottom:12px}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-text-control__input{margin-right:0}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-input-control__label{margin-bottom:4px}.wp-block-query-title__placeholder{padding:1em 0;border:1px dashed}.editor-styles-wrapper ul.wp-block-post-template{padding-right:0;margin-right:0;list-style:none}.block-library-query-toolbar__popover .components-popover__content{min-width:230px}.wp-block-query__create-new-link{padding:0 56px 16px 16px}.wp-block>.wp-block-query-pagination{display:flex;flex-wrap:wrap;flex-direction:row}.editor-styles-wrapper .wp-block-query-pagination{max-width:100%}.editor-styles-wrapper .wp-block-query-pagination.block-editor-block-list__layout{margin:0}.block-library-query-pagination-toolbar__popover .components-popover__content{min-width:230px}.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{display:inline-block;margin-top:.5em;margin-right:.5em;margin-bottom:.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}div[data-type="core/post-featured-image"] img{max-width:100%;height:auto;display:block}.editor-styles-wrapper .post-featured-image_placeholder{display:flex;flex-direction:row;align-items:flex-start;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;padding:12px}.editor-styles-wrapper .post-featured-image_placeholder svg{margin-left:12px}.editor-styles-wrapper .post-featured-image_placeholder p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;margin:0}.wp-block-term-description__placeholder{padding:1em 0;border:1px dashed}:root .editor-styles-wrapper .has-pale-pink-background-color{background-color:#f78da7}:root .editor-styles-wrapper .has-vivid-red-background-color{background-color:#cf2e2e}:root .editor-styles-wrapper .has-luminous-vivid-orange-background-color{background-color:#ff6900}:root .editor-styles-wrapper .has-luminous-vivid-amber-background-color{background-color:#fcb900}:root .editor-styles-wrapper .has-light-green-cyan-background-color{background-color:#7bdcb5}:root .editor-styles-wrapper .has-vivid-green-cyan-background-color{background-color:#00d084}:root .editor-styles-wrapper .has-pale-cyan-blue-background-color{background-color:#8ed1fc}:root .editor-styles-wrapper .has-vivid-cyan-blue-background-color{background-color:#0693e3}:root .editor-styles-wrapper .has-vivid-purple-background-color{background-color:#9b51e0}:root .editor-styles-wrapper .has-white-background-color{background-color:#fff}:root .editor-styles-wrapper .has-very-light-gray-background-color{background-color:#eee}:root .editor-styles-wrapper .has-cyan-bluish-gray-background-color{background-color:#abb8c3}:root .editor-styles-wrapper .has-very-dark-gray-background-color{background-color:#313131}:root .editor-styles-wrapper .has-black-background-color{background-color:#000}:root .editor-styles-wrapper .has-pale-pink-color{color:#f78da7}:root .editor-styles-wrapper .has-vivid-red-color{color:#cf2e2e}:root .editor-styles-wrapper .has-luminous-vivid-orange-color{color:#ff6900}:root .editor-styles-wrapper .has-luminous-vivid-amber-color{color:#fcb900}:root .editor-styles-wrapper .has-light-green-cyan-color{color:#7bdcb5}:root .editor-styles-wrapper .has-vivid-green-cyan-color{color:#00d084}:root .editor-styles-wrapper .has-pale-cyan-blue-color{color:#8ed1fc}:root .editor-styles-wrapper .has-vivid-cyan-blue-color{color:#0693e3}:root .editor-styles-wrapper .has-vivid-purple-color{color:#9b51e0}:root .editor-styles-wrapper .has-white-color{color:#fff}:root .editor-styles-wrapper .has-very-light-gray-color{color:#eee}:root .editor-styles-wrapper .has-cyan-bluish-gray-color{color:#abb8c3}:root .editor-styles-wrapper .has-very-dark-gray-color{color:#313131}:root .editor-styles-wrapper .has-black-color{color:#000}:root .editor-styles-wrapper .has-vivid-cyan-blue-to-vivid-purple-gradient-background{background:linear-gradient(-135deg,#0693e3,#9b51e0)}: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-light-green-cyan-to-vivid-green-cyan-gradient-background{background:linear-gradient(-135deg,#7adcb4,#00d082)}:root .editor-styles-wrapper .has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background:linear-gradient(-135deg,#fcb900,#ff6900)}:root .editor-styles-wrapper .has-luminous-vivid-orange-to-vivid-red-gradient-background{background:linear-gradient(-135deg,#ff6900,#cf2e2e)}:root .editor-styles-wrapper .has-very-light-gray-to-cyan-bluish-gray-gradient-background{background:linear-gradient(-135deg,#eee,#a9b8c3)}:root .editor-styles-wrapper .has-cool-to-warm-spectrum-gradient-background{background:linear-gradient(-135deg,#4aeadc,#9778d1 20%,#cf2aba 40%,#ee2c82 60%,#fb6962 80%,#fef84c)}:root .editor-styles-wrapper .has-blush-light-purple-gradient-background{background:linear-gradient(-135deg,#ffceec,#9896f0)}:root .editor-styles-wrapper .has-blush-bordeaux-gradient-background{background:linear-gradient(-135deg,#fecda5,#fe2d2d 50%,#6b003e)}:root .editor-styles-wrapper .has-purple-crush-gradient-background{background:linear-gradient(-135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .editor-styles-wrapper .has-luminous-dusk-gradient-background{background:linear-gradient(-135deg,#ffcb70,#c751c0 50%,#4158d0)}:root .editor-styles-wrapper .has-hazy-dawn-gradient-background{background:linear-gradient(-135deg,#faaca8,#dad0ec)}:root .editor-styles-wrapper .has-pale-ocean-gradient-background{background:linear-gradient(-135deg,#fff5cb,#b6e3d4 50%,#33a7b5)}:root .editor-styles-wrapper .has-electric-grass-gradient-background{background:linear-gradient(-135deg,#caf880,#71ce7e)}: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 .has-small-font-size{font-size:13px}.editor-styles-wrapper .has-normal-font-size,.editor-styles-wrapper .has-regular-font-size{font-size:16px}.editor-styles-wrapper .has-medium-font-size{font-size:20px}.editor-styles-wrapper .has-large-font-size{font-size:36px}.editor-styles-wrapper .has-huge-font-size,.editor-styles-wrapper .has-larger-font-size{font-size:42px}#end-resizable-editor-section{display:none} \ No newline at end of file +ul.wp-block-archives{padding-right:2.5em}.wp-block-audio{margin-right:0;margin-left:0}.edit-post-visual-editor .block-library-block__reusable-block-container .is-root-container{padding-right:0;padding-left: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}.wp-block[data-align=center]>.wp-block-button{text-align:center;margin-right:auto;margin-left:auto}.wp-block[data-align=right]>.wp-block-button{text-align:right}.wp-block-button{position:relative;cursor:text}.wp-block-button:not(.has-text-color):not(.is-style-outline) [data-rich-text-placeholder]:after{color:#fff}.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;overflow:hidden;max-width:290px}.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}.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{display:inline-flex;align-items:center}.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-right:auto;margin-left: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}.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}.wp-block-columns :where(.wp-block){max-width:none;margin-right:0;margin-left:0}@media (min-width:600px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:nth-child(2n){margin-right:var(--wp--style--block-gap,2em)}}@media (min-width:782px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:not(:first-child){margin-right:var(--wp--style--block-gap,2em)}}.block-editor-block-list__block.wp-block-column.wp-block-column{margin-top:0;margin-bottom:0}.editor-styles-wrapper .wp-block-cover{box-sizing:border-box}.wp-block-cover.is-placeholder{min-height:auto!important;padding:0!important}.wp-block-cover.is-placeholder .block-library-cover__resize-container{display:none}.wp-block-cover.is-placeholder .components-placeholder.is-large{min-height:240px;justify-content:flex-start;z-index:1}.wp-block-cover.is-placeholder .components-placeholder.is-large+.block-library-cover__resize-container{min-height:240px;display:block}.wp-block-cover.components-placeholder h2{color:inherit}.wp-block-cover.is-transient:before{background-color:#fff;opacity:.3}.wp-block-cover .components-spinner{position:absolute;z-index:1;top:50%;right:50%;transform:translate(50%,-50%);margin:0}.wp-block-cover .block-editor-block-list__layout{width:100%}.wp-block-cover .wp-block-cover__inner-container{text-align:right;margin-right:0;margin-left:0}.wp-block-cover .wp-block-cover__placeholder-background-options{width:100%}[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{position:absolute!important;top:0;right:0;left:0;bottom:0;min-height:50px}.block-library-cover__resize-container:not(.is-resizing){height:auto!important}.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}.wp-block-embed{margin-right:0;margin-left:0;clear:both}.wp-block-embed.is-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1em;min-height:200px;text-align:center;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e}.wp-block-embed.is-loading p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.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{position:absolute;top:0;right:0;left:0;bottom:0;opacity: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{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;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{margin-bottom:1em;width:100%;height:100%}.wp-block-file .wp-block-file__preview-overlay{position:absolute;top:0;left:0;bottom:0;right:0}.wp-block-file .wp-block-file__content-wrapper{flex-grow:1}.wp-block-file a{min-width:1em}.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{padding-right:2.5em;margin-right:0}.wp-block-freeform.block-library-rich-text__tinymce blockquote{margin:0;box-shadow:inset 0 0 0 0 #ddd;border-right:4px solid #000;padding-right:1em}.wp-block-freeform.block-library-rich-text__tinymce pre{white-space:pre-wrap;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;color:#1e1e1e}.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]{padding:0 2px;margin:0 -2px;border-radius:2px;box-shadow:0 0 0 1px #e5f5fa;background:#e5f5fa}.wp-block-freeform.block-library-rich-text__tinymce code{padding:2px;border-radius:2px;color:#1e1e1e;background:#f0f0f0;font-family:Menlo,Consolas,monaco,monospace;font-size:14px}.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-right:auto;margin-left:auto}.wp-block-freeform.block-library-rich-text__tinymce .wp-more-tag{width:96%;height:20px;display:block;margin:15px auto;outline:0;cursor:default;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-size:1900px 20px;background-repeat:no-repeat;background-position:50%}.wp-block-freeform.block-library-rich-text__tinymce img::selection{background-color:initial}.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{padding-top:.5em;margin:0}.wp-block-freeform.block-library-rich-text__tinymce .wpview{width:99.99%;position:relative;clear:both;margin-bottom:16px;border:1px solid transparent}.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{display:block;max-width:100%;background:transparent}.wp-block-freeform.block-library-rich-text__tinymce .wpview .mce-shim{position:absolute;top:0;left:0;bottom:0;right: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{border:1px solid #ddd;padding:1em 0;margin:0;word-wrap:break-word}.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;margin:0 auto;width:32px;height:32px;font-size:32px}.wp-block-freeform.block-library-rich-text__tinymce .wpview.wpview-type-gallery:after{content:"";display:table;clear:both}.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{margin:auto -6px;padding:6px 0;line-height:1;overflow-x:hidden}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-item{float:right;margin:0;text-align:center;padding:6px;box-sizing:border-box}.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{max-width:100%;height:auto;border:none;padding:0}div[data-type="core/freeform"]:before{transition:border-color .1s linear,box-shadow .1s linear;border:1px solid #ddd;outline:1px solid transparent}@media (prefers-reduced-motion:reduce){div[data-type="core/freeform"]:before{transition-duration:0s;transition-delay: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{content:"";display:table;clear:both}.mce-toolbar-grp .mce-btn.mce-active:hover button,.mce-toolbar-grp .mce-btn.mce-active:hover i,.mce-toolbar-grp .mce-btn.mce-active button,.mce-toolbar-grp .mce-btn.mce-active 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{display:none;width:auto;position:sticky;z-index:31;top:0;border:1px solid #ddd;border-bottom:none;border-radius:2px;margin:0 0 8px;padding:0}div[data-type="core/freeform"].is-selected .block-library-classic__toolbar{display:block;border-color:#1e1e1e}.block-library-classic__toolbar .mce-tinymce{box-shadow:none}@media (min-width:600px){.block-library-classic__toolbar{padding:0}}.block-library-classic__toolbar:empty{display:block;background:#f5f5f5;border-bottom:1px solid #e2e4e7}.block-library-classic__toolbar:empty:before{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;content:attr(data-placeholder);color:#555d66;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}figure.wp-block-gallery{display:block;margin:0}figure.wp-block-gallery.has-nested-images .components-drop-zone{display:none;pointer-events:none}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;top:0;left:5px}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:before{box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";outline:2px solid transparent;position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;pointer-events:none}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{position:absolute;top:50%;right:50%;margin-top:-9px;margin-right:-9px}.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{display:flex;align-items:center;color:#757575;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{box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";outline:2px solid transparent;position:absolute;top:0;left:0;bottom:0;right: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{margin:0;height:100%}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{display:none;position:absolute;top:-2px;margin:8px;z-index:20;transition:box-shadow .2s ease-out;border-radius:2px;background:#fff;border:1px solid #1e1e1e}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-duration:0s;transition-delay:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 2px 6px rgba(0,0,0,.05)}@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{padding:0;width:inherit;height: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{padding:0;margin:0}.wp-block-update-gallery-modal{max-width:400px}.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons{display:flex;justify-content:flex-end}.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons .components-button{margin-right:12px}.wp-block-group .block-editor-block-list__insertion-point{right:0;left:0}[data-type="core/group"].is-selected .block-list-appender{margin-right:0;margin-left:0}[data-type="core/group"].is-selected .has-background .block-list-appender{margin-top:18px;margin-bottom:18px}.block-library-html__edit .block-library-html__preview-overlay{position:absolute;width:100%;height:100%;top:0;right:0}.block-library-html__edit .block-editor-plain-text{font-family:Menlo,Consolas,monaco,monospace!important;color:#1e1e1e!important;background:#fff!important;padding:12px!important;border:1px solid #1e1e1e!important;box-shadow:none!important;border-radius:2px!important;max-height:250px;font-size:16px!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}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;top:50%;right:50%;margin-top:-9px;margin-right:-9px}.wp-block-image:not(.is-style-rounded)>div:not(.components-placeholder){border-radius:inherit}.wp-block-image .components-resizable-box__container{display:inline-block}.wp-block-image .components-resizable-box__container img{display:block;width:inherit;height:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{position:absolute;right:0;left:0;margin:-1px 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{display:table-caption;caption-side:bottom}.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-right:auto;margin-left:auto;text-align:center}.wp-block-image__crop-area{position:relative;max-width:100%;width:100%}.wp-block-image__crop-icon{padding:0 8px;min-width:48px;display:flex;justify-content:center;align-items:center}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{overflow:visible;min-width:260px}.wp-block-image__zoom .components-range-control{flex:1}.wp-block-image__zoom .components-base-control__field{display:flex;margin-bottom:0;flex-direction:column;align-items:flex-start}.wp-block-image__aspect-ratio{height:46px;margin-bottom:-8px;display:flex;align-items:center}.wp-block-image__aspect-ratio .components-button{width:36px;padding-right:0;padding-left:0}.wp-block-latest-posts{padding-right:2.5em}.wp-block-latest-posts.is-grid{padding-right:0}.wp-block-latest-posts li a>div{display:inline}.edit-post-visual-editor .wp-block-latest-posts.is-grid li{margin-bottom:20px}.wp-block-media-text__media{position:relative}.wp-block-media-text__media.is-transient img{opacity:.3}.wp-block-media-text__media .components-spinner{position:absolute;top:50%;right:50%;margin-top:-9px;margin-right:-9px}.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"]{max-width:100%;text-align:center;margin-top:28px;margin-bottom:28px}.wp-block-more{display:block;text-align:center;white-space:nowrap}.wp-block-more input[type=text]{position:relative;font-size:13px;text-transform:uppercase;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;color:#757575;border:none;box-shadow:none;white-space:nowrap;text-align:center;margin:0;border-radius:4px;background:#fff;padding:6px 8px;height:24px;max-width:100%}.wp-block-more input[type=text]:focus{box-shadow:none}.wp-block-more:before{content:"";position:absolute;top:50%;right:0;left:0;border-top:3px dashed #ccc}.editor-styles-wrapper .wp-block-navigation ul{margin-top:0;margin-bottom:0;margin-right:0;padding-right:0}.editor-styles-wrapper .wp-block-navigation .wp-block-navigation-item.wp-block{margin-right:revert;margin-left:revert}.wp-block-navigation-item__label{display:inline}.wp-block-navigation__container.is-parent-of-selected-block{visibility:visible;opacity:1}.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{visibility:visible;opacity:1;display:flex;flex-direction:column}.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}.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{height:30px;position:relative;margin:0 auto;padding:3px;display:flex;align-items:center;border-radius:4px}.block-library-colors-selector .block-library-colors-selector__state-selection{margin-right:auto;margin-left:auto;border-radius:11px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);width:22px;min-width:22px;height:22px;min-height:22px;line-height:20px;padding:2px}.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 .block-editor-button-block-appender{justify-content:flex-start}.components-placeholder.wp-block-navigation-placeholder{outline:none;padding:0;box-shadow:none;background:none;min-height:0;color:inherit}.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}.is-selected .components-placeholder.wp-block-navigation-placeholder{color:#1e1e1e}.wp-block-navigation-placeholder .components-spinner{margin-top:-4px;margin-right:4px;vertical-align:middle;margin-left:7px}@keyframes loadingpulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.wp-block-navigation-placeholder__preview{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;width:100%;overflow:hidden}.wp-block-navigation-placeholder__preview.is-loading{animation:loadingpulse 1s linear infinite;animation-delay:.5s}.wp-block-navigation-placeholder__preview .wp-block-navigation-item.wp-block-navigation-item{position:relative;min-width:72px}.wp-block-navigation-placeholder__preview .wp-block-navigation-item.wp-block-navigation-item:before{display:block;content:"";border-radius:2px;background:currentColor;height:16px;width:100%}.wp-block-navigation-placeholder__preview .wp-block-navigation-placeholder__preview-search-icon{height:24px}.wp-block-navigation-placeholder__preview .wp-block-navigation-placeholder__preview-search-icon svg{fill:currentColor}.wp-block-navigation-placeholder__preview .wp-block-navigation-item.wp-block-navigation-item,.wp-block-navigation-placeholder__preview .wp-block-navigation-placeholder__preview-search-icon{opacity:.3}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__preview:not(.is-loading){display:flex;opacity:0;width:0;overflow:hidden;flex-wrap:nowrap;flex:0}.is-vertical.is-selected .wp-block-navigation-placeholder__preview:not(.is-loading),.wp-block-navigation.is-selected .is-medium .wp-block-navigation-placeholder__preview:not(.is-loading),.wp-block-navigation.is-selected .is-small .wp-block-navigation-placeholder__preview:not(.is-loading){display:none}.wp-block-navigation-placeholder__controls{padding:8px;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;flex-direction:row;align-items:center;display:none;position:relative;z-index:1;float:right;width:100%}.is-large .wp-block-navigation-placeholder__controls{padding:4px 8px}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls{display:flex}.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions,.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions,.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions{flex-direction:column}.is-selected.is-vertical .wp-block-navigation-placeholder__controls{display:inline-flex;padding:12px}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon{margin-left:12px;height:36px}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator{margin-left:12px;padding:0;align-items:center;justify-content:flex-start;line-height:0;margin-right:5px;display:none}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator svg{margin-left:4px}.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator{margin-bottom:4px;margin-right:0}.is-large .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator{display:inline-flex}.is-vertical .wp-block-navigation-placeholder,.is-vertical .wp-block-navigation-placeholder__controls,.is-vertical .wp-block-navigation-placeholder__preview{min-height:156px}.is-vertical .wp-block-navigation-placeholder__controls,.is-vertical .wp-block-navigation-placeholder__preview{flex-direction:column;align-items:flex-start}.wp-block-navigation-placeholder__actions{display:flex;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.wp-block-navigation-placeholder__actions .components-button.components-dropdown-menu__toggle.has-icon{padding:6px 12px 6px 4px;display:flex;flex-direction:row-reverse}.wp-block-navigation-placeholder__actions .components-dropdown,.wp-block-navigation-placeholder__actions>.components-button{margin-left:12px}@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{top:93px;right:36px}}@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}}@media (min-width:782px){.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{top:0;left:0;bottom:0;right:0}@media (min-width:600px){.wp-block-navigation__responsive-close{pointer-events:none}.wp-block-navigation__responsive-close .block-editor-block-list__layout *,.wp-block-navigation__responsive-close .wp-block-navigation__responsive-container-close{pointer-events:all}}.wp-block-navigation__responsive-close .wp-block-pages-list__item__link{pointer-events:none}.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{padding:0;height:auto;color:inherit}.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__unsaved-changes{position:relative}.wp-block-navigation__unsaved-changes .components-spinner{position:absolute;top:calc(50% - 9px);right:calc(50% - 9px);opacity:0;animation:fadein .5s linear 2s normal forwards}@keyframes fadeouthalf{0%{opacity:1}to{opacity:.5}}.wp-block-navigation__unsaved-changes-overlay.is-saving{opacity:1;animation:fadeouthalf .5s linear 2s normal forwards}.wp-block-navigation-delete-menu-button{width:100%;justify-content:center;margin-bottom:16px}.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{visibility:visible!important;opacity:1!important;min-width:200px!important;height:auto!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__placeholder{position:relative;text-decoration:none!important;box-shadow:none!important;background-image: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-size:6px 3px;background-repeat:repeat-x;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{font-size:11px;text-transform:uppercase;font-weight:500;color:#1e1e1e;margin-bottom:1.5em}.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{visibility:visible!important;opacity:1!important;min-width:200px!important;height:auto!important;width:auto!important;position:absolute;right:-1px;top:100%}@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{content:"";position:absolute;left:100%;height:100%;display:block;width:.5em;background:transparent}}.block-editor-block-list__block[data-type="core/nextpage"]{max-width:100%;text-align:center;margin-top:28px;margin-bottom:28px}.wp-block-nextpage{display:block;text-align:center;white-space:nowrap}.wp-block-nextpage>span{font-size:13px;position:relative;text-transform:uppercase;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;color:#757575;border-radius:4px;background:#fff;padding:6px 8px;height:24px}.wp-block-nextpage:before{content:"";position:absolute;top:50%;right:0;left:0;border-top:3px dashed #ccc}.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-pages-list__item__link{pointer-events:none}.wp-block-page-list .components-placeholder{min-height:0;padding:0;background-color:inherit}.wp-block-page-list .components-placeholder .components-spinner{margin:.5em}.wp-block-page-list-modal{max-width:400px}.wp-block-page-list-modal-buttons{display:flex;justify-content:flex-end}.wp-block-page-list-modal-buttons .components-button{margin-right:12px}.wp-block-page-list .open-on-click:focus-within>.wp-block-navigation__submenu-container{visibility:visible;opacity:1;width:auto;height:auto;min-width:200px}.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] [data-rich-text-placeholder]{opacity:0}.wp-block-post-excerpt .wp-block-post-excerpt__excerpt.is-inline{display:inline-block}.wp-block-pullquote.has-text-align-left p,.wp-block-pullquote.has-text-align-right p,.wp-block[data-align=left]>.wp-block-pullquote p,.wp-block[data-align=right]>.wp-block-pullquote p{font-size:20px}.wp-block-pullquote blockquote p{font-size:28px;line-height:1.6}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:32px}.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{text-transform:none;font-style:normal}.wp-block-pullquote .wp-block-pullquote__citation{color:inherit}.wp-block-rss li a>div{display:inline}.wp-block-rss__placeholder-form{display:flex;align-items:stretch}.wp-block-rss__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.wp-block-rss__placeholder-form>*{margin-bottom:0}}.wp-block-rss__placeholder-input{display:flex;align-items:stretch;flex-grow:1}.wp-block-rss__placeholder-input .components-base-control__field{display:flex;align-items:stretch;flex-grow:1;margin:0 0 0 8px}.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__button{height:auto;border-radius:initial;display:flex;align-items:center}.wp-block-search__components-button-group{margin-top:10px}.block-editor-block-list__block[data-type="core/separator"]{padding-top:.1px;padding-bottom:.1px}[data-type="core/shortcode"] .block-editor-plain-text{max-height:250px}[data-type="core/shortcode"].components-placeholder{min-height:0}.blocks-shortcode__textarea{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal}@media (prefers-reduced-motion:reduce){.blocks-shortcode__textarea{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.blocks-shortcode__textarea{font-size:13px;line-height:normal}}.blocks-shortcode__textarea:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.blocks-shortcode__textarea::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.blocks-shortcode__textarea::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.blocks-shortcode__textarea:-ms-input-placeholder{color:rgba(30,30,30,.62)}.wp-block[data-align=center]>.wp-block-site-logo{margin-right:auto;margin-left:auto;text-align:center}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo:not(.is-default-size){display:table}.wp-block-site-logo.is-default-size{width:120px}.wp-block-site-logo.is-default-size img{height:auto;width:100%}.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 .components-placeholder,.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container{border-radius:inherit}.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder{height:120px;width:120px}.wp-block-site-logo.wp-block-site-logo .components-placeholder{justify-content:center;align-items:center;box-shadow:none;padding:0;min-height:48px;min-width:48px;height:100%;width:100%;color:currentColor;background:transparent}.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-placeholder__preview{position:absolute;top:4px;left:4px;bottom:4px;right:4px;background:hsla(0,0%,100%,.8);display:flex;align-items:center;justify-content:center}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text{display:none}.wp-block-site-logo.wp-block-site-logo .components-placeholder:before{content:"";display:block;position:absolute;top:0;left:0;bottom:0;right:0;border:1px dashed;opacity:.3;pointer-events:none;border-radius:inherit}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__fieldset{width:auto}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{color:inherit;padding:0;display:flex;justify-content:center;align-items:center;width:48px;height:48px;border-radius:50%;position:relative;visibility:hidden;background:transparent;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{transition-duration:0s;transition-delay:0s}}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button>svg{color:#fff}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__illustration{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;stroke:currentColor;stroke-dasharray:3;opacity:.3}.wp-block-site-logo.wp-block-site-logo.is-selected .components-button.components-button{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-style:solid;color:#fff;opacity:1;visibility:visible}.wp-block-site-tagline__placeholder,.wp-block-site-title__placeholder{padding:1em 0;border:1px dashed}.wp-block-social-links .wp-social-link{line-height:0}.wp-block-social-links .wp-social-link button{font-size:inherit;color:currentColor;height:auto;line-height:0;padding:.25em}.wp-block-social-links.is-style-pill-shape .wp-social-link button{padding-right:.66667em;padding-left:.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-social-link:hover{transform:none}.editor-styles-wrapper .wp-block-social-links{padding:0}.wp-block-social-links__social-placeholder{display:flex;opacity:.8;list-style:none}.wp-block-social-links__social-placeholder>.wp-social-link{padding-right:0!important;margin-right:0!important;padding-left:0!important;margin-left:0!important;width:0!important;visibility:hidden}.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{display:flex}.wp-block-social-links__social-placeholder+.block-list-appender,.wp-block-social-links__social-placeholder .wp-social-link{padding:.25em}.is-style-pill-shape .wp-block-social-links__social-placeholder+.block-list-appender,.is-style-pill-shape .wp-block-social-links__social-placeholder .wp-social-link{padding-right:.66667em;padding-left:.66667em}.is-style-logos-only .wp-block-social-links__social-placeholder+.block-list-appender,.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{content:"";display:block;width:1em;height:1em;border-radius:50%}.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{list-style:none;order:2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:24px;margin-top:auto;margin-bottom:auto;cursor:default;padding-left:8px}.wp-block-social-links .wp-block-social-links__social-prompt+.block-list-appender{margin-left:8px;padding:.25em}.wp-block-social-links .block-list-appender{margin:4px 0 4px auto;border-radius:9999px}.wp-block-social-links .block-list-appender .block-editor-inserter{display:flex;align-items:center;justify-content:center;font-size:inherit;width:1em;height:1em}.has-small-icon-size .wp-block-social-links .block-list-appender{font-size:16px}.has-normal-icon-size .wp-block-social-links .block-list-appender{font-size:24px}.has-large-icon-size .wp-block-social-links .block-list-appender{font-size:36px}.has-huge-icon-size .wp-block-social-links .block-list-appender{font-size:48px}.wp-block-social-links .block-list-appender:before{content:none}.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-duration:0s;transition-delay: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;position:absolute;z-index:1;width:100%;min-height:8px;min-width:8px;height:100%}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container{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{background:hsla(0,0%,100%,.15)}.block-library-spacer__resize-container{clear:both}.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}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color);border-style:double}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)}.blocks-table__placeholder-form.blocks-table__placeholder-form{display:flex;flex-direction:column;align-items:flex-start}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{flex-direction:row;align-items:flex-end}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:0}}.blocks-table__placeholder-input{width:112px;margin-left:8px;margin-bottom:0}.blocks-table__placeholder-input input{height:36px}.blocks-table__placeholder-input .components-base-control__field{margin-bottom:0}.wp-block-template-part__placeholder-preview-dropdown-content .components-popover__content,.wp-block-template-part__preview-dropdown-content .components-popover__content{min-width:320px;padding:0}.wp-block-template-part__selection-preview-search-form{border-bottom:1px solid #ddd}.wp-block-template-part__selection-preview-container{background:#fff;padding-bottom:16px}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item{border-radius:2px;cursor:pointer;margin-top:16px;transition:all .05s ease-in-out;border:1px solid #ddd;width:100%;background-color:#fff}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item:hover{border:1px solid var(--wp-admin-theme-color)}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item:focus{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}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item.is-placeholder{min-height:100px}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item .block-editor-block-preview__container{border-bottom:1px solid #ddd}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item-title{padding:4px;font-size:12px;text-align:right}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-panel-group-header{padding:16px 16px 0}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-panel-group-content{padding:0 16px}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-panel-group-title{color:var(--wp-admin-theme-color);text-transform:uppercase;font-size:11px;font-weight:500}.wp-block-template-part__placeholder-create-new__title-form .wp-block-template-part__placeholder-create-new__title-form-actions{padding-top:12px;display:flex;justify-content:flex-end}.wp-block-template-part__placeholder-create-new__title-form .wp-block-template-part__placeholder-create-new__title-form-actions .components-flex-item{margin-right:12px}.wp-block-text-columns .block-editor-rich-text__editable:focus{outline:1px solid #ddd}.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{position:absolute;top:50%;right:50%;margin-top:-9px;margin-right:-9px}.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>.components-popover__content{width:360px}.block-library-video-tracks-editor__track-list-track{display:flex;place-content:space-between;align-items:baseline;padding-right:12px}.block-library-video-tracks-editor__single-track-editor-label-language{display:flex;margin-top:12px}.block-library-video-tracks-editor__single-track-editor-label-language>.components-base-control{width:50%}.block-library-video-tracks-editor__single-track-editor-label-language>.components-base-control:first-child{margin-left:16px}.block-library-video-tracks-editor__single-track-editor-kind-select{max-width:240px}.block-library-video-tracks-editor__single-track-editor-buttons-container{display:flex;place-content:space-between;margin-top:32px}.block-library-video-tracks-editor__single-track-editor-edit-track-label{margin-top:4px;margin-bottom:12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500;display:block}.block-library-video-tracks-editor>.components-popover__content>div,.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}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-base-control__label{margin-bottom:4px}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-base-control__field{margin-bottom:12px}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-text-control__input{margin-right:0}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-input-control__label{margin-bottom:4px}.editor-styles-wrapper ul.wp-block-post-template{padding-right:0;margin-right:0;list-style:none}.block-library-query-toolbar__popover .components-popover__content{min-width:230px}.wp-block-query__create-new-link{padding:0 56px 16px 16px}.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}.block-library-query-pagination-toolbar__popover .components-popover__content{min-width:230px}.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-top:.5em;margin-right:.5em;margin-bottom:.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}div[data-type="core/post-featured-image"] img{max-width:100%;height:auto;display:block}.editor-styles-wrapper .post-featured-image_placeholder{display:flex;flex-direction:row;align-items:center;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;padding:12px}.editor-styles-wrapper .post-featured-image_placeholder svg{margin-left:12px}.editor-styles-wrapper .post-featured-image_placeholder p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;margin:0}.block-library-post-featured-image-dimension-controls{margin-bottom:8px}.block-library-post-featured-image-dimension-controls.scale-control-is-visible{margin-bottom:16px}: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 .has-regular-font-size{font-size:16px}.editor-styles-wrapper .has-larger-font-size{font-size:42px} \ 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 76ae920a03..7dd08a4f12 100644 --- a/wp-includes/css/dist/block-library/editor.css +++ b/wp-includes/css/dist/block-library/editor.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,10 +74,6 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -#start-resizable-editor-section { - display: none; -} - ul.wp-block-archives { padding-left: 2.5em; } @@ -147,7 +149,6 @@ ul.wp-block-archives { .is-selected .wp-block-button__inline-link { height: auto; overflow: visible; - margin-top: 16px; } .wp-button-label__width .components-button-group { @@ -161,18 +162,14 @@ div[data-type="core/button"] { display: table; } -.wp-block > .wp-block-buttons { - display: flex; - flex-wrap: wrap; -} - .wp-block-buttons { /* stylelint-disable indentation */ } .wp-block-buttons > .wp-block { - margin-left: 0; - margin-top: 0.5em; - margin-right: 0.5em; + margin: 0; +} +.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 { display: inline-flex; @@ -217,7 +214,7 @@ div[data-type="core/button"] { margin-top: 6px; } -.wp-block-columns .wp-block { +.wp-block-columns :where(.wp-block) { max-width: none; margin-left: 0; margin-right: 0; @@ -225,12 +222,12 @@ div[data-type="core/button"] { @media (min-width: 600px) { .editor-styles-wrapper .block-editor-block-list__block.wp-block-column:nth-child(even) { - margin-left: 32px; + margin-left: var(--wp--style--block-gap, 2em); } } @media (min-width: 782px) { .editor-styles-wrapper .block-editor-block-list__block.wp-block-column:not(:first-child) { - margin-left: 32px; + margin-left: var(--wp--style--block-gap, 2em); } } .block-editor-block-list__block.wp-block-column.wp-block-column { @@ -238,10 +235,28 @@ div[data-type="core/button"] { margin-bottom: 0; } +.wp-block-cover { + /* Extra specificity needed because the reset.css applied in the editor context is overriding this rule. */ +} +.editor-styles-wrapper .wp-block-cover { + box-sizing: border-box; +} .wp-block-cover.is-placeholder { min-height: auto !important; padding: 0 !important; } +.wp-block-cover.is-placeholder .block-library-cover__resize-container { + display: none; +} +.wp-block-cover.is-placeholder .components-placeholder.is-large { + min-height: 240px; + justify-content: flex-start; + z-index: 1; +} +.wp-block-cover.is-placeholder .components-placeholder.is-large + .block-library-cover__resize-container { + min-height: 240px; + display: block; +} .wp-block-cover.components-placeholder h2 { color: inherit; } @@ -285,45 +300,15 @@ div[data-type="core/button"] { left: 0; right: 0; bottom: 0; + min-height: 50px; } .block-library-cover__resize-container:not(.is-resizing) { height: auto !important; } -.wp-block-cover > .components-drop-zone.is-active { - transition: 0.2s opacity, 0.2s border; -} -@media (prefers-reduced-motion: reduce) { - .wp-block-cover > .components-drop-zone.is-active { - transition-duration: 0s; - transition-delay: 0s; - } -} -.wp-block-cover > .components-drop-zone.is-dragging-over-element { - background-color: transparent; - border: 48px solid var(--wp-admin-theme-color); -} -.wp-block-cover > .components-drop-zone.is-dragging-over-element .components-drop-zone__content { - transform: none; -} .wp-block-cover > .components-drop-zone .components-drop-zone__content { - display: flex; - align-items: center; - top: -36px; - left: -36px; - transform: none; -} -.wp-block-cover > .components-drop-zone .components-drop-zone__content-icon, -.wp-block-cover > .components-drop-zone .components-drop-zone__content-text { - display: inline; -} -.wp-block-cover > .components-drop-zone .components-drop-zone__content-icon { - margin: 0; - margin-right: 8px; -} -.wp-block-cover > .components-drop-zone .components-drop-zone__content-text { - font-size: 13px; + opacity: 0.8 !important; } .block-editor-block-patterns-list__list-item .has-parallax.wp-block-cover { @@ -741,27 +726,91 @@ div[data-type="core/freeform"].is-selected .block-library-classic__toolbar { display: block; } -.wp-block-gallery li { - list-style-type: none; -} -.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label { - display: none; -} -.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button { - margin-bottom: 0; -} - figure.wp-block-gallery { display: block; margin: 0; } - -.blocks-gallery-grid.blocks-gallery-grid { - padding-left: 0; - margin-left: 0; +figure.wp-block-gallery.has-nested-images .components-drop-zone { + display: none; + pointer-events: none; +} +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; + top: 0; + right: 5px; +} +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::before { + box-shadow: 0 0 0 1px #fff inset, 0 0 0 3px var(--wp-admin-theme-color) inset; + content: ""; + outline: 2px solid transparent; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: none; +} +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 { + position: absolute; + top: 50%; + left: 50%; + margin-top: -9px; + margin-left: -9px; +} +/** + * Gallery inspector controls settings. + */ +.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 { + display: flex; + align-items: center; + color: #757575; + font-size: 12px; +} +.gallery-image-sizes .components-spinner { + margin: 0 8px 0 4px; +} + +/** + * Deprecated css past this point. This can be removed once all galleries are migrated + * to V2. + */ .blocks-gallery-item figure:not(.is-selected):focus, .blocks-gallery-item img:focus { outline: none; @@ -776,10 +825,6 @@ figure.wp-block-gallery { bottom: 0; left: 0; z-index: 1; - pointer-events: none; -} -.blocks-gallery-item figure.is-selected figcaption { - z-index: 2; } .blocks-gallery-item figure.is-transient img { opacity: 0.3; @@ -838,12 +883,20 @@ figure.wp-block-gallery { right: -2px; } -.blocks-gallery-item .components-spinner { - position: absolute; - top: 50%; - left: 50%; - margin-top: -9px; - margin-left: -9px; +.wp-block-gallery ul.blocks-gallery-grid { + padding: 0; + margin: 0; +} + +.wp-block-update-gallery-modal { + max-width: 400px; +} +.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons { + display: flex; + justify-content: flex-end; +} +.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons .components-button { + margin-left: 12px; } /** @@ -863,20 +916,6 @@ figure.wp-block-gallery { margin-bottom: 18px; } -.block-library-heading-level-dropdown .components-popover__content { - min-width: 230px; -} -.block-library-heading-level-dropdown .components-popover__content > div { - padding: 0; -} - -.block-library-heading-level-toolbar { - border: none; -} - -.block-library-html__edit { - margin-bottom: 28px; -} .block-library-html__edit .block-library-html__preview-overlay { position: absolute; width: 100%; @@ -885,22 +924,26 @@ figure.wp-block-gallery { left: 0; } .block-library-html__edit .block-editor-plain-text { - font-family: Menlo, Consolas, monaco, monospace; - color: #1e1e1e; - padding: 0.8em 1em; - border: 1px solid #ddd; - border-radius: 4px; + font-family: Menlo, Consolas, monaco, monospace !important; + color: #1e1e1e !important; + background: #fff !important; + padding: 12px !important; + border: 1px solid #1e1e1e !important; + box-shadow: none !important; + border-radius: 2px !important; max-height: 250px; /* Fonts smaller than 16px causes mobile safari to zoom. */ - font-size: 16px; + font-size: 16px !important; } @media (min-width: 600px) { .block-library-html__edit .block-editor-plain-text { - font-size: 13px; + font-size: 13px !important; } } .block-library-html__edit .block-editor-plain-text:focus { - box-shadow: none; + 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; } figure.wp-block-image:not(.wp-block) { @@ -923,7 +966,7 @@ figure.wp-block-image:not(.wp-block) { margin-top: -9px; margin-left: -9px; } -.wp-block-image:not(.is-style-rounded) > div { +.wp-block-image:not(.is-style-rounded) > div:not(.components-placeholder) { border-radius: inherit; } @@ -950,6 +993,7 @@ figure.wp-block-image:not(.wp-block) { [data-align=wide] > .wp-block-image img, [data-align=full] > .wp-block-image img { + height: auto; width: 100%; } @@ -1043,6 +1087,20 @@ figure.wp-block-image:not(.wp-block) { margin-bottom: 20px; } +.wp-block-media-text__media { + position: relative; +} +.wp-block-media-text__media.is-transient img { + opacity: 0.3; +} +.wp-block-media-text__media .components-spinner { + position: absolute; + top: 50%; + left: 50%; + margin-top: -9px; + margin-left: -9px; +} + .wp-block-media-text .__resizable_base__ { grid-column: 1/span 2; grid-row: 2; @@ -1111,6 +1169,14 @@ figure.wp-block-image:not(.wp-block) { margin-left: 0; padding-left: 0; } +.editor-styles-wrapper .wp-block-navigation .wp-block-navigation-item.wp-block { + margin-left: revert; + margin-right: revert; +} + +.wp-block-navigation-item__label { + display: inline; +} /** * Submenus. @@ -1121,22 +1187,22 @@ figure.wp-block-image:not(.wp-block) { } .wp-block-navigation__container, -.wp-block-navigation-link { +.wp-block-navigation-item { background-color: inherit; } -.wp-block-navigation:not(.is-selected):not(.has-child-selected) .has-child:hover > .wp-block-navigation-link__container { +.wp-block-navigation:not(.is-selected):not(.has-child-selected) .has-child:hover > .wp-block-navigation__submenu-container { opacity: 0; visibility: hidden; } -.has-child.is-selected > .wp-block-navigation-link__container, .has-child.has-child-selected > .wp-block-navigation-link__container { +.has-child.is-selected > .wp-block-navigation__submenu-container, .has-child.has-child-selected > .wp-block-navigation__submenu-container { display: flex; opacity: 1; visibility: visible; } -.is-dragging-components-draggable .has-child.is-dragging-within > .wp-block-navigation-link__container { +.is-dragging-components-draggable .has-child.is-dragging-within > .wp-block-navigation__submenu-container { opacity: 1; visibility: visible; } @@ -1244,6 +1310,17 @@ figure.wp-block-image:not(.wp-block) { margin-right: 7px; } +@keyframes loadingpulse { + 0% { + opacity: 1; + } + 50% { + opacity: 0.5; + } + 100% { + opacity: 1; + } +} .wp-block-navigation-placeholder__preview { display: flex; flex-direction: row; @@ -1252,11 +1329,15 @@ figure.wp-block-image:not(.wp-block) { width: 100%; overflow: hidden; } -.wp-block-navigation-placeholder__preview .wp-block-navigation-link.wp-block-navigation-link { +.wp-block-navigation-placeholder__preview.is-loading { + animation: loadingpulse 1s linear infinite; + animation-delay: 0.5s; +} +.wp-block-navigation-placeholder__preview .wp-block-navigation-item.wp-block-navigation-item { position: relative; min-width: 72px; } -.wp-block-navigation-placeholder__preview .wp-block-navigation-link.wp-block-navigation-link::before { +.wp-block-navigation-placeholder__preview .wp-block-navigation-item.wp-block-navigation-item::before { display: block; content: ""; border-radius: 2px; @@ -1264,24 +1345,25 @@ figure.wp-block-image:not(.wp-block) { height: 16px; width: 100%; } -.wp-block-navigation-placeholder__preview svg { +.wp-block-navigation-placeholder__preview .wp-block-navigation-placeholder__preview-search-icon { + height: 24px; +} +.wp-block-navigation-placeholder__preview .wp-block-navigation-placeholder__preview-search-icon svg { fill: currentColor; } -.wp-block-navigation-placeholder__preview .wp-block-navigation-link.wp-block-navigation-link, -.wp-block-navigation-placeholder__preview svg { +.wp-block-navigation-placeholder__preview .wp-block-navigation-item.wp-block-navigation-item, +.wp-block-navigation-placeholder__preview .wp-block-navigation-placeholder__preview-search-icon { opacity: 0.3; } -.wp-block-navigation.is-selected .wp-block-navigation-placeholder__preview { +.wp-block-navigation.is-selected .wp-block-navigation-placeholder__preview:not(.is-loading) { display: flex; opacity: 0; width: 0; overflow: hidden; flex-wrap: nowrap; + flex: 0; } -.wp-block-navigation.is-selected .is-small .wp-block-navigation-placeholder__preview { - display: none; -} -.wp-block-navigation.is-selected .is-medium .wp-block-navigation-placeholder__preview { +.is-vertical.is-selected .wp-block-navigation-placeholder__preview:not(.is-loading), .wp-block-navigation.is-selected .is-small .wp-block-navigation-placeholder__preview:not(.is-loading), .wp-block-navigation.is-selected .is-medium .wp-block-navigation-placeholder__preview:not(.is-loading) { display: none; } @@ -1371,23 +1453,66 @@ figure.wp-block-image:not(.wp-block) { } } -@media (min-width: 600px) { - .components-button.wp-block-navigation__responsive-container-open { - display: none; - } -} - .wp-block-navigation__responsive-container.is-menu-open { position: fixed; -} -body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { top: 155px; } @media (min-width: 782px) { - body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { + .wp-block-navigation__responsive-container.is-menu-open { + top: 93px; + } +} +@media (min-width: 782px) { + .wp-block-navigation__responsive-container.is-menu-open { + left: 36px; + } +} +@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; } } +@media (min-width: 782px) { + .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 { + top: 0; + right: 0; + bottom: 0; + left: 0; +} @media (min-width: 600px) { .wp-block-navigation__responsive-close { @@ -1413,9 +1538,42 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { margin-top: 16px; } -.wp-block-navigation-link__container { - border-radius: 0; - min-height: 36px; +@keyframes fadein { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +.wp-block-navigation__unsaved-changes { + position: relative; +} +.wp-block-navigation__unsaved-changes .components-spinner { + position: absolute; + top: calc(50% - 18px / 2); + left: calc(50% - 18px / 2); + opacity: 0; + animation: 0.5s linear 2s normal forwards fadein; +} + +@keyframes fadeouthalf { + 0% { + opacity: 1; + } + 100% { + opacity: 0.5; + } +} +.wp-block-navigation__unsaved-changes-overlay.is-saving { + opacity: 1; + animation: 0.5s linear 2s normal forwards fadeouthalf; +} + +.wp-block-navigation-delete-menu-button { + width: 100%; + justify-content: center; + margin-bottom: 16px; } /** @@ -1424,80 +1582,118 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { .wp-block-navigation .has-child { cursor: pointer; } -.wp-block-navigation .has-child .submenu-container, -.wp-block-navigation .has-child .wp-block-navigation-link__container { +.wp-block-navigation .has-child .wp-block-navigation__submenu-container { z-index: 28; } -.wp-block-navigation .has-child:hover .submenu-container, -.wp-block-navigation .has-child:hover .wp-block-navigation-link__container { +.wp-block-navigation .has-child:hover .wp-block-navigation__submenu-container { z-index: 29; } -.wp-block-navigation .has-child.is-selected > .wp-block-navigation-link__container, .wp-block-navigation .has-child.has-child-selected > .wp-block-navigation-link__container { +.wp-block-navigation .has-child.is-selected > .wp-block-navigation__submenu-container, .wp-block-navigation .has-child.has-child-selected > .wp-block-navigation__submenu-container { visibility: visible !important; opacity: 1 !important; + min-width: 200px !important; + height: auto !important; + width: auto !important; } /** * Navigation Items. */ -.wp-block-navigation-link .wp-block-navigation-link__container { - display: block; -} -.wp-block-navigation-link .wp-block-navigation-link__content { +.wp-block-navigation-item .wp-block-navigation-item__content { cursor: text; } -.wp-block-navigation-link.is-editing, .wp-block-navigation-link.is-selected { +.wp-block-navigation-item.is-editing, .wp-block-navigation-item.is-selected { min-width: 20px; } -.wp-block-navigation-link .block-list-appender { +.wp-block-navigation-item .block-list-appender { margin-top: 16px; margin-right: auto; margin-bottom: 16px; margin-left: 16px; } -.wp-block-navigation .block-editor-block-list__block[data-type="core/navigation-link"] > .block-editor-block-list__insertion-point { - display: none; -} - /** * Menu item setup state. Is shown when a menu item has no URL configured. */ .wp-block-navigation-link__placeholder { position: relative; - margin: 2px; + text-decoration: none !important; + box-shadow: none !important; + background-image: none !important; } -.wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text { - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; - font-size: 13px; - padding-left: 4px; - padding-right: 4px; +.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-size: 6px 3px; + background-repeat: repeat-x; + padding-bottom: 0.1em; } -.wp-block-navigation-link__placeholder.wp-block-navigation-link__content { +.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; } -.wp-block-navigation-link__placeholder::before { - content: ""; - display: block; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - border-radius: 2px; - opacity: 0.1; -} -.is-dark-theme .wp-block-navigation-link__placeholder::before { - opacity: 0.2; -} -.is-editing .wp-block-navigation-link__placeholder::before { - background: currentColor; + +/** +* Link Control Transforms +*/ +.link-control-transform { + border-top: 1px solid #ccc; + padding: 0 16px 8px 16px; } -.wp-block-navigation .wp-block-navigation-link:not(.is-editing) .wp-block-navigation-link__content.wp-block-navigation-link__placeholder { - box-shadow: inset 0 0 0 1px #757575; - border-radius: 2px; - color: var(--wp-admin-theme-color); +.link-control-transform__subheading { + font-size: 11px; + text-transform: uppercase; + font-weight: 500; + color: #1e1e1e; + margin-bottom: 1.5em; +} + +.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.is-selected > .wp-block-navigation__submenu-container, .wp-block-navigation-submenu.has-child-selected > .wp-block-navigation__submenu-container { + visibility: visible !important; + opacity: 1 !important; + min-width: 200px !important; + height: auto !important; + width: auto !important; + position: absolute; + left: -1px; + top: 100%; +} +@media (min-width: 782px) { + .wp-block-navigation-submenu.is-selected > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container, .wp-block-navigation-submenu.has-child-selected > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { + left: 100%; + top: -1px; + } + .wp-block-navigation-submenu.is-selected > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container::before, .wp-block-navigation-submenu.has-child-selected > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container::before { + content: ""; + position: absolute; + right: 100%; + height: 100%; + display: block; + width: 0.5em; + background: transparent; + } } .block-editor-block-list__block[data-type="core/nextpage"] { @@ -1571,6 +1767,14 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { margin-left: 12px; } +.wp-block-page-list .open-on-click:focus-within > .wp-block-navigation__submenu-container { + visibility: visible; + opacity: 1; + width: auto; + height: auto; + min-width: 200px; +} + .block-editor-block-list__block[data-type="core/paragraph"].has-drop-cap:focus { min-height: auto !important; } @@ -1583,50 +1787,12 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { opacity: 0; } -.wp-block-post-content__placeholder { - height: 100px; - border: 1px dashed; - display: flex; - justify-content: center; - align-items: center; -} -.wp-block-post-content__placeholder span { - font-style: italic; -} - .wp-block-post-excerpt .wp-block-post-excerpt__excerpt.is-inline { display: inline-block; } -.wp-block-post-author { - display: flex; - flex-wrap: wrap; -} -.wp-block-post-author .wp-block-post-author__byline { - font-size: 0.5em; - margin-top: 0; - position: relative; - font-style: normal; -} -.wp-block-post-author .wp-block-post-author__content { - flex-grow: 1; - flex-basis: 0; -} -.wp-block-post-author .wp-block-post-author__avatar img { - margin: 0; -} -.wp-block-post-author .wp-block-post-author__avatar { - margin-bottom: -8px; -} -.wp-block-post-author .wp-block-post-author__name { - margin: 0; - font-weight: bold; -} -.wp-block-post-author .wp-block-post-author__bio { - margin: 0 0 8px; - font-size: 0.7em; -} - +.wp-block-pullquote.has-text-align-left p, +.wp-block-pullquote.has-text-align-right p, .wp-block[data-align=left] > .wp-block-pullquote p, .wp-block[data-align=right] > .wp-block-pullquote p { font-size: 20px; @@ -1683,18 +1849,11 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { margin: auto; } -.wp-block-search .wp-block-search__input { - padding: 8px; -} -.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper { - padding: 4px; -} .wp-block-search .wp-block-search__button { height: auto; border-radius: initial; -} -.wp-block-search .wp-block-search__button.wp-block-search__button.wp-block-search__button { - padding: 6px 10px; + display: flex; + align-items: center; } .wp-block-search__components-button-group { margin-top: 10px; @@ -1769,6 +1928,7 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { width: 120px; } .wp-block-site-logo.is-default-size img { + height: auto; width: 100%; } .wp-block-site-logo .custom-logo-link { @@ -1782,26 +1942,34 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { } .wp-block-site-logo img { display: block; + height: auto; max-width: 100%; } -.wp-block-site-logo .components-placeholder { - justify-content: flex-start; - min-height: auto; + +.wp-block-site-logo.wp-block-site-logo .components-placeholder, +.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container { + border-radius: inherit; +} +.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder { height: 120px; - padding: 12px; + width: 120px; } -.wp-block-site-logo .components-placeholder .components-placeholder__label { - margin-top: 12px; - white-space: nowrap; +.wp-block-site-logo.wp-block-site-logo .components-placeholder { + justify-content: center; + align-items: center; + box-shadow: none; + padding: 0; + min-height: 48px; + min-width: 48px; + height: 100%; + width: 100%; + color: currentColor; + background: transparent; } -.wp-block-site-logo .components-placeholder .components-placeholder__label .block-editor-block-icon, -.wp-block-site-logo .components-placeholder .components-placeholder__label > svg { - margin-right: 4px; -} -.wp-block-site-logo .components-placeholder .components-form-file-upload { +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-form-file-upload { display: none; } -.wp-block-site-logo .components-placeholder .components-placeholder__preview { +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__preview { position: absolute; top: 4px; right: 4px; @@ -1812,9 +1980,68 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { align-items: center; justify-content: center; } -.wp-block-site-logo .components-placeholder .components-drop-zone__content-text { +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text { display: none; } +.wp-block-site-logo.wp-block-site-logo .components-placeholder::before { + content: ""; + display: block; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border: 1px dashed currentColor; + opacity: 0.3; + pointer-events: none; + border-radius: inherit; +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__fieldset { + width: auto; +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button { + color: inherit; + padding: 0; + display: flex; + justify-content: center; + align-items: center; + width: 48px; + height: 48px; + border-radius: 50%; + position: relative; + visibility: hidden; + background: transparent; + transition: all 0.1s linear; +} +@media (prefers-reduced-motion: reduce) { + .wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button { + transition-duration: 0s; + transition-delay: 0s; + } +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button > svg { + color: #fff; +} +.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__illustration { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + stroke: currentColor; + stroke-dasharray: 3; + opacity: 0.3; +} +.wp-block-site-logo.wp-block-site-logo.is-selected .components-button.components-button { + background: var(--wp-admin-theme-color); + border-color: var(--wp-admin-theme-color); + border-style: solid; + color: #fff; + opacity: 1; + visibility: visible; +} .wp-block-site-tagline__placeholder { padding: 1em 0; @@ -1842,6 +2069,10 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { padding-right: calc((2/3) * 1em); } +.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; @@ -1880,6 +2111,10 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { padding-left: calc((2/3) * 1em); padding-right: calc((2/3) * 1em); } +.is-style-logos-only .wp-block-social-links__social-placeholder + .block-list-appender, +.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 { content: ""; display: block; @@ -1963,9 +2198,11 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { content: ""; display: block; position: absolute; + z-index: 1; width: 100%; - height: 24px; - transform: translateY(-12px); + min-height: 8px; + min-width: 8px; + height: 100%; } .wp-block-spacer.is-hovered .block-library-spacer__resize-container, @@ -2057,17 +2294,6 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { margin-bottom: 0; } -.wp-block-tag-cloud a { - display: inline-block; - margin-right: 5px; -} -.wp-block-tag-cloud span { - display: inline-block; - margin-left: 5px; - color: #757575; - text-decoration: none; -} - .wp-block-template-part__placeholder-preview-dropdown-content .components-popover__content, .wp-block-template-part__preview-dropdown-content .components-popover__content { min-width: 320px; @@ -2087,7 +2313,7 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { cursor: pointer; margin-top: 16px; transition: all 0.05s ease-in-out; - border: 1px solid transparent; + border: 1px solid #ddd; width: 100%; background-color: #fff; } @@ -2101,6 +2327,9 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { .wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item.is-placeholder { min-height: 100px; } +.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item .block-editor-block-preview__container { + border-bottom: 1px solid #ddd; +} .wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item-title { padding: 4px; font-size: 12px; @@ -2119,11 +2348,13 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { font-weight: 500; } -.block-editor-block-list__block[data-type="core/template-part"].has-child-selected::after { - border: 1px dotted var(--wp-admin-theme-color); +.wp-block-template-part__placeholder-create-new__title-form .wp-block-template-part__placeholder-create-new__title-form-actions { + padding-top: 12px; + display: flex; + justify-content: flex-end; } -.block-editor-block-list__block[data-type="core/template-part"].has-child-selected.is-hovered::after, .block-editor-block-list__block[data-type="core/template-part"].has-child-selected.is-highlighted::after { - border: none; +.wp-block-template-part__placeholder-create-new__title-form .wp-block-template-part__placeholder-create-new__title-form-actions .components-flex-item { + margin-left: 12px; } .wp-block-text-columns .block-editor-rich-text__editable:focus { @@ -2229,11 +2460,6 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { margin-bottom: 4px; } -.wp-block-query-title__placeholder { - padding: 1em 0; - border: 1px dashed; -} - .editor-styles-wrapper ul.wp-block-post-template { padding-left: 0; margin-left: 0; @@ -2248,10 +2474,8 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { padding: 0 16px 16px 56px; } -.wp-block > .wp-block-query-pagination { - display: flex; - flex-wrap: wrap; - flex-direction: row; +.wp-block[data-align=center] > .wp-block-query-pagination { + justify-content: center; } .editor-styles-wrapper .wp-block-query-pagination { @@ -2268,7 +2492,6 @@ body.admin-bar .wp-block-navigation__responsive-container.is-menu-open { .wp-block-query-pagination > .wp-block-query-pagination-next, .wp-block-query-pagination > .wp-block-query-pagination-previous, .wp-block-query-pagination > .wp-block-query-pagination-numbers { - display: inline-block; margin-left: 0; margin-top: 0.5em; /*rtl:ignore*/ @@ -2302,7 +2525,7 @@ div[data-type="core/post-featured-image"] img { .editor-styles-wrapper .post-featured-image_placeholder { display: flex; flex-direction: row; - align-items: flex-start; + align-items: center; border-radius: 2px; background-color: #fff; box-shadow: inset 0 0 0 1px #1e1e1e; @@ -2317,141 +2540,42 @@ div[data-type="core/post-featured-image"] img { margin: 0; } -.wp-block-term-description__placeholder { - padding: 1em 0; - border: 1px dashed; +.block-library-post-featured-image-dimension-controls { + margin-bottom: 8px; +} +.block-library-post-featured-image-dimension-controls.scale-control-is-visible { + margin-bottom: 16px; } :root .editor-styles-wrapper { + /* + * Our classes uses the same values we set for gradient value attributes, + * and we can not use spacing because of WP multi site kses rule. + */ /* stylelint-disable function-comma-space-after */ /* stylelint-enable function-comma-space-after */ } -:root .editor-styles-wrapper .has-pale-pink-background-color { - background-color: #f78da7; -} -:root .editor-styles-wrapper .has-vivid-red-background-color { - background-color: #cf2e2e; -} -:root .editor-styles-wrapper .has-luminous-vivid-orange-background-color { - background-color: #ff6900; -} -:root .editor-styles-wrapper .has-luminous-vivid-amber-background-color { - background-color: #fcb900; -} -:root .editor-styles-wrapper .has-light-green-cyan-background-color { - background-color: #7bdcb5; -} -:root .editor-styles-wrapper .has-vivid-green-cyan-background-color { - background-color: #00d084; -} -:root .editor-styles-wrapper .has-pale-cyan-blue-background-color { - background-color: #8ed1fc; -} -:root .editor-styles-wrapper .has-vivid-cyan-blue-background-color { - background-color: #0693e3; -} -:root .editor-styles-wrapper .has-vivid-purple-background-color { - background-color: #9b51e0; -} -:root .editor-styles-wrapper .has-white-background-color { - background-color: #fff; -} :root .editor-styles-wrapper .has-very-light-gray-background-color { background-color: #eee; } -:root .editor-styles-wrapper .has-cyan-bluish-gray-background-color { - background-color: #abb8c3; -} :root .editor-styles-wrapper .has-very-dark-gray-background-color { background-color: #313131; } -:root .editor-styles-wrapper .has-black-background-color { - background-color: #000; -} -:root .editor-styles-wrapper .has-pale-pink-color { - color: #f78da7; -} -:root .editor-styles-wrapper .has-vivid-red-color { - color: #cf2e2e; -} -:root .editor-styles-wrapper .has-luminous-vivid-orange-color { - color: #ff6900; -} -:root .editor-styles-wrapper .has-luminous-vivid-amber-color { - color: #fcb900; -} -:root .editor-styles-wrapper .has-light-green-cyan-color { - color: #7bdcb5; -} -:root .editor-styles-wrapper .has-vivid-green-cyan-color { - color: #00d084; -} -:root .editor-styles-wrapper .has-pale-cyan-blue-color { - color: #8ed1fc; -} -:root .editor-styles-wrapper .has-vivid-cyan-blue-color { - color: #0693e3; -} -:root .editor-styles-wrapper .has-vivid-purple-color { - color: #9b51e0; -} -:root .editor-styles-wrapper .has-white-color { - color: #fff; -} :root .editor-styles-wrapper .has-very-light-gray-color { color: #eee; } -:root .editor-styles-wrapper .has-cyan-bluish-gray-color { - color: #abb8c3; -} :root .editor-styles-wrapper .has-very-dark-gray-color { color: #313131; } -:root .editor-styles-wrapper .has-black-color { - color: #000; -} -:root .editor-styles-wrapper .has-vivid-cyan-blue-to-vivid-purple-gradient-background { - background: linear-gradient(135deg, #0693e3 0%, #9b51e0 100%); -} :root .editor-styles-wrapper .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background { background: linear-gradient(135deg, #00d084 0%, #0693e3 100%); } -:root .editor-styles-wrapper .has-light-green-cyan-to-vivid-green-cyan-gradient-background { - background: linear-gradient(135deg, #7adcb4 0%, #00d082 100%); -} -:root .editor-styles-wrapper .has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background { - background: linear-gradient(135deg, #fcb900 0%, #ff6900 100%); -} -:root .editor-styles-wrapper .has-luminous-vivid-orange-to-vivid-red-gradient-background { - background: linear-gradient(135deg, #ff6900 0%, #cf2e2e 100%); -} -:root .editor-styles-wrapper .has-very-light-gray-to-cyan-bluish-gray-gradient-background { - background: linear-gradient(135deg, #eeeeee 0%, #a9b8c3 100%); -} -:root .editor-styles-wrapper .has-cool-to-warm-spectrum-gradient-background { - background: linear-gradient(135deg, #4aeadc 0%, #9778d1 20%, #cf2aba 40%, #ee2c82 60%, #fb6962 80%, #fef84c 100%); -} -:root .editor-styles-wrapper .has-blush-light-purple-gradient-background { - background: linear-gradient(135deg, #ffceec 0%, #9896f0 100%); -} -:root .editor-styles-wrapper .has-blush-bordeaux-gradient-background { - background: linear-gradient(135deg, #fecda5 0%, #fe2d2d 50%, #6b003e 100%); -} :root .editor-styles-wrapper .has-purple-crush-gradient-background { background: linear-gradient(135deg, #34e2e4 0%, #4721fb 50%, #ab1dfe 100%); } -:root .editor-styles-wrapper .has-luminous-dusk-gradient-background { - background: linear-gradient(135deg, #ffcb70 0%, #c751c0 50%, #4158d0 100%); -} :root .editor-styles-wrapper .has-hazy-dawn-gradient-background { background: linear-gradient(135deg, #faaca8 0%, #dad0ec 100%); } -:root .editor-styles-wrapper .has-pale-ocean-gradient-background { - background: linear-gradient(135deg, #fff5cb 0%, #b6e3d4 50%, #33a7b5 100%); -} -:root .editor-styles-wrapper .has-electric-grass-gradient-background { - background: linear-gradient(135deg, #caf880 0%, #71ce7e 100%); -} :root .editor-styles-wrapper .has-subdued-olive-gradient-background { background: linear-gradient(135deg, #fafae1 0%, #67a671 100%); } @@ -2465,25 +2589,11 @@ div[data-type="core/post-featured-image"] img { background: linear-gradient(135deg, #020381 0%, #2874fc 100%); } -.editor-styles-wrapper .has-small-font-size { - font-size: 13px; -} - -.editor-styles-wrapper .has-regular-font-size, -.editor-styles-wrapper .has-normal-font-size { +.editor-styles-wrapper .has-regular-font-size { font-size: 16px; } -.editor-styles-wrapper .has-medium-font-size { - font-size: 20px; -} - -.editor-styles-wrapper .has-large-font-size { - font-size: 36px; -} - -.editor-styles-wrapper .has-larger-font-size, -.editor-styles-wrapper .has-huge-font-size { +.editor-styles-wrapper .has-larger-font-size { font-size: 42px; } @@ -2492,7 +2602,4 @@ div[data-type="core/post-featured-image"] img { * * These are only output in the editor, but styles here are NOT prefixed .editor-styles-wrapper. * This allows us to create normalization styles that are easily overridden by editor styles. - */ -#end-resizable-editor-section { - display: none; -} \ No newline at end of file + */ \ 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 0ac05b0948..a48cad8b94 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 @@ -#start-resizable-editor-section{display:none}ul.wp-block-archives{padding-left:2.5em}.wp-block-audio{margin-left:0;margin-right:0}.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}.wp-block[data-align=center]>.wp-block-button{text-align:center;margin-left:auto;margin-right:auto}.wp-block[data-align=right]>.wp-block-button{ - /*!rtl:ignore*/text-align:right}.wp-block-button{position:relative;cursor:text}.wp-block-button:not(.has-text-color):not(.is-style-outline) [data-rich-text-placeholder]:after{color:#fff}.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;overflow:hidden;max-width:290px}.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;margin-top:16px}.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}.wp-block>.wp-block-buttons{display:flex;flex-wrap:wrap}.wp-block-buttons>.wp-block{margin-left:0;margin-top:.5em;margin-right:.5em}.wp-block-buttons>.block-list-appender{display:inline-flex;align-items:center}.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}.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}.wp-block-columns .wp-block{max-width:none;margin-left:0;margin-right:0}@media (min-width:600px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:nth-child(2n){margin-left:32px}}@media (min-width:782px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:not(:first-child){margin-left:32px}}.block-editor-block-list__block.wp-block-column.wp-block-column{margin-top:0;margin-bottom:0}.wp-block-cover.is-placeholder{min-height:auto!important;padding:0!important}.wp-block-cover.components-placeholder h2{color:inherit}.wp-block-cover.is-transient:before{background-color:#fff;opacity:.3}.wp-block-cover .components-spinner{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}.wp-block-cover .block-editor-block-list__layout{width:100%}.wp-block-cover .wp-block-cover__inner-container{text-align:left;margin-left:0;margin-right:0}.wp-block-cover .wp-block-cover__placeholder-background-options{width:100%}[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{position:absolute!important;top:0;left:0;right:0;bottom:0}.block-library-cover__resize-container:not(.is-resizing){height:auto!important}.wp-block-cover>.components-drop-zone.is-active{transition:opacity .2s,border .2s}@media (prefers-reduced-motion:reduce){.wp-block-cover>.components-drop-zone.is-active{transition-duration:0s;transition-delay:0s}}.wp-block-cover>.components-drop-zone.is-dragging-over-element{background-color:initial;border:48px solid var(--wp-admin-theme-color)}.wp-block-cover>.components-drop-zone.is-dragging-over-element .components-drop-zone__content{transform:none}.wp-block-cover>.components-drop-zone .components-drop-zone__content{display:flex;align-items:center;top:-36px;left:-36px;transform:none}.wp-block-cover>.components-drop-zone .components-drop-zone__content-icon,.wp-block-cover>.components-drop-zone .components-drop-zone__content-text{display:inline}.wp-block-cover>.components-drop-zone .components-drop-zone__content-icon{margin:0 8px 0 0}.wp-block-cover>.components-drop-zone .components-drop-zone__content-text{font-size:13px}.block-editor-block-patterns-list__list-item .has-parallax.wp-block-cover{background-attachment:scroll}.wp-block-embed{margin-left:0;margin-right:0;clear:both}.wp-block-embed.is-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1em;min-height:200px;text-align:center;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e}.wp-block-embed.is-loading p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.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{position:absolute;top:0;left:0;right:0;bottom:0;opacity: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{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;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{margin-bottom:1em;width:100%;height:100%}.wp-block-file .wp-block-file__preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.wp-block-file .wp-block-file__content-wrapper{flex-grow:1}.wp-block-file a{min-width:1em}.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{padding-left:2.5em;margin-left:0}.wp-block-freeform.block-library-rich-text__tinymce blockquote{margin:0;box-shadow:inset 0 0 0 0 #ddd;border-left:4px solid #000;padding-left:1em}.wp-block-freeform.block-library-rich-text__tinymce pre{white-space:pre-wrap;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;color:#1e1e1e}.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]{padding:0 2px;margin:0 -2px;border-radius:2px;box-shadow:0 0 0 1px #e5f5fa;background:#e5f5fa}.wp-block-freeform.block-library-rich-text__tinymce code{padding:2px;border-radius:2px;color:#1e1e1e;background:#f0f0f0;font-family:Menlo,Consolas,monaco,monospace;font-size:14px}.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{width:96%;height:20px;display:block;margin:15px auto;outline:0;cursor:default;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-size:1900px 20px;background-repeat:no-repeat;background-position:50%}.wp-block-freeform.block-library-rich-text__tinymce img::selection{background-color:initial}.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{padding-top:.5em;margin:0}.wp-block-freeform.block-library-rich-text__tinymce .wpview{width:99.99%;position:relative;clear:both;margin-bottom:16px;border:1px solid transparent}.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{display:block;max-width:100%;background:transparent}.wp-block-freeform.block-library-rich-text__tinymce .wpview .mce-shim{position:absolute;top:0;right:0;bottom:0;left: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{border:1px solid #ddd;padding:1em 0;margin:0;word-wrap:break-word}.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;margin:0 auto;width:32px;height:32px;font-size:32px}.wp-block-freeform.block-library-rich-text__tinymce .wpview.wpview-type-gallery:after{content:"";display:table;clear:both}.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{margin:auto -6px;padding:6px 0;line-height:1;overflow-x:hidden}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-item{float:left;margin:0;text-align:center;padding:6px;box-sizing:border-box}.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{max-width:100%;height:auto;border:none;padding:0}div[data-type="core/freeform"]:before{transition:border-color .1s linear,box-shadow .1s linear;border:1px solid #ddd;outline:1px solid transparent}@media (prefers-reduced-motion:reduce){div[data-type="core/freeform"]:before{transition-duration:0s;transition-delay: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{content:"";display:table;clear:both}.mce-toolbar-grp .mce-btn.mce-active:hover button,.mce-toolbar-grp .mce-btn.mce-active:hover i,.mce-toolbar-grp .mce-btn.mce-active button,.mce-toolbar-grp .mce-btn.mce-active i{color:#1e1e1e}.mce-toolbar-grp .mce-rtl .mce-flow-layout-item.mce-last{margin-right:0;margin-left:8px}.mce-toolbar-grp .mce-btn i{font-style:normal}.block-library-classic__toolbar{display:none;width:auto;position:sticky;z-index:31;top:0;border:1px solid #ddd;border-bottom:none;border-radius:2px;margin:0 0 8px;padding:0}div[data-type="core/freeform"].is-selected .block-library-classic__toolbar{display:block;border-color:#1e1e1e}.block-library-classic__toolbar .mce-tinymce{box-shadow:none}@media (min-width:600px){.block-library-classic__toolbar{padding:0}}.block-library-classic__toolbar:empty{display:block;background:#f5f5f5;border-bottom:1px solid #e2e4e7}.block-library-classic__toolbar:empty:before{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;content:attr(data-placeholder);color:#555d66;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}.wp-block-gallery li{list-style-type:none}.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label{display:none}.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button{margin-bottom:0}figure.wp-block-gallery{display:block;margin:0}.blocks-gallery-grid.blocks-gallery-grid{padding-left:0;margin-left:0;margin-bottom:0}.blocks-gallery-item figure:not(.is-selected):focus,.blocks-gallery-item img:focus{outline:none}.blocks-gallery-item figure.is-selected:before{box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";outline:2px solid transparent;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.blocks-gallery-item figure.is-selected figcaption{z-index:2}.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{margin:0;height:100%}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{display:none;position:absolute;top:-2px;margin:8px;z-index:20;transition:box-shadow .2s ease-out;border-radius:2px;background:#fff;border:1px solid #1e1e1e}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-duration:0s;transition-delay:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 2px 6px rgba(0,0,0,.05)}@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{padding:0;width:inherit;height:inherit}}.block-library-gallery-item__inline-menu.is-left{left:-2px}.block-library-gallery-item__inline-menu.is-right{right:-2px}.blocks-gallery-item .components-spinner{position:absolute;top:50%;left:50%;margin-top:-9px;margin-left:-9px}.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-top:18px;margin-bottom:18px}.block-library-heading-level-dropdown .components-popover__content{min-width:230px}.block-library-heading-level-dropdown .components-popover__content>div{padding:0}.block-library-heading-level-toolbar{border:none}.block-library-html__edit{margin-bottom:28px}.block-library-html__edit .block-library-html__preview-overlay{position:absolute;width:100%;height:100%;top:0;left:0}.block-library-html__edit .block-editor-plain-text{font-family:Menlo,Consolas,monaco,monospace;color:#1e1e1e;padding:.8em 1em;border:1px solid #ddd;border-radius:4px;max-height:250px;font-size:16px}@media (min-width:600px){.block-library-html__edit .block-editor-plain-text{font-size:13px}}.block-library-html__edit .block-editor-plain-text:focus{box-shadow: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;top:50%;left:50%;margin-top:-9px;margin-left:-9px}.wp-block-image:not(.is-style-rounded)>div{border-radius:inherit}.wp-block-image .components-resizable-box__container{display:inline-block}.wp-block-image .components-resizable-box__container img{display:block;width:inherit;height:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{position:absolute;left:0;right:0;margin:-1px 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{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{display:table-caption;caption-side:bottom}.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{position:relative;max-width:100%;width:100%}.wp-block-image__crop-icon{padding:0 8px;min-width:48px;display:flex;justify-content:center;align-items:center}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{overflow:visible;min-width:260px}.wp-block-image__zoom .components-range-control{flex:1}.wp-block-image__zoom .components-base-control__field{display:flex;margin-bottom:0;flex-direction:column;align-items:flex-start}.wp-block-image__aspect-ratio{height:46px;margin-bottom:-8px;display:flex;align-items:center}.wp-block-image__aspect-ratio .components-button{width:36px;padding-left:0;padding-right:0}.wp-block-latest-posts{padding-left:2.5em}.wp-block-latest-posts.is-grid{padding-left:0}.wp-block-latest-posts li a>div{display:inline}.edit-post-visual-editor .wp-block-latest-posts.is-grid li{margin-bottom:20px}.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"]{max-width:100%;text-align:center;margin-top:28px;margin-bottom:28px}.wp-block-more{display:block;text-align:center;white-space:nowrap}.wp-block-more input[type=text]{position:relative;font-size:13px;text-transform:uppercase;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;color:#757575;border:none;box-shadow:none;white-space:nowrap;text-align:center;margin:0;border-radius:4px;background:#fff;padding:6px 8px;height:24px;max-width:100%}.wp-block-more input[type=text]:focus{box-shadow:none}.wp-block-more:before{content:"";position:absolute;top:50%;left:0;right:0;border-top:3px dashed #ccc}.editor-styles-wrapper .wp-block-navigation ul{margin-top:0;margin-bottom:0;margin-left:0;padding-left:0}.wp-block-navigation__container.is-parent-of-selected-block{visibility:visible;opacity:1}.wp-block-navigation-link,.wp-block-navigation__container{background-color:inherit}.wp-block-navigation:not(.is-selected):not(.has-child-selected) .has-child:hover>.wp-block-navigation-link__container{opacity:0;visibility:hidden}.has-child.has-child-selected>.wp-block-navigation-link__container,.has-child.is-selected>.wp-block-navigation-link__container{display:flex;opacity:1;visibility:visible}.is-dragging-components-draggable .has-child.is-dragging-within>.wp-block-navigation-link__container{opacity:1;visibility:visible}.is-editing>.wp-block-navigation__container{visibility:visible;opacity:1;display:flex;flex-direction:column}.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}.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{height:30px;position:relative;margin:0 auto;padding:3px;display:flex;align-items:center;border-radius:4px}.block-library-colors-selector .block-library-colors-selector__state-selection{margin-left:auto;margin-right:auto;border-radius:11px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);width:22px;min-width:22px;height:22px;min-height:22px;line-height:20px;padding:2px}.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 .block-editor-button-block-appender{justify-content:flex-start}.components-placeholder.wp-block-navigation-placeholder{outline:none;padding:0;box-shadow:none;background:none;min-height:0;color:inherit}.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}.is-selected .components-placeholder.wp-block-navigation-placeholder{color:#1e1e1e}.wp-block-navigation-placeholder .components-spinner{margin-top:-4px;margin-left:4px;vertical-align:middle;margin-right:7px}.wp-block-navigation-placeholder__preview{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;width:100%;overflow:hidden}.wp-block-navigation-placeholder__preview .wp-block-navigation-link.wp-block-navigation-link{position:relative;min-width:72px}.wp-block-navigation-placeholder__preview .wp-block-navigation-link.wp-block-navigation-link:before{display:block;content:"";border-radius:2px;background:currentColor;height:16px;width:100%}.wp-block-navigation-placeholder__preview svg{fill:currentColor}.wp-block-navigation-placeholder__preview .wp-block-navigation-link.wp-block-navigation-link,.wp-block-navigation-placeholder__preview svg{opacity:.3}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__preview{display:flex;opacity:0;width:0;overflow:hidden;flex-wrap:nowrap}.wp-block-navigation.is-selected .is-medium .wp-block-navigation-placeholder__preview,.wp-block-navigation.is-selected .is-small .wp-block-navigation-placeholder__preview{display:none}.wp-block-navigation-placeholder__controls{padding:8px;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;flex-direction:row;align-items:center;display:none;position:relative;z-index:1;float:left;width:100%}.is-large .wp-block-navigation-placeholder__controls{padding:4px 8px}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls{display:flex}.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions,.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions,.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions{flex-direction:column}.is-selected.is-vertical .wp-block-navigation-placeholder__controls{display:inline-flex;padding:12px}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon{margin-right:12px;height:36px}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator{margin-right:12px;padding:0;align-items:center;justify-content:flex-start;line-height:0;margin-left:5px;display:none}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator svg{margin-right:4px}.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator{margin-bottom:4px;margin-left:0}.is-large .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator{display:inline-flex}.is-vertical .wp-block-navigation-placeholder,.is-vertical .wp-block-navigation-placeholder__controls,.is-vertical .wp-block-navigation-placeholder__preview{min-height:156px}.is-vertical .wp-block-navigation-placeholder__controls,.is-vertical .wp-block-navigation-placeholder__preview{flex-direction:column;align-items:flex-start}.wp-block-navigation-placeholder__actions{display:flex;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.wp-block-navigation-placeholder__actions .components-button.components-dropdown-menu__toggle.has-icon{padding:6px 4px 6px 12px;display:flex;flex-direction:row-reverse}.wp-block-navigation-placeholder__actions .components-dropdown,.wp-block-navigation-placeholder__actions>.components-button{margin-right:12px}@media (min-width:600px){.components-button.wp-block-navigation__responsive-container-open,.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}body.admin-bar .wp-block-navigation__responsive-container.is-menu-open{top:155px}@media (min-width:782px){body.admin-bar .wp-block-navigation__responsive-container.is-menu-open{top:61px}}@media (min-width:600px){.wp-block-navigation__responsive-close{pointer-events:none}.wp-block-navigation__responsive-close .block-editor-block-list__layout *,.wp-block-navigation__responsive-close .wp-block-navigation__responsive-container-close{pointer-events:all}}.wp-block-navigation__responsive-close .wp-block-pages-list__item__link{pointer-events:none}.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{padding:0;height:auto;color:inherit}.is-menu-open .wp-block-navigation__responsive-container-content * .block-list-appender{margin-top:16px}.wp-block-navigation-link__container{border-radius:0;min-height:36px}.wp-block-navigation .has-child{cursor:pointer}.wp-block-navigation .has-child .submenu-container,.wp-block-navigation .has-child .wp-block-navigation-link__container{z-index:28}.wp-block-navigation .has-child:hover .submenu-container,.wp-block-navigation .has-child:hover .wp-block-navigation-link__container{z-index:29}.wp-block-navigation .has-child.has-child-selected>.wp-block-navigation-link__container,.wp-block-navigation .has-child.is-selected>.wp-block-navigation-link__container{visibility:visible!important;opacity:1!important}.wp-block-navigation-link .wp-block-navigation-link__container{display:block}.wp-block-navigation-link .wp-block-navigation-link__content{cursor:text}.wp-block-navigation-link.is-editing,.wp-block-navigation-link.is-selected{min-width:20px}.wp-block-navigation-link .block-list-appender{margin:16px auto 16px 16px}.wp-block-navigation .block-editor-block-list__block[data-type="core/navigation-link"]>.block-editor-block-list__insertion-point{display:none}.wp-block-navigation-link__placeholder{position:relative;margin:2px}.wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;padding-left:4px;padding-right:4px}.wp-block-navigation-link__placeholder.wp-block-navigation-link__content{cursor:pointer}.wp-block-navigation-link__placeholder:before{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px;opacity:.1}.is-dark-theme .wp-block-navigation-link__placeholder:before{opacity:.2}.is-editing .wp-block-navigation-link__placeholder:before{background:currentColor}.wp-block-navigation .wp-block-navigation-link:not(.is-editing) .wp-block-navigation-link__content.wp-block-navigation-link__placeholder{box-shadow:inset 0 0 0 1px #757575;border-radius:2px;color:var(--wp-admin-theme-color)}.block-editor-block-list__block[data-type="core/nextpage"]{max-width:100%;text-align:center;margin-top:28px;margin-bottom:28px}.wp-block-nextpage{display:block;text-align:center;white-space:nowrap}.wp-block-nextpage>span{font-size:13px;position:relative;text-transform:uppercase;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;color:#757575;border-radius:4px;background:#fff;padding:6px 8px;height:24px}.wp-block-nextpage:before{content:"";position:absolute;top:50%;left:0;right:0;border-top:3px dashed #ccc}.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-pages-list__item__link{pointer-events:none}.wp-block-page-list .components-placeholder{min-height:0;padding:0;background-color:inherit}.wp-block-page-list .components-placeholder .components-spinner{margin:.5em}.wp-block-page-list-modal{max-width:400px}.wp-block-page-list-modal-buttons{display:flex;justify-content:flex-end}.wp-block-page-list-modal-buttons .components-button{margin-left: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] [data-rich-text-placeholder]{opacity:0}.wp-block-post-content__placeholder{height:100px;border:1px dashed;display:flex;justify-content:center;align-items:center}.wp-block-post-content__placeholder span{font-style:italic}.wp-block-post-excerpt .wp-block-post-excerpt__excerpt.is-inline{display:inline-block}.wp-block-post-author{display:flex;flex-wrap:wrap}.wp-block-post-author .wp-block-post-author__byline{font-size:.5em;margin-top:0;position:relative;font-style:normal}.wp-block-post-author .wp-block-post-author__content{flex-grow:1;flex-basis:0}.wp-block-post-author .wp-block-post-author__avatar img{margin:0}.wp-block-post-author .wp-block-post-author__avatar{margin-bottom:-8px}.wp-block-post-author .wp-block-post-author__name{margin:0;font-weight:700}.wp-block-post-author .wp-block-post-author__bio{margin:0 0 8px;font-size:.7em}.wp-block[data-align=left]>.wp-block-pullquote p,.wp-block[data-align=right]>.wp-block-pullquote p{font-size:20px}.wp-block-pullquote blockquote p{font-size:28px;line-height:1.6}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:32px}.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{text-transform:none;font-style:normal}.wp-block-pullquote .wp-block-pullquote__citation{color:inherit}.wp-block-rss li a>div{display:inline}.wp-block-rss__placeholder-form{display:flex;align-items:stretch}.wp-block-rss__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.wp-block-rss__placeholder-form>*{margin-bottom:0}}.wp-block-rss__placeholder-input{display:flex;align-items:stretch;flex-grow:1}.wp-block-rss__placeholder-input .components-base-control__field{display:flex;align-items:stretch;flex-grow:1;margin:0 8px 0 0}.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__input{padding:8px}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper{padding:4px}.wp-block-search .wp-block-search__button{height:auto;border-radius:initial}.wp-block-search .wp-block-search__button.wp-block-search__button.wp-block-search__button{padding:6px 10px}.wp-block-search__components-button-group{margin-top:10px}.block-editor-block-list__block[data-type="core/separator"]{padding-top:.1px;padding-bottom:.1px}[data-type="core/shortcode"] .block-editor-plain-text{max-height:250px}[data-type="core/shortcode"].components-placeholder{min-height:0}.blocks-shortcode__textarea{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal}@media (prefers-reduced-motion:reduce){.blocks-shortcode__textarea{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.blocks-shortcode__textarea{font-size:13px;line-height:normal}}.blocks-shortcode__textarea:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.blocks-shortcode__textarea::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.blocks-shortcode__textarea::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.blocks-shortcode__textarea:-ms-input-placeholder{color:rgba(30,30,30,.62)}.wp-block[data-align=center]>.wp-block-site-logo{margin-left:auto;margin-right:auto;text-align:center}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo:not(.is-default-size){display:table}.wp-block-site-logo.is-default-size{width:120px}.wp-block-site-logo.is-default-size img{width:100%}.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;max-width:100%}.wp-block-site-logo .components-placeholder{justify-content:flex-start;min-height:auto;height:120px;padding:12px}.wp-block-site-logo .components-placeholder .components-placeholder__label{margin-top:12px;white-space:nowrap}.wp-block-site-logo .components-placeholder .components-placeholder__label .block-editor-block-icon,.wp-block-site-logo .components-placeholder .components-placeholder__label>svg{margin-right:4px}.wp-block-site-logo .components-placeholder .components-form-file-upload{display:none}.wp-block-site-logo .components-placeholder .components-placeholder__preview{position:absolute;top:4px;right:4px;bottom:4px;left:4px;background:hsla(0,0%,100%,.8);display:flex;align-items:center;justify-content:center}.wp-block-site-logo .components-placeholder .components-drop-zone__content-text{display:none}.wp-block-site-tagline__placeholder,.wp-block-site-title__placeholder{padding:1em 0;border:1px dashed}.wp-block-social-links .wp-social-link{line-height:0}.wp-block-social-links .wp-social-link button{font-size:inherit;color:currentColor;height:auto;line-height:0;padding:.25em}.wp-block-social-links.is-style-pill-shape .wp-social-link button{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links div.block-editor-url-input{display:inline-block;margin-left:8px}.wp-social-link:hover{transform:none}.editor-styles-wrapper .wp-block-social-links{padding:0}.wp-block-social-links__social-placeholder{display:flex;opacity:.8;list-style:none}.wp-block-social-links__social-placeholder>.wp-social-link{padding-left:0!important;margin-left:0!important;padding-right:0!important;margin-right:0!important;width:0!important;visibility:hidden}.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{display:flex}.wp-block-social-links__social-placeholder+.block-list-appender,.wp-block-social-links__social-placeholder .wp-social-link{padding:.25em}.is-style-pill-shape .wp-block-social-links__social-placeholder+.block-list-appender,.is-style-pill-shape .wp-block-social-links__social-placeholder .wp-social-link{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links__social-placeholder .wp-social-link:before{content:"";display:block;width:1em;height:1em;border-radius:50%}.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{list-style:none;order:2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:24px;margin-top:auto;margin-bottom:auto;cursor:default;padding-right:8px}.wp-block-social-links .wp-block-social-links__social-prompt+.block-list-appender{margin-right:8px;padding:.25em}.wp-block-social-links .block-list-appender{margin:4px auto 4px 0;border-radius:9999px}.wp-block-social-links .block-list-appender .block-editor-inserter{display:flex;align-items:center;justify-content:center;font-size:inherit;width:1em;height:1em}.has-small-icon-size .wp-block-social-links .block-list-appender{font-size:16px}.has-normal-icon-size .wp-block-social-links .block-list-appender{font-size:24px}.has-large-icon-size .wp-block-social-links .block-list-appender{font-size:36px}.has-huge-icon-size .wp-block-social-links .block-list-appender{font-size:48px}.wp-block-social-links .block-list-appender:before{content:none}.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-duration:0s;transition-delay: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;position:absolute;width:100%;height:24px;transform:translateY(-12px)}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container{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{background:hsla(0,0%,100%,.15)}.block-library-spacer__resize-container{clear:both}.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}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color);border-style:double}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)}.blocks-table__placeholder-form.blocks-table__placeholder-form{display:flex;flex-direction:column;align-items:flex-start}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{flex-direction:row;align-items:flex-end}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:0}}.blocks-table__placeholder-input{width:112px;margin-right:8px;margin-bottom:0}.blocks-table__placeholder-input input{height:36px}.blocks-table__placeholder-input .components-base-control__field{margin-bottom:0}.wp-block-tag-cloud a{display:inline-block;margin-right:5px}.wp-block-tag-cloud span{display:inline-block;margin-left:5px;color:#757575;text-decoration:none}.wp-block-template-part__placeholder-preview-dropdown-content .components-popover__content,.wp-block-template-part__preview-dropdown-content .components-popover__content{min-width:320px;padding:0}.wp-block-template-part__selection-preview-search-form{border-bottom:1px solid #ddd}.wp-block-template-part__selection-preview-container{background:#fff;padding-bottom:16px}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item{border-radius:2px;cursor:pointer;margin-top:16px;transition:all .05s ease-in-out;border:1px solid transparent;width:100%;background-color:#fff}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item:hover{border:1px solid var(--wp-admin-theme-color)}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item:focus{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}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item.is-placeholder{min-height:100px}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item-title{padding:4px;font-size:12px;text-align:left}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-panel-group-header{padding:16px 16px 0}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-panel-group-content{padding:0 16px}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-panel-group-title{color:var(--wp-admin-theme-color);text-transform:uppercase;font-size:11px;font-weight:500}.block-editor-block-list__block[data-type="core/template-part"].has-child-selected:after{border:1px dotted var(--wp-admin-theme-color)}.block-editor-block-list__block[data-type="core/template-part"].has-child-selected.is-highlighted:after,.block-editor-block-list__block[data-type="core/template-part"].has-child-selected.is-hovered:after{border:none}.wp-block-text-columns .block-editor-rich-text__editable:focus{outline:1px solid #ddd}.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{position:absolute;top:50%;left:50%;margin-top:-9px;margin-left:-9px}.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>.components-popover__content{width:360px}.block-library-video-tracks-editor__track-list-track{display:flex;place-content:space-between;align-items:baseline;padding-left:12px}.block-library-video-tracks-editor__single-track-editor-label-language{display:flex;margin-top:12px}.block-library-video-tracks-editor__single-track-editor-label-language>.components-base-control{width:50%}.block-library-video-tracks-editor__single-track-editor-label-language>.components-base-control:first-child{margin-right:16px}.block-library-video-tracks-editor__single-track-editor-kind-select{max-width:240px}.block-library-video-tracks-editor__single-track-editor-buttons-container{display:flex;place-content:space-between;margin-top:32px}.block-library-video-tracks-editor__single-track-editor-edit-track-label{margin-top:4px;margin-bottom:12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500;display:block}.block-library-video-tracks-editor>.components-popover__content>div,.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}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-base-control__label{margin-bottom:4px}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-base-control__field{margin-bottom:12px}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-text-control__input{margin-left:0}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-input-control__label{margin-bottom:4px}.wp-block-query-title__placeholder{padding:1em 0;border:1px dashed}.editor-styles-wrapper ul.wp-block-post-template{padding-left:0;margin-left:0;list-style:none}.block-library-query-toolbar__popover .components-popover__content{min-width:230px}.wp-block-query__create-new-link{padding:0 16px 16px 56px}.wp-block>.wp-block-query-pagination{display:flex;flex-wrap:wrap;flex-direction:row}.editor-styles-wrapper .wp-block-query-pagination{max-width:100%}.editor-styles-wrapper .wp-block-query-pagination.block-editor-block-list__layout{margin:0}.block-library-query-pagination-toolbar__popover .components-popover__content{min-width:230px}.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{display:inline-block;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}div[data-type="core/post-featured-image"] img{max-width:100%;height:auto;display:block}.editor-styles-wrapper .post-featured-image_placeholder{display:flex;flex-direction:row;align-items:flex-start;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;padding:12px}.editor-styles-wrapper .post-featured-image_placeholder svg{margin-right:12px}.editor-styles-wrapper .post-featured-image_placeholder p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;margin:0}.wp-block-term-description__placeholder{padding:1em 0;border:1px dashed}:root .editor-styles-wrapper .has-pale-pink-background-color{background-color:#f78da7}:root .editor-styles-wrapper .has-vivid-red-background-color{background-color:#cf2e2e}:root .editor-styles-wrapper .has-luminous-vivid-orange-background-color{background-color:#ff6900}:root .editor-styles-wrapper .has-luminous-vivid-amber-background-color{background-color:#fcb900}:root .editor-styles-wrapper .has-light-green-cyan-background-color{background-color:#7bdcb5}:root .editor-styles-wrapper .has-vivid-green-cyan-background-color{background-color:#00d084}:root .editor-styles-wrapper .has-pale-cyan-blue-background-color{background-color:#8ed1fc}:root .editor-styles-wrapper .has-vivid-cyan-blue-background-color{background-color:#0693e3}:root .editor-styles-wrapper .has-vivid-purple-background-color{background-color:#9b51e0}:root .editor-styles-wrapper .has-white-background-color{background-color:#fff}:root .editor-styles-wrapper .has-very-light-gray-background-color{background-color:#eee}:root .editor-styles-wrapper .has-cyan-bluish-gray-background-color{background-color:#abb8c3}:root .editor-styles-wrapper .has-very-dark-gray-background-color{background-color:#313131}:root .editor-styles-wrapper .has-black-background-color{background-color:#000}:root .editor-styles-wrapper .has-pale-pink-color{color:#f78da7}:root .editor-styles-wrapper .has-vivid-red-color{color:#cf2e2e}:root .editor-styles-wrapper .has-luminous-vivid-orange-color{color:#ff6900}:root .editor-styles-wrapper .has-luminous-vivid-amber-color{color:#fcb900}:root .editor-styles-wrapper .has-light-green-cyan-color{color:#7bdcb5}:root .editor-styles-wrapper .has-vivid-green-cyan-color{color:#00d084}:root .editor-styles-wrapper .has-pale-cyan-blue-color{color:#8ed1fc}:root .editor-styles-wrapper .has-vivid-cyan-blue-color{color:#0693e3}:root .editor-styles-wrapper .has-vivid-purple-color{color:#9b51e0}:root .editor-styles-wrapper .has-white-color{color:#fff}:root .editor-styles-wrapper .has-very-light-gray-color{color:#eee}:root .editor-styles-wrapper .has-cyan-bluish-gray-color{color:#abb8c3}:root .editor-styles-wrapper .has-very-dark-gray-color{color:#313131}:root .editor-styles-wrapper .has-black-color{color:#000}:root .editor-styles-wrapper .has-vivid-cyan-blue-to-vivid-purple-gradient-background{background:linear-gradient(135deg,#0693e3,#9b51e0)}: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-light-green-cyan-to-vivid-green-cyan-gradient-background{background:linear-gradient(135deg,#7adcb4,#00d082)}:root .editor-styles-wrapper .has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background:linear-gradient(135deg,#fcb900,#ff6900)}:root .editor-styles-wrapper .has-luminous-vivid-orange-to-vivid-red-gradient-background{background:linear-gradient(135deg,#ff6900,#cf2e2e)}:root .editor-styles-wrapper .has-very-light-gray-to-cyan-bluish-gray-gradient-background{background:linear-gradient(135deg,#eee,#a9b8c3)}:root .editor-styles-wrapper .has-cool-to-warm-spectrum-gradient-background{background:linear-gradient(135deg,#4aeadc,#9778d1 20%,#cf2aba 40%,#ee2c82 60%,#fb6962 80%,#fef84c)}:root .editor-styles-wrapper .has-blush-light-purple-gradient-background{background:linear-gradient(135deg,#ffceec,#9896f0)}:root .editor-styles-wrapper .has-blush-bordeaux-gradient-background{background:linear-gradient(135deg,#fecda5,#fe2d2d 50%,#6b003e)}:root .editor-styles-wrapper .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .editor-styles-wrapper .has-luminous-dusk-gradient-background{background:linear-gradient(135deg,#ffcb70,#c751c0 50%,#4158d0)}:root .editor-styles-wrapper .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .editor-styles-wrapper .has-pale-ocean-gradient-background{background:linear-gradient(135deg,#fff5cb,#b6e3d4 50%,#33a7b5)}:root .editor-styles-wrapper .has-electric-grass-gradient-background{background:linear-gradient(135deg,#caf880,#71ce7e)}: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 .has-small-font-size{font-size:13px}.editor-styles-wrapper .has-normal-font-size,.editor-styles-wrapper .has-regular-font-size{font-size:16px}.editor-styles-wrapper .has-medium-font-size{font-size:20px}.editor-styles-wrapper .has-large-font-size{font-size:36px}.editor-styles-wrapper .has-huge-font-size,.editor-styles-wrapper .has-larger-font-size{font-size:42px}#end-resizable-editor-section{display:none} \ No newline at end of file +ul.wp-block-archives{padding-left:2.5em}.wp-block-audio{margin-left:0;margin-right:0}.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}.wp-block[data-align=center]>.wp-block-button{text-align:center;margin-left:auto;margin-right:auto}.wp-block[data-align=right]>.wp-block-button{ + /*!rtl:ignore*/text-align:right}.wp-block-button{position:relative;cursor:text}.wp-block-button:not(.has-text-color):not(.is-style-outline) [data-rich-text-placeholder]:after{color:#fff}.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;overflow:hidden;max-width:290px}.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}.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{display:inline-flex;align-items:center}.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}.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}.wp-block-columns :where(.wp-block){max-width:none;margin-left:0;margin-right:0}@media (min-width:600px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:nth-child(2n){margin-left:var(--wp--style--block-gap,2em)}}@media (min-width:782px){.editor-styles-wrapper .block-editor-block-list__block.wp-block-column:not(:first-child){margin-left:var(--wp--style--block-gap,2em)}}.block-editor-block-list__block.wp-block-column.wp-block-column{margin-top:0;margin-bottom:0}.editor-styles-wrapper .wp-block-cover{box-sizing:border-box}.wp-block-cover.is-placeholder{min-height:auto!important;padding:0!important}.wp-block-cover.is-placeholder .block-library-cover__resize-container{display:none}.wp-block-cover.is-placeholder .components-placeholder.is-large{min-height:240px;justify-content:flex-start;z-index:1}.wp-block-cover.is-placeholder .components-placeholder.is-large+.block-library-cover__resize-container{min-height:240px;display:block}.wp-block-cover.components-placeholder h2{color:inherit}.wp-block-cover.is-transient:before{background-color:#fff;opacity:.3}.wp-block-cover .components-spinner{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}.wp-block-cover .block-editor-block-list__layout{width:100%}.wp-block-cover .wp-block-cover__inner-container{text-align:left;margin-left:0;margin-right:0}.wp-block-cover .wp-block-cover__placeholder-background-options{width:100%}[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{position:absolute!important;top:0;left:0;right:0;bottom:0;min-height:50px}.block-library-cover__resize-container:not(.is-resizing){height:auto!important}.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}.wp-block-embed{margin-left:0;margin-right:0;clear:both}.wp-block-embed.is-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1em;min-height:200px;text-align:center;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e}.wp-block-embed.is-loading p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.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{position:absolute;top:0;left:0;right:0;bottom:0;opacity: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{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;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{margin-bottom:1em;width:100%;height:100%}.wp-block-file .wp-block-file__preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.wp-block-file .wp-block-file__content-wrapper{flex-grow:1}.wp-block-file a{min-width:1em}.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{padding-left:2.5em;margin-left:0}.wp-block-freeform.block-library-rich-text__tinymce blockquote{margin:0;box-shadow:inset 0 0 0 0 #ddd;border-left:4px solid #000;padding-left:1em}.wp-block-freeform.block-library-rich-text__tinymce pre{white-space:pre-wrap;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;color:#1e1e1e}.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]{padding:0 2px;margin:0 -2px;border-radius:2px;box-shadow:0 0 0 1px #e5f5fa;background:#e5f5fa}.wp-block-freeform.block-library-rich-text__tinymce code{padding:2px;border-radius:2px;color:#1e1e1e;background:#f0f0f0;font-family:Menlo,Consolas,monaco,monospace;font-size:14px}.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{width:96%;height:20px;display:block;margin:15px auto;outline:0;cursor:default;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-size:1900px 20px;background-repeat:no-repeat;background-position:50%}.wp-block-freeform.block-library-rich-text__tinymce img::selection{background-color:initial}.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{padding-top:.5em;margin:0}.wp-block-freeform.block-library-rich-text__tinymce .wpview{width:99.99%;position:relative;clear:both;margin-bottom:16px;border:1px solid transparent}.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{display:block;max-width:100%;background:transparent}.wp-block-freeform.block-library-rich-text__tinymce .wpview .mce-shim{position:absolute;top:0;right:0;bottom:0;left: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{border:1px solid #ddd;padding:1em 0;margin:0;word-wrap:break-word}.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;margin:0 auto;width:32px;height:32px;font-size:32px}.wp-block-freeform.block-library-rich-text__tinymce .wpview.wpview-type-gallery:after{content:"";display:table;clear:both}.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{margin:auto -6px;padding:6px 0;line-height:1;overflow-x:hidden}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-item{float:left;margin:0;text-align:center;padding:6px;box-sizing:border-box}.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{max-width:100%;height:auto;border:none;padding:0}div[data-type="core/freeform"]:before{transition:border-color .1s linear,box-shadow .1s linear;border:1px solid #ddd;outline:1px solid transparent}@media (prefers-reduced-motion:reduce){div[data-type="core/freeform"]:before{transition-duration:0s;transition-delay: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{content:"";display:table;clear:both}.mce-toolbar-grp .mce-btn.mce-active:hover button,.mce-toolbar-grp .mce-btn.mce-active:hover i,.mce-toolbar-grp .mce-btn.mce-active button,.mce-toolbar-grp .mce-btn.mce-active i{color:#1e1e1e}.mce-toolbar-grp .mce-rtl .mce-flow-layout-item.mce-last{margin-right:0;margin-left:8px}.mce-toolbar-grp .mce-btn i{font-style:normal}.block-library-classic__toolbar{display:none;width:auto;position:sticky;z-index:31;top:0;border:1px solid #ddd;border-bottom:none;border-radius:2px;margin:0 0 8px;padding:0}div[data-type="core/freeform"].is-selected .block-library-classic__toolbar{display:block;border-color:#1e1e1e}.block-library-classic__toolbar .mce-tinymce{box-shadow:none}@media (min-width:600px){.block-library-classic__toolbar{padding:0}}.block-library-classic__toolbar:empty{display:block;background:#f5f5f5;border-bottom:1px solid #e2e4e7}.block-library-classic__toolbar:empty:before{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;content:attr(data-placeholder);color:#555d66;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}figure.wp-block-gallery{display:block;margin:0}figure.wp-block-gallery.has-nested-images .components-drop-zone{display:none;pointer-events:none}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;top:0;right:5px}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:before{box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";outline:2px solid transparent;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}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{position:absolute;top:50%;left:50%;margin-top:-9px;margin-left:-9px}.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{display:flex;align-items:center;color:#757575;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{box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";outline:2px solid transparent;position:absolute;top:0;right:0;bottom:0;left: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{margin:0;height:100%}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{display:none;position:absolute;top:-2px;margin:8px;z-index:20;transition:box-shadow .2s ease-out;border-radius:2px;background:#fff;border:1px solid #1e1e1e}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-duration:0s;transition-delay:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 2px 6px rgba(0,0,0,.05)}@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{padding:0;width:inherit;height: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{padding:0;margin:0}.wp-block-update-gallery-modal{max-width:400px}.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons{display:flex;justify-content:flex-end}.wp-block-update-gallery-modal .wp-block-update-gallery-modal-buttons .components-button{margin-left:12px}.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-top:18px;margin-bottom:18px}.block-library-html__edit .block-library-html__preview-overlay{position:absolute;width:100%;height:100%;top:0;left:0}.block-library-html__edit .block-editor-plain-text{font-family:Menlo,Consolas,monaco,monospace!important;color:#1e1e1e!important;background:#fff!important;padding:12px!important;border:1px solid #1e1e1e!important;box-shadow:none!important;border-radius:2px!important;max-height:250px;font-size:16px!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}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;top:50%;left:50%;margin-top:-9px;margin-left:-9px}.wp-block-image:not(.is-style-rounded)>div:not(.components-placeholder){border-radius:inherit}.wp-block-image .components-resizable-box__container{display:inline-block}.wp-block-image .components-resizable-box__container img{display:block;width:inherit;height:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{position:absolute;left:0;right:0;margin:-1px 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{display:table-caption;caption-side:bottom}.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{position:relative;max-width:100%;width:100%}.wp-block-image__crop-icon{padding:0 8px;min-width:48px;display:flex;justify-content:center;align-items:center}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{overflow:visible;min-width:260px}.wp-block-image__zoom .components-range-control{flex:1}.wp-block-image__zoom .components-base-control__field{display:flex;margin-bottom:0;flex-direction:column;align-items:flex-start}.wp-block-image__aspect-ratio{height:46px;margin-bottom:-8px;display:flex;align-items:center}.wp-block-image__aspect-ratio .components-button{width:36px;padding-left:0;padding-right:0}.wp-block-latest-posts{padding-left:2.5em}.wp-block-latest-posts.is-grid{padding-left:0}.wp-block-latest-posts li a>div{display:inline}.edit-post-visual-editor .wp-block-latest-posts.is-grid li{margin-bottom:20px}.wp-block-media-text__media{position:relative}.wp-block-media-text__media.is-transient img{opacity:.3}.wp-block-media-text__media .components-spinner{position:absolute;top:50%;left:50%;margin-top:-9px;margin-left:-9px}.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"]{max-width:100%;text-align:center;margin-top:28px;margin-bottom:28px}.wp-block-more{display:block;text-align:center;white-space:nowrap}.wp-block-more input[type=text]{position:relative;font-size:13px;text-transform:uppercase;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;color:#757575;border:none;box-shadow:none;white-space:nowrap;text-align:center;margin:0;border-radius:4px;background:#fff;padding:6px 8px;height:24px;max-width:100%}.wp-block-more input[type=text]:focus{box-shadow:none}.wp-block-more:before{content:"";position:absolute;top:50%;left:0;right:0;border-top:3px dashed #ccc}.editor-styles-wrapper .wp-block-navigation ul{margin-top:0;margin-bottom:0;margin-left:0;padding-left:0}.editor-styles-wrapper .wp-block-navigation .wp-block-navigation-item.wp-block{margin-left:revert;margin-right:revert}.wp-block-navigation-item__label{display:inline}.wp-block-navigation__container.is-parent-of-selected-block{visibility:visible;opacity:1}.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{visibility:visible;opacity:1;display:flex;flex-direction:column}.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}.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{height:30px;position:relative;margin:0 auto;padding:3px;display:flex;align-items:center;border-radius:4px}.block-library-colors-selector .block-library-colors-selector__state-selection{margin-left:auto;margin-right:auto;border-radius:11px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);width:22px;min-width:22px;height:22px;min-height:22px;line-height:20px;padding:2px}.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 .block-editor-button-block-appender{justify-content:flex-start}.components-placeholder.wp-block-navigation-placeholder{outline:none;padding:0;box-shadow:none;background:none;min-height:0;color:inherit}.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}.is-selected .components-placeholder.wp-block-navigation-placeholder{color:#1e1e1e}.wp-block-navigation-placeholder .components-spinner{margin-top:-4px;margin-left:4px;vertical-align:middle;margin-right:7px}@keyframes loadingpulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.wp-block-navigation-placeholder__preview{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;width:100%;overflow:hidden}.wp-block-navigation-placeholder__preview.is-loading{animation:loadingpulse 1s linear infinite;animation-delay:.5s}.wp-block-navigation-placeholder__preview .wp-block-navigation-item.wp-block-navigation-item{position:relative;min-width:72px}.wp-block-navigation-placeholder__preview .wp-block-navigation-item.wp-block-navigation-item:before{display:block;content:"";border-radius:2px;background:currentColor;height:16px;width:100%}.wp-block-navigation-placeholder__preview .wp-block-navigation-placeholder__preview-search-icon{height:24px}.wp-block-navigation-placeholder__preview .wp-block-navigation-placeholder__preview-search-icon svg{fill:currentColor}.wp-block-navigation-placeholder__preview .wp-block-navigation-item.wp-block-navigation-item,.wp-block-navigation-placeholder__preview .wp-block-navigation-placeholder__preview-search-icon{opacity:.3}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__preview:not(.is-loading){display:flex;opacity:0;width:0;overflow:hidden;flex-wrap:nowrap;flex:0}.is-vertical.is-selected .wp-block-navigation-placeholder__preview:not(.is-loading),.wp-block-navigation.is-selected .is-medium .wp-block-navigation-placeholder__preview:not(.is-loading),.wp-block-navigation.is-selected .is-small .wp-block-navigation-placeholder__preview:not(.is-loading){display:none}.wp-block-navigation-placeholder__controls{padding:8px;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;flex-direction:row;align-items:center;display:none;position:relative;z-index:1;float:left;width:100%}.is-large .wp-block-navigation-placeholder__controls{padding:4px 8px}.wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls{display:flex}.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions,.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions,.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions{flex-direction:column}.is-selected.is-vertical .wp-block-navigation-placeholder__controls{display:inline-flex;padding:12px}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon{margin-right:12px;height:36px}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator{margin-right:12px;padding:0;align-items:center;justify-content:flex-start;line-height:0;margin-left:5px;display:none}.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator svg{margin-right:4px}.is-vertical .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator{margin-bottom:4px;margin-left:0}.is-large .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator{display:inline-flex}.is-vertical .wp-block-navigation-placeholder,.is-vertical .wp-block-navigation-placeholder__controls,.is-vertical .wp-block-navigation-placeholder__preview{min-height:156px}.is-vertical .wp-block-navigation-placeholder__controls,.is-vertical .wp-block-navigation-placeholder__preview{flex-direction:column;align-items:flex-start}.wp-block-navigation-placeholder__actions{display:flex;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.wp-block-navigation-placeholder__actions .components-button.components-dropdown-menu__toggle.has-icon{padding:6px 4px 6px 12px;display:flex;flex-direction:row-reverse}.wp-block-navigation-placeholder__actions .components-dropdown,.wp-block-navigation-placeholder__actions>.components-button{margin-right:12px}@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{top:93px;left:36px}}@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}}@media (min-width:782px){.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{top:0;right:0;bottom:0;left:0}@media (min-width:600px){.wp-block-navigation__responsive-close{pointer-events:none}.wp-block-navigation__responsive-close .block-editor-block-list__layout *,.wp-block-navigation__responsive-close .wp-block-navigation__responsive-container-close{pointer-events:all}}.wp-block-navigation__responsive-close .wp-block-pages-list__item__link{pointer-events:none}.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{padding:0;height:auto;color:inherit}.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__unsaved-changes{position:relative}.wp-block-navigation__unsaved-changes .components-spinner{position:absolute;top:calc(50% - 9px);left:calc(50% - 9px);opacity:0;animation:fadein .5s linear 2s normal forwards}@keyframes fadeouthalf{0%{opacity:1}to{opacity:.5}}.wp-block-navigation__unsaved-changes-overlay.is-saving{opacity:1;animation:fadeouthalf .5s linear 2s normal forwards}.wp-block-navigation-delete-menu-button{width:100%;justify-content:center;margin-bottom:16px}.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{visibility:visible!important;opacity:1!important;min-width:200px!important;height:auto!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__placeholder{position:relative;text-decoration:none!important;box-shadow:none!important;background-image: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-size:6px 3px;background-repeat:repeat-x;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{font-size:11px;text-transform:uppercase;font-weight:500;color:#1e1e1e;margin-bottom:1.5em}.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{visibility:visible!important;opacity:1!important;min-width:200px!important;height:auto!important;width:auto!important;position:absolute;left:-1px;top:100%}@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{content:"";position:absolute;right:100%;height:100%;display:block;width:.5em;background:transparent}}.block-editor-block-list__block[data-type="core/nextpage"]{max-width:100%;text-align:center;margin-top:28px;margin-bottom:28px}.wp-block-nextpage{display:block;text-align:center;white-space:nowrap}.wp-block-nextpage>span{font-size:13px;position:relative;text-transform:uppercase;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;color:#757575;border-radius:4px;background:#fff;padding:6px 8px;height:24px}.wp-block-nextpage:before{content:"";position:absolute;top:50%;left:0;right:0;border-top:3px dashed #ccc}.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-pages-list__item__link{pointer-events:none}.wp-block-page-list .components-placeholder{min-height:0;padding:0;background-color:inherit}.wp-block-page-list .components-placeholder .components-spinner{margin:.5em}.wp-block-page-list-modal{max-width:400px}.wp-block-page-list-modal-buttons{display:flex;justify-content:flex-end}.wp-block-page-list-modal-buttons .components-button{margin-left:12px}.wp-block-page-list .open-on-click:focus-within>.wp-block-navigation__submenu-container{visibility:visible;opacity:1;width:auto;height:auto;min-width:200px}.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] [data-rich-text-placeholder]{opacity:0}.wp-block-post-excerpt .wp-block-post-excerpt__excerpt.is-inline{display:inline-block}.wp-block-pullquote.has-text-align-left p,.wp-block-pullquote.has-text-align-right p,.wp-block[data-align=left]>.wp-block-pullquote p,.wp-block[data-align=right]>.wp-block-pullquote p{font-size:20px}.wp-block-pullquote blockquote p{font-size:28px;line-height:1.6}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:32px}.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation{text-transform:none;font-style:normal}.wp-block-pullquote .wp-block-pullquote__citation{color:inherit}.wp-block-rss li a>div{display:inline}.wp-block-rss__placeholder-form{display:flex;align-items:stretch}.wp-block-rss__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.wp-block-rss__placeholder-form>*{margin-bottom:0}}.wp-block-rss__placeholder-input{display:flex;align-items:stretch;flex-grow:1}.wp-block-rss__placeholder-input .components-base-control__field{display:flex;align-items:stretch;flex-grow:1;margin:0 8px 0 0}.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__button{height:auto;border-radius:initial;display:flex;align-items:center}.wp-block-search__components-button-group{margin-top:10px}.block-editor-block-list__block[data-type="core/separator"]{padding-top:.1px;padding-bottom:.1px}[data-type="core/shortcode"] .block-editor-plain-text{max-height:250px}[data-type="core/shortcode"].components-placeholder{min-height:0}.blocks-shortcode__textarea{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal}@media (prefers-reduced-motion:reduce){.blocks-shortcode__textarea{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.blocks-shortcode__textarea{font-size:13px;line-height:normal}}.blocks-shortcode__textarea:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.blocks-shortcode__textarea::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.blocks-shortcode__textarea::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.blocks-shortcode__textarea:-ms-input-placeholder{color:rgba(30,30,30,.62)}.wp-block[data-align=center]>.wp-block-site-logo{margin-left:auto;margin-right:auto;text-align:center}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo:not(.is-default-size){display:table}.wp-block-site-logo.is-default-size{width:120px}.wp-block-site-logo.is-default-size img{height:auto;width:100%}.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 .components-placeholder,.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container{border-radius:inherit}.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder{height:120px;width:120px}.wp-block-site-logo.wp-block-site-logo .components-placeholder{justify-content:center;align-items:center;box-shadow:none;padding:0;min-height:48px;min-width:48px;height:100%;width:100%;color:currentColor;background:transparent}.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-placeholder__preview{position:absolute;top:4px;right:4px;bottom:4px;left:4px;background:hsla(0,0%,100%,.8);display:flex;align-items:center;justify-content:center}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text{display:none}.wp-block-site-logo.wp-block-site-logo .components-placeholder:before{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;border:1px dashed;opacity:.3;pointer-events:none;border-radius:inherit}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__fieldset{width:auto}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{color:inherit;padding:0;display:flex;justify-content:center;align-items:center;width:48px;height:48px;border-radius:50%;position:relative;visibility:hidden;background:transparent;transition:all .1s linear}@media (prefers-reduced-motion:reduce){.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{transition-duration:0s;transition-delay:0s}}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button>svg{color:#fff}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-placeholder__illustration{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;stroke:currentColor;stroke-dasharray:3;opacity:.3}.wp-block-site-logo.wp-block-site-logo.is-selected .components-button.components-button{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-style:solid;color:#fff;opacity:1;visibility:visible}.wp-block-site-tagline__placeholder,.wp-block-site-title__placeholder{padding:1em 0;border:1px dashed}.wp-block-social-links .wp-social-link{line-height:0}.wp-block-social-links .wp-social-link button{font-size:inherit;color:currentColor;height:auto;line-height:0;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-social-link:hover{transform:none}.editor-styles-wrapper .wp-block-social-links{padding:0}.wp-block-social-links__social-placeholder{display:flex;opacity:.8;list-style:none}.wp-block-social-links__social-placeholder>.wp-social-link{padding-left:0!important;margin-left:0!important;padding-right:0!important;margin-right:0!important;width:0!important;visibility:hidden}.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{display:flex}.wp-block-social-links__social-placeholder+.block-list-appender,.wp-block-social-links__social-placeholder .wp-social-link{padding:.25em}.is-style-pill-shape .wp-block-social-links__social-placeholder+.block-list-appender,.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+.block-list-appender,.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{content:"";display:block;width:1em;height:1em;border-radius:50%}.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{list-style:none;order:2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:24px;margin-top:auto;margin-bottom:auto;cursor:default;padding-right:8px}.wp-block-social-links .wp-block-social-links__social-prompt+.block-list-appender{margin-right:8px;padding:.25em}.wp-block-social-links .block-list-appender{margin:4px auto 4px 0;border-radius:9999px}.wp-block-social-links .block-list-appender .block-editor-inserter{display:flex;align-items:center;justify-content:center;font-size:inherit;width:1em;height:1em}.has-small-icon-size .wp-block-social-links .block-list-appender{font-size:16px}.has-normal-icon-size .wp-block-social-links .block-list-appender{font-size:24px}.has-large-icon-size .wp-block-social-links .block-list-appender{font-size:36px}.has-huge-icon-size .wp-block-social-links .block-list-appender{font-size:48px}.wp-block-social-links .block-list-appender:before{content:none}.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-duration:0s;transition-delay: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;position:absolute;z-index:1;width:100%;min-height:8px;min-width:8px;height:100%}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container{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{background:hsla(0,0%,100%,.15)}.block-library-spacer__resize-container{clear:both}.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}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color);border-style:double}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)}.blocks-table__placeholder-form.blocks-table__placeholder-form{display:flex;flex-direction:column;align-items:flex-start}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{flex-direction:row;align-items:flex-end}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:0}}.blocks-table__placeholder-input{width:112px;margin-right:8px;margin-bottom:0}.blocks-table__placeholder-input input{height:36px}.blocks-table__placeholder-input .components-base-control__field{margin-bottom:0}.wp-block-template-part__placeholder-preview-dropdown-content .components-popover__content,.wp-block-template-part__preview-dropdown-content .components-popover__content{min-width:320px;padding:0}.wp-block-template-part__selection-preview-search-form{border-bottom:1px solid #ddd}.wp-block-template-part__selection-preview-container{background:#fff;padding-bottom:16px}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item{border-radius:2px;cursor:pointer;margin-top:16px;transition:all .05s ease-in-out;border:1px solid #ddd;width:100%;background-color:#fff}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item:hover{border:1px solid var(--wp-admin-theme-color)}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item:focus{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}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item.is-placeholder{min-height:100px}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item .block-editor-block-preview__container{border-bottom:1px solid #ddd}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-preview-item-title{padding:4px;font-size:12px;text-align:left}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-panel-group-header{padding:16px 16px 0}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-panel-group-content{padding:0 16px}.wp-block-template-part__selection-preview-container .wp-block-template-part__selection-panel-group-title{color:var(--wp-admin-theme-color);text-transform:uppercase;font-size:11px;font-weight:500}.wp-block-template-part__placeholder-create-new__title-form .wp-block-template-part__placeholder-create-new__title-form-actions{padding-top:12px;display:flex;justify-content:flex-end}.wp-block-template-part__placeholder-create-new__title-form .wp-block-template-part__placeholder-create-new__title-form-actions .components-flex-item{margin-left:12px}.wp-block-text-columns .block-editor-rich-text__editable:focus{outline:1px solid #ddd}.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{position:absolute;top:50%;left:50%;margin-top:-9px;margin-left:-9px}.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>.components-popover__content{width:360px}.block-library-video-tracks-editor__track-list-track{display:flex;place-content:space-between;align-items:baseline;padding-left:12px}.block-library-video-tracks-editor__single-track-editor-label-language{display:flex;margin-top:12px}.block-library-video-tracks-editor__single-track-editor-label-language>.components-base-control{width:50%}.block-library-video-tracks-editor__single-track-editor-label-language>.components-base-control:first-child{margin-right:16px}.block-library-video-tracks-editor__single-track-editor-kind-select{max-width:240px}.block-library-video-tracks-editor__single-track-editor-buttons-container{display:flex;place-content:space-between;margin-top:32px}.block-library-video-tracks-editor__single-track-editor-edit-track-label{margin-top:4px;margin-bottom:12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500;display:block}.block-library-video-tracks-editor>.components-popover__content>div,.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}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-base-control__label{margin-bottom:4px}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-base-control__field{margin-bottom:12px}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-text-control__input{margin-left:0}.block-library-video-tracks-editor__single-track-editor .components-base-control .components-input-control__label{margin-bottom:4px}.editor-styles-wrapper ul.wp-block-post-template{padding-left:0;margin-left:0;list-style:none}.block-library-query-toolbar__popover .components-popover__content{min-width:230px}.wp-block-query__create-new-link{padding:0 16px 16px 56px}.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}.block-library-query-pagination-toolbar__popover .components-popover__content{min-width:230px}.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}div[data-type="core/post-featured-image"] img{max-width:100%;height:auto;display:block}.editor-styles-wrapper .post-featured-image_placeholder{display:flex;flex-direction:row;align-items:center;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;padding:12px}.editor-styles-wrapper .post-featured-image_placeholder svg{margin-right:12px}.editor-styles-wrapper .post-featured-image_placeholder p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;margin:0}.block-library-post-featured-image-dimension-controls{margin-bottom:8px}.block-library-post-featured-image-dimension-controls.scale-control-is-visible{margin-bottom:16px}: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 .has-regular-font-size{font-size:16px}.editor-styles-wrapper .has-larger-font-size{font-size:42px} \ No newline at end of file diff --git a/wp-includes/css/dist/block-library/reset-rtl.css b/wp-includes/css/dist/block-library/reset-rtl.css index 7d8fdbd16c..7390e06240 100644 --- a/wp-includes/css/dist/block-library/reset-rtl.css +++ b/wp-includes/css/dist/block-library/reset-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -74,8 +80,7 @@ * These are only output in the editor, but styles here are prefixed .editor-styles-wrapper and affect the theming * of the editor by themes. */ -.editor-styles-wrapper { - padding: 8px; +html :where(.editor-styles-wrapper) { /** * The following styles revert to the browser defaults overriding the WPAdmin styles. * This is only needed while the block editor is not being loaded in an iframe. @@ -86,69 +91,65 @@ color: initial; background: #fff; } -.editor-styles-wrapper .block-editor-block-list__layout.is-root-container > .wp-block[data-align=full] { - margin-right: -8px; - margin-left: -8px; -} -.editor-styles-wrapper .wp-align-wrapper { +html :where(.editor-styles-wrapper) .wp-align-wrapper { max-width: 840px; } -.editor-styles-wrapper .wp-align-wrapper > .wp-block, .editor-styles-wrapper .wp-align-wrapper.wp-align-full { +html :where(.editor-styles-wrapper) .wp-align-wrapper > .wp-block, html :where(.editor-styles-wrapper) .wp-align-wrapper.wp-align-full { max-width: none; } -.editor-styles-wrapper .wp-align-wrapper.wp-align-wide { +html :where(.editor-styles-wrapper) .wp-align-wrapper.wp-align-wide { max-width: 840px; } -.editor-styles-wrapper a { +html :where(.editor-styles-wrapper) a { transition: none; } -.editor-styles-wrapper code, -.editor-styles-wrapper kbd { +html :where(.editor-styles-wrapper) code, +html :where(.editor-styles-wrapper) kbd { padding: 0; margin: 0; background: inherit; font-size: inherit; font-family: monospace; } -.editor-styles-wrapper p { +html :where(.editor-styles-wrapper) p { font-size: revert; line-height: revert; margin: revert; } -.editor-styles-wrapper ul, -.editor-styles-wrapper ol { +html :where(.editor-styles-wrapper) ul, +html :where(.editor-styles-wrapper) ol { margin: revert; padding: revert; list-style-type: revert; box-sizing: revert; } -.editor-styles-wrapper ul ul, -.editor-styles-wrapper ul ol, -.editor-styles-wrapper ol ul, -.editor-styles-wrapper ol ol { +html :where(.editor-styles-wrapper) ul ul, +html :where(.editor-styles-wrapper) ul ol, +html :where(.editor-styles-wrapper) ol ul, +html :where(.editor-styles-wrapper) ol ol { margin: revert; } -.editor-styles-wrapper ul li, -.editor-styles-wrapper ol li { +html :where(.editor-styles-wrapper) ul li, +html :where(.editor-styles-wrapper) ol li { margin: revert; } -.editor-styles-wrapper ul ul, -.editor-styles-wrapper ol ul { +html :where(.editor-styles-wrapper) ul ul, +html :where(.editor-styles-wrapper) ol ul { list-style-type: revert; } -.editor-styles-wrapper h1, -.editor-styles-wrapper h2, -.editor-styles-wrapper h3, -.editor-styles-wrapper h4, -.editor-styles-wrapper h5, -.editor-styles-wrapper h6 { +html :where(.editor-styles-wrapper) h1, +html :where(.editor-styles-wrapper) h2, +html :where(.editor-styles-wrapper) h3, +html :where(.editor-styles-wrapper) h4, +html :where(.editor-styles-wrapper) h5, +html :where(.editor-styles-wrapper) h6 { font-size: revert; margin: revert; color: revert; line-height: revert; font-weight: revert; } -.editor-styles-wrapper select { +html :where(.editor-styles-wrapper) select { font-family: system-ui; -webkit-appearance: revert; color: revert; @@ -169,11 +170,12 @@ vertical-align: revert; font-weight: revert; } -.editor-styles-wrapper select:disabled, -.editor-styles-wrapper select:focus { +html :where(.editor-styles-wrapper) select:disabled, +html :where(.editor-styles-wrapper) select:focus { color: revert; border-color: revert; - background: revert; + background-color: revert; + background-image: revert; box-shadow: revert; text-shadow: revert; cursor: revert; diff --git a/wp-includes/css/dist/block-library/reset-rtl.min.css b/wp-includes/css/dist/block-library/reset-rtl.min.css index e427409d57..f9510e8778 100644 --- a/wp-includes/css/dist/block-library/reset-rtl.min.css +++ b/wp-includes/css/dist/block-library/reset-rtl.min.css @@ -1 +1 @@ -.editor-styles-wrapper{padding:8px;font-family:serif;font-size:medium;line-height:normal;color:initial;background:#fff}.editor-styles-wrapper .block-editor-block-list__layout.is-root-container>.wp-block[data-align=full]{margin-right:-8px;margin-left:-8px}.editor-styles-wrapper .wp-align-wrapper{max-width:840px}.editor-styles-wrapper .wp-align-wrapper.wp-align-full,.editor-styles-wrapper .wp-align-wrapper>.wp-block{max-width:none}.editor-styles-wrapper .wp-align-wrapper.wp-align-wide{max-width:840px}.editor-styles-wrapper a{transition:none}.editor-styles-wrapper code,.editor-styles-wrapper kbd{padding:0;margin:0;background:inherit;font-size:inherit;font-family:monospace}.editor-styles-wrapper p{font-size:revert;line-height:revert;margin:revert}.editor-styles-wrapper ol,.editor-styles-wrapper ul{margin:revert;padding:revert;list-style-type:revert;box-sizing:revert}.editor-styles-wrapper ol li,.editor-styles-wrapper ol ol,.editor-styles-wrapper ol ul,.editor-styles-wrapper ul li,.editor-styles-wrapper ul ol,.editor-styles-wrapper ul ul{margin:revert}.editor-styles-wrapper ol ul,.editor-styles-wrapper ul ul{list-style-type:revert}.editor-styles-wrapper h1,.editor-styles-wrapper h2,.editor-styles-wrapper h3,.editor-styles-wrapper h4,.editor-styles-wrapper h5,.editor-styles-wrapper h6{font-size:revert;margin:revert;color:revert;line-height:revert;font-weight:revert}.editor-styles-wrapper select{font-family:system-ui;-webkit-appearance:revert;color:revert;border:revert;border-radius:revert;background:revert;box-shadow:revert;text-shadow:revert;outline:revert;cursor:revert;transform:revert;font-size:revert;line-height:revert;padding:revert;margin:revert;min-height:revert;max-width:revert;vertical-align:revert;font-weight:revert}.editor-styles-wrapper select:disabled,.editor-styles-wrapper select:focus{color:revert;border-color:revert;background:revert;box-shadow:revert;text-shadow:revert;cursor:revert;transform:revert} \ No newline at end of file +html :where(.editor-styles-wrapper){font-family:serif;font-size:medium;line-height:normal;color:initial;background:#fff}html :where(.editor-styles-wrapper) .wp-align-wrapper{max-width:840px}html :where(.editor-styles-wrapper) .wp-align-wrapper.wp-align-full,html :where(.editor-styles-wrapper) .wp-align-wrapper>.wp-block{max-width:none}html :where(.editor-styles-wrapper) .wp-align-wrapper.wp-align-wide{max-width:840px}html :where(.editor-styles-wrapper) a{transition:none}html :where(.editor-styles-wrapper) code,html :where(.editor-styles-wrapper) kbd{padding:0;margin:0;background:inherit;font-size:inherit;font-family:monospace}html :where(.editor-styles-wrapper) p{font-size:revert;line-height:revert;margin:revert}html :where(.editor-styles-wrapper) ol,html :where(.editor-styles-wrapper) ul{margin:revert;padding:revert;list-style-type:revert;box-sizing:revert}html :where(.editor-styles-wrapper) ol li,html :where(.editor-styles-wrapper) ol ol,html :where(.editor-styles-wrapper) ol ul,html :where(.editor-styles-wrapper) ul li,html :where(.editor-styles-wrapper) ul ol,html :where(.editor-styles-wrapper) ul ul{margin:revert}html :where(.editor-styles-wrapper) ol ul,html :where(.editor-styles-wrapper) ul ul{list-style-type:revert}html :where(.editor-styles-wrapper) h1,html :where(.editor-styles-wrapper) h2,html :where(.editor-styles-wrapper) h3,html :where(.editor-styles-wrapper) h4,html :where(.editor-styles-wrapper) h5,html :where(.editor-styles-wrapper) h6,html :where(.editor-styles-wrapper) select{font-size:revert;margin:revert;color:revert;line-height:revert;font-weight:revert}html :where(.editor-styles-wrapper) select{font-family:system-ui;-webkit-appearance:revert;border:revert;border-radius:revert;background:revert;box-shadow:revert;text-shadow:revert;outline:revert;cursor:revert;transform:revert;padding:revert;min-height:revert;max-width:revert;vertical-align:revert}html :where(.editor-styles-wrapper) select:disabled,html :where(.editor-styles-wrapper) select:focus{color:revert;border-color:revert;background-color:revert;background-image:revert;box-shadow:revert;text-shadow:revert;cursor:revert;transform:revert} \ No newline at end of file diff --git a/wp-includes/css/dist/block-library/reset.css b/wp-includes/css/dist/block-library/reset.css index 5f48736680..7390e06240 100644 --- a/wp-includes/css/dist/block-library/reset.css +++ b/wp-includes/css/dist/block-library/reset.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -74,8 +80,7 @@ * These are only output in the editor, but styles here are prefixed .editor-styles-wrapper and affect the theming * of the editor by themes. */ -.editor-styles-wrapper { - padding: 8px; +html :where(.editor-styles-wrapper) { /** * The following styles revert to the browser defaults overriding the WPAdmin styles. * This is only needed while the block editor is not being loaded in an iframe. @@ -86,69 +91,65 @@ color: initial; background: #fff; } -.editor-styles-wrapper .block-editor-block-list__layout.is-root-container > .wp-block[data-align=full] { - margin-left: -8px; - margin-right: -8px; -} -.editor-styles-wrapper .wp-align-wrapper { +html :where(.editor-styles-wrapper) .wp-align-wrapper { max-width: 840px; } -.editor-styles-wrapper .wp-align-wrapper > .wp-block, .editor-styles-wrapper .wp-align-wrapper.wp-align-full { +html :where(.editor-styles-wrapper) .wp-align-wrapper > .wp-block, html :where(.editor-styles-wrapper) .wp-align-wrapper.wp-align-full { max-width: none; } -.editor-styles-wrapper .wp-align-wrapper.wp-align-wide { +html :where(.editor-styles-wrapper) .wp-align-wrapper.wp-align-wide { max-width: 840px; } -.editor-styles-wrapper a { +html :where(.editor-styles-wrapper) a { transition: none; } -.editor-styles-wrapper code, -.editor-styles-wrapper kbd { +html :where(.editor-styles-wrapper) code, +html :where(.editor-styles-wrapper) kbd { padding: 0; margin: 0; background: inherit; font-size: inherit; font-family: monospace; } -.editor-styles-wrapper p { +html :where(.editor-styles-wrapper) p { font-size: revert; line-height: revert; margin: revert; } -.editor-styles-wrapper ul, -.editor-styles-wrapper ol { +html :where(.editor-styles-wrapper) ul, +html :where(.editor-styles-wrapper) ol { margin: revert; padding: revert; list-style-type: revert; box-sizing: revert; } -.editor-styles-wrapper ul ul, -.editor-styles-wrapper ul ol, -.editor-styles-wrapper ol ul, -.editor-styles-wrapper ol ol { +html :where(.editor-styles-wrapper) ul ul, +html :where(.editor-styles-wrapper) ul ol, +html :where(.editor-styles-wrapper) ol ul, +html :where(.editor-styles-wrapper) ol ol { margin: revert; } -.editor-styles-wrapper ul li, -.editor-styles-wrapper ol li { +html :where(.editor-styles-wrapper) ul li, +html :where(.editor-styles-wrapper) ol li { margin: revert; } -.editor-styles-wrapper ul ul, -.editor-styles-wrapper ol ul { +html :where(.editor-styles-wrapper) ul ul, +html :where(.editor-styles-wrapper) ol ul { list-style-type: revert; } -.editor-styles-wrapper h1, -.editor-styles-wrapper h2, -.editor-styles-wrapper h3, -.editor-styles-wrapper h4, -.editor-styles-wrapper h5, -.editor-styles-wrapper h6 { +html :where(.editor-styles-wrapper) h1, +html :where(.editor-styles-wrapper) h2, +html :where(.editor-styles-wrapper) h3, +html :where(.editor-styles-wrapper) h4, +html :where(.editor-styles-wrapper) h5, +html :where(.editor-styles-wrapper) h6 { font-size: revert; margin: revert; color: revert; line-height: revert; font-weight: revert; } -.editor-styles-wrapper select { +html :where(.editor-styles-wrapper) select { font-family: system-ui; -webkit-appearance: revert; color: revert; @@ -169,11 +170,12 @@ vertical-align: revert; font-weight: revert; } -.editor-styles-wrapper select:disabled, -.editor-styles-wrapper select:focus { +html :where(.editor-styles-wrapper) select:disabled, +html :where(.editor-styles-wrapper) select:focus { color: revert; border-color: revert; - background: revert; + background-color: revert; + background-image: revert; box-shadow: revert; text-shadow: revert; cursor: revert; diff --git a/wp-includes/css/dist/block-library/reset.min.css b/wp-includes/css/dist/block-library/reset.min.css index be12b0cec1..f9510e8778 100644 --- a/wp-includes/css/dist/block-library/reset.min.css +++ b/wp-includes/css/dist/block-library/reset.min.css @@ -1 +1 @@ -.editor-styles-wrapper{padding:8px;font-family:serif;font-size:medium;line-height:normal;color:initial;background:#fff}.editor-styles-wrapper .block-editor-block-list__layout.is-root-container>.wp-block[data-align=full]{margin-left:-8px;margin-right:-8px}.editor-styles-wrapper .wp-align-wrapper{max-width:840px}.editor-styles-wrapper .wp-align-wrapper.wp-align-full,.editor-styles-wrapper .wp-align-wrapper>.wp-block{max-width:none}.editor-styles-wrapper .wp-align-wrapper.wp-align-wide{max-width:840px}.editor-styles-wrapper a{transition:none}.editor-styles-wrapper code,.editor-styles-wrapper kbd{padding:0;margin:0;background:inherit;font-size:inherit;font-family:monospace}.editor-styles-wrapper p{font-size:revert;line-height:revert;margin:revert}.editor-styles-wrapper ol,.editor-styles-wrapper ul{margin:revert;padding:revert;list-style-type:revert;box-sizing:revert}.editor-styles-wrapper ol li,.editor-styles-wrapper ol ol,.editor-styles-wrapper ol ul,.editor-styles-wrapper ul li,.editor-styles-wrapper ul ol,.editor-styles-wrapper ul ul{margin:revert}.editor-styles-wrapper ol ul,.editor-styles-wrapper ul ul{list-style-type:revert}.editor-styles-wrapper h1,.editor-styles-wrapper h2,.editor-styles-wrapper h3,.editor-styles-wrapper h4,.editor-styles-wrapper h5,.editor-styles-wrapper h6{font-size:revert;margin:revert;color:revert;line-height:revert;font-weight:revert}.editor-styles-wrapper select{font-family:system-ui;-webkit-appearance:revert;color:revert;border:revert;border-radius:revert;background:revert;box-shadow:revert;text-shadow:revert;outline:revert;cursor:revert;transform:revert;font-size:revert;line-height:revert;padding:revert;margin:revert;min-height:revert;max-width:revert;vertical-align:revert;font-weight:revert}.editor-styles-wrapper select:disabled,.editor-styles-wrapper select:focus{color:revert;border-color:revert;background:revert;box-shadow:revert;text-shadow:revert;cursor:revert;transform:revert} \ No newline at end of file +html :where(.editor-styles-wrapper){font-family:serif;font-size:medium;line-height:normal;color:initial;background:#fff}html :where(.editor-styles-wrapper) .wp-align-wrapper{max-width:840px}html :where(.editor-styles-wrapper) .wp-align-wrapper.wp-align-full,html :where(.editor-styles-wrapper) .wp-align-wrapper>.wp-block{max-width:none}html :where(.editor-styles-wrapper) .wp-align-wrapper.wp-align-wide{max-width:840px}html :where(.editor-styles-wrapper) a{transition:none}html :where(.editor-styles-wrapper) code,html :where(.editor-styles-wrapper) kbd{padding:0;margin:0;background:inherit;font-size:inherit;font-family:monospace}html :where(.editor-styles-wrapper) p{font-size:revert;line-height:revert;margin:revert}html :where(.editor-styles-wrapper) ol,html :where(.editor-styles-wrapper) ul{margin:revert;padding:revert;list-style-type:revert;box-sizing:revert}html :where(.editor-styles-wrapper) ol li,html :where(.editor-styles-wrapper) ol ol,html :where(.editor-styles-wrapper) ol ul,html :where(.editor-styles-wrapper) ul li,html :where(.editor-styles-wrapper) ul ol,html :where(.editor-styles-wrapper) ul ul{margin:revert}html :where(.editor-styles-wrapper) ol ul,html :where(.editor-styles-wrapper) ul ul{list-style-type:revert}html :where(.editor-styles-wrapper) h1,html :where(.editor-styles-wrapper) h2,html :where(.editor-styles-wrapper) h3,html :where(.editor-styles-wrapper) h4,html :where(.editor-styles-wrapper) h5,html :where(.editor-styles-wrapper) h6,html :where(.editor-styles-wrapper) select{font-size:revert;margin:revert;color:revert;line-height:revert;font-weight:revert}html :where(.editor-styles-wrapper) select{font-family:system-ui;-webkit-appearance:revert;border:revert;border-radius:revert;background:revert;box-shadow:revert;text-shadow:revert;outline:revert;cursor:revert;transform:revert;padding:revert;min-height:revert;max-width:revert;vertical-align:revert}html :where(.editor-styles-wrapper) select:disabled,html :where(.editor-styles-wrapper) select:focus{color:revert;border-color:revert;background-color:revert;background-image:revert;box-shadow:revert;text-shadow:revert;cursor:revert;transform:revert} \ 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 f5a61d3264..90b72cc283 100644 --- a/wp-includes/css/dist/block-library/style-rtl.css +++ b/wp-includes/css/dist/block-library/style-rtl.css @@ -41,6 +41,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -69,8 +75,8 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -#start-resizable-editor-section { - display: none; +.wp-block-archives-dropdown label { + display: block; } .wp-block-audio { @@ -96,7 +102,7 @@ padding: calc(0.667em + 2px) calc(1.333em + 2px); text-align: center; text-decoration: none; - overflow-wrap: break-word; + word-break: break-word; box-sizing: border-box; } .wp-block-button__link:hover, .wp-block-button__link:focus, .wp-block-button__link:active, .wp-block-button__link:visited { @@ -119,41 +125,29 @@ font-size: inherit; } .wp-block-buttons > .wp-block-button.wp-block-button__width-25 { - width: calc(25% - 0.5em); + width: calc(25% - (var(--wp--style--block-gap, 0.5em) * 0.75)); } .wp-block-buttons > .wp-block-button.wp-block-button__width-50 { - width: calc(50% - 0.5em); + width: calc(50% - (var(--wp--style--block-gap, 0.5em) * 0.5)); } .wp-block-buttons > .wp-block-button.wp-block-button__width-75 { - width: calc(75% - 0.5em); + width: calc(75% - (var(--wp--style--block-gap, 0.5em) * 0.25)); } .wp-block-buttons > .wp-block-button.wp-block-button__width-100 { - width: calc(100% - 0.5em); -} -.wp-block-buttons > .wp-block-button.wp-block-button__width-100:only-child { - margin-left: 0; width: 100%; + flex-basis: 100%; } -@supports (column-gap: 0.5em) { - .wp-block-buttons > .wp-block-button.wp-block-button, .wp-block-buttons.is-content-justification-right > .wp-block-button.wp-block-button { - margin-left: 0; - margin-right: 0; - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-25 { - width: calc(25% - 0.375em); - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-50 { - width: calc(50% - 0.25em); - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-75 { - width: calc(75% - 0.125em); - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-100 { - width: auto; - flex-basis: 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; @@ -164,8 +158,8 @@ border-radius: 0 !important; } -.is-style-outline > .wp-block-button__link, -.wp-block-button__link.is-style-outline { +.is-style-outline > :where(.wp-block-button__link), +:where(.wp-block-button__link).is-style-outline { border: 2px solid currentColor; padding: 0.667em 1.333em; } @@ -181,29 +175,17 @@ } .wp-block-buttons { - display: flex; - flex-direction: row; - flex-wrap: wrap; - column-gap: 0.5em; /* stylelint-disable indentation */ } .wp-block-buttons.is-vertical { flex-direction: column; } -.wp-block-buttons.is-vertical > .wp-block-button { - margin-right: 0; -} .wp-block-buttons.is-vertical > .wp-block-button:last-child { margin-bottom: 0; } .wp-block-buttons > .wp-block-button { display: inline-block; - margin-left: 0; - margin-right: 0.5em; - margin-bottom: 0.5em; -} -.wp-block-buttons > .wp-block-button:last-child { - margin-right: 0; + margin: 0; } .wp-block-buttons.is-content-justification-left { justify-content: flex-start; @@ -220,13 +202,6 @@ .wp-block-buttons.is-content-justification-right { justify-content: flex-end; } -.wp-block-buttons.is-content-justification-right > .wp-block-button { - margin-left: 0.5em; - margin-right: 0; -} -.wp-block-buttons.is-content-justification-right > .wp-block-button:first-child { - margin-left: 0; -} .wp-block-buttons.is-content-justification-right.is-vertical { align-items: flex-end; } @@ -236,20 +211,6 @@ .wp-block-buttons.aligncenter { text-align: center; } -.wp-block-buttons.alignleft .wp-block-button { - margin-left: 0; - margin-right: 0.5em; -} -.wp-block-buttons.alignleft .wp-block-button:last-child { - margin-right: 0; -} -.wp-block-buttons.alignright .wp-block-button { - margin-right: 0; - margin-left: 0.5em; -} -.wp-block-buttons.alignright .wp-block-button:first-child { - margin-left: 0; -} .wp-block-buttons:not(.is-content-justification-space-between, .is-content-justification-right, .is-content-justification-left, @@ -257,7 +218,6 @@ /* stylelint-enable indentation */ margin-right: auto; margin-left: auto; - margin-bottom: 0.5em; width: 100%; } @@ -319,7 +279,7 @@ flex-wrap: nowrap; } } -.wp-block-columns.has-background { +.wp-block-columns:where(.has-background) { padding: 1.25em 2.375em; } .wp-block-columns.are-vertically-aligned-top { @@ -331,6 +291,45 @@ .wp-block-columns.are-vertically-aligned-bottom { align-items: flex-end; } +@media (max-width: 599px) { + .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { + flex-basis: 100% !important; + } +} +@media (min-width: 600px) and (max-width: 781px) { + .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) { + flex-basis: calc(50% - calc(var(--wp--style--block-gap, 2em) / 2)) !important; + flex-grow: 0; + } + .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:nth-child(even) { + margin-right: var(--wp--style--block-gap, 2em); + } +} +@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:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) { + margin-right: var(--wp--style--block-gap, 2em); + } +} +.wp-block-columns.is-not-stacked-on-mobile { + flex-wrap: nowrap; +} +.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; +} +.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:not(:first-child) { + margin-right: var(--wp--style--block-gap, 2em); +} .wp-block-column { flex-grow: 1; @@ -341,32 +340,6 @@ * Individual Column Alignment */ } -@media (max-width: 599px) { - .wp-block-column { - flex-basis: 100% !important; - } -} -@media (min-width: 600px) and (max-width: 781px) { - .wp-block-column:not(:only-child) { - flex-basis: calc(50% - 1em) !important; - flex-grow: 0; - } - .wp-block-column:nth-child(even) { - margin-right: 2em; - } -} -@media (min-width: 782px) { - .wp-block-column { - flex-basis: 0; - flex-grow: 1; - } - .wp-block-column[style*=flex-basis] { - flex-grow: 0; - } - .wp-block-column:not(:first-child) { - margin-right: 2em; - } -} .wp-block-column.is-vertically-aligned-top { align-self: flex-start; } @@ -445,64 +418,48 @@ z-index: 1; opacity: 0.5; } -.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0 { + opacity: 0; +} +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10 { opacity: 0.1; } -.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20 { opacity: 0.2; } -.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30 { opacity: 0.3; } -.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40 { opacity: 0.4; } -.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50 { opacity: 0.5; } -.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60 { opacity: 0.6; } -.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70 { opacity: 0.7; } -.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80 { opacity: 0.8; } -.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90 { opacity: 0.9; } -.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100 { opacity: 1; } .wp-block-cover-image.alignleft, .wp-block-cover-image.alignright, @@ -536,6 +493,10 @@ z-index: 1; color: #fff; } +.wp-block-cover-image.is-light .wp-block-cover__inner-container, +.wp-block-cover.is-light .wp-block-cover__inner-container { + color: #000; +} .wp-block-cover-image p:not(.has-text-color), .wp-block-cover-image h1:not(.has-text-color), .wp-block-cover-image h2:not(.has-text-color), @@ -706,6 +667,7 @@ section.wp-block-cover-image > h2, .wp-block-embed { margin: 0 0 1em 0; + overflow-wrap: break-word; } .wp-block-embed figcaption { margin-top: 0.5em; @@ -806,7 +768,6 @@ section.wp-block-cover-image > h2, flex-direction: column; justify-content: center; position: relative; - align-self: flex-start; width: calc(50% - 1em); } .wp-block-gallery .blocks-gallery-image:nth-of-type(even), @@ -821,16 +782,9 @@ section.wp-block-cover-image > h2, .blocks-gallery-grid .blocks-gallery-item figure { margin: 0; height: 100%; -} -@supports (position: sticky) { - .wp-block-gallery .blocks-gallery-image figure, -.wp-block-gallery .blocks-gallery-item figure, -.blocks-gallery-grid .blocks-gallery-image figure, -.blocks-gallery-grid .blocks-gallery-item figure { - display: flex; - align-items: flex-end; - justify-content: flex-start; - } + display: flex; + align-items: flex-end; + justify-content: flex-start; } .wp-block-gallery .blocks-gallery-image img, .wp-block-gallery .blocks-gallery-item img, @@ -839,15 +793,7 @@ section.wp-block-cover-image > h2, display: block; max-width: 100%; height: auto; - width: 100%; -} -@supports (position: sticky) { - .wp-block-gallery .blocks-gallery-image img, -.wp-block-gallery .blocks-gallery-item img, -.blocks-gallery-grid .blocks-gallery-image img, -.blocks-gallery-grid .blocks-gallery-item img { - width: auto; - } + width: auto; } .wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption, @@ -865,6 +811,7 @@ section.wp-block-cover-image > h2, background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 70%, transparent); box-sizing: border-box; margin: 0; + z-index: 2; } .wp-block-gallery .blocks-gallery-image figcaption img, .wp-block-gallery .blocks-gallery-item figcaption img, @@ -876,11 +823,6 @@ section.wp-block-cover-image > h2, .blocks-gallery-grid figcaption { flex-grow: 1; } -.wp-block-gallery.is-cropped .blocks-gallery-image, .wp-block-gallery.is-cropped .blocks-gallery-item, -.blocks-gallery-grid.is-cropped .blocks-gallery-image, -.blocks-gallery-grid.is-cropped .blocks-gallery-item { - align-self: inherit; -} .wp-block-gallery.is-cropped .blocks-gallery-image a, .wp-block-gallery.is-cropped .blocks-gallery-image img, .wp-block-gallery.is-cropped .blocks-gallery-item a, .wp-block-gallery.is-cropped .blocks-gallery-item img, @@ -889,20 +831,10 @@ section.wp-block-cover-image > h2, .blocks-gallery-grid.is-cropped .blocks-gallery-item a, .blocks-gallery-grid.is-cropped .blocks-gallery-item img { width: 100%; -} -@supports (position: sticky) { - .wp-block-gallery.is-cropped .blocks-gallery-image a, -.wp-block-gallery.is-cropped .blocks-gallery-image img, .wp-block-gallery.is-cropped .blocks-gallery-item a, -.wp-block-gallery.is-cropped .blocks-gallery-item img, -.blocks-gallery-grid.is-cropped .blocks-gallery-image a, -.blocks-gallery-grid.is-cropped .blocks-gallery-image img, -.blocks-gallery-grid.is-cropped .blocks-gallery-item a, -.blocks-gallery-grid.is-cropped .blocks-gallery-item img { - height: 100%; - flex: 1; - -o-object-fit: cover; - object-fit: cover; - } + height: 100%; + flex: 1; + -o-object-fit: cover; + object-fit: cover; } .wp-block-gallery.columns-1 .blocks-gallery-image, .wp-block-gallery.columns-1 .blocks-gallery-item, .blocks-gallery-grid.columns-1 .blocks-gallery-image, @@ -1005,10 +937,211 @@ section.wp-block-cover-image > h2, justify-content: center; } +.wp-block-gallery:not(.is-cropped) .blocks-gallery-item { + align-self: flex-start; +} + +.wp-block-gallery.has-nested-images { + display: flex; + flex-wrap: wrap; +} +.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { + margin: 0 0 var(--gallery-block--gutter-size, 16px) var(--gallery-block--gutter-size, 16px); + width: calc(50% - (var(--gallery-block--gutter-size, 16px) / 2)); +} +.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):last-of-type:not(#individual-image) { + margin-left: 0; +} +.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):nth-of-type(even) { + margin-left: 0; +} +.wp-block-gallery.has-nested-images figure.wp-block-image { + display: flex; + flex-grow: 1; + justify-content: center; + position: relative; + margin-top: auto; + margin-bottom: auto; + flex-direction: column; +} +.wp-block-gallery.has-nested-images figure.wp-block-image > div, +.wp-block-gallery.has-nested-images figure.wp-block-image > a { + margin: 0; + flex-direction: column; + flex-grow: 1; +} +.wp-block-gallery.has-nested-images figure.wp-block-image img { + display: block; + height: auto; + max-width: 100%; + width: auto; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { + background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 70%, transparent); + bottom: 0; + color: #fff; + font-size: 13px; + right: 0; + margin-bottom: 0; + max-height: 60%; + overflow: auto; + padding: 0 8px 8px; + position: absolute; + text-align: center; + width: 100%; + box-sizing: border-box; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img { + display: inline; +} +.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > div, +.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > a { + flex: 1 1 auto; +} +.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption { + flex: initial; + background: none; + color: inherit; + margin: 0; + padding: 10px 10px 9px; + position: relative; +} +.wp-block-gallery.has-nested-images figcaption { + flex-grow: 1; + flex-basis: 100%; + text-align: center; +} +.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) { + margin-top: 0; + margin-bottom: auto; +} +.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) img { + margin-bottom: var(--gallery-block--gutter-size, 16px); +} +.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) figcaption { + bottom: var(--gallery-block--gutter-size, 16px); +} +.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) > div:not(.components-drop-zone), +.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) > a { + 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 { + width: 100%; + flex: 1 0 0%; + height: 100%; + -o-object-fit: cover; + object-fit: cover; +} +.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) { + margin-left: 0; + width: 100%; +} +@media (min-width: 600px) { + .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + width: calc(33.3333333333% - (var(--gallery-block--gutter-size, 16px) * 0.6666666667)); + } + .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + width: calc(25% - (var(--gallery-block--gutter-size, 16px) * 0.75)); + } + .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + width: calc(20% - (var(--gallery-block--gutter-size, 16px) * 0.8)); + } + .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + width: calc(16.6666666667% - (var(--gallery-block--gutter-size, 16px) * 0.8333333333)); + } + .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + width: calc(14.2857142857% - (var(--gallery-block--gutter-size, 16px) * 0.8571428571)); + } + .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + width: calc(12.5% - (var(--gallery-block--gutter-size, 16px) * 0.875)); + } + .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image):nth-of-type(1n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-2 figure.wp-block-image:not(#individual-image):nth-of-type(2n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image):nth-of-type(3n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image):nth-of-type(4n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image):nth-of-type(5n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image):nth-of-type(6n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image):nth-of-type(7n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image):nth-of-type(8n) { + margin-left: 0; + } + .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) { + margin-left: var(--gallery-block--gutter-size, 16px); + width: calc(33.33% - (var(--gallery-block--gutter-size, 16px) * 0.6666666667)); + } + .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):nth-of-type(3n+3) { + margin-left: 0; + } + .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(--gallery-block--gutter-size, 16px) * 0.5)); + } + .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(1) { + 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, +h2, +h3, +h4, +h5, +h6 { + overflow-wrap: break-word; +} h1.has-background, h2.has-background, h3.has-background, @@ -1022,7 +1155,9 @@ h6.has-background { margin: 0 0 1em 0; } .wp-block-image img { + height: auto; max-width: 100%; + vertical-align: bottom; } .wp-block-image:not(.is-style-rounded) img { border-radius: inherit; @@ -1031,6 +1166,7 @@ h6.has-background { text-align: center; } .wp-block-image.alignfull img, .wp-block-image.alignwide img { + height: auto; width: 100%; } .wp-block-image .alignleft, @@ -1197,7 +1333,6 @@ ol.wp-block-latest-comments { .wp-block-latest-posts__post-date, .wp-block-latest-posts__post-author { display: block; - color: #555; font-size: 0.8125em; } @@ -1234,6 +1369,10 @@ ol.wp-block-latest-comments { margin-bottom: 0; } +ol, +ul { + overflow-wrap: break-word; +} ol.has-background, ul.has-background { padding: 1.25em 2.375em; @@ -1292,6 +1431,7 @@ ul.has-background { .wp-block-media-text__media img, .wp-block-media-text__media video { + height: auto; max-width: unset; width: 100%; vertical-align: middle; @@ -1342,104 +1482,95 @@ ul.has-background { .wp-block-navigation { position: relative; } +.wp-block-navigation ul { + margin-top: 0; + margin-bottom: 0; + margin-right: 0; + padding-right: 0; +} .wp-block-navigation ul, .wp-block-navigation ul li { list-style: none; padding: 0; } -.wp-block-navigation .wp-block-pages-list__item, -.wp-block-navigation .wp-block-navigation-link { +.wp-block-navigation .wp-block-navigation-item { display: flex; align-items: center; position: relative; } -.wp-block-navigation .wp-block-pages-list__item .wp-block-navigation-link__container:empty, -.wp-block-navigation .wp-block-navigation-link .wp-block-navigation-link__container:empty { +.wp-block-navigation .wp-block-navigation-item .wp-block-navigation__submenu-container:empty { display: none; } -.wp-block-navigation .wp-block-pages-list__item__link, -.wp-block-navigation .wp-block-navigation-link__content { +.wp-block-navigation .wp-block-navigation-item__content { color: inherit; display: block; -} -.wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item, -.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__container, -.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link { - text-decoration: inherit; -} -.wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item__link, -.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__content { - text-decoration: inherit; -} -.wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item__link:focus, .wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item__link:active, -.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__content:focus, -.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__content:active { - text-decoration: inherit; -} -.wp-block-navigation:not([style*=text-decoration]) .wp-block-pages-list__item__link, -.wp-block-navigation:not([style*=text-decoration]) .wp-block-navigation-link__content { - text-decoration: none; -} -.wp-block-navigation:not([style*=text-decoration]) .wp-block-pages-list__item__link:focus, .wp-block-navigation:not([style*=text-decoration]) .wp-block-pages-list__item__link:active, -.wp-block-navigation:not([style*=text-decoration]) .wp-block-navigation-link__content:focus, -.wp-block-navigation:not([style*=text-decoration]) .wp-block-navigation-link__content:active { - text-decoration: none; -} -.wp-block-navigation .wp-block-page-list__submenu-icon, -.wp-block-navigation .wp-block-navigation-link__submenu-icon { - height: inherit; -} -.wp-block-navigation .wp-block-page-list__submenu-icon svg, -.wp-block-navigation .wp-block-navigation-link__submenu-icon svg { - stroke: currentColor; -} -.wp-block-navigation .wp-block-pages-list__item .wp-block-pages-list__item__link, -.wp-block-navigation .wp-block-navigation-link .wp-block-navigation-link__content.wp-block-navigation-link__content.wp-block-navigation-link__content { padding: 0; } -.wp-block-navigation .has-child > .wp-block-pages-list__item__link, -.wp-block-navigation .has-child > .wp-block-navigation-link__content { - margin-left: 0.5em; +.wp-block-navigation[style*=text-decoration] .wp-block-navigation-item, +.wp-block-navigation[style*=text-decoration] .wp-block-navigation__submenu-container { + text-decoration: inherit; } -.wp-block-navigation .has-child .submenu-container, -.wp-block-navigation .has-child .wp-block-navigation-link__container { +.wp-block-navigation[style*=text-decoration] a { + text-decoration: inherit; +} +.wp-block-navigation[style*=text-decoration] a:focus, .wp-block-navigation[style*=text-decoration] a:active { + text-decoration: inherit; +} +.wp-block-navigation:not([style*=text-decoration]) a { + text-decoration: none; +} +.wp-block-navigation:not([style*=text-decoration]) a:focus, .wp-block-navigation:not([style*=text-decoration]) a:active { + text-decoration: none; +} +.wp-block-navigation .wp-block-navigation__submenu-icon { + align-self: center; + height: inherit; + line-height: 0; + margin-right: 6px; + padding: 0; + background-color: inherit; + color: currentColor; + border: none; +} +.wp-block-navigation .wp-block-navigation__submenu-icon svg { + display: inline-block; + stroke: currentColor; +} + +.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) { background-color: inherit; color: inherit; position: absolute; z-index: 2; + display: flex; flex-direction: column; align-items: normal; - min-width: 200px; - display: none; opacity: 0; transition: opacity 0.1s linear; visibility: hidden; + width: 0; + height: 0; + right: -1px; + top: 100%; } -.wp-block-navigation .has-child .submenu-container > .wp-block-pages-list__item > .wp-block-pages-list__item__link, -.wp-block-navigation .has-child .submenu-container > .wp-block-pages-list__item > .wp-block-navigation-link__content, -.wp-block-navigation .has-child .submenu-container > .wp-block-navigation-link > .wp-block-pages-list__item__link, -.wp-block-navigation .has-child .submenu-container > .wp-block-navigation-link > .wp-block-navigation-link__content, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-pages-list__item > .wp-block-pages-list__item__link, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-pages-list__item > .wp-block-navigation-link__content, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-navigation-link > .wp-block-pages-list__item__link, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-navigation-link > .wp-block-navigation-link__content { +.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) > .wp-block-navigation-item > .wp-block-navigation-item__content { + display: flex; flex-grow: 1; + white-space: nowrap; } -.wp-block-navigation .has-child .submenu-container > .wp-block-pages-list__item > .wp-block-page-list__submenu-icon, -.wp-block-navigation .has-child .submenu-container > .wp-block-pages-list__item > .wp-block-navigation-link__submenu-icon, -.wp-block-navigation .has-child .submenu-container > .wp-block-navigation-link > .wp-block-page-list__submenu-icon, -.wp-block-navigation .has-child .submenu-container > .wp-block-navigation-link > .wp-block-navigation-link__submenu-icon, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-pages-list__item > .wp-block-page-list__submenu-icon, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-pages-list__item > .wp-block-navigation-link__submenu-icon, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-navigation-link > .wp-block-page-list__submenu-icon, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-navigation-link > .wp-block-navigation-link__submenu-icon { - padding-left: 0.5em; +.wp-block-navigation .has-child :where(.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 :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content { + margin: 0; } @media (min-width: 782px) { - .wp-block-navigation .has-child .submenu-container .submenu-container::before, -.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__container::before, -.wp-block-navigation .has-child .wp-block-navigation-link__container .submenu-container::before, -.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container::before { + .wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-container { + right: 100%; + top: -1px; + } + .wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 100%; @@ -1448,142 +1579,96 @@ ul.has-background { width: 0.5em; background: transparent; } - .wp-block-navigation .has-child .submenu-container .wp-block-page-list__submenu-icon svg, -.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__submenu-icon svg, -.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-page-list__submenu-icon svg, -.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__submenu-icon svg { + .wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-icon svg { transform: rotate(90deg); } } -.wp-block-navigation .has-child:hover > .wp-block-navigation-link__container { - display: flex; +.wp-block-navigation .has-child:where(:not(.open-on-click)):hover > .wp-block-navigation__submenu-container { visibility: visible; opacity: 1; + width: auto; + height: auto; + min-width: 200px; } -.wp-block-navigation .has-child:focus-within > .wp-block-navigation-link__container { - display: flex; +.wp-block-navigation .has-child:where(:not(.open-on-click):not(.open-on-hover-click)):focus-within > .wp-block-navigation__submenu-container { visibility: visible; opacity: 1; + width: auto; + height: auto; + min-width: 200px; } -.wp-block-navigation .has-child:hover { - cursor: pointer; -} -.wp-block-navigation .has-child:hover > .submenu-container { - display: flex; +.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true] + .wp-block-navigation__submenu-container { visibility: visible; opacity: 1; -} -.wp-block-navigation .has-child:focus-within { - cursor: pointer; -} -.wp-block-navigation .has-child:focus-within > .submenu-container { - display: flex; - visibility: visible; - opacity: 1; -} -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .submenu-container > .has-child:last-child .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .submenu-container > .has-child:last-child .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.items-justified-right > .submenu-container .has-child .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .submenu-container .has-child .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.items-justified-right > .wp-block-navigation__container .has-child .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .wp-block-navigation__container .has-child .wp-block-navigation-link__container { - right: auto; - left: 0; -} -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .submenu-container > .has-child:last-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .submenu-container > .has-child:last-child .submenu-container .wp-block-navigation-link__container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .submenu-container > .has-child:last-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .submenu-container > .has-child:last-child .wp-block-navigation-link__container .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .submenu-container .wp-block-navigation-link__container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation-link__container .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.items-justified-right > .submenu-container .has-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .submenu-container .has-child .submenu-container .wp-block-navigation-link__container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .submenu-container .has-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .submenu-container .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.items-justified-right > .wp-block-navigation__container .has-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .wp-block-navigation__container .has-child .submenu-container .wp-block-navigation-link__container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .wp-block-navigation__container .has-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .wp-block-navigation__container .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container { - right: auto; - left: 100%; + width: auto; + height: auto; + min-width: 200px; } -.wp-block-navigation.wp-block-navigation .wp-block-page-list, -.wp-block-navigation.wp-block-navigation .wp-block-page-list > .wp-block-pages-list__item, -.wp-block-navigation.wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-link { - margin: 0 0 0 2em; -} -.wp-block-navigation.wp-block-navigation .wp-block-page-list:last-child, -.wp-block-navigation.wp-block-navigation .wp-block-page-list > .wp-block-pages-list__item:last-child, -.wp-block-navigation.wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-link:last-child { - margin-left: 0; -} -.wp-block-navigation.wp-block-navigation.has-background .wp-block-page-list, -.wp-block-navigation.wp-block-navigation.has-background .wp-block-page-list > .wp-block-pages-list__item, -.wp-block-navigation.wp-block-navigation.has-background .wp-block-navigation__container > .wp-block-navigation-link { - margin: 0 0 0 0.5em; -} -.wp-block-navigation.wp-block-navigation.has-background .wp-block-page-list .wp-block-pages-list__item__link, -.wp-block-navigation.wp-block-navigation.has-background .wp-block-navigation__container .wp-block-navigation-link__content { - padding: 0.5em 1em; -} -.wp-block-navigation.wp-block-navigation .has-child .submenu-container, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container { - right: -1em; - top: 100%; -} -.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-pages-list__item, -.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-pages-list__item, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link { - margin: 0; -} -.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-pages-list__item__link, -.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__content, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-pages-list__item__link, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__content { - padding: 0.5em 1em; -} -.wp-block-navigation.wp-block-navigation .has-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__container, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container { - right: -1px; -} -@media (min-width: 782px) { - .wp-block-navigation.wp-block-navigation .has-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__container, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container { - right: 100%; - top: -1px; - } -} -.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container, .wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container { +.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container { right: 0; top: 100%; } -.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container { - right: 0; -} @media (min-width: 782px) { - .wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container { + .wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { right: 100%; top: 0; } } -.wp-block-navigation:not(.has-background) .submenu-container, -.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-navigation-link__container { +/** + * Margins + */ +.wp-block-navigation, +.wp-block-navigation .wp-block-page-list, +.wp-block-navigation__container, +.wp-block-navigation__responsive-container-content { + gap: var(--wp--style--block-gap, 2em); +} + +.wp-block-navigation:where(.has-background), +.wp-block-navigation:where(.has-background) .wp-block-navigation .wp-block-page-list, +.wp-block-navigation:where(.has-background) .wp-block-navigation__container { + gap: var(--wp--style--block-gap, 0.5em); +} + +/** + * Paddings + */ +.wp-block-navigation:where(.has-background) .wp-block-navigation-item__content { + padding: 0.5em 1em; +} + +.wp-block-navigation :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content { + padding: 0.5em 1em; +} + +/** + * Justifications. + */ +@media (min-width: 782px) { + .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, +.wp-block-navigation.items-justified-right .wp-block-page-list > .has-child .wp-block-navigation__submenu-container, +.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container { + right: auto; + left: 0; + } + .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, +.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-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { + right: auto; + left: 100%; + } +} +.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container { background-color: #fff; color: #000; border: 1px solid rgba(0, 0, 0, 0.15); } .wp-block-navigation__container { - align-items: center; list-style: none; margin: 0; padding-right: 0; @@ -1591,42 +1676,6 @@ ul.has-background { .wp-block-navigation__container .is-responsive { display: none; } -@media (min-width: 600px) { - .wp-block-navigation__container { - display: flex; - flex-wrap: wrap; - } - .is-vertical .wp-block-navigation__container { - display: block; - flex-direction: column; - align-items: flex-start; - } -} - -.items-justified-center .wp-block-navigation__container { - justify-content: center; -} - -.items-justified-right .wp-block-navigation__container { - justify-content: flex-end; -} - -.items-justified-space-between .wp-block-navigation__container { - justify-content: space-between; -} - -.is-vertical.items-justified-center > ul { - align-items: center; -} - -.is-vertical.items-justified-right > ul { - align-items: flex-end; -} -.is-vertical.items-justified-right > ul .wp-block-navigation-link, -.is-vertical.items-justified-right > ul .wp-block-pages-list__item { - margin-left: 0; - justify-content: flex-end; -} /** * Mobile menu. @@ -1638,48 +1687,83 @@ ul.has-background { right: 0; left: 0; bottom: 0; - z-index: 1; - align-items: flex-start; - justify-content: flex-start; +} +.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content { + display: contents; } .wp-block-navigation__responsive-container.is-menu-open { display: flex; flex-direction: column; overflow: auto; z-index: 100000; - padding: 24px; + padding: 72px 24px 24px 24px; background-color: inherit; + align-items: inherit; } -.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { display: flex; flex-direction: column; - margin-right: auto; - margin-left: auto; - align-items: flex-start; - line-height: 48px; + align-items: var(--justification-setting, inherit); + overflow: auto; padding: 0; } -.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container .wp-block-page-list { - flex-direction: column; +.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-pages-list__item .submenu-container, -.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link .wp-block-navigation-link__container, -.wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item, -.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link { +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .submenu-container, +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container { + opacity: 1; + visibility: visible; + height: auto; + width: auto; + overflow: initial; + min-width: 200px; + position: static; + border: none; + padding-right: 32px; + padding-left: 32px; +} +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container, +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container { + gap: var(--wp--style--block-gap, 2em); +} +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container, +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation__container, +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation__submenu-container, +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation__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__container, +.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-page-list { + display: flex; + flex-direction: column; + align-items: var(--justification-setting, inherit); +} +.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-item { + color: inherit !important; background: transparent !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(.is-menu-open) { - display: flex; - flex-direction: row; + .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { + display: contents; + width: 100%; position: relative; + z-index: 2; background-color: inherit; } - .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close { + .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 .submenu-container.submenu-container.submenu-container.submenu-container, -.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link__container.wp-block-navigation-link__container.wp-block-navigation-link__container.wp-block-navigation-link__container { + .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; } } @@ -1712,22 +1796,10 @@ ul.has-background { display: flex; } @media (min-width: 600px) { - .wp-block-navigation__responsive-container-open { + .wp-block-navigation__responsive-container-open:not(.always-shown) { display: none; } } -.items-justified-left .wp-block-navigation__responsive-container-open { - margin-right: 0; - margin-left: auto; -} -.items-justified-center .wp-block-navigation__responsive-container-open { - margin-right: auto; - margin-left: auto; -} -.items-justified-right .wp-block-navigation__responsive-container-open { - margin-right: auto; - margin-left: 0; -} .wp-block-navigation__responsive-container-close { position: absolute; @@ -1747,37 +1819,49 @@ ul.has-background { height: 100%; } -.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list__submenu-icon, -.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link__submenu-icon { - display: none; -} -.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .has-child .submenu-container, -.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .has-child .wp-block-navigation-link__container { - position: relative; - opacity: 1; - visibility: visible; - padding: 0 32px 0 0; - border: none; -} -.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link, -.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item { - flex-direction: column; - align-items: flex-start; -} - html.has-modal-open { overflow: hidden; } -.wp-block-navigation .wp-block-navigation-link__label { +.wp-block-navigation__responsive-close, +.wp-block-navigation__responsive-dialog, +.wp-block-navigation__container { + display: contents; +} +.is-menu-open .wp-block-navigation__responsive-close, +.is-menu-open .wp-block-navigation__responsive-dialog, +.is-menu-open .wp-block-navigation__container { + align-items: inherit; +} + +.wp-block-navigation .wp-block-navigation-item__label { word-break: normal; overflow-wrap: break-word; } +.wp-block-navigation-submenu { + position: relative; + display: flex; +} +.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-size: inherit; + font-family: inherit; +} + +.wp-block-navigation-submenu__toggle { + cursor: pointer; +} + .wp-block-navigation .wp-block-home-link__content { color: inherit; display: block; - padding: 0.5em 1em; } .wp-block-navigation[style*=text-decoration] .wp-block-home-link { text-decoration: inherit; @@ -1805,34 +1889,13 @@ html.has-modal-open { } .wp-block-navigation .wp-block-page-list { - display: flex; + display: contents; flex-wrap: wrap; background-color: inherit; } -.wp-block-navigation .wp-block-pages-list__item { +.wp-block-navigation .wp-block-navigation-item { background-color: inherit; } -.wp-block-navigation .wp-block-page-list__submenu-icon { - display: none; -} -.wp-block-navigation .show-submenu-icons .wp-block-page-list__submenu-icon { - display: block; -} - -.is-vertical .wp-block-navigation__container .wp-block-page-list, -.is-open .wp-block-navigation__container .wp-block-page-list { - display: block; -} - -@media (min-width: 480px) { - .is-open .wp-block-navigation__container .wp-block-page-list { - display: flex; - } -} - -.items-justified-space-between .wp-block-page-list { - display: contents; -} .is-small-text { font-size: 0.875em; @@ -1860,6 +1923,10 @@ html.has-modal-open { font-style: normal; } +p { + overflow-wrap: break-word; +} + p.has-drop-cap.has-background { overflow: hidden; } @@ -1868,7 +1935,7 @@ p.has-background { padding: 1.25em 2.375em; } -p.has-text-color a { +:where(p.has-text-color:not(.has-link-color)) a { color: inherit; } @@ -1894,10 +1961,12 @@ p.has-text-color a { flex-basis: 0; } .wp-block-post-author__name { - font-weight: bold; margin: 0; } +.wp-block-post-comments > h3:first-of-type { + margin-top: 0; +} .wp-block-post-comments .commentlist { list-style: none; margin: 0; @@ -1944,18 +2013,35 @@ p.has-text-color a { .wp-block-post-comments .comment-form-email label, .wp-block-post-comments .comment-form-url label { display: block; + margin-bottom: 0.25em; } .wp-block-post-comments .comment-form-comment textarea { box-sizing: border-box; width: 100%; } +.wp-block-post-comments .comment-form-cookies-consent { + display: flex; + gap: 0.25em; +} +.wp-block-post-comments .comment-form-cookies-consent #wp-comment-cookies-consent { + margin-top: 0.35em; +} .wp-block-post-comments .reply { font-size: 0.75em; margin-bottom: 1.4em; } .wp-block-post-comments textarea, -.wp-block-post-comments input { +.wp-block-post-comments input:not([type=submit]) { border: 1px solid #949494; + font-size: 1em; + font-family: inherit; +} +.wp-block-post-comments textarea, +.wp-block-post-comments input:not([type=submit]):not([type=checkbox]) { + padding: calc(0.667em + 2px); +} +.wp-block-post-comments input[type=submit] { + border: none; } .wp-block-post-comments-form input[type=submit] { @@ -1966,11 +2052,44 @@ p.has-text-color a { text-align: center; overflow-wrap: break-word; } +.wp-block-post-comments-form textarea, +.wp-block-post-comments-form input:not([type=submit]) { + border: 1px solid #949494; + font-size: 1em; + font-family: inherit; +} +.wp-block-post-comments-form textarea, +.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]) { + padding: calc(0.667em + 2px); +} +.wp-block-post-comments-form .comment-form-comment textarea { + display: block; + box-sizing: border-box; + width: 100%; +} +.wp-block-post-comments-form .comment-form-comment label, +.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: 0.25em; +} +.wp-block-post-comments-form .comment-form-cookies-consent { + display: flex; + gap: 0.25em; +} +.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent { + margin-top: 0.35em; +} .wp-block-post-excerpt__more-link { display: inline-block; } +.wp-block-post-terms__separator { + white-space: pre-wrap; +} + .wp-block-post-title a { display: inline-block; } @@ -1987,11 +2106,17 @@ p.has-text-color a { margin: 0 0 1em 0; padding: 3em 0; text-align: center; + overflow-wrap: break-word; } -.wp-block-pullquote.alignleft, .wp-block-pullquote.alignright { +.wp-block-pullquote p, +.wp-block-pullquote blockquote, +.wp-block-pullquote cite { + color: inherit; +} +.wp-block-pullquote.has-text-align-left, .wp-block-pullquote.has-text-align-right, .wp-block-pullquote.alignleft, .wp-block-pullquote.alignright { max-width: 420px; } -.wp-block-pullquote.alignleft p, .wp-block-pullquote.alignright p { +.wp-block-pullquote.has-text-align-left p, .wp-block-pullquote.has-text-align-right p, .wp-block-pullquote.alignleft p, .wp-block-pullquote.alignright p { font-size: 1.25em; } .wp-block-pullquote p { @@ -2006,6 +2131,14 @@ p.has-text-color a { color: inherit; } +.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:not(.is-style-solid-color) { background: none; } @@ -2016,7 +2149,6 @@ p.has-text-color a { .wp-block-pullquote.is-style-solid-color blockquote { margin-right: auto; margin-left: auto; - text-align: right; max-width: 60%; } .wp-block-pullquote.is-style-solid-color blockquote p { @@ -2033,8 +2165,14 @@ p.has-text-color a { color: inherit; } +.wp-block-post-content + * { + clear: both; +} + .wp-block-post-template, .wp-block-query-loop { + margin-top: 0; + margin-bottom: 0; max-width: 100%; list-style: none; padding: 0; @@ -2101,15 +2239,9 @@ p.has-text-color a { } } -.wp-block-query-pagination { - display: flex; - flex-direction: row; - flex-wrap: wrap; -} .wp-block-query-pagination > .wp-block-query-pagination-next, .wp-block-query-pagination > .wp-block-query-pagination-previous, .wp-block-query-pagination > .wp-block-query-pagination-numbers { - display: inline-block; margin-right: 0.5em; margin-bottom: 0.5em; } @@ -2118,7 +2250,27 @@ p.has-text-color a { .wp-block-query-pagination > .wp-block-query-pagination-numbers:last-child { margin-right: 0; } +.wp-block-query-pagination .wp-block-query-pagination-previous-arrow { + margin-left: 1ch; + display: inline-block; +} +.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 { + margin-right: 1ch; + display: inline-block; +} +.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-quote { + overflow-wrap: break-word; +} .wp-block-quote.is-style-large, .wp-block-quote.is-large { margin-bottom: 1em; padding: 0 1em; @@ -2135,39 +2287,43 @@ p.has-text-color a { text-align: left; } -.wp-block-rss.wp-block-rss { +ul.wp-block-rss { + list-style: none; + padding: 0; +} +ul.wp-block-rss.wp-block-rss { box-sizing: border-box; } -.wp-block-rss.alignleft { +ul.wp-block-rss.alignleft { margin-right: 2em; } -.wp-block-rss.alignright { +ul.wp-block-rss.alignright { margin-left: 2em; } -.wp-block-rss.is-grid { +ul.wp-block-rss.is-grid { display: flex; flex-wrap: wrap; padding: 0; list-style: none; } -.wp-block-rss.is-grid li { +ul.wp-block-rss.is-grid li { margin: 0 0 1em 1em; width: 100%; } @media (min-width: 600px) { - .wp-block-rss.columns-2 li { + ul.wp-block-rss.columns-2 li { width: calc(( 100% / 2 ) - 1em); } - .wp-block-rss.columns-3 li { + ul.wp-block-rss.columns-3 li { width: calc(( 100% / 3 ) - 1em); } - .wp-block-rss.columns-4 li { + ul.wp-block-rss.columns-4 li { width: calc(( 100% / 4 ) - 1em); } - .wp-block-rss.columns-5 li { + ul.wp-block-rss.columns-5 li { width: calc(( 100% / 5 ) - 1em); } - .wp-block-rss.columns-6 li { + ul.wp-block-rss.columns-6 li { width: calc(( 100% / 6 ) - 1em); } } @@ -2175,42 +2331,54 @@ p.has-text-color a { .wp-block-rss__item-publish-date, .wp-block-rss__item-author { display: block; - color: #555; font-size: 0.8125em; } -.wp-block-search .wp-block-search__button { +.wp-block-search__button { background: #f7f7f7; border: 1px solid #ccc; padding: 0.375em 0.625em; color: #32373c; margin-right: 0.625em; word-break: normal; + font-size: inherit; + font-family: inherit; + line-height: inherit; } -.wp-block-search .wp-block-search__button.has-icon { +.wp-block-search__button.has-icon { line-height: 0; } -.wp-block-search .wp-block-search__button svg { +.wp-block-search__button svg { min-width: 1.5em; min-height: 1.5em; + fill: currentColor; } -.wp-block-search .wp-block-search__inside-wrapper { + +.wp-block-search__inside-wrapper { display: flex; flex: auto; flex-wrap: nowrap; max-width: 100%; } -.wp-block-search .wp-block-search__label { + +.wp-block-search__label { width: 100%; } -.wp-block-search .wp-block-search__input { + +.wp-block-search__input { + padding: 8px; flex-grow: 1; min-width: 3em; border: 1px solid #949494; + font-size: inherit; + font-family: inherit; + line-height: inherit; } + .wp-block-search.wp-block-search__button-only .wp-block-search__button { margin-right: 0; } + .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper { padding: 4px; border: 1px solid #949494; @@ -2226,6 +2394,7 @@ p.has-text-color a { .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button { padding: 0.125em 0.5em; } + .wp-block-search.aligncenter .wp-block-search__inside-wrapper { margin: auto; } @@ -2241,7 +2410,6 @@ p.has-text-color a { background: none !important; border: none; text-align: center; - width: none; line-height: 1; height: auto; } @@ -2264,16 +2432,18 @@ p.has-text-color a { width: 120px; height: auto; } -.wp-block-site-logo .aligncenter { +.wp-block-site-logo a, +.wp-block-site-logo img { + border-radius: inherit; +} +.wp-block-site-logo.aligncenter { display: table; } -.wp-block-site-logo.is-style-rounded img { +.wp-block-site-logo.is-style-rounded { border-radius: 9999px; } .wp-block-social-links { - display: flex; - flex-wrap: wrap; padding-right: 0; padding-left: 0; text-indent: 0; @@ -2285,9 +2455,6 @@ p.has-text-color a { border-bottom: 0; box-shadow: none; } -.wp-block-social-links .wp-social-link.wp-social-link.wp-social-link { - margin: 4px 0 4px 8px; -} .wp-block-social-links .wp-social-link a { padding: 0.25em; } @@ -2506,7 +2673,13 @@ p.has-text-color a { .wp-block-social-links.is-style-logos-only .wp-social-link { background: none; - padding: 4px; +} +.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 { + width: 1.25em; + height: 1.25em; } .wp-block-social-links.is-style-logos-only .wp-social-link-amazon { color: #f90; @@ -2646,6 +2819,15 @@ p.has-text-color a { padding-right: 1em; padding-left: 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-table { margin: 0 0 1em 0; @@ -2790,142 +2972,43 @@ pre.wp-block-verse { } .wp-block-post-featured-image img { max-width: 100%; + width: 100%; height: auto; + vertical-align: bottom; } .wp-block-post-featured-image.alignwide img, .wp-block-post-featured-image.alignfull img { width: 100%; } :root { + /* + * Our classes uses the same values we set for gradient value attributes, + * and we can not use spacing because of WP multi site kses rule. + */ /* stylelint-disable function-comma-space-after */ /* stylelint-enable function-comma-space-after */ } -:root .has-pale-pink-background-color { - background-color: #f78da7; -} -:root .has-vivid-red-background-color { - background-color: #cf2e2e; -} -:root .has-luminous-vivid-orange-background-color { - background-color: #ff6900; -} -:root .has-luminous-vivid-amber-background-color { - background-color: #fcb900; -} -:root .has-light-green-cyan-background-color { - background-color: #7bdcb5; -} -:root .has-vivid-green-cyan-background-color { - background-color: #00d084; -} -:root .has-pale-cyan-blue-background-color { - background-color: #8ed1fc; -} -:root .has-vivid-cyan-blue-background-color { - background-color: #0693e3; -} -:root .has-vivid-purple-background-color { - background-color: #9b51e0; -} -:root .has-white-background-color { - background-color: #fff; -} :root .has-very-light-gray-background-color { background-color: #eee; } -:root .has-cyan-bluish-gray-background-color { - background-color: #abb8c3; -} :root .has-very-dark-gray-background-color { background-color: #313131; } -:root .has-black-background-color { - background-color: #000; -} -:root .has-pale-pink-color { - color: #f78da7; -} -:root .has-vivid-red-color { - color: #cf2e2e; -} -:root .has-luminous-vivid-orange-color { - color: #ff6900; -} -:root .has-luminous-vivid-amber-color { - color: #fcb900; -} -:root .has-light-green-cyan-color { - color: #7bdcb5; -} -:root .has-vivid-green-cyan-color { - color: #00d084; -} -:root .has-pale-cyan-blue-color { - color: #8ed1fc; -} -:root .has-vivid-cyan-blue-color { - color: #0693e3; -} -:root .has-vivid-purple-color { - color: #9b51e0; -} -:root .has-white-color { - color: #fff; -} :root .has-very-light-gray-color { color: #eee; } -:root .has-cyan-bluish-gray-color { - color: #abb8c3; -} :root .has-very-dark-gray-color { color: #313131; } -:root .has-black-color { - color: #000; -} -:root .has-vivid-cyan-blue-to-vivid-purple-gradient-background { - background: linear-gradient(-135deg, #0693e3 0%, #9b51e0 100%); -} :root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background { background: linear-gradient(-135deg, #00d084 0%, #0693e3 100%); } -:root .has-light-green-cyan-to-vivid-green-cyan-gradient-background { - background: linear-gradient(-135deg, #7adcb4 0%, #00d082 100%); -} -:root .has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background { - background: linear-gradient(-135deg, #fcb900 0%, #ff6900 100%); -} -:root .has-luminous-vivid-orange-to-vivid-red-gradient-background { - background: linear-gradient(-135deg, #ff6900 0%, #cf2e2e 100%); -} -:root .has-very-light-gray-to-cyan-bluish-gray-gradient-background { - background: linear-gradient(-135deg, #eeeeee 0%, #a9b8c3 100%); -} -:root .has-cool-to-warm-spectrum-gradient-background { - background: linear-gradient(-135deg, #4aeadc 0%, #9778d1 20%, #cf2aba 40%, #ee2c82 60%, #fb6962 80%, #fef84c 100%); -} -:root .has-blush-light-purple-gradient-background { - background: linear-gradient(-135deg, #ffceec 0%, #9896f0 100%); -} -:root .has-blush-bordeaux-gradient-background { - background: linear-gradient(-135deg, #fecda5 0%, #fe2d2d 50%, #6b003e 100%); -} :root .has-purple-crush-gradient-background { background: linear-gradient(-135deg, #34e2e4 0%, #4721fb 50%, #ab1dfe 100%); } -:root .has-luminous-dusk-gradient-background { - background: linear-gradient(-135deg, #ffcb70 0%, #c751c0 50%, #4158d0 100%); -} :root .has-hazy-dawn-gradient-background { background: linear-gradient(-135deg, #faaca8 0%, #dad0ec 100%); } -:root .has-pale-ocean-gradient-background { - background: linear-gradient(-135deg, #fff5cb 0%, #b6e3d4 50%, #33a7b5 100%); -} -:root .has-electric-grass-gradient-background { - background: linear-gradient(-135deg, #caf880 0%, #71ce7e 100%); -} :root .has-subdued-olive-gradient-background { background: linear-gradient(-135deg, #fafae1 0%, #67a671 100%); } @@ -2939,25 +3022,11 @@ pre.wp-block-verse { background: linear-gradient(-135deg, #020381 0%, #2874fc 100%); } -.has-small-font-size { - font-size: 0.8125em; -} - -.has-regular-font-size, -.has-normal-font-size { +.has-regular-font-size { font-size: 1em; } -.has-medium-font-size { - font-size: 1.25em; -} - -.has-large-font-size { - font-size: 2.25em; -} - -.has-larger-font-size, -.has-huge-font-size { +.has-larger-font-size { font-size: 2.625em; } 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 ad091e4fe2..21d5aa9c23 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";#start-resizable-editor-section{display:none}.wp-block-audio{margin:0 0 1em}.wp-block-audio figcaption{margin-top:.5em;margin-bottom:1em}.wp-block-audio audio{width:100%;min-width:300px}.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;cursor:pointer;display:inline-block;font-size:1.125em;padding:calc(.667em + 2px) calc(1.333em + 2px);text-align:center;text-decoration:none;overflow-wrap:break-word;box-sizing:border-box}.wp-block-button__link:active,.wp-block-button__link:focus,.wp-block-button__link:hover,.wp-block-button__link:visited{color:#fff}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}.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% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{width:calc(100% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100:only-child{margin-left:0;width:100%}@supports (column-gap:0.5em){.wp-block-buttons.is-content-justification-right>.wp-block-button.wp-block-button,.wp-block-buttons>.wp-block-button.wp-block-button{margin-left:0;margin-right:0}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - .375em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - .25em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - .125em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{width:auto;flex-basis:100%}}.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}.is-style-outline>.wp-block-button__link,.wp-block-button__link.is-style-outline{border:2px solid;padding:.667em 1.333em}.is-style-outline>.wp-block-button__link:not(.has-text-color),.wp-block-button__link.is-style-outline:not(.has-text-color){color:currentColor}.is-style-outline>.wp-block-button__link:not(.has-background),.wp-block-button__link.is-style-outline:not(.has-background){background-color:initial}.wp-block-buttons{display:flex;flex-direction:row;flex-wrap:wrap;column-gap:.5em}.wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button{margin-right:0}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin-left:0;margin-right:.5em;margin-bottom:.5em}.wp-block-buttons>.wp-block-button:last-child{margin-right: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>.wp-block-button{margin-left:.5em;margin-right:0}.wp-block-buttons.is-content-justification-right>.wp-block-button:first-child{margin-left:0}.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.alignleft .wp-block-button{margin-left:0;margin-right:.5em}.wp-block-buttons.alignleft .wp-block-button:last-child{margin-right:0}.wp-block-buttons.alignright .wp-block-button{margin-right:0;margin-left:.5em}.wp-block-buttons.alignright .wp-block-button:first-child{margin-left:0}.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-right:auto;margin-left:auto;margin-bottom:.5em;width:100%}.wp-block-button.aligncenter,.wp-block-calendar{text-align:center}.wp-block-calendar tbody td,.wp-block-calendar th{padding:.25em;border:1px solid #ddd}.wp-block-calendar tfoot td{border:none}.wp-block-calendar table{width:100%;border-collapse:collapse}.wp-block-calendar table th{font-weight:400;background:#ddd}.wp-block-calendar a{text-decoration:underline}.wp-block-calendar table caption,.wp-block-calendar table tbody{color:#40464d}.wp-block-categories.alignleft{margin-right:2em}.wp-block-categories.alignright{margin-left:2em}.wp-block-code code{display:block;white-space:pre-wrap;overflow-wrap:break-word}.wp-block-columns{display:flex;margin-bottom:1.75em;box-sizing:border-box;flex-wrap:wrap}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap}}.wp-block-columns.has-background{padding:1.25em 2.375em}.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}.wp-block-column{flex-grow:1;min-width:0;word-break:break-word;overflow-wrap:break-word}@media (max-width:599px){.wp-block-column{flex-basis:100%!important}}@media (min-width:600px) and (max-width:781px){.wp-block-column:not(:only-child){flex-basis:calc(50% - 1em)!important;flex-grow:0}.wp-block-column:nth-child(2n){margin-right:2em}}@media (min-width:782px){.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-column[style*=flex-basis]{flex-grow:0}.wp-block-column:not(:first-child){margin-right:2em}}.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-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%}.wp-block-cover,.wp-block-cover-image{position:relative;background-size:cover;background-position:50%;min-height:430px;width:100%;display:flex;justify-content:center;align-items:center;padding:1em;box-sizing:border-box}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:fixed}@supports (-webkit-overflow-scrolling:touch){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated{background-repeat:repeat;background-size:auto}.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-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{content:"";background-color:inherit}.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim:not(.has-background-gradient):before,.wp-block-cover .wp-block-cover__gradient-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;opacity:.5}.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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{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{display:block;content:"";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-image .wp-block-cover__inner-container,.wp-block-cover .wp-block-cover__inner-container{width:100%;z-index:1;color:#fff}.wp-block-cover-image h1:not(.has-text-color),.wp-block-cover-image h2:not(.has-text-color),.wp-block-cover-image h3:not(.has-text-color),.wp-block-cover-image h4:not(.has-text-color),.wp-block-cover-image h5:not(.has-text-color),.wp-block-cover-image h6:not(.has-text-color),.wp-block-cover-image p:not(.has-text-color),.wp-block-cover h1:not(.has-text-color),.wp-block-cover h2:not(.has-text-color),.wp-block-cover h3:not(.has-text-color),.wp-block-cover h4:not(.has-text-color),.wp-block-cover h5:not(.has-text-color),.wp-block-cover h6:not(.has-text-color),.wp-block-cover p: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;width:auto}.wp-block-cover-image img.wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background,.wp-block-cover img.wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background{position:absolute;top:0;right:0;left:0;bottom:0;margin:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;-o-object-fit:cover;object-fit:cover;outline:none;border:none;box-shadow:none}.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-image .wp-block-cover-image-text,.wp-block-cover .wp-block-cover-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;z-index:1;margin-bottom:0;max-width:840px;padding:.44em;text-align:center}.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-width:320px;min-height:240px}.wp-block-embed{margin:0 0 1em}.wp-block-embed figcaption{margin-top:.5em;margin-bottom:1em}.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{position:absolute;top:0;left:0;bottom:0;right:0;height:100%;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{margin-bottom:1.5em}.wp-block-file.aligncenter{text-align:center}.wp-block-file.alignright{text-align:right}.wp-block-file .wp-block-file__embed{margin-bottom:1em}.wp-block-file .wp-block-file__button{background:#32373c;border-radius:2em;color:#fff;font-size:.8em;padding:.5em 1em}.wp-block-file a.wp-block-file__button{text-decoration:none}.wp-block-file a.wp-block-file__button:active,.wp-block-file a.wp-block-file__button:focus,.wp-block-file a.wp-block-file__button:hover,.wp-block-file a.wp-block-file__button:visited{box-shadow:none;color:#fff;opacity:.85;text-decoration:none}.wp-block-file *+.wp-block-file__button{margin-right:.75em}.blocks-gallery-grid,.wp-block-gallery{display:flex;flex-wrap:wrap;list-style-type:none;padding:0;margin:0}.blocks-gallery-grid .blocks-gallery-image,.blocks-gallery-grid .blocks-gallery-item,.wp-block-gallery .blocks-gallery-image,.wp-block-gallery .blocks-gallery-item{margin:0 0 1em 1em;display:flex;flex-grow:1;flex-direction:column;justify-content:center;position:relative;align-self:flex-start;width:calc(50% - 1em)}.blocks-gallery-grid .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery .blocks-gallery-item:nth-of-type(2n){margin-left:0}.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{margin:0;height:100%}@supports (position:sticky){.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{display:flex;align-items:flex-end;justify-content:flex-start}}.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{display:block;max-width:100%;height:auto;width:100%}@supports (position:sticky){.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{width:auto}}.blocks-gallery-grid .blocks-gallery-image figcaption,.blocks-gallery-grid .blocks-gallery-item figcaption,.wp-block-gallery .blocks-gallery-image figcaption,.wp-block-gallery .blocks-gallery-item figcaption{position:absolute;bottom:0;width:100%;max-height:100%;overflow:auto;padding:3em .77em .7em;color:#fff;text-align:center;font-size:.8em;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);box-sizing:border-box;margin:0}.blocks-gallery-grid .blocks-gallery-image figcaption img,.blocks-gallery-grid .blocks-gallery-item figcaption img,.wp-block-gallery .blocks-gallery-image figcaption img,.wp-block-gallery .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid figcaption,.wp-block-gallery figcaption{flex-grow:1}.blocks-gallery-grid.is-cropped .blocks-gallery-image,.blocks-gallery-grid.is-cropped .blocks-gallery-item,.wp-block-gallery.is-cropped .blocks-gallery-image,.wp-block-gallery.is-cropped .blocks-gallery-item{align-self:inherit}.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{width:100%}@supports (position:sticky){.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{height:100%;flex:1;-o-object-fit:cover;object-fit:cover}}.blocks-gallery-grid.columns-1 .blocks-gallery-image,.blocks-gallery-grid.columns-1 .blocks-gallery-item,.wp-block-gallery.columns-1 .blocks-gallery-image,.wp-block-gallery.columns-1 .blocks-gallery-item{width:100%;margin-left:0}@media (min-width:600px){.blocks-gallery-grid.columns-3 .blocks-gallery-image,.blocks-gallery-grid.columns-3 .blocks-gallery-item,.wp-block-gallery.columns-3 .blocks-gallery-image,.wp-block-gallery.columns-3 .blocks-gallery-item{width:calc(33.33333% - .66667em);margin-left:1em}.blocks-gallery-grid.columns-4 .blocks-gallery-image,.blocks-gallery-grid.columns-4 .blocks-gallery-item,.wp-block-gallery.columns-4 .blocks-gallery-image,.wp-block-gallery.columns-4 .blocks-gallery-item{width:calc(25% - .75em);margin-left:1em}.blocks-gallery-grid.columns-5 .blocks-gallery-image,.blocks-gallery-grid.columns-5 .blocks-gallery-item,.wp-block-gallery.columns-5 .blocks-gallery-image,.wp-block-gallery.columns-5 .blocks-gallery-item{width:calc(20% - .8em);margin-left:1em}.blocks-gallery-grid.columns-6 .blocks-gallery-image,.blocks-gallery-grid.columns-6 .blocks-gallery-item,.wp-block-gallery.columns-6 .blocks-gallery-image,.wp-block-gallery.columns-6 .blocks-gallery-item{width:calc(16.66667% - .83333em);margin-left:1em}.blocks-gallery-grid.columns-7 .blocks-gallery-image,.blocks-gallery-grid.columns-7 .blocks-gallery-item,.wp-block-gallery.columns-7 .blocks-gallery-image,.wp-block-gallery.columns-7 .blocks-gallery-item{width:calc(14.28571% - .85714em);margin-left:1em}.blocks-gallery-grid.columns-8 .blocks-gallery-image,.blocks-gallery-grid.columns-8 .blocks-gallery-item,.wp-block-gallery.columns-8 .blocks-gallery-image,.wp-block-gallery.columns-8 .blocks-gallery-item{width:calc(12.5% - .875em);margin-left:1em}.blocks-gallery-grid.columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid.columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid.columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid.columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid.columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid.columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid.columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid.columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid.columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid.columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid.columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid.columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid.columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid.columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid.columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid.columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery.columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery.columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery.columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery.columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery.columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery.columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery.columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery.columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery.columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery.columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery.columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery.columns-8 .blocks-gallery-item:nth-of-type(8n){margin-left:0}}.blocks-gallery-grid .blocks-gallery-image:last-child,.blocks-gallery-grid .blocks-gallery-item:last-child,.wp-block-gallery .blocks-gallery-image:last-child,.wp-block-gallery .blocks-gallery-item:last-child{margin-left:0}.blocks-gallery-grid.alignleft,.blocks-gallery-grid.alignright,.wp-block-gallery.alignleft,.wp-block-gallery.alignright{max-width:420px;width:100%}.blocks-gallery-grid.aligncenter .blocks-gallery-item figure,.wp-block-gallery.aligncenter .blocks-gallery-item figure{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}.wp-block-image{margin:0 0 1em}.wp-block-image img{max-width:100%}.wp-block-image:not(.is-style-rounded) img{border-radius:inherit}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{width:100%}.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{display:table-caption;caption-side:bottom}.wp-block-image .alignleft{float:left;margin-left:1em;margin-top:.5em;margin-bottom:.5em}.wp-block-image .alignright{float:right;margin-right:1em;margin-top:.5em;margin-bottom:.5em}.wp-block-image .aligncenter{margin-right:auto;margin-left:auto}.wp-block-image figcaption{margin-top:.5em;margin-bottom:1em}.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{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;border-radius:0}}.wp-block-image figure{margin:0}ol.wp-block-latest-comments{margin-right:0}.wp-block-latest-comments .wp-block-latest-comments{padding-right:0}.wp-block-latest-comments__comment{line-height:1.1;list-style:none;margin-bottom:1em}.has-avatars .wp-block-latest-comments__comment{min-height:2.25em;list-style:none}.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}.has-dates .wp-block-latest-comments__comment,.has-excerpts .wp-block-latest-comments__comment{line-height:1.5}.wp-block-latest-comments__comment-excerpt p{font-size:.875em;line-height:1.8;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-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;color:#555;font-size:.8125em}.wp-block-latest-posts__post-excerpt{margin-top:.5em;margin-bottom:1em}.wp-block-latest-posts__featured-image a{display:inline-block}.wp-block-latest-posts__featured-image img{height:auto;width:auto;max-width:100%}.wp-block-latest-posts__featured-image.alignleft{margin-right:1em}.wp-block-latest-posts__featured-image.alignright{margin-left:1em}.wp-block-latest-posts__featured-image.aligncenter{margin-bottom:1em;text-align:center}.block-editor-image-alignment-control__row .components-base-control__field{display:flex;justify-content:space-between;align-items:center}.block-editor-image-alignment-control__row .components-base-control__field .components-base-control__label{margin-bottom:0}ol.has-background,ul.has-background{padding:1.25em 2.375em}.wp-block-media-text{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.is-vertically-aligned-center .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media,.wp-block-media-text .wp-block-media-text__content,.wp-block-media-text .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{max-width:unset;width:100%;vertical-align:middle}.wp-block-media-text.is-image-fill .wp-block-media-text__media{height:100%;min-height:250px;background-size:cover}.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{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@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{position:relative}.wp-block-navigation ul,.wp-block-navigation ul li{list-style:none;padding:0}.wp-block-navigation .wp-block-navigation-link,.wp-block-navigation .wp-block-pages-list__item{display:flex;align-items:center;position:relative}.wp-block-navigation .wp-block-navigation-link .wp-block-navigation-link__container:empty,.wp-block-navigation .wp-block-pages-list__item .wp-block-navigation-link__container:empty{display:none}.wp-block-navigation .wp-block-navigation-link__content,.wp-block-navigation .wp-block-pages-list__item__link{color:inherit;display:block}.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link,.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__container,.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__content,.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__content:active,.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__content:focus,.wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item,.wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item__link,.wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item__link:active,.wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item__link:focus{text-decoration:inherit}.wp-block-navigation:not([style*=text-decoration]) .wp-block-navigation-link__content,.wp-block-navigation:not([style*=text-decoration]) .wp-block-navigation-link__content:active,.wp-block-navigation:not([style*=text-decoration]) .wp-block-navigation-link__content:focus,.wp-block-navigation:not([style*=text-decoration]) .wp-block-pages-list__item__link,.wp-block-navigation:not([style*=text-decoration]) .wp-block-pages-list__item__link:active,.wp-block-navigation:not([style*=text-decoration]) .wp-block-pages-list__item__link:focus{text-decoration:none}.wp-block-navigation .wp-block-navigation-link__submenu-icon,.wp-block-navigation .wp-block-page-list__submenu-icon{height:inherit}.wp-block-navigation .wp-block-navigation-link__submenu-icon svg,.wp-block-navigation .wp-block-page-list__submenu-icon svg{stroke:currentColor}.wp-block-navigation .wp-block-navigation-link .wp-block-navigation-link__content.wp-block-navigation-link__content.wp-block-navigation-link__content,.wp-block-navigation .wp-block-pages-list__item .wp-block-pages-list__item__link{padding:0}.wp-block-navigation .has-child>.wp-block-navigation-link__content,.wp-block-navigation .has-child>.wp-block-pages-list__item__link{margin-left:.5em}.wp-block-navigation .has-child .submenu-container,.wp-block-navigation .has-child .wp-block-navigation-link__container{background-color:inherit;color:inherit;position:absolute;z-index:2;flex-direction:column;align-items:normal;min-width:200px;display:none;opacity:0;transition:opacity .1s linear;visibility:hidden}.wp-block-navigation .has-child .submenu-container>.wp-block-navigation-link>.wp-block-navigation-link__content,.wp-block-navigation .has-child .submenu-container>.wp-block-navigation-link>.wp-block-pages-list__item__link,.wp-block-navigation .has-child .submenu-container>.wp-block-pages-list__item>.wp-block-navigation-link__content,.wp-block-navigation .has-child .submenu-container>.wp-block-pages-list__item>.wp-block-pages-list__item__link,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-navigation-link>.wp-block-navigation-link__content,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-navigation-link>.wp-block-pages-list__item__link,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-pages-list__item>.wp-block-navigation-link__content,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-pages-list__item>.wp-block-pages-list__item__link{flex-grow:1}.wp-block-navigation .has-child .submenu-container>.wp-block-navigation-link>.wp-block-navigation-link__submenu-icon,.wp-block-navigation .has-child .submenu-container>.wp-block-navigation-link>.wp-block-page-list__submenu-icon,.wp-block-navigation .has-child .submenu-container>.wp-block-pages-list__item>.wp-block-navigation-link__submenu-icon,.wp-block-navigation .has-child .submenu-container>.wp-block-pages-list__item>.wp-block-page-list__submenu-icon,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-navigation-link>.wp-block-navigation-link__submenu-icon,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-navigation-link>.wp-block-page-list__submenu-icon,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-pages-list__item>.wp-block-navigation-link__submenu-icon,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-pages-list__item>.wp-block-page-list__submenu-icon{padding-left:.5em}@media (min-width:782px){.wp-block-navigation .has-child .submenu-container .submenu-container:before,.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__container:before,.wp-block-navigation .has-child .wp-block-navigation-link__container .submenu-container:before,.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container:before{content:"";position:absolute;left:100%;height:100%;display:block;width:.5em;background:transparent}.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__submenu-icon svg,.wp-block-navigation .has-child .submenu-container .wp-block-page-list__submenu-icon svg,.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__submenu-icon svg,.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-page-list__submenu-icon svg{transform:rotate(90deg)}}.wp-block-navigation .has-child:hover>.wp-block-navigation-link__container{display:flex;visibility:visible;opacity:1}.wp-block-navigation .has-child:focus-within>.wp-block-navigation-link__container{display:flex;visibility:visible;opacity:1}.wp-block-navigation .has-child:hover{cursor:pointer}.wp-block-navigation .has-child:hover>.submenu-container{display:flex;visibility:visible;opacity:1}.wp-block-navigation .has-child:focus-within{cursor:pointer}.wp-block-navigation .has-child:focus-within>.submenu-container{display:flex;visibility:visible;opacity:1}.wp-block-navigation.wp-block-navigation.items-justified-right>.submenu-container .has-child .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-right>.submenu-container .has-child .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-right>.wp-block-navigation__container .has-child .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-right>.wp-block-navigation__container .has-child .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.submenu-container>.has-child:last-child .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.submenu-container>.has-child:last-child .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation-link__container{right:auto;left:0}.wp-block-navigation.wp-block-navigation.items-justified-right>.submenu-container .has-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-right>.submenu-container .has-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-right>.submenu-container .has-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-right>.submenu-container .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-right>.wp-block-navigation__container .has-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-right>.wp-block-navigation__container .has-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-right>.wp-block-navigation__container .has-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-right>.wp-block-navigation__container .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.submenu-container>.has-child:last-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.submenu-container>.has-child:last-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.submenu-container>.has-child:last-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.submenu-container>.has-child:last-child .wp-block-navigation-link__container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation-link__container .wp-block-navigation-link__container{right:auto;left:100%}.wp-block-navigation.wp-block-navigation .wp-block-navigation__container>.wp-block-navigation-link,.wp-block-navigation.wp-block-navigation .wp-block-page-list,.wp-block-navigation.wp-block-navigation .wp-block-page-list>.wp-block-pages-list__item{margin:0 0 0 2em}.wp-block-navigation.wp-block-navigation .wp-block-navigation__container>.wp-block-navigation-link:last-child,.wp-block-navigation.wp-block-navigation .wp-block-page-list:last-child,.wp-block-navigation.wp-block-navigation .wp-block-page-list>.wp-block-pages-list__item:last-child{margin-left:0}.wp-block-navigation.wp-block-navigation.has-background .wp-block-navigation__container>.wp-block-navigation-link,.wp-block-navigation.wp-block-navigation.has-background .wp-block-page-list,.wp-block-navigation.wp-block-navigation.has-background .wp-block-page-list>.wp-block-pages-list__item{margin:0 0 0 .5em}.wp-block-navigation.wp-block-navigation.has-background .wp-block-navigation__container .wp-block-navigation-link__content,.wp-block-navigation.wp-block-navigation.has-background .wp-block-page-list .wp-block-pages-list__item__link{padding:.5em 1em}.wp-block-navigation.wp-block-navigation .has-child .submenu-container,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container{right:-1em;top:100%}.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link,.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-pages-list__item,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-pages-list__item{margin:0}.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__content,.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-pages-list__item__link,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__content,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-pages-list__item__link{padding:.5em 1em}.wp-block-navigation.wp-block-navigation .has-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container{right:-1px}@media (min-width:782px){.wp-block-navigation.wp-block-navigation .has-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container{right:100%;top:-1px}}.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container,.wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container{right:0;top:100%}.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container{right:0}@media (min-width:782px){.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container{right:100%;top:0}}.wp-block-navigation:not(.has-background) .submenu-container,.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-navigation-link__container{background-color:#fff;color:#000;border:1px solid rgba(0,0,0,.15)}.wp-block-navigation__container{align-items:center;list-style:none;margin:0;padding-right:0}.wp-block-navigation__container .is-responsive{display:none}@media (min-width:600px){.wp-block-navigation__container{display:flex;flex-wrap:wrap}.is-vertical .wp-block-navigation__container{display:block;flex-direction:column;align-items:flex-start}}.items-justified-center .wp-block-navigation__container{justify-content:center}.items-justified-right .wp-block-navigation__container{justify-content:flex-end}.items-justified-space-between .wp-block-navigation__container{justify-content:space-between}.is-vertical.items-justified-center>ul{align-items:center}.is-vertical.items-justified-right>ul{align-items:flex-end}.is-vertical.items-justified-right>ul .wp-block-navigation-link,.is-vertical.items-justified-right>ul .wp-block-pages-list__item{margin-left:0;justify-content:flex-end}.wp-block-navigation__responsive-container{display:none;position:fixed;top:0;right:0;left:0;bottom:0;z-index:1;align-items:flex-start;justify-content:flex-start}.wp-block-navigation__responsive-container.is-menu-open{display:flex;flex-direction:column;overflow:auto;z-index:100000;padding:24px;background-color:inherit}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{display:flex;flex-direction:column;margin-right:auto;margin-left:auto;align-items:flex-start;line-height:48px;padding:0}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container .wp-block-page-list{flex-direction:column}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link .wp-block-navigation-link__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item,.wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item .submenu-container{background:transparent!important}@media (min-width:600px){.wp-block-navigation__responsive-container:not(.is-menu-open){display:flex;flex-direction:row;position:relative;background-color:inherit}.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close{display:none}.wp-block-navigation__responsive-container.is-menu-open .submenu-container.submenu-container.submenu-container.submenu-container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link__container.wp-block-navigation-link__container.wp-block-navigation-link__container.wp-block-navigation-link__container{right:0}}.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{background-color:#fff;color:#000}.wp-block-navigation__responsive-container-close,.wp-block-navigation__responsive-container-open{vertical-align:middle;cursor:pointer;color:currentColor;background:transparent;border:none;margin:0;padding:0}.wp-block-navigation__responsive-container-close svg,.wp-block-navigation__responsive-container-open svg{fill:currentColor;pointer-events:none;display:block;width:24px;height:24px}.wp-block-navigation__responsive-container-open{display:flex}@media (min-width:600px){.wp-block-navigation__responsive-container-open{display:none}}.items-justified-left .wp-block-navigation__responsive-container-open{margin-right:0;margin-left:auto}.items-justified-center .wp-block-navigation__responsive-container-open{margin-right:auto;margin-left:auto}.items-justified-right .wp-block-navigation__responsive-container-open{margin-right:auto;margin-left:0}.wp-block-navigation__responsive-container-close{position:absolute;top:24px;left:24px;z-index:2}.wp-block-navigation__responsive-close{width:100%}.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{width:100%;height:100%}.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link__submenu-icon,.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list__submenu-icon{display:none}.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .has-child .submenu-container,.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .has-child .wp-block-navigation-link__container{position:relative;opacity:1;visibility:visible;padding:0 32px 0 0;border:none}.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link,.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item{flex-direction:column;align-items:flex-start}html.has-modal-open{overflow:hidden}.wp-block-navigation .wp-block-navigation-link__label{word-break:normal;overflow-wrap:break-word}.wp-block-navigation .wp-block-home-link__content{color:inherit;display:block;padding:.5em 1em}.wp-block-navigation[style*=text-decoration] .wp-block-home-link,.wp-block-navigation[style*=text-decoration] .wp-block-home-link__content,.wp-block-navigation[style*=text-decoration] .wp-block-home-link__content:active,.wp-block-navigation[style*=text-decoration] .wp-block-home-link__content:focus{text-decoration:inherit}.wp-block-navigation:not([style*=text-decoration]) .wp-block-home-link__content,.wp-block-navigation:not([style*=text-decoration]) .wp-block-home-link__content:active,.wp-block-navigation:not([style*=text-decoration]) .wp-block-home-link__content:focus{text-decoration:none}.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-home-link__container{background-color:#fff;color:#000;border:1px solid rgba(0,0,0,.15)}.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-home-link__container .wp-block-home-link__container{top:-1px}.wp-block-navigation .wp-block-page-list{display:flex;flex-wrap:wrap;background-color:inherit}.wp-block-navigation .wp-block-pages-list__item{background-color:inherit}.wp-block-navigation .wp-block-page-list__submenu-icon{display:none}.is-open .wp-block-navigation__container .wp-block-page-list,.is-vertical .wp-block-navigation__container .wp-block-page-list,.wp-block-navigation .show-submenu-icons .wp-block-page-list__submenu-icon{display:block}@media (min-width:480px){.is-open .wp-block-navigation__container .wp-block-page-list{display:flex}}.items-justified-space-between .wp-block-page-list{display:contents}.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;line-height:.68;font-weight:100;margin:.05em 0 0 .1em;text-transform:uppercase;font-style:normal}p.has-drop-cap.has-background{overflow:hidden}p.has-background{padding:1.25em 2.375em}p.has-text-color a{color:inherit}.wp-block-post-author{display:flex;flex-wrap:wrap}.wp-block-post-author__byline{width:100%;margin-top:0;margin-bottom:0;font-size:.5em}.wp-block-post-author__avatar{margin-left:1em}.wp-block-post-author__bio{margin-bottom:.7em;font-size:.7em}.wp-block-post-author__content{flex-grow:1;flex-basis:0}.wp-block-post-author__name{font-weight:700;margin:0}.wp-block-post-comments .commentlist{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:.875em;line-height:1.8;margin:.36em 0 1.4em}.wp-block-post-comments .commentlist .children{list-style:none;margin:0;padding:0}.wp-block-post-comments .comment-author{line-height:1.5;margin-right:-3.25em}.wp-block-post-comments .comment-author .avatar{border-radius:1.5em;display:block;float:right;height:2.5em;margin-left:.75em;width:2.5em}.wp-block-post-comments .comment-author cite{font-style:normal}.wp-block-post-comments .comment-meta{line-height:1.5;margin-right:-3.25em}.wp-block-post-comments .comment-body .commentmetadata{font-size:.75em}.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}.wp-block-post-comments .comment-form-comment textarea{box-sizing:border-box;width:100%}.wp-block-post-comments .reply{font-size:.75em;margin-bottom:1.4em}.wp-block-post-comments input,.wp-block-post-comments textarea{border:1px solid #949494}.wp-block-post-comments-form input[type=submit]{border:none;box-shadow:none;cursor:pointer;display:inline-block;text-align:center;overflow-wrap:break-word}.wp-block-post-excerpt__more-link,.wp-block-post-title a{display:inline-block}.wp-block-preformatted{white-space:pre-wrap}.wp-block-preformatted.has-background{padding:1.25em 2.375em}.wp-block-pullquote{margin:0 0 1em;padding:3em 0;text-align:center}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{max-width:420px}.wp-block-pullquote.alignleft p,.wp-block-pullquote.alignright p{font-size:1.25em}.wp-block-pullquote p{font-size:1.75em;line-height:1.6}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}.wp-block-pullquote:not(.is-style-solid-color){background:none}.wp-block-pullquote.is-style-solid-color{border:none}.wp-block-pullquote.is-style-solid-color blockquote{margin-right:auto;margin-left:auto;text-align:right;max-width:60%}.wp-block-pullquote.is-style-solid-color blockquote p{margin-top:0;margin-bottom:0;font-size:2em}.wp-block-pullquote.is-style-solid-color blockquote cite{text-transform:none;font-style:normal}.wp-block-pullquote cite{color:inherit}.wp-block-post-template,.wp-block-query-loop{max-width:100%;list-style:none;padding:0}.wp-block-post-template li,.wp-block-query-loop li{clear:both}.wp-block-post-template.is-flex-container,.wp-block-query-loop.is-flex-container{flex-direction:row;display:flex;flex-wrap:wrap}.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin:0 0 1.25em;width:100%}@media (min-width:600px){.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin-left:1.25em}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li{width:calc(50% - .625em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li:nth-child(2n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li:nth-child(2n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li,.wp-block-query-loop.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-3>li:nth-child(3n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-3>li:nth-child(3n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li{width:calc(25% - .9375em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li:nth-child(4n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li:nth-child(4n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li{width:calc(20% - 1em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li:nth-child(5n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li:nth-child(5n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li{width:calc(16.66667% - 1.04167em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li:nth-child(6n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li:nth-child(6n){margin-left:0}}.wp-block-query-pagination{display:flex;flex-direction:row;flex-wrap:wrap}.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{display:inline-block;margin-right:.5em;margin-bottom:.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-quote.is-large,.wp-block-quote.is-style-large{margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large p,.wp-block-quote.is-style-large p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large cite,.wp-block-quote.is-large footer,.wp-block-quote.is-style-large cite,.wp-block-quote.is-style-large footer{font-size:1.125em;text-align:left}.wp-block-rss.wp-block-rss{box-sizing:border-box}.wp-block-rss.alignleft{margin-right:2em}.wp-block-rss.alignright{margin-left:2em}.wp-block-rss.is-grid{display:flex;flex-wrap:wrap;padding:0;list-style:none}.wp-block-rss.is-grid li{margin:0 0 1em 1em;width:100%}@media (min-width:600px){.wp-block-rss.columns-2 li{width:calc(50% - 1em)}.wp-block-rss.columns-3 li{width:calc(33.33333% - 1em)}.wp-block-rss.columns-4 li{width:calc(25% - 1em)}.wp-block-rss.columns-5 li{width:calc(20% - 1em)}.wp-block-rss.columns-6 li{width:calc(16.66667% - 1em)}}.wp-block-rss__item-author,.wp-block-rss__item-publish-date{display:block;color:#555;font-size:.8125em}.wp-block-search .wp-block-search__button{background:#f7f7f7;border:1px solid #ccc;padding:.375em .625em;color:#32373c;margin-right:.625em;word-break:normal}.wp-block-search .wp-block-search__button.has-icon{line-height:0}.wp-block-search .wp-block-search__button svg{min-width:1.5em;min-height:1.5em}.wp-block-search .wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search .wp-block-search__label{width:100%}.wp-block-search .wp-block-search__input{flex-grow:1;min-width:3em;border:1px solid #949494}.wp-block-search.wp-block-search__button-only .wp-block-search__button{margin-right:0}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper{padding:4px;border:1px solid #949494}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input{border-radius:0;border:none;padding:0 .25em 0 0}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus{outline:none}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button{padding:.125em .5em}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block-separator{border-top:1px solid;border-bottom:1px solid}.wp-block-separator.is-style-wide{border-bottom-width:1px}.wp-block-separator.is-style-dots{background:none!important;border:none;text-align:center;width:none;line-height:1;height:auto}.wp-block-separator.is-style-dots:before{content:"···";color:currentColor;font-size:1.5em;letter-spacing:2em;padding-left:2em;font-family:serif}.wp-block-site-logo{line-height:0}.wp-block-site-logo a{display:inline-block}.wp-block-site-logo.is-default-size img{width:120px;height:auto}.wp-block-site-logo .aligncenter{display:table}.wp-block-site-logo.is-style-rounded img{border-radius:9999px}.wp-block-social-links{display:flex;flex-wrap:wrap;padding-right:0;padding-left:0;text-indent:0;margin-right:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{text-decoration:none;border-bottom:0;box-shadow:none}.wp-block-social-links .wp-social-link.wp-social-link.wp-social-link{margin:4px 0 4px 8px}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{width:1em;height:1em}.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{justify-content:center;display:flex}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{display:block;border-radius:9999px;transition:transform .1s ease;height:auto}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-duration:0s;transition-delay:0s}}.wp-block-social-link a{display:block;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: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-block-social-link-anchor svg{color:currentColor;fill: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:#fe4500;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{background-color:#fefc00;color:#fff;stroke:#000}.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-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-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;padding:4px}.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:#fe4500}.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{color:#fff;stroke:#000}.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-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-wordpress{color:#3499cd}.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-right:.66667em;padding-left:.66667em}.wp-block-spacer{clear:both}.wp-block-tag-cloud.aligncenter{text-align:center}.wp-block-tag-cloud.alignfull{padding-right:1em;padding-left:1em}.wp-block-table{margin:0 0 1em;overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.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{border-spacing:0;border-collapse:inherit;background-color:initial;border-bottom:1px solid #f0f0f0}.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>*,.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr{border-color:inherit}.wp-block-table table[style*=border-style]>*,.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr{border-style:inherit}.wp-block-table table[style*=border-width]>*,.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr{border-width:inherit}.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{font-family:inherit;overflow:auto;white-space:pre-wrap}.wp-block-video{margin:0 0 1em}.wp-block-video video{width:100%}@supports (position:sticky){.wp-block-video [poster]{-o-object-fit:cover;object-fit:cover}}.wp-block-video.aligncenter{text-align:center}.wp-block-video figcaption{margin-top:.5em;margin-bottom:1em}.wp-block-post-featured-image{margin-right:0;margin-left:0}.wp-block-post-featured-image a{display:inline-block}.wp-block-post-featured-image img{max-width:100%;height:auto}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%}:root .has-pale-pink-background-color{background-color:#f78da7}:root .has-vivid-red-background-color{background-color:#cf2e2e}:root .has-luminous-vivid-orange-background-color{background-color:#ff6900}:root .has-luminous-vivid-amber-background-color{background-color:#fcb900}:root .has-light-green-cyan-background-color{background-color:#7bdcb5}:root .has-vivid-green-cyan-background-color{background-color:#00d084}:root .has-pale-cyan-blue-background-color{background-color:#8ed1fc}:root .has-vivid-cyan-blue-background-color{background-color:#0693e3}:root .has-vivid-purple-background-color{background-color:#9b51e0}:root .has-white-background-color{background-color:#fff}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-cyan-bluish-gray-background-color{background-color:#abb8c3}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-black-background-color{background-color:#000}:root .has-pale-pink-color{color:#f78da7}:root .has-vivid-red-color{color:#cf2e2e}:root .has-luminous-vivid-orange-color{color:#ff6900}:root .has-luminous-vivid-amber-color{color:#fcb900}:root .has-light-green-cyan-color{color:#7bdcb5}:root .has-vivid-green-cyan-color{color:#00d084}:root .has-pale-cyan-blue-color{color:#8ed1fc}:root .has-vivid-cyan-blue-color{color:#0693e3}:root .has-vivid-purple-color{color:#9b51e0}:root .has-white-color{color:#fff}:root .has-very-light-gray-color{color:#eee}:root .has-cyan-bluish-gray-color{color:#abb8c3}:root .has-very-dark-gray-color{color:#313131}:root .has-black-color{color:#000}:root .has-vivid-cyan-blue-to-vivid-purple-gradient-background{background:linear-gradient(-135deg,#0693e3,#9b51e0)}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(-135deg,#00d084,#0693e3)}:root .has-light-green-cyan-to-vivid-green-cyan-gradient-background{background:linear-gradient(-135deg,#7adcb4,#00d082)}:root .has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background:linear-gradient(-135deg,#fcb900,#ff6900)}:root .has-luminous-vivid-orange-to-vivid-red-gradient-background{background:linear-gradient(-135deg,#ff6900,#cf2e2e)}:root .has-very-light-gray-to-cyan-bluish-gray-gradient-background{background:linear-gradient(-135deg,#eee,#a9b8c3)}:root .has-cool-to-warm-spectrum-gradient-background{background:linear-gradient(-135deg,#4aeadc,#9778d1 20%,#cf2aba 40%,#ee2c82 60%,#fb6962 80%,#fef84c)}:root .has-blush-light-purple-gradient-background{background:linear-gradient(-135deg,#ffceec,#9896f0)}:root .has-blush-bordeaux-gradient-background{background:linear-gradient(-135deg,#fecda5,#fe2d2d 50%,#6b003e)}:root .has-purple-crush-gradient-background{background:linear-gradient(-135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-luminous-dusk-gradient-background{background:linear-gradient(-135deg,#ffcb70,#c751c0 50%,#4158d0)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(-135deg,#faaca8,#dad0ec)}:root .has-pale-ocean-gradient-background{background:linear-gradient(-135deg,#fff5cb,#b6e3d4 50%,#33a7b5)}:root .has-electric-grass-gradient-background{background:linear-gradient(-135deg,#caf880,#71ce7e)}: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-small-font-size{font-size:.8125em}.has-normal-font-size,.has-regular-font-size{font-size:1em}.has-medium-font-size{font-size:1.25em}.has-large-font-size{font-size:2.25em}.has-huge-font-size,.has-larger-font-size{font-size:2.625em}.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{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#444;display:block;font-size:1em;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000} \ No newline at end of file +@charset "UTF-8";.wp-block-archives-dropdown label{display:block}.wp-block-audio{margin:0 0 1em}.wp-block-audio figcaption{margin-top:.5em;margin-bottom:1em}.wp-block-audio audio{width:100%;min-width:300px}.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;cursor:pointer;display:inline-block;font-size:1.125em;padding:calc(.667em + 2px) calc(1.333em + 2px);text-align:center;text-decoration:none;word-break:break-word;box-sizing:border-box}.wp-block-button__link:active,.wp-block-button__link:focus,.wp-block-button__link:hover,.wp-block-button__link:visited{color:#fff}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}.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)*0.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*0.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*0.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{width:100%;flex-basis: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}.is-style-outline>:where(.wp-block-button__link),:where(.wp-block-button__link).is-style-outline{border:2px solid;padding:.667em 1.333em}.is-style-outline>.wp-block-button__link:not(.has-text-color),.wp-block-button__link.is-style-outline:not(.has-text-color){color:currentColor}.is-style-outline>.wp-block-button__link:not(.has-background),.wp-block-button__link.is-style-outline:not(.has-background){background-color:initial}.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-right:auto;margin-left:auto;width:100%}.wp-block-button.aligncenter,.wp-block-calendar{text-align:center}.wp-block-calendar tbody td,.wp-block-calendar th{padding:.25em;border:1px solid #ddd}.wp-block-calendar tfoot td{border:none}.wp-block-calendar table{width:100%;border-collapse:collapse}.wp-block-calendar table th{font-weight:400;background:#ddd}.wp-block-calendar a{text-decoration:underline}.wp-block-calendar table caption,.wp-block-calendar table tbody{color:#40464d}.wp-block-categories.alignleft{margin-right:2em}.wp-block-categories.alignright{margin-left:2em}.wp-block-code code{display:block;white-space:pre-wrap;overflow-wrap:break-word}.wp-block-columns{display:flex;margin-bottom:1.75em;box-sizing:border-box;flex-wrap:wrap}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap}}.wp-block-columns:where(.has-background){padding:1.25em 2.375em}.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:599px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:600px) and (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:only-child){flex-basis:calc(50% - var(--wp--style--block-gap, 2em)/2)!important;flex-grow:0}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:nth-child(2n){margin-right:var(--wp--style--block-gap,2em)}}@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:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:first-child){margin-right:var(--wp--style--block-gap,2em)}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap}.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}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column:not(:first-child){margin-right:var(--wp--style--block-gap,2em)}.wp-block-column{flex-grow:1;min-width:0;word-break:break-word;overflow-wrap: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-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%}.wp-block-cover,.wp-block-cover-image{position:relative;background-size:cover;background-position:50%;min-height:430px;width:100%;display:flex;justify-content:center;align-items:center;padding:1em;box-sizing:border-box}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:fixed}@supports (-webkit-overflow-scrolling:touch){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated{background-repeat:repeat;background-size:auto}.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-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{content:"";background-color:inherit}.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim:not(.has-background-gradient):before,.wp-block-cover .wp-block-cover__gradient-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;opacity:.5}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover .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{display:block;content:"";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-image .wp-block-cover__inner-container,.wp-block-cover .wp-block-cover__inner-container{width:100%;z-index:1;color:#fff}.wp-block-cover-image.is-light .wp-block-cover__inner-container,.wp-block-cover.is-light .wp-block-cover__inner-container{color:#000}.wp-block-cover-image h1:not(.has-text-color),.wp-block-cover-image h2:not(.has-text-color),.wp-block-cover-image h3:not(.has-text-color),.wp-block-cover-image h4:not(.has-text-color),.wp-block-cover-image h5:not(.has-text-color),.wp-block-cover-image h6:not(.has-text-color),.wp-block-cover-image p:not(.has-text-color),.wp-block-cover h1:not(.has-text-color),.wp-block-cover h2:not(.has-text-color),.wp-block-cover h3:not(.has-text-color),.wp-block-cover h4:not(.has-text-color),.wp-block-cover h5:not(.has-text-color),.wp-block-cover h6:not(.has-text-color),.wp-block-cover p: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;width:auto}.wp-block-cover-image img.wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background,.wp-block-cover img.wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background{position:absolute;top:0;right:0;left:0;bottom:0;margin:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;-o-object-fit:cover;object-fit:cover;outline:none;border:none;box-shadow:none}.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-image .wp-block-cover-image-text,.wp-block-cover .wp-block-cover-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;z-index:1;margin-bottom:0;max-width:840px;padding:.44em;text-align:center}.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-width:320px;min-height:240px}.wp-block-embed{margin:0 0 1em;overflow-wrap:break-word}.wp-block-embed figcaption{margin-top:.5em;margin-bottom:1em}.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{position:absolute;top:0;left:0;bottom:0;right:0;height:100%;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{margin-bottom:1.5em}.wp-block-file.aligncenter{text-align:center}.wp-block-file.alignright{text-align:right}.wp-block-file .wp-block-file__embed{margin-bottom:1em}.wp-block-file .wp-block-file__button{background:#32373c;border-radius:2em;color:#fff;font-size:.8em;padding:.5em 1em}.wp-block-file a.wp-block-file__button{text-decoration:none}.wp-block-file a.wp-block-file__button:active,.wp-block-file a.wp-block-file__button:focus,.wp-block-file a.wp-block-file__button:hover,.wp-block-file a.wp-block-file__button:visited{box-shadow:none;color:#fff;opacity:.85;text-decoration:none}.wp-block-file *+.wp-block-file__button{margin-right:.75em}.blocks-gallery-grid,.wp-block-gallery{display:flex;flex-wrap:wrap;list-style-type:none;padding:0;margin:0}.blocks-gallery-grid .blocks-gallery-image,.blocks-gallery-grid .blocks-gallery-item,.wp-block-gallery .blocks-gallery-image,.wp-block-gallery .blocks-gallery-item{margin:0 0 1em 1em;display:flex;flex-grow:1;flex-direction:column;justify-content:center;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery .blocks-gallery-item:nth-of-type(2n){margin-left:0}.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{margin:0;height:100%;display:flex;align-items:flex-end;justify-content:flex-start}.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{display:block;max-width:100%;height:auto;width:auto}.blocks-gallery-grid .blocks-gallery-image figcaption,.blocks-gallery-grid .blocks-gallery-item figcaption,.wp-block-gallery .blocks-gallery-image figcaption,.wp-block-gallery .blocks-gallery-item figcaption{position:absolute;bottom:0;width:100%;max-height:100%;overflow:auto;padding:3em .77em .7em;color:#fff;text-align:center;font-size:.8em;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);box-sizing:border-box;margin:0;z-index:2}.blocks-gallery-grid .blocks-gallery-image figcaption img,.blocks-gallery-grid .blocks-gallery-item figcaption img,.wp-block-gallery .blocks-gallery-image figcaption img,.wp-block-gallery .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid figcaption,.wp-block-gallery figcaption{flex-grow:1}.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{width:100%;height:100%;flex:1;-o-object-fit:cover;object-fit:cover}.blocks-gallery-grid.columns-1 .blocks-gallery-image,.blocks-gallery-grid.columns-1 .blocks-gallery-item,.wp-block-gallery.columns-1 .blocks-gallery-image,.wp-block-gallery.columns-1 .blocks-gallery-item{width:100%;margin-left:0}@media (min-width:600px){.blocks-gallery-grid.columns-3 .blocks-gallery-image,.blocks-gallery-grid.columns-3 .blocks-gallery-item,.wp-block-gallery.columns-3 .blocks-gallery-image,.wp-block-gallery.columns-3 .blocks-gallery-item{width:calc(33.33333% - .66667em);margin-left:1em}.blocks-gallery-grid.columns-4 .blocks-gallery-image,.blocks-gallery-grid.columns-4 .blocks-gallery-item,.wp-block-gallery.columns-4 .blocks-gallery-image,.wp-block-gallery.columns-4 .blocks-gallery-item{width:calc(25% - .75em);margin-left:1em}.blocks-gallery-grid.columns-5 .blocks-gallery-image,.blocks-gallery-grid.columns-5 .blocks-gallery-item,.wp-block-gallery.columns-5 .blocks-gallery-image,.wp-block-gallery.columns-5 .blocks-gallery-item{width:calc(20% - .8em);margin-left:1em}.blocks-gallery-grid.columns-6 .blocks-gallery-image,.blocks-gallery-grid.columns-6 .blocks-gallery-item,.wp-block-gallery.columns-6 .blocks-gallery-image,.wp-block-gallery.columns-6 .blocks-gallery-item{width:calc(16.66667% - .83333em);margin-left:1em}.blocks-gallery-grid.columns-7 .blocks-gallery-image,.blocks-gallery-grid.columns-7 .blocks-gallery-item,.wp-block-gallery.columns-7 .blocks-gallery-image,.wp-block-gallery.columns-7 .blocks-gallery-item{width:calc(14.28571% - .85714em);margin-left:1em}.blocks-gallery-grid.columns-8 .blocks-gallery-image,.blocks-gallery-grid.columns-8 .blocks-gallery-item,.wp-block-gallery.columns-8 .blocks-gallery-image,.wp-block-gallery.columns-8 .blocks-gallery-item{width:calc(12.5% - .875em);margin-left:1em}.blocks-gallery-grid.columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid.columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid.columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid.columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid.columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid.columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid.columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid.columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid.columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid.columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid.columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid.columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid.columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid.columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid.columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid.columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery.columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery.columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery.columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery.columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery.columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery.columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery.columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery.columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery.columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery.columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery.columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery.columns-8 .blocks-gallery-item:nth-of-type(8n){margin-left:0}}.blocks-gallery-grid .blocks-gallery-image:last-child,.blocks-gallery-grid .blocks-gallery-item:last-child,.wp-block-gallery .blocks-gallery-image:last-child,.wp-block-gallery .blocks-gallery-item:last-child{margin-left:0}.blocks-gallery-grid.alignleft,.blocks-gallery-grid.alignright,.wp-block-gallery.alignleft,.wp-block-gallery.alignright{max-width:420px;width:100%}.blocks-gallery-grid.aligncenter .blocks-gallery-item figure,.wp-block-gallery.aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}.wp-block-gallery.has-nested-images{display:flex;flex-wrap:wrap}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0 0 var(--gallery-block--gutter-size,16px) var(--gallery-block--gutter-size,16px);width:calc(50% - var(--gallery-block--gutter-size, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):last-of-type:not(#individual-image),.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):nth-of-type(2n){margin-left:0}.wp-block-gallery.has-nested-images figure.wp-block-image{display:flex;flex-grow:1;justify-content:center;position:relative;margin-top:auto;margin-bottom:auto;flex-direction:column}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{margin:0;flex-direction:column;flex-grow:1}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%;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;color:#fff;font-size:13px;right:0;margin-bottom:0;max-height:60%;overflow:auto;padding:0 8px 8px;position:absolute;text-align:center;width:100%;box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.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.is-style-rounded figcaption{flex:initial;background:none;color:inherit;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-grow:1;flex-basis:100%;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-top:0;margin-bottom:auto}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) img{margin-bottom:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) figcaption{bottom:var(--gallery-block--gutter-size,16px)}.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{width:100%;flex:1 0 0%;height:100%;-o-object-fit:cover;object-fit:cover}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){margin-left:0;width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px);width:calc(33.33333% - var(--gallery-block--gutter-size, 16px)*0.66667)}.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px);width:calc(25% - var(--gallery-block--gutter-size, 16px)*0.75)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px);width:calc(20% - var(--gallery-block--gutter-size, 16px)*0.8)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px);width:calc(16.66667% - var(--gallery-block--gutter-size, 16px)*0.83333)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px);width:calc(14.28571% - var(--gallery-block--gutter-size, 16px)*0.85714)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px);width:calc(12.5% - var(--gallery-block--gutter-size, 16px)*0.875)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image):nth-of-type(1n),.wp-block-gallery.has-nested-images.columns-2 figure.wp-block-image:not(#individual-image):nth-of-type(2n),.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image):nth-of-type(3n),.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image):nth-of-type(4n),.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image):nth-of-type(5n),.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image):nth-of-type(6n),.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image):nth-of-type(7n),.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image):nth-of-type(8n){margin-left:0}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){margin-left:var(--gallery-block--gutter-size,16px);width:calc(33.33% - var(--gallery-block--gutter-size, 16px)*0.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):nth-of-type(3n+3){margin-left:0}.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(--gallery-block--gutter-size, 16px)*0.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,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1.has-background,h2.has-background,h3.has-background,h4.has-background,h5.has-background,h6.has-background{padding:1.25em 2.375em}.wp-block-image{margin:0 0 1em}.wp-block-image img{height:auto;max-width:100%;vertical-align:bottom}.wp-block-image:not(.is-style-rounded) img{border-radius:inherit}.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{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption{display:table-caption;caption-side:bottom}.wp-block-image .alignleft{float:left;margin-left:1em;margin-top:.5em;margin-bottom:.5em}.wp-block-image .alignright{float:right;margin-right:1em;margin-top:.5em;margin-bottom:.5em}.wp-block-image .aligncenter{margin-right:auto;margin-left:auto}.wp-block-image figcaption{margin-top:.5em;margin-bottom:1em}.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{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;border-radius:0}}.wp-block-image figure{margin:0}ol.wp-block-latest-comments{margin-right:0}.wp-block-latest-comments .wp-block-latest-comments{padding-right:0}.wp-block-latest-comments__comment{line-height:1.1;list-style:none;margin-bottom:1em}.has-avatars .wp-block-latest-comments__comment{min-height:2.25em;list-style:none}.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}.has-dates .wp-block-latest-comments__comment,.has-excerpts .wp-block-latest-comments__comment{line-height:1.5}.wp-block-latest-comments__comment-excerpt p{font-size:.875em;line-height:1.8;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-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-top:.5em;margin-bottom:1em}.wp-block-latest-posts__featured-image a{display:inline-block}.wp-block-latest-posts__featured-image img{height:auto;width:auto;max-width:100%}.wp-block-latest-posts__featured-image.alignleft{margin-right:1em}.wp-block-latest-posts__featured-image.alignright{margin-left:1em}.wp-block-latest-posts__featured-image.aligncenter{margin-bottom:1em;text-align:center}.block-editor-image-alignment-control__row .components-base-control__field{display:flex;justify-content:space-between;align-items:center}.block-editor-image-alignment-control__row .components-base-control__field .components-base-control__label{margin-bottom:0}ol,ul{overflow-wrap:break-word}ol.has-background,ul.has-background{padding:1.25em 2.375em}.wp-block-media-text{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.is-vertically-aligned-center .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media,.wp-block-media-text .wp-block-media-text__content,.wp-block-media-text .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;width:100%;vertical-align:middle}.wp-block-media-text.is-image-fill .wp-block-media-text__media{height:100%;min-height:250px;background-size:cover}.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{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@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{position:relative}.wp-block-navigation ul{margin-top:0;margin-bottom:0;margin-right: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{display:flex;align-items:center;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{color:inherit;display:block;padding:0}.wp-block-navigation[style*=text-decoration] .wp-block-navigation-item,.wp-block-navigation[style*=text-decoration] .wp-block-navigation__submenu-container,.wp-block-navigation[style*=text-decoration] a,.wp-block-navigation[style*=text-decoration] a:active,.wp-block-navigation[style*=text-decoration] a:focus{text-decoration:inherit}.wp-block-navigation:not([style*=text-decoration]) a,.wp-block-navigation:not([style*=text-decoration]) a:active,.wp-block-navigation:not([style*=text-decoration]) a:focus{text-decoration:none}.wp-block-navigation .wp-block-navigation__submenu-icon{align-self:center;height:inherit;line-height:0;margin-right:6px;padding:0;background-color:inherit;color:currentColor;border:none}.wp-block-navigation .wp-block-navigation__submenu-icon svg{display:inline-block;stroke:currentColor}.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container){background-color:inherit;color:inherit;position:absolute;z-index:2;display:flex;flex-direction:column;align-items:normal;opacity:0;transition:opacity .1s linear;visibility:hidden;width:0;height:0;right:-1px;top:100%}.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container)>.wp-block-navigation-item>.wp-block-navigation-item__content{display:flex;flex-grow:1;white-space:nowrap}.wp-block-navigation .has-child :where(.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 :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content{margin:0}@media (min-width:782px){.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-container{right:100%;top:-1px}.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-container:before{content:"";position:absolute;left:100%;height:100%;display:block;width:.5em;background:transparent}.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-icon svg{transform:rotate(90deg)}}.wp-block-navigation .has-child:where(:not(.open-on-click)):hover>.wp-block-navigation__submenu-container{visibility:visible;opacity:1;width:auto;height:auto;min-width:200px}.wp-block-navigation .has-child:where(:not(.open-on-click):not(.open-on-hover-click)):focus-within>.wp-block-navigation__submenu-container{visibility:visible;opacity:1;width:auto;height:auto;min-width:200px}.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]+.wp-block-navigation__submenu-container{visibility:visible;opacity:1;width:auto;height:auto;min-width:200px}.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,.wp-block-navigation .wp-block-page-list,.wp-block-navigation__container,.wp-block-navigation__responsive-container-content{gap:var(--wp--style--block-gap,2em)}.wp-block-navigation:where(.has-background),.wp-block-navigation:where(.has-background) .wp-block-navigation .wp-block-page-list,.wp-block-navigation:where(.has-background) .wp-block-navigation__container{gap:var(--wp--style--block-gap,.5em)}.wp-block-navigation:where(.has-background) .wp-block-navigation-item__content,.wp-block-navigation :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content{padding:.5em 1em}@media (min-width:782px){.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{right:auto;left: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{right:auto;left:100%}}.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container{background-color:#fff;color:#000;border:1px solid rgba(0,0,0,.15)}.wp-block-navigation__container{list-style:none;margin:0;padding-right:0}.wp-block-navigation__container .is-responsive{display:none}.wp-block-navigation__responsive-container{display:none;position:fixed;top:0;right:0;left:0;bottom:0}.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content{display:contents}.wp-block-navigation__responsive-container.is-menu-open{display:flex;flex-direction:column;overflow:auto;z-index:100000;padding:72px 24px 24px;background-color:inherit;align-items:inherit}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{display:flex;flex-direction:column;align-items:var(--justification-setting,inherit);overflow:auto;padding:0}.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 .submenu-container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container{opacity:1;visibility:visible;height:auto;width:auto;overflow:initial;min-width:200px;position:static;border:none;padding-right:32px;padding-left:32px}.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:var(--wp--style--block-gap,2em)}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation__submenu-container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .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{display:flex;flex-direction:column;align-items:var(--justification-setting,inherit)}.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{color:inherit!important;background:transparent!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){display:contents;width:100%;position:relative;z-index:2;background-color:inherit}.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;color:#000}.wp-block-navigation__responsive-container-close,.wp-block-navigation__responsive-container-open{vertical-align:middle;cursor:pointer;color:currentColor;background:transparent;border:none;margin:0;padding:0}.wp-block-navigation__responsive-container-close svg,.wp-block-navigation__responsive-container-open svg{fill:currentColor;pointer-events:none;display:block;width:24px;height:24px}.wp-block-navigation__responsive-container-open{display:flex}@media (min-width:600px){.wp-block-navigation__responsive-container-open:not(.always-shown){display:none}}.wp-block-navigation__responsive-container-close{position:absolute;top:24px;left:24px;z-index:2}.wp-block-navigation__responsive-close{width:100%}.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{width:100%;height:100%}html.has-modal-open{overflow:hidden}.wp-block-navigation__container,.wp-block-navigation__responsive-close,.wp-block-navigation__responsive-dialog{display:contents}.is-menu-open .wp-block-navigation__container,.is-menu-open .wp-block-navigation__responsive-close,.is-menu-open .wp-block-navigation__responsive-dialog{align-items:inherit}.wp-block-navigation .wp-block-navigation-item__label{word-break:normal;overflow-wrap:break-word}.wp-block-navigation-submenu{position:relative;display:flex}.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg{stroke:currentColor}button.wp-block-navigation-item__content{background-color:initial;border:none;color:currentColor;font-size:inherit;font-family:inherit}.wp-block-navigation-submenu__toggle{cursor:pointer}.wp-block-navigation .wp-block-home-link__content{color:inherit;display:block}.wp-block-navigation[style*=text-decoration] .wp-block-home-link,.wp-block-navigation[style*=text-decoration] .wp-block-home-link__content,.wp-block-navigation[style*=text-decoration] .wp-block-home-link__content:active,.wp-block-navigation[style*=text-decoration] .wp-block-home-link__content:focus{text-decoration:inherit}.wp-block-navigation:not([style*=text-decoration]) .wp-block-home-link__content,.wp-block-navigation:not([style*=text-decoration]) .wp-block-home-link__content:active,.wp-block-navigation:not([style*=text-decoration]) .wp-block-home-link__content:focus{text-decoration:none}.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-home-link__container{background-color:#fff;color:#000;border:1px solid rgba(0,0,0,.15)}.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-home-link__container .wp-block-home-link__container{top:-1px}.wp-block-navigation .wp-block-page-list{display:contents;flex-wrap:wrap;background-color:inherit}.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;line-height:.68;font-weight:100;margin:.05em 0 0 .1em;text-transform:uppercase;font-style:normal}p{overflow-wrap:break-word}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}.wp-block-post-author{display:flex;flex-wrap:wrap}.wp-block-post-author__byline{width:100%;margin-top:0;margin-bottom:0;font-size:.5em}.wp-block-post-author__avatar{margin-left:1em}.wp-block-post-author__bio{margin-bottom:.7em;font-size:.7em}.wp-block-post-author__content{flex-grow:1;flex-basis:0}.wp-block-post-author__name{margin:0}.wp-block-post-comments>h3:first-of-type{margin-top:0}.wp-block-post-comments .commentlist{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:.875em;line-height:1.8;margin:.36em 0 1.4em}.wp-block-post-comments .commentlist .children{list-style:none;margin:0;padding:0}.wp-block-post-comments .comment-author{line-height:1.5;margin-right:-3.25em}.wp-block-post-comments .comment-author .avatar{border-radius:1.5em;display:block;float:right;height:2.5em;margin-left:.75em;width:2.5em}.wp-block-post-comments .comment-author cite{font-style:normal}.wp-block-post-comments .comment-meta{line-height:1.5;margin-right:-3.25em}.wp-block-post-comments .comment-body .commentmetadata{font-size:.75em}.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-comment textarea{box-sizing:border-box;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 .reply{font-size:.75em;margin-bottom:1.4em}.wp-block-post-comments input:not([type=submit]),.wp-block-post-comments textarea{border:1px solid #949494;font-size:1em;font-family:inherit}.wp-block-post-comments input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments textarea{padding:calc(.667em + 2px)}.wp-block-post-comments input[type=submit]{border:none}.wp-block-post-comments-form input[type=submit]{border:none;box-shadow:none;cursor:pointer;display:inline-block;text-align:center;overflow-wrap:break-word}.wp-block-post-comments-form input:not([type=submit]),.wp-block-post-comments-form textarea{border:1px solid #949494;font-size:1em;font-family:inherit}.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-comment textarea{display:block;box-sizing:border-box;width:100%}.wp-block-post-comments-form .comment-form-author label,.wp-block-post-comments-form .comment-form-comment 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-excerpt__more-link{display:inline-block}.wp-block-post-terms__separator{white-space:pre-wrap}.wp-block-post-title a{display:inline-block}.wp-block-preformatted{white-space:pre-wrap}.wp-block-preformatted.has-background{padding:1.25em 2.375em}.wp-block-pullquote{margin:0 0 1em;padding:3em 0;text-align:center;overflow-wrap:break-word}.wp-block-pullquote blockquote,.wp-block-pullquote cite,.wp-block-pullquote p{color:inherit}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright,.wp-block-pullquote.has-text-align-left,.wp-block-pullquote.has-text-align-right{max-width:420px}.wp-block-pullquote.alignleft p,.wp-block-pullquote.alignright p,.wp-block-pullquote.has-text-align-left p,.wp-block-pullquote.has-text-align-right p{font-size:1.25em}.wp-block-pullquote p{font-size:1.75em;line-height:1.6}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}.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:not(.is-style-solid-color){background:none}.wp-block-pullquote.is-style-solid-color{border:none}.wp-block-pullquote.is-style-solid-color blockquote{margin-right:auto;margin-left:auto;max-width:60%}.wp-block-pullquote.is-style-solid-color blockquote p{margin-top:0;margin-bottom:0;font-size:2em}.wp-block-pullquote.is-style-solid-color blockquote cite{text-transform:none;font-style:normal}.wp-block-pullquote cite{color:inherit}.wp-block-post-content+*{clear:both}.wp-block-post-template,.wp-block-query-loop{margin-top:0;margin-bottom:0;max-width:100%;list-style:none;padding:0}.wp-block-post-template li,.wp-block-query-loop li{clear:both}.wp-block-post-template.is-flex-container,.wp-block-query-loop.is-flex-container{flex-direction:row;display:flex;flex-wrap:wrap}.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin:0 0 1.25em;width:100%}@media (min-width:600px){.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin-left:1.25em}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li{width:calc(50% - .625em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li:nth-child(2n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li:nth-child(2n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li,.wp-block-query-loop.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-3>li:nth-child(3n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-3>li:nth-child(3n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li{width:calc(25% - .9375em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li:nth-child(4n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li:nth-child(4n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li{width:calc(20% - 1em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li:nth-child(5n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li:nth-child(5n){margin-left:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li{width:calc(16.66667% - 1.04167em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li:nth-child(6n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li:nth-child(6n){margin-left: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-right:.5em;margin-bottom:.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 .wp-block-query-pagination-previous-arrow{margin-left:1ch;display:inline-block}.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{margin-right:1ch;display:inline-block}.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-quote{overflow-wrap:break-word}.wp-block-quote.is-large,.wp-block-quote.is-style-large{margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large p,.wp-block-quote.is-style-large p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large cite,.wp-block-quote.is-large footer,.wp-block-quote.is-style-large cite,.wp-block-quote.is-style-large footer{font-size:1.125em;text-align:left}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;padding:0;list-style:none}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{background:#f7f7f7;border:1px solid #ccc;padding:.375em .625em;color:#32373c;margin-right:.625em;word-break:normal;font-size:inherit;font-family:inherit;line-height:inherit}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{min-width:1.5em;min-height:1.5em;fill:currentColor}.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{padding:8px;flex-grow:1;min-width:3em;border:1px solid #949494;font-size:inherit;font-family:inherit;line-height:inherit}.wp-block-search.wp-block-search__button-only .wp-block-search__button{margin-right:0}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper{padding:4px;border:1px solid #949494}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input{border-radius:0;border:none;padding:0 .25em 0 0}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus{outline:none}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button{padding:.125em .5em}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block-separator{border-top:1px solid;border-bottom:1px solid}.wp-block-separator.is-style-wide{border-bottom-width:1px}.wp-block-separator.is-style-dots{background:none!important;border:none;text-align:center;line-height:1;height:auto}.wp-block-separator.is-style-dots:before{content:"···";color:currentColor;font-size:1.5em;letter-spacing:2em;padding-left:2em;font-family:serif}.wp-block-site-logo{line-height:0}.wp-block-site-logo a{display:inline-block}.wp-block-site-logo.is-default-size img{width:120px;height:auto}.wp-block-site-logo a,.wp-block-site-logo img{border-radius:inherit}.wp-block-site-logo.aligncenter{display:table}.wp-block-site-logo.is-style-rounded{border-radius:9999px}.wp-block-social-links{padding-right:0;padding-left:0;text-indent:0;margin-right:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{text-decoration:none;border-bottom:0;box-shadow:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{width:1em;height:1em}.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{justify-content:center;display:flex}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{display:block;border-radius:9999px;transition:transform .1s ease;height:auto}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-duration:0s;transition-delay:0s}}.wp-block-social-link a{display:block;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: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-block-social-link-anchor svg{color:currentColor;fill: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:#fe4500;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{background-color:#fefc00;color:#fff;stroke:#000}.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-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-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{width:1.25em;height: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:#fe4500}.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{color:#fff;stroke:#000}.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-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-wordpress{color:#3499cd}.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-right:.66667em;padding-left:.66667em}.wp-block-spacer{clear:both}.wp-block-tag-cloud.aligncenter{text-align:center}.wp-block-tag-cloud.alignfull{padding-right:1em;padding-left: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-table{margin:0 0 1em;overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.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{border-spacing:0;border-collapse:inherit;background-color:initial;border-bottom:1px solid #f0f0f0}.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>*,.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr{border-color:inherit}.wp-block-table table[style*=border-style]>*,.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr{border-style:inherit}.wp-block-table table[style*=border-width]>*,.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr{border-width:inherit}.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{font-family:inherit;overflow:auto;white-space:pre-wrap}.wp-block-video{margin:0 0 1em}.wp-block-video video{width:100%}@supports (position:sticky){.wp-block-video [poster]{-o-object-fit:cover;object-fit:cover}}.wp-block-video.aligncenter{text-align:center}.wp-block-video figcaption{margin-top:.5em;margin-bottom:1em}.wp-block-post-featured-image{margin-right:0;margin-left:0}.wp-block-post-featured-image a{display:inline-block}.wp-block-post-featured-image img{max-width:100%;width:100%;height:auto;vertical-align:bottom}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%}: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-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{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#444;display:block;font-size:1em;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000} \ 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 518c2401f6..282f45c3a1 100644 --- a/wp-includes/css/dist/block-library/style.css +++ b/wp-includes/css/dist/block-library/style.css @@ -41,6 +41,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -69,8 +75,8 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -#start-resizable-editor-section { - display: none; +.wp-block-archives-dropdown label { + display: block; } .wp-block-audio { @@ -96,7 +102,7 @@ padding: calc(0.667em + 2px) calc(1.333em + 2px); text-align: center; text-decoration: none; - overflow-wrap: break-word; + word-break: break-word; box-sizing: border-box; } .wp-block-button__link:hover, .wp-block-button__link:focus, .wp-block-button__link:active, .wp-block-button__link:visited { @@ -120,41 +126,29 @@ font-size: inherit; } .wp-block-buttons > .wp-block-button.wp-block-button__width-25 { - width: calc(25% - 0.5em); + width: calc(25% - (var(--wp--style--block-gap, 0.5em) * 0.75)); } .wp-block-buttons > .wp-block-button.wp-block-button__width-50 { - width: calc(50% - 0.5em); + width: calc(50% - (var(--wp--style--block-gap, 0.5em) * 0.5)); } .wp-block-buttons > .wp-block-button.wp-block-button__width-75 { - width: calc(75% - 0.5em); + width: calc(75% - (var(--wp--style--block-gap, 0.5em) * 0.25)); } .wp-block-buttons > .wp-block-button.wp-block-button__width-100 { - width: calc(100% - 0.5em); -} -.wp-block-buttons > .wp-block-button.wp-block-button__width-100:only-child { - margin-right: 0; width: 100%; + flex-basis: 100%; } -@supports (column-gap: 0.5em) { - .wp-block-buttons > .wp-block-button.wp-block-button, .wp-block-buttons.is-content-justification-right > .wp-block-button.wp-block-button { - margin-right: 0; - margin-left: 0; - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-25 { - width: calc(25% - 0.375em); - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-50 { - width: calc(50% - 0.25em); - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-75 { - width: calc(75% - 0.125em); - } - .wp-block-buttons > .wp-block-button.wp-block-button__width-100 { - width: auto; - flex-basis: 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; @@ -165,8 +159,8 @@ border-radius: 0 !important; } -.is-style-outline > .wp-block-button__link, -.wp-block-button__link.is-style-outline { +.is-style-outline > :where(.wp-block-button__link), +:where(.wp-block-button__link).is-style-outline { border: 2px solid currentColor; padding: 0.667em 1.333em; } @@ -182,33 +176,17 @@ } .wp-block-buttons { - display: flex; - flex-direction: row; - flex-wrap: wrap; - column-gap: 0.5em; /* stylelint-disable indentation */ } .wp-block-buttons.is-vertical { flex-direction: column; } -.wp-block-buttons.is-vertical > .wp-block-button { - /*rtl:ignore*/ - margin-right: 0; -} .wp-block-buttons.is-vertical > .wp-block-button:last-child { margin-bottom: 0; } .wp-block-buttons > .wp-block-button { display: inline-block; - /*rtl:ignore*/ - margin-left: 0; - /*rtl:ignore*/ - margin-right: 0.5em; - margin-bottom: 0.5em; -} -.wp-block-buttons > .wp-block-button:last-child { - /*rtl:ignore*/ - margin-right: 0; + margin: 0; } .wp-block-buttons.is-content-justification-left { justify-content: flex-start; @@ -225,16 +203,6 @@ .wp-block-buttons.is-content-justification-right { justify-content: flex-end; } -.wp-block-buttons.is-content-justification-right > .wp-block-button { - /*rtl:ignore*/ - margin-left: 0.5em; - /*rtl:ignore*/ - margin-right: 0; -} -.wp-block-buttons.is-content-justification-right > .wp-block-button:first-child { - /*rtl:ignore*/ - margin-left: 0; -} .wp-block-buttons.is-content-justification-right.is-vertical { align-items: flex-end; } @@ -244,26 +212,6 @@ .wp-block-buttons.aligncenter { text-align: center; } -.wp-block-buttons.alignleft .wp-block-button { - /*rtl:ignore*/ - margin-left: 0; - /*rtl:ignore*/ - margin-right: 0.5em; -} -.wp-block-buttons.alignleft .wp-block-button:last-child { - /*rtl:ignore*/ - margin-right: 0; -} -.wp-block-buttons.alignright .wp-block-button { - /*rtl:ignore*/ - margin-right: 0; - /*rtl:ignore*/ - margin-left: 0.5em; -} -.wp-block-buttons.alignright .wp-block-button:first-child { - /*rtl:ignore*/ - margin-left: 0; -} .wp-block-buttons:not(.is-content-justification-space-between, .is-content-justification-right, .is-content-justification-left, @@ -271,7 +219,6 @@ /* stylelint-enable indentation */ margin-left: auto; margin-right: auto; - margin-bottom: 0.5em; width: 100%; } @@ -335,7 +282,7 @@ flex-wrap: nowrap; } } -.wp-block-columns.has-background { +.wp-block-columns:where(.has-background) { padding: 1.25em 2.375em; } .wp-block-columns.are-vertically-aligned-top { @@ -347,6 +294,45 @@ .wp-block-columns.are-vertically-aligned-bottom { align-items: flex-end; } +@media (max-width: 599px) { + .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { + flex-basis: 100% !important; + } +} +@media (min-width: 600px) and (max-width: 781px) { + .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) { + flex-basis: calc(50% - calc(var(--wp--style--block-gap, 2em) / 2)) !important; + flex-grow: 0; + } + .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:nth-child(even) { + margin-left: var(--wp--style--block-gap, 2em); + } +} +@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:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) { + margin-left: var(--wp--style--block-gap, 2em); + } +} +.wp-block-columns.is-not-stacked-on-mobile { + flex-wrap: nowrap; +} +.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; +} +.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:not(:first-child) { + margin-left: var(--wp--style--block-gap, 2em); +} .wp-block-column { flex-grow: 1; @@ -357,32 +343,6 @@ * Individual Column Alignment */ } -@media (max-width: 599px) { - .wp-block-column { - flex-basis: 100% !important; - } -} -@media (min-width: 600px) and (max-width: 781px) { - .wp-block-column:not(:only-child) { - flex-basis: calc(50% - 1em) !important; - flex-grow: 0; - } - .wp-block-column:nth-child(even) { - margin-left: 2em; - } -} -@media (min-width: 782px) { - .wp-block-column { - flex-basis: 0; - flex-grow: 1; - } - .wp-block-column[style*=flex-basis] { - flex-grow: 0; - } - .wp-block-column:not(:first-child) { - margin-left: 2em; - } -} .wp-block-column.is-vertically-aligned-top { align-self: flex-start; } @@ -461,64 +421,48 @@ z-index: 1; opacity: 0.5; } -.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0 { + opacity: 0; +} +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10 { opacity: 0.1; } -.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20 { opacity: 0.2; } -.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30 { opacity: 0.3; } -.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40 { opacity: 0.4; } -.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50 { opacity: 0.5; } -.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60 { opacity: 0.6; } -.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70 { opacity: 0.7; } -.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80 { opacity: 0.8; } -.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90 { opacity: 0.9; } -.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient)::before, -.wp-block-cover-image.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, -.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background { +.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100, +.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100 { opacity: 1; } .wp-block-cover-image.alignleft, .wp-block-cover-image.alignright, @@ -552,6 +496,10 @@ z-index: 1; color: #fff; } +.wp-block-cover-image.is-light .wp-block-cover__inner-container, +.wp-block-cover.is-light .wp-block-cover__inner-container { + color: #000; +} .wp-block-cover-image p:not(.has-text-color), .wp-block-cover-image h1:not(.has-text-color), .wp-block-cover-image h2:not(.has-text-color), @@ -722,6 +670,7 @@ section.wp-block-cover-image > h2, .wp-block-embed { margin: 0 0 1em 0; + overflow-wrap: break-word; } .wp-block-embed figcaption { margin-top: 0.5em; @@ -823,7 +772,6 @@ section.wp-block-cover-image > h2, flex-direction: column; justify-content: center; position: relative; - align-self: flex-start; width: calc(50% - 1em); } .wp-block-gallery .blocks-gallery-image:nth-of-type(even), @@ -838,16 +786,9 @@ section.wp-block-cover-image > h2, .blocks-gallery-grid .blocks-gallery-item figure { margin: 0; height: 100%; -} -@supports (position: sticky) { - .wp-block-gallery .blocks-gallery-image figure, -.wp-block-gallery .blocks-gallery-item figure, -.blocks-gallery-grid .blocks-gallery-image figure, -.blocks-gallery-grid .blocks-gallery-item figure { - display: flex; - align-items: flex-end; - justify-content: flex-start; - } + display: flex; + align-items: flex-end; + justify-content: flex-start; } .wp-block-gallery .blocks-gallery-image img, .wp-block-gallery .blocks-gallery-item img, @@ -856,15 +797,7 @@ section.wp-block-cover-image > h2, display: block; max-width: 100%; height: auto; - width: 100%; -} -@supports (position: sticky) { - .wp-block-gallery .blocks-gallery-image img, -.wp-block-gallery .blocks-gallery-item img, -.blocks-gallery-grid .blocks-gallery-image img, -.blocks-gallery-grid .blocks-gallery-item img { - width: auto; - } + width: auto; } .wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption, @@ -882,6 +815,7 @@ section.wp-block-cover-image > h2, background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 70%, transparent); box-sizing: border-box; margin: 0; + z-index: 2; } .wp-block-gallery .blocks-gallery-image figcaption img, .wp-block-gallery .blocks-gallery-item figcaption img, @@ -893,11 +827,6 @@ section.wp-block-cover-image > h2, .blocks-gallery-grid figcaption { flex-grow: 1; } -.wp-block-gallery.is-cropped .blocks-gallery-image, .wp-block-gallery.is-cropped .blocks-gallery-item, -.blocks-gallery-grid.is-cropped .blocks-gallery-image, -.blocks-gallery-grid.is-cropped .blocks-gallery-item { - align-self: inherit; -} .wp-block-gallery.is-cropped .blocks-gallery-image a, .wp-block-gallery.is-cropped .blocks-gallery-image img, .wp-block-gallery.is-cropped .blocks-gallery-item a, .wp-block-gallery.is-cropped .blocks-gallery-item img, @@ -906,20 +835,10 @@ section.wp-block-cover-image > h2, .blocks-gallery-grid.is-cropped .blocks-gallery-item a, .blocks-gallery-grid.is-cropped .blocks-gallery-item img { width: 100%; -} -@supports (position: sticky) { - .wp-block-gallery.is-cropped .blocks-gallery-image a, -.wp-block-gallery.is-cropped .blocks-gallery-image img, .wp-block-gallery.is-cropped .blocks-gallery-item a, -.wp-block-gallery.is-cropped .blocks-gallery-item img, -.blocks-gallery-grid.is-cropped .blocks-gallery-image a, -.blocks-gallery-grid.is-cropped .blocks-gallery-image img, -.blocks-gallery-grid.is-cropped .blocks-gallery-item a, -.blocks-gallery-grid.is-cropped .blocks-gallery-item img { - height: 100%; - flex: 1; - -o-object-fit: cover; - object-fit: cover; - } + height: 100%; + flex: 1; + -o-object-fit: cover; + object-fit: cover; } .wp-block-gallery.columns-1 .blocks-gallery-image, .wp-block-gallery.columns-1 .blocks-gallery-item, .blocks-gallery-grid.columns-1 .blocks-gallery-image, @@ -1022,10 +941,211 @@ section.wp-block-cover-image > h2, justify-content: center; } +.wp-block-gallery:not(.is-cropped) .blocks-gallery-item { + align-self: flex-start; +} + +.wp-block-gallery.has-nested-images { + display: flex; + flex-wrap: wrap; +} +.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { + margin: 0 var(--gallery-block--gutter-size, 16px) var(--gallery-block--gutter-size, 16px) 0; + width: calc(50% - (var(--gallery-block--gutter-size, 16px) / 2)); +} +.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):last-of-type:not(#individual-image) { + margin-right: 0; +} +.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):nth-of-type(even) { + margin-right: 0; +} +.wp-block-gallery.has-nested-images figure.wp-block-image { + display: flex; + flex-grow: 1; + justify-content: center; + position: relative; + margin-top: auto; + margin-bottom: auto; + flex-direction: column; +} +.wp-block-gallery.has-nested-images figure.wp-block-image > div, +.wp-block-gallery.has-nested-images figure.wp-block-image > a { + margin: 0; + flex-direction: column; + flex-grow: 1; +} +.wp-block-gallery.has-nested-images figure.wp-block-image img { + display: block; + height: auto; + max-width: 100%; + width: auto; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { + background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 70%, transparent); + bottom: 0; + 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%; + box-sizing: border-box; +} +.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img { + display: inline; +} +.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > div, +.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > a { + flex: 1 1 auto; +} +.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption { + flex: initial; + background: none; + color: inherit; + margin: 0; + padding: 10px 10px 9px; + position: relative; +} +.wp-block-gallery.has-nested-images figcaption { + flex-grow: 1; + flex-basis: 100%; + text-align: center; +} +.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) { + margin-top: 0; + margin-bottom: auto; +} +.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) img { + margin-bottom: var(--gallery-block--gutter-size, 16px); +} +.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) figcaption { + bottom: var(--gallery-block--gutter-size, 16px); +} +.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) > div:not(.components-drop-zone), +.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) > a { + 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 { + width: 100%; + flex: 1 0 0%; + height: 100%; + -o-object-fit: cover; + object-fit: cover; +} +.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) { + margin-right: 0; + width: 100%; +} +@media (min-width: 600px) { + .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + width: calc(33.3333333333% - (var(--gallery-block--gutter-size, 16px) * 0.6666666667)); + } + .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + width: calc(25% - (var(--gallery-block--gutter-size, 16px) * 0.75)); + } + .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + width: calc(20% - (var(--gallery-block--gutter-size, 16px) * 0.8)); + } + .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + width: calc(16.6666666667% - (var(--gallery-block--gutter-size, 16px) * 0.8333333333)); + } + .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + width: calc(14.2857142857% - (var(--gallery-block--gutter-size, 16px) * 0.8571428571)); + } + .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + width: calc(12.5% - (var(--gallery-block--gutter-size, 16px) * 0.875)); + } + .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + } + .wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image):nth-of-type(1n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-2 figure.wp-block-image:not(#individual-image):nth-of-type(2n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image):nth-of-type(3n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image):nth-of-type(4n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image):nth-of-type(5n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image):nth-of-type(6n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image):nth-of-type(7n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image):nth-of-type(8n) { + margin-right: 0; + } + .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) { + margin-right: var(--gallery-block--gutter-size, 16px); + width: calc(33.33% - (var(--gallery-block--gutter-size, 16px) * 0.6666666667)); + } + .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):nth-of-type(3n+3) { + margin-right: 0; + } + .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(--gallery-block--gutter-size, 16px) * 0.5)); + } + .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(1) { + 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, +h2, +h3, +h4, +h5, +h6 { + overflow-wrap: break-word; +} h1.has-background, h2.has-background, h3.has-background, @@ -1039,7 +1159,9 @@ h6.has-background { margin: 0 0 1em 0; } .wp-block-image img { + height: auto; max-width: 100%; + vertical-align: bottom; } .wp-block-image:not(.is-style-rounded) img { border-radius: inherit; @@ -1048,6 +1170,7 @@ h6.has-background { text-align: center; } .wp-block-image.alignfull img, .wp-block-image.alignwide img { + height: auto; width: 100%; } .wp-block-image .alignleft, @@ -1220,7 +1343,6 @@ ol.wp-block-latest-comments { .wp-block-latest-posts__post-date, .wp-block-latest-posts__post-author { display: block; - color: #555; font-size: 0.8125em; } @@ -1259,6 +1381,10 @@ ol.wp-block-latest-comments { margin-bottom: 0; } +ol, +ul { + overflow-wrap: break-word; +} ol.has-background, ul.has-background { padding: 1.25em 2.375em; @@ -1327,6 +1453,7 @@ ul.has-background { .wp-block-media-text__media img, .wp-block-media-text__media video { + height: auto; max-width: unset; width: 100%; vertical-align: middle; @@ -1377,104 +1504,95 @@ ul.has-background { .wp-block-navigation { position: relative; } +.wp-block-navigation ul { + margin-top: 0; + margin-bottom: 0; + margin-left: 0; + padding-left: 0; +} .wp-block-navigation ul, .wp-block-navigation ul li { list-style: none; padding: 0; } -.wp-block-navigation .wp-block-pages-list__item, -.wp-block-navigation .wp-block-navigation-link { +.wp-block-navigation .wp-block-navigation-item { display: flex; align-items: center; position: relative; } -.wp-block-navigation .wp-block-pages-list__item .wp-block-navigation-link__container:empty, -.wp-block-navigation .wp-block-navigation-link .wp-block-navigation-link__container:empty { +.wp-block-navigation .wp-block-navigation-item .wp-block-navigation__submenu-container:empty { display: none; } -.wp-block-navigation .wp-block-pages-list__item__link, -.wp-block-navigation .wp-block-navigation-link__content { +.wp-block-navigation .wp-block-navigation-item__content { color: inherit; display: block; -} -.wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item, -.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__container, -.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link { - text-decoration: inherit; -} -.wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item__link, -.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__content { - text-decoration: inherit; -} -.wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item__link:focus, .wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item__link:active, -.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__content:focus, -.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__content:active { - text-decoration: inherit; -} -.wp-block-navigation:not([style*=text-decoration]) .wp-block-pages-list__item__link, -.wp-block-navigation:not([style*=text-decoration]) .wp-block-navigation-link__content { - text-decoration: none; -} -.wp-block-navigation:not([style*=text-decoration]) .wp-block-pages-list__item__link:focus, .wp-block-navigation:not([style*=text-decoration]) .wp-block-pages-list__item__link:active, -.wp-block-navigation:not([style*=text-decoration]) .wp-block-navigation-link__content:focus, -.wp-block-navigation:not([style*=text-decoration]) .wp-block-navigation-link__content:active { - text-decoration: none; -} -.wp-block-navigation .wp-block-page-list__submenu-icon, -.wp-block-navigation .wp-block-navigation-link__submenu-icon { - height: inherit; -} -.wp-block-navigation .wp-block-page-list__submenu-icon svg, -.wp-block-navigation .wp-block-navigation-link__submenu-icon svg { - stroke: currentColor; -} -.wp-block-navigation .wp-block-pages-list__item .wp-block-pages-list__item__link, -.wp-block-navigation .wp-block-navigation-link .wp-block-navigation-link__content.wp-block-navigation-link__content.wp-block-navigation-link__content { padding: 0; } -.wp-block-navigation .has-child > .wp-block-pages-list__item__link, -.wp-block-navigation .has-child > .wp-block-navigation-link__content { - margin-right: 0.5em; +.wp-block-navigation[style*=text-decoration] .wp-block-navigation-item, +.wp-block-navigation[style*=text-decoration] .wp-block-navigation__submenu-container { + text-decoration: inherit; } -.wp-block-navigation .has-child .submenu-container, -.wp-block-navigation .has-child .wp-block-navigation-link__container { +.wp-block-navigation[style*=text-decoration] a { + text-decoration: inherit; +} +.wp-block-navigation[style*=text-decoration] a:focus, .wp-block-navigation[style*=text-decoration] a:active { + text-decoration: inherit; +} +.wp-block-navigation:not([style*=text-decoration]) a { + text-decoration: none; +} +.wp-block-navigation:not([style*=text-decoration]) a:focus, .wp-block-navigation:not([style*=text-decoration]) a:active { + text-decoration: none; +} +.wp-block-navigation .wp-block-navigation__submenu-icon { + align-self: center; + height: inherit; + line-height: 0; + margin-left: 6px; + padding: 0; + background-color: inherit; + color: currentColor; + border: none; +} +.wp-block-navigation .wp-block-navigation__submenu-icon svg { + display: inline-block; + stroke: currentColor; +} + +.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) { background-color: inherit; color: inherit; position: absolute; z-index: 2; + display: flex; flex-direction: column; align-items: normal; - min-width: 200px; - display: none; opacity: 0; transition: opacity 0.1s linear; visibility: hidden; + width: 0; + height: 0; + left: -1px; + top: 100%; } -.wp-block-navigation .has-child .submenu-container > .wp-block-pages-list__item > .wp-block-pages-list__item__link, -.wp-block-navigation .has-child .submenu-container > .wp-block-pages-list__item > .wp-block-navigation-link__content, -.wp-block-navigation .has-child .submenu-container > .wp-block-navigation-link > .wp-block-pages-list__item__link, -.wp-block-navigation .has-child .submenu-container > .wp-block-navigation-link > .wp-block-navigation-link__content, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-pages-list__item > .wp-block-pages-list__item__link, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-pages-list__item > .wp-block-navigation-link__content, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-navigation-link > .wp-block-pages-list__item__link, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-navigation-link > .wp-block-navigation-link__content { +.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) > .wp-block-navigation-item > .wp-block-navigation-item__content { + display: flex; flex-grow: 1; + white-space: nowrap; } -.wp-block-navigation .has-child .submenu-container > .wp-block-pages-list__item > .wp-block-page-list__submenu-icon, -.wp-block-navigation .has-child .submenu-container > .wp-block-pages-list__item > .wp-block-navigation-link__submenu-icon, -.wp-block-navigation .has-child .submenu-container > .wp-block-navigation-link > .wp-block-page-list__submenu-icon, -.wp-block-navigation .has-child .submenu-container > .wp-block-navigation-link > .wp-block-navigation-link__submenu-icon, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-pages-list__item > .wp-block-page-list__submenu-icon, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-pages-list__item > .wp-block-navigation-link__submenu-icon, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-navigation-link > .wp-block-page-list__submenu-icon, -.wp-block-navigation .has-child .wp-block-navigation-link__container > .wp-block-navigation-link > .wp-block-navigation-link__submenu-icon { - padding-right: 0.5em; +.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon { + margin-right: 0; + margin-left: auto; +} +.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content { + margin: 0; } @media (min-width: 782px) { - .wp-block-navigation .has-child .submenu-container .submenu-container::before, -.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__container::before, -.wp-block-navigation .has-child .wp-block-navigation-link__container .submenu-container::before, -.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container::before { + .wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-container { + left: 100%; + top: -1px; + } + .wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-container::before { content: ""; position: absolute; right: 100%; @@ -1483,142 +1601,96 @@ ul.has-background { width: 0.5em; background: transparent; } - .wp-block-navigation .has-child .submenu-container .wp-block-page-list__submenu-icon svg, -.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__submenu-icon svg, -.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-page-list__submenu-icon svg, -.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__submenu-icon svg { + .wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-icon svg { transform: rotate(-90deg); } } -.wp-block-navigation .has-child:hover > .wp-block-navigation-link__container { - display: flex; +.wp-block-navigation .has-child:where(:not(.open-on-click)):hover > .wp-block-navigation__submenu-container { visibility: visible; opacity: 1; + width: auto; + height: auto; + min-width: 200px; } -.wp-block-navigation .has-child:focus-within > .wp-block-navigation-link__container { - display: flex; +.wp-block-navigation .has-child:where(:not(.open-on-click):not(.open-on-hover-click)):focus-within > .wp-block-navigation__submenu-container { visibility: visible; opacity: 1; + width: auto; + height: auto; + min-width: 200px; } -.wp-block-navigation .has-child:hover { - cursor: pointer; -} -.wp-block-navigation .has-child:hover > .submenu-container { - display: flex; +.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true] + .wp-block-navigation__submenu-container { visibility: visible; opacity: 1; -} -.wp-block-navigation .has-child:focus-within { - cursor: pointer; -} -.wp-block-navigation .has-child:focus-within > .submenu-container { - display: flex; - visibility: visible; - opacity: 1; -} -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .submenu-container > .has-child:last-child .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .submenu-container > .has-child:last-child .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.items-justified-right > .submenu-container .has-child .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .submenu-container .has-child .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.items-justified-right > .wp-block-navigation__container .has-child .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .wp-block-navigation__container .has-child .wp-block-navigation-link__container { - left: auto; - right: 0; -} -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .submenu-container > .has-child:last-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .submenu-container > .has-child:last-child .submenu-container .wp-block-navigation-link__container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .submenu-container > .has-child:last-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .submenu-container > .has-child:last-child .wp-block-navigation-link__container .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .submenu-container .wp-block-navigation-link__container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation-link__container .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.items-justified-right > .submenu-container .has-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .submenu-container .has-child .submenu-container .wp-block-navigation-link__container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .submenu-container .has-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .submenu-container .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.items-justified-right > .wp-block-navigation__container .has-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .wp-block-navigation__container .has-child .submenu-container .wp-block-navigation-link__container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .wp-block-navigation__container .has-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation.items-justified-right > .wp-block-navigation__container .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container { - left: auto; - right: 100%; + width: auto; + height: auto; + min-width: 200px; } -.wp-block-navigation.wp-block-navigation .wp-block-page-list, -.wp-block-navigation.wp-block-navigation .wp-block-page-list > .wp-block-pages-list__item, -.wp-block-navigation.wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-link { - margin: 0 2em 0 0; -} -.wp-block-navigation.wp-block-navigation .wp-block-page-list:last-child, -.wp-block-navigation.wp-block-navigation .wp-block-page-list > .wp-block-pages-list__item:last-child, -.wp-block-navigation.wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-link:last-child { - margin-right: 0; -} -.wp-block-navigation.wp-block-navigation.has-background .wp-block-page-list, -.wp-block-navigation.wp-block-navigation.has-background .wp-block-page-list > .wp-block-pages-list__item, -.wp-block-navigation.wp-block-navigation.has-background .wp-block-navigation__container > .wp-block-navigation-link { - margin: 0 0.5em 0 0; -} -.wp-block-navigation.wp-block-navigation.has-background .wp-block-page-list .wp-block-pages-list__item__link, -.wp-block-navigation.wp-block-navigation.has-background .wp-block-navigation__container .wp-block-navigation-link__content { - padding: 0.5em 1em; -} -.wp-block-navigation.wp-block-navigation .has-child .submenu-container, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container { - left: -1em; - top: 100%; -} -.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-pages-list__item, -.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-pages-list__item, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link { - margin: 0; -} -.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-pages-list__item__link, -.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__content, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-pages-list__item__link, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__content { - padding: 0.5em 1em; -} -.wp-block-navigation.wp-block-navigation .has-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__container, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container { - left: -1px; -} -@media (min-width: 782px) { - .wp-block-navigation.wp-block-navigation .has-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__container, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container { - left: 100%; - top: -1px; - } -} -.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container, .wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container { +.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container { left: 0; top: 100%; } -.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container { - left: 0; -} @media (min-width: 782px) { - .wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .submenu-container, -.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .wp-block-navigation-link__container, .wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .submenu-container, -.wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container { + .wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { left: 100%; top: 0; } } -.wp-block-navigation:not(.has-background) .submenu-container, -.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-navigation-link__container { +/** + * Margins + */ +.wp-block-navigation, +.wp-block-navigation .wp-block-page-list, +.wp-block-navigation__container, +.wp-block-navigation__responsive-container-content { + gap: var(--wp--style--block-gap, 2em); +} + +.wp-block-navigation:where(.has-background), +.wp-block-navigation:where(.has-background) .wp-block-navigation .wp-block-page-list, +.wp-block-navigation:where(.has-background) .wp-block-navigation__container { + gap: var(--wp--style--block-gap, 0.5em); +} + +/** + * Paddings + */ +.wp-block-navigation:where(.has-background) .wp-block-navigation-item__content { + padding: 0.5em 1em; +} + +.wp-block-navigation :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content { + padding: 0.5em 1em; +} + +/** + * Justifications. + */ +@media (min-width: 782px) { + .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, +.wp-block-navigation.items-justified-right .wp-block-page-list > .has-child .wp-block-navigation__submenu-container, +.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container { + left: auto; + right: 0; + } + .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, +.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-right .wp-block-navigation__container .has-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; color: #000; border: 1px solid rgba(0, 0, 0, 0.15); } .wp-block-navigation__container { - align-items: center; list-style: none; margin: 0; padding-left: 0; @@ -1626,42 +1698,6 @@ ul.has-background { .wp-block-navigation__container .is-responsive { display: none; } -@media (min-width: 600px) { - .wp-block-navigation__container { - display: flex; - flex-wrap: wrap; - } - .is-vertical .wp-block-navigation__container { - display: block; - flex-direction: column; - align-items: flex-start; - } -} - -.items-justified-center .wp-block-navigation__container { - justify-content: center; -} - -.items-justified-right .wp-block-navigation__container { - justify-content: flex-end; -} - -.items-justified-space-between .wp-block-navigation__container { - justify-content: space-between; -} - -.is-vertical.items-justified-center > ul { - align-items: center; -} - -.is-vertical.items-justified-right > ul { - align-items: flex-end; -} -.is-vertical.items-justified-right > ul .wp-block-navigation-link, -.is-vertical.items-justified-right > ul .wp-block-pages-list__item { - margin-right: 0; - justify-content: flex-end; -} /** * Mobile menu. @@ -1673,48 +1709,83 @@ ul.has-background { left: 0; right: 0; bottom: 0; - z-index: 1; - align-items: flex-start; - justify-content: flex-start; +} +.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content { + display: contents; } .wp-block-navigation__responsive-container.is-menu-open { display: flex; flex-direction: column; overflow: auto; z-index: 100000; - padding: 24px; + padding: 72px 24px 24px 24px; background-color: inherit; + align-items: inherit; } -.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { display: flex; flex-direction: column; - margin-left: auto; - margin-right: auto; - align-items: flex-start; - line-height: 48px; + align-items: var(--justification-setting, inherit); + overflow: auto; padding: 0; } -.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container .wp-block-page-list { - flex-direction: column; +.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-pages-list__item .submenu-container, -.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link .wp-block-navigation-link__container, -.wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item, -.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link { +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .submenu-container, +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container { + opacity: 1; + visibility: visible; + height: auto; + width: auto; + overflow: initial; + min-width: 200px; + position: static; + border: none; + padding-left: 32px; + padding-right: 32px; +} +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container, +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container { + gap: var(--wp--style--block-gap, 2em); +} +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container, +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation__container, +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation__submenu-container, +.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation__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__container, +.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-page-list { + display: flex; + flex-direction: column; + align-items: var(--justification-setting, inherit); +} +.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-item { + color: inherit !important; background: transparent !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 { + right: auto; + left: auto; +} @media (min-width: 600px) { - .wp-block-navigation__responsive-container:not(.is-menu-open) { - display: flex; - flex-direction: row; + .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { + display: contents; + width: 100%; position: relative; + z-index: 2; background-color: inherit; } - .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close { + .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 .submenu-container.submenu-container.submenu-container.submenu-container, -.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link__container.wp-block-navigation-link__container.wp-block-navigation-link__container.wp-block-navigation-link__container { + .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; } } @@ -1747,22 +1818,10 @@ ul.has-background { display: flex; } @media (min-width: 600px) { - .wp-block-navigation__responsive-container-open { + .wp-block-navigation__responsive-container-open:not(.always-shown) { display: none; } } -.items-justified-left .wp-block-navigation__responsive-container-open { - margin-left: 0; - margin-right: auto; -} -.items-justified-center .wp-block-navigation__responsive-container-open { - margin-left: auto; - margin-right: auto; -} -.items-justified-right .wp-block-navigation__responsive-container-open { - margin-left: auto; - margin-right: 0; -} .wp-block-navigation__responsive-container-close { position: absolute; @@ -1782,37 +1841,49 @@ ul.has-background { height: 100%; } -.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list__submenu-icon, -.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link__submenu-icon { - display: none; -} -.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .has-child .submenu-container, -.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .has-child .wp-block-navigation-link__container { - position: relative; - opacity: 1; - visibility: visible; - padding: 0 0 0 32px; - border: none; -} -.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link, -.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item { - flex-direction: column; - align-items: flex-start; -} - html.has-modal-open { overflow: hidden; } -.wp-block-navigation .wp-block-navigation-link__label { +.wp-block-navigation__responsive-close, +.wp-block-navigation__responsive-dialog, +.wp-block-navigation__container { + display: contents; +} +.is-menu-open .wp-block-navigation__responsive-close, +.is-menu-open .wp-block-navigation__responsive-dialog, +.is-menu-open .wp-block-navigation__container { + align-items: inherit; +} + +.wp-block-navigation .wp-block-navigation-item__label { word-break: normal; overflow-wrap: break-word; } +.wp-block-navigation-submenu { + position: relative; + display: flex; +} +.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-size: inherit; + font-family: inherit; +} + +.wp-block-navigation-submenu__toggle { + cursor: pointer; +} + .wp-block-navigation .wp-block-home-link__content { color: inherit; display: block; - padding: 0.5em 1em; } .wp-block-navigation[style*=text-decoration] .wp-block-home-link { text-decoration: inherit; @@ -1840,34 +1911,13 @@ html.has-modal-open { } .wp-block-navigation .wp-block-page-list { - display: flex; + display: contents; flex-wrap: wrap; background-color: inherit; } -.wp-block-navigation .wp-block-pages-list__item { +.wp-block-navigation .wp-block-navigation-item { background-color: inherit; } -.wp-block-navigation .wp-block-page-list__submenu-icon { - display: none; -} -.wp-block-navigation .show-submenu-icons .wp-block-page-list__submenu-icon { - display: block; -} - -.is-vertical .wp-block-navigation__container .wp-block-page-list, -.is-open .wp-block-navigation__container .wp-block-page-list { - display: block; -} - -@media (min-width: 480px) { - .is-open .wp-block-navigation__container .wp-block-page-list { - display: flex; - } -} - -.items-justified-space-between .wp-block-page-list { - display: contents; -} .is-small-text { font-size: 0.875em; @@ -1895,6 +1945,10 @@ html.has-modal-open { font-style: normal; } +p { + overflow-wrap: break-word; +} + p.has-drop-cap.has-background { overflow: hidden; } @@ -1903,7 +1957,7 @@ p.has-background { padding: 1.25em 2.375em; } -p.has-text-color a { +:where(p.has-text-color:not(.has-link-color)) a { color: inherit; } @@ -1929,10 +1983,12 @@ p.has-text-color a { flex-basis: 0; } .wp-block-post-author__name { - font-weight: bold; margin: 0; } +.wp-block-post-comments > h3:first-of-type { + margin-top: 0; +} .wp-block-post-comments .commentlist { list-style: none; margin: 0; @@ -1979,18 +2035,35 @@ p.has-text-color a { .wp-block-post-comments .comment-form-email label, .wp-block-post-comments .comment-form-url label { display: block; + margin-bottom: 0.25em; } .wp-block-post-comments .comment-form-comment textarea { box-sizing: border-box; width: 100%; } +.wp-block-post-comments .comment-form-cookies-consent { + display: flex; + gap: 0.25em; +} +.wp-block-post-comments .comment-form-cookies-consent #wp-comment-cookies-consent { + margin-top: 0.35em; +} .wp-block-post-comments .reply { font-size: 0.75em; margin-bottom: 1.4em; } .wp-block-post-comments textarea, -.wp-block-post-comments input { +.wp-block-post-comments input:not([type=submit]) { border: 1px solid #949494; + font-size: 1em; + font-family: inherit; +} +.wp-block-post-comments textarea, +.wp-block-post-comments input:not([type=submit]):not([type=checkbox]) { + padding: calc(0.667em + 2px); +} +.wp-block-post-comments input[type=submit] { + border: none; } .wp-block-post-comments-form input[type=submit] { @@ -2001,11 +2074,44 @@ p.has-text-color a { text-align: center; overflow-wrap: break-word; } +.wp-block-post-comments-form textarea, +.wp-block-post-comments-form input:not([type=submit]) { + border: 1px solid #949494; + font-size: 1em; + font-family: inherit; +} +.wp-block-post-comments-form textarea, +.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]) { + padding: calc(0.667em + 2px); +} +.wp-block-post-comments-form .comment-form-comment textarea { + display: block; + box-sizing: border-box; + width: 100%; +} +.wp-block-post-comments-form .comment-form-comment label, +.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: 0.25em; +} +.wp-block-post-comments-form .comment-form-cookies-consent { + display: flex; + gap: 0.25em; +} +.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent { + margin-top: 0.35em; +} .wp-block-post-excerpt__more-link { display: inline-block; } +.wp-block-post-terms__separator { + white-space: pre-wrap; +} + .wp-block-post-title a { display: inline-block; } @@ -2022,11 +2128,17 @@ p.has-text-color a { margin: 0 0 1em 0; padding: 3em 0; text-align: center; + overflow-wrap: break-word; } -.wp-block-pullquote.alignleft, .wp-block-pullquote.alignright { +.wp-block-pullquote p, +.wp-block-pullquote blockquote, +.wp-block-pullquote cite { + color: inherit; +} +.wp-block-pullquote.has-text-align-left, .wp-block-pullquote.has-text-align-right, .wp-block-pullquote.alignleft, .wp-block-pullquote.alignright { max-width: 420px; } -.wp-block-pullquote.alignleft p, .wp-block-pullquote.alignright p { +.wp-block-pullquote.has-text-align-left p, .wp-block-pullquote.has-text-align-right p, .wp-block-pullquote.alignleft p, .wp-block-pullquote.alignright p { font-size: 1.25em; } .wp-block-pullquote p { @@ -2041,6 +2153,14 @@ p.has-text-color a { color: inherit; } +.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:not(.is-style-solid-color) { background: none; } @@ -2051,7 +2171,6 @@ p.has-text-color a { .wp-block-pullquote.is-style-solid-color blockquote { margin-left: auto; margin-right: auto; - text-align: left; max-width: 60%; } .wp-block-pullquote.is-style-solid-color blockquote p { @@ -2068,8 +2187,14 @@ p.has-text-color a { color: inherit; } +.wp-block-post-content + * { + clear: both; +} + .wp-block-post-template, .wp-block-query-loop { + margin-top: 0; + margin-bottom: 0; max-width: 100%; list-style: none; padding: 0; @@ -2136,15 +2261,9 @@ p.has-text-color a { } } -.wp-block-query-pagination { - display: flex; - flex-direction: row; - flex-wrap: wrap; -} .wp-block-query-pagination > .wp-block-query-pagination-next, .wp-block-query-pagination > .wp-block-query-pagination-previous, .wp-block-query-pagination > .wp-block-query-pagination-numbers { - display: inline-block; /*rtl:ignore*/ margin-right: 0.5em; margin-bottom: 0.5em; @@ -2155,7 +2274,27 @@ p.has-text-color a { /*rtl:ignore*/ margin-right: 0; } +.wp-block-query-pagination .wp-block-query-pagination-previous-arrow { + margin-right: 1ch; + display: inline-block; +} +.wp-block-query-pagination .wp-block-query-pagination-previous-arrow:not(.is-arrow-chevron) { + transform: scaleX(1) /*rtl:scaleX(-1);*/; +} +.wp-block-query-pagination .wp-block-query-pagination-next-arrow { + margin-left: 1ch; + display: inline-block; +} +.wp-block-query-pagination .wp-block-query-pagination-next-arrow:not(.is-arrow-chevron) { + transform: scaleX(1) /*rtl:scaleX(-1);*/; +} +.wp-block-query-pagination.aligncenter { + justify-content: center; +} +.wp-block-quote { + overflow-wrap: break-word; +} .wp-block-quote.is-style-large, .wp-block-quote.is-large { margin-bottom: 1em; padding: 0 1em; @@ -2172,41 +2311,45 @@ p.has-text-color a { text-align: right; } -.wp-block-rss.wp-block-rss { +ul.wp-block-rss { + list-style: none; + padding: 0; +} +ul.wp-block-rss.wp-block-rss { box-sizing: border-box; } -.wp-block-rss.alignleft { +ul.wp-block-rss.alignleft { /*rtl:ignore*/ margin-right: 2em; } -.wp-block-rss.alignright { +ul.wp-block-rss.alignright { /*rtl:ignore*/ margin-left: 2em; } -.wp-block-rss.is-grid { +ul.wp-block-rss.is-grid { display: flex; flex-wrap: wrap; padding: 0; list-style: none; } -.wp-block-rss.is-grid li { +ul.wp-block-rss.is-grid li { margin: 0 1em 1em 0; width: 100%; } @media (min-width: 600px) { - .wp-block-rss.columns-2 li { + ul.wp-block-rss.columns-2 li { width: calc(( 100% / 2 ) - 1em); } - .wp-block-rss.columns-3 li { + ul.wp-block-rss.columns-3 li { width: calc(( 100% / 3 ) - 1em); } - .wp-block-rss.columns-4 li { + ul.wp-block-rss.columns-4 li { width: calc(( 100% / 4 ) - 1em); } - .wp-block-rss.columns-5 li { + ul.wp-block-rss.columns-5 li { width: calc(( 100% / 5 ) - 1em); } - .wp-block-rss.columns-6 li { + ul.wp-block-rss.columns-6 li { width: calc(( 100% / 6 ) - 1em); } } @@ -2214,42 +2357,54 @@ p.has-text-color a { .wp-block-rss__item-publish-date, .wp-block-rss__item-author { display: block; - color: #555; font-size: 0.8125em; } -.wp-block-search .wp-block-search__button { +.wp-block-search__button { background: #f7f7f7; border: 1px solid #ccc; padding: 0.375em 0.625em; color: #32373c; margin-left: 0.625em; word-break: normal; + font-size: inherit; + font-family: inherit; + line-height: inherit; } -.wp-block-search .wp-block-search__button.has-icon { +.wp-block-search__button.has-icon { line-height: 0; } -.wp-block-search .wp-block-search__button svg { +.wp-block-search__button svg { min-width: 1.5em; min-height: 1.5em; + fill: currentColor; } -.wp-block-search .wp-block-search__inside-wrapper { + +.wp-block-search__inside-wrapper { display: flex; flex: auto; flex-wrap: nowrap; max-width: 100%; } -.wp-block-search .wp-block-search__label { + +.wp-block-search__label { width: 100%; } -.wp-block-search .wp-block-search__input { + +.wp-block-search__input { + padding: 8px; flex-grow: 1; min-width: 3em; border: 1px solid #949494; + font-size: inherit; + font-family: inherit; + line-height: inherit; } + .wp-block-search.wp-block-search__button-only .wp-block-search__button { margin-left: 0; } + .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper { padding: 4px; border: 1px solid #949494; @@ -2265,6 +2420,7 @@ p.has-text-color a { .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button { padding: 0.125em 0.5em; } + .wp-block-search.aligncenter .wp-block-search__inside-wrapper { margin: auto; } @@ -2280,7 +2436,6 @@ p.has-text-color a { background: none !important; border: none; text-align: center; - width: none; line-height: 1; height: auto; } @@ -2304,16 +2459,18 @@ p.has-text-color a { width: 120px; height: auto; } -.wp-block-site-logo .aligncenter { +.wp-block-site-logo a, +.wp-block-site-logo img { + border-radius: inherit; +} +.wp-block-site-logo.aligncenter { display: table; } -.wp-block-site-logo.is-style-rounded img { +.wp-block-site-logo.is-style-rounded { border-radius: 9999px; } .wp-block-social-links { - display: flex; - flex-wrap: wrap; padding-left: 0; padding-right: 0; text-indent: 0; @@ -2325,9 +2482,6 @@ p.has-text-color a { border-bottom: 0; box-shadow: none; } -.wp-block-social-links .wp-social-link.wp-social-link.wp-social-link { - margin: 4px 8px 4px 0; -} .wp-block-social-links .wp-social-link a { padding: 0.25em; } @@ -2546,7 +2700,13 @@ p.has-text-color a { .wp-block-social-links.is-style-logos-only .wp-social-link { background: none; - padding: 4px; +} +.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 { + width: 1.25em; + height: 1.25em; } .wp-block-social-links.is-style-logos-only .wp-social-link-amazon { color: #f90; @@ -2686,6 +2846,15 @@ p.has-text-color a { 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-table { margin: 0 0 1em 0; @@ -2830,142 +2999,43 @@ pre.wp-block-verse { } .wp-block-post-featured-image img { max-width: 100%; + width: 100%; height: auto; + vertical-align: bottom; } .wp-block-post-featured-image.alignwide img, .wp-block-post-featured-image.alignfull img { width: 100%; } :root { + /* + * Our classes uses the same values we set for gradient value attributes, + * and we can not use spacing because of WP multi site kses rule. + */ /* stylelint-disable function-comma-space-after */ /* stylelint-enable function-comma-space-after */ } -:root .has-pale-pink-background-color { - background-color: #f78da7; -} -:root .has-vivid-red-background-color { - background-color: #cf2e2e; -} -:root .has-luminous-vivid-orange-background-color { - background-color: #ff6900; -} -:root .has-luminous-vivid-amber-background-color { - background-color: #fcb900; -} -:root .has-light-green-cyan-background-color { - background-color: #7bdcb5; -} -:root .has-vivid-green-cyan-background-color { - background-color: #00d084; -} -:root .has-pale-cyan-blue-background-color { - background-color: #8ed1fc; -} -:root .has-vivid-cyan-blue-background-color { - background-color: #0693e3; -} -:root .has-vivid-purple-background-color { - background-color: #9b51e0; -} -:root .has-white-background-color { - background-color: #fff; -} :root .has-very-light-gray-background-color { background-color: #eee; } -:root .has-cyan-bluish-gray-background-color { - background-color: #abb8c3; -} :root .has-very-dark-gray-background-color { background-color: #313131; } -:root .has-black-background-color { - background-color: #000; -} -:root .has-pale-pink-color { - color: #f78da7; -} -:root .has-vivid-red-color { - color: #cf2e2e; -} -:root .has-luminous-vivid-orange-color { - color: #ff6900; -} -:root .has-luminous-vivid-amber-color { - color: #fcb900; -} -:root .has-light-green-cyan-color { - color: #7bdcb5; -} -:root .has-vivid-green-cyan-color { - color: #00d084; -} -:root .has-pale-cyan-blue-color { - color: #8ed1fc; -} -:root .has-vivid-cyan-blue-color { - color: #0693e3; -} -:root .has-vivid-purple-color { - color: #9b51e0; -} -:root .has-white-color { - color: #fff; -} :root .has-very-light-gray-color { color: #eee; } -:root .has-cyan-bluish-gray-color { - color: #abb8c3; -} :root .has-very-dark-gray-color { color: #313131; } -:root .has-black-color { - color: #000; -} -:root .has-vivid-cyan-blue-to-vivid-purple-gradient-background { - background: linear-gradient(135deg, #0693e3 0%, #9b51e0 100%); -} :root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background { background: linear-gradient(135deg, #00d084 0%, #0693e3 100%); } -:root .has-light-green-cyan-to-vivid-green-cyan-gradient-background { - background: linear-gradient(135deg, #7adcb4 0%, #00d082 100%); -} -:root .has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background { - background: linear-gradient(135deg, #fcb900 0%, #ff6900 100%); -} -:root .has-luminous-vivid-orange-to-vivid-red-gradient-background { - background: linear-gradient(135deg, #ff6900 0%, #cf2e2e 100%); -} -:root .has-very-light-gray-to-cyan-bluish-gray-gradient-background { - background: linear-gradient(135deg, #eeeeee 0%, #a9b8c3 100%); -} -:root .has-cool-to-warm-spectrum-gradient-background { - background: linear-gradient(135deg, #4aeadc 0%, #9778d1 20%, #cf2aba 40%, #ee2c82 60%, #fb6962 80%, #fef84c 100%); -} -:root .has-blush-light-purple-gradient-background { - background: linear-gradient(135deg, #ffceec 0%, #9896f0 100%); -} -:root .has-blush-bordeaux-gradient-background { - background: linear-gradient(135deg, #fecda5 0%, #fe2d2d 50%, #6b003e 100%); -} :root .has-purple-crush-gradient-background { background: linear-gradient(135deg, #34e2e4 0%, #4721fb 50%, #ab1dfe 100%); } -:root .has-luminous-dusk-gradient-background { - background: linear-gradient(135deg, #ffcb70 0%, #c751c0 50%, #4158d0 100%); -} :root .has-hazy-dawn-gradient-background { background: linear-gradient(135deg, #faaca8 0%, #dad0ec 100%); } -:root .has-pale-ocean-gradient-background { - background: linear-gradient(135deg, #fff5cb 0%, #b6e3d4 50%, #33a7b5 100%); -} -:root .has-electric-grass-gradient-background { - background: linear-gradient(135deg, #caf880 0%, #71ce7e 100%); -} :root .has-subdued-olive-gradient-background { background: linear-gradient(135deg, #fafae1 0%, #67a671 100%); } @@ -2979,25 +3049,11 @@ pre.wp-block-verse { background: linear-gradient(135deg, #020381 0%, #2874fc 100%); } -.has-small-font-size { - font-size: 0.8125em; -} - -.has-regular-font-size, -.has-normal-font-size { +.has-regular-font-size { font-size: 1em; } -.has-medium-font-size { - font-size: 1.25em; -} - -.has-large-font-size { - font-size: 2.25em; -} - -.has-larger-font-size, -.has-huge-font-size { +.has-larger-font-size { font-size: 2.625em; } diff --git a/wp-includes/css/dist/block-library/style.min.css b/wp-includes/css/dist/block-library/style.min.css index 2636c109b7..06994a6e6b 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";#start-resizable-editor-section{display:none}.wp-block-audio{margin:0 0 1em}.wp-block-audio figcaption{margin-top:.5em;margin-bottom:1em}.wp-block-audio audio{width:100%;min-width:300px}.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;cursor:pointer;display:inline-block;font-size:1.125em;padding:calc(.667em + 2px) calc(1.333em + 2px);text-align:center;text-decoration:none;overflow-wrap:break-word;box-sizing:border-box}.wp-block-button__link:active,.wp-block-button__link:focus,.wp-block-button__link:hover,.wp-block-button__link:visited{color:#fff}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}.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% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{width:calc(100% - .5em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100:only-child{margin-right:0;width:100%}@supports (column-gap:0.5em){.wp-block-buttons.is-content-justification-right>.wp-block-button.wp-block-button,.wp-block-buttons>.wp-block-button.wp-block-button{margin-right:0;margin-left:0}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - .375em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - .25em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - .125em)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{width:auto;flex-basis:100%}}.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}.is-style-outline>.wp-block-button__link,.wp-block-button__link.is-style-outline{border:2px solid;padding:.667em 1.333em}.is-style-outline>.wp-block-button__link:not(.has-text-color),.wp-block-button__link.is-style-outline:not(.has-text-color){color:currentColor}.is-style-outline>.wp-block-button__link:not(.has-background),.wp-block-button__link.is-style-outline:not(.has-background){background-color:initial}.wp-block-buttons{display:flex;flex-direction:row;flex-wrap:wrap;column-gap:.5em}.wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button{margin-right:0}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin-left:0;margin-right:.5em;margin-bottom:.5em}.wp-block-buttons>.wp-block-button:last-child{margin-right: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>.wp-block-button{margin-left:.5em;margin-right:0}.wp-block-buttons.is-content-justification-right>.wp-block-button:first-child{margin-left:0}.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.alignleft .wp-block-button{margin-left:0;margin-right:.5em}.wp-block-buttons.alignleft .wp-block-button:last-child{margin-right:0}.wp-block-buttons.alignright .wp-block-button{margin-right:0;margin-left:.5em}.wp-block-buttons.alignright .wp-block-button:first-child{margin-left:0}.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;margin-bottom:.5em;width:100%}.wp-block-button.aligncenter,.wp-block-calendar{text-align:center}.wp-block-calendar tbody td,.wp-block-calendar th{padding:.25em;border:1px solid #ddd}.wp-block-calendar tfoot td{border:none}.wp-block-calendar table{width:100%;border-collapse:collapse}.wp-block-calendar table th{font-weight:400;background:#ddd}.wp-block-calendar a{text-decoration:underline}.wp-block-calendar table caption,.wp-block-calendar table tbody{color:#40464d}.wp-block-categories.alignleft{margin-right:2em}.wp-block-categories.alignright{margin-left:2em}.wp-block-code code{display:block;white-space:pre-wrap;overflow-wrap:break-word}.wp-block-columns{display:flex;margin-bottom:1.75em;box-sizing:border-box;flex-wrap:wrap}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap}}.wp-block-columns.has-background{padding:1.25em 2.375em}.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}.wp-block-column{flex-grow:1;min-width:0;word-break:break-word;overflow-wrap:break-word}@media (max-width:599px){.wp-block-column{flex-basis:100%!important}}@media (min-width:600px) and (max-width:781px){.wp-block-column:not(:only-child){flex-basis:calc(50% - 1em)!important;flex-grow:0}.wp-block-column:nth-child(2n){margin-left:2em}}@media (min-width:782px){.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-column[style*=flex-basis]{flex-grow:0}.wp-block-column:not(:first-child){margin-left:2em}}.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-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%}.wp-block-cover,.wp-block-cover-image{position:relative;background-size:cover;background-position:50%;min-height:430px;width:100%;display:flex;justify-content:center;align-items:center;padding:1em;box-sizing:border-box}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:fixed}@supports (-webkit-overflow-scrolling:touch){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated{background-repeat:repeat;background-size:auto}.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-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{content:"";background-color:inherit}.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim:not(.has-background-gradient):before,.wp-block-cover .wp-block-cover__gradient-background{position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;opacity:.5}.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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__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__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{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{display:block;content:"";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-image .wp-block-cover__inner-container,.wp-block-cover .wp-block-cover__inner-container{width:100%;z-index:1;color:#fff}.wp-block-cover-image h1:not(.has-text-color),.wp-block-cover-image h2:not(.has-text-color),.wp-block-cover-image h3:not(.has-text-color),.wp-block-cover-image h4:not(.has-text-color),.wp-block-cover-image h5:not(.has-text-color),.wp-block-cover-image h6:not(.has-text-color),.wp-block-cover-image p:not(.has-text-color),.wp-block-cover h1:not(.has-text-color),.wp-block-cover h2:not(.has-text-color),.wp-block-cover h3:not(.has-text-color),.wp-block-cover h4:not(.has-text-color),.wp-block-cover h5:not(.has-text-color),.wp-block-cover h6:not(.has-text-color),.wp-block-cover p: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;width:auto}.wp-block-cover-image img.wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background,.wp-block-cover img.wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;-o-object-fit:cover;object-fit:cover;outline:none;border:none;box-shadow:none}.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-image .wp-block-cover-image-text,.wp-block-cover .wp-block-cover-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;z-index:1;margin-bottom:0;max-width:840px;padding:.44em;text-align:center}.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-width:320px;min-height:240px}.wp-block-embed{margin:0 0 1em}.wp-block-embed figcaption{margin-top:.5em;margin-bottom:1em}.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{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;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{margin-bottom:1.5em}.wp-block-file.aligncenter{text-align:center}.wp-block-file.alignright{text-align:right}.wp-block-file .wp-block-file__embed{margin-bottom:1em}.wp-block-file .wp-block-file__button{background:#32373c;border-radius:2em;color:#fff;font-size:.8em;padding:.5em 1em}.wp-block-file a.wp-block-file__button{text-decoration:none}.wp-block-file a.wp-block-file__button:active,.wp-block-file a.wp-block-file__button:focus,.wp-block-file a.wp-block-file__button:hover,.wp-block-file a.wp-block-file__button:visited{box-shadow:none;color:#fff;opacity:.85;text-decoration:none}.wp-block-file *+.wp-block-file__button{margin-left:.75em}.blocks-gallery-grid,.wp-block-gallery{display:flex;flex-wrap:wrap;list-style-type:none;padding:0;margin:0}.blocks-gallery-grid .blocks-gallery-image,.blocks-gallery-grid .blocks-gallery-item,.wp-block-gallery .blocks-gallery-image,.wp-block-gallery .blocks-gallery-item{margin:0 1em 1em 0;display:flex;flex-grow:1;flex-direction:column;justify-content:center;position:relative;align-self:flex-start;width:calc(50% - 1em)}.blocks-gallery-grid .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery .blocks-gallery-item:nth-of-type(2n){margin-right:0}.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{margin:0;height:100%}@supports (position:sticky){.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{display:flex;align-items:flex-end;justify-content:flex-start}}.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{display:block;max-width:100%;height:auto;width:100%}@supports (position:sticky){.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{width:auto}}.blocks-gallery-grid .blocks-gallery-image figcaption,.blocks-gallery-grid .blocks-gallery-item figcaption,.wp-block-gallery .blocks-gallery-image figcaption,.wp-block-gallery .blocks-gallery-item figcaption{position:absolute;bottom:0;width:100%;max-height:100%;overflow:auto;padding:3em .77em .7em;color:#fff;text-align:center;font-size:.8em;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);box-sizing:border-box;margin:0}.blocks-gallery-grid .blocks-gallery-image figcaption img,.blocks-gallery-grid .blocks-gallery-item figcaption img,.wp-block-gallery .blocks-gallery-image figcaption img,.wp-block-gallery .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid figcaption,.wp-block-gallery figcaption{flex-grow:1}.blocks-gallery-grid.is-cropped .blocks-gallery-image,.blocks-gallery-grid.is-cropped .blocks-gallery-item,.wp-block-gallery.is-cropped .blocks-gallery-image,.wp-block-gallery.is-cropped .blocks-gallery-item{align-self:inherit}.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{width:100%}@supports (position:sticky){.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{height:100%;flex:1;-o-object-fit:cover;object-fit:cover}}.blocks-gallery-grid.columns-1 .blocks-gallery-image,.blocks-gallery-grid.columns-1 .blocks-gallery-item,.wp-block-gallery.columns-1 .blocks-gallery-image,.wp-block-gallery.columns-1 .blocks-gallery-item{width:100%;margin-right:0}@media (min-width:600px){.blocks-gallery-grid.columns-3 .blocks-gallery-image,.blocks-gallery-grid.columns-3 .blocks-gallery-item,.wp-block-gallery.columns-3 .blocks-gallery-image,.wp-block-gallery.columns-3 .blocks-gallery-item{width:calc(33.33333% - .66667em);margin-right:1em}.blocks-gallery-grid.columns-4 .blocks-gallery-image,.blocks-gallery-grid.columns-4 .blocks-gallery-item,.wp-block-gallery.columns-4 .blocks-gallery-image,.wp-block-gallery.columns-4 .blocks-gallery-item{width:calc(25% - .75em);margin-right:1em}.blocks-gallery-grid.columns-5 .blocks-gallery-image,.blocks-gallery-grid.columns-5 .blocks-gallery-item,.wp-block-gallery.columns-5 .blocks-gallery-image,.wp-block-gallery.columns-5 .blocks-gallery-item{width:calc(20% - .8em);margin-right:1em}.blocks-gallery-grid.columns-6 .blocks-gallery-image,.blocks-gallery-grid.columns-6 .blocks-gallery-item,.wp-block-gallery.columns-6 .blocks-gallery-image,.wp-block-gallery.columns-6 .blocks-gallery-item{width:calc(16.66667% - .83333em);margin-right:1em}.blocks-gallery-grid.columns-7 .blocks-gallery-image,.blocks-gallery-grid.columns-7 .blocks-gallery-item,.wp-block-gallery.columns-7 .blocks-gallery-image,.wp-block-gallery.columns-7 .blocks-gallery-item{width:calc(14.28571% - .85714em);margin-right:1em}.blocks-gallery-grid.columns-8 .blocks-gallery-image,.blocks-gallery-grid.columns-8 .blocks-gallery-item,.wp-block-gallery.columns-8 .blocks-gallery-image,.wp-block-gallery.columns-8 .blocks-gallery-item{width:calc(12.5% - .875em);margin-right:1em}.blocks-gallery-grid.columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid.columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid.columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid.columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid.columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid.columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid.columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid.columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid.columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid.columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid.columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid.columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid.columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid.columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid.columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid.columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery.columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery.columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery.columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery.columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery.columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery.columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery.columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery.columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery.columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery.columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery.columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery.columns-8 .blocks-gallery-item:nth-of-type(8n){margin-right:0}}.blocks-gallery-grid .blocks-gallery-image:last-child,.blocks-gallery-grid .blocks-gallery-item:last-child,.wp-block-gallery .blocks-gallery-image:last-child,.wp-block-gallery .blocks-gallery-item:last-child{margin-right:0}.blocks-gallery-grid.alignleft,.blocks-gallery-grid.alignright,.wp-block-gallery.alignleft,.wp-block-gallery.alignright{max-width:420px;width:100%}.blocks-gallery-grid.aligncenter .blocks-gallery-item figure,.wp-block-gallery.aligncenter .blocks-gallery-item figure{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}.wp-block-image{margin:0 0 1em}.wp-block-image img{max-width:100%}.wp-block-image:not(.is-style-rounded) img{border-radius:inherit}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{width:100%}.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{display:table-caption;caption-side:bottom}.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-top:.5em;margin-bottom:1em}.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{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;border-radius:0}}.wp-block-image figure{margin:0}ol.wp-block-latest-comments{margin-left:0}.wp-block-latest-comments .wp-block-latest-comments{padding-left:0}.wp-block-latest-comments__comment{line-height:1.1;list-style:none;margin-bottom:1em}.has-avatars .wp-block-latest-comments__comment{min-height:2.25em;list-style:none}.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}.has-dates .wp-block-latest-comments__comment,.has-excerpts .wp-block-latest-comments__comment{line-height:1.5}.wp-block-latest-comments__comment-excerpt p{font-size:.875em;line-height:1.8;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-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;color:#555;font-size:.8125em}.wp-block-latest-posts__post-excerpt{margin-top:.5em;margin-bottom:1em}.wp-block-latest-posts__featured-image a{display:inline-block}.wp-block-latest-posts__featured-image img{height:auto;width:auto;max-width:100%}.wp-block-latest-posts__featured-image.alignleft{margin-right:1em}.wp-block-latest-posts__featured-image.alignright{margin-left:1em}.wp-block-latest-posts__featured-image.aligncenter{margin-bottom:1em;text-align:center}.block-editor-image-alignment-control__row .components-base-control__field{display:flex;justify-content:space-between;align-items:center}.block-editor-image-alignment-control__row .components-base-control__field .components-base-control__label{margin-bottom:0}ol.has-background,ul.has-background{padding:1.25em 2.375em}.wp-block-media-text{ +@charset "UTF-8";.wp-block-archives-dropdown label{display:block}.wp-block-audio{margin:0 0 1em}.wp-block-audio figcaption{margin-top:.5em;margin-bottom:1em}.wp-block-audio audio{width:100%;min-width:300px}.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;cursor:pointer;display:inline-block;font-size:1.125em;padding:calc(.667em + 2px) calc(1.333em + 2px);text-align:center;text-decoration:none;word-break:break-word;box-sizing:border-box}.wp-block-button__link:active,.wp-block-button__link:focus,.wp-block-button__link:hover,.wp-block-button__link:visited{color:#fff}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}.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)*0.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*0.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*0.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{width:100%;flex-basis: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}.is-style-outline>:where(.wp-block-button__link),:where(.wp-block-button__link).is-style-outline{border:2px solid;padding:.667em 1.333em}.is-style-outline>.wp-block-button__link:not(.has-text-color),.wp-block-button__link.is-style-outline:not(.has-text-color){color:currentColor}.is-style-outline>.wp-block-button__link:not(.has-background),.wp-block-button__link.is-style-outline:not(.has-background){background-color:initial}.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-button.aligncenter,.wp-block-calendar{text-align:center}.wp-block-calendar tbody td,.wp-block-calendar th{padding:.25em;border:1px solid #ddd}.wp-block-calendar tfoot td{border:none}.wp-block-calendar table{width:100%;border-collapse:collapse}.wp-block-calendar table th{font-weight:400;background:#ddd}.wp-block-calendar a{text-decoration:underline}.wp-block-calendar table caption,.wp-block-calendar table tbody{color:#40464d}.wp-block-categories.alignleft{margin-right:2em}.wp-block-categories.alignright{margin-left:2em}.wp-block-code code{display:block;white-space:pre-wrap;overflow-wrap:break-word}.wp-block-columns{display:flex;margin-bottom:1.75em;box-sizing:border-box;flex-wrap:wrap}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap}}.wp-block-columns:where(.has-background){padding:1.25em 2.375em}.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:599px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:600px) and (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:only-child){flex-basis:calc(50% - var(--wp--style--block-gap, 2em)/2)!important;flex-grow:0}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:nth-child(2n){margin-left:var(--wp--style--block-gap,2em)}}@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:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:first-child){margin-left:var(--wp--style--block-gap,2em)}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap}.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}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column:not(:first-child){margin-left:var(--wp--style--block-gap,2em)}.wp-block-column{flex-grow:1;min-width:0;word-break:break-word;overflow-wrap: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-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%}.wp-block-cover,.wp-block-cover-image{position:relative;background-size:cover;background-position:50%;min-height:430px;width:100%;display:flex;justify-content:center;align-items:center;padding:1em;box-sizing:border-box}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:fixed}@supports (-webkit-overflow-scrolling:touch){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated{background-repeat:repeat;background-size:auto}.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-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{content:"";background-color:inherit}.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim:not(.has-background-gradient):before,.wp-block-cover .wp-block-cover__gradient-background{position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;opacity:.5}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover .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{display:block;content:"";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-image .wp-block-cover__inner-container,.wp-block-cover .wp-block-cover__inner-container{width:100%;z-index:1;color:#fff}.wp-block-cover-image.is-light .wp-block-cover__inner-container,.wp-block-cover.is-light .wp-block-cover__inner-container{color:#000}.wp-block-cover-image h1:not(.has-text-color),.wp-block-cover-image h2:not(.has-text-color),.wp-block-cover-image h3:not(.has-text-color),.wp-block-cover-image h4:not(.has-text-color),.wp-block-cover-image h5:not(.has-text-color),.wp-block-cover-image h6:not(.has-text-color),.wp-block-cover-image p:not(.has-text-color),.wp-block-cover h1:not(.has-text-color),.wp-block-cover h2:not(.has-text-color),.wp-block-cover h3:not(.has-text-color),.wp-block-cover h4:not(.has-text-color),.wp-block-cover h5:not(.has-text-color),.wp-block-cover h6:not(.has-text-color),.wp-block-cover p: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;width:auto}.wp-block-cover-image img.wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background,.wp-block-cover img.wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;-o-object-fit:cover;object-fit:cover;outline:none;border:none;box-shadow:none}.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-image .wp-block-cover-image-text,.wp-block-cover .wp-block-cover-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;z-index:1;margin-bottom:0;max-width:840px;padding:.44em;text-align:center}.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-width:320px;min-height:240px}.wp-block-embed{margin:0 0 1em;overflow-wrap:break-word}.wp-block-embed figcaption{margin-top:.5em;margin-bottom:1em}.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{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;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{margin-bottom:1.5em}.wp-block-file.aligncenter{text-align:center}.wp-block-file.alignright{text-align:right}.wp-block-file .wp-block-file__embed{margin-bottom:1em}.wp-block-file .wp-block-file__button{background:#32373c;border-radius:2em;color:#fff;font-size:.8em;padding:.5em 1em}.wp-block-file a.wp-block-file__button{text-decoration:none}.wp-block-file a.wp-block-file__button:active,.wp-block-file a.wp-block-file__button:focus,.wp-block-file a.wp-block-file__button:hover,.wp-block-file a.wp-block-file__button:visited{box-shadow:none;color:#fff;opacity:.85;text-decoration:none}.wp-block-file *+.wp-block-file__button{margin-left:.75em}.blocks-gallery-grid,.wp-block-gallery{display:flex;flex-wrap:wrap;list-style-type:none;padding:0;margin:0}.blocks-gallery-grid .blocks-gallery-image,.blocks-gallery-grid .blocks-gallery-item,.wp-block-gallery .blocks-gallery-image,.wp-block-gallery .blocks-gallery-item{margin:0 1em 1em 0;display:flex;flex-grow:1;flex-direction:column;justify-content:center;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery .blocks-gallery-item:nth-of-type(2n){margin-right:0}.blocks-gallery-grid .blocks-gallery-image figure,.blocks-gallery-grid .blocks-gallery-item figure,.wp-block-gallery .blocks-gallery-image figure,.wp-block-gallery .blocks-gallery-item figure{margin:0;height:100%;display:flex;align-items:flex-end;justify-content:flex-start}.blocks-gallery-grid .blocks-gallery-image img,.blocks-gallery-grid .blocks-gallery-item img,.wp-block-gallery .blocks-gallery-image img,.wp-block-gallery .blocks-gallery-item img{display:block;max-width:100%;height:auto;width:auto}.blocks-gallery-grid .blocks-gallery-image figcaption,.blocks-gallery-grid .blocks-gallery-item figcaption,.wp-block-gallery .blocks-gallery-image figcaption,.wp-block-gallery .blocks-gallery-item figcaption{position:absolute;bottom:0;width:100%;max-height:100%;overflow:auto;padding:3em .77em .7em;color:#fff;text-align:center;font-size:.8em;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);box-sizing:border-box;margin:0;z-index:2}.blocks-gallery-grid .blocks-gallery-image figcaption img,.blocks-gallery-grid .blocks-gallery-item figcaption img,.wp-block-gallery .blocks-gallery-image figcaption img,.wp-block-gallery .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid figcaption,.wp-block-gallery figcaption{flex-grow:1}.blocks-gallery-grid.is-cropped .blocks-gallery-image a,.blocks-gallery-grid.is-cropped .blocks-gallery-image img,.blocks-gallery-grid.is-cropped .blocks-gallery-item a,.blocks-gallery-grid.is-cropped .blocks-gallery-item img,.wp-block-gallery.is-cropped .blocks-gallery-image a,.wp-block-gallery.is-cropped .blocks-gallery-image img,.wp-block-gallery.is-cropped .blocks-gallery-item a,.wp-block-gallery.is-cropped .blocks-gallery-item img{width:100%;height:100%;flex:1;-o-object-fit:cover;object-fit:cover}.blocks-gallery-grid.columns-1 .blocks-gallery-image,.blocks-gallery-grid.columns-1 .blocks-gallery-item,.wp-block-gallery.columns-1 .blocks-gallery-image,.wp-block-gallery.columns-1 .blocks-gallery-item{width:100%;margin-right:0}@media (min-width:600px){.blocks-gallery-grid.columns-3 .blocks-gallery-image,.blocks-gallery-grid.columns-3 .blocks-gallery-item,.wp-block-gallery.columns-3 .blocks-gallery-image,.wp-block-gallery.columns-3 .blocks-gallery-item{width:calc(33.33333% - .66667em);margin-right:1em}.blocks-gallery-grid.columns-4 .blocks-gallery-image,.blocks-gallery-grid.columns-4 .blocks-gallery-item,.wp-block-gallery.columns-4 .blocks-gallery-image,.wp-block-gallery.columns-4 .blocks-gallery-item{width:calc(25% - .75em);margin-right:1em}.blocks-gallery-grid.columns-5 .blocks-gallery-image,.blocks-gallery-grid.columns-5 .blocks-gallery-item,.wp-block-gallery.columns-5 .blocks-gallery-image,.wp-block-gallery.columns-5 .blocks-gallery-item{width:calc(20% - .8em);margin-right:1em}.blocks-gallery-grid.columns-6 .blocks-gallery-image,.blocks-gallery-grid.columns-6 .blocks-gallery-item,.wp-block-gallery.columns-6 .blocks-gallery-image,.wp-block-gallery.columns-6 .blocks-gallery-item{width:calc(16.66667% - .83333em);margin-right:1em}.blocks-gallery-grid.columns-7 .blocks-gallery-image,.blocks-gallery-grid.columns-7 .blocks-gallery-item,.wp-block-gallery.columns-7 .blocks-gallery-image,.wp-block-gallery.columns-7 .blocks-gallery-item{width:calc(14.28571% - .85714em);margin-right:1em}.blocks-gallery-grid.columns-8 .blocks-gallery-image,.blocks-gallery-grid.columns-8 .blocks-gallery-item,.wp-block-gallery.columns-8 .blocks-gallery-image,.wp-block-gallery.columns-8 .blocks-gallery-item{width:calc(12.5% - .875em);margin-right:1em}.blocks-gallery-grid.columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid.columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid.columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid.columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid.columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid.columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid.columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid.columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid.columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid.columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid.columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid.columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid.columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid.columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid.columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid.columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery.columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery.columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery.columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery.columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery.columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery.columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery.columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery.columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery.columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery.columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery.columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery.columns-8 .blocks-gallery-item:nth-of-type(8n){margin-right:0}}.blocks-gallery-grid .blocks-gallery-image:last-child,.blocks-gallery-grid .blocks-gallery-item:last-child,.wp-block-gallery .blocks-gallery-image:last-child,.wp-block-gallery .blocks-gallery-item:last-child{margin-right:0}.blocks-gallery-grid.alignleft,.blocks-gallery-grid.alignright,.wp-block-gallery.alignleft,.wp-block-gallery.alignright{max-width:420px;width:100%}.blocks-gallery-grid.aligncenter .blocks-gallery-item figure,.wp-block-gallery.aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}.wp-block-gallery.has-nested-images{display:flex;flex-wrap:wrap}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0 var(--gallery-block--gutter-size,16px) var(--gallery-block--gutter-size,16px) 0;width:calc(50% - var(--gallery-block--gutter-size, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):last-of-type:not(#individual-image),.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):nth-of-type(2n){margin-right:0}.wp-block-gallery.has-nested-images figure.wp-block-image{display:flex;flex-grow:1;justify-content:center;position:relative;margin-top:auto;margin-bottom:auto;flex-direction:column}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{margin:0;flex-direction:column;flex-grow:1}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%;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;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%;box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.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.is-style-rounded figcaption{flex:initial;background:none;color:inherit;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-grow:1;flex-basis:100%;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-top:0;margin-bottom:auto}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) img{margin-bottom:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) figcaption{bottom:var(--gallery-block--gutter-size,16px)}.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{width:100%;flex:1 0 0%;height:100%;-o-object-fit:cover;object-fit:cover}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){margin-right:0;width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px);width:calc(33.33333% - var(--gallery-block--gutter-size, 16px)*0.66667)}.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px);width:calc(25% - var(--gallery-block--gutter-size, 16px)*0.75)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px);width:calc(20% - var(--gallery-block--gutter-size, 16px)*0.8)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px);width:calc(16.66667% - var(--gallery-block--gutter-size, 16px)*0.83333)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px);width:calc(14.28571% - var(--gallery-block--gutter-size, 16px)*0.85714)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px);width:calc(12.5% - var(--gallery-block--gutter-size, 16px)*0.875)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image).is-dragging~figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px)}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image):nth-of-type(1n),.wp-block-gallery.has-nested-images.columns-2 figure.wp-block-image:not(#individual-image):nth-of-type(2n),.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image):nth-of-type(3n),.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image):nth-of-type(4n),.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image):nth-of-type(5n),.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image):nth-of-type(6n),.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image):nth-of-type(7n),.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image):nth-of-type(8n){margin-right:0}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){margin-right:var(--gallery-block--gutter-size,16px);width:calc(33.33% - var(--gallery-block--gutter-size, 16px)*0.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):nth-of-type(3n+3){margin-right:0}.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(--gallery-block--gutter-size, 16px)*0.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,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1.has-background,h2.has-background,h3.has-background,h4.has-background,h5.has-background,h6.has-background{padding:1.25em 2.375em}.wp-block-image{margin:0 0 1em}.wp-block-image img{height:auto;max-width:100%;vertical-align:bottom}.wp-block-image:not(.is-style-rounded) img{border-radius:inherit}.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{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption{display:table-caption;caption-side:bottom}.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-top:.5em;margin-bottom:1em}.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{-webkit-mask-image:url('data:image/svg+xml;utf8,');mask-image:url('data:image/svg+xml;utf8,');mask-mode:alpha;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;border-radius:0}}.wp-block-image figure{margin:0}ol.wp-block-latest-comments{margin-left:0}.wp-block-latest-comments .wp-block-latest-comments{padding-left:0}.wp-block-latest-comments__comment{line-height:1.1;list-style:none;margin-bottom:1em}.has-avatars .wp-block-latest-comments__comment{min-height:2.25em;list-style:none}.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}.has-dates .wp-block-latest-comments__comment,.has-excerpts .wp-block-latest-comments__comment{line-height:1.5}.wp-block-latest-comments__comment-excerpt p{font-size:.875em;line-height:1.8;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-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-top:.5em;margin-bottom:1em}.wp-block-latest-posts__featured-image a{display:inline-block}.wp-block-latest-posts__featured-image img{height:auto;width:auto;max-width:100%}.wp-block-latest-posts__featured-image.alignleft{margin-right:1em}.wp-block-latest-posts__featured-image.alignright{margin-left:1em}.wp-block-latest-posts__featured-image.aligncenter{margin-bottom:1em;text-align:center}.block-editor-image-alignment-control__row .components-base-control__field{display:flex;justify-content:space-between;align-items:center}.block-editor-image-alignment-control__row .components-base-control__field .components-base-control__label{margin-bottom:0}ol,ul{overflow-wrap:break-word}ol.has-background,ul.has-background{padding:1.25em 2.375em}.wp-block-media-text{ /*!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.is-vertically-aligned-center .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media,.wp-block-media-text .wp-block-media-text__content,.wp-block-media-text .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{max-width:unset;width:100%;vertical-align:middle}.wp-block-media-text.is-image-fill .wp-block-media-text__media{height:100%;min-height:250px;background-size:cover}.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{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@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{position:relative}.wp-block-navigation ul,.wp-block-navigation ul li{list-style:none;padding:0}.wp-block-navigation .wp-block-navigation-link,.wp-block-navigation .wp-block-pages-list__item{display:flex;align-items:center;position:relative}.wp-block-navigation .wp-block-navigation-link .wp-block-navigation-link__container:empty,.wp-block-navigation .wp-block-pages-list__item .wp-block-navigation-link__container:empty{display:none}.wp-block-navigation .wp-block-navigation-link__content,.wp-block-navigation .wp-block-pages-list__item__link{color:inherit;display:block}.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link,.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__container,.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__content,.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__content:active,.wp-block-navigation[style*=text-decoration] .wp-block-navigation-link__content:focus,.wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item,.wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item__link,.wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item__link:active,.wp-block-navigation[style*=text-decoration] .wp-block-pages-list__item__link:focus{text-decoration:inherit}.wp-block-navigation:not([style*=text-decoration]) .wp-block-navigation-link__content,.wp-block-navigation:not([style*=text-decoration]) .wp-block-navigation-link__content:active,.wp-block-navigation:not([style*=text-decoration]) .wp-block-navigation-link__content:focus,.wp-block-navigation:not([style*=text-decoration]) .wp-block-pages-list__item__link,.wp-block-navigation:not([style*=text-decoration]) .wp-block-pages-list__item__link:active,.wp-block-navigation:not([style*=text-decoration]) .wp-block-pages-list__item__link:focus{text-decoration:none}.wp-block-navigation .wp-block-navigation-link__submenu-icon,.wp-block-navigation .wp-block-page-list__submenu-icon{height:inherit}.wp-block-navigation .wp-block-navigation-link__submenu-icon svg,.wp-block-navigation .wp-block-page-list__submenu-icon svg{stroke:currentColor}.wp-block-navigation .wp-block-navigation-link .wp-block-navigation-link__content.wp-block-navigation-link__content.wp-block-navigation-link__content,.wp-block-navigation .wp-block-pages-list__item .wp-block-pages-list__item__link{padding:0}.wp-block-navigation .has-child>.wp-block-navigation-link__content,.wp-block-navigation .has-child>.wp-block-pages-list__item__link{margin-right:.5em}.wp-block-navigation .has-child .submenu-container,.wp-block-navigation .has-child .wp-block-navigation-link__container{background-color:inherit;color:inherit;position:absolute;z-index:2;flex-direction:column;align-items:normal;min-width:200px;display:none;opacity:0;transition:opacity .1s linear;visibility:hidden}.wp-block-navigation .has-child .submenu-container>.wp-block-navigation-link>.wp-block-navigation-link__content,.wp-block-navigation .has-child .submenu-container>.wp-block-navigation-link>.wp-block-pages-list__item__link,.wp-block-navigation .has-child .submenu-container>.wp-block-pages-list__item>.wp-block-navigation-link__content,.wp-block-navigation .has-child .submenu-container>.wp-block-pages-list__item>.wp-block-pages-list__item__link,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-navigation-link>.wp-block-navigation-link__content,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-navigation-link>.wp-block-pages-list__item__link,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-pages-list__item>.wp-block-navigation-link__content,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-pages-list__item>.wp-block-pages-list__item__link{flex-grow:1}.wp-block-navigation .has-child .submenu-container>.wp-block-navigation-link>.wp-block-navigation-link__submenu-icon,.wp-block-navigation .has-child .submenu-container>.wp-block-navigation-link>.wp-block-page-list__submenu-icon,.wp-block-navigation .has-child .submenu-container>.wp-block-pages-list__item>.wp-block-navigation-link__submenu-icon,.wp-block-navigation .has-child .submenu-container>.wp-block-pages-list__item>.wp-block-page-list__submenu-icon,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-navigation-link>.wp-block-navigation-link__submenu-icon,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-navigation-link>.wp-block-page-list__submenu-icon,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-pages-list__item>.wp-block-navigation-link__submenu-icon,.wp-block-navigation .has-child .wp-block-navigation-link__container>.wp-block-pages-list__item>.wp-block-page-list__submenu-icon{padding-right:.5em}@media (min-width:782px){.wp-block-navigation .has-child .submenu-container .submenu-container:before,.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__container:before,.wp-block-navigation .has-child .wp-block-navigation-link__container .submenu-container:before,.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container:before{content:"";position:absolute;right:100%;height:100%;display:block;width:.5em;background:transparent}.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__submenu-icon svg,.wp-block-navigation .has-child .submenu-container .wp-block-page-list__submenu-icon svg,.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__submenu-icon svg,.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-page-list__submenu-icon svg{transform:rotate(-90deg)}}.wp-block-navigation .has-child:hover>.wp-block-navigation-link__container{display:flex;visibility:visible;opacity:1}.wp-block-navigation .has-child:focus-within>.wp-block-navigation-link__container{display:flex;visibility:visible;opacity:1}.wp-block-navigation .has-child:hover{cursor:pointer}.wp-block-navigation .has-child:hover>.submenu-container{display:flex;visibility:visible;opacity:1}.wp-block-navigation .has-child:focus-within{cursor:pointer}.wp-block-navigation .has-child:focus-within>.submenu-container{display:flex;visibility:visible;opacity:1}.wp-block-navigation.wp-block-navigation.items-justified-right>.submenu-container .has-child .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-right>.submenu-container .has-child .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-right>.wp-block-navigation__container .has-child .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-right>.wp-block-navigation__container .has-child .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.submenu-container>.has-child:last-child .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.submenu-container>.has-child:last-child .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation-link__container{left:auto;right:0}.wp-block-navigation.wp-block-navigation.items-justified-right>.submenu-container .has-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-right>.submenu-container .has-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-right>.submenu-container .has-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-right>.submenu-container .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-right>.wp-block-navigation__container .has-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-right>.wp-block-navigation__container .has-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-right>.wp-block-navigation__container .has-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-right>.wp-block-navigation__container .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.submenu-container>.has-child:last-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.submenu-container>.has-child:last-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.submenu-container>.has-child:last-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.submenu-container>.has-child:last-child .wp-block-navigation-link__container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation-link__container .wp-block-navigation-link__container{left:auto;right:100%}.wp-block-navigation.wp-block-navigation .wp-block-navigation__container>.wp-block-navigation-link,.wp-block-navigation.wp-block-navigation .wp-block-page-list,.wp-block-navigation.wp-block-navigation .wp-block-page-list>.wp-block-pages-list__item{margin:0 2em 0 0}.wp-block-navigation.wp-block-navigation .wp-block-navigation__container>.wp-block-navigation-link:last-child,.wp-block-navigation.wp-block-navigation .wp-block-page-list:last-child,.wp-block-navigation.wp-block-navigation .wp-block-page-list>.wp-block-pages-list__item:last-child{margin-right:0}.wp-block-navigation.wp-block-navigation.has-background .wp-block-navigation__container>.wp-block-navigation-link,.wp-block-navigation.wp-block-navigation.has-background .wp-block-page-list,.wp-block-navigation.wp-block-navigation.has-background .wp-block-page-list>.wp-block-pages-list__item{margin:0 .5em 0 0}.wp-block-navigation.wp-block-navigation.has-background .wp-block-navigation__container .wp-block-navigation-link__content,.wp-block-navigation.wp-block-navigation.has-background .wp-block-page-list .wp-block-pages-list__item__link{padding:.5em 1em}.wp-block-navigation.wp-block-navigation .has-child .submenu-container,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container{left:-1em;top:100%}.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link,.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-pages-list__item,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-pages-list__item{margin:0}.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__content,.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-pages-list__item__link,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__content,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-pages-list__item__link{padding:.5em 1em}.wp-block-navigation.wp-block-navigation .has-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container{left:-1px}@media (min-width:782px){.wp-block-navigation.wp-block-navigation .has-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation .has-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container{left:100%;top:-1px}}.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container,.wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container{left:0;top:100%}.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container{left:0}@media (min-width:782px){.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .submenu-container,.wp-block-navigation.wp-block-navigation.has-background .has-child .submenu-container .wp-block-navigation-link__container,.wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .submenu-container,.wp-block-navigation.wp-block-navigation.has-background .has-child .wp-block-navigation-link__container .wp-block-navigation-link__container{left:100%;top:0}}.wp-block-navigation:not(.has-background) .submenu-container,.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-navigation-link__container{background-color:#fff;color:#000;border:1px solid rgba(0,0,0,.15)}.wp-block-navigation__container{align-items:center;list-style:none;margin:0;padding-left:0}.wp-block-navigation__container .is-responsive{display:none}@media (min-width:600px){.wp-block-navigation__container{display:flex;flex-wrap:wrap}.is-vertical .wp-block-navigation__container{display:block;flex-direction:column;align-items:flex-start}}.items-justified-center .wp-block-navigation__container{justify-content:center}.items-justified-right .wp-block-navigation__container{justify-content:flex-end}.items-justified-space-between .wp-block-navigation__container{justify-content:space-between}.is-vertical.items-justified-center>ul{align-items:center}.is-vertical.items-justified-right>ul{align-items:flex-end}.is-vertical.items-justified-right>ul .wp-block-navigation-link,.is-vertical.items-justified-right>ul .wp-block-pages-list__item{margin-right:0;justify-content:flex-end}.wp-block-navigation__responsive-container{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:1;align-items:flex-start;justify-content:flex-start}.wp-block-navigation__responsive-container.is-menu-open{display:flex;flex-direction:column;overflow:auto;z-index:100000;padding:24px;background-color:inherit}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{display:flex;flex-direction:column;margin-left:auto;margin-right:auto;align-items:flex-start;line-height:48px;padding:0}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container .wp-block-page-list{flex-direction:column}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link .wp-block-navigation-link__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item,.wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item .submenu-container{background:transparent!important}@media (min-width:600px){.wp-block-navigation__responsive-container:not(.is-menu-open){display:flex;flex-direction:row;position:relative;background-color:inherit}.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close{display:none}.wp-block-navigation__responsive-container.is-menu-open .submenu-container.submenu-container.submenu-container.submenu-container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link__container.wp-block-navigation-link__container.wp-block-navigation-link__container.wp-block-navigation-link__container{left:0}}.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{background-color:#fff;color:#000}.wp-block-navigation__responsive-container-close,.wp-block-navigation__responsive-container-open{vertical-align:middle;cursor:pointer;color:currentColor;background:transparent;border:none;margin:0;padding:0}.wp-block-navigation__responsive-container-close svg,.wp-block-navigation__responsive-container-open svg{fill:currentColor;pointer-events:none;display:block;width:24px;height:24px}.wp-block-navigation__responsive-container-open{display:flex}@media (min-width:600px){.wp-block-navigation__responsive-container-open{display:none}}.items-justified-left .wp-block-navigation__responsive-container-open{margin-left:0;margin-right:auto}.items-justified-center .wp-block-navigation__responsive-container-open{margin-left:auto;margin-right:auto}.items-justified-right .wp-block-navigation__responsive-container-open{margin-left:auto;margin-right:0}.wp-block-navigation__responsive-container-close{position:absolute;top:24px;right:24px;z-index:2}.wp-block-navigation__responsive-close{width:100%}.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{width:100%;height:100%}.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link__submenu-icon,.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list__submenu-icon{display:none}.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .has-child .submenu-container,.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .has-child .wp-block-navigation-link__container{position:relative;opacity:1;visibility:visible;padding:0 0 0 32px;border:none}.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link,.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item{flex-direction:column;align-items:flex-start}html.has-modal-open{overflow:hidden}.wp-block-navigation .wp-block-navigation-link__label{word-break:normal;overflow-wrap:break-word}.wp-block-navigation .wp-block-home-link__content{color:inherit;display:block;padding:.5em 1em}.wp-block-navigation[style*=text-decoration] .wp-block-home-link,.wp-block-navigation[style*=text-decoration] .wp-block-home-link__content,.wp-block-navigation[style*=text-decoration] .wp-block-home-link__content:active,.wp-block-navigation[style*=text-decoration] .wp-block-home-link__content:focus{text-decoration:inherit}.wp-block-navigation:not([style*=text-decoration]) .wp-block-home-link__content,.wp-block-navigation:not([style*=text-decoration]) .wp-block-home-link__content:active,.wp-block-navigation:not([style*=text-decoration]) .wp-block-home-link__content:focus{text-decoration:none}.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-home-link__container{background-color:#fff;color:#000;border:1px solid rgba(0,0,0,.15)}.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-home-link__container .wp-block-home-link__container{top:-1px}.wp-block-navigation .wp-block-page-list{display:flex;flex-wrap:wrap;background-color:inherit}.wp-block-navigation .wp-block-pages-list__item{background-color:inherit}.wp-block-navigation .wp-block-page-list__submenu-icon{display:none}.is-open .wp-block-navigation__container .wp-block-page-list,.is-vertical .wp-block-navigation__container .wp-block-page-list,.wp-block-navigation .show-submenu-icons .wp-block-page-list__submenu-icon{display:block}@media (min-width:480px){.is-open .wp-block-navigation__container .wp-block-page-list{display:flex}}.items-justified-space-between .wp-block-page-list{display:contents}.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;line-height:.68;font-weight:100;margin:.05em .1em 0 0;text-transform:uppercase;font-style:normal}p.has-drop-cap.has-background{overflow:hidden}p.has-background{padding:1.25em 2.375em}p.has-text-color a{color:inherit}.wp-block-post-author{display:flex;flex-wrap:wrap}.wp-block-post-author__byline{width:100%;margin-top:0;margin-bottom:0;font-size:.5em}.wp-block-post-author__avatar{margin-right:1em}.wp-block-post-author__bio{margin-bottom:.7em;font-size:.7em}.wp-block-post-author__content{flex-grow:1;flex-basis:0}.wp-block-post-author__name{font-weight:700;margin:0}.wp-block-post-comments .commentlist{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:.875em;line-height:1.8;margin:.36em 0 1.4em}.wp-block-post-comments .commentlist .children{list-style:none;margin:0;padding:0}.wp-block-post-comments .comment-author{line-height:1.5;margin-left:-3.25em}.wp-block-post-comments .comment-author .avatar{border-radius:1.5em;display:block;float:left;height:2.5em;margin-right:.75em;width:2.5em}.wp-block-post-comments .comment-author cite{font-style:normal}.wp-block-post-comments .comment-meta{line-height:1.5;margin-left:-3.25em}.wp-block-post-comments .comment-body .commentmetadata{font-size:.75em}.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}.wp-block-post-comments .comment-form-comment textarea{box-sizing:border-box;width:100%}.wp-block-post-comments .reply{font-size:.75em;margin-bottom:1.4em}.wp-block-post-comments input,.wp-block-post-comments textarea{border:1px solid #949494}.wp-block-post-comments-form input[type=submit]{border:none;box-shadow:none;cursor:pointer;display:inline-block;text-align:center;overflow-wrap:break-word}.wp-block-post-excerpt__more-link,.wp-block-post-title a{display:inline-block}.wp-block-preformatted{white-space:pre-wrap}.wp-block-preformatted.has-background{padding:1.25em 2.375em}.wp-block-pullquote{margin:0 0 1em;padding:3em 0;text-align:center}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{max-width:420px}.wp-block-pullquote.alignleft p,.wp-block-pullquote.alignright p{font-size:1.25em}.wp-block-pullquote p{font-size:1.75em;line-height:1.6}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}.wp-block-pullquote:not(.is-style-solid-color){background:none}.wp-block-pullquote.is-style-solid-color{border:none}.wp-block-pullquote.is-style-solid-color blockquote{margin-left:auto;margin-right:auto;text-align:left;max-width:60%}.wp-block-pullquote.is-style-solid-color blockquote p{margin-top:0;margin-bottom:0;font-size:2em}.wp-block-pullquote.is-style-solid-color blockquote cite{text-transform:none;font-style:normal}.wp-block-pullquote cite{color:inherit}.wp-block-post-template,.wp-block-query-loop{max-width:100%;list-style:none;padding:0}.wp-block-post-template li,.wp-block-query-loop li{clear:both}.wp-block-post-template.is-flex-container,.wp-block-query-loop.is-flex-container{flex-direction:row;display:flex;flex-wrap:wrap}.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin:0 0 1.25em;width:100%}@media (min-width:600px){.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin-right:1.25em}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li{width:calc(50% - .625em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li:nth-child(2n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li:nth-child(2n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li,.wp-block-query-loop.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-3>li:nth-child(3n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-3>li:nth-child(3n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li{width:calc(25% - .9375em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li:nth-child(4n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li:nth-child(4n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li{width:calc(20% - 1em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li:nth-child(5n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li:nth-child(5n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li{width:calc(16.66667% - 1.04167em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li:nth-child(6n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li:nth-child(6n){margin-right:0}}.wp-block-query-pagination{display:flex;flex-direction:row;flex-wrap:wrap}.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{display:inline-block;margin-right:.5em;margin-bottom:.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-quote.is-large,.wp-block-quote.is-style-large{margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large p,.wp-block-quote.is-style-large p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large cite,.wp-block-quote.is-large footer,.wp-block-quote.is-style-large cite,.wp-block-quote.is-style-large footer{font-size:1.125em;text-align:right}.wp-block-rss.wp-block-rss{box-sizing:border-box}.wp-block-rss.alignleft{margin-right:2em}.wp-block-rss.alignright{margin-left:2em}.wp-block-rss.is-grid{display:flex;flex-wrap:wrap;padding:0;list-style:none}.wp-block-rss.is-grid li{margin:0 1em 1em 0;width:100%}@media (min-width:600px){.wp-block-rss.columns-2 li{width:calc(50% - 1em)}.wp-block-rss.columns-3 li{width:calc(33.33333% - 1em)}.wp-block-rss.columns-4 li{width:calc(25% - 1em)}.wp-block-rss.columns-5 li{width:calc(20% - 1em)}.wp-block-rss.columns-6 li{width:calc(16.66667% - 1em)}}.wp-block-rss__item-author,.wp-block-rss__item-publish-date{display:block;color:#555;font-size:.8125em}.wp-block-search .wp-block-search__button{background:#f7f7f7;border:1px solid #ccc;padding:.375em .625em;color:#32373c;margin-left:.625em;word-break:normal}.wp-block-search .wp-block-search__button.has-icon{line-height:0}.wp-block-search .wp-block-search__button svg{min-width:1.5em;min-height:1.5em}.wp-block-search .wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search .wp-block-search__label{width:100%}.wp-block-search .wp-block-search__input{flex-grow:1;min-width:3em;border:1px solid #949494}.wp-block-search.wp-block-search__button-only .wp-block-search__button{margin-left:0}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper{padding:4px;border:1px solid #949494}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input{border-radius:0;border:none;padding:0 0 0 .25em}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus{outline:none}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button{padding:.125em .5em}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block-separator{border-top:1px solid;border-bottom:1px solid}.wp-block-separator.is-style-wide{border-bottom-width:1px}.wp-block-separator.is-style-dots{background:none!important;border:none;text-align:center;width:none;line-height:1;height:auto}.wp-block-separator.is-style-dots:before{content:"···";color:currentColor;font-size:1.5em;letter-spacing:2em;padding-left:2em;font-family:serif}.wp-block-site-logo{line-height:0}.wp-block-site-logo a{display:inline-block}.wp-block-site-logo.is-default-size img{width:120px;height:auto}.wp-block-site-logo .aligncenter{display:table}.wp-block-site-logo.is-style-rounded img{border-radius:9999px}.wp-block-social-links{display:flex;flex-wrap:wrap;padding-left:0;padding-right:0;text-indent:0;margin-left:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{text-decoration:none;border-bottom:0;box-shadow:none}.wp-block-social-links .wp-social-link.wp-social-link.wp-social-link{margin:4px 8px 4px 0}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{width:1em;height:1em}.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{justify-content:center;display:flex}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{display:block;border-radius:9999px;transition:transform .1s ease;height:auto}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-duration:0s;transition-delay:0s}}.wp-block-social-link a{display:block;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: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-block-social-link-anchor svg{color:currentColor;fill: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:#fe4500;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{background-color:#fefc00;color:#fff;stroke:#000}.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-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-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;padding:4px}.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:#fe4500}.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{color:#fff;stroke:#000}.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-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-wordpress{color:#3499cd}.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-spacer{clear:both}.wp-block-tag-cloud.aligncenter{text-align:center}.wp-block-tag-cloud.alignfull{padding-left:1em;padding-right:1em}.wp-block-table{margin:0 0 1em;overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.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{border-spacing:0;border-collapse:inherit;background-color:initial;border-bottom:1px solid #f0f0f0}.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>*,.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr{border-color:inherit}.wp-block-table table[style*=border-style]>*,.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr{border-style:inherit}.wp-block-table table[style*=border-width]>*,.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr{border-width:inherit}.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{font-family:inherit;overflow:auto;white-space:pre-wrap}.wp-block-video{margin:0 0 1em}.wp-block-video video{width:100%}@supports (position:sticky){.wp-block-video [poster]{-o-object-fit:cover;object-fit:cover}}.wp-block-video.aligncenter{text-align:center}.wp-block-video figcaption{margin-top:.5em;margin-bottom:1em}.wp-block-post-featured-image{margin-left:0;margin-right:0}.wp-block-post-featured-image a{display:inline-block}.wp-block-post-featured-image img{max-width:100%;height:auto}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%}:root .has-pale-pink-background-color{background-color:#f78da7}:root .has-vivid-red-background-color{background-color:#cf2e2e}:root .has-luminous-vivid-orange-background-color{background-color:#ff6900}:root .has-luminous-vivid-amber-background-color{background-color:#fcb900}:root .has-light-green-cyan-background-color{background-color:#7bdcb5}:root .has-vivid-green-cyan-background-color{background-color:#00d084}:root .has-pale-cyan-blue-background-color{background-color:#8ed1fc}:root .has-vivid-cyan-blue-background-color{background-color:#0693e3}:root .has-vivid-purple-background-color{background-color:#9b51e0}:root .has-white-background-color{background-color:#fff}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-cyan-bluish-gray-background-color{background-color:#abb8c3}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-black-background-color{background-color:#000}:root .has-pale-pink-color{color:#f78da7}:root .has-vivid-red-color{color:#cf2e2e}:root .has-luminous-vivid-orange-color{color:#ff6900}:root .has-luminous-vivid-amber-color{color:#fcb900}:root .has-light-green-cyan-color{color:#7bdcb5}:root .has-vivid-green-cyan-color{color:#00d084}:root .has-pale-cyan-blue-color{color:#8ed1fc}:root .has-vivid-cyan-blue-color{color:#0693e3}:root .has-vivid-purple-color{color:#9b51e0}:root .has-white-color{color:#fff}:root .has-very-light-gray-color{color:#eee}:root .has-cyan-bluish-gray-color{color:#abb8c3}:root .has-very-dark-gray-color{color:#313131}:root .has-black-color{color:#000}:root .has-vivid-cyan-blue-to-vivid-purple-gradient-background{background:linear-gradient(135deg,#0693e3,#9b51e0)}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-light-green-cyan-to-vivid-green-cyan-gradient-background{background:linear-gradient(135deg,#7adcb4,#00d082)}:root .has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background:linear-gradient(135deg,#fcb900,#ff6900)}:root .has-luminous-vivid-orange-to-vivid-red-gradient-background{background:linear-gradient(135deg,#ff6900,#cf2e2e)}:root .has-very-light-gray-to-cyan-bluish-gray-gradient-background{background:linear-gradient(135deg,#eee,#a9b8c3)}:root .has-cool-to-warm-spectrum-gradient-background{background:linear-gradient(135deg,#4aeadc,#9778d1 20%,#cf2aba 40%,#ee2c82 60%,#fb6962 80%,#fef84c)}:root .has-blush-light-purple-gradient-background{background:linear-gradient(135deg,#ffceec,#9896f0)}:root .has-blush-bordeaux-gradient-background{background:linear-gradient(135deg,#fecda5,#fe2d2d 50%,#6b003e)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-luminous-dusk-gradient-background{background:linear-gradient(135deg,#ffcb70,#c751c0 50%,#4158d0)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-pale-ocean-gradient-background{background:linear-gradient(135deg,#fff5cb,#b6e3d4 50%,#33a7b5)}:root .has-electric-grass-gradient-background{background:linear-gradient(135deg,#caf880,#71ce7e)}: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-small-font-size{font-size:.8125em}.has-normal-font-size,.has-regular-font-size{font-size:1em}.has-medium-font-size{font-size:1.25em}.has-large-font-size{font-size:2.25em}.has-huge-font-size,.has-larger-font-size{font-size:2.625em}.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{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip:auto!important;-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} \ 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;width:100%;vertical-align:middle}.wp-block-media-text.is-image-fill .wp-block-media-text__media{height:100%;min-height:250px;background-size:cover}.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{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@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{position:relative}.wp-block-navigation ul{margin-top:0;margin-bottom:0;margin-left: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{display:flex;align-items:center;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{color:inherit;display:block;padding:0}.wp-block-navigation[style*=text-decoration] .wp-block-navigation-item,.wp-block-navigation[style*=text-decoration] .wp-block-navigation__submenu-container,.wp-block-navigation[style*=text-decoration] a,.wp-block-navigation[style*=text-decoration] a:active,.wp-block-navigation[style*=text-decoration] a:focus{text-decoration:inherit}.wp-block-navigation:not([style*=text-decoration]) a,.wp-block-navigation:not([style*=text-decoration]) a:active,.wp-block-navigation:not([style*=text-decoration]) a:focus{text-decoration:none}.wp-block-navigation .wp-block-navigation__submenu-icon{align-self:center;height:inherit;line-height:0;margin-left:6px;padding:0;background-color:inherit;color:currentColor;border:none}.wp-block-navigation .wp-block-navigation__submenu-icon svg{display:inline-block;stroke:currentColor}.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container){background-color:inherit;color:inherit;position:absolute;z-index:2;display:flex;flex-direction:column;align-items:normal;opacity:0;transition:opacity .1s linear;visibility:hidden;width:0;height:0;left:-1px;top:100%}.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container)>.wp-block-navigation-item>.wp-block-navigation-item__content{display:flex;flex-grow:1;white-space:nowrap}.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container)>.wp-block-navigation-item>.wp-block-navigation-item__content .wp-block-navigation__submenu-icon{margin-right:0;margin-left:auto}.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content{margin:0}@media (min-width:782px){.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-container{left:100%;top:-1px}.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-container:before{content:"";position:absolute;right:100%;height:100%;display:block;width:.5em;background:transparent}.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-icon svg{transform:rotate(-90deg)}}.wp-block-navigation .has-child:where(:not(.open-on-click)):hover>.wp-block-navigation__submenu-container{visibility:visible;opacity:1;width:auto;height:auto;min-width:200px}.wp-block-navigation .has-child:where(:not(.open-on-click):not(.open-on-hover-click)):focus-within>.wp-block-navigation__submenu-container{visibility:visible;opacity:1;width:auto;height:auto;min-width:200px}.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]+.wp-block-navigation__submenu-container{visibility:visible;opacity:1;width:auto;height:auto;min-width:200px}.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,.wp-block-navigation .wp-block-page-list,.wp-block-navigation__container,.wp-block-navigation__responsive-container-content{gap:var(--wp--style--block-gap,2em)}.wp-block-navigation:where(.has-background),.wp-block-navigation:where(.has-background) .wp-block-navigation .wp-block-page-list,.wp-block-navigation:where(.has-background) .wp-block-navigation__container{gap:var(--wp--style--block-gap,.5em)}.wp-block-navigation:where(.has-background) .wp-block-navigation-item__content,.wp-block-navigation :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content{padding:.5em 1em}@media (min-width:782px){.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:auto;right:100%}}.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container{background-color:#fff;color:#000;border:1px solid rgba(0,0,0,.15)}.wp-block-navigation__container{list-style:none;margin:0;padding-left:0}.wp-block-navigation__container .is-responsive{display:none}.wp-block-navigation__responsive-container{display:none;position:fixed;top:0;left:0;right:0;bottom:0}.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content{display:contents}.wp-block-navigation__responsive-container.is-menu-open{display:flex;flex-direction:column;overflow:auto;z-index:100000;padding:72px 24px 24px;background-color:inherit;align-items:inherit}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{display:flex;flex-direction:column;align-items:var(--justification-setting,inherit);overflow:auto;padding:0}.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 .submenu-container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container{opacity:1;visibility:visible;height:auto;width:auto;overflow:initial;min-width:200px;position:static;border:none;padding-left:32px;padding-right:32px}.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:var(--wp--style--block-gap,2em)}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation__submenu-container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .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{display:flex;flex-direction:column;align-items:var(--justification-setting,inherit)}.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{color:inherit!important;background:transparent!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{right:auto;left:auto}@media (min-width:600px){.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:contents;width:100%;position:relative;z-index:2;background-color:inherit}.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;color:#000}.wp-block-navigation__responsive-container-close,.wp-block-navigation__responsive-container-open{vertical-align:middle;cursor:pointer;color:currentColor;background:transparent;border:none;margin:0;padding:0}.wp-block-navigation__responsive-container-close svg,.wp-block-navigation__responsive-container-open svg{fill:currentColor;pointer-events:none;display:block;width:24px;height:24px}.wp-block-navigation__responsive-container-open{display:flex}@media (min-width:600px){.wp-block-navigation__responsive-container-open:not(.always-shown){display:none}}.wp-block-navigation__responsive-container-close{position:absolute;top:24px;right:24px;z-index:2}.wp-block-navigation__responsive-close{width:100%}.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{width:100%;height:100%}html.has-modal-open{overflow:hidden}.wp-block-navigation__container,.wp-block-navigation__responsive-close,.wp-block-navigation__responsive-dialog{display:contents}.is-menu-open .wp-block-navigation__container,.is-menu-open .wp-block-navigation__responsive-close,.is-menu-open .wp-block-navigation__responsive-dialog{align-items:inherit}.wp-block-navigation .wp-block-navigation-item__label{word-break:normal;overflow-wrap:break-word}.wp-block-navigation-submenu{position:relative;display:flex}.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg{stroke:currentColor}button.wp-block-navigation-item__content{background-color:initial;border:none;color:currentColor;font-size:inherit;font-family:inherit}.wp-block-navigation-submenu__toggle{cursor:pointer}.wp-block-navigation .wp-block-home-link__content{color:inherit;display:block}.wp-block-navigation[style*=text-decoration] .wp-block-home-link,.wp-block-navigation[style*=text-decoration] .wp-block-home-link__content,.wp-block-navigation[style*=text-decoration] .wp-block-home-link__content:active,.wp-block-navigation[style*=text-decoration] .wp-block-home-link__content:focus{text-decoration:inherit}.wp-block-navigation:not([style*=text-decoration]) .wp-block-home-link__content,.wp-block-navigation:not([style*=text-decoration]) .wp-block-home-link__content:active,.wp-block-navigation:not([style*=text-decoration]) .wp-block-home-link__content:focus{text-decoration:none}.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-home-link__container{background-color:#fff;color:#000;border:1px solid rgba(0,0,0,.15)}.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-home-link__container .wp-block-home-link__container{top:-1px}.wp-block-navigation .wp-block-page-list{display:contents;flex-wrap:wrap;background-color:inherit}.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;line-height:.68;font-weight:100;margin:.05em .1em 0 0;text-transform:uppercase;font-style:normal}p{overflow-wrap:break-word}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}.wp-block-post-author{display:flex;flex-wrap:wrap}.wp-block-post-author__byline{width:100%;margin-top:0;margin-bottom:0;font-size:.5em}.wp-block-post-author__avatar{margin-right:1em}.wp-block-post-author__bio{margin-bottom:.7em;font-size:.7em}.wp-block-post-author__content{flex-grow:1;flex-basis:0}.wp-block-post-author__name{margin:0}.wp-block-post-comments>h3:first-of-type{margin-top:0}.wp-block-post-comments .commentlist{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:.875em;line-height:1.8;margin:.36em 0 1.4em}.wp-block-post-comments .commentlist .children{list-style:none;margin:0;padding:0}.wp-block-post-comments .comment-author{line-height:1.5;margin-left:-3.25em}.wp-block-post-comments .comment-author .avatar{border-radius:1.5em;display:block;float:left;height:2.5em;margin-right:.75em;width:2.5em}.wp-block-post-comments .comment-author cite{font-style:normal}.wp-block-post-comments .comment-meta{line-height:1.5;margin-left:-3.25em}.wp-block-post-comments .comment-body .commentmetadata{font-size:.75em}.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-comment textarea{box-sizing:border-box;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 .reply{font-size:.75em;margin-bottom:1.4em}.wp-block-post-comments input:not([type=submit]),.wp-block-post-comments textarea{border:1px solid #949494;font-size:1em;font-family:inherit}.wp-block-post-comments input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments textarea{padding:calc(.667em + 2px)}.wp-block-post-comments input[type=submit]{border:none}.wp-block-post-comments-form input[type=submit]{border:none;box-shadow:none;cursor:pointer;display:inline-block;text-align:center;overflow-wrap:break-word}.wp-block-post-comments-form input:not([type=submit]),.wp-block-post-comments-form textarea{border:1px solid #949494;font-size:1em;font-family:inherit}.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-comment textarea{display:block;box-sizing:border-box;width:100%}.wp-block-post-comments-form .comment-form-author label,.wp-block-post-comments-form .comment-form-comment 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-excerpt__more-link{display:inline-block}.wp-block-post-terms__separator{white-space:pre-wrap}.wp-block-post-title a{display:inline-block}.wp-block-preformatted{white-space:pre-wrap}.wp-block-preformatted.has-background{padding:1.25em 2.375em}.wp-block-pullquote{margin:0 0 1em;padding:3em 0;text-align:center;overflow-wrap:break-word}.wp-block-pullquote blockquote,.wp-block-pullquote cite,.wp-block-pullquote p{color:inherit}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright,.wp-block-pullquote.has-text-align-left,.wp-block-pullquote.has-text-align-right{max-width:420px}.wp-block-pullquote.alignleft p,.wp-block-pullquote.alignright p,.wp-block-pullquote.has-text-align-left p,.wp-block-pullquote.has-text-align-right p{font-size:1.25em}.wp-block-pullquote p{font-size:1.75em;line-height:1.6}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}.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:not(.is-style-solid-color){background:none}.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{margin-top:0;margin-bottom:0;font-size:2em}.wp-block-pullquote.is-style-solid-color blockquote cite{text-transform:none;font-style:normal}.wp-block-pullquote cite{color:inherit}.wp-block-post-content+*{clear:both}.wp-block-post-template,.wp-block-query-loop{margin-top:0;margin-bottom:0;max-width:100%;list-style:none;padding:0}.wp-block-post-template li,.wp-block-query-loop li{clear:both}.wp-block-post-template.is-flex-container,.wp-block-query-loop.is-flex-container{flex-direction:row;display:flex;flex-wrap:wrap}.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin:0 0 1.25em;width:100%}@media (min-width:600px){.wp-block-post-template.is-flex-container li,.wp-block-query-loop.is-flex-container li{margin-right:1.25em}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li{width:calc(50% - .625em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li:nth-child(2n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li:nth-child(2n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li,.wp-block-query-loop.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-3>li:nth-child(3n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-3>li:nth-child(3n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li{width:calc(25% - .9375em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li:nth-child(4n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li:nth-child(4n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li{width:calc(20% - 1em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li:nth-child(5n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-5>li:nth-child(5n){margin-right:0}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li,.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li{width:calc(16.66667% - 1.04167em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li:nth-child(6n),.wp-block-query-loop.is-flex-container.is-flex-container.columns-6>li:nth-child(6n){margin-right: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-right:.5em;margin-bottom:.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 .wp-block-query-pagination-previous-arrow{margin-right:1ch;display:inline-block}.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{margin-left:1ch;display:inline-block}.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-quote{overflow-wrap:break-word}.wp-block-quote.is-large,.wp-block-quote.is-style-large{margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large p,.wp-block-quote.is-style-large p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large cite,.wp-block-quote.is-large footer,.wp-block-quote.is-style-large cite,.wp-block-quote.is-style-large footer{font-size:1.125em;text-align:right}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;padding:0;list-style:none}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{background:#f7f7f7;border:1px solid #ccc;padding:.375em .625em;color:#32373c;margin-left:.625em;word-break:normal;font-size:inherit;font-family:inherit;line-height:inherit}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{min-width:1.5em;min-height:1.5em;fill:currentColor}.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{padding:8px;flex-grow:1;min-width:3em;border:1px solid #949494;font-size:inherit;font-family:inherit;line-height:inherit}.wp-block-search.wp-block-search__button-only .wp-block-search__button{margin-left:0}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper{padding:4px;border:1px solid #949494}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input{border-radius:0;border:none;padding:0 0 0 .25em}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus{outline:none}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button{padding:.125em .5em}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block-separator{border-top:1px solid;border-bottom:1px solid}.wp-block-separator.is-style-wide{border-bottom-width:1px}.wp-block-separator.is-style-dots{background:none!important;border:none;text-align:center;line-height:1;height:auto}.wp-block-separator.is-style-dots:before{content:"···";color:currentColor;font-size:1.5em;letter-spacing:2em;padding-left:2em;font-family:serif}.wp-block-site-logo{line-height:0}.wp-block-site-logo a{display:inline-block}.wp-block-site-logo.is-default-size img{width:120px;height:auto}.wp-block-site-logo a,.wp-block-site-logo img{border-radius:inherit}.wp-block-site-logo.aligncenter{display:table}.wp-block-site-logo.is-style-rounded{border-radius:9999px}.wp-block-social-links{padding-left:0;padding-right:0;text-indent:0;margin-left:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{text-decoration:none;border-bottom:0;box-shadow:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{width:1em;height:1em}.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{justify-content:center;display:flex}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{display:block;border-radius:9999px;transition:transform .1s ease;height:auto}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-duration:0s;transition-delay:0s}}.wp-block-social-link a{display:block;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: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-block-social-link-anchor svg{color:currentColor;fill: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:#fe4500;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{background-color:#fefc00;color:#fff;stroke:#000}.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-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-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{width:1.25em;height: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:#fe4500}.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{color:#fff;stroke:#000}.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-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-wordpress{color:#3499cd}.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-spacer{clear:both}.wp-block-tag-cloud.aligncenter{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-table{margin:0 0 1em;overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.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{border-spacing:0;border-collapse:inherit;background-color:initial;border-bottom:1px solid #f0f0f0}.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>*,.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr{border-color:inherit}.wp-block-table table[style*=border-style]>*,.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr{border-style:inherit}.wp-block-table table[style*=border-width]>*,.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr{border-width:inherit}.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{font-family:inherit;overflow:auto;white-space:pre-wrap}.wp-block-video{margin:0 0 1em}.wp-block-video video{width:100%}@supports (position:sticky){.wp-block-video [poster]{-o-object-fit:cover;object-fit:cover}}.wp-block-video.aligncenter{text-align:center}.wp-block-video figcaption{margin-top:.5em;margin-bottom:1em}.wp-block-post-featured-image{margin-left:0;margin-right:0}.wp-block-post-featured-image a{display:inline-block}.wp-block-post-featured-image img{max-width:100%;width:100%;height:auto;vertical-align:bottom}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%}: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-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{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip:auto!important;-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} \ No newline at end of file diff --git a/wp-includes/css/dist/block-library/theme-rtl.css b/wp-includes/css/dist/block-library/theme-rtl.css index 3a3277ba2e..9852c1faeb 100644 --- a/wp-includes/css/dist/block-library/theme-rtl.css +++ b/wp-includes/css/dist/block-library/theme-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,10 +74,6 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -#start-resizable-editor-section { - display: none; -} - .wp-block-audio figcaption { color: #555; font-size: 13px; @@ -152,7 +154,7 @@ border: none; padding-right: 0; } -.wp-block-quote.is-style-large, .wp-block-quote.is-large { +.wp-block-quote.is-style-plain, .wp-block-quote.is-style-large, .wp-block-quote.is-large { border: none; } @@ -160,10 +162,8 @@ font-weight: bold; } -.wp-block-group.has-background { +.wp-block-group:where(.has-background) { padding: 1.25em 2.375em; - margin-top: 0; - margin-bottom: 0; } .wp-block-separator { @@ -218,8 +218,4 @@ padding: 1.25em 2.375em; margin-top: 0; margin-bottom: 0; -} - -#end-resizable-editor-section { - display: none; } \ No newline at end of file diff --git a/wp-includes/css/dist/block-library/theme-rtl.min.css b/wp-includes/css/dist/block-library/theme-rtl.min.css index ab41eea513..6b87320bf4 100644 --- a/wp-includes/css/dist/block-library/theme-rtl.min.css +++ b/wp-includes/css/dist/block-library/theme-rtl.min.css @@ -1 +1 @@ -#start-resizable-editor-section{display:none}.wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:hsla(0,0%,100%,.65)}.wp-block-code{font-family:Menlo,Consolas,monaco,monospace;color:#1e1e1e;padding:.8em 1em;border:1px solid #ddd;border-radius:4px}.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:hsla(0,0%,100%,.65)}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:hsla(0,0%,100%,.65)}.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:hsla(0,0%,100%,.65)}.wp-block-pullquote{border-top:4px solid;border-bottom:4px solid;margin-bottom:1.75em;color:currentColor}.wp-block-pullquote__citation,.wp-block-pullquote cite,.wp-block-pullquote footer{color:currentColor;text-transform:uppercase;font-size:.8125em;font-style:normal}.wp-block-quote{border-right:.25em solid;margin:0 0 1.75em;padding-right:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;position:relative;font-style:normal}.wp-block-quote.has-text-align-right{border-right:none;border-left:.25em solid;padding-right:0;padding-left:1em}.wp-block-quote.has-text-align-center{border:none;padding-right:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large{border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-group.has-background{padding:1.25em 2.375em;margin-top:0;margin-bottom:0}.wp-block-separator{border:none;border-bottom:2px solid;margin-right:auto;margin-left:auto;opacity:.4}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{padding:.5em;border:1px solid;word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)}.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:hsla(0,0%,100%,.65)}.wp-block-template-part.has-background{padding:1.25em 2.375em;margin-top:0;margin-bottom:0}#end-resizable-editor-section{display:none} \ No newline at end of file +.wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:hsla(0,0%,100%,.65)}.wp-block-code{font-family:Menlo,Consolas,monaco,monospace;color:#1e1e1e;padding:.8em 1em;border:1px solid #ddd;border-radius:4px}.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:hsla(0,0%,100%,.65)}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:hsla(0,0%,100%,.65)}.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:hsla(0,0%,100%,.65)}.wp-block-pullquote{border-top:4px solid;border-bottom:4px solid;margin-bottom:1.75em;color:currentColor}.wp-block-pullquote__citation,.wp-block-pullquote cite,.wp-block-pullquote footer{color:currentColor;text-transform:uppercase;font-size:.8125em;font-style:normal}.wp-block-quote{border-right:.25em solid;margin:0 0 1.75em;padding-right:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;position:relative;font-style:normal}.wp-block-quote.has-text-align-right{border-right:none;border-left:.25em solid;padding-right:0;padding-left:1em}.wp-block-quote.has-text-align-center{border:none;padding-right:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote.is-style-plain{border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-group:where(.has-background){padding:1.25em 2.375em}.wp-block-separator{border:none;border-bottom:2px solid;margin-right:auto;margin-left:auto;opacity:.4}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{padding:.5em;border:1px solid;word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)}.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:hsla(0,0%,100%,.65)}.wp-block-template-part.has-background{padding:1.25em 2.375em;margin-top:0;margin-bottom:0} \ No newline at end of file diff --git a/wp-includes/css/dist/block-library/theme.css b/wp-includes/css/dist/block-library/theme.css index 7c6dd4f540..8fd02fc861 100644 --- a/wp-includes/css/dist/block-library/theme.css +++ b/wp-includes/css/dist/block-library/theme.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -68,10 +74,6 @@ /** * Reset the WP Admin page styles for Gutenberg-like pages. */ -#start-resizable-editor-section { - display: none; -} - .wp-block-audio figcaption { color: #555; font-size: 13px; @@ -152,7 +154,7 @@ border: none; padding-left: 0; } -.wp-block-quote.is-style-large, .wp-block-quote.is-large { +.wp-block-quote.is-style-plain, .wp-block-quote.is-style-large, .wp-block-quote.is-large { border: none; } @@ -160,10 +162,8 @@ font-weight: bold; } -.wp-block-group.has-background { +.wp-block-group:where(.has-background) { padding: 1.25em 2.375em; - margin-top: 0; - margin-bottom: 0; } .wp-block-separator { @@ -218,8 +218,4 @@ padding: 1.25em 2.375em; margin-top: 0; margin-bottom: 0; -} - -#end-resizable-editor-section { - display: none; } \ No newline at end of file diff --git a/wp-includes/css/dist/block-library/theme.min.css b/wp-includes/css/dist/block-library/theme.min.css index 144ca19128..c79950f033 100644 --- a/wp-includes/css/dist/block-library/theme.min.css +++ b/wp-includes/css/dist/block-library/theme.min.css @@ -1 +1 @@ -#start-resizable-editor-section{display:none}.wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:hsla(0,0%,100%,.65)}.wp-block-code{font-family:Menlo,Consolas,monaco,monospace;color:#1e1e1e;padding:.8em 1em;border:1px solid #ddd;border-radius:4px}.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:hsla(0,0%,100%,.65)}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:hsla(0,0%,100%,.65)}.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:hsla(0,0%,100%,.65)}.wp-block-pullquote{border-top:4px solid;border-bottom:4px solid;margin-bottom:1.75em;color:currentColor}.wp-block-pullquote__citation,.wp-block-pullquote cite,.wp-block-pullquote footer{color:currentColor;text-transform:uppercase;font-size:.8125em;font-style:normal}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;position:relative;font-style:normal}.wp-block-quote.has-text-align-right{border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote.has-text-align-center{border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large{border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-group.has-background{padding:1.25em 2.375em;margin-top:0;margin-bottom:0}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto;opacity:.4}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{padding:.5em;border:1px solid;word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)}.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:hsla(0,0%,100%,.65)}.wp-block-template-part.has-background{padding:1.25em 2.375em;margin-top:0;margin-bottom:0}#end-resizable-editor-section{display:none} \ No newline at end of file +.wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:hsla(0,0%,100%,.65)}.wp-block-code{font-family:Menlo,Consolas,monaco,monospace;color:#1e1e1e;padding:.8em 1em;border:1px solid #ddd;border-radius:4px}.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:hsla(0,0%,100%,.65)}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:hsla(0,0%,100%,.65)}.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:hsla(0,0%,100%,.65)}.wp-block-pullquote{border-top:4px solid;border-bottom:4px solid;margin-bottom:1.75em;color:currentColor}.wp-block-pullquote__citation,.wp-block-pullquote cite,.wp-block-pullquote footer{color:currentColor;text-transform:uppercase;font-size:.8125em;font-style:normal}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;position:relative;font-style:normal}.wp-block-quote.has-text-align-right{border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote.has-text-align-center{border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote.is-style-plain{border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-group:where(.has-background){padding:1.25em 2.375em}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto;opacity:.4}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{padding:.5em;border:1px solid;word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)}.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:hsla(0,0%,100%,.65)}.wp-block-template-part.has-background{padding:1.25em 2.375em;margin-top:0;margin-bottom:0} \ 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 1e39309daa..d7b9520a63 100644 --- a/wp-includes/css/dist/components/style-rtl.css +++ b/wp-includes/css/dist/components/style-rtl.css @@ -41,6 +41,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -71,8 +77,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -162,7 +171,7 @@ width: 100%; } .components-autocomplete__result.components-button.is-selected { - box-shadow: 0 0 0 2px var(--wp-admin-theme-color); + box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); } .components-button-group { @@ -318,6 +327,9 @@ display: inline-block; flex: 0 0 auto; } +p + .components-button.is-tertiary { + margin-right: -6px; +} .components-button.is-destructive { color: #cc1818; box-shadow: inset 0 0 0 1px #cc1818; @@ -438,6 +450,11 @@ fill: currentColor; outline: none; } +@media (forced-colors: active) { + .components-button svg { + fill: CanvasText; + } +} .components-button .components-visually-hidden { height: auto; } @@ -621,15 +638,15 @@ svg.components-checkbox-control__checked { justify-content: flex-end; } .components-circular-option-picker .components-circular-option-picker__swatches { - margin-left: -12px; + display: flex; + flex-wrap: wrap; + gap: 12px; } .components-circular-option-picker__option-wrapper { display: inline-block; height: 28px; width: 28px; - margin-left: 12px; - margin-bottom: 12px; vertical-align: top; transform: scale(1); transition: 100ms transform ease; @@ -736,55 +753,12 @@ svg.components-checkbox-control__checked { line-height: 22px; } -.components-color-edit__color-option-main-area { - display: flex; - align-items: center; +@media (min-width: 782px) { + .components-color-edit__color-popover.components-popover .components-popover__content.components-popover__content.components-popover__content { + margin-left: 156px; + margin-top: -49px; + } } -.components-color-edit__color-option-main-area div.components-circular-option-picker__option-wrapper { - display: block; - margin: 8px; -} - -.components-color-edit__color-option.is-hover { - background: #e0e0e0; -} - -.components-color-edit__cancel-button { - float: left; -} - -.components-color-edit__color-option-color-name { - width: 100%; -} - -.components-color-edit__label-and-insert-container { - display: flex; - align-items: center; - justify-content: space-between; -} - -.components-color-edit__insert-button { - margin-top: -8px; -} - -.components-color-edit__hidden-control { - position: relative; - right: -9999px; -} - -.components-color-edit__color-option-color-name-input .components-base-control__field { - margin-bottom: 0; - margin-left: 8px; -} - -.components-color-edit__slug-input { - margin-right: 8px; -} - -.components-color-edit__reset-button { - float: left; -} - .component-color-indicator { width: 25px; height: 16px; @@ -796,246 +770,6 @@ svg.components-checkbox-control__checked { margin-right: 0.5rem; } -/** - * Parts of this source were derived and modified from react-color, - * released under the MIT license. - * - * https://github.com/casesandberg/react-color/ - * - * Copyright (c) 2015 Case Sandberg - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -.components-color-picker { - width: 100%; -} -.components-color-picker * { - box-sizing: border-box; -} - -.components-color-picker__saturation { - width: 100%; - padding-bottom: 55%; - position: relative; -} - -.components-color-picker__body { - padding: 16px 16px 12px; -} - -.components-color-picker__controls { - display: flex; -} - -.components-color-picker__saturation-pointer, -.components-color-picker__hue-pointer, -.components-color-picker__alpha-pointer { - padding: 0; - position: absolute; - cursor: pointer; - box-shadow: none; - border: none; -} - -/* CURRENT COLOR COMPONENT */ -.components-color-picker__swatch { - margin-left: 8px; - width: 32px; - height: 32px; - border-radius: 50%; - position: relative; - overflow: hidden; - background-image: linear-gradient(-45deg, #ddd 25%, transparent 25%), linear-gradient(45deg, #ddd 25%, transparent 25%), linear-gradient(-45deg, transparent 75%, #ddd 75%), linear-gradient(45deg, transparent 75%, #ddd 75%); - background-size: 10px 10px; - background-position: 100% 0, 100% 5px, 5px -5px, -5px 0; -} -.is-alpha-disabled .components-color-picker__swatch { - width: 12px; - height: 12px; - margin-top: 0; -} - -.components-color-picker__active { - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; - border-radius: 50%; - box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1); - z-index: 2; -} - -/* SATURATION COMPONENT */ -.components-color-picker__saturation-color, -.components-color-picker__saturation-white, -.components-color-picker__saturation-black { - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; -} - -.components-color-picker__saturation-color { - overflow: visible; -} - -.components-color-picker__saturation-white { - background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0)); -} - -.components-color-picker__saturation-black { - background: linear-gradient(to top, #000, rgba(0, 0, 0, 0)); -} - -.components-button.components-color-picker__saturation-pointer { - width: 14px; - height: 14px; - padding: 0; - border-radius: 50%; - background-color: transparent; - transform: translate(50%, -50%); - box-shadow: 0 0 0 1px #fff, inset 0 0 0 1px #000, 0 0 0 2px #000; -} -.components-button.components-color-picker__saturation-pointer:focus:not(:disabled) { - box-shadow: 0 0 0 2px #fff, inset 0 0 0 1px #000, 0 0 0 3px #000; -} - -/* HUE & ALPHA BARS */ -.components-color-picker__toggles { - flex: 1; -} - -.components-color-picker__alpha { - background-image: linear-gradient(-45deg, #ddd 25%, transparent 25%), linear-gradient(45deg, #ddd 25%, transparent 25%), linear-gradient(-45deg, transparent 75%, #ddd 75%), linear-gradient(45deg, transparent 75%, #ddd 75%); - background-size: 10px 10px; - background-position: 100% 0, 100% 5px, 5px -5px, -5px 0; -} - -.components-color-picker__hue-gradient, -.components-color-picker__alpha-gradient { - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; -} - -.components-color-picker__hue, -.components-color-picker__alpha { - height: 12px; - position: relative; -} - -.is-alpha-enabled .components-color-picker__hue { - margin-bottom: 8px; -} - -.components-color-picker__hue-bar, -.components-color-picker__alpha-bar { - position: relative; - margin: 0 3px; - height: 100%; - padding: 0 2px; -} - -.components-color-picker__hue-gradient { - background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); -} - -.components-color-picker__hue-pointer, -.components-color-picker__alpha-pointer { - left: 0; - width: 14px; - height: 14px; - border-radius: 50%; - box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37); - background: #fff; - transform: translate(7px, -1px); -} - -.components-color-picker__hue-pointer, -.components-color-picker__saturation-pointer { - transition: box-shadow 0.1s linear; -} -@media (prefers-reduced-motion: reduce) { - .components-color-picker__hue-pointer, -.components-color-picker__saturation-pointer { - transition-duration: 0s; - transition-delay: 0s; - } -} - -.components-color-picker__saturation-pointer:focus { - box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--wp-admin-theme-color), 0 0 5px 0 var(--wp-admin-theme-color), inset 0 0 1px 1px rgba(0, 0, 0, 0.3), 0 0 1px 2px rgba(0, 0, 0, 0.4); -} - -.components-color-picker__hue-pointer:focus, -.components-color-picker__alpha-pointer:focus { - border-color: var(--wp-admin-theme-color); - box-shadow: 0 0 0 2px var(--wp-admin-theme-color), 0 0 3px 0 var(--wp-admin-theme-color); - outline: 2px solid transparent; - outline-offset: -2px; -} - -/* INPUTS COMPONENT */ -.components-color-picker__inputs-wrapper { - margin: 0 -4px; - padding-top: 16px; - display: flex; - align-items: flex-end; - min-width: 255px; -} -.components-color-picker__inputs-wrapper fieldset { - flex: 1; - border: none; - margin: 0; - padding: 0; -} -.components-color-picker__inputs-wrapper .components-color-picker__inputs-fields .components-text-control__input[type=number] { - padding: 6px 3px; - margin: 0; -} - -.components-color-picker__inputs-field { - width: 100%; -} - -.components-color-picker__inputs-fields { - display: flex; - direction: ltr; - flex-grow: 1; - margin-left: 4px; -} -.components-color-picker__inputs-fields .components-base-control + .components-base-control { - margin-top: 0; -} -.components-color-picker__inputs-fields .components-base-control__field { - margin: 0 2px; -} - -.components-color-picker__inputs-toggle { - height: 30px; - padding: 0 5px; -} - .components-combobox-control { width: 100%; } @@ -1124,30 +858,53 @@ input.components-combobox-control__input[type=text]:focus { width: 100%; } +.components-color-list-picker__color-picker { + margin: 8px 0; +} + +.components-color-palette__custom-color { + border: none; + background: none; + outline: 0; + display: block; + border-radius: 2px; + height: 48px; + text-align: left; + width: 100%; + background-image: repeating-linear-gradient(-45deg, #e0e0e0 25%, transparent 25%, transparent 75%, #e0e0e0 75%, #e0e0e0), repeating-linear-gradient(-45deg, #e0e0e0 25%, transparent 25%, transparent 75%, #e0e0e0 75%, #e0e0e0); + background-position: 100% 0, 25px 25px; + background-size: calc(2 * 25px) calc(2 * 25px); + box-sizing: border-box; + color: #fff; + cursor: pointer; +} + .components-custom-gradient-picker__gradient-bar:not(.has-gradient) { opacity: 0.4; } .components-custom-gradient-picker__gradient-bar { + border-radius: 2px; margin-top: 12px; width: 100%; - height: 36px; - border-radius: 36px; - margin-bottom: 12px; - padding-right: 6px; - padding-left: 30px; + height: 48px; + margin-bottom: 20px; + padding-right: 16px; } .components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__markers-container { position: relative; + width: calc(100% - 32px); + margin-right: auto; + margin-left: auto; } .components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point { border-radius: 50%; background: #fff; padding: 2px; - top: 6px; - min-width: 24px; - width: 24px; - height: 24px; + top: 16px; + min-width: 16px; + width: 16px; + height: 16px; position: relative; color: #1e1e1e; } @@ -1156,17 +913,18 @@ input.components-combobox-control__input[type=text]:focus { width: 100%; } .components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button { - border: 2px solid transparent; - box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) #fff; border-radius: 50%; - height: 24px; - width: 24px; + height: 16px; + width: 16px; padding: 0; position: absolute; - top: 6px; + top: 16px; + box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) #fff, 0 0 2px 0 rgba(0, 0, 0, 0.25); + outline: 2px solid transparent; } .components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button:focus, .components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button.is-active { - box-shadow: 0 0 0 1px #fff, 0 0 0 3px #1e1e1e; + box-shadow: inset 0 0 0 calc(var(--wp-admin-border-width-focus) * 2) #fff, 0 0 2px 0 rgba(0, 0, 0, 0.25); + outline: 4px solid transparent; } .components-custom-gradient-picker__color-picker-popover .components-custom-gradient-picker__remove-control-point { @@ -1177,6 +935,7 @@ input.components-combobox-control__input[type=text]:focus { } .components-custom-gradient-picker__inserter { + direction: ltr; width: 100%; } @@ -1207,6 +966,20 @@ input.components-combobox-control__input[type=text]:focus { border-radius: 2px; } +.components-custom-gradient-picker .components-select-control__input, +.components-custom-gradient-picker .components-input-control__input { + height: 40px !important; +} +.components-custom-gradient-picker .components-input-control__label { + line-height: 1; + padding-bottom: 8px !important; +} +.components-custom-gradient-picker label { + text-transform: uppercase; + font-size: 11px; + font-weight: 500; +} + .components-custom-select-control { position: relative; } @@ -1258,17 +1031,25 @@ input.components-combobox-control__input[type=text]:focus { .components-custom-select-control__item { align-items: center; - display: flex; + display: grid; + grid-template-columns: auto auto; list-style-type: none; padding: 8px; cursor: default; line-height: 28px; } +.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: #757575; + text-align: left; + padding-left: 4px; +} .components-custom-select-control__item .components-custom-select-control__item-icon { - margin-left: 0; margin-right: auto; } .components-custom-select-control__item:last-child { @@ -2286,6 +2067,7 @@ input.components-combobox-control__input[type=text]:focus { } .components-datetime .components-datetime__calendar-help { padding: 16px; + min-width: 260px; } .components-datetime .components-datetime__calendar-help h4 { margin: 0; @@ -2324,6 +2106,9 @@ input.components-combobox-control__input[type=text]:focus { margin-top: 0; margin-bottom: 0; } +.components-datetime .components-button:focus { + z-index: 1; +} .components-datetime__date { min-height: 236px; @@ -2538,52 +2323,28 @@ body.is-dragging-components-draggable { z-index: 40; visibility: hidden; opacity: 0; - transition: 0.3s opacity, 0.3s background-color, 0s visibility 0.3s; - border: 2px solid var(--wp-admin-theme-color); border-radius: 2px; } -@media (prefers-reduced-motion: reduce) { - .components-drop-zone { - transition-duration: 0s; - transition-delay: 0s; - } -} .components-drop-zone.is-active { opacity: 1; visibility: visible; - transition: 0.3s opacity, 0.3s background-color; -} -@media (prefers-reduced-motion: reduce) { - .components-drop-zone.is-active { - transition-duration: 0s; - transition-delay: 0s; - } -} -.components-drop-zone.is-dragging-over-element { - background-color: var(--wp-admin-theme-color); } .components-drop-zone__content { position: absolute; - top: 50%; + top: 0; + bottom: 0; right: 0; left: 0; - z-index: 50; - transform: translateY(-50%); + height: 100%; width: 100%; + display: flex; + background-color: var(--wp-admin-theme-color); + align-items: center; + justify-content: center; + z-index: 50; text-align: center; color: #fff; - transition: transform 0.2s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .components-drop-zone__content { - transition-duration: 0s; - transition-delay: 0s; - } -} - -.components-drop-zone.is-dragging-over-element .components-drop-zone__content { - transform: translateY(-50%) scale(1.05); } .components-drop-zone__content-icon, @@ -2595,10 +2356,12 @@ body.is-dragging-components-draggable { margin: 0 auto; line-height: 0; fill: currentColor; + 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 { @@ -2606,11 +2369,10 @@ body.is-dragging-components-draggable { } .components-dropdown__content .components-popover__content > div { - padding: 12px; + padding: 8px; } - -.components-dropdown-menu__popover .components-popover__content { - min-width: 200px; +.components-dropdown__content [role=menuitem] { + white-space: nowrap; } .components-dropdown-menu__menu { @@ -2658,6 +2420,10 @@ body.is-dragging-components-draggable { width: 24px; height: 24px; } +.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 { min-height: 36px; @@ -2667,44 +2433,49 @@ body.is-dragging-components-draggable { padding-left: 8px; } .components-dropdown-menu__menu .components-menu-group { - padding: 12px; + padding: 8px; margin-top: 0; margin-bottom: 0; - margin-right: -12px; - margin-left: -12px; + margin-right: -8px; + margin-left: -8px; } .components-dropdown-menu__menu .components-menu-group:first-child { - margin-top: -12px; + margin-top: -8px; } .components-dropdown-menu__menu .components-menu-group:last-child { - margin-bottom: -12px; + margin-bottom: -8px; } .components-dropdown-menu__menu .components-menu-group + .components-menu-group { margin-top: 0; border-top: 1px solid #ccc; - padding: 12px; + padding: 8px; } .is-alternate .components-dropdown-menu__menu .components-menu-group + .components-menu-group { border-color: #1e1e1e; } +.components-font-size-picker__header__hint { + margin-right: 4px; + color: #757575; +} +.components-font-size-picker__header .components-button.is-small.has-icon:not(.has-text) { + min-width: 24px; + padding: 0; +} + .components-font-size-picker__controls { max-width: 248px; - display: flex; - flex-wrap: wrap; align-items: center; + margin-top: 8px; margin-bottom: 24px; } -.components-font-size-picker__controls .components-unit-control-wrapper { - margin-left: 8px; -} .components-font-size-picker__controls .components-unit-control-wrapper .components-input-control__label { font-weight: 300; padding-bottom: 0 !important; margin-bottom: 8px !important; } .components-font-size-picker__controls .components-custom-select-control__button { - min-width: 120px; + width: 100%; } .components-font-size-picker__controls .components-font-size-picker__number { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; @@ -2763,12 +2534,8 @@ body.is-dragging-components-draggable { display: flex; flex-direction: column; } -.components-font-size-picker__controls .components-font-size-picker__select { - margin-left: 8px; -} .components-font-size-picker__controls .components-color-palette__clear { height: 30px; - margin-top: 26px; } .components-font-size-picker__custom-input .components-range-control__slider + .dashicon { @@ -3084,12 +2851,18 @@ body.is-dragging-components-draggable { width: 600px; } } -.components-guide .components-modal__header { - background: none; - border-bottom: none; - width: 100%; +.components-guide .components-modal__content { padding: 0; - margin: 0; + margin-top: 0; + border-radius: 2px; +} +.components-guide .components-modal__content::before { + content: none; +} +.components-guide .components-modal__header { + border-bottom: none; + padding: 0; + position: sticky; } .components-guide .components-modal__header .components-button { align-self: flex-start; @@ -3127,12 +2900,6 @@ body.is-dragging-components-draggable { position: relative; width: 100%; } -@media (max-width: 600px) { - .components-guide__footer { - position: absolute; - bottom: 0; - } -} .components-guide__page-control { margin: 0; text-align: center; @@ -3146,9 +2913,6 @@ body.is-dragging-components-draggable { min-width: 20px; margin: -6px 0; } -.components-guide .components-modal__content { - padding: 0; -} .components-modal__frame.components-guide { border: none; @@ -3158,11 +2922,8 @@ body.is-dragging-components-draggable { } @media (max-width: 600px) { .components-modal__frame.components-guide { - bottom: 5%; - right: 16px; - left: 16px; - top: 5%; - margin: 0 auto; + margin: auto; + max-width: calc(100vw - 16px * 2); } } @@ -3241,21 +3002,30 @@ body.is-dragging-components-draggable { text-transform: uppercase; font-size: 11px; font-weight: 500; + white-space: nowrap; } .components-menu-item__button, .components-menu-item__button.components-button { width: 100%; } +.components-menu-item__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.components-button[role=menuitemradio] .components-menu-item__item:only-child, +.components-menu-item__button.components-button[role=menuitemcheckbox] .components-menu-item__item:only-child { + padding-left: 48px; +} .components-menu-item__button .components-menu-items__item-icon, .components-menu-item__button.components-button .components-menu-items__item-icon { - margin-left: -2px; - margin-right: 24px; display: inline-block; flex: 0 0 auto; } -.components-menu-item__button .components-menu-item__shortcut + .components-menu-items__item-icon, -.components-menu-item__button.components-button .components-menu-item__shortcut + .components-menu-items__item-icon { +.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, @@ -3287,6 +3057,7 @@ body.is-dragging-components-draggable { .components-menu-item__item { white-space: nowrap; + min-width: 160px; margin-left: auto; display: inline-flex; align-items: center; @@ -3323,6 +3094,7 @@ body.is-dragging-components-draggable { right: 0; background-color: rgba(0, 0, 0, 0.35); z-index: 100000; + display: flex; animation: edit-post__fade-in-animation 0.2s ease-out 0s; animation-fill-mode: forwards; } @@ -3334,28 +3106,21 @@ body.is-dragging-components-draggable { } .components-modal__frame { - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - box-sizing: border-box; margin: 0; + width: 100%; background: #fff; box-shadow: 0 10px 10px rgba(0, 0, 0, 0.25); border-radius: 2px; - overflow: auto; + overflow: hidden; + display: flex; } @media (min-width: 600px) { .components-modal__frame { - top: 50%; - left: auto; - bottom: auto; - right: 50%; + margin: auto; + width: auto; min-width: 360px; - max-width: calc(100% - 16px - 16px); - max-height: 90%; - transform: translate(50%, -50%); + max-width: calc(100% - 32px); + max-height: calc(100% - 120px); animation: components-modal__appear-animation 0.1s ease-out; animation-fill-mode: forwards; } @@ -3366,13 +3131,24 @@ body.is-dragging-components-draggable { animation-delay: 0s; } } +@media (min-width: 600px) { + .components-modal__frame.is-full-screen { + width: 90vw; + min-height: 90vh; + } +} +@media (min-width: 960px) { + .components-modal__frame { + max-height: 70%; + } +} @keyframes components-modal__appear-animation { from { - margin-top: 32px; + transform: translateY(32px); } to { - margin-top: 0; + transform: translateY(0); } } .components-modal__header { @@ -3382,20 +3158,13 @@ body.is-dragging-components-draggable { display: flex; flex-direction: row; justify-content: space-between; - background: #fff; align-items: center; height: 60px; + width: 100%; z-index: 10; - position: relative; - position: sticky; + position: absolute; top: 0; - margin: 0 -32px 24px; -} -@supports (-ms-ime-align: auto) { - .components-modal__header { - position: fixed; - width: 100%; - } + right: 0; } .components-modal__header .components-modal__header-heading { font-size: 1rem; @@ -3428,14 +3197,15 @@ body.is-dragging-components-draggable { } .components-modal__content { - box-sizing: border-box; - height: 100%; + flex: 1; + margin-top: 60px; padding: 0 32px 24px; + overflow: auto; } -@supports (-ms-ime-align: auto) { - .components-modal__content { - padding-top: 60px; - } +.components-modal__content::before { + content: ""; + display: block; + margin-bottom: 24px; } .components-notice { @@ -3547,7 +3317,6 @@ body.is-dragging-components-draggable { align-items: center; padding: 0 16px; height: 48px; - border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; } .components-panel__header h2 { @@ -3715,8 +3484,15 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right .components-placeholder__label > svg, .components-placeholder__label .dashicon, .components-placeholder__label .block-editor-block-icon { - fill: currentColor; margin-left: 1ch; + fill: currentColor; +} +@media (forced-colors: active) { + .components-placeholder__label > svg, +.components-placeholder__label .dashicon, +.components-placeholder__label .block-editor-block-icon { + fill: CanvasText; + } } .components-placeholder__label:empty { display: none; @@ -4120,18 +3896,23 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right display: block; } +.components-resizable-box__container > img { + width: inherit; +} + .components-resizable-box__handle::after { display: block; content: ""; width: 15px; height: 15px; - border: 2px solid var(--wp-admin-theme-color); border-radius: 50%; background: #fff; cursor: inherit; position: absolute; top: calc(50% - 8px); left: calc(50% - 8px); + box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); + outline: 2px solid transparent; } .components-resizable-box__side-handle::before { @@ -4303,6 +4084,89 @@ body.lockscroll { overflow: hidden; } +.components-search-control { + position: relative; +} +.components-search-control input[type=search].components-search-control__input { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + padding: 6px 8px; + box-shadow: 0 0 0 transparent; + transition: box-shadow 0.1s linear; + border-radius: 2px; + border: 1px solid #757575; + /* Fonts smaller than 16px causes mobile safari to zoom. */ + font-size: 16px; + /* Override core line-height. To be reviewed. */ + line-height: normal; + display: block; + padding: 16px 16px 16px 48px; + background: #f0f0f0; + border: none; + width: 100%; + height: 48px; + /* Fonts smaller than 16px causes mobile safari to zoom. */ + font-size: 16px; +} +@media (prefers-reduced-motion: reduce) { + .components-search-control input[type=search].components-search-control__input { + transition-duration: 0s; + transition-delay: 0s; + } +} +@media (min-width: 600px) { + .components-search-control input[type=search].components-search-control__input { + font-size: 13px; + /* Override core line-height. To be reviewed. */ + 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 1px 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, 0.62); +} +.components-search-control input[type=search].components-search-control__input::-moz-placeholder { + opacity: 1; + color: rgba(30, 30, 30, 0.62); +} +.components-search-control input[type=search].components-search-control__input:-ms-input-placeholder { + color: rgba(30, 30, 30, 0.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-admin-theme-color); +} +.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-decoration, .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-results-button, .components-search-control input[type=search].components-search-control__input::-webkit-search-results-decoration { + -webkit-appearance: none; +} + +.components-search-control__icon { + position: absolute; + top: 0; + left: 12px; + bottom: 0; + display: flex; + align-items: center; +} +.components-search-control__icon > svg { + margin: 8px 0; +} + +.components-search-control__input-wrapper { + position: relative; +} + .components-select-control__input { background: #fff; height: 36px; @@ -4703,12 +4567,11 @@ body.lockscroll { 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, -.components-toolbar .components-button.has-icon { - padding-right: 8px; - padding-left: 8px; +.components-accessible-toolbar .components-button.has-icon.has-icon, +.components-toolbar .components-button.has-icon.has-icon { + padding-right: 12px; + padding-left: 12px; min-width: 48px; - justify-content: center; } .components-accessible-toolbar .components-button.components-tab-button, .components-toolbar .components-button.components-tab-button { @@ -5018,36 +4881,4 @@ div.components-toolbar > div + div.has-left-divider::before { right: 0; bottom: 0; left: 0; -} - -.components-visually-hidden { - border: 0; - clip: rect(1px, 1px, 1px, 1px); - -webkit-clip-path: inset(50%); - clip-path: inset(50%); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; - word-wrap: normal !important; -} - -.components-visually-hidden:focus { - background-color: #ddd; - clip: auto !important; - -webkit-clip-path: none; - clip-path: none; - color: #444; - display: block; - font-size: 1em; - height: auto; - right: 5px; - line-height: normal; - padding: 15px 23px 14px; - text-decoration: none; - top: 5px; - width: auto; - z-index: 100000; } \ No newline at end of file diff --git a/wp-includes/css/dist/components/style-rtl.min.css b/wp-includes/css/dist/components/style-rtl.min.css index 45bf2cd1c4..ec64e34a87 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:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-duration:1ms;animation-delay:0s}}.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-duration:1ms;animation-delay:0s}}.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>div{padding:16px;min-width:220px}.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 2px var(--wp-admin-theme-color)}.components-button-group{display:inline-block}.components-button-group .components-button{border-radius:0;display:inline-flex;color:#1e1e1e;box-shadow:inset 0 0 0 1px #1e1e1e}.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{display:inline-flex;text-decoration:none;font-weight:400;font-size:13px;margin:0;border:0;cursor:pointer;-webkit-appearance:none;background:none;transition:box-shadow .1s linear;height:36px;align-items:center;box-sizing:border-box;padding:6px 12px;border-radius:2px;color:#1e1e1e}@media (prefers-reduced-motion:reduce){.components-button{transition-duration:0s;transition-delay:0s}}.components-button:hover,.components-button[aria-expanded=true]{color:var(--wp-admin-theme-color)}.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-admin-theme-color);outline:3px solid transparent}.components-button.is-primary{white-space:nowrap;background:var(--wp-admin-theme-color);color:#fff;text-decoration:none;text-shadow:none;outline:1px solid transparent}.components-button.is-primary:hover:not(:disabled){background:var(--wp-admin-theme-color-darker-10);color:#fff}.components-button.is-primary:active:not(:disabled){background:var(--wp-admin-theme-color-darker-20);border-color:var(--wp-admin-theme-color-darker-20);color:#fff}.components-button.is-primary:focus:not(:disabled){box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.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{color:hsla(0,0%,100%,.4);background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);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 #fff,0 0 0 3px var(--wp-admin-theme-color)}.components-button.is-primary.is-busy,.components-button.is-primary.is-busy:disabled,.components-button.is-primary.is-busy[aria-disabled=true]{color:#fff;background-size:100px 100%;background-image:linear-gradient(45deg,var(--wp-admin-theme-color) 33%,var(--wp-admin-theme-color-darker-20) 0,var(--wp-admin-theme-color-darker-20) 70%,var(--wp-admin-theme-color) 0);border-color:var(--wp-admin-theme-color)}.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){background:#ddd;color:var(--wp-admin-theme-color-darker-10);box-shadow:none}.components-button.is-secondary:hover:not(:disabled),.components-button.is-tertiary:hover:not(:disabled){color:var(--wp-admin-theme-color-darker-10);box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color-darker-10)}.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{color:#828282;background:#eaeaea;transform:none;opacity:1;box-shadow:none;outline:none}.components-button.is-secondary{box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color);outline:1px solid transparent}.components-button.is-secondary,.components-button.is-tertiary{white-space:nowrap;color:var(--wp-admin-theme-color);background:transparent}.components-button.is-tertiary{padding:6px}.components-button.is-tertiary .dashicon{display:inline-block;flex:0 0 auto}.components-button.is-destructive{color:#cc1818;box-shadow:inset 0 0 0 1px #cc1818}.components-button.is-destructive:hover:not(:disabled){color:#710d0d;box-shadow:inset 0 0 0 1px #710d0d}.components-button.is-destructive:focus:not(:disabled){color:var(--wp-admin-theme-color)}.components-button.is-destructive:active:not(:disabled){background:#ccc}.components-button.is-destructive.is-primary{color:#fff;background:#cc1818;box-shadow:inset 0 0 0 1px #cc1818}.components-button.is-destructive.is-primary:hover:not(:disabled){color:#fff;background:#710d0d;box-shadow:inset 0 0 0 1px #710d0d}.components-button.is-link{margin:0;padding:0;box-shadow:none;border:0;border-radius:0;background:none;outline:none;text-align:right;color:var(--wp-admin-theme-color);text-decoration:underline;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;height:auto}@media (prefers-reduced-motion:reduce){.components-button.is-link{transition-duration:0s;transition-delay:0s}}.components-button.is-link:focus{border-radius:2px}.components-button.is-link.is-destructive{color:#cc1818}.components-button.is-link.is-destructive:active:not(:disabled),.components-button.is-link.is-destructive:hover:not(:disabled){color:#710d0d;background:none}.components-button.is-link.is-destructive:focus:not(:disabled){color:var(--wp-admin-theme-color)}.components-button:not([aria-disabled=true]):active{color:inherit}.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;opacity:1;background-size:100px 100%;background-image:linear-gradient(45deg,#fafafa 33%,#e0e0e0 0,#e0e0e0 70%,#fafafa 0)}.components-button.is-small{height:24px;line-height:22px;padding:0 8px;font-size:11px}.components-button.is-small.has-icon:not(.has-text){padding:0 8px;width:24px}.components-button.has-icon{padding:6px;min-width:36px;justify-content:center}.components-button.has-icon .dashicon{display:inline-block;flex:0 0 auto;margin-right:2px;margin-left:2px}.components-button.has-icon.has-text{justify-content:left}.components-button.has-icon.has-text svg{margin-left:8px}.components-button.has-icon.has-text .dashicon{margin-left:10px}.components-button.is-pressed{color:#fff;background:#1e1e1e}.components-button.is-pressed:focus:not(:disabled){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}.components-button.is-pressed:hover:not(:disabled){color:#fff;background:#1e1e1e}.components-button svg{fill:currentColor;outline:none}.components-button .components-visually-hidden{height:auto}@keyframes components-button__busy-animation{0%{background-position:200px 0}}.components-checkbox-control__input[type=checkbox]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;font-size:16px;line-height:normal;border:1px solid #1e1e1e;transition:none;border-radius:2px;background:#fff;color:#1e1e1e;clear:none;cursor:pointer;display:inline-block;line-height:0;margin:0 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:top;width:24px;height:24px;-webkit-appearance:none;appearance:none;transition:border-color .1s ease-in-out}@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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]:checked:before,.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{margin:-3px -5px;color:#fff}@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{content:"";float:right;display:inline-block;vertical-align:middle;width:16px;font:normal 30px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@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-duration:0s;transition-delay:0s}}.components-checkbox-control__input[type=checkbox]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.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{content:none}.components-checkbox-control__input-container{position:relative;display:inline-block;margin-left:12px;vertical-align:middle;width:24px;height:24px}@media (min-width:600px){.components-checkbox-control__input-container{width:20px;height:20px}}svg.components-checkbox-control__checked{fill:#fff;cursor:pointer;position:absolute;right:0;top:0;width:24px;height:24px;-webkit-user-select:none;user-select:none;pointer-events:none}@media (min-width:600px){svg.components-checkbox-control__checked{right:-2px;top:-2px}}.components-circular-option-picker{display:inline-block;width:100%;min-width:188px}.components-circular-option-picker .components-circular-option-picker__custom-clear-wrapper{display:flex;justify-content:flex-end}.components-circular-option-picker .components-circular-option-picker__swatches{margin-left:-12px}.components-circular-option-picker__option-wrapper{display:inline-block;height:28px;width:28px;margin-left:12px;margin-bottom:12px;vertical-align:top;transform:scale(1);transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option-wrapper{transition-duration:0s;transition-delay: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{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:50%;z-index:-1;background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='28' height='28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 8V6H4v2h2zm2 0V6h2v2H8zm2 8H8v-2h2v2zm2 0v-2h2v2h-2zm0 2v-2h-2v2H8v2h2v-2h2zm2 0v2h-2v-2h2zm2 0h-2v-2h2v2z' fill='%23555D65'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18 18h2v-2h-2v-2h2v-2h-2v-2h2V8h-2v2h-2V8h-2v2h2v2h-2v2h2v2h2v2zm-2-4v-2h2v2h-2z' fill='%23555D65'/%3E%3Cpath d='M18 18v2h-2v-2h2z' fill='%23555D65'/%3E%3Cpath fill-rule='evenodd' clip-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' fill='%23555D65'/%3E%3Cpath fill-rule='evenodd' clip-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' fill='%23555D65'/%3E%3C/svg%3E")}.components-circular-option-picker__option{display:inline-block;vertical-align:top;height:100%;width:100%;border:none;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 14px;transition:box-shadow .1s ease;cursor:pointer}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option{transition-duration:0s;transition-delay: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;position:relative;z-index:1;overflow:visible}.components-circular-option-picker__option.is-pressed+svg{position:absolute;right:2px;top:2px;border-radius:50%;z-index:2;pointer-events:none}.components-circular-option-picker__option:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);border:1px solid transparent}.components-circular-option-picker__option:focus:after{content:"";border:2px solid #757575;width:32px;height:32px;position:absolute;top:-2px;right:-2px;border-radius:50%;box-shadow:inset 0 0 0 2px #fff}.components-circular-option-picker__option.components-button:focus{background-color:initial;box-shadow:inset 0 0 0 14px;outline:none}.components-circular-option-picker__button-action .components-circular-option-picker__option{color:#fff;background:#fff}.components-circular-option-picker__dropdown-link-action{margin-left:16px}.components-circular-option-picker__dropdown-link-action .components-button{line-height:22px}.components-color-edit__color-option-main-area{display:flex;align-items:center}.components-color-edit__color-option-main-area div.components-circular-option-picker__option-wrapper{display:block;margin:8px}.components-color-edit__color-option.is-hover{background:#e0e0e0}.components-color-edit__cancel-button{float:left}.components-color-edit__color-option-color-name{width:100%}.components-color-edit__label-and-insert-container{display:flex;align-items:center;justify-content:space-between}.components-color-edit__insert-button{margin-top:-8px}.components-color-edit__hidden-control{position:relative;right:-9999px}.components-color-edit__color-option-color-name-input .components-base-control__field{margin-bottom:0;margin-left:8px}.components-color-edit__slug-input{margin-right:8px}.components-color-edit__reset-button{float:left}.component-color-indicator{width:25px;height:16px;margin-right:.8rem;border:1px solid #dadada;display:inline-block}.component-color-indicator+.component-color-indicator{margin-right:.5rem}.components-color-picker{width:100%}.components-color-picker *{box-sizing:border-box}.components-color-picker__saturation{width:100%;padding-bottom:55%;position:relative}.components-color-picker__body{padding:16px 16px 12px}.components-color-picker__controls{display:flex}.components-color-picker__alpha-pointer,.components-color-picker__hue-pointer,.components-color-picker__saturation-pointer{padding:0;position:absolute;cursor:pointer;box-shadow:none;border:none}.components-color-picker__swatch{margin-left:8px;width:32px;height:32px;border-radius:50%;position:relative;overflow:hidden;background-image:linear-gradient(-45deg,#ddd 25%,transparent 0),linear-gradient(45deg,#ddd 25%,transparent 0),linear-gradient(-45deg,transparent 75%,#ddd 0),linear-gradient(45deg,transparent 75%,#ddd 0);background-size:10px 10px;background-position:100% 0,100% 5px,5px -5px,-5px 0}.is-alpha-disabled .components-color-picker__swatch{width:12px;height:12px;margin-top:0}.components-color-picker__active{border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);z-index:2}.components-color-picker__active,.components-color-picker__saturation-black,.components-color-picker__saturation-color,.components-color-picker__saturation-white{position:absolute;top:0;right:0;left:0;bottom:0}.components-color-picker__saturation-color{overflow:visible}.components-color-picker__saturation-white{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.components-color-picker__saturation-black{background:linear-gradient(0deg,#000,transparent)}.components-button.components-color-picker__saturation-pointer{width:14px;height:14px;padding:0;border-radius:50%;background-color:initial;transform:translate(50%,-50%);box-shadow:0 0 0 1px #fff,inset 0 0 0 1px #000,0 0 0 2px #000}.components-button.components-color-picker__saturation-pointer:focus:not(:disabled){box-shadow:0 0 0 2px #fff,inset 0 0 0 1px #000,0 0 0 3px #000}.components-color-picker__toggles{flex:1}.components-color-picker__alpha{background-image:linear-gradient(-45deg,#ddd 25%,transparent 0),linear-gradient(45deg,#ddd 25%,transparent 0),linear-gradient(-45deg,transparent 75%,#ddd 0),linear-gradient(45deg,transparent 75%,#ddd 0);background-size:10px 10px;background-position:100% 0,100% 5px,5px -5px,-5px 0}.components-color-picker__alpha-gradient,.components-color-picker__hue-gradient{position:absolute;top:0;right:0;left:0;bottom:0}.components-color-picker__alpha,.components-color-picker__hue{height:12px;position:relative}.is-alpha-enabled .components-color-picker__hue{margin-bottom:8px}.components-color-picker__alpha-bar,.components-color-picker__hue-bar{position:relative;margin:0 3px;height:100%;padding:0 2px}.components-color-picker__hue-gradient{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.components-color-picker__alpha-pointer,.components-color-picker__hue-pointer{left:0;width:14px;height:14px;border-radius:50%;box-shadow:0 1px 4px 0 rgba(0,0,0,.37);background:#fff;transform:translate(7px,-1px)}.components-color-picker__hue-pointer,.components-color-picker__saturation-pointer{transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.components-color-picker__hue-pointer,.components-color-picker__saturation-pointer{transition-duration:0s;transition-delay:0s}}.components-color-picker__saturation-pointer:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color),0 0 5px 0 var(--wp-admin-theme-color),inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4)}.components-color-picker__alpha-pointer:focus,.components-color-picker__hue-pointer:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 2px var(--wp-admin-theme-color),0 0 3px 0 var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.components-color-picker__inputs-wrapper{margin:0 -4px;padding-top:16px;display:flex;align-items:flex-end;min-width:255px}.components-color-picker__inputs-wrapper fieldset{flex:1;border:none;margin:0;padding:0}.components-color-picker__inputs-wrapper .components-color-picker__inputs-fields .components-text-control__input[type=number]{padding:6px 3px;margin:0}.components-color-picker__inputs-field{width:100%}.components-color-picker__inputs-fields{display:flex;direction:ltr;flex-grow:1;margin-left:4px}.components-color-picker__inputs-fields .components-base-control+.components-base-control{margin-top:0}.components-color-picker__inputs-fields .components-base-control__field{margin:0 2px}.components-color-picker__inputs-toggle{height:30px;padding:0 5px}.components-combobox-control{width:100%}input.components-combobox-control__input[type=text]{width:100%;border:none;box-shadow:none;font-size:16px;padding:2px;margin:0;line-height:inherit;min-height:auto}@media (min-width:600px){input.components-combobox-control__input[type=text]{font-size:13px}}input.components-combobox-control__input[type=text]:focus{outline:none;box-shadow:none}.components-combobox-control__suggestions-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;display:flex;flex-wrap:wrap;align-items:flex-start;width:100%;margin:0 0 8px;padding:4px}@media (prefers-reduced-motion:reduce){.components-combobox-control__suggestions-container{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-combobox-control__reset.components-button{display:flex;height:24px;min-width:24px;padding:0}.components-color-list-picker,.components-color-list-picker__swatch-button{width:100%}.components-custom-gradient-picker__gradient-bar:not(.has-gradient){opacity:.4}.components-custom-gradient-picker__gradient-bar{margin-top:12px;width:100%;height:36px;border-radius:36px;margin-bottom:12px;padding-right:6px;padding-left:30px}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__markers-container{position:relative}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point{border-radius:50%;background:#fff;padding:2px;top:6px;min-width:24px;width:24px;height:24px;position:relative;color:#1e1e1e}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point svg{height:100%;width:100%}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button{border:2px solid transparent;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #fff;border-radius:50%;height:24px;width:24px;padding:0;position:absolute;top:6px}.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:0 0 0 1px #fff,0 0 0 3px #1e1e1e}.components-custom-gradient-picker__color-picker-popover .components-custom-gradient-picker__remove-control-point{margin-right:auto;margin-left:auto;display:block;margin-bottom:8px}.components-custom-gradient-picker__inserter{width:100%}.components-custom-gradient-picker__liner-gradient-indicator{display:inline-block;flex:0 auto;width:20px;height:20px}.components-custom-gradient-picker .components-custom-gradient-picker__ui-line{margin-bottom:16px}.components-custom-gradient-picker .components-custom-gradient-picker__ui-line .components-base-control.components-angle-picker,.components-custom-gradient-picker .components-custom-gradient-picker__ui-line .components-base-control.components-custom-gradient-picker__type-picker{margin-bottom:0}.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-select-control{position:relative}.components-custom-select-control__label{display:block;margin-bottom:8px}.components-custom-select-control__button{border:1px solid #757575;border-radius:2px;min-height:30px;min-width:130px;position:relative;text-align:right}.components-custom-select-control__button.components-custom-select-control__button{padding-left:24px}.components-custom-select-control__button:focus:not(:disabled){border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.components-custom-select-control__button .components-custom-select-control__button-icon{height:100%;padding:0;position:absolute;left:0;top:0}.components-custom-select-control__menu{border:1px solid #1e1e1e;background-color:#fff;border-radius:2px;outline:none;transition:none;max-height:400px;min-width:100%;overflow:auto;padding:0;position:absolute;z-index:1000000}.components-custom-select-control__menu[aria-hidden=true]{display:none}.components-custom-select-control__item{align-items:center;display:flex;list-style-type:none;padding:8px;cursor:default;line-height:28px}.components-custom-select-control__item.is-highlighted{background:#ddd}.components-custom-select-control__item .components-custom-select-control__item-icon{margin-left:0;margin-right:auto}.components-custom-select-control__item:last-child{margin-bottom:0}.PresetDateRangePicker_panel{padding:0 22px 11px}.PresetDateRangePicker_button{position:relative;height:100%;text-align:center;background:0 0;border:2px solid #00a699;color:#00a699;padding:4px 12px;margin-right:8px;font:inherit;font-weight:700;line-height:normal;overflow:visible;box-sizing:border-box;cursor:pointer}.PresetDateRangePicker_button:active{outline:0}.PresetDateRangePicker_button__selected{color:#fff;background:#00a699}.SingleDatePickerInput{display:inline-block;background-color:#fff}.SingleDatePickerInput__withBorder{border-radius:2px;border:1px solid #dbdbdb}.SingleDatePickerInput__rtl{direction:rtl}.SingleDatePickerInput__disabled{background-color:#f2f2f2}.SingleDatePickerInput__block{display:block}.SingleDatePickerInput__showClearDate{padding-right:30px}.SingleDatePickerInput_clearDate{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;padding:10px;margin:0 10px 0 5px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.SingleDatePickerInput_clearDate__default:focus,.SingleDatePickerInput_clearDate__default:hover{background:#dbdbdb;border-radius:50%}.SingleDatePickerInput_clearDate__small{padding:6px}.SingleDatePickerInput_clearDate__hide{visibility:hidden}.SingleDatePickerInput_clearDate_svg{fill:#82888a;height:12px;width:15px;vertical-align:middle}.SingleDatePickerInput_clearDate_svg__small{height:9px}.SingleDatePickerInput_calendarIcon{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;display:inline-block;vertical-align:middle;padding:10px;margin:0 5px 0 10px}.SingleDatePickerInput_calendarIcon_svg{fill:#82888a;height:15px;width:14px;vertical-align:middle}.SingleDatePicker{position:relative;display:inline-block}.SingleDatePicker__block{display:block}.SingleDatePicker_picker{z-index:1;background-color:#fff;position:absolute}.SingleDatePicker_picker__rtl{direction:rtl}.SingleDatePicker_picker__directionLeft{left:0}.SingleDatePicker_picker__directionRight{right:0}.SingleDatePicker_picker__portal{background-color:rgba(0,0,0,.3);position:fixed;top:0;left:0;height:100%;width:100%}.SingleDatePicker_picker__fullScreenPortal{background-color:#fff}.SingleDatePicker_closeButton{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;position:absolute;top:0;right:0;padding:15px;z-index:2}.SingleDatePicker_closeButton:focus,.SingleDatePicker_closeButton:hover{color:#b0b3b4;text-decoration:none}.SingleDatePicker_closeButton_svg{height:15px;width:15px;fill:#cacccd}.DayPickerKeyboardShortcuts_buttonReset{background:0 0;border:0;border-radius:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;cursor:pointer;font-size:14px}.DayPickerKeyboardShortcuts_buttonReset:active{outline:0}.DayPickerKeyboardShortcuts_show{width:22px;position:absolute;z-index:2}.DayPickerKeyboardShortcuts_show__bottomRight{border-top:26px solid transparent;border-right:33px solid #00a699;bottom:0;right:0}.DayPickerKeyboardShortcuts_show__bottomRight:hover{border-right:33px solid #008489}.DayPickerKeyboardShortcuts_show__topRight{border-bottom:26px solid transparent;border-right:33px solid #00a699;top:0;right:0}.DayPickerKeyboardShortcuts_show__topRight:hover{border-right:33px solid #008489}.DayPickerKeyboardShortcuts_show__topLeft{border-bottom:26px solid transparent;border-left:33px solid #00a699;top:0;left:0}.DayPickerKeyboardShortcuts_show__topLeft:hover{border-left:33px solid #008489}.DayPickerKeyboardShortcuts_showSpan{color:#fff;position:absolute}.DayPickerKeyboardShortcuts_showSpan__bottomRight{bottom:0;right:-28px}.DayPickerKeyboardShortcuts_showSpan__topRight{top:1px;right:-28px}.DayPickerKeyboardShortcuts_showSpan__topLeft{top:1px;left:-28px}.DayPickerKeyboardShortcuts_panel{overflow:auto;background:#fff;border:1px solid #dbdbdb;border-radius:2px;position:absolute;top:0;bottom:0;right:0;left:0;z-index:2;padding:22px;margin:33px}.DayPickerKeyboardShortcuts_title{font-size:16px;font-weight:700;margin:0}.DayPickerKeyboardShortcuts_list{list-style:none;padding:0;font-size:14px}.DayPickerKeyboardShortcuts_close{position:absolute;right:22px;top:22px;z-index:2}.DayPickerKeyboardShortcuts_close:active{outline:0}.DayPickerKeyboardShortcuts_closeSvg{height:15px;width:15px;fill:#cacccd}.DayPickerKeyboardShortcuts_closeSvg:focus,.DayPickerKeyboardShortcuts_closeSvg:hover{fill:#82888a}.CalendarDay{box-sizing:border-box;cursor:pointer;font-size:14px;text-align:center}.CalendarDay:active{outline:0}.CalendarDay__defaultCursor{cursor:default}.CalendarDay__default{border:1px solid #e4e7e7;color:#484848;background:#fff}.CalendarDay__default:hover{background:#e4e7e7;border:1px double #e4e7e7;color:inherit}.CalendarDay__hovered_offset{background:#f4f5f5;border:1px double #e4e7e7;color:inherit}.CalendarDay__outside{border:0;background:#fff;color:#484848}.CalendarDay__outside:hover{border:0}.CalendarDay__blocked_minimum_nights{background:#fff;border:1px solid #eceeee;color:#cacccd}.CalendarDay__blocked_minimum_nights:active,.CalendarDay__blocked_minimum_nights:hover{background:#fff;color:#cacccd}.CalendarDay__highlighted_calendar{background:#ffe8bc;color:#484848}.CalendarDay__highlighted_calendar:active,.CalendarDay__highlighted_calendar:hover{background:#ffce71;color:#484848}.CalendarDay__selected_span{background:#66e2da;border:1px solid #33dacd;color:#fff}.CalendarDay__selected_span:active,.CalendarDay__selected_span:hover{background:#33dacd;border:1px solid #33dacd;color:#fff}.CalendarDay__last_in_range{border-right:#00a699}.CalendarDay__selected,.CalendarDay__selected:active,.CalendarDay__selected:hover{background:#00a699;border:1px solid #00a699;color:#fff}.CalendarDay__hovered_span,.CalendarDay__hovered_span:hover{background:#b2f1ec;border:1px solid #80e8e0;color:#007a87}.CalendarDay__hovered_span:active{background:#80e8e0;border:1px solid #80e8e0;color:#007a87}.CalendarDay__blocked_calendar,.CalendarDay__blocked_calendar:active,.CalendarDay__blocked_calendar:hover{background:#cacccd;border:1px solid #cacccd;color:#82888a}.CalendarDay__blocked_out_of_range,.CalendarDay__blocked_out_of_range:active,.CalendarDay__blocked_out_of_range:hover{background:#fff;border:1px solid #e4e7e7;color:#cacccd}.CalendarMonth{background:#fff;text-align:center;vertical-align:top;-webkit-user-select:none;user-select:none}.CalendarMonth_table{border-collapse:collapse;border-spacing:0}.CalendarMonth_verticalSpacing{border-collapse:initial}.CalendarMonth_caption{color:#484848;font-size:18px;text-align:center;padding-top:22px;padding-bottom:37px;caption-side:top}.CalendarMonth_caption__verticalScrollable{padding-top:12px;padding-bottom:7px}.CalendarMonthGrid{background:#fff;text-align:left;z-index:0}.CalendarMonthGrid__animating{z-index:1}.CalendarMonthGrid__horizontal{position:absolute;left:0}.CalendarMonthGrid__vertical{margin:0 auto}.CalendarMonthGrid__vertical_scrollable{margin:0 auto;overflow-y:scroll}.CalendarMonthGrid_month__horizontal{display:inline-block;vertical-align:top;min-height:100%}.CalendarMonthGrid_month__hideForAnimation{position:absolute;z-index:-1;opacity:0;pointer-events:none}.CalendarMonthGrid_month__hidden{visibility:hidden}.DayPickerNavigation{position:relative;z-index:2}.DayPickerNavigation__horizontal{height:0}.DayPickerNavigation__verticalDefault{position:absolute;width:100%;height:52px;bottom:0;left:0}.DayPickerNavigation__verticalScrollableDefault{position:relative}.DayPickerNavigation_button{cursor:pointer;-webkit-user-select:none;user-select:none;border:0;padding:0;margin:0}.DayPickerNavigation_button__default{border:1px solid #e4e7e7;background-color:#fff;color:#757575}.DayPickerNavigation_button__default:focus,.DayPickerNavigation_button__default:hover{border:1px solid #c4c4c4}.DayPickerNavigation_button__default:active{background:#f2f2f2}.DayPickerNavigation_button__horizontalDefault{position:absolute;top:18px;line-height:.78;border-radius:3px;padding:6px 9px}.DayPickerNavigation_leftButton__horizontalDefault{left:22px}.DayPickerNavigation_rightButton__horizontalDefault{right:22px}.DayPickerNavigation_button__verticalDefault{padding:5px;background:#fff;box-shadow:0 0 5px 2px rgba(0,0,0,.1);position:relative;display:inline-block;height:100%;width:50%}.DayPickerNavigation_nextButton__verticalDefault{border-left:0}.DayPickerNavigation_nextButton__verticalScrollableDefault{width:100%}.DayPickerNavigation_svg__horizontal{height:19px;width:19px;fill:#82888a;display:block}.DayPickerNavigation_svg__vertical{height:42px;width:42px;fill:#484848;display:block}.DayPicker{position:relative;text-align:left}.DayPicker,.DayPicker__horizontal{background:#fff}.DayPicker__verticalScrollable{height:100%}.DayPicker__hidden{visibility:hidden}.DayPicker__withBorder{box-shadow:0 2px 6px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.07);border-radius:3px}.DayPicker_portal__horizontal{box-shadow:none;position:absolute;left:50%;top:50%}.DayPicker_portal__vertical{position:static}.DayPicker_focusRegion{outline:0}.DayPicker_calendarInfo__horizontal,.DayPicker_wrapper__horizontal{display:inline-block;vertical-align:top}.DayPicker_weekHeaders{position:relative}.DayPicker_weekHeaders__horizontal{margin-left:13px}.DayPicker_weekHeader{color:#757575;position:absolute;top:62px;z-index:2;text-align:left;padding:0!important}.DayPicker_weekHeader__vertical{left:50%}.DayPicker_weekHeader__verticalScrollable{top:0;display:table-row;border-bottom:1px solid #dbdbdb;background:#fff;margin-left:0;left:0;width:100%;text-align:center}.DayPicker_weekHeader_ul{list-style:none;margin:1px 0;padding-left:0;padding-right:0;font-size:14px}.DayPicker_weekHeader_li{display:inline-block;text-align:center;margin:0 1px}.DayPicker_transitionContainer{position:relative;overflow:hidden;border-radius:3px}.DayPicker_transitionContainer__horizontal{transition:height .2s ease-in-out}.DayPicker_transitionContainer__vertical{width:100%}.DayPicker_transitionContainer__verticalScrollable{padding-top:20px;height:100%;position:absolute;top:0;bottom:0;right:0;left:0;overflow-y:scroll}.DateInput{margin:0;padding:0;background:#fff;position:relative;display:inline-block;width:130px;vertical-align:middle}.DateInput__small{width:97px}.DateInput__block{width:100%}.DateInput__disabled{background:#f2f2f2;color:#dbdbdb}.DateInput_input{font-weight:200;font-size:19px;line-height:24px;color:#484848;background-color:#fff;width:100%;padding:11px 11px 9px;border:0;border-bottom:2px solid transparent;border-radius:0}.DateInput_input__small{font-size:15px;line-height:18px;letter-spacing:.2px;padding:7px 7px 5px}.DateInput_input__regular{font-weight:auto}.DateInput_input__readOnly{-webkit-user-select:none;user-select:none}.DateInput_input__focused{outline:0;background:#fff;border:0;border-bottom:2px solid #008489}.DateInput_input__disabled{background:#f2f2f2;font-style:italic}.DateInput_screenReaderMessage{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.DateInput_fang{position:absolute;width:20px;height:10px;left:22px;z-index:2}.DateInput_fangShape{fill:#fff}.DateInput_fangStroke{stroke:#dbdbdb;fill:transparent}.DateRangePickerInput{background-color:#fff;display:inline-block}.DateRangePickerInput__disabled{background:#f2f2f2}.DateRangePickerInput__withBorder{border-radius:2px;border:1px solid #dbdbdb}.DateRangePickerInput__rtl{direction:rtl}.DateRangePickerInput__block{display:block}.DateRangePickerInput__showClearDates{padding-right:30px}.DateRangePickerInput_arrow{display:inline-block;vertical-align:middle;color:#484848}.DateRangePickerInput_arrow_svg{vertical-align:middle;fill:#484848;height:24px;width:24px}.DateRangePickerInput_clearDates{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;padding:10px;margin:0 10px 0 5px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.DateRangePickerInput_clearDates__small{padding:6px}.DateRangePickerInput_clearDates_default:focus,.DateRangePickerInput_clearDates_default:hover{background:#dbdbdb;border-radius:50%}.DateRangePickerInput_clearDates__hide{visibility:hidden}.DateRangePickerInput_clearDates_svg{fill:#82888a;height:12px;width:15px;vertical-align:middle}.DateRangePickerInput_clearDates_svg__small{height:9px}.DateRangePickerInput_calendarIcon{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;display:inline-block;vertical-align:middle;padding:10px;margin:0 5px 0 10px}.DateRangePickerInput_calendarIcon_svg{fill:#82888a;height:15px;width:14px;vertical-align:middle}.DateRangePicker{position:relative;display:inline-block}.DateRangePicker__block{display:block}.DateRangePicker_picker{z-index:1;background-color:#fff;position:absolute}.DateRangePicker_picker__rtl{direction:rtl}.DateRangePicker_picker__directionLeft{left:0}.DateRangePicker_picker__directionRight{right:0}.DateRangePicker_picker__portal{background-color:rgba(0,0,0,.3);position:fixed;top:0;left:0;height:100%;width:100%}.DateRangePicker_picker__fullScreenPortal{background-color:#fff}.DateRangePicker_closeButton{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;position:absolute;top:0;right:0;padding:15px;z-index:2}.DateRangePicker_closeButton:focus,.DateRangePicker_closeButton:hover{color:#b0b3b4;text-decoration:none}.DateRangePicker_closeButton_svg{height:15px;width:15px;fill:#cacccd}.components-datetime{padding:16px}.components-panel__body .components-datetime{padding:0}.components-datetime .components-datetime__calendar-help{padding:16px}.components-datetime .components-datetime__calendar-help h4{margin:0}.components-datetime .components-datetime__buttons{display:flex;justify-content:space-between}.components-datetime .components-datetime__date-help-toggle{display:block;margin-right:auto}.components-datetime fieldset{border:0;padding:0;margin:0}.components-datetime input,.components-datetime select{box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575}@media (prefers-reduced-motion:reduce){.components-datetime input,.components-datetime select{transition-duration:0s;transition-delay:0s}}.components-datetime .components-button,.components-datetime input[type=number],.components-datetime select{height:30px;margin-top:0;margin-bottom:0}.components-datetime__date{min-height:236px;border-top:1px solid #ddd}.components-datetime__date .DayPickerNavigation_leftButton__horizontalDefault{left:13px}.components-datetime__date .CalendarMonth_caption{font-size:13px}.components-datetime__date .CalendarMonth_table{border-collapse:initial;border-spacing:2px}.components-datetime__date .CalendarDay{font-size:13px;border:none;border-radius:50%;text-align:center}.components-datetime__date .CalendarDay:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 3px #fff;outline:2px solid transparent}.components-datetime__date .CalendarDay__selected{background:var(--wp-admin-theme-color);border:2px solid transparent}.components-datetime__date .CalendarDay__selected:hover{background:var(--wp-admin-theme-color-darker-20)}.components-datetime__date .CalendarDay__selected:focus{box-shadow:inset 0 0 0 1px #fff}.components-datetime__date .DayPickerNavigation_button__horizontalDefault{padding:2px 8px;top:20px}.components-datetime__date .DayPickerNavigation_button__horizontalDefault:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-datetime__date .DayPicker_weekHeader{top:50px}.components-datetime__date .DayPicker_weekHeader .DayPicker_weekHeader_ul{margin:1px;padding-right:0;padding-left:0}.components-datetime__date.is-description-visible .DayPicker{visibility:hidden}.components-datetime__date .CalendarDay .components-datetime__date__day{height:100%;display:flex;justify-content:center;align-content:center;flex-direction:column;position:relative}.components-datetime__date .CalendarDay .components-datetime__date__day.has-events:before{content:" ";width:4px;height:4px;border-radius:2px;position:absolute;right:50%;margin-right:-2px;bottom:0;background-color:#fff}.components-datetime__date .CalendarDay:not(.CalendarDay__selected) .components-datetime__date__day.has-events:before{background:var(--wp-admin-theme-color)}.components-datetime__time{padding-bottom:16px}.components-datetime__time fieldset{position:relative;margin-bottom:.5em}.components-datetime__time fieldset+fieldset{margin-bottom:0}.components-datetime__time .components-datetime__time-field-am-pm fieldset{margin-top:0}.components-datetime__time .components-datetime__time-wrapper{display:flex}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-separator{display:inline-block;padding:0 0 0 3px}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field-time{direction:ltr}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field select{margin-left:4px}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field select:focus{position:relative;z-index:1}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]{padding:2px;margin-left:4px;text-align:center;-moz-appearance:textfield}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]:focus{position:relative;z-index:1}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.components-datetime__time.is-12-hour .components-datetime__time-field-day input{margin:-4px 0 0!important;border-radius:0 2px 2px 0!important}.components-datetime__time.is-12-hour .components-datetime__time-field-year input{border-radius:2px 0 0 2px!important}.components-datetime__timezone{line-height:30px;margin-right:4px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.components-datetime__time-legend{font-weight:600;margin-top:.5em}.components-datetime__time-legend.invisible{position:absolute;top:-999em;right:-999em}.components-datetime__time-field-day-input,.components-datetime__time-field-hours-input,.components-datetime__time-field-minutes-input{width:35px}.components-datetime__time-field-year-input{width:55px}.components-datetime__time-field-month-select{max-width:145px}.components-popover .components-datetime__date{padding-right:4px}.block-editor-dimension-control .components-base-control__field{display:flex;align-items:center}.block-editor-dimension-control .components-base-control__label{display:flex;align-items:center;margin-left:1em;margin-bottom:0}.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{position:fixed;right:-1000px;height:50px;width:50px}.components-draggable__clone{position:fixed;padding:0;background:transparent;pointer-events:none;z-index:1000000000}.components-drop-zone{position:absolute;top:0;left:0;bottom:0;right:0;z-index:40;visibility:hidden;opacity:0;transition:opacity .3s,background-color .3s,visibility 0s .3s;border:2px solid var(--wp-admin-theme-color);border-radius:2px}@media (prefers-reduced-motion:reduce){.components-drop-zone{transition-duration:0s;transition-delay:0s}}.components-drop-zone.is-active{opacity:1;visibility:visible;transition:opacity .3s,background-color .3s}@media (prefers-reduced-motion:reduce){.components-drop-zone.is-active{transition-duration:0s;transition-delay:0s}}.components-drop-zone.is-dragging-over-element{background-color:var(--wp-admin-theme-color)}.components-drop-zone__content{position:absolute;top:50%;right:0;left:0;z-index:50;transform:translateY(-50%);width:100%;text-align:center;color:#fff;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.components-drop-zone__content{transition-duration:0s;transition-delay:0s}}.components-drop-zone.is-dragging-over-element .components-drop-zone__content{transform:translateY(-50%) scale(1.05)}.components-drop-zone__content-icon,.components-drop-zone__content-text{display:block}.components-drop-zone__content-icon{margin:0 auto;line-height:0;fill:currentColor}.components-drop-zone__content-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.components-dropdown{display:inline-block}.components-dropdown__content .components-popover__content>div{padding:12px}.components-dropdown-menu__popover .components-popover__content{min-width:200px}.components-dropdown-menu__menu{width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.4}.components-dropdown-menu__menu .components-dropdown-menu__menu-item,.components-dropdown-menu__menu .components-menu-item{width:100%;padding:6px;outline:none;cursor:pointer;white-space:nowrap}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator,.components-dropdown-menu__menu .components-menu-item.has-separator{margin-top:6px;position:relative;overflow:visible}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator:before,.components-dropdown-menu__menu .components-menu-item.has-separator:before{display:block;content:"";box-sizing:initial;background-color:#ddd;position:absolute;top:-3px;right:0;left:0;height:1px}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-active svg,.components-dropdown-menu__menu .components-menu-item.is-active svg{color:#fff;background:#1e1e1e;box-shadow:0 0 0 1px #1e1e1e;border-radius:1px}.components-dropdown-menu__menu .components-dropdown-menu__menu-item>svg,.components-dropdown-menu__menu .components-menu-item>svg{border-radius:2px;width:24px;height:24px}.components-dropdown-menu__menu .components-menu-item__button,.components-dropdown-menu__menu .components-menu-item__button.components-button{min-height:36px;height:auto;text-align:right;padding-right:8px;padding-left:8px}.components-dropdown-menu__menu .components-menu-group{padding:12px;margin:0 -12px}.components-dropdown-menu__menu .components-menu-group:first-child{margin-top:-12px}.components-dropdown-menu__menu .components-menu-group:last-child{margin-bottom:-12px}.components-dropdown-menu__menu .components-menu-group+.components-menu-group{margin-top:0;border-top:1px solid #ccc;padding:12px}.is-alternate .components-dropdown-menu__menu .components-menu-group+.components-menu-group{border-color:#1e1e1e}.components-font-size-picker__controls{max-width:248px;display:flex;flex-wrap:wrap;align-items:center;margin-bottom:24px}.components-font-size-picker__controls .components-unit-control-wrapper{margin-left:8px}.components-font-size-picker__controls .components-unit-control-wrapper .components-input-control__label{font-weight:300;padding-bottom:0!important;margin-bottom:8px!important}.components-font-size-picker__controls .components-custom-select-control__button{min-width:120px}.components-font-size-picker__controls .components-font-size-picker__number{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;display:inline-block;font-weight:500;height:30px;margin:8px 0 0 8px;width:54px}@media (prefers-reduced-motion:reduce){.components-font-size-picker__controls .components-font-size-picker__number{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.components-font-size-picker__controls .components-font-size-picker__number{font-size:13px;line-height:normal}}.components-font-size-picker__controls .components-font-size-picker__number:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-font-size-picker__controls .components-font-size-picker__number::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-font-size-picker__controls .components-font-size-picker__number::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.components-font-size-picker__controls .components-font-size-picker__number:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-font-size-picker__controls .components-font-size-picker__number[value=""]+.components-button{cursor:default;opacity:.3;pointer-events:none}.components-font-size-picker__controls .components-font-size-picker__number-container{display:flex;flex-direction:column}.components-font-size-picker__controls .components-font-size-picker__select{margin-left:8px}.components-font-size-picker__controls .components-color-palette__clear{height:30px;margin-top:26px}.components-font-size-picker__custom-input .components-range-control__slider+.dashicon{width:30px;height:30px}.components-font-size-picker{border:0;padding:0;margin:0}.components-form-toggle{position:relative;display:inline-block}.components-form-toggle .components-form-toggle__track{content:"";display:inline-block;box-sizing:border-box;vertical-align:top;background-color:#fff;border:1px solid #1e1e1e;width:36px;height:18px;border-radius:9px;transition:background .2s ease}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__track{transition-duration:0s;transition-delay:0s}}.components-form-toggle .components-form-toggle__thumb{display:block;position:absolute;box-sizing:border-box;top:3px;right:3px;width:12px;height:12px;border-radius:50%;transition:transform .1s ease;background-color:#1e1e1e;border:5px solid #1e1e1e}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__thumb{transition-duration:0s;transition-delay:0s}}.components-form-toggle.is-checked .components-form-toggle__track{background-color:var(--wp-admin-theme-color);border:9px solid transparent}.components-form-toggle .components-form-toggle__input:focus+.components-form-toggle__track{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);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]{position:absolute;top:0;right:0;width:100%;height:100%;opacity:0;margin:0;padding:0;z-index:1;border:none}.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{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;display:flex;flex-wrap:wrap;align-items:center;width:100%;margin:0 0 8px;padding:2px 4px;cursor:text}@media (prefers-reduced-motion:reduce){.components-form-token-field__input-container{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-form-token-field__input-container input[type=text].components-form-token-field__input{display:inline-block;flex:1;font-size:16px;width:100%;max-width:100%;margin-right:4px;padding:0;min-height:24px;min-width:50px;background:inherit;border:0;color:#1e1e1e;box-shadow:none}@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{outline:none;box-shadow: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__label{display:inline-block;margin-bottom:4px}.components-form-token-field__help{font-size:12px;font-style:normal;color:#757575}.components-form-token-field__token{font-size:13px;display:flex;margin:2px 0 2px 4px;color:#1e1e1e;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{position:relative;padding:0 0 0 16px}.components-form-token-field__token.is-borderless .components-form-token-field__token-text{background:transparent;color:var(--wp-admin-theme-color)}.components-form-token-field__token.is-borderless .components-form-token-field__remove-token{background:transparent;color:#757575;position:absolute;top:1px;left:0}.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{color:#cc1818;border-radius:0 4px 4px 0;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{display:inline-block;line-height:24px;height:auto;background:#ddd;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{transition-duration:0s;transition-delay:0s;animation-duration:1ms;animation-delay:0s}}.components-form-token-field__token-text{border-radius:0 2px 2px 0;padding:0 8px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.components-form-token-field__remove-token.components-button{cursor:pointer;border-radius:2px 0 0 2px;padding:0 2px;color:#1e1e1e;line-height:10px;overflow:initial}.components-form-token-field__remove-token.components-button:hover{color:#1e1e1e}.components-form-token-field__suggestions-list{flex:1 0 100%;min-width:100%;max-height:9em;overflow-y:auto;transition:all .15s ease-in-out;list-style:none;border-top:1px solid #757575;margin:4px -4px -4px;padding:0}@media (prefers-reduced-motion:reduce){.components-form-token-field__suggestions-list{transition-duration:0s;transition-delay:0s}}.components-form-token-field__suggestion{color:#757575;display:block;font-size:13px;padding:4px 8px;margin:0;cursor:pointer}.components-form-token-field__suggestion.is-selected{background:var(--wp-admin-theme-color);color:#fff}.components-form-token-field__suggestion-match{text-decoration:underline}@media (min-width:600px){.components-guide{width:600px}}.components-guide .components-modal__header{background:none;border-bottom:none;width:100%;padding:0;margin:0}.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:30px;justify-content:center;margin:0 0 24px;padding:0 32px;position:relative;width:100%}@media (max-width:600px){.components-guide__footer{position:absolute;bottom:0}}.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{height:30px;min-width:20px;margin:-6px 0}.components-guide .components-modal__content{padding:0}.components-modal__frame.components-guide{border:none;min-width:312px;height:80vh;max-height:575px}@media (max-width:600px){.components-modal__frame.components-guide{bottom:5%;right:16px;left:16px;top:5%;margin:0 auto}}.components-button.components-guide__back-button,.components-button.components-guide__finish-button,.components-button.components-guide__forward-button{height:30px;position:absolute}.components-button.components-guide__back-button,.components-button.components-guide__forward-button{font-size:13px;padding:4px 2px}.components-button.components-guide__back-button.has-text svg,.components-button.components-guide__forward-button.has-text svg{margin:0}.components-button.components-guide__back-button:hover,.components-button.components-guide__forward-button:hover{text-decoration:underline}.components-button.components-guide__back-button{right:32px}.components-button.components-guide__forward-button{left:32px;color:#1386bf;font-weight:700}.components-button.components-guide__finish-button{left:32px}.components-button.components-guide__inline-finish-button{display:none}[role=region]{position:relative}.is-focusing-regions [role=region]:focus:after{content:"";position:absolute;top:0;bottom:0;right:0;left:0;pointer-events:none;outline:4px solid transparent;box-shadow:inset 0 0 0 4px var(--wp-admin-theme-color)}@supports (outline-offset:1px){.is-focusing-regions [role=region]:focus:after{content:none}.is-focusing-regions [role=region]:focus{outline-style:solid;outline-color:var(--wp-admin-theme-color);outline-width:4px;outline-offset:-4px}}.components-menu-group+.components-menu-group{margin-top:8px;padding-top:8px;border-top:1px solid #1e1e1e}.components-menu-group+.components-menu-group.has-hidden-separator{border-top:none;margin-top:0;padding-top:0}.components-menu-group__label{padding:0 8px;margin-top:4px;margin-bottom:12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500}.components-menu-item__button,.components-menu-item__button.components-button{width:100%}.components-menu-item__button.components-button .components-menu-items__item-icon,.components-menu-item__button .components-menu-items__item-icon{margin-left:-2px;margin-right:24px;display:inline-block;flex:0 0 auto}.components-menu-item__button.components-button .components-menu-item__shortcut+.components-menu-items__item-icon,.components-menu-item__button .components-menu-item__shortcut+.components-menu-items__item-icon{margin-right:8px}.components-menu-item__button .block-editor-block-icon,.components-menu-item__button.components-button .block-editor-block-icon{margin-right:-2px;margin-left: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-left:0}.components-menu-item__info-wrapper{display:flex;flex-direction:column;margin-left:auto}.components-menu-item__info{margin-top:4px;font-size:12px;color:#757575;white-space:normal}.components-menu-item__item{white-space:nowrap;margin-left:auto;display:inline-flex;align-items:center}.components-menu-item__shortcut{align-self:center;margin-left:0;margin-right:auto;padding-right:24px;color:currentColor;display:none}@media (min-width:480px){.components-menu-item__shortcut{display:inline}}.components-menu-items-choice.components-button svg,.components-menu-items-choice 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{position:fixed;top:0;left:0;bottom:0;right:0;background-color:rgba(0,0,0,.35);z-index:100000;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-modal__screen-overlay{animation-duration:1ms;animation-delay:0s}}.components-modal__frame{position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;margin:0;background:#fff;box-shadow:0 10px 10px rgba(0,0,0,.25);border-radius:2px;overflow:auto}@media (min-width:600px){.components-modal__frame{top:50%;left:auto;bottom:auto;right:50%;min-width:360px;max-width:calc(100% - 32px);max-height:90%;transform:translate(50%,-50%);animation:components-modal__appear-animation .1s ease-out;animation-fill-mode:forwards}}@media (min-width:600px) and (prefers-reduced-motion:reduce){.components-modal__frame{animation-duration:1ms;animation-delay:0s}}@keyframes components-modal__appear-animation{0%{margin-top:32px}to{margin-top:0}}.components-modal__header{box-sizing:border-box;border-bottom:1px solid #ddd;padding:0 32px;display:flex;flex-direction:row;justify-content:space-between;background:#fff;align-items:center;height:60px;z-index:10;position:relative;position:sticky;top:0;margin:0 -32px 24px}@supports (-ms-ime-align:auto){.components-modal__header{position:fixed;width:100%}}.components-modal__header .components-modal__header-heading{font-size:1rem;font-weight:600}.components-modal__header h1{line-height:1;margin:0}.components-modal__header .components-button{position:relative;right:8px}.components-modal__header-heading-container{align-items:center;flex-grow:1;display:flex;flex-direction:row;justify-content:left}.components-modal__header-icon-container{display:inline-block}.components-modal__header-icon-container svg{max-width:36px;max-height:36px;padding:8px}.components-modal__content{box-sizing:border-box;height:100%;padding:0 32px 24px}@supports (-ms-ime-align:auto){.components-modal__content{padding-top:60px}}.components-notice{display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#fff;border-right:4px solid var(--wp-admin-theme-color);margin:5px 15px 2px;padding:8px 12px;align-items:center}.components-notice.is-dismissible{padding-left:36px;position:relative}.components-notice.is-success{border-right-color:#4ab866;background-color:#eff9f1}.components-notice.is-warning{border-right-color:#f0b849;background-color:#fef8ee}.components-notice.is-error{border-right-color:#cc1818;background-color:#f4a2a2}.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{color:#757575;align-self:flex-start;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{color:#1e1e1e;background-color:initial}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{box-shadow:none}.components-notice-list{max-width:100vw;box-sizing:border-box}.components-notice-list .components-notice__content{margin-top:12px;margin-bottom:12px;line-height:2}.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-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.components-panel__body h3{margin:0 0 .5em}.components-panel__body.is-opened{padding:16px}.components-panel__header{display:flex;justify-content:space-between;align-items:center;padding:0 16px;height:48px;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.components-panel__header h2{margin:0;font-size:inherit;color:inherit}.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;padding:0;font-size:inherit;margin-top:0;margin-bottom:0;transition:background .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body>.components-panel__body-title{transition-duration:0s;transition-delay: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{position:relative;padding:16px 16px 16px 48px;outline:none;width:100%;font-weight:500;text-align:right;color:#1e1e1e;border:none;box-shadow:none;transition:background .1s ease-in-out;height:auto}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button{transition-duration:0s;transition-delay:0s}}.components-panel__body-toggle.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);border-radius:0}.components-panel__body-toggle.components-button .components-panel__arrow{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#1e1e1e;fill:currentColor;transition:color .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button .components-panel__arrow{transition-duration:0s;transition-delay:0s}}body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right{transform:scaleX(-1);-ms-filter:fliph;filter:FlipH;margin-top:-10px}.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{display:flex;justify-content:space-between;align-items:center;margin-top:8px;min-height:36px}.components-panel__row select{min-width:0}.components-panel__row label{margin-left:12px;flex-shrink:0;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{box-sizing:border-box;position:relative;padding:1em;min-height:200px;width:100%;text-align:right;margin:0;color:#1e1e1e;-moz-font-smoothing:subpixel-antialiased;-webkit-font-smoothing:subpixel-antialiased;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;outline:1px solid transparent}@supports (position:sticky){.components-placeholder.components-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}}.components-placeholder.components-placeholder .components-base-control__label{font-size:13px}.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{display:flex;font-weight:600;margin-bottom:16px;align-items:center}.components-placeholder__label .block-editor-block-icon,.components-placeholder__label .dashicon,.components-placeholder__label>svg{fill:currentColor;margin-left:1ch}.components-placeholder__label:empty{display:none}.components-placeholder__fieldset,.components-placeholder__fieldset form{display:flex;flex-direction:row;width:100%;flex-wrap:wrap}.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]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;margin:0 0 0 8px;flex:1 1 auto}@media (prefers-reduced-motion:reduce){.components-placeholder__input[type=url]{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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__preview img{margin:3%;width:50%}.components-placeholder__fieldset .components-button{margin-left:12px;margin-bottom: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-right:10px;margin-left: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-popover{position:fixed;z-index:1000000;top:0;left:0;opacity:0}.components-popover.is-expanded,.components-popover[data-x-axis][data-y-axis]{opacity:1}.components-popover.is-expanded{top:0;left:0;right:0;bottom:0;z-index:1000000!important}.components-popover:not(.is-without-arrow){margin-left:2px}.components-popover:not(.is-without-arrow):before{border:8px solid #ccc}.components-popover:not(.is-without-arrow).is-alternate:before{border-color:#1e1e1e}.components-popover:not(.is-without-arrow):after{border:8px solid #fff}.components-popover:not(.is-without-arrow):after,.components-popover:not(.is-without-arrow):before{content:"";position:absolute;height:0;width:0;line-height:0}.components-popover:not(.is-without-arrow)[data-y-axis=top]{margin-top:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=top]:before{bottom:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=top]:after{bottom:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=top]:after,.components-popover:not(.is-without-arrow)[data-y-axis=top]:before{border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-style:solid;margin-left:-10px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]{margin-top:8px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:before{top:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:after{top:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:after,.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:before{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]{margin-left:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:before{right:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:after{right:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:after,.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:before{border-bottom-color:transparent;border-left-style:solid;border-right:none;border-top-color:transparent}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]{margin-left:8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:before{left:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:after{left:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:after,.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:before{border-bottom-color:transparent;border-left:none;border-right-style:solid;border-top-color:transparent}.components-popover[data-y-axis=top]{bottom:100%}.components-popover[data-y-axis=bottom]{top:100%}.components-popover[data-y-axis=middle]{align-items:center;display:flex}.components-popover.is-from-top{margin-top:12px}.components-popover.is-from-bottom{margin-top:-12px}.components-popover.is-from-left:not(.is-from-top):not(.is-from-bottom){margin-left:12px}.components-popover.is-from-right:not(.is-from-top):not(.is-from-bottom){margin-right:12px}.components-popover__content{height:100%;background:#fff;border:1px solid #ccc;box-shadow:0 2px 6px rgba(0,0,0,.05);border-radius:2px}.is-alternate .components-popover__content{border:1px solid #1e1e1e;box-shadow:none}.components-popover .components-popover__content{position:absolute;height:auto;overflow-y:auto}.components-popover.is-expanded .components-popover__content{position:static;height:calc(100% - 48px);overflow-y:visible;min-width:auto;border:none;border-top:1px solid #1e1e1e}.components-popover[data-y-axis=top] .components-popover__content{bottom:100%}.components-popover[data-x-axis=center] .components-popover__content{left:50%;transform:translateX(-50%)}.components-popover[data-x-axis=right] .components-popover__content{position:absolute;left:100%}.components-popover:not([data-y-axis=middle])[data-x-axis=right] .components-popover__content{margin-left:-25px}.components-popover[data-x-axis=left] .components-popover__content{position:absolute;right:100%}.components-popover:not([data-y-axis=middle])[data-x-axis=left] .components-popover__content{margin-right:-25px}.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-radio-control{display:flex;flex-direction:column}.components-radio-control .components-base-control__help{margin-top:0}.components-radio-control .components-base-control__field{margin-bottom:0}.components-radio-control__option:not(:last-child){margin-bottom:4px}.components-radio-control__input[type=radio]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;font-size:16px;line-height:normal;border:1px solid #1e1e1e;transition:none;border-radius:50%;width:24px;height:24px;margin-top:0;margin-left:6px}@media (prefers-reduced-motion:reduce){.components-radio-control__input[type=radio]{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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{box-sizing:inherit;width:8px;height:8px;transform:translate(-7px,7px);margin:0;background-color:#fff;border:4px solid #fff}@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;width:23px;height:23px;z-index:2}.components-resizable-box__container.has-show-handle .components-resizable-box__handle{display:block}.components-resizable-box__handle:after{display:block;content:"";width:15px;height:15px;border:2px solid var(--wp-admin-theme-color);border-radius:50%;background:#fff;cursor:inherit;position:absolute;top:calc(50% - 8px);left:calc(50% - 8px)}.components-resizable-box__side-handle:before{display:block;border-radius:2px;content:"";width:3px;height:3px;background:var(--wp-admin-theme-color);cursor:inherit;position:absolute;top:calc(50% - 1px);left:calc(50% - 1px);transition:transform .1s ease-in;opacity:0}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle:before{transition-duration:0s;transition-delay: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{width:100%;right:0;border-right:0;border-left:0}.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{height:100%;top:0;border-top:0;border-bottom: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-duration:1ms;animation-delay:0s}}.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-duration:1ms;animation-delay:0s}}@media not all and (-webkit-min-device-pixel-ratio:0),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%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes components-resizable-box__left-right-animation{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity: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{position:relative;max-width:100%}.components-responsive-wrapper,.components-responsive-wrapper>span{display:block}.components-responsive-wrapper__content{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;margin:auto}.components-sandbox{overflow:hidden}iframe.components-sandbox{width:100%}body.lockscroll,html.lockscroll{overflow:hidden}.components-select-control__input{background:#fff;height:36px;line-height:36px;margin:1px;outline:0;width:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)!important}@media (min-width:782px){.components-select-control__input{height:28px;line-height:28px}}@media (max-width:782px){.components-base-control .components-base-control__field .components-select-control__input{font-size:16px}}.components-snackbar{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#1e1e1e;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;width:100%;max-width:600px;box-sizing:border-box;cursor:pointer;pointer-events:auto}@media (min-width:600px){.components-snackbar{width:-moz-fit-content;width:fit-content}}.components-snackbar:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color)}.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;top:24px;right:28px}.components-snackbar .components-snackbar__dismiss-button{margin-right:32px;cursor:pointer}.components-snackbar__action.components-button{margin-right:32px;color:#fff;height:auto;flex-shrink:0;line-height:1.4;padding:0}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary){text-decoration:underline;background-color:initial}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):focus{color:#fff;box-shadow:none;outline:1px dotted #fff}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{color:var(--wp-admin-theme-color)}.components-snackbar__content{display:flex;align-items:baseline;justify-content:space-between;line-height:1.4}.components-snackbar-list{position:absolute;z-index:100000;width:100%;box-sizing:border-box;pointer-events:none}.components-snackbar-list__notice-container{position:relative;padding-top:8px}.components-swatch{width:18px;height:18px;border-radius:50%;color:transparent;background:transparent}.components-swatch:after{content:"";display:block;width:100%;height:100%;border:1px solid rgba(0,0,0,.2);border-radius:50%}.components-button.has-icon.has-text .components-swatch{margin-left:8px}.components-tab-panel__tabs{display:flex;align-items:stretch;flex-direction:row}.components-tab-panel__tabs[aria-orientation=vertical]{flex-direction:column}.components-tab-panel__tabs-item{background:transparent;border:none;box-shadow:none;border-radius:0;cursor:pointer;height:48px;padding:3px 16px;margin-right:0;font-weight:500;transition:box-shadow .1s linear;box-sizing:border-box}.components-tab-panel__tabs-item:after{content:attr(data-label);display:block;height:0;overflow:hidden;speak:none;visibility:hidden}.components-tab-panel__tabs-item:focus:not(:disabled){box-shadow:inset 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-tab-panel__tabs-item.is-active{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) transparent,inset 0 -4px 0 0 var(--wp-admin-theme-color);position:relative}.components-tab-panel__tabs-item.is-active:before{content:"";position:absolute;top:0;bottom:1px;left:0;right:0;border-bottom:4px solid transparent}.components-tab-panel__tabs-item:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-tab-panel__tabs-item.is-active:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 -4px 0 0 var(--wp-admin-theme-color)}.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]{width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal}@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-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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{display:flex;color:#757575}.components-tip svg{align-self:center;fill:#f0b849;flex-shrink:0;margin-left:16px}.components-tip p{margin:0}.components-toggle-control .components-base-control__field{display:flex;margin-bottom:12px;line-height:normal;align-items:center}.components-toggle-control .components-base-control__field .components-form-toggle{margin-left:12px}.components-toggle-control .components-base-control__field .components-toggle-control__label{display:block}.components-accessible-toolbar{display:inline-flex;border:1px solid #1e1e1e;border-radius:2px;flex-shrink:0}.components-accessible-toolbar>.components-toolbar-group:last-child{border-left:none}.components-accessible-toolbar .components-button,.components-toolbar .components-button{position:relative;height:48px;z-index:1;padding-right:16px;padding-left:16px}.components-accessible-toolbar .components-button:focus:enabled,.components-toolbar .components-button:focus:enabled{box-shadow:none;outline:none}.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{content:"";position:absolute;display:block;border-radius:2px;height:32px;right:8px;left:8px;z-index:-1;animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{animation-duration:1ms;animation-delay:0s}}.components-accessible-toolbar .components-button svg,.components-toolbar .components-button svg{position:relative;margin-right:auto;margin-left:auto}.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,.components-toolbar .components-button.has-icon{padding-right:8px;padding-left:8px;min-width:48px;justify-content:center}.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-right:0;padding-left: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{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;left:8px;bottom:10px}.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{min-height:48px;border-left:1px solid #1e1e1e;background-color:#fff;display:inline-flex;flex-shrink:0;flex-wrap:wrap;line-height:0}.components-toolbar-group .components-toolbar-group.components-toolbar-group{border-width:0;margin:0}.components-toolbar{min-height:48px;margin:0;border:1px solid #1e1e1e;background-color:#fff;display:inline-flex;flex-shrink:0;flex-wrap:wrap}.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;position:relative;overflow:visible}div.components-toolbar>div+div.has-left-divider:before{display:inline-block;content:"";box-sizing:initial;background-color:#ddd;position:absolute;top:8px;right:-3px;width:1px;height:20px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>* .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>.components-button.components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child:last-child,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>* .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>* .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>* .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child:last-child,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>* .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child:last-child,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button{min-width:48px;padding-right:12px;padding-left:12px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>* .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child:last-child:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button:before{right:8px;left:8px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:first-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:first-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:first-child>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:first-child>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:first-child>.components-button{min-width:42px;padding-right:11px;padding-left:6px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:first-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:first-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:first-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:first-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:first-child>.components-button:before{right:8px;left:2px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div>.components-button{min-width:36px;padding-right:6px;padding-left:6px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button svg,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown .components-button svg,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown .components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown .components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div>.components-button svg,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button svg,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown .components-button svg,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div>.components-button svg,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button svg,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown .components-button svg,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div>.components-button svg{min-width:24px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div>.components-button:before{right:2px;left:2px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:last-child,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:last-child .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:last-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:last-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:last-child>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:last-child,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:last-child>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:last-child,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:last-child>.components-button{min-width:42px;padding-right:6px;padding-left:11px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:last-child:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:last-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:last-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:last-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:last-child:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:last-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:last-child:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:last-child>.components-button:before{right:2px;left:8px}.components-tooltip.components-popover{z-index:1000002}.components-tooltip.components-popover .components-popover__content{min-width:0}.components-tooltip .components-popover__content{background:#1e1e1e;border-radius:2px;border-width:0;color:#fff;white-space:nowrap;text-align:center;line-height:1.4;font-size:12px;box-shadow:none}.components-tooltip .components-popover__content>div{padding:4px 8px}.components-tooltip__shortcut{display:inline-block;margin-right:8px}.disabled-element-wrapper{position:relative}.disabled-element-wrapper .event-catcher{z-index:100002;position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0}.components-visually-hidden{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.components-visually-hidden:focus{background-color:#ddd;clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#444;display:block;font-size:1em;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000} \ 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}@media (-webkit-min-device-pixel-ratio:2),(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-duration:1ms;animation-delay:0s}}.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-duration:1ms;animation-delay:0s}}.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>div{padding:16px;min-width:220px}.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-admin-theme-color)}.components-button-group{display:inline-block}.components-button-group .components-button{border-radius:0;display:inline-flex;color:#1e1e1e;box-shadow:inset 0 0 0 1px #1e1e1e}.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{display:inline-flex;text-decoration:none;font-weight:400;font-size:13px;margin:0;border:0;cursor:pointer;-webkit-appearance:none;background:none;transition:box-shadow .1s linear;height:36px;align-items:center;box-sizing:border-box;padding:6px 12px;border-radius:2px;color:#1e1e1e}@media (prefers-reduced-motion:reduce){.components-button{transition-duration:0s;transition-delay:0s}}.components-button:hover,.components-button[aria-expanded=true]{color:var(--wp-admin-theme-color)}.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-admin-theme-color);outline:3px solid transparent}.components-button.is-primary{white-space:nowrap;background:var(--wp-admin-theme-color);color:#fff;text-decoration:none;text-shadow:none;outline:1px solid transparent}.components-button.is-primary:hover:not(:disabled){background:var(--wp-admin-theme-color-darker-10);color:#fff}.components-button.is-primary:active:not(:disabled){background:var(--wp-admin-theme-color-darker-20);border-color:var(--wp-admin-theme-color-darker-20);color:#fff}.components-button.is-primary:focus:not(:disabled){box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.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{color:hsla(0,0%,100%,.4);background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);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 #fff,0 0 0 3px var(--wp-admin-theme-color)}.components-button.is-primary.is-busy,.components-button.is-primary.is-busy:disabled,.components-button.is-primary.is-busy[aria-disabled=true]{color:#fff;background-size:100px 100%;background-image:linear-gradient(45deg,var(--wp-admin-theme-color) 33%,var(--wp-admin-theme-color-darker-20) 0,var(--wp-admin-theme-color-darker-20) 70%,var(--wp-admin-theme-color) 0);border-color:var(--wp-admin-theme-color)}.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){background:#ddd;color:var(--wp-admin-theme-color-darker-10);box-shadow:none}.components-button.is-secondary:hover:not(:disabled),.components-button.is-tertiary:hover:not(:disabled){color:var(--wp-admin-theme-color-darker-10);box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color-darker-10)}.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{color:#828282;background:#eaeaea;transform:none;opacity:1;box-shadow:none;outline:none}.components-button.is-secondary{box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color);outline:1px solid transparent}.components-button.is-secondary,.components-button.is-tertiary{white-space:nowrap;color:var(--wp-admin-theme-color);background:transparent}.components-button.is-tertiary{padding:6px}.components-button.is-tertiary .dashicon{display:inline-block;flex:0 0 auto}p+.components-button.is-tertiary{margin-right:-6px}.components-button.is-destructive{color:#cc1818;box-shadow:inset 0 0 0 1px #cc1818}.components-button.is-destructive:hover:not(:disabled){color:#710d0d;box-shadow:inset 0 0 0 1px #710d0d}.components-button.is-destructive:focus:not(:disabled){color:var(--wp-admin-theme-color)}.components-button.is-destructive:active:not(:disabled){background:#ccc}.components-button.is-destructive.is-primary{color:#fff;background:#cc1818;box-shadow:inset 0 0 0 1px #cc1818}.components-button.is-destructive.is-primary:hover:not(:disabled){color:#fff;background:#710d0d;box-shadow:inset 0 0 0 1px #710d0d}.components-button.is-link{margin:0;padding:0;box-shadow:none;border:0;border-radius:0;background:none;outline:none;text-align:right;color:var(--wp-admin-theme-color);text-decoration:underline;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;height:auto}@media (prefers-reduced-motion:reduce){.components-button.is-link{transition-duration:0s;transition-delay:0s}}.components-button.is-link:focus{border-radius:2px}.components-button.is-link.is-destructive{color:#cc1818}.components-button.is-link.is-destructive:active:not(:disabled),.components-button.is-link.is-destructive:hover:not(:disabled){color:#710d0d;background:none}.components-button.is-link.is-destructive:focus:not(:disabled){color:var(--wp-admin-theme-color)}.components-button:not([aria-disabled=true]):active{color:inherit}.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;opacity:1;background-size:100px 100%;background-image:linear-gradient(45deg,#fafafa 33%,#e0e0e0 0,#e0e0e0 70%,#fafafa 0)}.components-button.is-small{height:24px;line-height:22px;padding:0 8px;font-size:11px}.components-button.is-small.has-icon:not(.has-text){padding:0 8px;width:24px}.components-button.has-icon{padding:6px;min-width:36px;justify-content:center}.components-button.has-icon .dashicon{display:inline-block;flex:0 0 auto;margin-right:2px;margin-left:2px}.components-button.has-icon.has-text{justify-content:left}.components-button.has-icon.has-text svg{margin-left:8px}.components-button.has-icon.has-text .dashicon{margin-left:10px}.components-button.is-pressed{color:#fff;background:#1e1e1e}.components-button.is-pressed:focus:not(:disabled){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}.components-button.is-pressed:hover:not(:disabled){color:#fff;background:#1e1e1e}.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]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;font-size:16px;line-height:normal;border:1px solid #1e1e1e;transition:none;border-radius:2px;background:#fff;color:#1e1e1e;clear:none;cursor:pointer;display:inline-block;line-height:0;margin:0 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:top;width:24px;height:24px;-webkit-appearance:none;appearance:none;transition:border-color .1s ease-in-out}@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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]:checked:before,.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{margin:-3px -5px;color:#fff}@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{content:"";float:right;display:inline-block;vertical-align:middle;width:16px;font:normal 30px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@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-duration:0s;transition-delay:0s}}.components-checkbox-control__input[type=checkbox]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.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{content:none}.components-checkbox-control__input-container{position:relative;display:inline-block;margin-left:12px;vertical-align:middle;width:24px;height:24px}@media (min-width:600px){.components-checkbox-control__input-container{width:20px;height:20px}}svg.components-checkbox-control__checked{fill:#fff;cursor:pointer;position:absolute;right:0;top:0;width:24px;height:24px;-webkit-user-select:none;user-select:none;pointer-events:none}@media (min-width:600px){svg.components-checkbox-control__checked{right:-2px;top:-2px}}.components-circular-option-picker{display:inline-block;width:100%;min-width:188px}.components-circular-option-picker .components-circular-option-picker__custom-clear-wrapper{display:flex;justify-content:flex-end}.components-circular-option-picker .components-circular-option-picker__swatches{display:flex;flex-wrap:wrap;gap:12px}.components-circular-option-picker__option-wrapper{display:inline-block;height:28px;width:28px;vertical-align:top;transform:scale(1);transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option-wrapper{transition-duration:0s;transition-delay: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{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:50%;z-index:-1;background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='28' height='28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 8V6H4v2h2zm2 0V6h2v2H8zm2 8H8v-2h2v2zm2 0v-2h2v2h-2zm0 2v-2h-2v2H8v2h2v-2h2zm2 0v2h-2v-2h2zm2 0h-2v-2h2v2z' fill='%23555D65'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18 18h2v-2h-2v-2h2v-2h-2v-2h2V8h-2v2h-2V8h-2v2h2v2h-2v2h2v2h2v2zm-2-4v-2h2v2h-2z' fill='%23555D65'/%3E%3Cpath d='M18 18v2h-2v-2h2z' fill='%23555D65'/%3E%3Cpath fill-rule='evenodd' clip-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' fill='%23555D65'/%3E%3Cpath fill-rule='evenodd' clip-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' fill='%23555D65'/%3E%3C/svg%3E")}.components-circular-option-picker__option{display:inline-block;vertical-align:top;height:100%;width:100%;border:none;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 14px;transition:box-shadow .1s ease;cursor:pointer}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option{transition-duration:0s;transition-delay: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;position:relative;z-index:1;overflow:visible}.components-circular-option-picker__option.is-pressed+svg{position:absolute;right:2px;top:2px;border-radius:50%;z-index:2;pointer-events:none}.components-circular-option-picker__option:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);border:1px solid transparent}.components-circular-option-picker__option:focus:after{content:"";border:2px solid #757575;width:32px;height:32px;position:absolute;top:-2px;right:-2px;border-radius:50%;box-shadow:inset 0 0 0 2px #fff}.components-circular-option-picker__option.components-button:focus{background-color:initial;box-shadow:inset 0 0 0 14px;outline:none}.components-circular-option-picker__button-action .components-circular-option-picker__option{color:#fff;background:#fff}.components-circular-option-picker__dropdown-link-action{margin-left:16px}.components-circular-option-picker__dropdown-link-action .components-button{line-height:22px}@media (min-width:782px){.components-color-edit__color-popover.components-popover .components-popover__content.components-popover__content.components-popover__content{margin-left:156px;margin-top:-49px}}.component-color-indicator{width:25px;height:16px;margin-right:.8rem;border:1px solid #dadada;display:inline-block}.component-color-indicator+.component-color-indicator{margin-right:.5rem}.components-combobox-control{width:100%}input.components-combobox-control__input[type=text]{width:100%;border:none;box-shadow:none;font-size:16px;padding:2px;margin:0;line-height:inherit;min-height:auto}@media (min-width:600px){input.components-combobox-control__input[type=text]{font-size:13px}}input.components-combobox-control__input[type=text]:focus{outline:none;box-shadow:none}.components-combobox-control__suggestions-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;display:flex;flex-wrap:wrap;align-items:flex-start;width:100%;margin:0 0 8px;padding:4px}@media (prefers-reduced-motion:reduce){.components-combobox-control__suggestions-container{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-combobox-control__reset.components-button{display:flex;height:24px;min-width:24px;padding:0}.components-color-list-picker,.components-color-list-picker__swatch-button{width:100%}.components-color-list-picker__color-picker{margin:8px 0}.components-color-palette__custom-color{border:none;background:none;outline:0;display:block;border-radius:2px;height:48px;text-align:left;width:100%;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:100% 0,25px 25px;background-size:50px 50px;box-sizing:border-box;color:#fff;cursor:pointer}.components-custom-gradient-picker__gradient-bar:not(.has-gradient){opacity:.4}.components-custom-gradient-picker__gradient-bar{border-radius:2px;margin-top:12px;width:100%;height:48px;margin-bottom:20px;padding-right:16px}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__markers-container{position:relative;width:calc(100% - 32px);margin-right:auto;margin-left:auto}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point{border-radius:50%;background:#fff;padding:2px;top:16px;min-width:16px;width:16px;height:16px;position:relative;color:#1e1e1e}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point svg{height:100%;width:100%}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button{border-radius:50%;height:16px;width:16px;padding:0;position:absolute;top:16px;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 2px 0 rgba(0,0,0,.25);outline:2px solid transparent}.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:4px solid transparent}.components-custom-gradient-picker__color-picker-popover .components-custom-gradient-picker__remove-control-point{margin-right:auto;margin-left:auto;display:block;margin-bottom:8px}.components-custom-gradient-picker__inserter{direction:ltr;width:100%}.components-custom-gradient-picker__liner-gradient-indicator{display:inline-block;flex:0 auto;width:20px;height:20px}.components-custom-gradient-picker .components-custom-gradient-picker__ui-line{margin-bottom:16px}.components-custom-gradient-picker .components-custom-gradient-picker__ui-line .components-base-control.components-angle-picker,.components-custom-gradient-picker .components-custom-gradient-picker__ui-line .components-base-control.components-custom-gradient-picker__type-picker{margin-bottom:0}.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 .components-input-control__input,.components-custom-gradient-picker .components-select-control__input{height:40px!important}.components-custom-gradient-picker .components-input-control__label{line-height:1;padding-bottom:8px!important}.components-custom-gradient-picker label{text-transform:uppercase;font-size:11px;font-weight:500}.components-custom-select-control{position:relative}.components-custom-select-control__label{display:block;margin-bottom:8px}.components-custom-select-control__button{border:1px solid #757575;border-radius:2px;min-height:30px;min-width:130px;position:relative;text-align:right}.components-custom-select-control__button.components-custom-select-control__button{padding-left:24px}.components-custom-select-control__button:focus:not(:disabled){border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.components-custom-select-control__button .components-custom-select-control__button-icon{height:100%;padding:0;position:absolute;left:0;top:0}.components-custom-select-control__menu{border:1px solid #1e1e1e;background-color:#fff;border-radius:2px;outline:none;transition:none;max-height:400px;min-width:100%;overflow:auto;padding:0;position:absolute;z-index:1000000}.components-custom-select-control__menu[aria-hidden=true]{display:none}.components-custom-select-control__item{align-items:center;display:grid;grid-template-columns:auto auto;list-style-type:none;padding:8px;cursor:default;line-height:28px}.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:#757575;text-align:left;padding-left:4px}.components-custom-select-control__item .components-custom-select-control__item-icon{margin-right:auto}.components-custom-select-control__item:last-child{margin-bottom:0}.PresetDateRangePicker_panel{padding:0 22px 11px}.PresetDateRangePicker_button{position:relative;height:100%;text-align:center;background:0 0;border:2px solid #00a699;color:#00a699;padding:4px 12px;margin-right:8px;font:inherit;font-weight:700;line-height:normal;overflow:visible;box-sizing:border-box;cursor:pointer}.PresetDateRangePicker_button:active{outline:0}.PresetDateRangePicker_button__selected{color:#fff;background:#00a699}.SingleDatePickerInput{display:inline-block;background-color:#fff}.SingleDatePickerInput__withBorder{border-radius:2px;border:1px solid #dbdbdb}.SingleDatePickerInput__rtl{direction:rtl}.SingleDatePickerInput__disabled{background-color:#f2f2f2}.SingleDatePickerInput__block{display:block}.SingleDatePickerInput__showClearDate{padding-right:30px}.SingleDatePickerInput_clearDate{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;padding:10px;margin:0 10px 0 5px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.SingleDatePickerInput_clearDate__default:focus,.SingleDatePickerInput_clearDate__default:hover{background:#dbdbdb;border-radius:50%}.SingleDatePickerInput_clearDate__small{padding:6px}.SingleDatePickerInput_clearDate__hide{visibility:hidden}.SingleDatePickerInput_clearDate_svg{fill:#82888a;height:12px;width:15px;vertical-align:middle}.SingleDatePickerInput_clearDate_svg__small{height:9px}.SingleDatePickerInput_calendarIcon{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;display:inline-block;vertical-align:middle;padding:10px;margin:0 5px 0 10px}.SingleDatePickerInput_calendarIcon_svg{fill:#82888a;height:15px;width:14px;vertical-align:middle}.SingleDatePicker{position:relative;display:inline-block}.SingleDatePicker__block{display:block}.SingleDatePicker_picker{z-index:1;background-color:#fff;position:absolute}.SingleDatePicker_picker__rtl{direction:rtl}.SingleDatePicker_picker__directionLeft{left:0}.SingleDatePicker_picker__directionRight{right:0}.SingleDatePicker_picker__portal{background-color:rgba(0,0,0,.3);position:fixed;top:0;left:0;height:100%;width:100%}.SingleDatePicker_picker__fullScreenPortal{background-color:#fff}.SingleDatePicker_closeButton{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;position:absolute;top:0;right:0;padding:15px;z-index:2}.SingleDatePicker_closeButton:focus,.SingleDatePicker_closeButton:hover{color:#b0b3b4;text-decoration:none}.SingleDatePicker_closeButton_svg{height:15px;width:15px;fill:#cacccd}.DayPickerKeyboardShortcuts_buttonReset{background:0 0;border:0;border-radius:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;cursor:pointer;font-size:14px}.DayPickerKeyboardShortcuts_buttonReset:active{outline:0}.DayPickerKeyboardShortcuts_show{width:22px;position:absolute;z-index:2}.DayPickerKeyboardShortcuts_show__bottomRight{border-top:26px solid transparent;border-right:33px solid #00a699;bottom:0;right:0}.DayPickerKeyboardShortcuts_show__bottomRight:hover{border-right:33px solid #008489}.DayPickerKeyboardShortcuts_show__topRight{border-bottom:26px solid transparent;border-right:33px solid #00a699;top:0;right:0}.DayPickerKeyboardShortcuts_show__topRight:hover{border-right:33px solid #008489}.DayPickerKeyboardShortcuts_show__topLeft{border-bottom:26px solid transparent;border-left:33px solid #00a699;top:0;left:0}.DayPickerKeyboardShortcuts_show__topLeft:hover{border-left:33px solid #008489}.DayPickerKeyboardShortcuts_showSpan{color:#fff;position:absolute}.DayPickerKeyboardShortcuts_showSpan__bottomRight{bottom:0;right:-28px}.DayPickerKeyboardShortcuts_showSpan__topRight{top:1px;right:-28px}.DayPickerKeyboardShortcuts_showSpan__topLeft{top:1px;left:-28px}.DayPickerKeyboardShortcuts_panel{overflow:auto;background:#fff;border:1px solid #dbdbdb;border-radius:2px;position:absolute;top:0;bottom:0;right:0;left:0;z-index:2;padding:22px;margin:33px}.DayPickerKeyboardShortcuts_title{font-size:16px;font-weight:700;margin:0}.DayPickerKeyboardShortcuts_list{list-style:none;padding:0;font-size:14px}.DayPickerKeyboardShortcuts_close{position:absolute;right:22px;top:22px;z-index:2}.DayPickerKeyboardShortcuts_close:active{outline:0}.DayPickerKeyboardShortcuts_closeSvg{height:15px;width:15px;fill:#cacccd}.DayPickerKeyboardShortcuts_closeSvg:focus,.DayPickerKeyboardShortcuts_closeSvg:hover{fill:#82888a}.CalendarDay{box-sizing:border-box;cursor:pointer;font-size:14px;text-align:center}.CalendarDay:active{outline:0}.CalendarDay__defaultCursor{cursor:default}.CalendarDay__default{border:1px solid #e4e7e7;color:#484848;background:#fff}.CalendarDay__default:hover{background:#e4e7e7;border:1px double #e4e7e7;color:inherit}.CalendarDay__hovered_offset{background:#f4f5f5;border:1px double #e4e7e7;color:inherit}.CalendarDay__outside{border:0;background:#fff;color:#484848}.CalendarDay__outside:hover{border:0}.CalendarDay__blocked_minimum_nights{background:#fff;border:1px solid #eceeee;color:#cacccd}.CalendarDay__blocked_minimum_nights:active,.CalendarDay__blocked_minimum_nights:hover{background:#fff;color:#cacccd}.CalendarDay__highlighted_calendar{background:#ffe8bc;color:#484848}.CalendarDay__highlighted_calendar:active,.CalendarDay__highlighted_calendar:hover{background:#ffce71;color:#484848}.CalendarDay__selected_span{background:#66e2da;border:1px solid #33dacd;color:#fff}.CalendarDay__selected_span:active,.CalendarDay__selected_span:hover{background:#33dacd;border:1px solid #33dacd;color:#fff}.CalendarDay__last_in_range{border-right:#00a699}.CalendarDay__selected,.CalendarDay__selected:active,.CalendarDay__selected:hover{background:#00a699;border:1px solid #00a699;color:#fff}.CalendarDay__hovered_span,.CalendarDay__hovered_span:hover{background:#b2f1ec;border:1px solid #80e8e0;color:#007a87}.CalendarDay__hovered_span:active{background:#80e8e0;border:1px solid #80e8e0;color:#007a87}.CalendarDay__blocked_calendar,.CalendarDay__blocked_calendar:active,.CalendarDay__blocked_calendar:hover{background:#cacccd;border:1px solid #cacccd;color:#82888a}.CalendarDay__blocked_out_of_range,.CalendarDay__blocked_out_of_range:active,.CalendarDay__blocked_out_of_range:hover{background:#fff;border:1px solid #e4e7e7;color:#cacccd}.CalendarMonth{background:#fff;text-align:center;vertical-align:top;-webkit-user-select:none;user-select:none}.CalendarMonth_table{border-collapse:collapse;border-spacing:0}.CalendarMonth_verticalSpacing{border-collapse:initial}.CalendarMonth_caption{color:#484848;font-size:18px;text-align:center;padding-top:22px;padding-bottom:37px;caption-side:top}.CalendarMonth_caption__verticalScrollable{padding-top:12px;padding-bottom:7px}.CalendarMonthGrid{background:#fff;text-align:left;z-index:0}.CalendarMonthGrid__animating{z-index:1}.CalendarMonthGrid__horizontal{position:absolute;left:0}.CalendarMonthGrid__vertical{margin:0 auto}.CalendarMonthGrid__vertical_scrollable{margin:0 auto;overflow-y:scroll}.CalendarMonthGrid_month__horizontal{display:inline-block;vertical-align:top;min-height:100%}.CalendarMonthGrid_month__hideForAnimation{position:absolute;z-index:-1;opacity:0;pointer-events:none}.CalendarMonthGrid_month__hidden{visibility:hidden}.DayPickerNavigation{position:relative;z-index:2}.DayPickerNavigation__horizontal{height:0}.DayPickerNavigation__verticalDefault{position:absolute;width:100%;height:52px;bottom:0;left:0}.DayPickerNavigation__verticalScrollableDefault{position:relative}.DayPickerNavigation_button{cursor:pointer;-webkit-user-select:none;user-select:none;border:0;padding:0;margin:0}.DayPickerNavigation_button__default{border:1px solid #e4e7e7;background-color:#fff;color:#757575}.DayPickerNavigation_button__default:focus,.DayPickerNavigation_button__default:hover{border:1px solid #c4c4c4}.DayPickerNavigation_button__default:active{background:#f2f2f2}.DayPickerNavigation_button__horizontalDefault{position:absolute;top:18px;line-height:.78;border-radius:3px;padding:6px 9px}.DayPickerNavigation_leftButton__horizontalDefault{left:22px}.DayPickerNavigation_rightButton__horizontalDefault{right:22px}.DayPickerNavigation_button__verticalDefault{padding:5px;background:#fff;box-shadow:0 0 5px 2px rgba(0,0,0,.1);position:relative;display:inline-block;height:100%;width:50%}.DayPickerNavigation_nextButton__verticalDefault{border-left:0}.DayPickerNavigation_nextButton__verticalScrollableDefault{width:100%}.DayPickerNavigation_svg__horizontal{height:19px;width:19px;fill:#82888a;display:block}.DayPickerNavigation_svg__vertical{height:42px;width:42px;fill:#484848;display:block}.DayPicker{position:relative;text-align:left}.DayPicker,.DayPicker__horizontal{background:#fff}.DayPicker__verticalScrollable{height:100%}.DayPicker__hidden{visibility:hidden}.DayPicker__withBorder{box-shadow:0 2px 6px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.07);border-radius:3px}.DayPicker_portal__horizontal{box-shadow:none;position:absolute;left:50%;top:50%}.DayPicker_portal__vertical{position:static}.DayPicker_focusRegion{outline:0}.DayPicker_calendarInfo__horizontal,.DayPicker_wrapper__horizontal{display:inline-block;vertical-align:top}.DayPicker_weekHeaders{position:relative}.DayPicker_weekHeaders__horizontal{margin-left:13px}.DayPicker_weekHeader{color:#757575;position:absolute;top:62px;z-index:2;text-align:left;padding:0!important}.DayPicker_weekHeader__vertical{left:50%}.DayPicker_weekHeader__verticalScrollable{top:0;display:table-row;border-bottom:1px solid #dbdbdb;background:#fff;margin-left:0;left:0;width:100%;text-align:center}.DayPicker_weekHeader_ul{list-style:none;margin:1px 0;padding-left:0;padding-right:0;font-size:14px}.DayPicker_weekHeader_li{display:inline-block;text-align:center;margin:0 1px}.DayPicker_transitionContainer{position:relative;overflow:hidden;border-radius:3px}.DayPicker_transitionContainer__horizontal{transition:height .2s ease-in-out}.DayPicker_transitionContainer__vertical{width:100%}.DayPicker_transitionContainer__verticalScrollable{padding-top:20px;height:100%;position:absolute;top:0;bottom:0;right:0;left:0;overflow-y:scroll}.DateInput{margin:0;padding:0;background:#fff;position:relative;display:inline-block;width:130px;vertical-align:middle}.DateInput__small{width:97px}.DateInput__block{width:100%}.DateInput__disabled{background:#f2f2f2;color:#dbdbdb}.DateInput_input{font-weight:200;font-size:19px;line-height:24px;color:#484848;background-color:#fff;width:100%;padding:11px 11px 9px;border:0;border-bottom:2px solid transparent;border-radius:0}.DateInput_input__small{font-size:15px;line-height:18px;letter-spacing:.2px;padding:7px 7px 5px}.DateInput_input__regular{font-weight:auto}.DateInput_input__readOnly{-webkit-user-select:none;user-select:none}.DateInput_input__focused{outline:0;background:#fff;border:0;border-bottom:2px solid #008489}.DateInput_input__disabled{background:#f2f2f2;font-style:italic}.DateInput_screenReaderMessage{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.DateInput_fang{position:absolute;width:20px;height:10px;left:22px;z-index:2}.DateInput_fangShape{fill:#fff}.DateInput_fangStroke{stroke:#dbdbdb;fill:transparent}.DateRangePickerInput{background-color:#fff;display:inline-block}.DateRangePickerInput__disabled{background:#f2f2f2}.DateRangePickerInput__withBorder{border-radius:2px;border:1px solid #dbdbdb}.DateRangePickerInput__rtl{direction:rtl}.DateRangePickerInput__block{display:block}.DateRangePickerInput__showClearDates{padding-right:30px}.DateRangePickerInput_arrow{display:inline-block;vertical-align:middle;color:#484848}.DateRangePickerInput_arrow_svg{vertical-align:middle;fill:#484848;height:24px;width:24px}.DateRangePickerInput_clearDates{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;padding:10px;margin:0 10px 0 5px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.DateRangePickerInput_clearDates__small{padding:6px}.DateRangePickerInput_clearDates_default:focus,.DateRangePickerInput_clearDates_default:hover{background:#dbdbdb;border-radius:50%}.DateRangePickerInput_clearDates__hide{visibility:hidden}.DateRangePickerInput_clearDates_svg{fill:#82888a;height:12px;width:15px;vertical-align:middle}.DateRangePickerInput_clearDates_svg__small{height:9px}.DateRangePickerInput_calendarIcon{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;display:inline-block;vertical-align:middle;padding:10px;margin:0 5px 0 10px}.DateRangePickerInput_calendarIcon_svg{fill:#82888a;height:15px;width:14px;vertical-align:middle}.DateRangePicker{position:relative;display:inline-block}.DateRangePicker__block{display:block}.DateRangePicker_picker{z-index:1;background-color:#fff;position:absolute}.DateRangePicker_picker__rtl{direction:rtl}.DateRangePicker_picker__directionLeft{left:0}.DateRangePicker_picker__directionRight{right:0}.DateRangePicker_picker__portal{background-color:rgba(0,0,0,.3);position:fixed;top:0;left:0;height:100%;width:100%}.DateRangePicker_picker__fullScreenPortal{background-color:#fff}.DateRangePicker_closeButton{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;position:absolute;top:0;right:0;padding:15px;z-index:2}.DateRangePicker_closeButton:focus,.DateRangePicker_closeButton:hover{color:#b0b3b4;text-decoration:none}.DateRangePicker_closeButton_svg{height:15px;width:15px;fill:#cacccd}.components-datetime{padding:16px}.components-panel__body .components-datetime{padding:0}.components-datetime .components-datetime__calendar-help{padding:16px;min-width:260px}.components-datetime .components-datetime__calendar-help h4{margin:0}.components-datetime .components-datetime__buttons{display:flex;justify-content:space-between}.components-datetime .components-datetime__date-help-toggle{display:block;margin-right:auto}.components-datetime fieldset{border:0;padding:0;margin:0}.components-datetime input,.components-datetime select{box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575}@media (prefers-reduced-motion:reduce){.components-datetime input,.components-datetime select{transition-duration:0s;transition-delay:0s}}.components-datetime .components-button,.components-datetime input[type=number],.components-datetime select{height:30px;margin-top:0;margin-bottom:0}.components-datetime .components-button:focus{z-index:1}.components-datetime__date{min-height:236px;border-top:1px solid #ddd}.components-datetime__date .DayPickerNavigation_leftButton__horizontalDefault{left:13px}.components-datetime__date .CalendarMonth_caption{font-size:13px}.components-datetime__date .CalendarMonth_table{border-collapse:initial;border-spacing:2px}.components-datetime__date .CalendarDay{font-size:13px;border:none;border-radius:50%;text-align:center}.components-datetime__date .CalendarDay:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 3px #fff;outline:2px solid transparent}.components-datetime__date .CalendarDay__selected{background:var(--wp-admin-theme-color);border:2px solid transparent}.components-datetime__date .CalendarDay__selected:hover{background:var(--wp-admin-theme-color-darker-20)}.components-datetime__date .CalendarDay__selected:focus{box-shadow:inset 0 0 0 1px #fff}.components-datetime__date .DayPickerNavigation_button__horizontalDefault{padding:2px 8px;top:20px}.components-datetime__date .DayPickerNavigation_button__horizontalDefault:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-datetime__date .DayPicker_weekHeader{top:50px}.components-datetime__date .DayPicker_weekHeader .DayPicker_weekHeader_ul{margin:1px;padding-right:0;padding-left:0}.components-datetime__date.is-description-visible .DayPicker{visibility:hidden}.components-datetime__date .CalendarDay .components-datetime__date__day{height:100%;display:flex;justify-content:center;align-content:center;flex-direction:column;position:relative}.components-datetime__date .CalendarDay .components-datetime__date__day.has-events:before{content:" ";width:4px;height:4px;border-radius:2px;position:absolute;right:50%;margin-right:-2px;bottom:0;background-color:#fff}.components-datetime__date .CalendarDay:not(.CalendarDay__selected) .components-datetime__date__day.has-events:before{background:var(--wp-admin-theme-color)}.components-datetime__time{padding-bottom:16px}.components-datetime__time fieldset{position:relative;margin-bottom:.5em}.components-datetime__time fieldset+fieldset{margin-bottom:0}.components-datetime__time .components-datetime__time-field-am-pm fieldset{margin-top:0}.components-datetime__time .components-datetime__time-wrapper{display:flex}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-separator{display:inline-block;padding:0 0 0 3px}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field-time{direction:ltr}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field select{margin-left:4px}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field select:focus{position:relative;z-index:1}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]{padding:2px;margin-left:4px;text-align:center;-moz-appearance:textfield}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]:focus{position:relative;z-index:1}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.components-datetime__time.is-12-hour .components-datetime__time-field-day input{margin:-4px 0 0!important;border-radius:0 2px 2px 0!important}.components-datetime__time.is-12-hour .components-datetime__time-field-year input{border-radius:2px 0 0 2px!important}.components-datetime__timezone{line-height:30px;margin-right:4px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.components-datetime__time-legend{font-weight:600;margin-top:.5em}.components-datetime__time-legend.invisible{position:absolute;top:-999em;right:-999em}.components-datetime__time-field-day-input,.components-datetime__time-field-hours-input,.components-datetime__time-field-minutes-input{width:35px}.components-datetime__time-field-year-input{width:55px}.components-datetime__time-field-month-select{max-width:145px}.components-popover .components-datetime__date{padding-right:4px}.block-editor-dimension-control .components-base-control__field{display:flex;align-items:center}.block-editor-dimension-control .components-base-control__label{display:flex;align-items:center;margin-left:1em;margin-bottom:0}.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{position:fixed;right:-1000px;height:50px;width:50px}.components-draggable__clone{position:fixed;padding:0;background:transparent;pointer-events:none;z-index:1000000000}.components-drop-zone{position:absolute;top:0;left:0;bottom:0;right:0;z-index:40;visibility:hidden;opacity:0;border-radius:2px}.components-drop-zone.is-active{opacity:1;visibility:visible}.components-drop-zone__content{position:absolute;top:0;bottom:0;right:0;left:0;height:100%;width:100%;display:flex;background-color:var(--wp-admin-theme-color);align-items:center;justify-content:center;z-index:50;text-align:center;color:#fff}.components-drop-zone__content-icon,.components-drop-zone__content-text{display:block}.components-drop-zone__content-icon{margin:0 auto;line-height:0;fill:currentColor;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>div{padding:8px}.components-dropdown__content [role=menuitem]{white-space:nowrap}.components-dropdown-menu__menu{width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.4}.components-dropdown-menu__menu .components-dropdown-menu__menu-item,.components-dropdown-menu__menu .components-menu-item{width:100%;padding:6px;outline:none;cursor:pointer;white-space:nowrap}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator,.components-dropdown-menu__menu .components-menu-item.has-separator{margin-top:6px;position:relative;overflow:visible}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator:before,.components-dropdown-menu__menu .components-menu-item.has-separator:before{display:block;content:"";box-sizing:initial;background-color:#ddd;position:absolute;top:-3px;right:0;left:0;height:1px}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-active svg,.components-dropdown-menu__menu .components-menu-item.is-active svg{color:#fff;background:#1e1e1e;box-shadow:0 0 0 1px #1e1e1e;border-radius:1px}.components-dropdown-menu__menu .components-dropdown-menu__menu-item>svg,.components-dropdown-menu__menu .components-menu-item>svg{border-radius:2px;width:24px;height:24px}.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{min-height:36px;height:auto;text-align:right;padding-right:8px;padding-left:8px}.components-dropdown-menu__menu .components-menu-group{padding:8px;margin:0 -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{margin-top:0;border-top:1px solid #ccc;padding:8px}.is-alternate .components-dropdown-menu__menu .components-menu-group+.components-menu-group{border-color:#1e1e1e}.components-font-size-picker__header__hint{margin-right:4px;color:#757575}.components-font-size-picker__header .components-button.is-small.has-icon:not(.has-text){min-width:24px;padding:0}.components-font-size-picker__controls{max-width:248px;align-items:center;margin-top:8px;margin-bottom:24px}.components-font-size-picker__controls .components-unit-control-wrapper .components-input-control__label{font-weight:300;padding-bottom:0!important;margin-bottom:8px!important}.components-font-size-picker__controls .components-custom-select-control__button{width:100%}.components-font-size-picker__controls .components-font-size-picker__number{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;display:inline-block;font-weight:500;height:30px;margin:8px 0 0 8px;width:54px}@media (prefers-reduced-motion:reduce){.components-font-size-picker__controls .components-font-size-picker__number{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.components-font-size-picker__controls .components-font-size-picker__number{font-size:13px;line-height:normal}}.components-font-size-picker__controls .components-font-size-picker__number:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-font-size-picker__controls .components-font-size-picker__number::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-font-size-picker__controls .components-font-size-picker__number::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.components-font-size-picker__controls .components-font-size-picker__number:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-font-size-picker__controls .components-font-size-picker__number[value=""]+.components-button{cursor:default;opacity:.3;pointer-events:none}.components-font-size-picker__controls .components-font-size-picker__number-container{display:flex;flex-direction:column}.components-font-size-picker__controls .components-color-palette__clear{height:30px}.components-font-size-picker__custom-input .components-range-control__slider+.dashicon{width:30px;height:30px}.components-font-size-picker{border:0;padding:0;margin:0}.components-form-toggle{position:relative;display:inline-block}.components-form-toggle .components-form-toggle__track{content:"";display:inline-block;box-sizing:border-box;vertical-align:top;background-color:#fff;border:1px solid #1e1e1e;width:36px;height:18px;border-radius:9px;transition:background .2s ease}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__track{transition-duration:0s;transition-delay:0s}}.components-form-toggle .components-form-toggle__thumb{display:block;position:absolute;box-sizing:border-box;top:3px;right:3px;width:12px;height:12px;border-radius:50%;transition:transform .1s ease;background-color:#1e1e1e;border:5px solid #1e1e1e}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__thumb{transition-duration:0s;transition-delay:0s}}.components-form-toggle.is-checked .components-form-toggle__track{background-color:var(--wp-admin-theme-color);border:9px solid transparent}.components-form-toggle .components-form-toggle__input:focus+.components-form-toggle__track{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);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]{position:absolute;top:0;right:0;width:100%;height:100%;opacity:0;margin:0;padding:0;z-index:1;border:none}.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{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;display:flex;flex-wrap:wrap;align-items:center;width:100%;margin:0 0 8px;padding:2px 4px;cursor:text}@media (prefers-reduced-motion:reduce){.components-form-token-field__input-container{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-form-token-field__input-container input[type=text].components-form-token-field__input{display:inline-block;flex:1;font-size:16px;width:100%;max-width:100%;margin-right:4px;padding:0;min-height:24px;min-width:50px;background:inherit;border:0;color:#1e1e1e;box-shadow:none}@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{outline:none;box-shadow: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__label{display:inline-block;margin-bottom:4px}.components-form-token-field__help{font-size:12px;font-style:normal;color:#757575}.components-form-token-field__token{font-size:13px;display:flex;margin:2px 0 2px 4px;color:#1e1e1e;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{position:relative;padding:0 0 0 16px}.components-form-token-field__token.is-borderless .components-form-token-field__token-text{background:transparent;color:var(--wp-admin-theme-color)}.components-form-token-field__token.is-borderless .components-form-token-field__remove-token{background:transparent;color:#757575;position:absolute;top:1px;left:0}.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{color:#cc1818;border-radius:0 4px 4px 0;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{display:inline-block;line-height:24px;height:auto;background:#ddd;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{transition-duration:0s;transition-delay:0s;animation-duration:1ms;animation-delay:0s}}.components-form-token-field__token-text{border-radius:0 2px 2px 0;padding:0 8px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.components-form-token-field__remove-token.components-button{cursor:pointer;border-radius:2px 0 0 2px;padding:0 2px;color:#1e1e1e;line-height:10px;overflow:initial}.components-form-token-field__remove-token.components-button:hover{color:#1e1e1e}.components-form-token-field__suggestions-list{flex:1 0 100%;min-width:100%;max-height:9em;overflow-y:auto;transition:all .15s ease-in-out;list-style:none;border-top:1px solid #757575;margin:4px -4px -4px;padding:0}@media (prefers-reduced-motion:reduce){.components-form-token-field__suggestions-list{transition-duration:0s;transition-delay:0s}}.components-form-token-field__suggestion{color:#757575;display:block;font-size:13px;padding:4px 8px;margin:0;cursor:pointer}.components-form-token-field__suggestion.is-selected{background:var(--wp-admin-theme-color);color:#fff}.components-form-token-field__suggestion-match{text-decoration:underline}@media (min-width:600px){.components-guide{width:600px}}.components-guide .components-modal__content{padding:0;margin-top:0;border-radius:2px}.components-guide .components-modal__content:before{content:none}.components-guide .components-modal__header{border-bottom:none;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:30px;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{height:30px;min-width:20px;margin:-6px 0}.components-modal__frame.components-guide{border:none;min-width:312px;height:80vh;max-height:575px}@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{height:30px;position:absolute}.components-button.components-guide__back-button,.components-button.components-guide__forward-button{font-size:13px;padding:4px 2px}.components-button.components-guide__back-button.has-text svg,.components-button.components-guide__forward-button.has-text svg{margin:0}.components-button.components-guide__back-button:hover,.components-button.components-guide__forward-button:hover{text-decoration:underline}.components-button.components-guide__back-button{right:32px}.components-button.components-guide__forward-button{left:32px;color:#1386bf;font-weight:700}.components-button.components-guide__finish-button{left:32px}.components-button.components-guide__inline-finish-button{display:none}[role=region]{position:relative}.is-focusing-regions [role=region]:focus:after{content:"";position:absolute;top:0;bottom:0;right:0;left:0;pointer-events:none;outline:4px solid transparent;box-shadow:inset 0 0 0 4px var(--wp-admin-theme-color)}@supports (outline-offset:1px){.is-focusing-regions [role=region]:focus:after{content:none}.is-focusing-regions [role=region]:focus{outline-style:solid;outline-color:var(--wp-admin-theme-color);outline-width:4px;outline-offset:-4px}}.components-menu-group+.components-menu-group{margin-top:8px;padding-top:8px;border-top:1px solid #1e1e1e}.components-menu-group+.components-menu-group.has-hidden-separator{border-top:none;margin-top:0;padding-top:0}.components-menu-group__label{padding:0 8px;margin-top:4px;margin-bottom:12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500;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{padding-left:48px}.components-menu-item__button.components-button .components-menu-items__item-icon,.components-menu-item__button .components-menu-items__item-icon{display:inline-block;flex:0 0 auto}.components-menu-item__button.components-button .components-menu-items__item-icon.has-icon-right,.components-menu-item__button .components-menu-items__item-icon.has-icon-right{margin-left:-2px;margin-right:24px}.components-menu-item__button.components-button .components-menu-item__shortcut+.components-menu-items__item-icon.has-icon-right,.components-menu-item__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-right:-2px;margin-left: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-left:0}.components-menu-item__info-wrapper{display:flex;flex-direction:column;margin-left:auto}.components-menu-item__info{margin-top:4px;font-size:12px;color:#757575;white-space:normal}.components-menu-item__item{white-space:nowrap;min-width:160px;margin-left:auto;display:inline-flex;align-items:center}.components-menu-item__shortcut{align-self:center;margin-left:0;margin-right:auto;padding-right:24px;color:currentColor;display:none}@media (min-width:480px){.components-menu-item__shortcut{display:inline}}.components-menu-items-choice.components-button svg,.components-menu-items-choice 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{position:fixed;top:0;left:0;bottom:0;right:0;background-color:rgba(0,0,0,.35);z-index:100000;display:flex;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-modal__screen-overlay{animation-duration:1ms;animation-delay:0s}}.components-modal__frame{margin:0;width:100%;background:#fff;box-shadow:0 10px 10px rgba(0,0,0,.25);border-radius:2px;overflow:hidden;display:flex}@media (min-width:600px){.components-modal__frame{margin:auto;width:auto;min-width:360px;max-width:calc(100% - 32px);max-height:calc(100% - 120px);animation:components-modal__appear-animation .1s ease-out;animation-fill-mode:forwards}}@media (min-width:600px) and (prefers-reduced-motion:reduce){.components-modal__frame{animation-duration:1ms;animation-delay:0s}}@media (min-width:600px){.components-modal__frame.is-full-screen{width:90vw;min-height:90vh}}@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{box-sizing:border-box;border-bottom:1px solid #ddd;padding:0 32px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:60px;width:100%;z-index:10;position:absolute;top:0;right:0}.components-modal__header .components-modal__header-heading{font-size:1rem;font-weight:600}.components-modal__header h1{line-height:1;margin:0}.components-modal__header .components-button{position:relative;right:8px}.components-modal__header-heading-container{align-items:center;flex-grow:1;display:flex;flex-direction:row;justify-content:left}.components-modal__header-icon-container{display:inline-block}.components-modal__header-icon-container svg{max-width:36px;max-height:36px;padding:8px}.components-modal__content{flex:1;margin-top:60px;padding:0 32px 24px;overflow:auto}.components-modal__content:before{content:"";display:block;margin-bottom:24px}.components-notice{display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#fff;border-right:4px solid var(--wp-admin-theme-color);margin:5px 15px 2px;padding:8px 12px;align-items:center}.components-notice.is-dismissible{padding-left:36px;position:relative}.components-notice.is-success{border-right-color:#4ab866;background-color:#eff9f1}.components-notice.is-warning{border-right-color:#f0b849;background-color:#fef8ee}.components-notice.is-error{border-right-color:#cc1818;background-color:#f4a2a2}.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{color:#757575;align-self:flex-start;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{color:#1e1e1e;background-color:initial}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{box-shadow:none}.components-notice-list{max-width:100vw;box-sizing:border-box}.components-notice-list .components-notice__content{margin-top:12px;margin-bottom:12px;line-height:2}.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-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.components-panel__body h3{margin:0 0 .5em}.components-panel__body.is-opened{padding:16px}.components-panel__header{display:flex;justify-content:space-between;align-items:center;padding:0 16px;height:48px;border-bottom:1px solid #ddd}.components-panel__header h2{margin:0;font-size:inherit;color:inherit}.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;padding:0;font-size:inherit;margin-top:0;margin-bottom:0;transition:background .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body>.components-panel__body-title{transition-duration:0s;transition-delay: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{position:relative;padding:16px 16px 16px 48px;outline:none;width:100%;font-weight:500;text-align:right;color:#1e1e1e;border:none;box-shadow:none;transition:background .1s ease-in-out;height:auto}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button{transition-duration:0s;transition-delay:0s}}.components-panel__body-toggle.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);border-radius:0}.components-panel__body-toggle.components-button .components-panel__arrow{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#1e1e1e;fill:currentColor;transition:color .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button .components-panel__arrow{transition-duration:0s;transition-delay:0s}}body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right{transform:scaleX(-1);-ms-filter:fliph;filter:FlipH;margin-top:-10px}.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{display:flex;justify-content:space-between;align-items:center;margin-top:8px;min-height:36px}.components-panel__row select{min-width:0}.components-panel__row label{margin-left:12px;flex-shrink:0;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{box-sizing:border-box;position:relative;padding:1em;min-height:200px;width:100%;text-align:right;margin:0;color:#1e1e1e;-moz-font-smoothing:subpixel-antialiased;-webkit-font-smoothing:subpixel-antialiased;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;outline:1px solid transparent}@supports (position:sticky){.components-placeholder.components-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}}.components-placeholder.components-placeholder .components-base-control__label{font-size:13px}.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{display:flex;font-weight:600;margin-bottom:16px;align-items:center}.components-placeholder__label .block-editor-block-icon,.components-placeholder__label .dashicon,.components-placeholder__label>svg{margin-left:1ch;fill:currentColor}@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;width:100%;flex-wrap:wrap}.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]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;margin:0 0 0 8px;flex:1 1 auto}@media (prefers-reduced-motion:reduce){.components-placeholder__input[type=url]{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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__preview img{margin:3%;width:50%}.components-placeholder__fieldset .components-button{margin-left:12px;margin-bottom: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-right:10px;margin-left: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-popover{position:fixed;z-index:1000000;top:0;left:0;opacity:0}.components-popover.is-expanded,.components-popover[data-x-axis][data-y-axis]{opacity:1}.components-popover.is-expanded{top:0;left:0;right:0;bottom:0;z-index:1000000!important}.components-popover:not(.is-without-arrow){margin-left:2px}.components-popover:not(.is-without-arrow):before{border:8px solid #ccc}.components-popover:not(.is-without-arrow).is-alternate:before{border-color:#1e1e1e}.components-popover:not(.is-without-arrow):after{border:8px solid #fff}.components-popover:not(.is-without-arrow):after,.components-popover:not(.is-without-arrow):before{content:"";position:absolute;height:0;width:0;line-height:0}.components-popover:not(.is-without-arrow)[data-y-axis=top]{margin-top:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=top]:before{bottom:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=top]:after{bottom:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=top]:after,.components-popover:not(.is-without-arrow)[data-y-axis=top]:before{border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-style:solid;margin-left:-10px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]{margin-top:8px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:before{top:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:after{top:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:after,.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:before{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]{margin-left:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:before{right:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:after{right:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:after,.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:before{border-bottom-color:transparent;border-left-style:solid;border-right:none;border-top-color:transparent}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]{margin-left:8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:before{left:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:after{left:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:after,.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:before{border-bottom-color:transparent;border-left:none;border-right-style:solid;border-top-color:transparent}.components-popover[data-y-axis=top]{bottom:100%}.components-popover[data-y-axis=bottom]{top:100%}.components-popover[data-y-axis=middle]{align-items:center;display:flex}.components-popover.is-from-top{margin-top:12px}.components-popover.is-from-bottom{margin-top:-12px}.components-popover.is-from-left:not(.is-from-top):not(.is-from-bottom){margin-left:12px}.components-popover.is-from-right:not(.is-from-top):not(.is-from-bottom){margin-right:12px}.components-popover__content{height:100%;background:#fff;border:1px solid #ccc;box-shadow:0 2px 6px rgba(0,0,0,.05);border-radius:2px}.is-alternate .components-popover__content{border:1px solid #1e1e1e;box-shadow:none}.components-popover .components-popover__content{position:absolute;height:auto;overflow-y:auto}.components-popover.is-expanded .components-popover__content{position:static;height:calc(100% - 48px);overflow-y:visible;min-width:auto;border:none;border-top:1px solid #1e1e1e}.components-popover[data-y-axis=top] .components-popover__content{bottom:100%}.components-popover[data-x-axis=center] .components-popover__content{left:50%;transform:translateX(-50%)}.components-popover[data-x-axis=right] .components-popover__content{position:absolute;left:100%}.components-popover:not([data-y-axis=middle])[data-x-axis=right] .components-popover__content{margin-left:-25px}.components-popover[data-x-axis=left] .components-popover__content{position:absolute;right:100%}.components-popover:not([data-y-axis=middle])[data-x-axis=left] .components-popover__content{margin-right:-25px}.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-radio-control{display:flex;flex-direction:column}.components-radio-control .components-base-control__help{margin-top:0}.components-radio-control .components-base-control__field{margin-bottom:0}.components-radio-control__option:not(:last-child){margin-bottom:4px}.components-radio-control__input[type=radio]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;font-size:16px;line-height:normal;border:1px solid #1e1e1e;transition:none;border-radius:50%;width:24px;height:24px;margin-top:0;margin-left:6px}@media (prefers-reduced-motion:reduce){.components-radio-control__input[type=radio]{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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{box-sizing:inherit;width:8px;height:8px;transform:translate(-7px,7px);margin:0;background-color:#fff;border:4px solid #fff}@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;width:23px;height: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{display:block;content:"";width:15px;height:15px;border-radius:50%;background:#fff;cursor:inherit;position:absolute;top:calc(50% - 8px);left:calc(50% - 8px);box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.components-resizable-box__side-handle:before{display:block;border-radius:2px;content:"";width:3px;height:3px;background:var(--wp-admin-theme-color);cursor:inherit;position:absolute;top:calc(50% - 1px);left:calc(50% - 1px);transition:transform .1s ease-in;opacity:0}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle:before{transition-duration:0s;transition-delay: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{width:100%;right:0;border-right:0;border-left:0}.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{height:100%;top:0;border-top:0;border-bottom: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-duration:1ms;animation-delay:0s}}.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-duration:1ms;animation-delay:0s}}@media not all and (-webkit-min-device-pixel-ratio:0),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%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes components-resizable-box__left-right-animation{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity: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{position:relative;max-width:100%}.components-responsive-wrapper,.components-responsive-wrapper>span{display:block}.components-responsive-wrapper__content{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;margin:auto}.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{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;line-height:normal;display:block;padding:16px 16px 16px 48px;background:#f0f0f0;border:none;width:100%;height:48px;font-size:16px}@media (prefers-reduced-motion:reduce){.components-search-control input[type=search].components-search-control__input{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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-admin-theme-color)}.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__icon{position:absolute;top:0;left:12px;bottom:0;display:flex;align-items:center}.components-search-control__icon>svg{margin:8px 0}.components-search-control__input-wrapper{position:relative}.components-select-control__input{background:#fff;height:36px;line-height:36px;margin:1px;outline:0;width:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)!important}@media (min-width:782px){.components-select-control__input{height:28px;line-height:28px}}@media (max-width:782px){.components-base-control .components-base-control__field .components-select-control__input{font-size:16px}}.components-snackbar{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#1e1e1e;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;width:100%;max-width:600px;box-sizing:border-box;cursor:pointer;pointer-events:auto}@media (min-width:600px){.components-snackbar{width:-moz-fit-content;width:fit-content}}.components-snackbar:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color)}.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;top:24px;right:28px}.components-snackbar .components-snackbar__dismiss-button{margin-right:32px;cursor:pointer}.components-snackbar__action.components-button{margin-right:32px;color:#fff;height:auto;flex-shrink:0;line-height:1.4;padding:0}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary){text-decoration:underline;background-color:initial}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):focus{color:#fff;box-shadow:none;outline:1px dotted #fff}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{color:var(--wp-admin-theme-color)}.components-snackbar__content{display:flex;align-items:baseline;justify-content:space-between;line-height:1.4}.components-snackbar-list{position:absolute;z-index:100000;width:100%;box-sizing:border-box;pointer-events:none}.components-snackbar-list__notice-container{position:relative;padding-top:8px}.components-swatch{width:18px;height:18px;border-radius:50%;color:transparent;background:transparent}.components-swatch:after{content:"";display:block;width:100%;height:100%;border:1px solid rgba(0,0,0,.2);border-radius:50%}.components-button.has-icon.has-text .components-swatch{margin-left:8px}.components-tab-panel__tabs{display:flex;align-items:stretch;flex-direction:row}.components-tab-panel__tabs[aria-orientation=vertical]{flex-direction:column}.components-tab-panel__tabs-item{background:transparent;border:none;box-shadow:none;border-radius:0;cursor:pointer;height:48px;padding:3px 16px;margin-right:0;font-weight:500;transition:box-shadow .1s linear;box-sizing:border-box}.components-tab-panel__tabs-item:after{content:attr(data-label);display:block;height:0;overflow:hidden;speak:none;visibility:hidden}.components-tab-panel__tabs-item:focus:not(:disabled){box-shadow:inset 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-tab-panel__tabs-item.is-active{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) transparent,inset 0 -4px 0 0 var(--wp-admin-theme-color);position:relative}.components-tab-panel__tabs-item.is-active:before{content:"";position:absolute;top:0;bottom:1px;left:0;right:0;border-bottom:4px solid transparent}.components-tab-panel__tabs-item:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-tab-panel__tabs-item.is-active:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 -4px 0 0 var(--wp-admin-theme-color)}.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]{width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal}@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-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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{display:flex;color:#757575}.components-tip svg{align-self:center;fill:#f0b849;flex-shrink:0;margin-left:16px}.components-tip p{margin:0}.components-toggle-control .components-base-control__field{display:flex;margin-bottom:12px;line-height:normal;align-items:center}.components-toggle-control .components-base-control__field .components-form-toggle{margin-left:12px}.components-toggle-control .components-base-control__field .components-toggle-control__label{display:block}.components-accessible-toolbar{display:inline-flex;border:1px solid #1e1e1e;border-radius:2px;flex-shrink:0}.components-accessible-toolbar>.components-toolbar-group:last-child{border-left:none}.components-accessible-toolbar .components-button,.components-toolbar .components-button{position:relative;height:48px;z-index:1;padding-right:16px;padding-left:16px}.components-accessible-toolbar .components-button:focus:enabled,.components-toolbar .components-button:focus:enabled{box-shadow:none;outline:none}.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{content:"";position:absolute;display:block;border-radius:2px;height:32px;right:8px;left:8px;z-index:-1;animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{animation-duration:1ms;animation-delay:0s}}.components-accessible-toolbar .components-button svg,.components-toolbar .components-button svg{position:relative;margin-right:auto;margin-left:auto}.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{padding-right:12px;padding-left:12px;min-width:48px}.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-right:0;padding-left: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{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;left:8px;bottom:10px}.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{min-height:48px;border-left:1px solid #1e1e1e;background-color:#fff;display:inline-flex;flex-shrink:0;flex-wrap:wrap;line-height:0}.components-toolbar-group .components-toolbar-group.components-toolbar-group{border-width:0;margin:0}.components-toolbar{min-height:48px;margin:0;border:1px solid #1e1e1e;background-color:#fff;display:inline-flex;flex-shrink:0;flex-wrap:wrap}.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;position:relative;overflow:visible}div.components-toolbar>div+div.has-left-divider:before{display:inline-block;content:"";box-sizing:initial;background-color:#ddd;position:absolute;top:8px;right:-3px;width:1px;height:20px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>* .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>.components-button.components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child:last-child,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>* .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>* .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>* .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child:last-child,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>* .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child:last-child,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button{min-width:48px;padding-right:12px;padding-left:12px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>* .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child:last-child:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button:before{right:8px;left:8px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:first-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:first-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:first-child>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:first-child>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:first-child>.components-button{min-width:42px;padding-right:11px;padding-left:6px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:first-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:first-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:first-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:first-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:first-child>.components-button:before{right:8px;left:2px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div>.components-button{min-width:36px;padding-right:6px;padding-left:6px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button svg,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown .components-button svg,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown .components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown .components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div>.components-button svg,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button svg,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown .components-button svg,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div>.components-button svg,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button svg,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown .components-button svg,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div>.components-button svg{min-width:24px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div>.components-button:before{right:2px;left:2px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:last-child,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:last-child .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:last-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:last-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:last-child>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:last-child,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:last-child>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:last-child,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:last-child>.components-button{min-width:42px;padding-right:6px;padding-left:11px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:last-child:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:last-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:last-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:last-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:last-child:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:last-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:last-child:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:last-child>.components-button:before{right:2px;left:8px}.components-tooltip.components-popover{z-index:1000002}.components-tooltip.components-popover .components-popover__content{min-width:0}.components-tooltip .components-popover__content{background:#1e1e1e;border-radius:2px;border-width:0;color:#fff;white-space:nowrap;text-align:center;line-height:1.4;font-size:12px;box-shadow:none}.components-tooltip .components-popover__content>div{padding:4px 8px}.components-tooltip__shortcut{display:inline-block;margin-right:8px}.disabled-element-wrapper{position:relative}.disabled-element-wrapper .event-catcher{z-index:100002;position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0} \ 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 4d221aa5cd..af5b8d5f67 100644 --- a/wp-includes/css/dist/components/style.css +++ b/wp-includes/css/dist/components/style.css @@ -41,6 +41,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -71,8 +77,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -162,7 +171,7 @@ width: 100%; } .components-autocomplete__result.components-button.is-selected { - box-shadow: 0 0 0 2px var(--wp-admin-theme-color); + box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); } .components-button-group { @@ -318,6 +327,9 @@ display: inline-block; flex: 0 0 auto; } +p + .components-button.is-tertiary { + margin-left: -6px; +} .components-button.is-destructive { color: #cc1818; box-shadow: inset 0 0 0 1px #cc1818; @@ -438,6 +450,11 @@ fill: currentColor; outline: none; } +@media (forced-colors: active) { + .components-button svg { + fill: CanvasText; + } +} .components-button .components-visually-hidden { height: auto; } @@ -621,15 +638,15 @@ svg.components-checkbox-control__checked { justify-content: flex-end; } .components-circular-option-picker .components-circular-option-picker__swatches { - margin-right: -12px; + display: flex; + flex-wrap: wrap; + gap: 12px; } .components-circular-option-picker__option-wrapper { display: inline-block; height: 28px; width: 28px; - margin-right: 12px; - margin-bottom: 12px; vertical-align: top; transform: scale(1); transition: 100ms transform ease; @@ -736,55 +753,12 @@ svg.components-checkbox-control__checked { line-height: 22px; } -.components-color-edit__color-option-main-area { - display: flex; - align-items: center; +@media (min-width: 782px) { + .components-color-edit__color-popover.components-popover .components-popover__content.components-popover__content.components-popover__content { + margin-right: 156px; + margin-top: -49px; + } } -.components-color-edit__color-option-main-area div.components-circular-option-picker__option-wrapper { - display: block; - margin: 8px; -} - -.components-color-edit__color-option.is-hover { - background: #e0e0e0; -} - -.components-color-edit__cancel-button { - float: right; -} - -.components-color-edit__color-option-color-name { - width: 100%; -} - -.components-color-edit__label-and-insert-container { - display: flex; - align-items: center; - justify-content: space-between; -} - -.components-color-edit__insert-button { - margin-top: -8px; -} - -.components-color-edit__hidden-control { - position: relative; - left: -9999px; -} - -.components-color-edit__color-option-color-name-input .components-base-control__field { - margin-bottom: 0; - margin-right: 8px; -} - -.components-color-edit__slug-input { - margin-left: 8px; -} - -.components-color-edit__reset-button { - float: right; -} - .component-color-indicator { width: 25px; height: 16px; @@ -796,250 +770,6 @@ svg.components-checkbox-control__checked { margin-left: 0.5rem; } -/** - * Parts of this source were derived and modified from react-color, - * released under the MIT license. - * - * https://github.com/casesandberg/react-color/ - * - * Copyright (c) 2015 Case Sandberg - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -.components-color-picker { - width: 100%; -} -.components-color-picker * { - box-sizing: border-box; -} - -.components-color-picker__saturation { - width: 100%; - padding-bottom: 55%; - position: relative; -} - -.components-color-picker__body { - padding: 16px 16px 12px; -} - -.components-color-picker__controls { - display: flex; -} - -.components-color-picker__saturation-pointer, -.components-color-picker__hue-pointer, -.components-color-picker__alpha-pointer { - padding: 0; - position: absolute; - cursor: pointer; - box-shadow: none; - border: none; -} - -/* CURRENT COLOR COMPONENT */ -.components-color-picker__swatch { - margin-right: 8px; - width: 32px; - height: 32px; - border-radius: 50%; - position: relative; - overflow: hidden; - background-image: linear-gradient(45deg, #ddd 25%, transparent 25%), linear-gradient(-45deg, #ddd 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #ddd 75%), linear-gradient(-45deg, transparent 75%, #ddd 75%); - background-size: 10px 10px; - background-position: 0 0, 0 5px, 5px -5px, -5px 0; -} -.is-alpha-disabled .components-color-picker__swatch { - width: 12px; - height: 12px; - margin-top: 0; -} - -.components-color-picker__active { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - border-radius: 50%; - box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1); - z-index: 2; -} - -/* SATURATION COMPONENT */ -.components-color-picker__saturation-color, -.components-color-picker__saturation-white, -.components-color-picker__saturation-black { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; -} - -.components-color-picker__saturation-color { - overflow: visible; -} - -.components-color-picker__saturation-white { - /*rtl:ignore*/ - background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0)); -} - -.components-color-picker__saturation-black { - background: linear-gradient(to top, #000, rgba(0, 0, 0, 0)); -} - -.components-button.components-color-picker__saturation-pointer { - width: 14px; - height: 14px; - padding: 0; - border-radius: 50%; - background-color: transparent; - transform: translate(-50%, -50%); - box-shadow: 0 0 0 1px #fff, inset 0 0 0 1px #000, 0 0 0 2px #000; -} -.components-button.components-color-picker__saturation-pointer:focus:not(:disabled) { - box-shadow: 0 0 0 2px #fff, inset 0 0 0 1px #000, 0 0 0 3px #000; -} - -/* HUE & ALPHA BARS */ -.components-color-picker__toggles { - flex: 1; -} - -.components-color-picker__alpha { - background-image: linear-gradient(45deg, #ddd 25%, transparent 25%), linear-gradient(-45deg, #ddd 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #ddd 75%), linear-gradient(-45deg, transparent 75%, #ddd 75%); - background-size: 10px 10px; - background-position: 0 0, 0 5px, 5px -5px, -5px 0; -} - -.components-color-picker__hue-gradient, -.components-color-picker__alpha-gradient { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; -} - -.components-color-picker__hue, -.components-color-picker__alpha { - height: 12px; - position: relative; -} - -.is-alpha-enabled .components-color-picker__hue { - margin-bottom: 8px; -} - -.components-color-picker__hue-bar, -.components-color-picker__alpha-bar { - position: relative; - margin: 0 3px; - height: 100%; - padding: 0 2px; -} - -.components-color-picker__hue-gradient { - /*rtl:ignore*/ - background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); -} - -.components-color-picker__hue-pointer, -.components-color-picker__alpha-pointer { - /*rtl:ignore*/ - left: 0; - width: 14px; - height: 14px; - border-radius: 50%; - box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37); - background: #fff; - transform: translate(-7px, -1px); -} - -.components-color-picker__hue-pointer, -.components-color-picker__saturation-pointer { - transition: box-shadow 0.1s linear; -} -@media (prefers-reduced-motion: reduce) { - .components-color-picker__hue-pointer, -.components-color-picker__saturation-pointer { - transition-duration: 0s; - transition-delay: 0s; - } -} - -.components-color-picker__saturation-pointer:focus { - box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--wp-admin-theme-color), 0 0 5px 0 var(--wp-admin-theme-color), inset 0 0 1px 1px rgba(0, 0, 0, 0.3), 0 0 1px 2px rgba(0, 0, 0, 0.4); -} - -.components-color-picker__hue-pointer:focus, -.components-color-picker__alpha-pointer:focus { - border-color: var(--wp-admin-theme-color); - box-shadow: 0 0 0 2px var(--wp-admin-theme-color), 0 0 3px 0 var(--wp-admin-theme-color); - outline: 2px solid transparent; - outline-offset: -2px; -} - -/* INPUTS COMPONENT */ -.components-color-picker__inputs-wrapper { - margin: 0 -4px; - padding-top: 16px; - display: flex; - align-items: flex-end; - min-width: 255px; -} -.components-color-picker__inputs-wrapper fieldset { - flex: 1; - border: none; - margin: 0; - padding: 0; -} -.components-color-picker__inputs-wrapper .components-color-picker__inputs-fields .components-text-control__input[type=number] { - padding: 6px 3px; - margin: 0; -} - -.components-color-picker__inputs-field { - width: 100%; -} - -.components-color-picker__inputs-fields { - display: flex; - /*rtl:ignore*/ - direction: ltr; - flex-grow: 1; - margin-right: 4px; -} -.components-color-picker__inputs-fields .components-base-control + .components-base-control { - margin-top: 0; -} -.components-color-picker__inputs-fields .components-base-control__field { - margin: 0 2px; -} - -.components-color-picker__inputs-toggle { - height: 30px; - padding: 0 5px; -} - .components-combobox-control { width: 100%; } @@ -1128,30 +858,54 @@ input.components-combobox-control__input[type=text]:focus { width: 100%; } +.components-color-list-picker__color-picker { + margin: 8px 0; +} + +.components-color-palette__custom-color { + border: none; + background: none; + outline: 0; + display: block; + border-radius: 2px; + height: 48px; + text-align: right; + width: 100%; + background-image: repeating-linear-gradient(45deg, #e0e0e0 25%, transparent 25%, transparent 75%, #e0e0e0 75%, #e0e0e0), repeating-linear-gradient(45deg, #e0e0e0 25%, transparent 25%, transparent 75%, #e0e0e0 75%, #e0e0e0); + background-position: 0 0, 25px 25px; + background-size: calc(2 * 25px) calc(2 * 25px); + box-sizing: border-box; + color: #fff; + cursor: pointer; +} + .components-custom-gradient-picker__gradient-bar:not(.has-gradient) { opacity: 0.4; } .components-custom-gradient-picker__gradient-bar { + border-radius: 2px; margin-top: 12px; width: 100%; - height: 36px; - border-radius: 36px; - margin-bottom: 12px; - padding-left: 6px; - padding-right: 30px; + height: 48px; + margin-bottom: 20px; + /*rtl:ignore*/ + padding-right: 16px; } .components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__markers-container { position: relative; + width: calc(100% - 32px); + margin-left: auto; + margin-right: auto; } .components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point { border-radius: 50%; background: #fff; padding: 2px; - top: 6px; - min-width: 24px; - width: 24px; - height: 24px; + top: 16px; + min-width: 16px; + width: 16px; + height: 16px; position: relative; color: #1e1e1e; } @@ -1160,17 +914,18 @@ input.components-combobox-control__input[type=text]:focus { width: 100%; } .components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button { - border: 2px solid transparent; - box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) #fff; border-radius: 50%; - height: 24px; - width: 24px; + height: 16px; + width: 16px; padding: 0; position: absolute; - top: 6px; + top: 16px; + box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) #fff, 0 0 2px 0 rgba(0, 0, 0, 0.25); + outline: 2px solid transparent; } .components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button:focus, .components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button.is-active { - box-shadow: 0 0 0 1px #fff, 0 0 0 3px #1e1e1e; + box-shadow: inset 0 0 0 calc(var(--wp-admin-border-width-focus) * 2) #fff, 0 0 2px 0 rgba(0, 0, 0, 0.25); + outline: 4px solid transparent; } .components-custom-gradient-picker__color-picker-popover .components-custom-gradient-picker__remove-control-point { @@ -1181,6 +936,8 @@ input.components-combobox-control__input[type=text]:focus { } .components-custom-gradient-picker__inserter { + /*rtl:ignore*/ + direction: ltr; width: 100%; } @@ -1211,6 +968,20 @@ input.components-combobox-control__input[type=text]:focus { border-radius: 2px; } +.components-custom-gradient-picker .components-select-control__input, +.components-custom-gradient-picker .components-input-control__input { + height: 40px !important; +} +.components-custom-gradient-picker .components-input-control__label { + line-height: 1; + padding-bottom: 8px !important; +} +.components-custom-gradient-picker label { + text-transform: uppercase; + font-size: 11px; + font-weight: 500; +} + .components-custom-select-control { position: relative; } @@ -1262,17 +1033,25 @@ input.components-combobox-control__input[type=text]:focus { .components-custom-select-control__item { align-items: center; - display: flex; + display: grid; + grid-template-columns: auto auto; list-style-type: none; padding: 8px; cursor: default; line-height: 28px; } +.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: #757575; + text-align: right; + padding-right: 4px; +} .components-custom-select-control__item .components-custom-select-control__item-icon { - margin-right: 0; margin-left: auto; } .components-custom-select-control__item:last-child { @@ -2293,6 +2072,7 @@ input.components-combobox-control__input[type=text]:focus { } .components-datetime .components-datetime__calendar-help { padding: 16px; + min-width: 260px; } .components-datetime .components-datetime__calendar-help h4 { margin: 0; @@ -2331,6 +2111,9 @@ input.components-combobox-control__input[type=text]:focus { margin-top: 0; margin-bottom: 0; } +.components-datetime .components-button:focus { + z-index: 1; +} .components-datetime__date { min-height: 236px; @@ -2548,52 +2331,28 @@ body.is-dragging-components-draggable { z-index: 40; visibility: hidden; opacity: 0; - transition: 0.3s opacity, 0.3s background-color, 0s visibility 0.3s; - border: 2px solid var(--wp-admin-theme-color); border-radius: 2px; } -@media (prefers-reduced-motion: reduce) { - .components-drop-zone { - transition-duration: 0s; - transition-delay: 0s; - } -} .components-drop-zone.is-active { opacity: 1; visibility: visible; - transition: 0.3s opacity, 0.3s background-color; -} -@media (prefers-reduced-motion: reduce) { - .components-drop-zone.is-active { - transition-duration: 0s; - transition-delay: 0s; - } -} -.components-drop-zone.is-dragging-over-element { - background-color: var(--wp-admin-theme-color); } .components-drop-zone__content { position: absolute; - top: 50%; + top: 0; + bottom: 0; left: 0; right: 0; - z-index: 50; - transform: translateY(-50%); + height: 100%; width: 100%; + display: flex; + background-color: var(--wp-admin-theme-color); + align-items: center; + justify-content: center; + z-index: 50; text-align: center; color: #fff; - transition: transform 0.2s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .components-drop-zone__content { - transition-duration: 0s; - transition-delay: 0s; - } -} - -.components-drop-zone.is-dragging-over-element .components-drop-zone__content { - transform: translateY(-50%) scale(1.05); } .components-drop-zone__content-icon, @@ -2605,10 +2364,12 @@ body.is-dragging-components-draggable { margin: 0 auto; line-height: 0; fill: currentColor; + 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 { @@ -2616,11 +2377,10 @@ body.is-dragging-components-draggable { } .components-dropdown__content .components-popover__content > div { - padding: 12px; + padding: 8px; } - -.components-dropdown-menu__popover .components-popover__content { - min-width: 200px; +.components-dropdown__content [role=menuitem] { + white-space: nowrap; } .components-dropdown-menu__menu { @@ -2668,6 +2428,10 @@ body.is-dragging-components-draggable { width: 24px; height: 24px; } +.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 { min-height: 36px; @@ -2677,44 +2441,49 @@ body.is-dragging-components-draggable { padding-right: 8px; } .components-dropdown-menu__menu .components-menu-group { - padding: 12px; + padding: 8px; margin-top: 0; margin-bottom: 0; - margin-left: -12px; - margin-right: -12px; + margin-left: -8px; + margin-right: -8px; } .components-dropdown-menu__menu .components-menu-group:first-child { - margin-top: -12px; + margin-top: -8px; } .components-dropdown-menu__menu .components-menu-group:last-child { - margin-bottom: -12px; + margin-bottom: -8px; } .components-dropdown-menu__menu .components-menu-group + .components-menu-group { margin-top: 0; border-top: 1px solid #ccc; - padding: 12px; + padding: 8px; } .is-alternate .components-dropdown-menu__menu .components-menu-group + .components-menu-group { border-color: #1e1e1e; } +.components-font-size-picker__header__hint { + margin-left: 4px; + color: #757575; +} +.components-font-size-picker__header .components-button.is-small.has-icon:not(.has-text) { + min-width: 24px; + padding: 0; +} + .components-font-size-picker__controls { max-width: 248px; - display: flex; - flex-wrap: wrap; align-items: center; + margin-top: 8px; margin-bottom: 24px; } -.components-font-size-picker__controls .components-unit-control-wrapper { - margin-right: 8px; -} .components-font-size-picker__controls .components-unit-control-wrapper .components-input-control__label { font-weight: 300; padding-bottom: 0 !important; margin-bottom: 8px !important; } .components-font-size-picker__controls .components-custom-select-control__button { - min-width: 120px; + width: 100%; } .components-font-size-picker__controls .components-font-size-picker__number { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; @@ -2773,12 +2542,8 @@ body.is-dragging-components-draggable { display: flex; flex-direction: column; } -.components-font-size-picker__controls .components-font-size-picker__select { - margin-right: 8px; -} .components-font-size-picker__controls .components-color-palette__clear { height: 30px; - margin-top: 26px; } .components-font-size-picker__custom-input .components-range-control__slider + .dashicon { @@ -3094,12 +2859,18 @@ body.is-dragging-components-draggable { width: 600px; } } -.components-guide .components-modal__header { - background: none; - border-bottom: none; - width: 100%; +.components-guide .components-modal__content { padding: 0; - margin: 0; + margin-top: 0; + border-radius: 2px; +} +.components-guide .components-modal__content::before { + content: none; +} +.components-guide .components-modal__header { + border-bottom: none; + padding: 0; + position: sticky; } .components-guide .components-modal__header .components-button { align-self: flex-start; @@ -3137,12 +2908,6 @@ body.is-dragging-components-draggable { position: relative; width: 100%; } -@media (max-width: 600px) { - .components-guide__footer { - position: absolute; - bottom: 0; - } -} .components-guide__page-control { margin: 0; text-align: center; @@ -3156,9 +2921,6 @@ body.is-dragging-components-draggable { min-width: 20px; margin: -6px 0; } -.components-guide .components-modal__content { - padding: 0; -} .components-modal__frame.components-guide { border: none; @@ -3168,11 +2930,8 @@ body.is-dragging-components-draggable { } @media (max-width: 600px) { .components-modal__frame.components-guide { - bottom: 5%; - left: 16px; - right: 16px; - top: 5%; - margin: 0 auto; + margin: auto; + max-width: calc(100vw - 16px * 2); } } @@ -3251,21 +3010,30 @@ body.is-dragging-components-draggable { text-transform: uppercase; font-size: 11px; font-weight: 500; + white-space: nowrap; } .components-menu-item__button, .components-menu-item__button.components-button { width: 100%; } +.components-menu-item__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.components-button[role=menuitemradio] .components-menu-item__item:only-child, +.components-menu-item__button.components-button[role=menuitemcheckbox] .components-menu-item__item:only-child { + padding-right: 48px; +} .components-menu-item__button .components-menu-items__item-icon, .components-menu-item__button.components-button .components-menu-items__item-icon { - margin-right: -2px; - margin-left: 24px; display: inline-block; flex: 0 0 auto; } -.components-menu-item__button .components-menu-item__shortcut + .components-menu-items__item-icon, -.components-menu-item__button.components-button .components-menu-item__shortcut + .components-menu-items__item-icon { +.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-right: -2px; + margin-left: 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-left: 8px; } .components-menu-item__button .block-editor-block-icon, @@ -3297,6 +3065,7 @@ body.is-dragging-components-draggable { .components-menu-item__item { white-space: nowrap; + min-width: 160px; margin-right: auto; display: inline-flex; align-items: center; @@ -3333,6 +3102,7 @@ body.is-dragging-components-draggable { left: 0; background-color: rgba(0, 0, 0, 0.35); z-index: 100000; + display: flex; animation: edit-post__fade-in-animation 0.2s ease-out 0s; animation-fill-mode: forwards; } @@ -3344,28 +3114,21 @@ body.is-dragging-components-draggable { } .components-modal__frame { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - box-sizing: border-box; margin: 0; + width: 100%; background: #fff; box-shadow: 0 10px 10px rgba(0, 0, 0, 0.25); border-radius: 2px; - overflow: auto; + overflow: hidden; + display: flex; } @media (min-width: 600px) { .components-modal__frame { - top: 50%; - right: auto; - bottom: auto; - left: 50%; + margin: auto; + width: auto; min-width: 360px; - max-width: calc(100% - 16px - 16px); - max-height: 90%; - transform: translate(-50%, -50%); + max-width: calc(100% - 32px); + max-height: calc(100% - 120px); animation: components-modal__appear-animation 0.1s ease-out; animation-fill-mode: forwards; } @@ -3376,13 +3139,24 @@ body.is-dragging-components-draggable { animation-delay: 0s; } } +@media (min-width: 600px) { + .components-modal__frame.is-full-screen { + width: 90vw; + min-height: 90vh; + } +} +@media (min-width: 960px) { + .components-modal__frame { + max-height: 70%; + } +} @keyframes components-modal__appear-animation { from { - margin-top: 32px; + transform: translateY(32px); } to { - margin-top: 0; + transform: translateY(0); } } .components-modal__header { @@ -3392,20 +3166,13 @@ body.is-dragging-components-draggable { display: flex; flex-direction: row; justify-content: space-between; - background: #fff; align-items: center; height: 60px; + width: 100%; z-index: 10; - position: relative; - position: sticky; + position: absolute; top: 0; - margin: 0 -32px 24px; -} -@supports (-ms-ime-align: auto) { - .components-modal__header { - position: fixed; - width: 100%; - } + left: 0; } .components-modal__header .components-modal__header-heading { font-size: 1rem; @@ -3438,14 +3205,15 @@ body.is-dragging-components-draggable { } .components-modal__content { - box-sizing: border-box; - height: 100%; + flex: 1; + margin-top: 60px; padding: 0 32px 24px; + overflow: auto; } -@supports (-ms-ime-align: auto) { - .components-modal__content { - padding-top: 60px; - } +.components-modal__content::before { + content: ""; + display: block; + margin-bottom: 24px; } .components-notice { @@ -3557,7 +3325,6 @@ body.is-dragging-components-draggable { align-items: center; padding: 0 16px; height: 48px; - border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; } .components-panel__header h2 { @@ -3727,8 +3494,15 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right .components-placeholder__label > svg, .components-placeholder__label .dashicon, .components-placeholder__label .block-editor-block-icon { - fill: currentColor; margin-right: 1ch; + fill: currentColor; +} +@media (forced-colors: active) { + .components-placeholder__label > svg, +.components-placeholder__label .dashicon, +.components-placeholder__label .block-editor-block-icon { + fill: CanvasText; + } } .components-placeholder__label:empty { display: none; @@ -4136,18 +3910,23 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right display: block; } +.components-resizable-box__container > img { + width: inherit; +} + .components-resizable-box__handle::after { display: block; content: ""; width: 15px; height: 15px; - border: 2px solid var(--wp-admin-theme-color); border-radius: 50%; background: #fff; cursor: inherit; position: absolute; top: calc(50% - 8px); right: calc(50% - 8px); + box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); + outline: 2px solid transparent; } .components-resizable-box__side-handle::before { @@ -4322,6 +4101,89 @@ body.lockscroll { overflow: hidden; } +.components-search-control { + position: relative; +} +.components-search-control input[type=search].components-search-control__input { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + padding: 6px 8px; + box-shadow: 0 0 0 transparent; + transition: box-shadow 0.1s linear; + border-radius: 2px; + border: 1px solid #757575; + /* Fonts smaller than 16px causes mobile safari to zoom. */ + font-size: 16px; + /* Override core line-height. To be reviewed. */ + line-height: normal; + display: block; + padding: 16px 48px 16px 16px; + background: #f0f0f0; + border: none; + width: 100%; + height: 48px; + /* Fonts smaller than 16px causes mobile safari to zoom. */ + font-size: 16px; +} +@media (prefers-reduced-motion: reduce) { + .components-search-control input[type=search].components-search-control__input { + transition-duration: 0s; + transition-delay: 0s; + } +} +@media (min-width: 600px) { + .components-search-control input[type=search].components-search-control__input { + font-size: 13px; + /* Override core line-height. To be reviewed. */ + 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 1px 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, 0.62); +} +.components-search-control input[type=search].components-search-control__input::-moz-placeholder { + opacity: 1; + color: rgba(30, 30, 30, 0.62); +} +.components-search-control input[type=search].components-search-control__input:-ms-input-placeholder { + color: rgba(30, 30, 30, 0.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-admin-theme-color); +} +.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-decoration, .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-results-button, .components-search-control input[type=search].components-search-control__input::-webkit-search-results-decoration { + -webkit-appearance: none; +} + +.components-search-control__icon { + position: absolute; + top: 0; + right: 12px; + bottom: 0; + display: flex; + align-items: center; +} +.components-search-control__icon > svg { + margin: 8px 0; +} + +.components-search-control__input-wrapper { + position: relative; +} + .components-select-control__input { background: #fff; height: 36px; @@ -4722,12 +4584,11 @@ body.lockscroll { 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, -.components-toolbar .components-button.has-icon { - padding-left: 8px; - padding-right: 8px; +.components-accessible-toolbar .components-button.has-icon.has-icon, +.components-toolbar .components-button.has-icon.has-icon { + padding-left: 12px; + padding-right: 12px; min-width: 48px; - justify-content: center; } .components-accessible-toolbar .components-button.components-tab-button, .components-toolbar .components-button.components-tab-button { @@ -5037,36 +4898,4 @@ div.components-toolbar > div + div.has-left-divider::before { left: 0; bottom: 0; right: 0; -} - -.components-visually-hidden { - border: 0; - clip: rect(1px, 1px, 1px, 1px); - -webkit-clip-path: inset(50%); - clip-path: inset(50%); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; - word-wrap: normal !important; -} - -.components-visually-hidden:focus { - background-color: #ddd; - clip: auto !important; - -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; } \ No newline at end of file diff --git a/wp-includes/css/dist/components/style.min.css b/wp-includes/css/dist/components/style.min.css index 9ae0222c76..43cbcf09d7 100644 --- a/wp-includes/css/dist/components/style.min.css +++ b/wp-includes/css/dist/components/style.min.css @@ -1,10 +1,10 @@ -@charset "UTF-8";:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-duration:1ms;animation-delay:0s}}.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-duration:1ms;animation-delay:0s}}.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>div{padding:16px;min-width:220px}.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 2px var(--wp-admin-theme-color)}.components-button-group{display:inline-block}.components-button-group .components-button{border-radius:0;display:inline-flex;color:#1e1e1e;box-shadow:inset 0 0 0 1px #1e1e1e}.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{display:inline-flex;text-decoration:none;font-weight:400;font-size:13px;margin:0;border:0;cursor:pointer;-webkit-appearance:none;background:none;transition:box-shadow .1s linear;height:36px;align-items:center;box-sizing:border-box;padding:6px 12px;border-radius:2px;color:#1e1e1e}@media (prefers-reduced-motion:reduce){.components-button{transition-duration:0s;transition-delay:0s}}.components-button:hover,.components-button[aria-expanded=true]{color:var(--wp-admin-theme-color)}.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-admin-theme-color);outline:3px solid transparent}.components-button.is-primary{white-space:nowrap;background:var(--wp-admin-theme-color);color:#fff;text-decoration:none;text-shadow:none;outline:1px solid transparent}.components-button.is-primary:hover:not(:disabled){background:var(--wp-admin-theme-color-darker-10);color:#fff}.components-button.is-primary:active:not(:disabled){background:var(--wp-admin-theme-color-darker-20);border-color:var(--wp-admin-theme-color-darker-20);color:#fff}.components-button.is-primary:focus:not(:disabled){box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.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{color:hsla(0,0%,100%,.4);background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);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 #fff,0 0 0 3px var(--wp-admin-theme-color)}.components-button.is-primary.is-busy,.components-button.is-primary.is-busy:disabled,.components-button.is-primary.is-busy[aria-disabled=true]{color:#fff;background-size:100px 100%;background-image:linear-gradient(-45deg,var(--wp-admin-theme-color) 33%,var(--wp-admin-theme-color-darker-20) 0,var(--wp-admin-theme-color-darker-20) 70%,var(--wp-admin-theme-color) 0);border-color:var(--wp-admin-theme-color)}.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){background:#ddd;color:var(--wp-admin-theme-color-darker-10);box-shadow:none}.components-button.is-secondary:hover:not(:disabled),.components-button.is-tertiary:hover:not(:disabled){color:var(--wp-admin-theme-color-darker-10);box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color-darker-10)}.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{color:#828282;background:#eaeaea;transform:none;opacity:1;box-shadow:none;outline:none}.components-button.is-secondary{box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color);outline:1px solid transparent}.components-button.is-secondary,.components-button.is-tertiary{white-space:nowrap;color:var(--wp-admin-theme-color);background:transparent}.components-button.is-tertiary{padding:6px}.components-button.is-tertiary .dashicon{display:inline-block;flex:0 0 auto}.components-button.is-destructive{color:#cc1818;box-shadow:inset 0 0 0 1px #cc1818}.components-button.is-destructive:hover:not(:disabled){color:#710d0d;box-shadow:inset 0 0 0 1px #710d0d}.components-button.is-destructive:focus:not(:disabled){color:var(--wp-admin-theme-color)}.components-button.is-destructive:active:not(:disabled){background:#ccc}.components-button.is-destructive.is-primary{color:#fff;background:#cc1818;box-shadow:inset 0 0 0 1px #cc1818}.components-button.is-destructive.is-primary:hover:not(:disabled){color:#fff;background:#710d0d;box-shadow:inset 0 0 0 1px #710d0d}.components-button.is-link{margin:0;padding:0;box-shadow:none;border:0;border-radius:0;background:none;outline:none;text-align:left;color:var(--wp-admin-theme-color);text-decoration:underline;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;height:auto}@media (prefers-reduced-motion:reduce){.components-button.is-link{transition-duration:0s;transition-delay:0s}}.components-button.is-link:focus{border-radius:2px}.components-button.is-link.is-destructive{color:#cc1818}.components-button.is-link.is-destructive:active:not(:disabled),.components-button.is-link.is-destructive:hover:not(:disabled){color:#710d0d;background:none}.components-button.is-link.is-destructive:focus:not(:disabled){color:var(--wp-admin-theme-color)}.components-button:not([aria-disabled=true]):active{color:inherit}.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;opacity:1;background-size:100px 100%;background-image:linear-gradient(-45deg,#fafafa 33%,#e0e0e0 0,#e0e0e0 70%,#fafafa 0)}.components-button.is-small{height:24px;line-height:22px;padding:0 8px;font-size:11px}.components-button.is-small.has-icon:not(.has-text){padding:0 8px;width:24px}.components-button.has-icon{padding:6px;min-width:36px;justify-content:center}.components-button.has-icon .dashicon{display:inline-block;flex:0 0 auto;margin-left:2px;margin-right:2px}.components-button.has-icon.has-text{justify-content:left}.components-button.has-icon.has-text svg{margin-right:8px}.components-button.has-icon.has-text .dashicon{margin-right:10px}.components-button.is-pressed{color:#fff;background:#1e1e1e}.components-button.is-pressed:focus:not(:disabled){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}.components-button.is-pressed:hover:not(:disabled){color:#fff;background:#1e1e1e}.components-button svg{fill:currentColor;outline:none}.components-button .components-visually-hidden{height:auto}@keyframes components-button__busy-animation{0%{background-position:200px 0}}.components-checkbox-control__input[type=checkbox]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;font-size:16px;line-height:normal;border:1px solid #1e1e1e;transition:none;border-radius:2px;background:#fff;color:#1e1e1e;clear:none;cursor:pointer;display:inline-block;line-height:0;margin:0 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:top;width:24px;height:24px;-webkit-appearance:none;appearance:none;transition:border-color .1s ease-in-out}@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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]:checked:before,.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{margin:-3px -5px;color:#fff}@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{content:"";float:left;display:inline-block;vertical-align:middle;width:16px;font:normal 30px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@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-duration:0s;transition-delay:0s}}.components-checkbox-control__input[type=checkbox]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.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{content:none}.components-checkbox-control__input-container{position:relative;display:inline-block;margin-right:12px;vertical-align:middle;width:24px;height:24px}@media (min-width:600px){.components-checkbox-control__input-container{width:20px;height:20px}}svg.components-checkbox-control__checked{fill:#fff;cursor:pointer;position:absolute;left:0;top:0;width:24px;height:24px;-webkit-user-select:none;user-select:none;pointer-events:none}@media (min-width:600px){svg.components-checkbox-control__checked{left:-2px;top:-2px}}.components-circular-option-picker{display:inline-block;width:100%;min-width:188px}.components-circular-option-picker .components-circular-option-picker__custom-clear-wrapper{display:flex;justify-content:flex-end}.components-circular-option-picker .components-circular-option-picker__swatches{margin-right:-12px}.components-circular-option-picker__option-wrapper{display:inline-block;height:28px;width:28px;margin-right:12px;margin-bottom:12px;vertical-align:top;transform:scale(1);transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option-wrapper{transition-duration:0s;transition-delay: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{content:"";position:absolute;top:1px;left:1px;bottom:1px;right:1px;border-radius:50%;z-index:-1;background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='28' height='28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 8V6H4v2h2zm2 0V6h2v2H8zm2 8H8v-2h2v2zm2 0v-2h2v2h-2zm0 2v-2h-2v2H8v2h2v-2h2zm2 0v2h-2v-2h2zm2 0h-2v-2h2v2z' fill='%23555D65'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18 18h2v-2h-2v-2h2v-2h-2v-2h2V8h-2v2h-2V8h-2v2h2v2h-2v2h2v2h2v2zm-2-4v-2h2v2h-2z' fill='%23555D65'/%3E%3Cpath d='M18 18v2h-2v-2h2z' fill='%23555D65'/%3E%3Cpath fill-rule='evenodd' clip-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' fill='%23555D65'/%3E%3Cpath fill-rule='evenodd' clip-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' fill='%23555D65'/%3E%3C/svg%3E")}.components-circular-option-picker__option{display:inline-block;vertical-align:top;height:100%;width:100%;border:none;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 14px;transition:box-shadow .1s ease;cursor:pointer}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option{transition-duration:0s;transition-delay: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;position:relative;z-index:1;overflow:visible}.components-circular-option-picker__option.is-pressed+svg{position:absolute;left:2px;top:2px;border-radius:50%;z-index:2;pointer-events:none}.components-circular-option-picker__option:after{content:"";position:absolute;top:-1px;left:-1px;bottom:-1px;right:-1px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);border:1px solid transparent}.components-circular-option-picker__option:focus:after{content:"";border:2px solid #757575;width:32px;height:32px;position:absolute;top:-2px;left:-2px;border-radius:50%;box-shadow:inset 0 0 0 2px #fff}.components-circular-option-picker__option.components-button:focus{background-color:initial;box-shadow:inset 0 0 0 14px;outline:none}.components-circular-option-picker__button-action .components-circular-option-picker__option{color:#fff;background:#fff}.components-circular-option-picker__dropdown-link-action{margin-right:16px}.components-circular-option-picker__dropdown-link-action .components-button{line-height:22px}.components-color-edit__color-option-main-area{display:flex;align-items:center}.components-color-edit__color-option-main-area div.components-circular-option-picker__option-wrapper{display:block;margin:8px}.components-color-edit__color-option.is-hover{background:#e0e0e0}.components-color-edit__cancel-button{float:right}.components-color-edit__color-option-color-name{width:100%}.components-color-edit__label-and-insert-container{display:flex;align-items:center;justify-content:space-between}.components-color-edit__insert-button{margin-top:-8px}.components-color-edit__hidden-control{position:relative;left:-9999px}.components-color-edit__color-option-color-name-input .components-base-control__field{margin-bottom:0;margin-right:8px}.components-color-edit__slug-input{margin-left:8px}.components-color-edit__reset-button{float:right}.component-color-indicator{width:25px;height:16px;margin-left:.8rem;border:1px solid #dadada;display:inline-block}.component-color-indicator+.component-color-indicator{margin-left:.5rem}.components-color-picker{width:100%}.components-color-picker *{box-sizing:border-box}.components-color-picker__saturation{width:100%;padding-bottom:55%;position:relative}.components-color-picker__body{padding:16px 16px 12px}.components-color-picker__controls{display:flex}.components-color-picker__alpha-pointer,.components-color-picker__hue-pointer,.components-color-picker__saturation-pointer{padding:0;position:absolute;cursor:pointer;box-shadow:none;border:none}.components-color-picker__swatch{margin-right:8px;width:32px;height:32px;border-radius:50%;position:relative;overflow:hidden;background-image:linear-gradient(45deg,#ddd 25%,transparent 0),linear-gradient(-45deg,#ddd 25%,transparent 0),linear-gradient(45deg,transparent 75%,#ddd 0),linear-gradient(-45deg,transparent 75%,#ddd 0);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0}.is-alpha-disabled .components-color-picker__swatch{width:12px;height:12px;margin-top:0}.components-color-picker__active{border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);z-index:2}.components-color-picker__active,.components-color-picker__saturation-black,.components-color-picker__saturation-color,.components-color-picker__saturation-white{position:absolute;top:0;left:0;right:0;bottom:0}.components-color-picker__saturation-color{overflow:visible}.components-color-picker__saturation-white{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.components-color-picker__saturation-black{background:linear-gradient(0deg,#000,transparent)}.components-button.components-color-picker__saturation-pointer{width:14px;height:14px;padding:0;border-radius:50%;background-color:initial;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #fff,inset 0 0 0 1px #000,0 0 0 2px #000}.components-button.components-color-picker__saturation-pointer:focus:not(:disabled){box-shadow:0 0 0 2px #fff,inset 0 0 0 1px #000,0 0 0 3px #000}.components-color-picker__toggles{flex:1}.components-color-picker__alpha{background-image:linear-gradient(45deg,#ddd 25%,transparent 0),linear-gradient(-45deg,#ddd 25%,transparent 0),linear-gradient(45deg,transparent 75%,#ddd 0),linear-gradient(-45deg,transparent 75%,#ddd 0);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0}.components-color-picker__alpha-gradient,.components-color-picker__hue-gradient{position:absolute;top:0;left:0;right:0;bottom:0}.components-color-picker__alpha,.components-color-picker__hue{height:12px;position:relative}.is-alpha-enabled .components-color-picker__hue{margin-bottom:8px}.components-color-picker__alpha-bar,.components-color-picker__hue-bar{position:relative;margin:0 3px;height:100%;padding:0 2px}.components-color-picker__hue-gradient{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.components-color-picker__alpha-pointer,.components-color-picker__hue-pointer{left:0;width:14px;height:14px;border-radius:50%;box-shadow:0 1px 4px 0 rgba(0,0,0,.37);background:#fff;transform:translate(-7px,-1px)}.components-color-picker__hue-pointer,.components-color-picker__saturation-pointer{transition:box-shadow .1s linear}@media (prefers-reduced-motion:reduce){.components-color-picker__hue-pointer,.components-color-picker__saturation-pointer{transition-duration:0s;transition-delay:0s}}.components-color-picker__saturation-pointer:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color),0 0 5px 0 var(--wp-admin-theme-color),inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4)}.components-color-picker__alpha-pointer:focus,.components-color-picker__hue-pointer:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 2px var(--wp-admin-theme-color),0 0 3px 0 var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.components-color-picker__inputs-wrapper{margin:0 -4px;padding-top:16px;display:flex;align-items:flex-end;min-width:255px}.components-color-picker__inputs-wrapper fieldset{flex:1;border:none;margin:0;padding:0}.components-color-picker__inputs-wrapper .components-color-picker__inputs-fields .components-text-control__input[type=number]{padding:6px 3px;margin:0}.components-color-picker__inputs-field{width:100%}.components-color-picker__inputs-fields{display:flex;direction:ltr;flex-grow:1;margin-right:4px}.components-color-picker__inputs-fields .components-base-control+.components-base-control{margin-top:0}.components-color-picker__inputs-fields .components-base-control__field{margin:0 2px}.components-color-picker__inputs-toggle{height:30px;padding:0 5px}.components-combobox-control{width:100%}input.components-combobox-control__input[type=text]{width:100%;border:none;box-shadow:none;font-size:16px;padding:2px;margin:0;line-height:inherit;min-height:auto}@media (min-width:600px){input.components-combobox-control__input[type=text]{font-size:13px}}input.components-combobox-control__input[type=text]:focus{outline:none;box-shadow:none}.components-combobox-control__suggestions-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;display:flex;flex-wrap:wrap;align-items:flex-start;width:100%;margin:0 0 8px;padding:4px}@media (prefers-reduced-motion:reduce){.components-combobox-control__suggestions-container{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-combobox-control__reset.components-button{display:flex;height:24px;min-width:24px;padding:0}.components-color-list-picker,.components-color-list-picker__swatch-button{width:100%}.components-custom-gradient-picker__gradient-bar:not(.has-gradient){opacity:.4}.components-custom-gradient-picker__gradient-bar{margin-top:12px;width:100%;height:36px;border-radius:36px;margin-bottom:12px;padding-left:6px;padding-right:30px}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__markers-container{position:relative}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point{border-radius:50%;background:#fff;padding:2px;top:6px;min-width:24px;width:24px;height:24px;position:relative;color:#1e1e1e}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point svg{height:100%;width:100%}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button{border:2px solid transparent;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #fff;border-radius:50%;height:24px;width:24px;padding:0;position:absolute;top:6px}.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:0 0 0 1px #fff,0 0 0 3px #1e1e1e}.components-custom-gradient-picker__color-picker-popover .components-custom-gradient-picker__remove-control-point{margin-left:auto;margin-right:auto;display:block;margin-bottom:8px}.components-custom-gradient-picker__inserter{width:100%}.components-custom-gradient-picker__liner-gradient-indicator{display:inline-block;flex:0 auto;width:20px;height:20px}.components-custom-gradient-picker .components-custom-gradient-picker__ui-line{margin-bottom:16px}.components-custom-gradient-picker .components-custom-gradient-picker__ui-line .components-base-control.components-angle-picker,.components-custom-gradient-picker .components-custom-gradient-picker__ui-line .components-base-control.components-custom-gradient-picker__type-picker{margin-bottom:0}.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-select-control{position:relative}.components-custom-select-control__label{display:block;margin-bottom:8px}.components-custom-select-control__button{border:1px solid #757575;border-radius:2px;min-height:30px;min-width:130px;position:relative;text-align:left}.components-custom-select-control__button.components-custom-select-control__button{padding-right:24px}.components-custom-select-control__button:focus:not(:disabled){border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.components-custom-select-control__button .components-custom-select-control__button-icon{height:100%;padding:0;position:absolute;right:0;top:0}.components-custom-select-control__menu{border:1px solid #1e1e1e;background-color:#fff;border-radius:2px;outline:none;transition:none;max-height:400px;min-width:100%;overflow:auto;padding:0;position:absolute;z-index:1000000}.components-custom-select-control__menu[aria-hidden=true]{display:none}.components-custom-select-control__item{align-items:center;display:flex;list-style-type:none;padding:8px;cursor:default;line-height:28px}.components-custom-select-control__item.is-highlighted{background:#ddd}.components-custom-select-control__item .components-custom-select-control__item-icon{margin-right:0;margin-left:auto}.components-custom-select-control__item:last-child{margin-bottom:0}.PresetDateRangePicker_panel{padding:0 22px 11px}.PresetDateRangePicker_button{position:relative;height:100%;text-align:center;background:0 0;border:2px solid #00a699;color:#00a699;padding:4px 12px;margin-right:8px;font:inherit;font-weight:700;line-height:normal;overflow:visible;box-sizing:border-box;cursor:pointer}.PresetDateRangePicker_button:active{outline:0}.PresetDateRangePicker_button__selected{color:#fff;background:#00a699}.SingleDatePickerInput{display:inline-block;background-color:#fff}.SingleDatePickerInput__withBorder{border-radius:2px;border:1px solid #dbdbdb}.SingleDatePickerInput__rtl{direction:rtl}.SingleDatePickerInput__disabled{background-color:#f2f2f2}.SingleDatePickerInput__block{display:block}.SingleDatePickerInput__showClearDate{padding-right:30px}.SingleDatePickerInput_clearDate{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;padding:10px;margin:0 10px 0 5px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.SingleDatePickerInput_clearDate__default:focus,.SingleDatePickerInput_clearDate__default:hover{background:#dbdbdb;border-radius:50%}.SingleDatePickerInput_clearDate__small{padding:6px}.SingleDatePickerInput_clearDate__hide{visibility:hidden}.SingleDatePickerInput_clearDate_svg{fill:#82888a;height:12px;width:15px;vertical-align:middle}.SingleDatePickerInput_clearDate_svg__small{height:9px}.SingleDatePickerInput_calendarIcon{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;display:inline-block;vertical-align:middle;padding:10px;margin:0 5px 0 10px}.SingleDatePickerInput_calendarIcon_svg{fill:#82888a;height:15px;width:14px;vertical-align:middle}.SingleDatePicker{position:relative;display:inline-block}.SingleDatePicker__block{display:block}.SingleDatePicker_picker{z-index:1;background-color:#fff;position:absolute}.SingleDatePicker_picker__rtl{direction:rtl}.SingleDatePicker_picker__directionLeft{left:0}.SingleDatePicker_picker__directionRight{right:0}.SingleDatePicker_picker__portal{background-color:rgba(0,0,0,.3);position:fixed;top:0;left:0;height:100%;width:100%}.SingleDatePicker_picker__fullScreenPortal{background-color:#fff}.SingleDatePicker_closeButton{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;position:absolute;top:0;right:0;padding:15px;z-index:2}.SingleDatePicker_closeButton:focus,.SingleDatePicker_closeButton:hover{color:#b0b3b4;text-decoration:none}.SingleDatePicker_closeButton_svg{height:15px;width:15px;fill:#cacccd}.DayPickerKeyboardShortcuts_buttonReset{background:0 0;border:0;border-radius:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;cursor:pointer;font-size:14px}.DayPickerKeyboardShortcuts_buttonReset:active{outline:0}.DayPickerKeyboardShortcuts_show{width:22px;position:absolute;z-index:2}.DayPickerKeyboardShortcuts_show__bottomRight{border-top:26px solid transparent;border-right:33px solid #00a699;bottom:0;right:0}.DayPickerKeyboardShortcuts_show__bottomRight:hover{border-right:33px solid #008489}.DayPickerKeyboardShortcuts_show__topRight{border-bottom:26px solid transparent;border-right:33px solid #00a699;top:0;right:0}.DayPickerKeyboardShortcuts_show__topRight:hover{border-right:33px solid #008489}.DayPickerKeyboardShortcuts_show__topLeft{border-bottom:26px solid transparent;border-left:33px solid #00a699;top:0;left:0}.DayPickerKeyboardShortcuts_show__topLeft:hover{border-left:33px solid #008489}.DayPickerKeyboardShortcuts_showSpan{color:#fff;position:absolute}.DayPickerKeyboardShortcuts_showSpan__bottomRight{bottom:0;right:-28px}.DayPickerKeyboardShortcuts_showSpan__topRight{top:1px;right:-28px}.DayPickerKeyboardShortcuts_showSpan__topLeft{top:1px;left:-28px}.DayPickerKeyboardShortcuts_panel{overflow:auto;background:#fff;border:1px solid #dbdbdb;border-radius:2px;position:absolute;top:0;bottom:0;right:0;left:0;z-index:2;padding:22px;margin:33px}.DayPickerKeyboardShortcuts_title{font-size:16px;font-weight:700;margin:0}.DayPickerKeyboardShortcuts_list{list-style:none;padding:0;font-size:14px}.DayPickerKeyboardShortcuts_close{position:absolute;right:22px;top:22px;z-index:2}.DayPickerKeyboardShortcuts_close:active{outline:0}.DayPickerKeyboardShortcuts_closeSvg{height:15px;width:15px;fill:#cacccd}.DayPickerKeyboardShortcuts_closeSvg:focus,.DayPickerKeyboardShortcuts_closeSvg:hover{fill:#82888a}.CalendarDay{box-sizing:border-box;cursor:pointer;font-size:14px;text-align:center}.CalendarDay:active{outline:0}.CalendarDay__defaultCursor{cursor:default}.CalendarDay__default{border:1px solid #e4e7e7;color:#484848;background:#fff}.CalendarDay__default:hover{background:#e4e7e7;border:1px double #e4e7e7;color:inherit}.CalendarDay__hovered_offset{background:#f4f5f5;border:1px double #e4e7e7;color:inherit}.CalendarDay__outside{border:0;background:#fff;color:#484848}.CalendarDay__outside:hover{border:0}.CalendarDay__blocked_minimum_nights{background:#fff;border:1px solid #eceeee;color:#cacccd}.CalendarDay__blocked_minimum_nights:active,.CalendarDay__blocked_minimum_nights:hover{background:#fff;color:#cacccd}.CalendarDay__highlighted_calendar{background:#ffe8bc;color:#484848}.CalendarDay__highlighted_calendar:active,.CalendarDay__highlighted_calendar:hover{background:#ffce71;color:#484848}.CalendarDay__selected_span{background:#66e2da;border:1px solid #33dacd;color:#fff}.CalendarDay__selected_span:active,.CalendarDay__selected_span:hover{background:#33dacd;border:1px solid #33dacd;color:#fff}.CalendarDay__last_in_range{border-right:#00a699}.CalendarDay__selected,.CalendarDay__selected:active,.CalendarDay__selected:hover{background:#00a699;border:1px solid #00a699;color:#fff}.CalendarDay__hovered_span,.CalendarDay__hovered_span:hover{background:#b2f1ec;border:1px solid #80e8e0;color:#007a87}.CalendarDay__hovered_span:active{background:#80e8e0;border:1px solid #80e8e0;color:#007a87}.CalendarDay__blocked_calendar,.CalendarDay__blocked_calendar:active,.CalendarDay__blocked_calendar:hover{background:#cacccd;border:1px solid #cacccd;color:#82888a}.CalendarDay__blocked_out_of_range,.CalendarDay__blocked_out_of_range:active,.CalendarDay__blocked_out_of_range:hover{background:#fff;border:1px solid #e4e7e7;color:#cacccd}.CalendarMonth{background:#fff;text-align:center;vertical-align:top;-webkit-user-select:none;user-select:none}.CalendarMonth_table{border-collapse:collapse;border-spacing:0}.CalendarMonth_verticalSpacing{border-collapse:initial}.CalendarMonth_caption{color:#484848;font-size:18px;text-align:center;padding-top:22px;padding-bottom:37px;caption-side:top}.CalendarMonth_caption__verticalScrollable{padding-top:12px;padding-bottom:7px}.CalendarMonthGrid{background:#fff;text-align:left;z-index:0}.CalendarMonthGrid__animating{z-index:1}.CalendarMonthGrid__horizontal{position:absolute;left:0}.CalendarMonthGrid__vertical{margin:0 auto}.CalendarMonthGrid__vertical_scrollable{margin:0 auto;overflow-y:scroll}.CalendarMonthGrid_month__horizontal{display:inline-block;vertical-align:top;min-height:100%}.CalendarMonthGrid_month__hideForAnimation{position:absolute;z-index:-1;opacity:0;pointer-events:none}.CalendarMonthGrid_month__hidden{visibility:hidden}.DayPickerNavigation{position:relative;z-index:2}.DayPickerNavigation__horizontal{height:0}.DayPickerNavigation__verticalDefault{position:absolute;width:100%;height:52px;bottom:0;left:0}.DayPickerNavigation__verticalScrollableDefault{position:relative}.DayPickerNavigation_button{cursor:pointer;-webkit-user-select:none;user-select:none;border:0;padding:0;margin:0}.DayPickerNavigation_button__default{border:1px solid #e4e7e7;background-color:#fff;color:#757575}.DayPickerNavigation_button__default:focus,.DayPickerNavigation_button__default:hover{border:1px solid #c4c4c4}.DayPickerNavigation_button__default:active{background:#f2f2f2}.DayPickerNavigation_button__horizontalDefault{position:absolute;top:18px;line-height:.78;border-radius:3px;padding:6px 9px}.DayPickerNavigation_leftButton__horizontalDefault{left:22px}.DayPickerNavigation_rightButton__horizontalDefault{right:22px}.DayPickerNavigation_button__verticalDefault{padding:5px;background:#fff;box-shadow:0 0 5px 2px rgba(0,0,0,.1);position:relative;display:inline-block;height:100%;width:50%}.DayPickerNavigation_nextButton__verticalDefault{border-left:0}.DayPickerNavigation_nextButton__verticalScrollableDefault{width:100%}.DayPickerNavigation_svg__horizontal{height:19px;width:19px;fill:#82888a;display:block}.DayPickerNavigation_svg__vertical{height:42px;width:42px;fill:#484848;display:block}.DayPicker{position:relative;text-align:left}.DayPicker,.DayPicker__horizontal{background:#fff}.DayPicker__verticalScrollable{height:100%}.DayPicker__hidden{visibility:hidden}.DayPicker__withBorder{box-shadow:0 2px 6px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.07);border-radius:3px}.DayPicker_portal__horizontal{box-shadow:none;position:absolute;left:50%;top:50%}.DayPicker_portal__vertical{position:static}.DayPicker_focusRegion{outline:0}.DayPicker_calendarInfo__horizontal,.DayPicker_wrapper__horizontal{display:inline-block;vertical-align:top}.DayPicker_weekHeaders{position:relative}.DayPicker_weekHeaders__horizontal{margin-left:13px}.DayPicker_weekHeader{color:#757575;position:absolute;top:62px;z-index:2;text-align:left;padding:0!important}.DayPicker_weekHeader__vertical{left:50%}.DayPicker_weekHeader__verticalScrollable{top:0;display:table-row;border-bottom:1px solid #dbdbdb;background:#fff;margin-left:0;left:0;width:100%;text-align:center}.DayPicker_weekHeader_ul{list-style:none;margin:1px 0;padding-left:0;padding-right:0;font-size:14px}.DayPicker_weekHeader_li{display:inline-block;text-align:center;margin:0 1px}.DayPicker_transitionContainer{position:relative;overflow:hidden;border-radius:3px}.DayPicker_transitionContainer__horizontal{transition:height .2s ease-in-out}.DayPicker_transitionContainer__vertical{width:100%}.DayPicker_transitionContainer__verticalScrollable{padding-top:20px;height:100%;position:absolute;top:0;bottom:0;right:0;left:0;overflow-y:scroll}.DateInput{margin:0;padding:0;background:#fff;position:relative;display:inline-block;width:130px;vertical-align:middle}.DateInput__small{width:97px}.DateInput__block{width:100%}.DateInput__disabled{background:#f2f2f2;color:#dbdbdb}.DateInput_input{font-weight:200;font-size:19px;line-height:24px;color:#484848;background-color:#fff;width:100%;padding:11px 11px 9px;border:0;border-bottom:2px solid transparent;border-radius:0}.DateInput_input__small{font-size:15px;line-height:18px;letter-spacing:.2px;padding:7px 7px 5px}.DateInput_input__regular{font-weight:auto}.DateInput_input__readOnly{-webkit-user-select:none;user-select:none}.DateInput_input__focused{outline:0;background:#fff;border:0;border-bottom:2px solid #008489}.DateInput_input__disabled{background:#f2f2f2;font-style:italic}.DateInput_screenReaderMessage{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.DateInput_fang{position:absolute;width:20px;height:10px;left:22px;z-index:2}.DateInput_fangShape{fill:#fff}.DateInput_fangStroke{stroke:#dbdbdb;fill:transparent}.DateRangePickerInput{background-color:#fff;display:inline-block}.DateRangePickerInput__disabled{background:#f2f2f2}.DateRangePickerInput__withBorder{border-radius:2px;border:1px solid #dbdbdb}.DateRangePickerInput__rtl{direction:rtl}.DateRangePickerInput__block{display:block}.DateRangePickerInput__showClearDates{padding-right:30px}.DateRangePickerInput_arrow{display:inline-block;vertical-align:middle;color:#484848}.DateRangePickerInput_arrow_svg{vertical-align:middle;fill:#484848;height:24px;width:24px}.DateRangePickerInput_clearDates{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;padding:10px;margin:0 10px 0 5px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.DateRangePickerInput_clearDates__small{padding:6px}.DateRangePickerInput_clearDates_default:focus,.DateRangePickerInput_clearDates_default:hover{background:#dbdbdb;border-radius:50%}.DateRangePickerInput_clearDates__hide{visibility:hidden}.DateRangePickerInput_clearDates_svg{fill:#82888a;height:12px;width:15px;vertical-align:middle}.DateRangePickerInput_clearDates_svg__small{height:9px}.DateRangePickerInput_calendarIcon{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;display:inline-block;vertical-align:middle;padding:10px;margin:0 5px 0 10px}.DateRangePickerInput_calendarIcon_svg{fill:#82888a;height:15px;width:14px;vertical-align:middle}.DateRangePicker{position:relative;display:inline-block}.DateRangePicker__block{display:block}.DateRangePicker_picker{z-index:1;background-color:#fff;position:absolute}.DateRangePicker_picker__rtl{direction:rtl}.DateRangePicker_picker__directionLeft{left:0}.DateRangePicker_picker__directionRight{right:0}.DateRangePicker_picker__portal{background-color:rgba(0,0,0,.3);position:fixed;top:0;left:0;height:100%;width:100%}.DateRangePicker_picker__fullScreenPortal{background-color:#fff}.DateRangePicker_closeButton{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;position:absolute;top:0;right:0;padding:15px;z-index:2}.DateRangePicker_closeButton:focus,.DateRangePicker_closeButton:hover{color:#b0b3b4;text-decoration:none}.DateRangePicker_closeButton_svg{height:15px;width:15px;fill:#cacccd}.components-datetime{padding:16px}.components-panel__body .components-datetime{padding:0}.components-datetime .components-datetime__calendar-help{padding:16px}.components-datetime .components-datetime__calendar-help h4{margin:0}.components-datetime .components-datetime__buttons{display:flex;justify-content:space-between}.components-datetime .components-datetime__date-help-toggle{display:block;margin-left:auto}.components-datetime fieldset{border:0;padding:0;margin:0}.components-datetime input,.components-datetime select{box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575}@media (prefers-reduced-motion:reduce){.components-datetime input,.components-datetime select{transition-duration:0s;transition-delay:0s}}.components-datetime .components-button,.components-datetime input[type=number],.components-datetime select{height:30px;margin-top:0;margin-bottom:0}.components-datetime__date{min-height:236px;border-top:1px solid #ddd}.components-datetime__date .DayPickerNavigation_leftButton__horizontalDefault{ +@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}@media (-webkit-min-device-pixel-ratio:2),(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-duration:1ms;animation-delay:0s}}.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-duration:1ms;animation-delay:0s}}.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>div{padding:16px;min-width:220px}.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-admin-theme-color)}.components-button-group{display:inline-block}.components-button-group .components-button{border-radius:0;display:inline-flex;color:#1e1e1e;box-shadow:inset 0 0 0 1px #1e1e1e}.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{display:inline-flex;text-decoration:none;font-weight:400;font-size:13px;margin:0;border:0;cursor:pointer;-webkit-appearance:none;background:none;transition:box-shadow .1s linear;height:36px;align-items:center;box-sizing:border-box;padding:6px 12px;border-radius:2px;color:#1e1e1e}@media (prefers-reduced-motion:reduce){.components-button{transition-duration:0s;transition-delay:0s}}.components-button:hover,.components-button[aria-expanded=true]{color:var(--wp-admin-theme-color)}.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-admin-theme-color);outline:3px solid transparent}.components-button.is-primary{white-space:nowrap;background:var(--wp-admin-theme-color);color:#fff;text-decoration:none;text-shadow:none;outline:1px solid transparent}.components-button.is-primary:hover:not(:disabled){background:var(--wp-admin-theme-color-darker-10);color:#fff}.components-button.is-primary:active:not(:disabled){background:var(--wp-admin-theme-color-darker-20);border-color:var(--wp-admin-theme-color-darker-20);color:#fff}.components-button.is-primary:focus:not(:disabled){box-shadow:inset 0 0 0 1px #fff,0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.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{color:hsla(0,0%,100%,.4);background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);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 #fff,0 0 0 3px var(--wp-admin-theme-color)}.components-button.is-primary.is-busy,.components-button.is-primary.is-busy:disabled,.components-button.is-primary.is-busy[aria-disabled=true]{color:#fff;background-size:100px 100%;background-image:linear-gradient(-45deg,var(--wp-admin-theme-color) 33%,var(--wp-admin-theme-color-darker-20) 0,var(--wp-admin-theme-color-darker-20) 70%,var(--wp-admin-theme-color) 0);border-color:var(--wp-admin-theme-color)}.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){background:#ddd;color:var(--wp-admin-theme-color-darker-10);box-shadow:none}.components-button.is-secondary:hover:not(:disabled),.components-button.is-tertiary:hover:not(:disabled){color:var(--wp-admin-theme-color-darker-10);box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color-darker-10)}.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{color:#828282;background:#eaeaea;transform:none;opacity:1;box-shadow:none;outline:none}.components-button.is-secondary{box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color);outline:1px solid transparent}.components-button.is-secondary,.components-button.is-tertiary{white-space:nowrap;color:var(--wp-admin-theme-color);background:transparent}.components-button.is-tertiary{padding:6px}.components-button.is-tertiary .dashicon{display:inline-block;flex:0 0 auto}p+.components-button.is-tertiary{margin-left:-6px}.components-button.is-destructive{color:#cc1818;box-shadow:inset 0 0 0 1px #cc1818}.components-button.is-destructive:hover:not(:disabled){color:#710d0d;box-shadow:inset 0 0 0 1px #710d0d}.components-button.is-destructive:focus:not(:disabled){color:var(--wp-admin-theme-color)}.components-button.is-destructive:active:not(:disabled){background:#ccc}.components-button.is-destructive.is-primary{color:#fff;background:#cc1818;box-shadow:inset 0 0 0 1px #cc1818}.components-button.is-destructive.is-primary:hover:not(:disabled){color:#fff;background:#710d0d;box-shadow:inset 0 0 0 1px #710d0d}.components-button.is-link{margin:0;padding:0;box-shadow:none;border:0;border-radius:0;background:none;outline:none;text-align:left;color:var(--wp-admin-theme-color);text-decoration:underline;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;height:auto}@media (prefers-reduced-motion:reduce){.components-button.is-link{transition-duration:0s;transition-delay:0s}}.components-button.is-link:focus{border-radius:2px}.components-button.is-link.is-destructive{color:#cc1818}.components-button.is-link.is-destructive:active:not(:disabled),.components-button.is-link.is-destructive:hover:not(:disabled){color:#710d0d;background:none}.components-button.is-link.is-destructive:focus:not(:disabled){color:var(--wp-admin-theme-color)}.components-button:not([aria-disabled=true]):active{color:inherit}.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;opacity:1;background-size:100px 100%;background-image:linear-gradient(-45deg,#fafafa 33%,#e0e0e0 0,#e0e0e0 70%,#fafafa 0)}.components-button.is-small{height:24px;line-height:22px;padding:0 8px;font-size:11px}.components-button.is-small.has-icon:not(.has-text){padding:0 8px;width:24px}.components-button.has-icon{padding:6px;min-width:36px;justify-content:center}.components-button.has-icon .dashicon{display:inline-block;flex:0 0 auto;margin-left:2px;margin-right:2px}.components-button.has-icon.has-text{justify-content:left}.components-button.has-icon.has-text svg{margin-right:8px}.components-button.has-icon.has-text .dashicon{margin-right:10px}.components-button.is-pressed{color:#fff;background:#1e1e1e}.components-button.is-pressed:focus:not(:disabled){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}.components-button.is-pressed:hover:not(:disabled){color:#fff;background:#1e1e1e}.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]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;font-size:16px;line-height:normal;border:1px solid #1e1e1e;transition:none;border-radius:2px;background:#fff;color:#1e1e1e;clear:none;cursor:pointer;display:inline-block;line-height:0;margin:0 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:top;width:24px;height:24px;-webkit-appearance:none;appearance:none;transition:border-color .1s ease-in-out}@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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-checkbox-control__input[type=checkbox]:checked:before,.components-checkbox-control__input[type=checkbox][aria-checked=mixed]:before{margin:-3px -5px;color:#fff}@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{content:"";float:left;display:inline-block;vertical-align:middle;width:16px;font:normal 30px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@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-duration:0s;transition-delay:0s}}.components-checkbox-control__input[type=checkbox]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.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{content:none}.components-checkbox-control__input-container{position:relative;display:inline-block;margin-right:12px;vertical-align:middle;width:24px;height:24px}@media (min-width:600px){.components-checkbox-control__input-container{width:20px;height:20px}}svg.components-checkbox-control__checked{fill:#fff;cursor:pointer;position:absolute;left:0;top:0;width:24px;height:24px;-webkit-user-select:none;user-select:none;pointer-events:none}@media (min-width:600px){svg.components-checkbox-control__checked{left:-2px;top:-2px}}.components-circular-option-picker{display:inline-block;width:100%;min-width:188px}.components-circular-option-picker .components-circular-option-picker__custom-clear-wrapper{display:flex;justify-content:flex-end}.components-circular-option-picker .components-circular-option-picker__swatches{display:flex;flex-wrap:wrap;gap:12px}.components-circular-option-picker__option-wrapper{display:inline-block;height:28px;width:28px;vertical-align:top;transform:scale(1);transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option-wrapper{transition-duration:0s;transition-delay: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{content:"";position:absolute;top:1px;left:1px;bottom:1px;right:1px;border-radius:50%;z-index:-1;background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='28' height='28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 8V6H4v2h2zm2 0V6h2v2H8zm2 8H8v-2h2v2zm2 0v-2h2v2h-2zm0 2v-2h-2v2H8v2h2v-2h2zm2 0v2h-2v-2h2zm2 0h-2v-2h2v2z' fill='%23555D65'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18 18h2v-2h-2v-2h2v-2h-2v-2h2V8h-2v2h-2V8h-2v2h2v2h-2v2h2v2h2v2zm-2-4v-2h2v2h-2z' fill='%23555D65'/%3E%3Cpath d='M18 18v2h-2v-2h2z' fill='%23555D65'/%3E%3Cpath fill-rule='evenodd' clip-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' fill='%23555D65'/%3E%3Cpath fill-rule='evenodd' clip-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' fill='%23555D65'/%3E%3C/svg%3E")}.components-circular-option-picker__option{display:inline-block;vertical-align:top;height:100%;width:100%;border:none;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 14px;transition:box-shadow .1s ease;cursor:pointer}@media (prefers-reduced-motion:reduce){.components-circular-option-picker__option{transition-duration:0s;transition-delay: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;position:relative;z-index:1;overflow:visible}.components-circular-option-picker__option.is-pressed+svg{position:absolute;left:2px;top:2px;border-radius:50%;z-index:2;pointer-events:none}.components-circular-option-picker__option:after{content:"";position:absolute;top:-1px;left:-1px;bottom:-1px;right:-1px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);border:1px solid transparent}.components-circular-option-picker__option:focus:after{content:"";border:2px solid #757575;width:32px;height:32px;position:absolute;top:-2px;left:-2px;border-radius:50%;box-shadow:inset 0 0 0 2px #fff}.components-circular-option-picker__option.components-button:focus{background-color:initial;box-shadow:inset 0 0 0 14px;outline:none}.components-circular-option-picker__button-action .components-circular-option-picker__option{color:#fff;background:#fff}.components-circular-option-picker__dropdown-link-action{margin-right:16px}.components-circular-option-picker__dropdown-link-action .components-button{line-height:22px}@media (min-width:782px){.components-color-edit__color-popover.components-popover .components-popover__content.components-popover__content.components-popover__content{margin-right:156px;margin-top:-49px}}.component-color-indicator{width:25px;height:16px;margin-left:.8rem;border:1px solid #dadada;display:inline-block}.component-color-indicator+.component-color-indicator{margin-left:.5rem}.components-combobox-control{width:100%}input.components-combobox-control__input[type=text]{width:100%;border:none;box-shadow:none;font-size:16px;padding:2px;margin:0;line-height:inherit;min-height:auto}@media (min-width:600px){input.components-combobox-control__input[type=text]{font-size:13px}}input.components-combobox-control__input[type=text]:focus{outline:none;box-shadow:none}.components-combobox-control__suggestions-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;display:flex;flex-wrap:wrap;align-items:flex-start;width:100%;margin:0 0 8px;padding:4px}@media (prefers-reduced-motion:reduce){.components-combobox-control__suggestions-container{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-combobox-control__reset.components-button{display:flex;height:24px;min-width:24px;padding:0}.components-color-list-picker,.components-color-list-picker__swatch-button{width:100%}.components-color-list-picker__color-picker{margin:8px 0}.components-color-palette__custom-color{border:none;background:none;outline:0;display:block;border-radius:2px;height:48px;text-align:right;width:100%;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,25px 25px;background-size:50px 50px;box-sizing:border-box;color:#fff;cursor:pointer}.components-custom-gradient-picker__gradient-bar:not(.has-gradient){opacity:.4}.components-custom-gradient-picker__gradient-bar{border-radius:2px;margin-top:12px;width:100%;height:48px;margin-bottom:20px;padding-right:16px}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__markers-container{position:relative;width:calc(100% - 32px);margin-left:auto;margin-right:auto}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point{border-radius:50%;background:#fff;padding:2px;top:16px;min-width:16px;width:16px;height:16px;position:relative;color:#1e1e1e}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__insert-point svg{height:100%;width:100%}.components-custom-gradient-picker__gradient-bar .components-custom-gradient-picker__control-point-button{border-radius:50%;height:16px;width:16px;padding:0;position:absolute;top:16px;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #fff,0 0 2px 0 rgba(0,0,0,.25);outline:2px solid transparent}.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:4px solid transparent}.components-custom-gradient-picker__color-picker-popover .components-custom-gradient-picker__remove-control-point{margin-left:auto;margin-right:auto;display:block;margin-bottom:8px}.components-custom-gradient-picker__inserter{direction:ltr;width:100%}.components-custom-gradient-picker__liner-gradient-indicator{display:inline-block;flex:0 auto;width:20px;height:20px}.components-custom-gradient-picker .components-custom-gradient-picker__ui-line{margin-bottom:16px}.components-custom-gradient-picker .components-custom-gradient-picker__ui-line .components-base-control.components-angle-picker,.components-custom-gradient-picker .components-custom-gradient-picker__ui-line .components-base-control.components-custom-gradient-picker__type-picker{margin-bottom:0}.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 .components-input-control__input,.components-custom-gradient-picker .components-select-control__input{height:40px!important}.components-custom-gradient-picker .components-input-control__label{line-height:1;padding-bottom:8px!important}.components-custom-gradient-picker label{text-transform:uppercase;font-size:11px;font-weight:500}.components-custom-select-control{position:relative}.components-custom-select-control__label{display:block;margin-bottom:8px}.components-custom-select-control__button{border:1px solid #757575;border-radius:2px;min-height:30px;min-width:130px;position:relative;text-align:left}.components-custom-select-control__button.components-custom-select-control__button{padding-right:24px}.components-custom-select-control__button:focus:not(:disabled){border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.components-custom-select-control__button .components-custom-select-control__button-icon{height:100%;padding:0;position:absolute;right:0;top:0}.components-custom-select-control__menu{border:1px solid #1e1e1e;background-color:#fff;border-radius:2px;outline:none;transition:none;max-height:400px;min-width:100%;overflow:auto;padding:0;position:absolute;z-index:1000000}.components-custom-select-control__menu[aria-hidden=true]{display:none}.components-custom-select-control__item{align-items:center;display:grid;grid-template-columns:auto auto;list-style-type:none;padding:8px;cursor:default;line-height:28px}.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:#757575;text-align:right;padding-right:4px}.components-custom-select-control__item .components-custom-select-control__item-icon{margin-left:auto}.components-custom-select-control__item:last-child{margin-bottom:0}.PresetDateRangePicker_panel{padding:0 22px 11px}.PresetDateRangePicker_button{position:relative;height:100%;text-align:center;background:0 0;border:2px solid #00a699;color:#00a699;padding:4px 12px;margin-right:8px;font:inherit;font-weight:700;line-height:normal;overflow:visible;box-sizing:border-box;cursor:pointer}.PresetDateRangePicker_button:active{outline:0}.PresetDateRangePicker_button__selected{color:#fff;background:#00a699}.SingleDatePickerInput{display:inline-block;background-color:#fff}.SingleDatePickerInput__withBorder{border-radius:2px;border:1px solid #dbdbdb}.SingleDatePickerInput__rtl{direction:rtl}.SingleDatePickerInput__disabled{background-color:#f2f2f2}.SingleDatePickerInput__block{display:block}.SingleDatePickerInput__showClearDate{padding-right:30px}.SingleDatePickerInput_clearDate{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;padding:10px;margin:0 10px 0 5px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.SingleDatePickerInput_clearDate__default:focus,.SingleDatePickerInput_clearDate__default:hover{background:#dbdbdb;border-radius:50%}.SingleDatePickerInput_clearDate__small{padding:6px}.SingleDatePickerInput_clearDate__hide{visibility:hidden}.SingleDatePickerInput_clearDate_svg{fill:#82888a;height:12px;width:15px;vertical-align:middle}.SingleDatePickerInput_clearDate_svg__small{height:9px}.SingleDatePickerInput_calendarIcon{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;display:inline-block;vertical-align:middle;padding:10px;margin:0 5px 0 10px}.SingleDatePickerInput_calendarIcon_svg{fill:#82888a;height:15px;width:14px;vertical-align:middle}.SingleDatePicker{position:relative;display:inline-block}.SingleDatePicker__block{display:block}.SingleDatePicker_picker{z-index:1;background-color:#fff;position:absolute}.SingleDatePicker_picker__rtl{direction:rtl}.SingleDatePicker_picker__directionLeft{left:0}.SingleDatePicker_picker__directionRight{right:0}.SingleDatePicker_picker__portal{background-color:rgba(0,0,0,.3);position:fixed;top:0;left:0;height:100%;width:100%}.SingleDatePicker_picker__fullScreenPortal{background-color:#fff}.SingleDatePicker_closeButton{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;position:absolute;top:0;right:0;padding:15px;z-index:2}.SingleDatePicker_closeButton:focus,.SingleDatePicker_closeButton:hover{color:#b0b3b4;text-decoration:none}.SingleDatePicker_closeButton_svg{height:15px;width:15px;fill:#cacccd}.DayPickerKeyboardShortcuts_buttonReset{background:0 0;border:0;border-radius:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;cursor:pointer;font-size:14px}.DayPickerKeyboardShortcuts_buttonReset:active{outline:0}.DayPickerKeyboardShortcuts_show{width:22px;position:absolute;z-index:2}.DayPickerKeyboardShortcuts_show__bottomRight{border-top:26px solid transparent;border-right:33px solid #00a699;bottom:0;right:0}.DayPickerKeyboardShortcuts_show__bottomRight:hover{border-right:33px solid #008489}.DayPickerKeyboardShortcuts_show__topRight{border-bottom:26px solid transparent;border-right:33px solid #00a699;top:0;right:0}.DayPickerKeyboardShortcuts_show__topRight:hover{border-right:33px solid #008489}.DayPickerKeyboardShortcuts_show__topLeft{border-bottom:26px solid transparent;border-left:33px solid #00a699;top:0;left:0}.DayPickerKeyboardShortcuts_show__topLeft:hover{border-left:33px solid #008489}.DayPickerKeyboardShortcuts_showSpan{color:#fff;position:absolute}.DayPickerKeyboardShortcuts_showSpan__bottomRight{bottom:0;right:-28px}.DayPickerKeyboardShortcuts_showSpan__topRight{top:1px;right:-28px}.DayPickerKeyboardShortcuts_showSpan__topLeft{top:1px;left:-28px}.DayPickerKeyboardShortcuts_panel{overflow:auto;background:#fff;border:1px solid #dbdbdb;border-radius:2px;position:absolute;top:0;bottom:0;right:0;left:0;z-index:2;padding:22px;margin:33px}.DayPickerKeyboardShortcuts_title{font-size:16px;font-weight:700;margin:0}.DayPickerKeyboardShortcuts_list{list-style:none;padding:0;font-size:14px}.DayPickerKeyboardShortcuts_close{position:absolute;right:22px;top:22px;z-index:2}.DayPickerKeyboardShortcuts_close:active{outline:0}.DayPickerKeyboardShortcuts_closeSvg{height:15px;width:15px;fill:#cacccd}.DayPickerKeyboardShortcuts_closeSvg:focus,.DayPickerKeyboardShortcuts_closeSvg:hover{fill:#82888a}.CalendarDay{box-sizing:border-box;cursor:pointer;font-size:14px;text-align:center}.CalendarDay:active{outline:0}.CalendarDay__defaultCursor{cursor:default}.CalendarDay__default{border:1px solid #e4e7e7;color:#484848;background:#fff}.CalendarDay__default:hover{background:#e4e7e7;border:1px double #e4e7e7;color:inherit}.CalendarDay__hovered_offset{background:#f4f5f5;border:1px double #e4e7e7;color:inherit}.CalendarDay__outside{border:0;background:#fff;color:#484848}.CalendarDay__outside:hover{border:0}.CalendarDay__blocked_minimum_nights{background:#fff;border:1px solid #eceeee;color:#cacccd}.CalendarDay__blocked_minimum_nights:active,.CalendarDay__blocked_minimum_nights:hover{background:#fff;color:#cacccd}.CalendarDay__highlighted_calendar{background:#ffe8bc;color:#484848}.CalendarDay__highlighted_calendar:active,.CalendarDay__highlighted_calendar:hover{background:#ffce71;color:#484848}.CalendarDay__selected_span{background:#66e2da;border:1px solid #33dacd;color:#fff}.CalendarDay__selected_span:active,.CalendarDay__selected_span:hover{background:#33dacd;border:1px solid #33dacd;color:#fff}.CalendarDay__last_in_range{border-right:#00a699}.CalendarDay__selected,.CalendarDay__selected:active,.CalendarDay__selected:hover{background:#00a699;border:1px solid #00a699;color:#fff}.CalendarDay__hovered_span,.CalendarDay__hovered_span:hover{background:#b2f1ec;border:1px solid #80e8e0;color:#007a87}.CalendarDay__hovered_span:active{background:#80e8e0;border:1px solid #80e8e0;color:#007a87}.CalendarDay__blocked_calendar,.CalendarDay__blocked_calendar:active,.CalendarDay__blocked_calendar:hover{background:#cacccd;border:1px solid #cacccd;color:#82888a}.CalendarDay__blocked_out_of_range,.CalendarDay__blocked_out_of_range:active,.CalendarDay__blocked_out_of_range:hover{background:#fff;border:1px solid #e4e7e7;color:#cacccd}.CalendarMonth{background:#fff;text-align:center;vertical-align:top;-webkit-user-select:none;user-select:none}.CalendarMonth_table{border-collapse:collapse;border-spacing:0}.CalendarMonth_verticalSpacing{border-collapse:initial}.CalendarMonth_caption{color:#484848;font-size:18px;text-align:center;padding-top:22px;padding-bottom:37px;caption-side:top}.CalendarMonth_caption__verticalScrollable{padding-top:12px;padding-bottom:7px}.CalendarMonthGrid{background:#fff;text-align:left;z-index:0}.CalendarMonthGrid__animating{z-index:1}.CalendarMonthGrid__horizontal{position:absolute;left:0}.CalendarMonthGrid__vertical{margin:0 auto}.CalendarMonthGrid__vertical_scrollable{margin:0 auto;overflow-y:scroll}.CalendarMonthGrid_month__horizontal{display:inline-block;vertical-align:top;min-height:100%}.CalendarMonthGrid_month__hideForAnimation{position:absolute;z-index:-1;opacity:0;pointer-events:none}.CalendarMonthGrid_month__hidden{visibility:hidden}.DayPickerNavigation{position:relative;z-index:2}.DayPickerNavigation__horizontal{height:0}.DayPickerNavigation__verticalDefault{position:absolute;width:100%;height:52px;bottom:0;left:0}.DayPickerNavigation__verticalScrollableDefault{position:relative}.DayPickerNavigation_button{cursor:pointer;-webkit-user-select:none;user-select:none;border:0;padding:0;margin:0}.DayPickerNavigation_button__default{border:1px solid #e4e7e7;background-color:#fff;color:#757575}.DayPickerNavigation_button__default:focus,.DayPickerNavigation_button__default:hover{border:1px solid #c4c4c4}.DayPickerNavigation_button__default:active{background:#f2f2f2}.DayPickerNavigation_button__horizontalDefault{position:absolute;top:18px;line-height:.78;border-radius:3px;padding:6px 9px}.DayPickerNavigation_leftButton__horizontalDefault{left:22px}.DayPickerNavigation_rightButton__horizontalDefault{right:22px}.DayPickerNavigation_button__verticalDefault{padding:5px;background:#fff;box-shadow:0 0 5px 2px rgba(0,0,0,.1);position:relative;display:inline-block;height:100%;width:50%}.DayPickerNavigation_nextButton__verticalDefault{border-left:0}.DayPickerNavigation_nextButton__verticalScrollableDefault{width:100%}.DayPickerNavigation_svg__horizontal{height:19px;width:19px;fill:#82888a;display:block}.DayPickerNavigation_svg__vertical{height:42px;width:42px;fill:#484848;display:block}.DayPicker{position:relative;text-align:left}.DayPicker,.DayPicker__horizontal{background:#fff}.DayPicker__verticalScrollable{height:100%}.DayPicker__hidden{visibility:hidden}.DayPicker__withBorder{box-shadow:0 2px 6px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.07);border-radius:3px}.DayPicker_portal__horizontal{box-shadow:none;position:absolute;left:50%;top:50%}.DayPicker_portal__vertical{position:static}.DayPicker_focusRegion{outline:0}.DayPicker_calendarInfo__horizontal,.DayPicker_wrapper__horizontal{display:inline-block;vertical-align:top}.DayPicker_weekHeaders{position:relative}.DayPicker_weekHeaders__horizontal{margin-left:13px}.DayPicker_weekHeader{color:#757575;position:absolute;top:62px;z-index:2;text-align:left;padding:0!important}.DayPicker_weekHeader__vertical{left:50%}.DayPicker_weekHeader__verticalScrollable{top:0;display:table-row;border-bottom:1px solid #dbdbdb;background:#fff;margin-left:0;left:0;width:100%;text-align:center}.DayPicker_weekHeader_ul{list-style:none;margin:1px 0;padding-left:0;padding-right:0;font-size:14px}.DayPicker_weekHeader_li{display:inline-block;text-align:center;margin:0 1px}.DayPicker_transitionContainer{position:relative;overflow:hidden;border-radius:3px}.DayPicker_transitionContainer__horizontal{transition:height .2s ease-in-out}.DayPicker_transitionContainer__vertical{width:100%}.DayPicker_transitionContainer__verticalScrollable{padding-top:20px;height:100%;position:absolute;top:0;bottom:0;right:0;left:0;overflow-y:scroll}.DateInput{margin:0;padding:0;background:#fff;position:relative;display:inline-block;width:130px;vertical-align:middle}.DateInput__small{width:97px}.DateInput__block{width:100%}.DateInput__disabled{background:#f2f2f2;color:#dbdbdb}.DateInput_input{font-weight:200;font-size:19px;line-height:24px;color:#484848;background-color:#fff;width:100%;padding:11px 11px 9px;border:0;border-bottom:2px solid transparent;border-radius:0}.DateInput_input__small{font-size:15px;line-height:18px;letter-spacing:.2px;padding:7px 7px 5px}.DateInput_input__regular{font-weight:auto}.DateInput_input__readOnly{-webkit-user-select:none;user-select:none}.DateInput_input__focused{outline:0;background:#fff;border:0;border-bottom:2px solid #008489}.DateInput_input__disabled{background:#f2f2f2;font-style:italic}.DateInput_screenReaderMessage{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.DateInput_fang{position:absolute;width:20px;height:10px;left:22px;z-index:2}.DateInput_fangShape{fill:#fff}.DateInput_fangStroke{stroke:#dbdbdb;fill:transparent}.DateRangePickerInput{background-color:#fff;display:inline-block}.DateRangePickerInput__disabled{background:#f2f2f2}.DateRangePickerInput__withBorder{border-radius:2px;border:1px solid #dbdbdb}.DateRangePickerInput__rtl{direction:rtl}.DateRangePickerInput__block{display:block}.DateRangePickerInput__showClearDates{padding-right:30px}.DateRangePickerInput_arrow{display:inline-block;vertical-align:middle;color:#484848}.DateRangePickerInput_arrow_svg{vertical-align:middle;fill:#484848;height:24px;width:24px}.DateRangePickerInput_clearDates{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;padding:10px;margin:0 10px 0 5px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.DateRangePickerInput_clearDates__small{padding:6px}.DateRangePickerInput_clearDates_default:focus,.DateRangePickerInput_clearDates_default:hover{background:#dbdbdb;border-radius:50%}.DateRangePickerInput_clearDates__hide{visibility:hidden}.DateRangePickerInput_clearDates_svg{fill:#82888a;height:12px;width:15px;vertical-align:middle}.DateRangePickerInput_clearDates_svg__small{height:9px}.DateRangePickerInput_calendarIcon{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;display:inline-block;vertical-align:middle;padding:10px;margin:0 5px 0 10px}.DateRangePickerInput_calendarIcon_svg{fill:#82888a;height:15px;width:14px;vertical-align:middle}.DateRangePicker{position:relative;display:inline-block}.DateRangePicker__block{display:block}.DateRangePicker_picker{z-index:1;background-color:#fff;position:absolute}.DateRangePicker_picker__rtl{direction:rtl}.DateRangePicker_picker__directionLeft{left:0}.DateRangePicker_picker__directionRight{right:0}.DateRangePicker_picker__portal{background-color:rgba(0,0,0,.3);position:fixed;top:0;left:0;height:100%;width:100%}.DateRangePicker_picker__fullScreenPortal{background-color:#fff}.DateRangePicker_closeButton{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;cursor:pointer;position:absolute;top:0;right:0;padding:15px;z-index:2}.DateRangePicker_closeButton:focus,.DateRangePicker_closeButton:hover{color:#b0b3b4;text-decoration:none}.DateRangePicker_closeButton_svg{height:15px;width:15px;fill:#cacccd}.components-datetime{padding:16px}.components-panel__body .components-datetime{padding:0}.components-datetime .components-datetime__calendar-help{padding:16px;min-width:260px}.components-datetime .components-datetime__calendar-help h4{margin:0}.components-datetime .components-datetime__buttons{display:flex;justify-content:space-between}.components-datetime .components-datetime__date-help-toggle{display:block;margin-left:auto}.components-datetime fieldset{border:0;padding:0;margin:0}.components-datetime input,.components-datetime select{box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575}@media (prefers-reduced-motion:reduce){.components-datetime input,.components-datetime select{transition-duration:0s;transition-delay:0s}}.components-datetime .components-button,.components-datetime input[type=number],.components-datetime select{height:30px;margin-top:0;margin-bottom:0}.components-datetime .components-button:focus{z-index:1}.components-datetime__date{min-height:236px;border-top:1px solid #ddd}.components-datetime__date .DayPickerNavigation_leftButton__horizontalDefault{ /*!rtl:begin:ignore*/left:13px - /*!rtl:end:ignore*/}.components-datetime__date .CalendarMonth_caption{font-size:13px}.components-datetime__date .CalendarMonth_table{border-collapse:initial;border-spacing:2px}.components-datetime__date .CalendarDay{font-size:13px;border:none;border-radius:50%;text-align:center}.components-datetime__date .CalendarDay:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 3px #fff;outline:2px solid transparent}.components-datetime__date .CalendarDay__selected{background:var(--wp-admin-theme-color);border:2px solid transparent}.components-datetime__date .CalendarDay__selected:hover{background:var(--wp-admin-theme-color-darker-20)}.components-datetime__date .CalendarDay__selected:focus{box-shadow:inset 0 0 0 1px #fff}.components-datetime__date .DayPickerNavigation_button__horizontalDefault{padding:2px 8px;top:20px}.components-datetime__date .DayPickerNavigation_button__horizontalDefault:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-datetime__date .DayPicker_weekHeader{top:50px}.components-datetime__date .DayPicker_weekHeader .DayPicker_weekHeader_ul{margin:1px;padding-left:0;padding-right:0}.components-datetime__date.is-description-visible .DayPicker{visibility:hidden}.components-datetime__date .CalendarDay .components-datetime__date__day{height:100%;display:flex;justify-content:center;align-content:center;flex-direction:column;position:relative}.components-datetime__date .CalendarDay .components-datetime__date__day.has-events:before{content:" ";width:4px;height:4px;border-radius:2px;position:absolute;left:50%;margin-left:-2px;bottom:0;background-color:#fff}.components-datetime__date .CalendarDay:not(.CalendarDay__selected) .components-datetime__date__day.has-events:before{background:var(--wp-admin-theme-color)}.components-datetime__time{padding-bottom:16px}.components-datetime__time fieldset{position:relative;margin-bottom:.5em}.components-datetime__time fieldset+fieldset{margin-bottom:0}.components-datetime__time .components-datetime__time-field-am-pm fieldset{margin-top:0}.components-datetime__time .components-datetime__time-wrapper{display:flex}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-separator{display:inline-block;padding:0 3px 0 0}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field-time{direction:ltr}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field select{margin-right:4px}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field select:focus{position:relative;z-index:1}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]{padding:2px;margin-right:4px;text-align:center;-moz-appearance:textfield}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]:focus{position:relative;z-index:1}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.components-datetime__time.is-12-hour .components-datetime__time-field-day input{margin:-4px 0 0!important;border-radius:2px 0 0 2px!important}.components-datetime__time.is-12-hour .components-datetime__time-field-year input{border-radius:0 2px 2px 0!important}.components-datetime__timezone{line-height:30px;margin-left:4px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.components-datetime__time-legend{font-weight:600;margin-top:.5em}.components-datetime__time-legend.invisible{position:absolute;top:-999em;left:-999em}.components-datetime__time-field-day-input,.components-datetime__time-field-hours-input,.components-datetime__time-field-minutes-input{width:35px}.components-datetime__time-field-year-input{width:55px}.components-datetime__time-field-month-select{max-width:145px}.components-popover .components-datetime__date{padding-left:4px}.block-editor-dimension-control .components-base-control__field{display:flex;align-items:center}.block-editor-dimension-control .components-base-control__label{display:flex;align-items:center;margin-right:1em;margin-bottom:0}.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{position:fixed;left:-1000px;height:50px;width:50px}.components-draggable__clone{position:fixed;padding:0;background:transparent;pointer-events:none;z-index:1000000000}.components-drop-zone{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;visibility:hidden;opacity:0;transition:opacity .3s,background-color .3s,visibility 0s .3s;border:2px solid var(--wp-admin-theme-color);border-radius:2px}@media (prefers-reduced-motion:reduce){.components-drop-zone{transition-duration:0s;transition-delay:0s}}.components-drop-zone.is-active{opacity:1;visibility:visible;transition:opacity .3s,background-color .3s}@media (prefers-reduced-motion:reduce){.components-drop-zone.is-active{transition-duration:0s;transition-delay:0s}}.components-drop-zone.is-dragging-over-element{background-color:var(--wp-admin-theme-color)}.components-drop-zone__content{position:absolute;top:50%;left:0;right:0;z-index:50;transform:translateY(-50%);width:100%;text-align:center;color:#fff;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.components-drop-zone__content{transition-duration:0s;transition-delay:0s}}.components-drop-zone.is-dragging-over-element .components-drop-zone__content{transform:translateY(-50%) scale(1.05)}.components-drop-zone__content-icon,.components-drop-zone__content-text{display:block}.components-drop-zone__content-icon{margin:0 auto;line-height:0;fill:currentColor}.components-drop-zone__content-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.components-dropdown{display:inline-block}.components-dropdown__content .components-popover__content>div{padding:12px}.components-dropdown-menu__popover .components-popover__content{min-width:200px}.components-dropdown-menu__menu{width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.4}.components-dropdown-menu__menu .components-dropdown-menu__menu-item,.components-dropdown-menu__menu .components-menu-item{width:100%;padding:6px;outline:none;cursor:pointer;white-space:nowrap}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator,.components-dropdown-menu__menu .components-menu-item.has-separator{margin-top:6px;position:relative;overflow:visible}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator:before,.components-dropdown-menu__menu .components-menu-item.has-separator:before{display:block;content:"";box-sizing:initial;background-color:#ddd;position:absolute;top:-3px;left:0;right:0;height:1px}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-active svg,.components-dropdown-menu__menu .components-menu-item.is-active svg{color:#fff;background:#1e1e1e;box-shadow:0 0 0 1px #1e1e1e;border-radius:1px}.components-dropdown-menu__menu .components-dropdown-menu__menu-item>svg,.components-dropdown-menu__menu .components-menu-item>svg{border-radius:2px;width:24px;height:24px}.components-dropdown-menu__menu .components-menu-item__button,.components-dropdown-menu__menu .components-menu-item__button.components-button{min-height:36px;height:auto;text-align:left;padding-left:8px;padding-right:8px}.components-dropdown-menu__menu .components-menu-group{padding:12px;margin:0 -12px}.components-dropdown-menu__menu .components-menu-group:first-child{margin-top:-12px}.components-dropdown-menu__menu .components-menu-group:last-child{margin-bottom:-12px}.components-dropdown-menu__menu .components-menu-group+.components-menu-group{margin-top:0;border-top:1px solid #ccc;padding:12px}.is-alternate .components-dropdown-menu__menu .components-menu-group+.components-menu-group{border-color:#1e1e1e}.components-font-size-picker__controls{max-width:248px;display:flex;flex-wrap:wrap;align-items:center;margin-bottom:24px}.components-font-size-picker__controls .components-unit-control-wrapper{margin-right:8px}.components-font-size-picker__controls .components-unit-control-wrapper .components-input-control__label{font-weight:300;padding-bottom:0!important;margin-bottom:8px!important}.components-font-size-picker__controls .components-custom-select-control__button{min-width:120px}.components-font-size-picker__controls .components-font-size-picker__number{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;display:inline-block;font-weight:500;height:30px;margin:8px 8px 0 0;width:54px}@media (prefers-reduced-motion:reduce){.components-font-size-picker__controls .components-font-size-picker__number{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.components-font-size-picker__controls .components-font-size-picker__number{font-size:13px;line-height:normal}}.components-font-size-picker__controls .components-font-size-picker__number:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-font-size-picker__controls .components-font-size-picker__number::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-font-size-picker__controls .components-font-size-picker__number::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.components-font-size-picker__controls .components-font-size-picker__number:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-font-size-picker__controls .components-font-size-picker__number[value=""]+.components-button{cursor:default;opacity:.3;pointer-events:none}.components-font-size-picker__controls .components-font-size-picker__number-container{display:flex;flex-direction:column}.components-font-size-picker__controls .components-font-size-picker__select{margin-right:8px}.components-font-size-picker__controls .components-color-palette__clear{height:30px;margin-top:26px}.components-font-size-picker__custom-input .components-range-control__slider+.dashicon{width:30px;height:30px}.components-font-size-picker{border:0;padding:0;margin:0}.components-form-toggle{position:relative;display:inline-block}.components-form-toggle .components-form-toggle__track{content:"";display:inline-block;box-sizing:border-box;vertical-align:top;background-color:#fff;border:1px solid #1e1e1e;width:36px;height:18px;border-radius:9px;transition:background .2s ease}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__track{transition-duration:0s;transition-delay:0s}}.components-form-toggle .components-form-toggle__thumb{display:block;position:absolute;box-sizing:border-box;top:3px;left:3px;width:12px;height:12px;border-radius:50%;transition:transform .1s ease;background-color:#1e1e1e;border:5px solid #1e1e1e}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__thumb{transition-duration:0s;transition-delay:0s}}.components-form-toggle.is-checked .components-form-toggle__track{background-color:var(--wp-admin-theme-color);border:9px solid transparent}.components-form-toggle .components-form-toggle__input:focus+.components-form-toggle__track{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);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]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;margin:0;padding:0;z-index:1;border:none}.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{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;display:flex;flex-wrap:wrap;align-items:center;width:100%;margin:0 0 8px;padding:2px 4px;cursor:text}@media (prefers-reduced-motion:reduce){.components-form-token-field__input-container{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-form-token-field__input-container input[type=text].components-form-token-field__input{display:inline-block;flex:1;font-size:16px;width:100%;max-width:100%;margin-left:4px;padding:0;min-height:24px;min-width:50px;background:inherit;border:0;color:#1e1e1e;box-shadow:none}@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{outline:none;box-shadow: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__label{display:inline-block;margin-bottom:4px}.components-form-token-field__help{font-size:12px;font-style:normal;color:#757575}.components-form-token-field__token{font-size:13px;display:flex;margin:2px 4px 2px 0;color:#1e1e1e;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{position:relative;padding:0 16px 0 0}.components-form-token-field__token.is-borderless .components-form-token-field__token-text{background:transparent;color:var(--wp-admin-theme-color)}.components-form-token-field__token.is-borderless .components-form-token-field__remove-token{background:transparent;color:#757575;position:absolute;top:1px;right:0}.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{color:#cc1818;border-radius:4px 0 0 4px;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{display:inline-block;line-height:24px;height:auto;background:#ddd;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{transition-duration:0s;transition-delay:0s;animation-duration:1ms;animation-delay:0s}}.components-form-token-field__token-text{border-radius:2px 0 0 2px;padding:0 0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.components-form-token-field__remove-token.components-button{cursor:pointer;border-radius:0 2px 2px 0;padding:0 2px;color:#1e1e1e;line-height:10px;overflow:initial}.components-form-token-field__remove-token.components-button:hover{color:#1e1e1e}.components-form-token-field__suggestions-list{flex:1 0 100%;min-width:100%;max-height:9em;overflow-y:auto;transition:all .15s ease-in-out;list-style:none;border-top:1px solid #757575;margin:4px -4px -4px;padding:0}@media (prefers-reduced-motion:reduce){.components-form-token-field__suggestions-list{transition-duration:0s;transition-delay:0s}}.components-form-token-field__suggestion{color:#757575;display:block;font-size:13px;padding:4px 8px;margin:0;cursor:pointer}.components-form-token-field__suggestion.is-selected{background:var(--wp-admin-theme-color);color:#fff}.components-form-token-field__suggestion-match{text-decoration:underline}@media (min-width:600px){.components-guide{width:600px}}.components-guide .components-modal__header{background:none;border-bottom:none;width:100%;padding:0;margin:0}.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:30px;justify-content:center;margin:0 0 24px;padding:0 32px;position:relative;width:100%}@media (max-width:600px){.components-guide__footer{position:absolute;bottom:0}}.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{height:30px;min-width:20px;margin:-6px 0}.components-guide .components-modal__content{padding:0}.components-modal__frame.components-guide{border:none;min-width:312px;height:80vh;max-height:575px}@media (max-width:600px){.components-modal__frame.components-guide{bottom:5%;left:16px;right:16px;top:5%;margin:0 auto}}.components-button.components-guide__back-button,.components-button.components-guide__finish-button,.components-button.components-guide__forward-button{height:30px;position:absolute}.components-button.components-guide__back-button,.components-button.components-guide__forward-button{font-size:13px;padding:4px 2px}.components-button.components-guide__back-button.has-text svg,.components-button.components-guide__forward-button.has-text svg{margin:0}.components-button.components-guide__back-button:hover,.components-button.components-guide__forward-button:hover{text-decoration:underline}.components-button.components-guide__back-button{left:32px}.components-button.components-guide__forward-button{right:32px;color:#1386bf;font-weight:700}.components-button.components-guide__finish-button{right:32px}.components-button.components-guide__inline-finish-button{display:none}[role=region]{position:relative}.is-focusing-regions [role=region]:focus:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;outline:4px solid transparent;box-shadow:inset 0 0 0 4px var(--wp-admin-theme-color)}@supports (outline-offset:1px){.is-focusing-regions [role=region]:focus:after{content:none}.is-focusing-regions [role=region]:focus{outline-style:solid;outline-color:var(--wp-admin-theme-color);outline-width:4px;outline-offset:-4px}}.components-menu-group+.components-menu-group{margin-top:8px;padding-top:8px;border-top:1px solid #1e1e1e}.components-menu-group+.components-menu-group.has-hidden-separator{border-top:none;margin-top:0;padding-top:0}.components-menu-group__label{padding:0 8px;margin-top:4px;margin-bottom:12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500}.components-menu-item__button,.components-menu-item__button.components-button{width:100%}.components-menu-item__button.components-button .components-menu-items__item-icon,.components-menu-item__button .components-menu-items__item-icon{margin-right:-2px;margin-left:24px;display:inline-block;flex:0 0 auto}.components-menu-item__button.components-button .components-menu-item__shortcut+.components-menu-items__item-icon,.components-menu-item__button .components-menu-item__shortcut+.components-menu-items__item-icon{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__info-wrapper{display:flex;flex-direction:column;margin-right:auto}.components-menu-item__info{margin-top:4px;font-size:12px;color:#757575;white-space:normal}.components-menu-item__item{white-space:nowrap;margin-right:auto;display:inline-flex;align-items:center}.components-menu-item__shortcut{align-self:center;margin-right:0;margin-left:auto;padding-left:24px;color:currentColor;display:none}@media (min-width:480px){.components-menu-item__shortcut{display:inline}}.components-menu-items-choice.components-button svg,.components-menu-items-choice 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{position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.35);z-index:100000;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-modal__screen-overlay{animation-duration:1ms;animation-delay:0s}}.components-modal__frame{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;margin:0;background:#fff;box-shadow:0 10px 10px rgba(0,0,0,.25);border-radius:2px;overflow:auto}@media (min-width:600px){.components-modal__frame{top:50%;right:auto;bottom:auto;left:50%;min-width:360px;max-width:calc(100% - 32px);max-height:90%;transform:translate(-50%,-50%);animation:components-modal__appear-animation .1s ease-out;animation-fill-mode:forwards}}@media (min-width:600px) and (prefers-reduced-motion:reduce){.components-modal__frame{animation-duration:1ms;animation-delay:0s}}@keyframes components-modal__appear-animation{0%{margin-top:32px}to{margin-top:0}}.components-modal__header{box-sizing:border-box;border-bottom:1px solid #ddd;padding:0 32px;display:flex;flex-direction:row;justify-content:space-between;background:#fff;align-items:center;height:60px;z-index:10;position:relative;position:sticky;top:0;margin:0 -32px 24px}@supports (-ms-ime-align:auto){.components-modal__header{position:fixed;width:100%}}.components-modal__header .components-modal__header-heading{font-size:1rem;font-weight:600}.components-modal__header h1{line-height:1;margin:0}.components-modal__header .components-button{position:relative;left:8px}.components-modal__header-heading-container{align-items:center;flex-grow:1;display:flex;flex-direction:row;justify-content:left}.components-modal__header-icon-container{display:inline-block}.components-modal__header-icon-container svg{max-width:36px;max-height:36px;padding:8px}.components-modal__content{box-sizing:border-box;height:100%;padding:0 32px 24px}@supports (-ms-ime-align:auto){.components-modal__content{padding-top:60px}}.components-notice{display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#fff;border-left:4px solid var(--wp-admin-theme-color);margin:5px 15px 2px;padding:8px 12px;align-items:center}.components-notice.is-dismissible{padding-right:36px;position:relative}.components-notice.is-success{border-left-color:#4ab866;background-color:#eff9f1}.components-notice.is-warning{border-left-color:#f0b849;background-color:#fef8ee}.components-notice.is-error{border-left-color:#cc1818;background-color:#f4a2a2}.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{color:#757575;align-self:flex-start;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{color:#1e1e1e;background-color:initial}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{box-shadow:none}.components-notice-list{max-width:100vw;box-sizing:border-box}.components-notice-list .components-notice__content{margin-top:12px;margin-bottom:12px;line-height:2}.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-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.components-panel__body h3{margin:0 0 .5em}.components-panel__body.is-opened{padding:16px}.components-panel__header{display:flex;justify-content:space-between;align-items:center;padding:0 16px;height:48px;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.components-panel__header h2{margin:0;font-size:inherit;color:inherit}.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;padding:0;font-size:inherit;margin-top:0;margin-bottom:0;transition:background .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body>.components-panel__body-title{transition-duration:0s;transition-delay: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{position:relative;padding:16px 48px 16px 16px;outline:none;width:100%;font-weight:500;text-align:left;color:#1e1e1e;border:none;box-shadow:none;transition:background .1s ease-in-out;height:auto}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button{transition-duration:0s;transition-delay:0s}}.components-panel__body-toggle.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);border-radius:0}.components-panel__body-toggle.components-button .components-panel__arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#1e1e1e;fill:currentColor;transition:color .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button .components-panel__arrow{transition-duration:0s;transition-delay:0s}}body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right{transform:scaleX(-1);-ms-filter:fliph;filter:FlipH;margin-top:-10px}.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{display:flex;justify-content:space-between;align-items:center;margin-top:8px;min-height:36px}.components-panel__row select{min-width:0}.components-panel__row label{margin-right:12px;flex-shrink:0;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{box-sizing:border-box;position:relative;padding:1em;min-height:200px;width:100%;text-align:left;margin:0;color:#1e1e1e;-moz-font-smoothing:subpixel-antialiased;-webkit-font-smoothing:subpixel-antialiased;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;outline:1px solid transparent}@supports (position:sticky){.components-placeholder.components-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}}.components-placeholder.components-placeholder .components-base-control__label{font-size:13px}.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{display:flex;font-weight:600;margin-bottom:16px;align-items:center}.components-placeholder__label .block-editor-block-icon,.components-placeholder__label .dashicon,.components-placeholder__label>svg{fill:currentColor;margin-right:1ch}.components-placeholder__label:empty{display:none}.components-placeholder__fieldset,.components-placeholder__fieldset form{display:flex;flex-direction:row;width:100%;flex-wrap:wrap}.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]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;margin:0 8px 0 0;flex:1 1 auto}@media (prefers-reduced-motion:reduce){.components-placeholder__input[type=url]{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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__preview img{margin:3%;width:50%}.components-placeholder__fieldset .components-button{margin-right:12px;margin-bottom: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} + /*!rtl:end:ignore*/}.components-datetime__date .CalendarMonth_caption{font-size:13px}.components-datetime__date .CalendarMonth_table{border-collapse:initial;border-spacing:2px}.components-datetime__date .CalendarDay{font-size:13px;border:none;border-radius:50%;text-align:center}.components-datetime__date .CalendarDay:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 0 0 3px #fff;outline:2px solid transparent}.components-datetime__date .CalendarDay__selected{background:var(--wp-admin-theme-color);border:2px solid transparent}.components-datetime__date .CalendarDay__selected:hover{background:var(--wp-admin-theme-color-darker-20)}.components-datetime__date .CalendarDay__selected:focus{box-shadow:inset 0 0 0 1px #fff}.components-datetime__date .DayPickerNavigation_button__horizontalDefault{padding:2px 8px;top:20px}.components-datetime__date .DayPickerNavigation_button__horizontalDefault:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-datetime__date .DayPicker_weekHeader{top:50px}.components-datetime__date .DayPicker_weekHeader .DayPicker_weekHeader_ul{margin:1px;padding-left:0;padding-right:0}.components-datetime__date.is-description-visible .DayPicker{visibility:hidden}.components-datetime__date .CalendarDay .components-datetime__date__day{height:100%;display:flex;justify-content:center;align-content:center;flex-direction:column;position:relative}.components-datetime__date .CalendarDay .components-datetime__date__day.has-events:before{content:" ";width:4px;height:4px;border-radius:2px;position:absolute;left:50%;margin-left:-2px;bottom:0;background-color:#fff}.components-datetime__date .CalendarDay:not(.CalendarDay__selected) .components-datetime__date__day.has-events:before{background:var(--wp-admin-theme-color)}.components-datetime__time{padding-bottom:16px}.components-datetime__time fieldset{position:relative;margin-bottom:.5em}.components-datetime__time fieldset+fieldset{margin-bottom:0}.components-datetime__time .components-datetime__time-field-am-pm fieldset{margin-top:0}.components-datetime__time .components-datetime__time-wrapper{display:flex}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-separator{display:inline-block;padding:0 3px 0 0}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field-time{direction:ltr}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field select{margin-right:4px}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field select:focus{position:relative;z-index:1}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]{padding:2px;margin-right:4px;text-align:center;-moz-appearance:textfield}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]:focus{position:relative;z-index:1}.components-datetime__time .components-datetime__time-wrapper .components-datetime__time-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.components-datetime__time.is-12-hour .components-datetime__time-field-day input{margin:-4px 0 0!important;border-radius:2px 0 0 2px!important}.components-datetime__time.is-12-hour .components-datetime__time-field-year input{border-radius:0 2px 2px 0!important}.components-datetime__timezone{line-height:30px;margin-left:4px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.components-datetime__time-legend{font-weight:600;margin-top:.5em}.components-datetime__time-legend.invisible{position:absolute;top:-999em;left:-999em}.components-datetime__time-field-day-input,.components-datetime__time-field-hours-input,.components-datetime__time-field-minutes-input{width:35px}.components-datetime__time-field-year-input{width:55px}.components-datetime__time-field-month-select{max-width:145px}.components-popover .components-datetime__date{padding-left:4px}.block-editor-dimension-control .components-base-control__field{display:flex;align-items:center}.block-editor-dimension-control .components-base-control__label{display:flex;align-items:center;margin-right:1em;margin-bottom:0}.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{position:fixed;left:-1000px;height:50px;width:50px}.components-draggable__clone{position:fixed;padding:0;background:transparent;pointer-events:none;z-index:1000000000}.components-drop-zone{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;visibility:hidden;opacity:0;border-radius:2px}.components-drop-zone.is-active{opacity:1;visibility:visible}.components-drop-zone__content{position:absolute;top:0;bottom:0;left:0;right:0;height:100%;width:100%;display:flex;background-color:var(--wp-admin-theme-color);align-items:center;justify-content:center;z-index:50;text-align:center;color:#fff}.components-drop-zone__content-icon,.components-drop-zone__content-text{display:block}.components-drop-zone__content-icon{margin:0 auto;line-height:0;fill:currentColor;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>div{padding:8px}.components-dropdown__content [role=menuitem]{white-space:nowrap}.components-dropdown-menu__menu{width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.4}.components-dropdown-menu__menu .components-dropdown-menu__menu-item,.components-dropdown-menu__menu .components-menu-item{width:100%;padding:6px;outline:none;cursor:pointer;white-space:nowrap}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator,.components-dropdown-menu__menu .components-menu-item.has-separator{margin-top:6px;position:relative;overflow:visible}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.has-separator:before,.components-dropdown-menu__menu .components-menu-item.has-separator:before{display:block;content:"";box-sizing:initial;background-color:#ddd;position:absolute;top:-3px;left:0;right:0;height:1px}.components-dropdown-menu__menu .components-dropdown-menu__menu-item.is-active svg,.components-dropdown-menu__menu .components-menu-item.is-active svg{color:#fff;background:#1e1e1e;box-shadow:0 0 0 1px #1e1e1e;border-radius:1px}.components-dropdown-menu__menu .components-dropdown-menu__menu-item>svg,.components-dropdown-menu__menu .components-menu-item>svg{border-radius:2px;width:24px;height:24px}.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{min-height:36px;height:auto;text-align:left;padding-left:8px;padding-right:8px}.components-dropdown-menu__menu .components-menu-group{padding:8px;margin:0 -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{margin-top:0;border-top:1px solid #ccc;padding:8px}.is-alternate .components-dropdown-menu__menu .components-menu-group+.components-menu-group{border-color:#1e1e1e}.components-font-size-picker__header__hint{margin-left:4px;color:#757575}.components-font-size-picker__header .components-button.is-small.has-icon:not(.has-text){min-width:24px;padding:0}.components-font-size-picker__controls{max-width:248px;align-items:center;margin-top:8px;margin-bottom:24px}.components-font-size-picker__controls .components-unit-control-wrapper .components-input-control__label{font-weight:300;padding-bottom:0!important;margin-bottom:8px!important}.components-font-size-picker__controls .components-custom-select-control__button{width:100%}.components-font-size-picker__controls .components-font-size-picker__number{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;display:inline-block;font-weight:500;height:30px;margin:8px 8px 0 0;width:54px}@media (prefers-reduced-motion:reduce){.components-font-size-picker__controls .components-font-size-picker__number{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.components-font-size-picker__controls .components-font-size-picker__number{font-size:13px;line-height:normal}}.components-font-size-picker__controls .components-font-size-picker__number:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-font-size-picker__controls .components-font-size-picker__number::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.components-font-size-picker__controls .components-font-size-picker__number::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.components-font-size-picker__controls .components-font-size-picker__number:-ms-input-placeholder{color:rgba(30,30,30,.62)}.components-font-size-picker__controls .components-font-size-picker__number[value=""]+.components-button{cursor:default;opacity:.3;pointer-events:none}.components-font-size-picker__controls .components-font-size-picker__number-container{display:flex;flex-direction:column}.components-font-size-picker__controls .components-color-palette__clear{height:30px}.components-font-size-picker__custom-input .components-range-control__slider+.dashicon{width:30px;height:30px}.components-font-size-picker{border:0;padding:0;margin:0}.components-form-toggle{position:relative;display:inline-block}.components-form-toggle .components-form-toggle__track{content:"";display:inline-block;box-sizing:border-box;vertical-align:top;background-color:#fff;border:1px solid #1e1e1e;width:36px;height:18px;border-radius:9px;transition:background .2s ease}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__track{transition-duration:0s;transition-delay:0s}}.components-form-toggle .components-form-toggle__thumb{display:block;position:absolute;box-sizing:border-box;top:3px;left:3px;width:12px;height:12px;border-radius:50%;transition:transform .1s ease;background-color:#1e1e1e;border:5px solid #1e1e1e}@media (prefers-reduced-motion:reduce){.components-form-toggle .components-form-toggle__thumb{transition-duration:0s;transition-delay:0s}}.components-form-toggle.is-checked .components-form-toggle__track{background-color:var(--wp-admin-theme-color);border:9px solid transparent}.components-form-toggle .components-form-toggle__input:focus+.components-form-toggle__track{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);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]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;margin:0;padding:0;z-index:1;border:none}.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{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;display:flex;flex-wrap:wrap;align-items:center;width:100%;margin:0 0 8px;padding:2px 4px;cursor:text}@media (prefers-reduced-motion:reduce){.components-form-token-field__input-container{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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 1px var(--wp-admin-theme-color);outline:2px solid transparent}.components-form-token-field__input-container input[type=text].components-form-token-field__input{display:inline-block;flex:1;font-size:16px;width:100%;max-width:100%;margin-left:4px;padding:0;min-height:24px;min-width:50px;background:inherit;border:0;color:#1e1e1e;box-shadow:none}@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{outline:none;box-shadow: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__label{display:inline-block;margin-bottom:4px}.components-form-token-field__help{font-size:12px;font-style:normal;color:#757575}.components-form-token-field__token{font-size:13px;display:flex;margin:2px 4px 2px 0;color:#1e1e1e;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{position:relative;padding:0 16px 0 0}.components-form-token-field__token.is-borderless .components-form-token-field__token-text{background:transparent;color:var(--wp-admin-theme-color)}.components-form-token-field__token.is-borderless .components-form-token-field__remove-token{background:transparent;color:#757575;position:absolute;top:1px;right:0}.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{color:#cc1818;border-radius:4px 0 0 4px;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{display:inline-block;line-height:24px;height:auto;background:#ddd;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{transition-duration:0s;transition-delay:0s;animation-duration:1ms;animation-delay:0s}}.components-form-token-field__token-text{border-radius:2px 0 0 2px;padding:0 0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.components-form-token-field__remove-token.components-button{cursor:pointer;border-radius:0 2px 2px 0;padding:0 2px;color:#1e1e1e;line-height:10px;overflow:initial}.components-form-token-field__remove-token.components-button:hover{color:#1e1e1e}.components-form-token-field__suggestions-list{flex:1 0 100%;min-width:100%;max-height:9em;overflow-y:auto;transition:all .15s ease-in-out;list-style:none;border-top:1px solid #757575;margin:4px -4px -4px;padding:0}@media (prefers-reduced-motion:reduce){.components-form-token-field__suggestions-list{transition-duration:0s;transition-delay:0s}}.components-form-token-field__suggestion{color:#757575;display:block;font-size:13px;padding:4px 8px;margin:0;cursor:pointer}.components-form-token-field__suggestion.is-selected{background:var(--wp-admin-theme-color);color:#fff}.components-form-token-field__suggestion-match{text-decoration:underline}@media (min-width:600px){.components-guide{width:600px}}.components-guide .components-modal__content{padding:0;margin-top:0;border-radius:2px}.components-guide .components-modal__content:before{content:none}.components-guide .components-modal__header{border-bottom:none;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:30px;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{height:30px;min-width:20px;margin:-6px 0}.components-modal__frame.components-guide{border:none;min-width:312px;height:80vh;max-height:575px}@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{height:30px;position:absolute}.components-button.components-guide__back-button,.components-button.components-guide__forward-button{font-size:13px;padding:4px 2px}.components-button.components-guide__back-button.has-text svg,.components-button.components-guide__forward-button.has-text svg{margin:0}.components-button.components-guide__back-button:hover,.components-button.components-guide__forward-button:hover{text-decoration:underline}.components-button.components-guide__back-button{left:32px}.components-button.components-guide__forward-button{right:32px;color:#1386bf;font-weight:700}.components-button.components-guide__finish-button{right:32px}.components-button.components-guide__inline-finish-button{display:none}[role=region]{position:relative}.is-focusing-regions [role=region]:focus:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;outline:4px solid transparent;box-shadow:inset 0 0 0 4px var(--wp-admin-theme-color)}@supports (outline-offset:1px){.is-focusing-regions [role=region]:focus:after{content:none}.is-focusing-regions [role=region]:focus{outline-style:solid;outline-color:var(--wp-admin-theme-color);outline-width:4px;outline-offset:-4px}}.components-menu-group+.components-menu-group{margin-top:8px;padding-top:8px;border-top:1px solid #1e1e1e}.components-menu-group+.components-menu-group.has-hidden-separator{border-top:none;margin-top:0;padding-top:0}.components-menu-group__label{padding:0 8px;margin-top:4px;margin-bottom:12px;color:#757575;text-transform:uppercase;font-size:11px;font-weight:500;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{padding-right:48px}.components-menu-item__button.components-button .components-menu-items__item-icon,.components-menu-item__button .components-menu-items__item-icon{display:inline-block;flex:0 0 auto}.components-menu-item__button.components-button .components-menu-items__item-icon.has-icon-right,.components-menu-item__button .components-menu-items__item-icon.has-icon-right{margin-right:-2px;margin-left:24px}.components-menu-item__button.components-button .components-menu-item__shortcut+.components-menu-items__item-icon.has-icon-right,.components-menu-item__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__info-wrapper{display:flex;flex-direction:column;margin-right:auto}.components-menu-item__info{margin-top:4px;font-size:12px;color:#757575;white-space:normal}.components-menu-item__item{white-space:nowrap;min-width:160px;margin-right:auto;display:inline-flex;align-items:center}.components-menu-item__shortcut{align-self:center;margin-right:0;margin-left:auto;padding-left:24px;color:currentColor;display:none}@media (min-width:480px){.components-menu-item__shortcut{display:inline}}.components-menu-items-choice.components-button svg,.components-menu-items-choice 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{position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.35);z-index:100000;display:flex;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-modal__screen-overlay{animation-duration:1ms;animation-delay:0s}}.components-modal__frame{margin:0;width:100%;background:#fff;box-shadow:0 10px 10px rgba(0,0,0,.25);border-radius:2px;overflow:hidden;display:flex}@media (min-width:600px){.components-modal__frame{margin:auto;width:auto;min-width:360px;max-width:calc(100% - 32px);max-height:calc(100% - 120px);animation:components-modal__appear-animation .1s ease-out;animation-fill-mode:forwards}}@media (min-width:600px) and (prefers-reduced-motion:reduce){.components-modal__frame{animation-duration:1ms;animation-delay:0s}}@media (min-width:600px){.components-modal__frame.is-full-screen{width:90vw;min-height:90vh}}@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{box-sizing:border-box;border-bottom:1px solid #ddd;padding:0 32px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:60px;width:100%;z-index:10;position:absolute;top:0;left:0}.components-modal__header .components-modal__header-heading{font-size:1rem;font-weight:600}.components-modal__header h1{line-height:1;margin:0}.components-modal__header .components-button{position:relative;left:8px}.components-modal__header-heading-container{align-items:center;flex-grow:1;display:flex;flex-direction:row;justify-content:left}.components-modal__header-icon-container{display:inline-block}.components-modal__header-icon-container svg{max-width:36px;max-height:36px;padding:8px}.components-modal__content{flex:1;margin-top:60px;padding:0 32px 24px;overflow:auto}.components-modal__content:before{content:"";display:block;margin-bottom:24px}.components-notice{display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#fff;border-left:4px solid var(--wp-admin-theme-color);margin:5px 15px 2px;padding:8px 12px;align-items:center}.components-notice.is-dismissible{padding-right:36px;position:relative}.components-notice.is-success{border-left-color:#4ab866;background-color:#eff9f1}.components-notice.is-warning{border-left-color:#f0b849;background-color:#fef8ee}.components-notice.is-error{border-left-color:#cc1818;background-color:#f4a2a2}.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{color:#757575;align-self:flex-start;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{color:#1e1e1e;background-color:initial}.components-notice__dismiss:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{box-shadow:none}.components-notice-list{max-width:100vw;box-sizing:border-box}.components-notice-list .components-notice__content{margin-top:12px;margin-bottom:12px;line-height:2}.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-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.components-panel__body h3{margin:0 0 .5em}.components-panel__body.is-opened{padding:16px}.components-panel__header{display:flex;justify-content:space-between;align-items:center;padding:0 16px;height:48px;border-bottom:1px solid #ddd}.components-panel__header h2{margin:0;font-size:inherit;color:inherit}.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;padding:0;font-size:inherit;margin-top:0;margin-bottom:0;transition:background .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body>.components-panel__body-title{transition-duration:0s;transition-delay: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{position:relative;padding:16px 48px 16px 16px;outline:none;width:100%;font-weight:500;text-align:left;color:#1e1e1e;border:none;box-shadow:none;transition:background .1s ease-in-out;height:auto}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button{transition-duration:0s;transition-delay:0s}}.components-panel__body-toggle.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);border-radius:0}.components-panel__body-toggle.components-button .components-panel__arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#1e1e1e;fill:currentColor;transition:color .1s ease-in-out}@media (prefers-reduced-motion:reduce){.components-panel__body-toggle.components-button .components-panel__arrow{transition-duration:0s;transition-delay:0s}}body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right{transform:scaleX(-1);-ms-filter:fliph;filter:FlipH;margin-top:-10px}.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{display:flex;justify-content:space-between;align-items:center;margin-top:8px;min-height:36px}.components-panel__row select{min-width:0}.components-panel__row label{margin-right:12px;flex-shrink:0;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{box-sizing:border-box;position:relative;padding:1em;min-height:200px;width:100%;text-align:left;margin:0;color:#1e1e1e;-moz-font-smoothing:subpixel-antialiased;-webkit-font-smoothing:subpixel-antialiased;border-radius:2px;background-color:#fff;box-shadow:inset 0 0 0 1px #1e1e1e;outline:1px solid transparent}@supports (position:sticky){.components-placeholder.components-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}}.components-placeholder.components-placeholder .components-base-control__label{font-size:13px}.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{display:flex;font-weight:600;margin-bottom:16px;align-items:center}.components-placeholder__label .block-editor-block-icon,.components-placeholder__label .dashicon,.components-placeholder__label>svg{margin-right:1ch;fill:currentColor}@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;width:100%;flex-wrap:wrap}.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]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;margin:0 8px 0 0;flex:1 1 auto}@media (prefers-reduced-motion:reduce){.components-placeholder__input[type=url]{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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__preview img{margin:3%;width:50%}.components-placeholder__fieldset .components-button{margin-right:12px;margin-bottom: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} /*!rtl:begin:ignore*/.components-popover{position:fixed;z-index:1000000;top:0;left:0;opacity:0}.components-popover.is-expanded,.components-popover[data-x-axis][data-y-axis]{opacity:1}.components-popover.is-expanded{top:0;left:0;right:0;bottom:0;z-index:1000000!important}.components-popover:not(.is-without-arrow){margin-left:2px}.components-popover:not(.is-without-arrow):before{border:8px solid #ccc}.components-popover:not(.is-without-arrow).is-alternate:before{border-color:#1e1e1e}.components-popover:not(.is-without-arrow):after{border:8px solid #fff}.components-popover:not(.is-without-arrow):after,.components-popover:not(.is-without-arrow):before{content:"";position:absolute;height:0;width:0;line-height:0}.components-popover:not(.is-without-arrow)[data-y-axis=top]{margin-top:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=top]:before{bottom:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=top]:after{bottom:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=top]:after,.components-popover:not(.is-without-arrow)[data-y-axis=top]:before{border-bottom:none;border-left-color:transparent;border-right-color:transparent;border-top-style:solid;margin-left:-10px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]{margin-top:8px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:before{top:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:after{top:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:after,.components-popover:not(.is-without-arrow)[data-y-axis=bottom]:before{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]{margin-left:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:before{right:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:after{right:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:after,.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=left]:before{border-bottom-color:transparent;border-left-style:solid;border-right:none;border-top-color:transparent}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]{margin-left:8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:before{left:-8px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:after{left:-6px}.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:after,.components-popover:not(.is-without-arrow)[data-y-axis=middle][data-x-axis=right]:before{border-bottom-color:transparent;border-left:none;border-right-style:solid;border-top-color:transparent}.components-popover[data-y-axis=top]{bottom:100%}.components-popover[data-y-axis=bottom]{top:100%}.components-popover[data-y-axis=middle]{align-items:center;display:flex}.components-popover.is-from-top{margin-top:12px}.components-popover.is-from-bottom{margin-top:-12px}.components-popover.is-from-left:not(.is-from-top):not(.is-from-bottom){margin-left:12px}.components-popover.is-from-right:not(.is-from-top):not(.is-from-bottom){margin-right:12px}.components-popover__content{height:100%;background:#fff;border:1px solid #ccc;box-shadow:0 2px 6px rgba(0,0,0,.05);border-radius:2px}.is-alternate .components-popover__content{border:1px solid #1e1e1e;box-shadow:none}.components-popover .components-popover__content{position:absolute;height:auto;overflow-y:auto}.components-popover.is-expanded .components-popover__content{position:static;height:calc(100% - 48px);overflow-y:visible;min-width:auto;border:none;border-top:1px solid #1e1e1e}.components-popover[data-y-axis=top] .components-popover__content{bottom:100%}.components-popover[data-x-axis=center] .components-popover__content{left:50%;transform:translateX(-50%)}.components-popover[data-x-axis=right] .components-popover__content{position:absolute;left:100%}.components-popover:not([data-y-axis=middle])[data-x-axis=right] .components-popover__content{margin-left:-25px}.components-popover[data-x-axis=left] .components-popover__content{position:absolute;right:100%}.components-popover:not([data-y-axis=middle])[data-x-axis=left] .components-popover__content{margin-right:-25px}.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} -/*!rtl:end:ignore*/.components-radio-control{display:flex;flex-direction:column}.components-radio-control .components-base-control__help{margin-top:0}.components-radio-control .components-base-control__field{margin-bottom:0}.components-radio-control__option:not(:last-child){margin-bottom:4px}.components-radio-control__input[type=radio]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;font-size:16px;line-height:normal;border:1px solid #1e1e1e;transition:none;border-radius:50%;width:24px;height:24px;margin-top:0;margin-right:6px}@media (prefers-reduced-motion:reduce){.components-radio-control__input[type=radio]{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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{box-sizing:inherit;width:8px;height:8px;transform:translate(7px,7px);margin:0;background-color:#fff;border:4px solid #fff}@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;width:23px;height:23px;z-index:2}.components-resizable-box__container.has-show-handle .components-resizable-box__handle{display:block}.components-resizable-box__handle:after{display:block;content:"";width:15px;height:15px;border:2px solid var(--wp-admin-theme-color);border-radius:50%;background:#fff;cursor:inherit;position:absolute;top:calc(50% - 8px);right:calc(50% - 8px)}.components-resizable-box__side-handle:before{display:block;border-radius:2px;content:"";width:3px;height:3px;background:var(--wp-admin-theme-color);cursor:inherit;position:absolute;top:calc(50% - 1px);right:calc(50% - 1px);transition:transform .1s ease-in;opacity:0}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle:before{transition-duration:0s;transition-delay: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{width:100%;left:0;border-left:0;border-right:0}.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{height:100%;top:0;border-top:0;border-bottom: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-duration:1ms;animation-delay:0s}}.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-duration:1ms;animation-delay:0s}}@media not all and (-webkit-min-device-pixel-ratio:0),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%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes components-resizable-box__left-right-animation{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}} +/*!rtl:end:ignore*/.components-radio-control{display:flex;flex-direction:column}.components-radio-control .components-base-control__help{margin-top:0}.components-radio-control .components-base-control__field{margin-bottom:0}.components-radio-control__option:not(:last-child){margin-bottom:4px}.components-radio-control__input[type=radio]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;font-size:16px;line-height:normal;border:1px solid #1e1e1e;transition:none;border-radius:50%;width:24px;height:24px;margin-top:0;margin-right:6px}@media (prefers-reduced-motion:reduce){.components-radio-control__input[type=radio]{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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{box-sizing:inherit;width:8px;height:8px;transform:translate(7px,7px);margin:0;background-color:#fff;border:4px solid #fff}@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;width:23px;height: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{display:block;content:"";width:15px;height:15px;border-radius:50%;background:#fff;cursor:inherit;position:absolute;top:calc(50% - 8px);right:calc(50% - 8px);box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.components-resizable-box__side-handle:before{display:block;border-radius:2px;content:"";width:3px;height:3px;background:var(--wp-admin-theme-color);cursor:inherit;position:absolute;top:calc(50% - 1px);right:calc(50% - 1px);transition:transform .1s ease-in;opacity:0}@media (prefers-reduced-motion:reduce){.components-resizable-box__side-handle:before{transition-duration:0s;transition-delay: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{width:100%;left:0;border-left:0;border-right:0}.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{height:100%;top:0;border-top:0;border-bottom: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-duration:1ms;animation-delay:0s}}.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-duration:1ms;animation-delay:0s}}@media not all and (-webkit-min-device-pixel-ratio:0),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%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes components-resizable-box__left-right-animation{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity: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{position:relative;max-width:100%}.components-responsive-wrapper,.components-responsive-wrapper>span{display:block}.components-responsive-wrapper__content{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:auto}.components-sandbox{overflow:hidden}iframe.components-sandbox{width:100%}body.lockscroll,html.lockscroll{overflow:hidden}.components-select-control__input{background:#fff;height:36px;line-height:36px;margin:1px;outline:0;width:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)!important}@media (min-width:782px){.components-select-control__input{height:28px;line-height:28px}}@media (max-width:782px){.components-base-control .components-base-control__field .components-select-control__input{font-size:16px}}.components-snackbar{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#1e1e1e;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;width:100%;max-width:600px;box-sizing:border-box;cursor:pointer;pointer-events:auto}@media (min-width:600px){.components-snackbar{width:-moz-fit-content;width:fit-content}}.components-snackbar:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color)}.components-snackbar.components-snackbar-explicit-dismiss{cursor:default}.components-snackbar .components-snackbar__content-with-icon{margin-left:24px}.components-snackbar .components-snackbar__icon{position:absolute;top:24px;left:28px}.components-snackbar .components-snackbar__dismiss-button{margin-left:32px;cursor:pointer}.components-snackbar__action.components-button{margin-left:32px;color:#fff;height:auto;flex-shrink:0;line-height:1.4;padding:0}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary){text-decoration:underline;background-color:initial}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):focus{color:#fff;box-shadow:none;outline:1px dotted #fff}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{color:var(--wp-admin-theme-color)}.components-snackbar__content{display:flex;align-items:baseline;justify-content:space-between;line-height:1.4}.components-snackbar-list{position:absolute;z-index:100000;width:100%;box-sizing:border-box;pointer-events:none}.components-snackbar-list__notice-container{position:relative;padding-top:8px}.components-swatch{width:18px;height:18px;border-radius:50%;color:transparent;background:transparent}.components-swatch:after{content:"";display:block;width:100%;height:100%;border:1px solid rgba(0,0,0,.2);border-radius:50%}.components-button.has-icon.has-text .components-swatch{margin-right:8px}.components-tab-panel__tabs{display:flex;align-items:stretch;flex-direction:row}.components-tab-panel__tabs[aria-orientation=vertical]{flex-direction:column}.components-tab-panel__tabs-item{background:transparent;border:none;box-shadow:none;border-radius:0;cursor:pointer;height:48px;padding:3px 16px;margin-left:0;font-weight:500;transition:box-shadow .1s linear;box-sizing:border-box}.components-tab-panel__tabs-item:after{content:attr(data-label);display:block;height:0;overflow:hidden;speak:none;visibility:hidden}.components-tab-panel__tabs-item:focus:not(:disabled){box-shadow:inset 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-tab-panel__tabs-item.is-active{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) transparent,inset 0 -4px 0 0 var(--wp-admin-theme-color);position:relative}.components-tab-panel__tabs-item.is-active:before{content:"";position:absolute;top:0;bottom:1px;right:0;left:0;border-bottom:4px solid transparent}.components-tab-panel__tabs-item:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-tab-panel__tabs-item.is-active:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 -4px 0 0 var(--wp-admin-theme-color)}.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]{width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal}@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-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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{display:flex;color:#757575}.components-tip svg{align-self:center;fill:#f0b849;flex-shrink:0;margin-right:16px}.components-tip p{margin:0}.components-toggle-control .components-base-control__field{display:flex;margin-bottom:12px;line-height:normal;align-items:center}.components-toggle-control .components-base-control__field .components-form-toggle{margin-right:12px}.components-toggle-control .components-base-control__field .components-toggle-control__label{display:block}.components-accessible-toolbar{display:inline-flex;border:1px solid #1e1e1e;border-radius:2px;flex-shrink:0}.components-accessible-toolbar>.components-toolbar-group:last-child{border-right:none}.components-accessible-toolbar .components-button,.components-toolbar .components-button{position:relative;height:48px;z-index:1;padding-left:16px;padding-right:16px}.components-accessible-toolbar .components-button:focus:enabled,.components-toolbar .components-button:focus:enabled{box-shadow:none;outline:none}.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{content:"";position:absolute;display:block;border-radius:2px;height:32px;left:8px;right:8px;z-index:-1;animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{animation-duration:1ms;animation-delay:0s}}.components-accessible-toolbar .components-button svg,.components-toolbar .components-button svg{position:relative;margin-left:auto;margin-right:auto}.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,.components-toolbar .components-button.has-icon{padding-left:8px;padding-right:8px;min-width:48px;justify-content:center}.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{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;bottom:10px}.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{min-height:48px;border-right:1px solid #1e1e1e;background-color:#fff;display:inline-flex;flex-shrink:0;flex-wrap:wrap;line-height:0}.components-toolbar-group .components-toolbar-group.components-toolbar-group{border-width:0;margin:0}.components-toolbar{min-height:48px;margin:0;border:1px solid #1e1e1e;background-color:#fff;display:inline-flex;flex-shrink:0;flex-wrap:wrap}.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;position:relative;overflow:visible}div.components-toolbar>div+div.has-left-divider:before{display:inline-block;content:"";box-sizing:initial;background-color:#ddd;position:absolute;top:8px;left:-3px;width:1px;height:20px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>* .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>.components-button.components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child:last-child,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>* .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>* .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>* .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child:last-child,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>* .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child:last-child,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button{min-width:48px;padding-left:12px;padding-right:12px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>* .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child:last-child:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button:before{left:8px;right:8px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:first-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:first-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:first-child>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:first-child>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:first-child>.components-button{min-width:42px;padding-left:11px;padding-right:6px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:first-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:first-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:first-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:first-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:first-child>.components-button:before{left:8px;right:2px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div>.components-button{min-width:36px;padding-left:6px;padding-right:6px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button svg,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown .components-button svg,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown .components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown .components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div>.components-button svg,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button svg,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown .components-button svg,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div>.components-button svg,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button svg,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown .components-button svg,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div>.components-button svg{min-width:24px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div>.components-button:before{left:2px;right:2px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:last-child,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:last-child .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:last-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:last-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:last-child>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:last-child,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:last-child>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:last-child,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:last-child>.components-button{min-width:42px;padding-left:6px;padding-right:11px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:last-child:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:last-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:last-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:last-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:last-child:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:last-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:last-child:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:last-child>.components-button:before{left:2px;right:8px}.components-tooltip.components-popover{z-index:1000002}.components-tooltip.components-popover .components-popover__content{min-width:0}.components-tooltip .components-popover__content{background:#1e1e1e;border-radius:2px;border-width:0;color:#fff;white-space:nowrap;text-align:center;line-height:1.4;font-size:12px;box-shadow:none}.components-tooltip .components-popover__content>div{padding:4px 8px}.components-tooltip__shortcut{display:inline-block;margin-left:8px}.disabled-element-wrapper{position:relative}.disabled-element-wrapper .event-catcher{z-index:100002;position:absolute;width:100%;height:100%;top:0;left:0;bottom:0;right:0}.components-visually-hidden{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.components-visually-hidden:focus{background-color:#ddd;clip:auto!important;-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} \ No newline at end of file +/*!rtl:end:ignore*/.components-responsive-wrapper{position:relative;max-width:100%}.components-responsive-wrapper,.components-responsive-wrapper>span{display:block}.components-responsive-wrapper__content{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:auto}.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{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;line-height:normal;display:block;padding:16px 48px 16px 16px;background:#f0f0f0;border:none;width:100%;height:48px;font-size:16px}@media (prefers-reduced-motion:reduce){.components-search-control input[type=search].components-search-control__input{transition-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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-admin-theme-color)}.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__icon{position:absolute;top:0;right:12px;bottom:0;display:flex;align-items:center}.components-search-control__icon>svg{margin:8px 0}.components-search-control__input-wrapper{position:relative}.components-select-control__input{background:#fff;height:36px;line-height:36px;margin:1px;outline:0;width:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)!important}@media (min-width:782px){.components-select-control__input{height:28px;line-height:28px}}@media (max-width:782px){.components-base-control .components-base-control__field .components-select-control__input{font-size:16px}}.components-snackbar{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#1e1e1e;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;width:100%;max-width:600px;box-sizing:border-box;cursor:pointer;pointer-events:auto}@media (min-width:600px){.components-snackbar{width:-moz-fit-content;width:fit-content}}.components-snackbar:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color)}.components-snackbar.components-snackbar-explicit-dismiss{cursor:default}.components-snackbar .components-snackbar__content-with-icon{margin-left:24px}.components-snackbar .components-snackbar__icon{position:absolute;top:24px;left:28px}.components-snackbar .components-snackbar__dismiss-button{margin-left:32px;cursor:pointer}.components-snackbar__action.components-button{margin-left:32px;color:#fff;height:auto;flex-shrink:0;line-height:1.4;padding:0}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary){text-decoration:underline;background-color:initial}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):focus{color:#fff;box-shadow:none;outline:1px dotted #fff}.components-snackbar__action.components-button:not(:disabled):not([aria-disabled=true]):not(.is-secondary):hover{color:var(--wp-admin-theme-color)}.components-snackbar__content{display:flex;align-items:baseline;justify-content:space-between;line-height:1.4}.components-snackbar-list{position:absolute;z-index:100000;width:100%;box-sizing:border-box;pointer-events:none}.components-snackbar-list__notice-container{position:relative;padding-top:8px}.components-swatch{width:18px;height:18px;border-radius:50%;color:transparent;background:transparent}.components-swatch:after{content:"";display:block;width:100%;height:100%;border:1px solid rgba(0,0,0,.2);border-radius:50%}.components-button.has-icon.has-text .components-swatch{margin-right:8px}.components-tab-panel__tabs{display:flex;align-items:stretch;flex-direction:row}.components-tab-panel__tabs[aria-orientation=vertical]{flex-direction:column}.components-tab-panel__tabs-item{background:transparent;border:none;box-shadow:none;border-radius:0;cursor:pointer;height:48px;padding:3px 16px;margin-left:0;font-weight:500;transition:box-shadow .1s linear;box-sizing:border-box}.components-tab-panel__tabs-item:after{content:attr(data-label);display:block;height:0;overflow:hidden;speak:none;visibility:hidden}.components-tab-panel__tabs-item:focus:not(:disabled){box-shadow:inset 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-tab-panel__tabs-item.is-active{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) transparent,inset 0 -4px 0 0 var(--wp-admin-theme-color);position:relative}.components-tab-panel__tabs-item.is-active:before{content:"";position:absolute;top:0;bottom:1px;right:0;left:0;border-bottom:4px solid transparent}.components-tab-panel__tabs-item:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-tab-panel__tabs-item.is-active:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 -4px 0 0 var(--wp-admin-theme-color)}.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]{width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal}@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-duration:0s;transition-delay: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 1px 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{opacity:1;color:rgba(30,30,30,.62)}.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{display:flex;color:#757575}.components-tip svg{align-self:center;fill:#f0b849;flex-shrink:0;margin-right:16px}.components-tip p{margin:0}.components-toggle-control .components-base-control__field{display:flex;margin-bottom:12px;line-height:normal;align-items:center}.components-toggle-control .components-base-control__field .components-form-toggle{margin-right:12px}.components-toggle-control .components-base-control__field .components-toggle-control__label{display:block}.components-accessible-toolbar{display:inline-flex;border:1px solid #1e1e1e;border-radius:2px;flex-shrink:0}.components-accessible-toolbar>.components-toolbar-group:last-child{border-right:none}.components-accessible-toolbar .components-button,.components-toolbar .components-button{position:relative;height:48px;z-index:1;padding-left:16px;padding-right:16px}.components-accessible-toolbar .components-button:focus:enabled,.components-toolbar .components-button:focus:enabled{box-shadow:none;outline:none}.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{content:"";position:absolute;display:block;border-radius:2px;height:32px;left:8px;right:8px;z-index:-1;animation:components-button__appear-animation .1s ease;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.components-accessible-toolbar .components-button:before,.components-toolbar .components-button:before{animation-duration:1ms;animation-delay:0s}}.components-accessible-toolbar .components-button svg,.components-toolbar .components-button svg{position:relative;margin-left:auto;margin-right:auto}.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{padding-left:12px;padding-right:12px;min-width:48px}.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{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;bottom:10px}.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{min-height:48px;border-right:1px solid #1e1e1e;background-color:#fff;display:inline-flex;flex-shrink:0;flex-wrap:wrap;line-height:0}.components-toolbar-group .components-toolbar-group.components-toolbar-group{border-width:0;margin:0}.components-toolbar{min-height:48px;margin:0;border:1px solid #1e1e1e;background-color:#fff;display:inline-flex;flex-shrink:0;flex-wrap:wrap}.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;position:relative;overflow:visible}div.components-toolbar>div+div.has-left-divider:before{display:inline-block;content:"";box-sizing:initial;background-color:#ddd;position:absolute;top:8px;left:-3px;width:1px;height:20px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>* .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>.components-button.components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child:last-child,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>* .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>* .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>* .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child:last-child,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>* .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child:last-child,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button{min-width:48px;padding-left:12px;padding-right:12px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>* .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child:last-child:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>* .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot.components-dropdown>.components-button.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child:last-child:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child:last-child .components-button:before{left:8px;right:8px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:first-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:first-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:first-child>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:first-child>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:first-child>.components-button{min-width:42px;padding-left:11px;padding-right:6px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:first-child:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:first-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:first-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:first-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:first-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:first-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:first-child:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:first-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:first-child:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:first-child .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:first-child>.components-button:before{left:8px;right:2px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div>.components-button{min-width:36px;padding-left:6px;padding-right:6px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button svg,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown .components-button svg,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown .components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown .components-button svg,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div>.components-button svg,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button svg,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown .components-button svg,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div>.components-button svg,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button svg,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown .components-button svg,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div>.components-button svg{min-width:24px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div>.components-button:before{left:2px;right:2px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:last-child,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:last-child .components-button,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:last-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:last-child>.components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:last-child,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:last-child>.components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:last-child,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:last-child>.components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:last-child,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:last-child>.components-button{min-width:42px;padding-left:6px;padding-right:11px}.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-button:last-child:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group>div:last-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-button:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-dropdown>div:last-child>.components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-button:last-child:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.block-editor-block-toolbar__slot>.components-toolbar>div:last-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-button:last-child:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar-group>.block-editor-block-toolbar__slot>div:last-child>.components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-button:last-child:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>.components-dropdown:last-child .components-button:before,.block-editor-block-toolbar>.components-toolbar>.block-editor-block-toolbar__slot>div:last-child>.components-button:before{left:2px;right:8px}.components-tooltip.components-popover{z-index:1000002}.components-tooltip.components-popover .components-popover__content{min-width:0}.components-tooltip .components-popover__content{background:#1e1e1e;border-radius:2px;border-width:0;color:#fff;white-space:nowrap;text-align:center;line-height:1.4;font-size:12px;box-shadow:none}.components-tooltip .components-popover__content>div{padding:4px 8px}.components-tooltip__shortcut{display:inline-block;margin-left:8px}.disabled-element-wrapper{position:relative}.disabled-element-wrapper .event-catcher{z-index:100002;position:absolute;width:100%;height:100%;top:0;left:0;bottom:0;right:0} \ 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 86596226e0..8ff2db0b03 100644 --- a/wp-includes/css/dist/customize-widgets/style-rtl.css +++ b/wp-includes/css/dist/customize-widgets/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { 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 d4fdfedb6a..7dc56a7d17 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-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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{display:flex;justify-content:flex-end;margin:-15px -12px 0;background:#f0f0f1;border-bottom:1px solid #e0e0e0;z-index:8}@media (min-width:782px){.customize-widgets-header{margin-bottom:76px}}.customize-widgets-header.is-fixed-toolbar-active{margin-bottom:0}.customize-widgets-header-toolbar{display:flex;border:none;width:100%;align-items:center}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon{border-radius:2px;color:#fff;padding:0;min-width:24px;height:24px;margin:12px auto 12px 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{width:auto;min-width:100%}#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{display:flex;justify-content:space-between;align-items:center;padding:16px;height:46px;box-sizing:border-box;border-bottom:1px solid #ddd}.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__main-shortcuts .customize-widgets-keyboard-shortcut-help-modal__shortcut-list{margin-top:-25px}.customize-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.customize-widgets-keyboard-shortcut-help-modal__shortcut{display:flex;align-items:baseline;padding:.6rem 0;border-top:1px solid #ddd;margin-bottom: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;margin:0;flex-basis:auto}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{display:block;background:none;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{padding:.25rem .5rem;border-radius:8%;margin:0 .2rem}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 .2rem 0 0}.customize-widgets-more-menu{margin-right:-4px}.customize-widgets-more-menu .components-button{width:auto;padding:0 2px}@media (min-width:600px){.customize-widgets-more-menu{margin-right:0}.customize-widgets-more-menu .components-button{padding:0 4px}}.customize-widgets-more-menu__content .components-popover__content{min-width:280px}@media (min-width:480px){.customize-widgets-more-menu__content .components-popover__content{width:auto;max-width:480px}}.customize-widgets-more-menu__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.customize-widgets-more-menu__content{z-index:99998}.block-editor-block-contextual-toolbar.is-fixed{top:0;margin-right:-12px;margin-left:-12px;width:calc(100% + 24px);overflow-y:auto;z-index:7}.customize-control-sidebar_block_editor .block-editor-block-list__block-popover{position:fixed;z-index:7}.customize-widgets-welcome-guide__image__wrapper{background:#00a0d2;text-align:center;margin-bottom:8px}.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{min-height:100%;background-color:#fff;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{position:static!important;margin-top:-12px!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 +: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}@media (-webkit-min-device-pixel-ratio:2),(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{display:flex;justify-content:flex-end;margin:-15px -12px 0;background:#f0f0f1;border-bottom:1px solid #e0e0e0;z-index:8}@media (min-width:782px){.customize-widgets-header{margin-bottom:76px}}.customize-widgets-header.is-fixed-toolbar-active{margin-bottom:0}.customize-widgets-header-toolbar{display:flex;border:none;width:100%;align-items:center}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon{border-radius:2px;color:#fff;padding:0;min-width:24px;height:24px;margin:12px auto 12px 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{width:auto;min-width:100%}#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{display:flex;justify-content:space-between;align-items:center;padding:16px;height:46px;box-sizing:border-box;border-bottom:1px solid #ddd}.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__main-shortcuts .customize-widgets-keyboard-shortcut-help-modal__shortcut-list{margin-top:-25px}.customize-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.customize-widgets-keyboard-shortcut-help-modal__shortcut{display:flex;align-items:baseline;padding:.6rem 0;border-top:1px solid #ddd;margin-bottom: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;margin:0;flex-basis:auto}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{display:block;background:none;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{padding:.25rem .5rem;border-radius:8%;margin:0 .2rem}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 .2rem 0 0}.customize-widgets-more-menu{margin-right:-4px}.customize-widgets-more-menu .components-button{width:auto;padding:0 2px}@media (min-width:600px){.customize-widgets-more-menu{margin-right:0}.customize-widgets-more-menu .components-button{padding:0 4px}}.customize-widgets-more-menu__content .components-popover__content{min-width:280px}@media (min-width:480px){.customize-widgets-more-menu__content .components-popover__content{width:auto;max-width:480px}}.customize-widgets-more-menu__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.customize-widgets-more-menu__content{z-index:99998}.block-editor-block-contextual-toolbar.is-fixed{top:0;margin-right:-12px;margin-left:-12px;width:calc(100% + 24px);overflow-y:auto;z-index:7}.customize-control-sidebar_block_editor .block-editor-block-list__block-popover{position:fixed;z-index:7}.customize-widgets-welcome-guide__image__wrapper{background:#00a0d2;text-align:center;margin-bottom:8px}.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{min-height:100%;background-color:#fff;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{position:static!important;margin-top:-12px!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 dc4678bcc3..93cb1455b4 100644 --- a/wp-includes/css/dist/customize-widgets/style.css +++ b/wp-includes/css/dist/customize-widgets/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { diff --git a/wp-includes/css/dist/customize-widgets/style.min.css b/wp-includes/css/dist/customize-widgets/style.min.css index c4ce2b47dd..c1fa848eb8 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-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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{display:flex;justify-content:flex-end;margin:-15px -12px 0;background:#f0f0f1;border-bottom:1px solid #e0e0e0;z-index:8}@media (min-width:782px){.customize-widgets-header{margin-bottom:76px}}.customize-widgets-header.is-fixed-toolbar-active{margin-bottom:0}.customize-widgets-header-toolbar{display:flex;border:none;width:100%;align-items:center}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon{border-radius:2px;color:#fff;padding:0;min-width:24px;height:24px;margin:12px 0 12px auto}.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{width:auto;min-width:100%}#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{display:flex;justify-content:space-between;align-items:center;padding:16px;height:46px;box-sizing:border-box;border-bottom:1px solid #ddd}.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__main-shortcuts .customize-widgets-keyboard-shortcut-help-modal__shortcut-list{margin-top:-25px}.customize-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.customize-widgets-keyboard-shortcut-help-modal__shortcut{display:flex;align-items:baseline;padding:.6rem 0;border-top:1px solid #ddd;margin-bottom: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;margin:0;flex-basis:auto}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{display:block;background:none;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{padding:.25rem .5rem;border-radius:8%;margin:0 .2rem}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 0 0 .2rem}.customize-widgets-more-menu{margin-left:-4px}.customize-widgets-more-menu .components-button{width:auto;padding:0 2px}@media (min-width:600px){.customize-widgets-more-menu{margin-left:0}.customize-widgets-more-menu .components-button{padding:0 4px}}.customize-widgets-more-menu__content .components-popover__content{min-width:280px}@media (min-width:480px){.customize-widgets-more-menu__content .components-popover__content{width:auto;max-width:480px}}.customize-widgets-more-menu__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.customize-widgets-more-menu__content{z-index:99998}.block-editor-block-contextual-toolbar.is-fixed{top:0;margin-left:-12px;margin-right:-12px;width:calc(100% + 24px);overflow-y:auto;z-index:7}.customize-control-sidebar_block_editor .block-editor-block-list__block-popover{position:fixed;z-index:7}.customize-widgets-welcome-guide__image__wrapper{background:#00a0d2;text-align:center;margin-bottom:8px}.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{min-height:100%;background-color:#fff;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{position:static!important;margin-top:-12px!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 +: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}@media (-webkit-min-device-pixel-ratio:2),(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{display:flex;justify-content:flex-end;margin:-15px -12px 0;background:#f0f0f1;border-bottom:1px solid #e0e0e0;z-index:8}@media (min-width:782px){.customize-widgets-header{margin-bottom:76px}}.customize-widgets-header.is-fixed-toolbar-active{margin-bottom:0}.customize-widgets-header-toolbar{display:flex;border:none;width:100%;align-items:center}.customize-widgets-header-toolbar .customize-widgets-header-toolbar__inserter-toggle.components-button.has-icon{border-radius:2px;color:#fff;padding:0;min-width:24px;height:24px;margin:12px 0 12px auto}.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{width:auto;min-width:100%}#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{display:flex;justify-content:space-between;align-items:center;padding:16px;height:46px;box-sizing:border-box;border-bottom:1px solid #ddd}.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__main-shortcuts .customize-widgets-keyboard-shortcut-help-modal__shortcut-list{margin-top:-25px}.customize-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.customize-widgets-keyboard-shortcut-help-modal__shortcut{display:flex;align-items:baseline;padding:.6rem 0;border-top:1px solid #ddd;margin-bottom: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;margin:0;flex-basis:auto}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{display:block;background:none;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{padding:.25rem .5rem;border-radius:8%;margin:0 .2rem}.customize-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 0 0 .2rem}.customize-widgets-more-menu{margin-left:-4px}.customize-widgets-more-menu .components-button{width:auto;padding:0 2px}@media (min-width:600px){.customize-widgets-more-menu{margin-left:0}.customize-widgets-more-menu .components-button{padding:0 4px}}.customize-widgets-more-menu__content .components-popover__content{min-width:280px}@media (min-width:480px){.customize-widgets-more-menu__content .components-popover__content{width:auto;max-width:480px}}.customize-widgets-more-menu__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.customize-widgets-more-menu__content{z-index:99998}.block-editor-block-contextual-toolbar.is-fixed{top:0;margin-left:-12px;margin-right:-12px;width:calc(100% + 24px);overflow-y:auto;z-index:7}.customize-control-sidebar_block_editor .block-editor-block-list__block-popover{position:fixed;z-index:7}.customize-widgets-welcome-guide__image__wrapper{background:#00a0d2;text-align:center;margin-bottom:8px}.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{min-height:100%;background-color:#fff;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{position:static!important;margin-top:-12px!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/classic-rtl.css b/wp-includes/css/dist/edit-post/classic-rtl.css index 8663786969..7f4692bb56 100644 --- a/wp-includes/css/dist/edit-post/classic-rtl.css +++ b/wp-includes/css/dist/edit-post/classic-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -85,33 +94,33 @@ margin-left: auto; } -.wp-block { +html :where(.wp-block) { max-width: 840px; margin-top: 28px; margin-bottom: 28px; } -.wp-block[data-align=wide] { +html :where(.wp-block)[data-align=wide] { max-width: 1100px; } -.wp-block[data-align=full] { +html :where(.wp-block)[data-align=full] { max-width: none; } -.wp-block[data-align=left], .wp-block[data-align=right] { +html :where(.wp-block)[data-align=left], html :where(.wp-block)[data-align=right] { width: 100%; height: 0; } -.wp-block[data-align=left]::before, .wp-block[data-align=right]::before { +html :where(.wp-block)[data-align=left]::before, html :where(.wp-block)[data-align=right]::before { content: none; } -.wp-block[data-align=left] > * { +html :where(.wp-block)[data-align=left] > * { float: left; margin-right: 2em; } -.wp-block[data-align=right] > * { +html :where(.wp-block)[data-align=right] > * { float: right; margin-left: 2em; } -.wp-block[data-align=full], .wp-block[data-align=wide] { +html :where(.wp-block)[data-align=full], html :where(.wp-block)[data-align=wide] { clear: both; } diff --git a/wp-includes/css/dist/edit-post/classic-rtl.min.css b/wp-includes/css/dist/edit-post/classic-rtl.min.css index a48d819768..b3f6a16b8b 100644 --- a/wp-includes/css/dist/edit-post/classic-rtl.min.css +++ b/wp-includes/css/dist/edit-post/classic-rtl.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.editor-styles-wrapper .wp-block{margin-right:auto;margin-left:auto}.wp-block{max-width:840px;margin-top:28px;margin-bottom:28px}.wp-block[data-align=wide]{max-width:1100px}.wp-block[data-align=full]{max-width:none}.wp-block[data-align=left],.wp-block[data-align=right]{width:100%;height:0}.wp-block[data-align=left]:before,.wp-block[data-align=right]:before{content:none}.wp-block[data-align=left]>*{float:left;margin-right:2em}.wp-block[data-align=right]>*{float:right;margin-left:2em}.wp-block[data-align=full],.wp-block[data-align=wide]{clear:both}.wp-block-group>[data-align=full]{margin-right:auto;margin-left:auto}.wp-block-group.has-background>[data-align=full]{margin-right:-30px;width:calc(100% + 60px)}[data-align=full] .wp-block-group>.wp-block{padding-right:14px;padding-left:14px}@media (min-width:600px){[data-align=full] .wp-block-group>.wp-block{padding-right:0;padding-left:0}}[data-align=full] .wp-block-group>[data-align=full]{padding-left:0;padding-right:0;right:0;width:100%;max-width:none}[data-align=full] .wp-block-group.has-background>[data-align=full]{width:calc(100% + 60px)} \ 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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.editor-styles-wrapper .wp-block{margin-right:auto;margin-left:auto}html :where(.wp-block){max-width:840px;margin-top:28px;margin-bottom:28px}html :where(.wp-block)[data-align=wide]{max-width:1100px}html :where(.wp-block)[data-align=full]{max-width:none}html :where(.wp-block)[data-align=left],html :where(.wp-block)[data-align=right]{width:100%;height:0}html :where(.wp-block)[data-align=left]:before,html :where(.wp-block)[data-align=right]:before{content:none}html :where(.wp-block)[data-align=left]>*{float:left;margin-right:2em}html :where(.wp-block)[data-align=right]>*{float:right;margin-left:2em}html :where(.wp-block)[data-align=full],html :where(.wp-block)[data-align=wide]{clear:both}.wp-block-group>[data-align=full]{margin-right:auto;margin-left:auto}.wp-block-group.has-background>[data-align=full]{margin-right:-30px;width:calc(100% + 60px)}[data-align=full] .wp-block-group>.wp-block{padding-right:14px;padding-left:14px}@media (min-width:600px){[data-align=full] .wp-block-group>.wp-block{padding-right:0;padding-left:0}}[data-align=full] .wp-block-group>[data-align=full]{padding-left:0;padding-right:0;right:0;width:100%;max-width:none}[data-align=full] .wp-block-group.has-background>[data-align=full]{width:calc(100% + 60px)} \ No newline at end of file diff --git a/wp-includes/css/dist/edit-post/classic.css b/wp-includes/css/dist/edit-post/classic.css index 24b212ec41..7b8871424b 100644 --- a/wp-includes/css/dist/edit-post/classic.css +++ b/wp-includes/css/dist/edit-post/classic.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -85,37 +94,37 @@ margin-right: auto; } -.wp-block { +html :where(.wp-block) { max-width: 840px; margin-top: 28px; margin-bottom: 28px; } -.wp-block[data-align=wide] { +html :where(.wp-block)[data-align=wide] { max-width: 1100px; } -.wp-block[data-align=full] { +html :where(.wp-block)[data-align=full] { max-width: none; } -.wp-block[data-align=left], .wp-block[data-align=right] { +html :where(.wp-block)[data-align=left], html :where(.wp-block)[data-align=right] { width: 100%; height: 0; } -.wp-block[data-align=left]::before, .wp-block[data-align=right]::before { +html :where(.wp-block)[data-align=left]::before, html :where(.wp-block)[data-align=right]::before { content: none; } -.wp-block[data-align=left] > * { +html :where(.wp-block)[data-align=left] > * { /*!rtl:begin:ignore*/ float: left; margin-right: 2em; /*!rtl:end:ignore*/ } -.wp-block[data-align=right] > * { +html :where(.wp-block)[data-align=right] > * { /*!rtl:begin:ignore*/ float: right; margin-left: 2em; /*!rtl:end:ignore*/ } -.wp-block[data-align=full], .wp-block[data-align=wide] { +html :where(.wp-block)[data-align=full], html :where(.wp-block)[data-align=wide] { clear: both; } diff --git a/wp-includes/css/dist/edit-post/classic.min.css b/wp-includes/css/dist/edit-post/classic.min.css index 48b02c190a..4faec83dfb 100644 --- a/wp-includes/css/dist/edit-post/classic.min.css +++ b/wp-includes/css/dist/edit-post/classic.min.css @@ -1,5 +1,5 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.editor-styles-wrapper .wp-block{margin-left:auto;margin-right:auto}.wp-block{max-width:840px;margin-top:28px;margin-bottom:28px}.wp-block[data-align=wide]{max-width:1100px}.wp-block[data-align=full]{max-width:none}.wp-block[data-align=left],.wp-block[data-align=right]{width:100%;height:0}.wp-block[data-align=left]:before,.wp-block[data-align=right]:before{content:none}.wp-block[data-align=left]>*{ +: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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.editor-styles-wrapper .wp-block{margin-left:auto;margin-right:auto}html :where(.wp-block){max-width:840px;margin-top:28px;margin-bottom:28px}html :where(.wp-block)[data-align=wide]{max-width:1100px}html :where(.wp-block)[data-align=full]{max-width:none}html :where(.wp-block)[data-align=left],html :where(.wp-block)[data-align=right]{width:100%;height:0}html :where(.wp-block)[data-align=left]:before,html :where(.wp-block)[data-align=right]:before{content:none}html :where(.wp-block)[data-align=left]>*{ /*!rtl:begin:ignore*/float:left;margin-right:2em - /*!rtl:end:ignore*/}.wp-block[data-align=right]>*{ + /*!rtl:end:ignore*/}html :where(.wp-block)[data-align=right]>*{ /*!rtl:begin:ignore*/float:right;margin-left:2em - /*!rtl:end:ignore*/}.wp-block[data-align=full],.wp-block[data-align=wide]{clear:both}.wp-block-group>[data-align=full]{margin-left:auto;margin-right:auto}.wp-block-group.has-background>[data-align=full]{margin-left:-30px;width:calc(100% + 60px)}[data-align=full] .wp-block-group>.wp-block{padding-left:14px;padding-right:14px}@media (min-width:600px){[data-align=full] .wp-block-group>.wp-block{padding-left:0;padding-right:0}}[data-align=full] .wp-block-group>[data-align=full]{padding-right:0;padding-left:0;left:0;width:100%;max-width:none}[data-align=full] .wp-block-group.has-background>[data-align=full]{width:calc(100% + 60px)} \ No newline at end of file + /*!rtl:end:ignore*/}html :where(.wp-block)[data-align=full],html :where(.wp-block)[data-align=wide]{clear:both}.wp-block-group>[data-align=full]{margin-left:auto;margin-right:auto}.wp-block-group.has-background>[data-align=full]{margin-left:-30px;width:calc(100% + 60px)}[data-align=full] .wp-block-group>.wp-block{padding-left:14px;padding-right:14px}@media (min-width:600px){[data-align=full] .wp-block-group>.wp-block{padding-left:0;padding-right:0}}[data-align=full] .wp-block-group>[data-align=full]{padding-right:0;padding-left:0;left:0;width:100%;max-width:none}[data-align=full] .wp-block-group.has-background>[data-align=full]{width:calc(100% + 60px)} \ 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 3e5e7167a8..c23f7c2a8a 100644 --- a/wp-includes/css/dist/edit-post/style-rtl.css +++ b/wp-includes/css/dist/edit-post/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -113,6 +122,12 @@ } } +@media (min-width: 782px) { + .components-panel__header + .interface-complementary-area-header { + margin-top: 0; + } +} + .interface-complementary-area { background: #fff; color: #1e1e1e; @@ -148,12 +163,18 @@ .interface-complementary-area p { margin-top: 0; } -.interface-complementary-area h2, -.interface-complementary-area h3 { +.interface-complementary-area h2 { font-size: 13px; color: #1e1e1e; margin-bottom: 1.5em; } +.interface-complementary-area h3 { + font-size: 11px; + text-transform: uppercase; + font-weight: 500; + color: #1e1e1e; + margin-bottom: 1.5em; +} .interface-complementary-area hr { border-top: none; border-bottom: 1px solid #f0f0f0; @@ -374,6 +395,39 @@ body.is-fullscreen-mode .interface-interface-skeleton { bottom: 0; } +.interface-more-menu-dropdown { + margin-right: -4px; +} +.interface-more-menu-dropdown .components-button { + width: auto; + padding: 0 2px; +} +@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 { + width: auto; + 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; } @@ -592,7 +646,7 @@ body.is-fullscreen-mode .interface-interface-skeleton { .edit-post-header__dropdown .components-button.editor-history__undo, .edit-post-header__dropdown .components-button.editor-history__redo, .edit-post-header__dropdown .table-of-contents .components-button, -.edit-post-header__dropdown .components-button.block-editor-block-navigation { +.edit-post-header__dropdown .components-button.block-editor-list-view { margin: 0; padding: 6px 40px 6px 6px; width: 14.625rem; @@ -635,7 +689,7 @@ body.is-fullscreen-mode .interface-interface-skeleton { align-items: center; align-self: stretch; border: none; - background: #23282e; + background: #1e1e1e; color: #fff; border-radius: 0; height: 61px; @@ -659,7 +713,7 @@ body.is-fullscreen-mode .interface-interface-skeleton { bottom: 9px; right: 9px; border-radius: 4px; - box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) #23282e; + box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) #1e1e1e; } } @media (min-width: 782px) and (prefers-reduced-motion: reduce) { @@ -713,11 +767,11 @@ body.is-fullscreen-mode .interface-interface-skeleton { .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-block-navigation { +.edit-post-header-toolbar .block-editor-list-view { display: none; } @media (min-width: 600px) { - .edit-post-header-toolbar .block-editor-block-navigation { + .edit-post-header-toolbar .block-editor-list-view { display: flex; } } @@ -1073,126 +1127,93 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar { bottom: 0; } -@media (min-width: 600px) { - .edit-post-manage-blocks-modal { - height: calc(100% - 60px - 60px); - } -} - -.edit-post-manage-blocks-modal .components-modal__content { - padding-bottom: 0; - display: flex; - flex-direction: column; -} - -.edit-post-manage-blocks-modal .components-modal__header { - flex-shrink: 0; - margin-bottom: 0; -} - -.edit-post-manage-blocks-modal__content { - display: flex; - flex-direction: column; - flex: 0 1 100%; - min-height: 0; -} - -.edit-post-manage-blocks-modal__no-results { +.edit-post-block-manager__no-results { font-style: italic; padding: 24px 0; text-align: center; } -.edit-post-manage-blocks-modal__search { +.edit-post-block-manager__search { margin: 16px 0; } -.edit-post-manage-blocks-modal__search .components-base-control__field { - margin-bottom: 0; -} -.edit-post-manage-blocks-modal__search .components-base-control__label { - margin-top: -4px; -} -.edit-post-manage-blocks-modal__search input[type=search].components-text-control__input { + +.edit-post-block-manager__disabled-blocks-count { + border: 1px solid #ddd; + border-width: 1px 0; + box-shadow: 32px 0 0 0 #fff, -32px 0 0 0 #fff; padding: 8px; - border-radius: 2px; + background-color: #fff; + text-align: center; + font-style: italic; + position: sticky; + 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-manage-blocks-modal__disabled-blocks-count { - border-top: 1px solid #ddd; - margin-right: -24px; - margin-left: -24px; - padding-top: 0.6rem; - padding-bottom: 0.6rem; - padding-right: 24px; - padding-left: 24px; - background-color: #f0f0f0; +.edit-post-block-manager__category { + margin: 0 0 24px 0; } -.edit-post-manage-blocks-modal__category { - margin: 0 0 2rem 0; -} - -.edit-post-manage-blocks-modal__category-title { +.edit-post-block-manager__category-title { position: sticky; top: 0; padding: 16px 0; background-color: #fff; z-index: 1; } -.edit-post-manage-blocks-modal__category-title .components-base-control__field { - margin-bottom: 0; -} -.edit-post-manage-blocks-modal__category-title .components-checkbox-control__label { - font-size: 0.9rem; +.edit-post-block-manager__category-title .components-checkbox-control__label { font-weight: 600; } -.edit-post-manage-blocks-modal__show-all { +.edit-post-block-manager__show-all { margin-left: 8px; } -.edit-post-manage-blocks-modal__checklist { +.edit-post-block-manager__checklist { margin-top: 0; } -.edit-post-manage-blocks-modal__checklist-item { - margin-bottom: 0; - padding-right: 16px; - border-top: 1px solid #ddd; -} -.edit-post-manage-blocks-modal__checklist-item:last-child { +.edit-post-block-manager__category-title, +.edit-post-block-manager__checklist-item { border-bottom: 1px solid #ddd; } -.edit-post-manage-blocks-modal__checklist-item .components-base-control__field { +.edit-post-block-manager__category-title .components-base-control__field, +.edit-post-block-manager__checklist-item .components-base-control__field { align-items: center; display: flex; margin: 0; } -.components-modal__content .edit-post-manage-blocks-modal__checklist-item.components-checkbox-control__input-container { + +.edit-post-block-manager__checklist-item { + margin-bottom: 0; + padding-right: 16px; +} +.components-modal__content .edit-post-block-manager__checklist-item.components-checkbox-control__input-container { margin: 0 8px; } -.edit-post-manage-blocks-modal__checklist-item .components-checkbox-control__label { +.edit-post-block-manager__checklist-item .components-checkbox-control__label { display: flex; align-items: center; justify-content: space-between; flex-grow: 1; - padding: 0.6rem 10px 0.6rem 0; + padding: 8px 0; } -.edit-post-manage-blocks-modal__checklist-item .block-editor-block-icon { +.edit-post-block-manager__checklist-item .block-editor-block-icon { margin-left: 10px; fill: #1e1e1e; } -.edit-post-manage-blocks-modal__results { - height: 100%; - overflow: auto; - margin-right: -32px; - margin-left: -32px; - padding-right: 32px; - padding-left: 32px; +.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; /** @@ -1279,68 +1300,37 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar { clear: both; } -.edit-post-preferences-modal { - min-width: 360px; - width: 100%; +@media (min-width: 600px) { + .edit-post-preferences-modal { + width: calc(100% - 32px); + height: calc(100% - 120px); + } } @media (min-width: 782px) { .edit-post-preferences-modal { - width: auto; + width: 750px; } } -@media (min-width: 600px) { +@media (min-width: 960px) { .edit-post-preferences-modal { - height: calc(100% - 60px - 60px); + height: 70%; } } -.edit-post-preferences-modal .components-navigation { - background-color: #fff; - margin: -8px; - padding: 8px; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu { - margin: 0; - color: #1e1e1e; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item { - color: #1e1e1e; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item > button { - color: inherit; - padding: 3px 16px; - height: 48px; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item > button:focus { - background: #f0f0f0; - font-weight: 500; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item > button:hover { - color: var(--wp-admin-theme-color); -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item .components-toggle-control__label { - color: inherit; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__menu-title-heading { - color: inherit; - border-bottom: 1px solid #ddd; - padding-right: 0; - padding-left: 0; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__back-button { - color: inherit; - padding-right: 0; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__back-button:hover { - color: var(--wp-admin-theme-color); -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .edit-post-preferences-modal__custom-fields-confirmation-button { - width: auto; -} -.edit-post-preferences-modal .edit-post-preferences__tabs { - display: flex; - flex-direction: row; +@media (max-width: 781px) { + .edit-post-preferences-modal .components-modal__content { + padding: 0; + } + .edit-post-preferences-modal .components-modal__content::before { + content: none; + } + .edit-post-preferences-modal .components-navigator-provider { + height: 100%; + } } .edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs { + position: absolute; + top: 84px; + right: 16px; width: 160px; } .edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item { @@ -1356,15 +1346,19 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar { box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); } .edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tab-content { - width: 500px; padding-right: 24px; + margin-right: 160px; } .edit-post-preferences-modal__section { margin: 0 0 2.5rem 0; } +.edit-post-preferences-modal__section:last-child { + margin: 0; +} .edit-post-preferences-modal__section-title { font-size: 0.9rem; font-weight: 600; + margin-top: 0; } .edit-post-preferences-modal__option .components-base-control .components-base-control__field { align-items: center; @@ -1447,7 +1441,7 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar { .edit-post-editor__list-view-panel-content { overflow-y: auto; - padding: 8px; + padding: 8px 6px; } .components-panel__header.edit-post-sidebar__panel-tabs { @@ -1658,8 +1652,9 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar { } h2.edit-post-template-summary__title { - margin: 0; line-height: 24px; + margin: 0 0 4px; + font-weight: 500; } .edit-post-text-editor { @@ -1668,34 +1663,24 @@ h2.edit-post-template-summary__title { background-color: #fff; flex-grow: 1; } -.edit-post-text-editor .editor-post-title.editor-post-title__block { +.edit-post-text-editor .editor-post-title { max-width: none; line-height: 1.4; -} -.edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input.editor-post-title__input.editor-post-title__input { font-family: Menlo, Consolas, monaco, monospace; font-size: 2.5em; font-weight: normal; -} -.edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input { border: 1px solid #949494; - margin-bottom: -1px; padding: 16px; } @media (min-width: 600px) { - .edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input { + .edit-post-text-editor .editor-post-title { padding: 24px; } } -.edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input:focus { +.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); } -@media (min-width: 600px) { - .edit-post-text-editor .editor-post-title.editor-post-title__block { - padding: 0; - } -} .edit-post-text-editor__body { width: 100%; @@ -1746,7 +1731,7 @@ h2.edit-post-template-summary__title { display: flex; flex-flow: column; background-color: #2f2f2f; - flex: 1 1 auto; + flex: 1 0 auto; } .edit-post-visual-editor .components-button { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; @@ -1756,17 +1741,14 @@ h2.edit-post-template-summary__title { .edit-post-visual-editor .components-button.is-tertiary, .edit-post-visual-editor .components-button.has-icon { padding: 6px; } -@supports (position: sticky) { - .edit-post-visual-editor { - flex-basis: 100%; - } -} +.edit-post-visual-editor__post-title-wrapper { + margin-top: 4rem; + margin-bottom: var(--wp--style--block-gap); +} .edit-post-visual-editor__post-title-wrapper .editor-post-title { - margin-top: 2em; margin-right: auto; margin-left: auto; - margin-bottom: 0; } .edit-post-visual-editor__exit-template-mode { @@ -1784,6 +1766,7 @@ h2.edit-post-template-summary__title { height: 100%; position: relative; display: flex; + flex-grow: 1; } .edit-post-welcome-guide { @@ -1793,6 +1776,12 @@ h2.edit-post-template-summary__title { background: #00a0d2; margin: 0 0 16px; } +.edit-post-welcome-guide__image > img { + display: block; + max-width: 100%; + -o-object-fit: cover; + object-fit: cover; +} .edit-post-welcome-guide__heading { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 24px; @@ -1930,8 +1919,11 @@ body.block-editor-page .media-frame select.attachment-filters:last-of-type { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -1942,8 +1934,11 @@ body.admin-color-light { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -1954,8 +1949,11 @@ body.admin-color-modern { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -1966,8 +1964,11 @@ body.admin-color-blue { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -1978,8 +1979,11 @@ body.admin-color-coffee { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -1990,8 +1994,11 @@ body.admin-color-ectoplasm { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -2002,8 +2009,11 @@ body.admin-color-midnight { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -2014,8 +2024,11 @@ body.admin-color-ocean { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { 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 aea8d418e1..3a49592147 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-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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}}.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{margin-top:0}.interface-complementary-area h2,.interface-complementary-area h3{font-size:13px;color:#1e1e1e;margin-bottom:1.5em}.interface-complementary-area hr{border-top:none;border-bottom:1px solid #f0f0f0;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{top:auto;left:10px;bottom:10px;right:auto}@media (min-width:782px){body.js.is-fullscreen-mode{margin-top:-32px;height:calc(100% + 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{display:flex;flex-direction:row;height:auto;max-height:100%;position:fixed;top:46px;left:0;bottom:0}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex-direction:column;flex:0 1 100%;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{flex-grow:1;display:flex;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{flex-grow:1;display:flex;flex-direction:column;overflow:auto;z-index:20}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{display:block;flex-shrink:0;position:absolute;z-index:100000;top:0;left:0;bottom:0;right:0;background:#fff;color:#1e1e1e}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;z-index:90;width:auto}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-right:1px solid #e0e0e0}}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar{border-left:1px solid #e0e0e0}}.interface-interface-skeleton__header{flex-shrink:0;height:auto;border-bottom:1px solid #e0e0e0;z-index:30;color:#1e1e1e}.interface-interface-skeleton__footer{height:auto;flex-shrink:0;border-top:1px solid #e0e0e0;color:#1e1e1e;position:absolute;bottom:0;right:0;width:100%;background-color:#fff;z-index:90;display:none}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{z-index:30;display:flex;background:#fff;height:24px;align-items:center;font-size:13px;padding:0 18px}.interface-interface-skeleton__actions{z-index:100000;position:fixed!important;top:-9999em;bottom:auto;right:auto;left:0;width:280px;color:#1e1e1e}.interface-interface-skeleton__actions:focus{top:auto;bottom:0}.interface-pinned-items{display:flex}.interface-pinned-items .components-button:not(:first-child){display:none}@media (min-width:600px){.interface-pinned-items .components-button:not(:first-child){display:flex}}.interface-pinned-items .components-button{margin-right:4px}.interface-pinned-items .components-button svg{max-width:24px;max-height:24px}.edit-post-header{height:60px;background:#fff;display:flex;flex-wrap:wrap;align-items:center;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__settings{display:inline-flex;align-items:center;flex-wrap:wrap;padding-left:4px}@media (min-width:600px){.edit-post-header__settings{padding-left:16px}}.edit-post-header__settings .components-button.components-button,.edit-post-header__settings .editor-post-saved-state{margin-left:4px}@media (min-width:600px){.edit-post-header__settings .components-button.components-button,.edit-post-header__settings .editor-post-saved-state{margin-left:12px}}.edit-post-header__settings .components-button.is-tertiary,.edit-post-header__settings .editor-post-saved-state{padding:0 6px}.edit-post-header__settings .edit-post-more-menu .components-button,.edit-post-header__settings .interface-pinned-items .components-button{margin-left:0}.edit-post-header-preview__grouping-external{display:flex;position:relative;padding-bottom:0}.edit-post-header-preview__button-external{padding-right:8px;margin-left:auto;width:100%;display:flex;justify-content:flex-start}.edit-post-header-preview__button-external svg{margin-right:auto}.edit-post-post-preview-dropdown .components-popover__content>div{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:initial}.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{box-shadow:0 0 0 1.5px var(--wp-admin-theme-color);background-color:initial}.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-right:8px;padding-left: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-right:12px;padding-left:12px}}.edit-post-header__dropdown .components-dropdown-menu__toggle,.show-icon-labels .edit-post-header .components-dropdown-menu__toggle,.show-icon-labels.interface-pinned-items .components-dropdown-menu__toggle{margin-right:8px;padding-right:8px;padding-left:8px}@media (min-width:600px){.edit-post-header__dropdown .components-dropdown-menu__toggle,.show-icon-labels .edit-post-header .components-dropdown-menu__toggle,.show-icon-labels.interface-pinned-items .components-dropdown-menu__toggle{margin-right:12px;padding-right:12px;padding-left:12px}}.edit-post-header__dropdown .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle:after,.edit-post-header__dropdown .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels .edit-post-header .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle:after,.show-icon-labels .edit-post-header .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels.interface-pinned-items .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle:after,.show-icon-labels.interface-pinned-items .editor-post-save-draft.editor-post-save-draft:after{content:none}@media (min-width:600px){.edit-post-header__dropdown .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels .edit-post-header .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels.interface-pinned-items .editor-post-save-draft.editor-post-save-draft:after{content:attr(aria-label)}}.edit-post-header__dropdown .components-button.block-editor-block-navigation,.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{margin:0;padding:6px 40px 6px 6px;width:14.625rem;text-align:right;justify-content:flex-start}.show-icon-labels.interface-pinned-items{padding:6px 12px 12px;margin:0 -12px;border-bottom:1px solid #ccc;display:block}.show-icon-labels.interface-pinned-items>.components-button.has-icon{margin:0;padding:6px 8px 6px 6px;width:14.625rem;justify-content:flex-start}.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}.edit-post-fullscreen-mode-close.has-icon{display:none}@media (min-width:782px){.edit-post-fullscreen-mode-close.has-icon{display:flex;align-items:center;align-self:stretch;border:none;background:#23282e;color:#fff;border-radius:0;height:61px;width:60px;position:relative;margin-bottom:-1px}.edit-post-fullscreen-mode-close.has-icon:active{color:#fff}.edit-post-fullscreen-mode-close.has-icon:focus{box-shadow:none}.edit-post-fullscreen-mode-close.has-icon:before{transition:box-shadow .1s ease;content:"";display:block;position:absolute;top:9px;left:9px;bottom:9px;right:9px;border-radius:4px;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #23282e}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-fullscreen-mode-close.has-icon:before{transition-duration:0s;transition-delay:0s}}@media (min-width:782px){.edit-post-fullscreen-mode-close.has-icon:hover:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #757575}}@media (min-width:782px){.edit-post-fullscreen-mode-close.has-icon: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_site-icon{width:36px;border-radius:2px}.edit-post-header-toolbar{display:inline-flex;flex-grow:1;align-items:center;border:none}.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-duration:0s;transition-delay: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-block-navigation{display:none}@media (min-width:600px){.edit-post-header-toolbar .block-editor-block-navigation{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-duration:0s;transition-delay: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{display:inline-flex;align-items:center;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{margin-left:8px;min-width:32px;width:32px;height:32px;padding:0}.show-icon-labels .edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-icon{height:36px}.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-text.has-icon{width:auto;padding:0 8px}.show-icon-labels .edit-post-header-toolbar__left>*+*{margin-right:8px}.edit-post-more-menu{margin-right:-4px}.edit-post-more-menu .components-button{width:auto;padding:0 2px}@media (min-width:600px){.edit-post-more-menu{margin-right:0}.edit-post-more-menu .components-button{padding:0 4px}}.edit-post-more-menu__content .components-popover__content{min-width:280px}@media (min-width:480px){.edit-post-more-menu__content .components-popover__content{width:auto;max-width:480px}}.edit-post-more-menu__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.edit-post-more-menu__content{z-index:99998}.edit-post-template-top-area{display:flex;flex-direction:column;align-content:space-between;width:100%;align-items:center}.edit-post-template-top-area .edit-post-template-post-title,.edit-post-template-top-area .edit-post-template-title{padding:0;text-decoration:none;height:auto}.edit-post-template-top-area .edit-post-template-post-title:before,.edit-post-template-top-area .edit-post-template-title:before{height:100%}.edit-post-template-top-area .edit-post-template-post-title.has-icon svg,.edit-post-template-top-area .edit-post-template-title.has-icon svg{order:1;margin-left:0}.edit-post-template-top-area .edit-post-template-title{color:#1e1e1e}.edit-post-template-top-area .edit-post-template-post-title{margin-top:4px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.edit-post-template-top-area .edit-post-template-post-title:before{right:0;left:0}@media (min-width:1080px){.edit-post-template-top-area .edit-post-template-post-title{max-width:none}}.edit-post-template-top-area__popover .components-popover__content{min-width:280px}.edit-post-template-top-area__second-menu-group{margin-right:-12px;margin-left:-12px;padding:12px 12px 0;border-top:1px solid #ddd}.edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button{display:flex;justify-content:center}.edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button .components-menu-item__item{margin-left:0}.edit-post-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-post-keyboard-shortcut-help-modal__main-shortcuts .edit-post-keyboard-shortcut-help-modal__shortcut-list{margin-top:-25px}.edit-post-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-post-keyboard-shortcut-help-modal__shortcut{display:flex;align-items:baseline;padding:.6rem 0;border-top:1px solid #ddd;margin-bottom: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;margin:0;flex-basis:auto}.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination{display:block;background:none;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{padding:.25rem .5rem;border-radius:8%;margin:0 .2rem}.edit-post-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 .2rem 0 0}.edit-post-layout__metaboxes{flex-shrink:0}.edit-post-layout__metaboxes:not(:empty){border-top:1px solid #ddd;padding:10px 0;clear:both}.edit-post-layout__metaboxes:not(:empty) .edit-post-meta-boxes-area{margin:auto 20px}.edit-post-layout .components-editor-notices__snackbar{position:fixed;left:0;bottom:40px;padding-right:16px;padding-left:16px;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{position:fixed;z-index:100001;top:46px;bottom:0;left:0;right:0;overflow:auto}@media (min-width:782px){.edit-post-layout .editor-post-publish-panel{z-index:99998;top:32px;right:auto;width:281px;border-right:1px solid #ddd;transform:translateX(-100%);animation:edit-post-post-publish-panel__slide-in-animation .1s forwards}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-layout .editor-post-publish-panel{animation-duration:1ms;animation-delay:0s}}@media (min-width:782px){body.is-fullscreen-mode .edit-post-layout .editor-post-publish-panel{top:0}}@media (min-width:782px){[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{z-index:100000;position:fixed!important;top:-9999em;bottom:auto;right:auto;left:0;width:280px;background-color:#fff;border:1px dotted #ddd;height:auto!important;padding:24px;display:flex;justify-content:center}.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,.interface-interface-skeleton__actions:focus-within .edit-post-layout__toggle-sidebar-panel,.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 .edit-post-layout__toggle-sidebar-panel{top:auto;bottom:0}@media (min-width:600px){.edit-post-manage-blocks-modal{height:calc(100% - 120px)}}.edit-post-manage-blocks-modal .components-modal__content{padding-bottom:0;display:flex;flex-direction:column}.edit-post-manage-blocks-modal .components-modal__header{flex-shrink:0;margin-bottom:0}.edit-post-manage-blocks-modal__content{display:flex;flex-direction:column;flex:0 1 100%;min-height:0}.edit-post-manage-blocks-modal__no-results{font-style:italic;padding:24px 0;text-align:center}.edit-post-manage-blocks-modal__search{margin:16px 0}.edit-post-manage-blocks-modal__search .components-base-control__field{margin-bottom:0}.edit-post-manage-blocks-modal__search .components-base-control__label{margin-top:-4px}.edit-post-manage-blocks-modal__search input[type=search].components-text-control__input{padding:8px;border-radius:2px}.edit-post-manage-blocks-modal__disabled-blocks-count{border-top:1px solid #ddd;margin-right:-24px;margin-left:-24px;padding:.6rem 24px;background-color:#f0f0f0}.edit-post-manage-blocks-modal__category{margin:0 0 2rem}.edit-post-manage-blocks-modal__category-title{position:sticky;top:0;padding:16px 0;background-color:#fff;z-index:1}.edit-post-manage-blocks-modal__category-title .components-base-control__field{margin-bottom:0}.edit-post-manage-blocks-modal__category-title .components-checkbox-control__label{font-size:.9rem;font-weight:600}.edit-post-manage-blocks-modal__show-all{margin-left:8px}.edit-post-manage-blocks-modal__checklist{margin-top:0}.edit-post-manage-blocks-modal__checklist-item{margin-bottom:0;padding-right:16px;border-top:1px solid #ddd}.edit-post-manage-blocks-modal__checklist-item:last-child{border-bottom:1px solid #ddd}.edit-post-manage-blocks-modal__checklist-item .components-base-control__field{align-items:center;display:flex;margin:0}.components-modal__content .edit-post-manage-blocks-modal__checklist-item.components-checkbox-control__input-container{margin:0 8px}.edit-post-manage-blocks-modal__checklist-item .components-checkbox-control__label{display:flex;align-items:center;justify-content:space-between;flex-grow:1;padding:.6rem 10px .6rem 0}.edit-post-manage-blocks-modal__checklist-item .block-editor-block-icon{margin-left:10px;fill:#1e1e1e}.edit-post-manage-blocks-modal__results{height:100%;overflow:auto;margin-right:-32px;margin-left:-32px;padding-right:32px;padding-left:32px;border-top:1px solid #ddd}.edit-post-meta-boxes-area{position:relative}.edit-post-meta-boxes-area .inside,.edit-post-meta-boxes-area__container{box-sizing:initial}.edit-post-meta-boxes-area input,.edit-post-meta-boxes-area textarea{box-sizing:border-box}.edit-post-meta-boxes-area #poststuff{margin:0 auto;padding-top:0;min-width:auto}.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:15px;position:relative;width:100%}.edit-post-meta-boxes-area .postbox{border:0;color:inherit;margin-bottom:0}.edit-post-meta-boxes-area .postbox>.inside{border-bottom:1px solid #ddd;color:inherit;padding:0 14px 14px;margin:0}.edit-post-meta-boxes-area .postbox .handlediv{height:44px;width:44px}.edit-post-meta-boxes-area.is-loading:before{position:absolute;top:0;right:0;left:0;bottom:0;content:"";background:transparent;z-index:1}.edit-post-meta-boxes-area .components-spinner{position:absolute;top:10px;left:20px;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-preferences-modal{min-width:360px;width:100%}@media (min-width:782px){.edit-post-preferences-modal{width:auto}}@media (min-width:600px){.edit-post-preferences-modal{height:calc(100% - 120px)}}.edit-post-preferences-modal .components-navigation{background-color:#fff;margin:-8px;padding:8px}.edit-post-preferences-modal .components-navigation .components-navigation__menu{margin:0;color:#1e1e1e}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item{color:#1e1e1e}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item>button{color:inherit;padding:3px 16px;height:48px}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item>button:focus{background:#f0f0f0;font-weight:500}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item>button:hover{color:var(--wp-admin-theme-color)}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item .components-toggle-control__label{color:inherit}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__menu-title-heading{color:inherit;border-bottom:1px solid #ddd;padding-right:0;padding-left:0}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__back-button{color:inherit;padding-right:0}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__back-button:hover{color:var(--wp-admin-theme-color)}.edit-post-preferences-modal .components-navigation .components-navigation__menu .edit-post-preferences-modal__custom-fields-confirmation-button{width:auto}.edit-post-preferences-modal .edit-post-preferences__tabs{display:flex;flex-direction:row}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs{width:160px}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{border-radius:2px;font-weight:400}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{background:#f0f0f0;box-shadow:none;font-weight:500}.edit-post-preferences-modal .edit-post-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)}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tab-content{width:500px;padding-right:24px}.edit-post-preferences-modal__section{margin:0 0 2.5rem}.edit-post-preferences-modal__section-title{font-size:.9rem;font-weight:600}.edit-post-preferences-modal__option .components-base-control .components-base-control__field{align-items:center;display:flex;margin-bottom:0}.edit-post-preferences-modal__option .components-base-control .components-base-control__field>label{flex-grow:1;padding:.6rem 10px .6rem 0}.edit-post-preferences-modal__custom-fields-confirmation-button,.edit-post-preferences-modal__custom-fields-confirmation-message{margin:0 48px .6rem 0}@media (min-width:782px){.edit-post-preferences-modal__custom-fields-confirmation-button,.edit-post-preferences-modal__custom-fields-confirmation-message{margin-right:38px}}@media (min-width:600px){.edit-post-preferences-modal__custom-fields-confirmation-button,.edit-post-preferences-modal__custom-fields-confirmation-message{max-width:300px}}.edit-post-preferences-modal .components-base-control__help{margin:-8px 58px 8px 0;font-size:12px;font-style:normal;color:#757575}.edit-post-preferences-modal .edit-post-preferences-modal__section-description{margin:-8px 0 8px;font-size:12px;font-style:normal;color:#757575}.edit-post-editor__inserter-panel,.edit-post-editor__list-view-panel{height:100%;display:flex;flex-direction:column}.edit-post-editor__list-view-panel{min-width:350px}.edit-post-editor__inserter-panel-header{padding-top:8px;padding-left:8px;display:flex;justify-content:flex-end}@media (min-width:782px){.edit-post-editor__inserter-panel-header{display:none}}.edit-post-editor__inserter-panel-content,.edit-post-editor__list-view-panel-content{height:calc(100% - 44px)}@media (min-width:782px){.edit-post-editor__inserter-panel-content{height:100%}}.edit-post-editor__list-view-panel-header{align-items:center;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;height:48px;padding-right:16px;padding-left:4px}.edit-post-editor__list-view-panel-content{overflow-y:auto;padding:8px}.components-panel__header.edit-post-sidebar__panel-tabs{justify-content:flex-start;padding-right:0;padding-left:16px;border-top:0;margin-top: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;margin:0 auto 0 0;padding:0;min-width:24px;height:24px}@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{padding:0;height:48px}.editor-post-last-revision__title.components-button{padding:16px}.editor-post-author__select{margin:-5px 0;width:100%}@supports (position:sticky){.editor-post-author__select{width:auto}}.edit-post-post-link__link-post-name{font-weight:600}.edit-post-post-link__preview-label{font-weight:400;margin:0}.edit-post-post-link__link{text-align:right;word-wrap:break-word;display:block}.edit-post-post-link__preview-link-container{direction:ltr}.edit-post-post-schedule{width:100%;position:relative;justify-content:left}.edit-post-post-schedule span{display:block;width:45%}.components-button.edit-post-post-schedule__toggle{text-align:left}.edit-post-post-schedule__dialog .components-popover__content>div{padding:0}.editor-post-slug__input{margin:-5px 0;padding:2px}.edit-post-post-status .edit-post-post-publish-dropdown__switch-to-draft{margin-top:15px;width:100%;text-align:center}.edit-post-post-visibility{width:100%;justify-content:left}.edit-post-post-visibility span{display:block;width:45%}@media (min-width:782px){.edit-post-post-visibility__dialog .components-popover__content{width:257px}}.edit-post-post-visibility__dialog-legend{font-weight:600}.edit-post-post-visibility__choice{margin:10px 0}.edit-post-post-visibility__dialog-label,.edit-post-post-visibility__dialog-radio{vertical-align:top}.edit-post-post-visibility__dialog-password-input{width:calc(100% - 20px);margin-right:20px}.edit-post-post-visibility__dialog-info{color:#757575;padding-right:20px;font-style:italic;margin:4px 0 0;line-height:1.4}.components-button.edit-post-sidebar__panel-tab{border-radius:0;height:48px;background:transparent;border:none;box-shadow:none;cursor:pointer;display:inline-block;padding:3px 15px;margin-right:0;font-weight:500}.components-button.edit-post-sidebar__panel-tab:after{content:attr(data-label);display:block;font-weight:600;height:0;overflow:hidden;speak:none;visibility:hidden}.components-button.edit-post-sidebar__panel-tab.is-active{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) transparent,inset 0 -4px 0 0 var(--wp-admin-theme-color);position:relative;z-index:1}.components-button.edit-post-sidebar__panel-tab.is-active:before{content:"";position:absolute;top:0;bottom:1px;left:0;right:0;border-bottom:4px solid transparent}.components-button.edit-post-sidebar__panel-tab:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);position:relative;z-index:1}.components-button.edit-post-sidebar__panel-tab.is-active:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 -4px 0 0 var(--wp-admin-theme-color)}@media (min-width:782px){.edit-post-template__modal .components-base-control{width:320px}}.edit-post-template__modal .components-modal__header{border-bottom:none}.edit-post-template__modal .components-modal__content:before{margin-bottom:4px}.edit-post-template__modal-actions{margin-top:12px}.edit-post-template-modal__tip{padding:16px 24px;background:#f0f0f0;border-radius:2px}@media (min-width:782px){.edit-post-template-modal__tip{width:240px}}.edit-post-template__actions button:not(:last-child){margin-left:8px}h2.edit-post-template-summary__title{margin:0;line-height:24px}.edit-post-text-editor{position:relative;width:100%;background-color:#fff;flex-grow:1}.edit-post-text-editor .editor-post-title.editor-post-title__block{max-width:none;line-height:1.4}.edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input.editor-post-title__input.editor-post-title__input{font-family:Menlo,Consolas,monaco,monospace;font-size:2.5em;font-weight:400}.edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input{border:1px solid #949494;margin-bottom:-1px;padding:16px}@media (min-width:600px){.edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input{padding:24px}}.edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}@media (min-width:600px){.edit-post-text-editor .editor-post-title.editor-post-title__block{padding:0}}.edit-post-text-editor__body{width:100%;padding:0 12px 12px;max-width:1080px;margin-right:auto;margin-left:auto}@media (min-width:960px){.edit-post-text-editor__body{padding:0 24px 24px}}.edit-post-text-editor__toolbar{position:sticky;z-index:1;top:0;right:0;left:0;display:flex;background:hsla(0,0%,100%,.8);padding:4px 12px}@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{line-height:36px;margin:0 0 0 auto;font-size:13px;color:#1e1e1e}.edit-post-text-editor__toolbar .components-button svg{order:1}.edit-post-visual-editor{position:relative;display:flex;flex-flow:column;background-color:#2f2f2f;flex:1 1 auto}.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}@supports (position:sticky){.edit-post-visual-editor{flex-basis:100%}}.edit-post-visual-editor__post-title-wrapper .editor-post-title{margin:2em auto 0}.edit-post-visual-editor__exit-template-mode{position:absolute;top:8px;right:8px;color:#fff}.edit-post-visual-editor__exit-template-mode:active:not([aria-disabled=true]),.edit-post-visual-editor__exit-template-mode:focus:not([aria-disabled=true]),.edit-post-visual-editor__exit-template-mode:hover{color:#f0f0f0}.edit-post-visual-editor__content-area{width:100%;height:100%;position:relative;display:flex}.edit-post-welcome-guide{width:312px}.edit-post-welcome-guide__image{background:#00a0d2;margin:0 0 16px}.edit-post-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{font-size:13px;line-height:1.4;margin:0 0 24px;padding:0 32px}.edit-post-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}@keyframes edit-post__fade-in-animation{0%{opacity:0}to{opacity:1}}body.block-editor-page,html.wp-toolbar{background:#fff}body.block-editor-page #wpcontent{padding-right:0}body.block-editor-page #wpbody-content{padding-bottom:0}body.block-editor-page #wpbody-content>div:not(.block-editor):not(#screen-meta),body.block-editor-page #wpfooter{display:none}body.block-editor-page .a11y-speak-region{right:-1px;top:-1px}body.block-editor-page ul#adminmenu>li.current>a.current:after,body.block-editor-page ul#adminmenu a.wp-has-current-submenu:after{border-left-color:#fff}body.block-editor-page .media-frame select.attachment-filters:last-of-type{width:auto;max-width:100%}.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,.edit-post-visual-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,.edit-post-visual-editor *,.edit-post-visual-editor :after,.edit-post-visual-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{position:absolute;top:0;left:0;bottom:0;right:0;min-height:calc(100vh - 46px)}}@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{max-width:100%;height:auto}.block-editor__container iframe{width:100%}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-20:#006187;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#2145e6;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#07526c;--wp-admin-theme-color-darker-20:#064054;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#383330;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#46365d;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#dd382d;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#576e74;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#d97426;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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}@media (-webkit-min-device-pixel-ratio:2),(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}}@media (min-width:782px){.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{margin-top:0}.interface-complementary-area h2{font-size:13px;color:#1e1e1e;margin-bottom:1.5em}.interface-complementary-area h3{font-size:11px;text-transform:uppercase;font-weight:500;color:#1e1e1e;margin-bottom:1.5em}.interface-complementary-area hr{border-top:none;border-bottom:1px solid #f0f0f0;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{top:auto;left:10px;bottom:10px;right:auto}@media (min-width:782px){body.js.is-fullscreen-mode{margin-top:-32px;height:calc(100% + 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{display:flex;flex-direction:row;height:auto;max-height:100%;position:fixed;top:46px;left:0;bottom:0}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex-direction:column;flex:0 1 100%;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{flex-grow:1;display:flex;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{flex-grow:1;display:flex;flex-direction:column;overflow:auto;z-index:20}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{display:block;flex-shrink:0;position:absolute;z-index:100000;top:0;left:0;bottom:0;right:0;background:#fff;color:#1e1e1e}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;z-index:90;width:auto}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-right:1px solid #e0e0e0}}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar{border-left:1px solid #e0e0e0}}.interface-interface-skeleton__header{flex-shrink:0;height:auto;border-bottom:1px solid #e0e0e0;z-index:30;color:#1e1e1e}.interface-interface-skeleton__footer{height:auto;flex-shrink:0;border-top:1px solid #e0e0e0;color:#1e1e1e;position:absolute;bottom:0;right:0;width:100%;background-color:#fff;z-index:90;display:none}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{z-index:30;display:flex;background:#fff;height:24px;align-items:center;font-size:13px;padding:0 18px}.interface-interface-skeleton__actions{z-index:100000;position:fixed!important;top:-9999em;bottom:auto;right:auto;left:0;width:280px;color:#1e1e1e}.interface-interface-skeleton__actions:focus{top:auto;bottom:0}.interface-more-menu-dropdown{margin-right:-4px}.interface-more-menu-dropdown .components-button{width:auto;padding:0 2px}@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{width:auto;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}.interface-pinned-items .components-button:not(:first-child){display:none}@media (min-width:600px){.interface-pinned-items .components-button:not(:first-child){display:flex}}.interface-pinned-items .components-button{margin-right:4px}.interface-pinned-items .components-button svg{max-width:24px;max-height:24px}.edit-post-header{height:60px;background:#fff;display:flex;flex-wrap:wrap;align-items:center;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__settings{display:inline-flex;align-items:center;flex-wrap:wrap;padding-left:4px}@media (min-width:600px){.edit-post-header__settings{padding-left:16px}}.edit-post-header__settings .components-button.components-button,.edit-post-header__settings .editor-post-saved-state{margin-left:4px}@media (min-width:600px){.edit-post-header__settings .components-button.components-button,.edit-post-header__settings .editor-post-saved-state{margin-left:12px}}.edit-post-header__settings .components-button.is-tertiary,.edit-post-header__settings .editor-post-saved-state{padding:0 6px}.edit-post-header__settings .edit-post-more-menu .components-button,.edit-post-header__settings .interface-pinned-items .components-button{margin-left:0}.edit-post-header-preview__grouping-external{display:flex;position:relative;padding-bottom:0}.edit-post-header-preview__button-external{padding-right:8px;margin-left:auto;width:100%;display:flex;justify-content:flex-start}.edit-post-header-preview__button-external svg{margin-right:auto}.edit-post-post-preview-dropdown .components-popover__content>div{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:initial}.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{box-shadow:0 0 0 1.5px var(--wp-admin-theme-color);background-color:initial}.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-right:8px;padding-left: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-right:12px;padding-left:12px}}.edit-post-header__dropdown .components-dropdown-menu__toggle,.show-icon-labels .edit-post-header .components-dropdown-menu__toggle,.show-icon-labels.interface-pinned-items .components-dropdown-menu__toggle{margin-right:8px;padding-right:8px;padding-left:8px}@media (min-width:600px){.edit-post-header__dropdown .components-dropdown-menu__toggle,.show-icon-labels .edit-post-header .components-dropdown-menu__toggle,.show-icon-labels.interface-pinned-items .components-dropdown-menu__toggle{margin-right:12px;padding-right:12px;padding-left:12px}}.edit-post-header__dropdown .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle:after,.edit-post-header__dropdown .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels .edit-post-header .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle:after,.show-icon-labels .edit-post-header .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels.interface-pinned-items .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle:after,.show-icon-labels.interface-pinned-items .editor-post-save-draft.editor-post-save-draft:after{content:none}@media (min-width:600px){.edit-post-header__dropdown .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels .edit-post-header .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels.interface-pinned-items .editor-post-save-draft.editor-post-save-draft:after{content:attr(aria-label)}}.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{margin:0;padding:6px 40px 6px 6px;width:14.625rem;text-align:right;justify-content:flex-start}.show-icon-labels.interface-pinned-items{padding:6px 12px 12px;margin:0 -12px;border-bottom:1px solid #ccc;display:block}.show-icon-labels.interface-pinned-items>.components-button.has-icon{margin:0;padding:6px 8px 6px 6px;width:14.625rem;justify-content:flex-start}.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}.edit-post-fullscreen-mode-close.has-icon{display:none}@media (min-width:782px){.edit-post-fullscreen-mode-close.has-icon{display:flex;align-items:center;align-self:stretch;border:none;background:#1e1e1e;color:#fff;border-radius:0;height:61px;width:60px;position:relative;margin-bottom:-1px}.edit-post-fullscreen-mode-close.has-icon:active{color:#fff}.edit-post-fullscreen-mode-close.has-icon:focus{box-shadow:none}.edit-post-fullscreen-mode-close.has-icon:before{transition:box-shadow .1s ease;content:"";display:block;position:absolute;top:9px;left:9px;bottom:9px;right:9px;border-radius:4px;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #1e1e1e}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-fullscreen-mode-close.has-icon:before{transition-duration:0s;transition-delay:0s}}@media (min-width:782px){.edit-post-fullscreen-mode-close.has-icon:hover:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #757575}}@media (min-width:782px){.edit-post-fullscreen-mode-close.has-icon: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_site-icon{width:36px;border-radius:2px}.edit-post-header-toolbar{display:inline-flex;flex-grow:1;align-items:center;border:none}.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-duration:0s;transition-delay: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-duration:0s;transition-delay: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{display:inline-flex;align-items:center;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{margin-left:8px;min-width:32px;width:32px;height:32px;padding:0}.show-icon-labels .edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-icon{height:36px}.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-text.has-icon{width:auto;padding:0 8px}.show-icon-labels .edit-post-header-toolbar__left>*+*{margin-right:8px}.edit-post-more-menu{margin-right:-4px}.edit-post-more-menu .components-button{width:auto;padding:0 2px}@media (min-width:600px){.edit-post-more-menu{margin-right:0}.edit-post-more-menu .components-button{padding:0 4px}}.edit-post-more-menu__content .components-popover__content{min-width:280px}@media (min-width:480px){.edit-post-more-menu__content .components-popover__content{width:auto;max-width:480px}}.edit-post-more-menu__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.edit-post-more-menu__content{z-index:99998}.edit-post-template-top-area{display:flex;flex-direction:column;align-content:space-between;width:100%;align-items:center}.edit-post-template-top-area .edit-post-template-post-title,.edit-post-template-top-area .edit-post-template-title{padding:0;text-decoration:none;height:auto}.edit-post-template-top-area .edit-post-template-post-title:before,.edit-post-template-top-area .edit-post-template-title:before{height:100%}.edit-post-template-top-area .edit-post-template-post-title.has-icon svg,.edit-post-template-top-area .edit-post-template-title.has-icon svg{order:1;margin-left:0}.edit-post-template-top-area .edit-post-template-title{color:#1e1e1e}.edit-post-template-top-area .edit-post-template-post-title{margin-top:4px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.edit-post-template-top-area .edit-post-template-post-title:before{right:0;left:0}@media (min-width:1080px){.edit-post-template-top-area .edit-post-template-post-title{max-width:none}}.edit-post-template-top-area__popover .components-popover__content{min-width:280px}.edit-post-template-top-area__second-menu-group{margin-right:-12px;margin-left:-12px;padding:12px 12px 0;border-top:1px solid #ddd}.edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button{display:flex;justify-content:center}.edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button .components-menu-item__item{margin-left:0}.edit-post-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-post-keyboard-shortcut-help-modal__main-shortcuts .edit-post-keyboard-shortcut-help-modal__shortcut-list{margin-top:-25px}.edit-post-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-post-keyboard-shortcut-help-modal__shortcut{display:flex;align-items:baseline;padding:.6rem 0;border-top:1px solid #ddd;margin-bottom: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;margin:0;flex-basis:auto}.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination{display:block;background:none;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{padding:.25rem .5rem;border-radius:8%;margin:0 .2rem}.edit-post-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 .2rem 0 0}.edit-post-layout__metaboxes{flex-shrink:0}.edit-post-layout__metaboxes:not(:empty){border-top:1px solid #ddd;padding:10px 0;clear:both}.edit-post-layout__metaboxes:not(:empty) .edit-post-meta-boxes-area{margin:auto 20px}.edit-post-layout .components-editor-notices__snackbar{position:fixed;left:0;bottom:40px;padding-right:16px;padding-left:16px;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{position:fixed;z-index:100001;top:46px;bottom:0;left:0;right:0;overflow:auto}@media (min-width:782px){.edit-post-layout .editor-post-publish-panel{z-index:99998;top:32px;right:auto;width:281px;border-right:1px solid #ddd;transform:translateX(-100%);animation:edit-post-post-publish-panel__slide-in-animation .1s forwards}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-layout .editor-post-publish-panel{animation-duration:1ms;animation-delay:0s}}@media (min-width:782px){body.is-fullscreen-mode .edit-post-layout .editor-post-publish-panel{top:0}}@media (min-width:782px){[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{z-index:100000;position:fixed!important;top:-9999em;bottom:auto;right:auto;left:0;width:280px;background-color:#fff;border:1px dotted #ddd;height:auto!important;padding:24px;display:flex;justify-content:center}.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,.interface-interface-skeleton__actions:focus-within .edit-post-layout__toggle-sidebar-panel,.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 .edit-post-layout__toggle-sidebar-panel{top:auto;bottom:0}.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{border:1px solid #ddd;border-width:1px 0;box-shadow:32px 0 0 0 #fff,-32px 0 0 0 #fff;padding:8px;background-color:#fff;text-align:center;font-style:italic;position:sticky;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__category{margin:0 0 24px}.edit-post-block-manager__category-title{position:sticky;top:0;padding:16px 0;background-color:#fff;z-index:1}.edit-post-block-manager__category-title .components-checkbox-control__label{font-weight:600}.edit-post-block-manager__show-all{margin-left:8px}.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__category-title .components-base-control__field,.edit-post-block-manager__checklist-item .components-base-control__field{align-items:center;display:flex;margin:0}.edit-post-block-manager__checklist-item{margin-bottom:0;padding-right:16px}.components-modal__content .edit-post-block-manager__checklist-item.components-checkbox-control__input-container{margin:0 8px}.edit-post-block-manager__checklist-item .components-checkbox-control__label{display:flex;align-items:center;justify-content:space-between;flex-grow:1;padding:8px 0}.edit-post-block-manager__checklist-item .block-editor-block-icon{margin-left:10px;fill:#1e1e1e}.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:initial}.edit-post-meta-boxes-area input,.edit-post-meta-boxes-area textarea{box-sizing:border-box}.edit-post-meta-boxes-area #poststuff{margin:0 auto;padding-top:0;min-width:auto}.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:15px;position:relative;width:100%}.edit-post-meta-boxes-area .postbox{border:0;color:inherit;margin-bottom:0}.edit-post-meta-boxes-area .postbox>.inside{border-bottom:1px solid #ddd;color:inherit;padding:0 14px 14px;margin:0}.edit-post-meta-boxes-area .postbox .handlediv{height:44px;width:44px}.edit-post-meta-boxes-area.is-loading:before{position:absolute;top:0;right:0;left:0;bottom:0;content:"";background:transparent;z-index:1}.edit-post-meta-boxes-area .components-spinner{position:absolute;top:10px;left:20px;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}@media (min-width:600px){.edit-post-preferences-modal{width:calc(100% - 32px);height:calc(100% - 120px)}}@media (min-width:782px){.edit-post-preferences-modal{width:750px}}@media (min-width:960px){.edit-post-preferences-modal{height:70%}}@media (max-width:781px){.edit-post-preferences-modal .components-modal__content{padding:0}.edit-post-preferences-modal .components-modal__content:before{content:none}.edit-post-preferences-modal .components-navigator-provider{height:100%}}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs{position:absolute;top:84px;right:16px;width:160px}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{border-radius:2px;font-weight:400}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{background:#f0f0f0;box-shadow:none;font-weight:500}.edit-post-preferences-modal .edit-post-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)}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tab-content{padding-right:24px;margin-right:160px}.edit-post-preferences-modal__section{margin:0 0 2.5rem}.edit-post-preferences-modal__section:last-child{margin:0}.edit-post-preferences-modal__section-title{font-size:.9rem;font-weight:600;margin-top:0}.edit-post-preferences-modal__option .components-base-control .components-base-control__field{align-items:center;display:flex;margin-bottom:0}.edit-post-preferences-modal__option .components-base-control .components-base-control__field>label{flex-grow:1;padding:.6rem 10px .6rem 0}.edit-post-preferences-modal__custom-fields-confirmation-button,.edit-post-preferences-modal__custom-fields-confirmation-message{margin:0 48px .6rem 0}@media (min-width:782px){.edit-post-preferences-modal__custom-fields-confirmation-button,.edit-post-preferences-modal__custom-fields-confirmation-message{margin-right:38px}}@media (min-width:600px){.edit-post-preferences-modal__custom-fields-confirmation-button,.edit-post-preferences-modal__custom-fields-confirmation-message{max-width:300px}}.edit-post-preferences-modal .components-base-control__help{margin:-8px 58px 8px 0;font-size:12px;font-style:normal;color:#757575}.edit-post-preferences-modal .edit-post-preferences-modal__section-description{margin:-8px 0 8px;font-size:12px;font-style:normal;color:#757575}.edit-post-editor__inserter-panel,.edit-post-editor__list-view-panel{height:100%;display:flex;flex-direction:column}.edit-post-editor__list-view-panel{min-width:350px}.edit-post-editor__inserter-panel-header{padding-top:8px;padding-left:8px;display:flex;justify-content:flex-end}@media (min-width:782px){.edit-post-editor__inserter-panel-header{display:none}}.edit-post-editor__inserter-panel-content,.edit-post-editor__list-view-panel-content{height:calc(100% - 44px)}@media (min-width:782px){.edit-post-editor__inserter-panel-content{height:100%}}.edit-post-editor__list-view-panel-header{align-items:center;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;height:48px;padding-right:16px;padding-left:4px}.edit-post-editor__list-view-panel-content{overflow-y:auto;padding:8px 6px}.components-panel__header.edit-post-sidebar__panel-tabs{justify-content:flex-start;padding-right:0;padding-left:16px;border-top:0;margin-top: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;margin:0 auto 0 0;padding:0;min-width:24px;height:24px}@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{padding:0;height:48px}.editor-post-last-revision__title.components-button{padding:16px}.editor-post-author__select{margin:-5px 0;width:100%}@supports (position:sticky){.editor-post-author__select{width:auto}}.edit-post-post-link__link-post-name{font-weight:600}.edit-post-post-link__preview-label{font-weight:400;margin:0}.edit-post-post-link__link{text-align:right;word-wrap:break-word;display:block}.edit-post-post-link__preview-link-container{direction:ltr}.edit-post-post-schedule{width:100%;position:relative;justify-content:left}.edit-post-post-schedule span{display:block;width:45%}.components-button.edit-post-post-schedule__toggle{text-align:left}.edit-post-post-schedule__dialog .components-popover__content>div{padding:0}.editor-post-slug__input{margin:-5px 0;padding:2px}.edit-post-post-status .edit-post-post-publish-dropdown__switch-to-draft{margin-top:15px;width:100%;text-align:center}.edit-post-post-visibility{width:100%;justify-content:left}.edit-post-post-visibility span{display:block;width:45%}@media (min-width:782px){.edit-post-post-visibility__dialog .components-popover__content{width:257px}}.edit-post-post-visibility__dialog-legend{font-weight:600}.edit-post-post-visibility__choice{margin:10px 0}.edit-post-post-visibility__dialog-label,.edit-post-post-visibility__dialog-radio{vertical-align:top}.edit-post-post-visibility__dialog-password-input{width:calc(100% - 20px);margin-right:20px}.edit-post-post-visibility__dialog-info{color:#757575;padding-right:20px;font-style:italic;margin:4px 0 0;line-height:1.4}.components-button.edit-post-sidebar__panel-tab{border-radius:0;height:48px;background:transparent;border:none;box-shadow:none;cursor:pointer;display:inline-block;padding:3px 15px;margin-right:0;font-weight:500}.components-button.edit-post-sidebar__panel-tab:after{content:attr(data-label);display:block;font-weight:600;height:0;overflow:hidden;speak:none;visibility:hidden}.components-button.edit-post-sidebar__panel-tab.is-active{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) transparent,inset 0 -4px 0 0 var(--wp-admin-theme-color);position:relative;z-index:1}.components-button.edit-post-sidebar__panel-tab.is-active:before{content:"";position:absolute;top:0;bottom:1px;left:0;right:0;border-bottom:4px solid transparent}.components-button.edit-post-sidebar__panel-tab:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);position:relative;z-index:1}.components-button.edit-post-sidebar__panel-tab.is-active:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 -4px 0 0 var(--wp-admin-theme-color)}@media (min-width:782px){.edit-post-template__modal .components-base-control{width:320px}}.edit-post-template__modal .components-modal__header{border-bottom:none}.edit-post-template__modal .components-modal__content:before{margin-bottom:4px}.edit-post-template__modal-actions{margin-top:12px}.edit-post-template-modal__tip{padding:16px 24px;background:#f0f0f0;border-radius:2px}@media (min-width:782px){.edit-post-template-modal__tip{width:240px}}.edit-post-template__actions button:not(:last-child){margin-left:8px}h2.edit-post-template-summary__title{line-height:24px;margin:0 0 4px;font-weight:500}.edit-post-text-editor{position:relative;width:100%;background-color:#fff;flex-grow:1}.edit-post-text-editor .editor-post-title{max-width:none;line-height:1.4;font-family:Menlo,Consolas,monaco,monospace;font-size:2.5em;font-weight:400;border:1px solid #949494;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{width:100%;padding:0 12px 12px;max-width:1080px;margin-right:auto;margin-left:auto}@media (min-width:960px){.edit-post-text-editor__body{padding:0 24px 24px}}.edit-post-text-editor__toolbar{position:sticky;z-index:1;top:0;right:0;left:0;display:flex;background:hsla(0,0%,100%,.8);padding:4px 12px}@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{line-height:36px;margin:0 0 0 auto;font-size:13px;color:#1e1e1e}.edit-post-text-editor__toolbar .components-button svg{order:1}.edit-post-visual-editor{position:relative;display:flex;flex-flow:column;background-color:#2f2f2f;flex:1 0 auto}.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-top:4rem;margin-bottom:var(--wp--style--block-gap)}.edit-post-visual-editor__post-title-wrapper .editor-post-title{margin-right:auto;margin-left:auto}.edit-post-visual-editor__exit-template-mode{position:absolute;top:8px;right:8px;color:#fff}.edit-post-visual-editor__exit-template-mode:active:not([aria-disabled=true]),.edit-post-visual-editor__exit-template-mode:focus:not([aria-disabled=true]),.edit-post-visual-editor__exit-template-mode:hover{color:#f0f0f0}.edit-post-visual-editor__content-area{width:100%;height:100%;position:relative;display:flex;flex-grow:1}.edit-post-welcome-guide{width:312px}.edit-post-welcome-guide__image{background:#00a0d2;margin:0 0 16px}.edit-post-welcome-guide__image>img{display:block;max-width:100%;-o-object-fit:cover;object-fit:cover}.edit-post-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{font-size:13px;line-height:1.4;margin:0 0 24px;padding:0 32px}.edit-post-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}@keyframes edit-post__fade-in-animation{0%{opacity:0}to{opacity:1}}body.block-editor-page,html.wp-toolbar{background:#fff}body.block-editor-page #wpcontent{padding-right:0}body.block-editor-page #wpbody-content{padding-bottom:0}body.block-editor-page #wpbody-content>div:not(.block-editor):not(#screen-meta),body.block-editor-page #wpfooter{display:none}body.block-editor-page .a11y-speak-region{right:-1px;top:-1px}body.block-editor-page ul#adminmenu>li.current>a.current:after,body.block-editor-page ul#adminmenu a.wp-has-current-submenu:after{border-left-color:#fff}body.block-editor-page .media-frame select.attachment-filters:last-of-type{width:auto;max-width:100%}.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,.edit-post-visual-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,.edit-post-visual-editor *,.edit-post-visual-editor :after,.edit-post-visual-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{position:absolute;top:0;left:0;bottom:0;right:0;min-height:calc(100vh - 46px)}}@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{max-width:100%;height:auto}.block-editor__container iframe{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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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-post/style.css b/wp-includes/css/dist/edit-post/style.css index a0788fd8f1..fdb79e5be6 100644 --- a/wp-includes/css/dist/edit-post/style.css +++ b/wp-includes/css/dist/edit-post/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -113,6 +122,12 @@ } } +@media (min-width: 782px) { + .components-panel__header + .interface-complementary-area-header { + margin-top: 0; + } +} + .interface-complementary-area { background: #fff; color: #1e1e1e; @@ -148,12 +163,18 @@ .interface-complementary-area p { margin-top: 0; } -.interface-complementary-area h2, -.interface-complementary-area h3 { +.interface-complementary-area h2 { font-size: 13px; color: #1e1e1e; margin-bottom: 1.5em; } +.interface-complementary-area h3 { + font-size: 11px; + text-transform: uppercase; + font-weight: 500; + color: #1e1e1e; + margin-bottom: 1.5em; +} .interface-complementary-area hr { border-top: none; border-bottom: 1px solid #f0f0f0; @@ -374,6 +395,39 @@ body.is-fullscreen-mode .interface-interface-skeleton { bottom: 0; } +.interface-more-menu-dropdown { + margin-left: -4px; +} +.interface-more-menu-dropdown .components-button { + width: auto; + padding: 0 2px; +} +@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 { + width: auto; + 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; } @@ -592,7 +646,7 @@ body.is-fullscreen-mode .interface-interface-skeleton { .edit-post-header__dropdown .components-button.editor-history__undo, .edit-post-header__dropdown .components-button.editor-history__redo, .edit-post-header__dropdown .table-of-contents .components-button, -.edit-post-header__dropdown .components-button.block-editor-block-navigation { +.edit-post-header__dropdown .components-button.block-editor-list-view { margin: 0; padding: 6px 6px 6px 40px; width: 14.625rem; @@ -635,7 +689,7 @@ body.is-fullscreen-mode .interface-interface-skeleton { align-items: center; align-self: stretch; border: none; - background: #23282e; + background: #1e1e1e; color: #fff; border-radius: 0; height: 61px; @@ -659,7 +713,7 @@ body.is-fullscreen-mode .interface-interface-skeleton { bottom: 9px; left: 9px; border-radius: 4px; - box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) #23282e; + box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) #1e1e1e; } } @media (min-width: 782px) and (prefers-reduced-motion: reduce) { @@ -713,11 +767,11 @@ body.is-fullscreen-mode .interface-interface-skeleton { .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-block-navigation { +.edit-post-header-toolbar .block-editor-list-view { display: none; } @media (min-width: 600px) { - .edit-post-header-toolbar .block-editor-block-navigation { + .edit-post-header-toolbar .block-editor-list-view { display: flex; } } @@ -1073,126 +1127,93 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar { bottom: 0; } -@media (min-width: 600px) { - .edit-post-manage-blocks-modal { - height: calc(100% - 60px - 60px); - } -} - -.edit-post-manage-blocks-modal .components-modal__content { - padding-bottom: 0; - display: flex; - flex-direction: column; -} - -.edit-post-manage-blocks-modal .components-modal__header { - flex-shrink: 0; - margin-bottom: 0; -} - -.edit-post-manage-blocks-modal__content { - display: flex; - flex-direction: column; - flex: 0 1 100%; - min-height: 0; -} - -.edit-post-manage-blocks-modal__no-results { +.edit-post-block-manager__no-results { font-style: italic; padding: 24px 0; text-align: center; } -.edit-post-manage-blocks-modal__search { +.edit-post-block-manager__search { margin: 16px 0; } -.edit-post-manage-blocks-modal__search .components-base-control__field { - margin-bottom: 0; -} -.edit-post-manage-blocks-modal__search .components-base-control__label { - margin-top: -4px; -} -.edit-post-manage-blocks-modal__search input[type=search].components-text-control__input { + +.edit-post-block-manager__disabled-blocks-count { + border: 1px solid #ddd; + border-width: 1px 0; + box-shadow: -32px 0 0 0 #fff, 32px 0 0 0 #fff; padding: 8px; - border-radius: 2px; + background-color: #fff; + text-align: center; + font-style: italic; + position: sticky; + 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-manage-blocks-modal__disabled-blocks-count { - border-top: 1px solid #ddd; - margin-left: -24px; - margin-right: -24px; - padding-top: 0.6rem; - padding-bottom: 0.6rem; - padding-left: 24px; - padding-right: 24px; - background-color: #f0f0f0; +.edit-post-block-manager__category { + margin: 0 0 24px 0; } -.edit-post-manage-blocks-modal__category { - margin: 0 0 2rem 0; -} - -.edit-post-manage-blocks-modal__category-title { +.edit-post-block-manager__category-title { position: sticky; top: 0; padding: 16px 0; background-color: #fff; z-index: 1; } -.edit-post-manage-blocks-modal__category-title .components-base-control__field { - margin-bottom: 0; -} -.edit-post-manage-blocks-modal__category-title .components-checkbox-control__label { - font-size: 0.9rem; +.edit-post-block-manager__category-title .components-checkbox-control__label { font-weight: 600; } -.edit-post-manage-blocks-modal__show-all { +.edit-post-block-manager__show-all { margin-right: 8px; } -.edit-post-manage-blocks-modal__checklist { +.edit-post-block-manager__checklist { margin-top: 0; } -.edit-post-manage-blocks-modal__checklist-item { - margin-bottom: 0; - padding-left: 16px; - border-top: 1px solid #ddd; -} -.edit-post-manage-blocks-modal__checklist-item:last-child { +.edit-post-block-manager__category-title, +.edit-post-block-manager__checklist-item { border-bottom: 1px solid #ddd; } -.edit-post-manage-blocks-modal__checklist-item .components-base-control__field { +.edit-post-block-manager__category-title .components-base-control__field, +.edit-post-block-manager__checklist-item .components-base-control__field { align-items: center; display: flex; margin: 0; } -.components-modal__content .edit-post-manage-blocks-modal__checklist-item.components-checkbox-control__input-container { + +.edit-post-block-manager__checklist-item { + margin-bottom: 0; + padding-left: 16px; +} +.components-modal__content .edit-post-block-manager__checklist-item.components-checkbox-control__input-container { margin: 0 8px; } -.edit-post-manage-blocks-modal__checklist-item .components-checkbox-control__label { +.edit-post-block-manager__checklist-item .components-checkbox-control__label { display: flex; align-items: center; justify-content: space-between; flex-grow: 1; - padding: 0.6rem 0 0.6rem 10px; + padding: 8px 0; } -.edit-post-manage-blocks-modal__checklist-item .block-editor-block-icon { +.edit-post-block-manager__checklist-item .block-editor-block-icon { margin-right: 10px; fill: #1e1e1e; } -.edit-post-manage-blocks-modal__results { - height: 100%; - overflow: auto; - margin-left: -32px; - margin-right: -32px; - padding-left: 32px; - padding-right: 32px; +.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; /** @@ -1279,68 +1300,37 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar { clear: both; } -.edit-post-preferences-modal { - min-width: 360px; - width: 100%; +@media (min-width: 600px) { + .edit-post-preferences-modal { + width: calc(100% - 32px); + height: calc(100% - 120px); + } } @media (min-width: 782px) { .edit-post-preferences-modal { - width: auto; + width: 750px; } } -@media (min-width: 600px) { +@media (min-width: 960px) { .edit-post-preferences-modal { - height: calc(100% - 60px - 60px); + height: 70%; } } -.edit-post-preferences-modal .components-navigation { - background-color: #fff; - margin: -8px; - padding: 8px; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu { - margin: 0; - color: #1e1e1e; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item { - color: #1e1e1e; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item > button { - color: inherit; - padding: 3px 16px; - height: 48px; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item > button:focus { - background: #f0f0f0; - font-weight: 500; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item > button:hover { - color: var(--wp-admin-theme-color); -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item .components-toggle-control__label { - color: inherit; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__menu-title-heading { - color: inherit; - border-bottom: 1px solid #ddd; - padding-left: 0; - padding-right: 0; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__back-button { - color: inherit; - padding-left: 0; -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__back-button:hover { - color: var(--wp-admin-theme-color); -} -.edit-post-preferences-modal .components-navigation .components-navigation__menu .edit-post-preferences-modal__custom-fields-confirmation-button { - width: auto; -} -.edit-post-preferences-modal .edit-post-preferences__tabs { - display: flex; - flex-direction: row; +@media (max-width: 781px) { + .edit-post-preferences-modal .components-modal__content { + padding: 0; + } + .edit-post-preferences-modal .components-modal__content::before { + content: none; + } + .edit-post-preferences-modal .components-navigator-provider { + height: 100%; + } } .edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs { + position: absolute; + top: 84px; + left: 16px; width: 160px; } .edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item { @@ -1356,15 +1346,19 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar { box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); } .edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tab-content { - width: 500px; padding-left: 24px; + margin-left: 160px; } .edit-post-preferences-modal__section { margin: 0 0 2.5rem 0; } +.edit-post-preferences-modal__section:last-child { + margin: 0; +} .edit-post-preferences-modal__section-title { font-size: 0.9rem; font-weight: 600; + margin-top: 0; } .edit-post-preferences-modal__option .components-base-control .components-base-control__field { align-items: center; @@ -1447,7 +1441,7 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar { .edit-post-editor__list-view-panel-content { overflow-y: auto; - padding: 8px; + padding: 8px 6px; } .components-panel__header.edit-post-sidebar__panel-tabs { @@ -1662,8 +1656,9 @@ body.is-fullscreen-mode .edit-post-layout .components-editor-notices__snackbar { } h2.edit-post-template-summary__title { - margin: 0; line-height: 24px; + margin: 0 0 4px; + font-weight: 500; } .edit-post-text-editor { @@ -1672,34 +1667,24 @@ h2.edit-post-template-summary__title { background-color: #fff; flex-grow: 1; } -.edit-post-text-editor .editor-post-title.editor-post-title__block { +.edit-post-text-editor .editor-post-title { max-width: none; line-height: 1.4; -} -.edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input.editor-post-title__input.editor-post-title__input { font-family: Menlo, Consolas, monaco, monospace; font-size: 2.5em; font-weight: normal; -} -.edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input { border: 1px solid #949494; - margin-bottom: -1px; padding: 16px; } @media (min-width: 600px) { - .edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input { + .edit-post-text-editor .editor-post-title { padding: 24px; } } -.edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input:focus { +.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); } -@media (min-width: 600px) { - .edit-post-text-editor .editor-post-title.editor-post-title__block { - padding: 0; - } -} .edit-post-text-editor__body { width: 100%; @@ -1750,7 +1735,7 @@ h2.edit-post-template-summary__title { display: flex; flex-flow: column; background-color: #2f2f2f; - flex: 1 1 auto; + flex: 1 0 auto; } .edit-post-visual-editor .components-button { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; @@ -1760,17 +1745,14 @@ h2.edit-post-template-summary__title { .edit-post-visual-editor .components-button.is-tertiary, .edit-post-visual-editor .components-button.has-icon { padding: 6px; } -@supports (position: sticky) { - .edit-post-visual-editor { - flex-basis: 100%; - } -} +.edit-post-visual-editor__post-title-wrapper { + margin-top: 4rem; + margin-bottom: var(--wp--style--block-gap); +} .edit-post-visual-editor__post-title-wrapper .editor-post-title { - margin-top: 2em; margin-left: auto; margin-right: auto; - margin-bottom: 0; } .edit-post-visual-editor__exit-template-mode { @@ -1788,6 +1770,7 @@ h2.edit-post-template-summary__title { height: 100%; position: relative; display: flex; + flex-grow: 1; } .edit-post-welcome-guide { @@ -1797,6 +1780,12 @@ h2.edit-post-template-summary__title { background: #00a0d2; margin: 0 0 16px; } +.edit-post-welcome-guide__image > img { + display: block; + max-width: 100%; + -o-object-fit: cover; + object-fit: cover; +} .edit-post-welcome-guide__heading { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 24px; @@ -1934,8 +1923,11 @@ body.block-editor-page .media-frame select.attachment-filters:last-of-type { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -1946,8 +1938,11 @@ body.admin-color-light { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -1958,8 +1953,11 @@ body.admin-color-modern { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -1970,8 +1968,11 @@ body.admin-color-blue { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -1982,8 +1983,11 @@ body.admin-color-coffee { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -1994,8 +1998,11 @@ body.admin-color-ectoplasm { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -2006,8 +2013,11 @@ body.admin-color-midnight { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -2018,8 +2028,11 @@ body.admin-color-ocean { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { diff --git a/wp-includes/css/dist/edit-post/style.min.css b/wp-includes/css/dist/edit-post/style.min.css index d895ac61b4..1e7248d491 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-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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}}.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{margin-top:0}.interface-complementary-area h2,.interface-complementary-area h3{font-size:13px;color:#1e1e1e;margin-bottom:1.5em}.interface-complementary-area hr{border-top:none;border-bottom:1px solid #f0f0f0;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{top:auto;right:10px;bottom:10px;left:auto}@media (min-width:782px){body.js.is-fullscreen-mode{margin-top:-32px;height:calc(100% + 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{display:flex;flex-direction:row;height:auto;max-height:100%;position:fixed;top:46px;right:0;bottom:0}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex-direction:column;flex:0 1 100%;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{flex-grow:1;display:flex;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{flex-grow:1;display:flex;flex-direction:column;overflow:auto;z-index:20}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{display:block;flex-shrink:0;position:absolute;z-index:100000;top:0;right:0;bottom:0;left:0;background:#fff;color:#1e1e1e}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;z-index:90;width:auto}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-left:1px solid #e0e0e0}}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar{border-right:1px solid #e0e0e0}}.interface-interface-skeleton__header{flex-shrink:0;height:auto;border-bottom:1px solid #e0e0e0;z-index:30;color:#1e1e1e}.interface-interface-skeleton__footer{height:auto;flex-shrink:0;border-top:1px solid #e0e0e0;color:#1e1e1e;position:absolute;bottom:0;left:0;width:100%;background-color:#fff;z-index:90;display:none}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{z-index:30;display:flex;background:#fff;height:24px;align-items:center;font-size:13px;padding:0 18px}.interface-interface-skeleton__actions{z-index:100000;position:fixed!important;top:-9999em;bottom:auto;left:auto;right:0;width:280px;color:#1e1e1e}.interface-interface-skeleton__actions:focus{top:auto;bottom:0}.interface-pinned-items{display:flex}.interface-pinned-items .components-button:not(:first-child){display:none}@media (min-width:600px){.interface-pinned-items .components-button:not(:first-child){display:flex}}.interface-pinned-items .components-button{margin-left:4px}.interface-pinned-items .components-button svg{max-width:24px;max-height:24px}.edit-post-header{height:60px;background:#fff;display:flex;flex-wrap:wrap;align-items:center;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__settings{display:inline-flex;align-items:center;flex-wrap:wrap;padding-right:4px}@media (min-width:600px){.edit-post-header__settings{padding-right:16px}}.edit-post-header__settings .components-button.components-button,.edit-post-header__settings .editor-post-saved-state{margin-right:4px}@media (min-width:600px){.edit-post-header__settings .components-button.components-button,.edit-post-header__settings .editor-post-saved-state{margin-right:12px}}.edit-post-header__settings .components-button.is-tertiary,.edit-post-header__settings .editor-post-saved-state{padding:0 6px}.edit-post-header__settings .edit-post-more-menu .components-button,.edit-post-header__settings .interface-pinned-items .components-button{margin-right:0}.edit-post-header-preview__grouping-external{display:flex;position:relative;padding-bottom:0}.edit-post-header-preview__button-external{padding-left:8px;margin-right:auto;width:100%;display:flex;justify-content:flex-start}.edit-post-header-preview__button-external svg{margin-left:auto}.edit-post-post-preview-dropdown .components-popover__content>div{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:initial}.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{box-shadow:0 0 0 1.5px var(--wp-admin-theme-color);background-color:initial}.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 .components-dropdown-menu__toggle,.show-icon-labels .edit-post-header .components-dropdown-menu__toggle,.show-icon-labels.interface-pinned-items .components-dropdown-menu__toggle{margin-left:8px;padding-left:8px;padding-right:8px}@media (min-width:600px){.edit-post-header__dropdown .components-dropdown-menu__toggle,.show-icon-labels .edit-post-header .components-dropdown-menu__toggle,.show-icon-labels.interface-pinned-items .components-dropdown-menu__toggle{margin-left:12px;padding-left:12px;padding-right:12px}}.edit-post-header__dropdown .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle:after,.edit-post-header__dropdown .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels .edit-post-header .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle:after,.show-icon-labels .edit-post-header .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels.interface-pinned-items .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle:after,.show-icon-labels.interface-pinned-items .editor-post-save-draft.editor-post-save-draft:after{content:none}@media (min-width:600px){.edit-post-header__dropdown .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels .edit-post-header .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels.interface-pinned-items .editor-post-save-draft.editor-post-save-draft:after{content:attr(aria-label)}}.edit-post-header__dropdown .components-button.block-editor-block-navigation,.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{margin:0;padding:6px 6px 6px 40px;width:14.625rem;text-align:left;justify-content:flex-start}.show-icon-labels.interface-pinned-items{padding:6px 12px 12px;margin:0 -12px;border-bottom:1px solid #ccc;display:block}.show-icon-labels.interface-pinned-items>.components-button.has-icon{margin:0;padding:6px 6px 6px 8px;width:14.625rem;justify-content:flex-start}.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}.edit-post-fullscreen-mode-close.has-icon{display:none}@media (min-width:782px){.edit-post-fullscreen-mode-close.has-icon{display:flex;align-items:center;align-self:stretch;border:none;background:#23282e;color:#fff;border-radius:0;height:61px;width:60px;position:relative;margin-bottom:-1px}.edit-post-fullscreen-mode-close.has-icon:active{color:#fff}.edit-post-fullscreen-mode-close.has-icon:focus{box-shadow:none}.edit-post-fullscreen-mode-close.has-icon:before{transition:box-shadow .1s ease;content:"";display:block;position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:4px;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #23282e}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-fullscreen-mode-close.has-icon:before{transition-duration:0s;transition-delay:0s}}@media (min-width:782px){.edit-post-fullscreen-mode-close.has-icon:hover:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #757575}}@media (min-width:782px){.edit-post-fullscreen-mode-close.has-icon: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_site-icon{width:36px;border-radius:2px}.edit-post-header-toolbar{display:inline-flex;flex-grow:1;align-items:center;border:none}.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-duration:0s;transition-delay: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-block-navigation{display:none}@media (min-width:600px){.edit-post-header-toolbar .block-editor-block-navigation{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-duration:0s;transition-delay: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{display:inline-flex;align-items:center;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{margin-right:8px;min-width:32px;width:32px;height:32px;padding:0}.show-icon-labels .edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-icon{height:36px}.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-text.has-icon{width:auto;padding:0 8px}.show-icon-labels .edit-post-header-toolbar__left>*+*{margin-left:8px}.edit-post-more-menu{margin-left:-4px}.edit-post-more-menu .components-button{width:auto;padding:0 2px}@media (min-width:600px){.edit-post-more-menu{margin-left:0}.edit-post-more-menu .components-button{padding:0 4px}}.edit-post-more-menu__content .components-popover__content{min-width:280px}@media (min-width:480px){.edit-post-more-menu__content .components-popover__content{width:auto;max-width:480px}}.edit-post-more-menu__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.edit-post-more-menu__content{z-index:99998}.edit-post-template-top-area{display:flex;flex-direction:column;align-content:space-between;width:100%;align-items:center}.edit-post-template-top-area .edit-post-template-post-title,.edit-post-template-top-area .edit-post-template-title{padding:0;text-decoration:none;height:auto}.edit-post-template-top-area .edit-post-template-post-title:before,.edit-post-template-top-area .edit-post-template-title:before{height:100%}.edit-post-template-top-area .edit-post-template-post-title.has-icon svg,.edit-post-template-top-area .edit-post-template-title.has-icon svg{order:1;margin-right:0}.edit-post-template-top-area .edit-post-template-title{color:#1e1e1e}.edit-post-template-top-area .edit-post-template-post-title{margin-top:4px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.edit-post-template-top-area .edit-post-template-post-title:before{left:0;right:0}@media (min-width:1080px){.edit-post-template-top-area .edit-post-template-post-title{max-width:none}}.edit-post-template-top-area__popover .components-popover__content{min-width:280px}.edit-post-template-top-area__second-menu-group{margin-left:-12px;margin-right:-12px;padding:12px 12px 0;border-top:1px solid #ddd}.edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button{display:flex;justify-content:center}.edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button .components-menu-item__item{margin-right:0}.edit-post-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-post-keyboard-shortcut-help-modal__main-shortcuts .edit-post-keyboard-shortcut-help-modal__shortcut-list{margin-top:-25px}.edit-post-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-post-keyboard-shortcut-help-modal__shortcut{display:flex;align-items:baseline;padding:.6rem 0;border-top:1px solid #ddd;margin-bottom: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;margin:0;flex-basis:auto}.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination{display:block;background:none;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{padding:.25rem .5rem;border-radius:8%;margin:0 .2rem}.edit-post-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 0 0 .2rem}.edit-post-layout__metaboxes{flex-shrink:0}.edit-post-layout__metaboxes:not(:empty){border-top:1px solid #ddd;padding:10px 0;clear:both}.edit-post-layout__metaboxes:not(:empty) .edit-post-meta-boxes-area{margin:auto 20px}.edit-post-layout .components-editor-notices__snackbar{position:fixed;right:0;bottom:40px;padding-left:16px;padding-right:16px;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{position:fixed;z-index:100001;top:46px;bottom:0;right:0;left:0;overflow:auto}@media (min-width:782px){.edit-post-layout .editor-post-publish-panel{z-index:99998;top:32px;left:auto;width:281px;border-left:1px solid #ddd;transform:translateX(100%);animation:edit-post-post-publish-panel__slide-in-animation .1s forwards}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-layout .editor-post-publish-panel{animation-duration:1ms;animation-delay:0s}}@media (min-width:782px){body.is-fullscreen-mode .edit-post-layout .editor-post-publish-panel{top:0}}@media (min-width:782px){[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{z-index:100000;position:fixed!important;top:-9999em;bottom:auto;left:auto;right:0;width:280px;background-color:#fff;border:1px dotted #ddd;height:auto!important;padding:24px;display:flex;justify-content:center}.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,.interface-interface-skeleton__actions:focus-within .edit-post-layout__toggle-sidebar-panel,.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 .edit-post-layout__toggle-sidebar-panel{top:auto;bottom:0}@media (min-width:600px){.edit-post-manage-blocks-modal{height:calc(100% - 120px)}}.edit-post-manage-blocks-modal .components-modal__content{padding-bottom:0;display:flex;flex-direction:column}.edit-post-manage-blocks-modal .components-modal__header{flex-shrink:0;margin-bottom:0}.edit-post-manage-blocks-modal__content{display:flex;flex-direction:column;flex:0 1 100%;min-height:0}.edit-post-manage-blocks-modal__no-results{font-style:italic;padding:24px 0;text-align:center}.edit-post-manage-blocks-modal__search{margin:16px 0}.edit-post-manage-blocks-modal__search .components-base-control__field{margin-bottom:0}.edit-post-manage-blocks-modal__search .components-base-control__label{margin-top:-4px}.edit-post-manage-blocks-modal__search input[type=search].components-text-control__input{padding:8px;border-radius:2px}.edit-post-manage-blocks-modal__disabled-blocks-count{border-top:1px solid #ddd;margin-left:-24px;margin-right:-24px;padding:.6rem 24px;background-color:#f0f0f0}.edit-post-manage-blocks-modal__category{margin:0 0 2rem}.edit-post-manage-blocks-modal__category-title{position:sticky;top:0;padding:16px 0;background-color:#fff;z-index:1}.edit-post-manage-blocks-modal__category-title .components-base-control__field{margin-bottom:0}.edit-post-manage-blocks-modal__category-title .components-checkbox-control__label{font-size:.9rem;font-weight:600}.edit-post-manage-blocks-modal__show-all{margin-right:8px}.edit-post-manage-blocks-modal__checklist{margin-top:0}.edit-post-manage-blocks-modal__checklist-item{margin-bottom:0;padding-left:16px;border-top:1px solid #ddd}.edit-post-manage-blocks-modal__checklist-item:last-child{border-bottom:1px solid #ddd}.edit-post-manage-blocks-modal__checklist-item .components-base-control__field{align-items:center;display:flex;margin:0}.components-modal__content .edit-post-manage-blocks-modal__checklist-item.components-checkbox-control__input-container{margin:0 8px}.edit-post-manage-blocks-modal__checklist-item .components-checkbox-control__label{display:flex;align-items:center;justify-content:space-between;flex-grow:1;padding:.6rem 0 .6rem 10px}.edit-post-manage-blocks-modal__checklist-item .block-editor-block-icon{margin-right:10px;fill:#1e1e1e}.edit-post-manage-blocks-modal__results{height:100%;overflow:auto;margin-left:-32px;margin-right:-32px;padding-left:32px;padding-right:32px;border-top:1px solid #ddd}.edit-post-meta-boxes-area{position:relative}.edit-post-meta-boxes-area .inside,.edit-post-meta-boxes-area__container{box-sizing:initial}.edit-post-meta-boxes-area input,.edit-post-meta-boxes-area textarea{box-sizing:border-box}.edit-post-meta-boxes-area #poststuff{margin:0 auto;padding-top:0;min-width:auto}.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:15px;position:relative;width:100%}.edit-post-meta-boxes-area .postbox{border:0;color:inherit;margin-bottom:0}.edit-post-meta-boxes-area .postbox>.inside{border-bottom:1px solid #ddd;color:inherit;padding:0 14px 14px;margin:0}.edit-post-meta-boxes-area .postbox .handlediv{height:44px;width:44px}.edit-post-meta-boxes-area.is-loading:before{position:absolute;top:0;left:0;right:0;bottom:0;content:"";background:transparent;z-index:1}.edit-post-meta-boxes-area .components-spinner{position:absolute;top:10px;right:20px;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-preferences-modal{min-width:360px;width:100%}@media (min-width:782px){.edit-post-preferences-modal{width:auto}}@media (min-width:600px){.edit-post-preferences-modal{height:calc(100% - 120px)}}.edit-post-preferences-modal .components-navigation{background-color:#fff;margin:-8px;padding:8px}.edit-post-preferences-modal .components-navigation .components-navigation__menu{margin:0;color:#1e1e1e}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item{color:#1e1e1e}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item>button{color:inherit;padding:3px 16px;height:48px}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item>button:focus{background:#f0f0f0;font-weight:500}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item>button:hover{color:var(--wp-admin-theme-color)}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__item .components-toggle-control__label{color:inherit}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__menu-title-heading{color:inherit;border-bottom:1px solid #ddd;padding-left:0;padding-right:0}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__back-button{color:inherit;padding-left:0}.edit-post-preferences-modal .components-navigation .components-navigation__menu .components-navigation__back-button:hover{color:var(--wp-admin-theme-color)}.edit-post-preferences-modal .components-navigation .components-navigation__menu .edit-post-preferences-modal__custom-fields-confirmation-button{width:auto}.edit-post-preferences-modal .edit-post-preferences__tabs{display:flex;flex-direction:row}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs{width:160px}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{border-radius:2px;font-weight:400}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{background:#f0f0f0;box-shadow:none;font-weight:500}.edit-post-preferences-modal .edit-post-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)}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tab-content{width:500px;padding-left:24px}.edit-post-preferences-modal__section{margin:0 0 2.5rem}.edit-post-preferences-modal__section-title{font-size:.9rem;font-weight:600}.edit-post-preferences-modal__option .components-base-control .components-base-control__field{align-items:center;display:flex;margin-bottom:0}.edit-post-preferences-modal__option .components-base-control .components-base-control__field>label{flex-grow:1;padding:.6rem 0 .6rem 10px}.edit-post-preferences-modal__custom-fields-confirmation-button,.edit-post-preferences-modal__custom-fields-confirmation-message{margin:0 0 .6rem 48px}@media (min-width:782px){.edit-post-preferences-modal__custom-fields-confirmation-button,.edit-post-preferences-modal__custom-fields-confirmation-message{margin-left:38px}}@media (min-width:600px){.edit-post-preferences-modal__custom-fields-confirmation-button,.edit-post-preferences-modal__custom-fields-confirmation-message{max-width:300px}}.edit-post-preferences-modal .components-base-control__help{margin:-8px 0 8px 58px;font-size:12px;font-style:normal;color:#757575}.edit-post-preferences-modal .edit-post-preferences-modal__section-description{margin:-8px 0 8px;font-size:12px;font-style:normal;color:#757575}.edit-post-editor__inserter-panel,.edit-post-editor__list-view-panel{height:100%;display:flex;flex-direction:column}.edit-post-editor__list-view-panel{min-width:350px}.edit-post-editor__inserter-panel-header{padding-top:8px;padding-right:8px;display:flex;justify-content:flex-end}@media (min-width:782px){.edit-post-editor__inserter-panel-header{display:none}}.edit-post-editor__inserter-panel-content,.edit-post-editor__list-view-panel-content{height:calc(100% - 44px)}@media (min-width:782px){.edit-post-editor__inserter-panel-content{height:100%}}.edit-post-editor__list-view-panel-header{align-items:center;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;height:48px;padding-left:16px;padding-right:4px}.edit-post-editor__list-view-panel-content{overflow-y:auto;padding:8px}.components-panel__header.edit-post-sidebar__panel-tabs{justify-content:flex-start;padding-left:0;padding-right:16px;border-top:0;margin-top: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;margin:0 0 0 auto;padding:0;min-width:24px;height:24px}@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{padding:0;height:48px}.editor-post-last-revision__title.components-button{padding:16px}.editor-post-author__select{margin:-5px 0;width:100%}@supports (position:sticky){.editor-post-author__select{width:auto}}.edit-post-post-link__link-post-name{font-weight:600}.edit-post-post-link__preview-label{font-weight:400;margin:0}.edit-post-post-link__link{text-align:left;word-wrap:break-word;display:block}.edit-post-post-link__preview-link-container{direction:ltr}.edit-post-post-schedule{width:100%;position:relative;justify-content:left}.edit-post-post-schedule span{display:block;width:45%}.components-button.edit-post-post-schedule__toggle{text-align:right}.edit-post-post-schedule__dialog .components-popover__content>div{padding:0}.editor-post-slug__input{margin:-5px 0;padding:2px}.edit-post-post-status .edit-post-post-publish-dropdown__switch-to-draft{margin-top:15px;width:100%;text-align:center}.edit-post-post-visibility{width:100%;justify-content:left}.edit-post-post-visibility span{display:block;width:45%}@media (min-width:782px){.edit-post-post-visibility__dialog .components-popover__content{width:257px}}.edit-post-post-visibility__dialog-legend{font-weight:600}.edit-post-post-visibility__choice{margin:10px 0}.edit-post-post-visibility__dialog-label,.edit-post-post-visibility__dialog-radio{vertical-align:top}.edit-post-post-visibility__dialog-password-input{width:calc(100% - 20px);margin-left:20px}.edit-post-post-visibility__dialog-info{color:#757575;padding-left:20px;font-style:italic;margin:4px 0 0;line-height:1.4}.components-button.edit-post-sidebar__panel-tab{border-radius:0;height:48px;background:transparent;border:none;box-shadow:none;cursor:pointer;display:inline-block;padding:3px 15px;margin-left:0;font-weight:500}.components-button.edit-post-sidebar__panel-tab:after{content:attr(data-label);display:block;font-weight:600;height:0;overflow:hidden;speak:none;visibility:hidden}.components-button.edit-post-sidebar__panel-tab.is-active{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) transparent,inset 0 -4px 0 0 var(--wp-admin-theme-color);position:relative;z-index:1}.components-button.edit-post-sidebar__panel-tab.is-active:before{content:"";position:absolute;top:0;bottom:1px;right:0;left:0;border-bottom:4px solid transparent}.components-button.edit-post-sidebar__panel-tab:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);position:relative;z-index:1}.components-button.edit-post-sidebar__panel-tab.is-active:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 -4px 0 0 var(--wp-admin-theme-color)}@media (min-width:782px){.edit-post-template__modal .components-base-control{width:320px}}.edit-post-template__modal .components-modal__header{border-bottom:none}.edit-post-template__modal .components-modal__content:before{margin-bottom:4px}.edit-post-template__modal-actions{margin-top:12px}.edit-post-template-modal__tip{padding:16px 24px;background:#f0f0f0;border-radius:2px}@media (min-width:782px){.edit-post-template-modal__tip{width:240px}}.edit-post-template__actions button:not(:last-child){margin-right:8px}h2.edit-post-template-summary__title{margin:0;line-height:24px}.edit-post-text-editor{position:relative;width:100%;background-color:#fff;flex-grow:1}.edit-post-text-editor .editor-post-title.editor-post-title__block{max-width:none;line-height:1.4}.edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input.editor-post-title__input.editor-post-title__input{font-family:Menlo,Consolas,monaco,monospace;font-size:2.5em;font-weight:400}.edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input{border:1px solid #949494;margin-bottom:-1px;padding:16px}@media (min-width:600px){.edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input{padding:24px}}.edit-post-text-editor .editor-post-title.editor-post-title__block .editor-post-title__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}@media (min-width:600px){.edit-post-text-editor .editor-post-title.editor-post-title__block{padding:0}}.edit-post-text-editor__body{width:100%;padding:0 12px 12px;max-width:1080px;margin-left:auto;margin-right:auto}@media (min-width:960px){.edit-post-text-editor__body{padding:0 24px 24px}}.edit-post-text-editor__toolbar{position:sticky;z-index:1;top:0;left:0;right:0;display:flex;background:hsla(0,0%,100%,.8);padding:4px 12px}@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{line-height:36px;margin:0 auto 0 0;font-size:13px;color:#1e1e1e}.edit-post-text-editor__toolbar .components-button svg{order:1}.edit-post-visual-editor{position:relative;display:flex;flex-flow:column;background-color:#2f2f2f;flex:1 1 auto}.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}@supports (position:sticky){.edit-post-visual-editor{flex-basis:100%}}.edit-post-visual-editor__post-title-wrapper .editor-post-title{margin:2em auto 0}.edit-post-visual-editor__exit-template-mode{position:absolute;top:8px;left:8px;color:#fff}.edit-post-visual-editor__exit-template-mode:active:not([aria-disabled=true]),.edit-post-visual-editor__exit-template-mode:focus:not([aria-disabled=true]),.edit-post-visual-editor__exit-template-mode:hover{color:#f0f0f0}.edit-post-visual-editor__content-area{width:100%;height:100%;position:relative;display:flex}.edit-post-welcome-guide{width:312px}.edit-post-welcome-guide__image{background:#00a0d2;margin:0 0 16px}.edit-post-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{font-size:13px;line-height:1.4;margin:0 0 24px;padding:0 32px}.edit-post-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}@keyframes edit-post__fade-in-animation{0%{opacity:0}to{opacity:1}}body.block-editor-page,html.wp-toolbar{background:#fff}body.block-editor-page #wpcontent{padding-left:0}body.block-editor-page #wpbody-content{padding-bottom:0}body.block-editor-page #wpbody-content>div:not(.block-editor):not(#screen-meta),body.block-editor-page #wpfooter{display:none}body.block-editor-page .a11y-speak-region{left:-1px;top:-1px}body.block-editor-page ul#adminmenu>li.current>a.current:after,body.block-editor-page ul#adminmenu a.wp-has-current-submenu:after{border-right-color:#fff}body.block-editor-page .media-frame select.attachment-filters:last-of-type{width:auto;max-width:100%}.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,.edit-post-visual-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,.edit-post-visual-editor *,.edit-post-visual-editor :after,.edit-post-visual-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{position:absolute;top:0;right:0;bottom:0;left:0;min-height:calc(100vh - 46px)}}@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{max-width:100%;height:auto}.block-editor__container iframe{width:100%}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-20:#006187;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#2145e6;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#07526c;--wp-admin-theme-color-darker-20:#064054;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#383330;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#46365d;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#dd382d;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#576e74;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#d97426;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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}@media (-webkit-min-device-pixel-ratio:2),(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}}@media (min-width:782px){.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{margin-top:0}.interface-complementary-area h2{font-size:13px;color:#1e1e1e;margin-bottom:1.5em}.interface-complementary-area h3{font-size:11px;text-transform:uppercase;font-weight:500;color:#1e1e1e;margin-bottom:1.5em}.interface-complementary-area hr{border-top:none;border-bottom:1px solid #f0f0f0;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{top:auto;right:10px;bottom:10px;left:auto}@media (min-width:782px){body.js.is-fullscreen-mode{margin-top:-32px;height:calc(100% + 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{display:flex;flex-direction:row;height:auto;max-height:100%;position:fixed;top:46px;right:0;bottom:0}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex-direction:column;flex:0 1 100%;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{flex-grow:1;display:flex;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{flex-grow:1;display:flex;flex-direction:column;overflow:auto;z-index:20}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{display:block;flex-shrink:0;position:absolute;z-index:100000;top:0;right:0;bottom:0;left:0;background:#fff;color:#1e1e1e}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;z-index:90;width:auto}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-left:1px solid #e0e0e0}}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar{border-right:1px solid #e0e0e0}}.interface-interface-skeleton__header{flex-shrink:0;height:auto;border-bottom:1px solid #e0e0e0;z-index:30;color:#1e1e1e}.interface-interface-skeleton__footer{height:auto;flex-shrink:0;border-top:1px solid #e0e0e0;color:#1e1e1e;position:absolute;bottom:0;left:0;width:100%;background-color:#fff;z-index:90;display:none}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{z-index:30;display:flex;background:#fff;height:24px;align-items:center;font-size:13px;padding:0 18px}.interface-interface-skeleton__actions{z-index:100000;position:fixed!important;top:-9999em;bottom:auto;left:auto;right:0;width:280px;color:#1e1e1e}.interface-interface-skeleton__actions:focus{top:auto;bottom:0}.interface-more-menu-dropdown{margin-left:-4px}.interface-more-menu-dropdown .components-button{width:auto;padding:0 2px}@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{width:auto;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}.interface-pinned-items .components-button:not(:first-child){display:none}@media (min-width:600px){.interface-pinned-items .components-button:not(:first-child){display:flex}}.interface-pinned-items .components-button{margin-left:4px}.interface-pinned-items .components-button svg{max-width:24px;max-height:24px}.edit-post-header{height:60px;background:#fff;display:flex;flex-wrap:wrap;align-items:center;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__settings{display:inline-flex;align-items:center;flex-wrap:wrap;padding-right:4px}@media (min-width:600px){.edit-post-header__settings{padding-right:16px}}.edit-post-header__settings .components-button.components-button,.edit-post-header__settings .editor-post-saved-state{margin-right:4px}@media (min-width:600px){.edit-post-header__settings .components-button.components-button,.edit-post-header__settings .editor-post-saved-state{margin-right:12px}}.edit-post-header__settings .components-button.is-tertiary,.edit-post-header__settings .editor-post-saved-state{padding:0 6px}.edit-post-header__settings .edit-post-more-menu .components-button,.edit-post-header__settings .interface-pinned-items .components-button{margin-right:0}.edit-post-header-preview__grouping-external{display:flex;position:relative;padding-bottom:0}.edit-post-header-preview__button-external{padding-left:8px;margin-right:auto;width:100%;display:flex;justify-content:flex-start}.edit-post-header-preview__button-external svg{margin-left:auto}.edit-post-post-preview-dropdown .components-popover__content>div{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:initial}.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{box-shadow:0 0 0 1.5px var(--wp-admin-theme-color);background-color:initial}.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 .components-dropdown-menu__toggle,.show-icon-labels .edit-post-header .components-dropdown-menu__toggle,.show-icon-labels.interface-pinned-items .components-dropdown-menu__toggle{margin-left:8px;padding-left:8px;padding-right:8px}@media (min-width:600px){.edit-post-header__dropdown .components-dropdown-menu__toggle,.show-icon-labels .edit-post-header .components-dropdown-menu__toggle,.show-icon-labels.interface-pinned-items .components-dropdown-menu__toggle{margin-left:12px;padding-left:12px;padding-right:12px}}.edit-post-header__dropdown .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle:after,.edit-post-header__dropdown .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels .edit-post-header .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle:after,.show-icon-labels .edit-post-header .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels.interface-pinned-items .edit-post-header-toolbar__inserter-toggle.edit-post-header-toolbar__inserter-toggle:after,.show-icon-labels.interface-pinned-items .editor-post-save-draft.editor-post-save-draft:after{content:none}@media (min-width:600px){.edit-post-header__dropdown .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels .edit-post-header .editor-post-save-draft.editor-post-save-draft:after,.show-icon-labels.interface-pinned-items .editor-post-save-draft.editor-post-save-draft:after{content:attr(aria-label)}}.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{margin:0;padding:6px 6px 6px 40px;width:14.625rem;text-align:left;justify-content:flex-start}.show-icon-labels.interface-pinned-items{padding:6px 12px 12px;margin:0 -12px;border-bottom:1px solid #ccc;display:block}.show-icon-labels.interface-pinned-items>.components-button.has-icon{margin:0;padding:6px 6px 6px 8px;width:14.625rem;justify-content:flex-start}.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}.edit-post-fullscreen-mode-close.has-icon{display:none}@media (min-width:782px){.edit-post-fullscreen-mode-close.has-icon{display:flex;align-items:center;align-self:stretch;border:none;background:#1e1e1e;color:#fff;border-radius:0;height:61px;width:60px;position:relative;margin-bottom:-1px}.edit-post-fullscreen-mode-close.has-icon:active{color:#fff}.edit-post-fullscreen-mode-close.has-icon:focus{box-shadow:none}.edit-post-fullscreen-mode-close.has-icon:before{transition:box-shadow .1s ease;content:"";display:block;position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:4px;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #1e1e1e}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-fullscreen-mode-close.has-icon:before{transition-duration:0s;transition-delay:0s}}@media (min-width:782px){.edit-post-fullscreen-mode-close.has-icon:hover:before{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) #757575}}@media (min-width:782px){.edit-post-fullscreen-mode-close.has-icon: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_site-icon{width:36px;border-radius:2px}.edit-post-header-toolbar{display:inline-flex;flex-grow:1;align-items:center;border:none}.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-duration:0s;transition-delay: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-duration:0s;transition-delay: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{display:inline-flex;align-items:center;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{margin-right:8px;min-width:32px;width:32px;height:32px;padding:0}.show-icon-labels .edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-icon{height:36px}.edit-post-header-toolbar .edit-post-header-toolbar__left>.edit-post-header-toolbar__inserter-toggle.has-text.has-icon{width:auto;padding:0 8px}.show-icon-labels .edit-post-header-toolbar__left>*+*{margin-left:8px}.edit-post-more-menu{margin-left:-4px}.edit-post-more-menu .components-button{width:auto;padding:0 2px}@media (min-width:600px){.edit-post-more-menu{margin-left:0}.edit-post-more-menu .components-button{padding:0 4px}}.edit-post-more-menu__content .components-popover__content{min-width:280px}@media (min-width:480px){.edit-post-more-menu__content .components-popover__content{width:auto;max-width:480px}}.edit-post-more-menu__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.edit-post-more-menu__content{z-index:99998}.edit-post-template-top-area{display:flex;flex-direction:column;align-content:space-between;width:100%;align-items:center}.edit-post-template-top-area .edit-post-template-post-title,.edit-post-template-top-area .edit-post-template-title{padding:0;text-decoration:none;height:auto}.edit-post-template-top-area .edit-post-template-post-title:before,.edit-post-template-top-area .edit-post-template-title:before{height:100%}.edit-post-template-top-area .edit-post-template-post-title.has-icon svg,.edit-post-template-top-area .edit-post-template-title.has-icon svg{order:1;margin-right:0}.edit-post-template-top-area .edit-post-template-title{color:#1e1e1e}.edit-post-template-top-area .edit-post-template-post-title{margin-top:4px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.edit-post-template-top-area .edit-post-template-post-title:before{left:0;right:0}@media (min-width:1080px){.edit-post-template-top-area .edit-post-template-post-title{max-width:none}}.edit-post-template-top-area__popover .components-popover__content{min-width:280px}.edit-post-template-top-area__second-menu-group{margin-left:-12px;margin-right:-12px;padding:12px 12px 0;border-top:1px solid #ddd}.edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button{display:flex;justify-content:center}.edit-post-template-top-area__second-menu-group .edit-post-template-top-area__delete-template-button .components-menu-item__item{margin-right:0}.edit-post-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-post-keyboard-shortcut-help-modal__main-shortcuts .edit-post-keyboard-shortcut-help-modal__shortcut-list{margin-top:-25px}.edit-post-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-post-keyboard-shortcut-help-modal__shortcut{display:flex;align-items:baseline;padding:.6rem 0;border-top:1px solid #ddd;margin-bottom: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;margin:0;flex-basis:auto}.edit-post-keyboard-shortcut-help-modal__shortcut-key-combination{display:block;background:none;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{padding:.25rem .5rem;border-radius:8%;margin:0 .2rem}.edit-post-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 0 0 .2rem}.edit-post-layout__metaboxes{flex-shrink:0}.edit-post-layout__metaboxes:not(:empty){border-top:1px solid #ddd;padding:10px 0;clear:both}.edit-post-layout__metaboxes:not(:empty) .edit-post-meta-boxes-area{margin:auto 20px}.edit-post-layout .components-editor-notices__snackbar{position:fixed;right:0;bottom:40px;padding-left:16px;padding-right:16px;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{position:fixed;z-index:100001;top:46px;bottom:0;right:0;left:0;overflow:auto}@media (min-width:782px){.edit-post-layout .editor-post-publish-panel{z-index:99998;top:32px;left:auto;width:281px;border-left:1px solid #ddd;transform:translateX(100%);animation:edit-post-post-publish-panel__slide-in-animation .1s forwards}}@media (min-width:782px) and (prefers-reduced-motion:reduce){.edit-post-layout .editor-post-publish-panel{animation-duration:1ms;animation-delay:0s}}@media (min-width:782px){body.is-fullscreen-mode .edit-post-layout .editor-post-publish-panel{top:0}}@media (min-width:782px){[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{z-index:100000;position:fixed!important;top:-9999em;bottom:auto;left:auto;right:0;width:280px;background-color:#fff;border:1px dotted #ddd;height:auto!important;padding:24px;display:flex;justify-content:center}.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,.interface-interface-skeleton__actions:focus-within .edit-post-layout__toggle-sidebar-panel,.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 .edit-post-layout__toggle-sidebar-panel{top:auto;bottom:0}.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{border:1px solid #ddd;border-width:1px 0;box-shadow:-32px 0 0 0 #fff,32px 0 0 0 #fff;padding:8px;background-color:#fff;text-align:center;font-style:italic;position:sticky;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__category{margin:0 0 24px}.edit-post-block-manager__category-title{position:sticky;top:0;padding:16px 0;background-color:#fff;z-index:1}.edit-post-block-manager__category-title .components-checkbox-control__label{font-weight:600}.edit-post-block-manager__show-all{margin-right:8px}.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__category-title .components-base-control__field,.edit-post-block-manager__checklist-item .components-base-control__field{align-items:center;display:flex;margin:0}.edit-post-block-manager__checklist-item{margin-bottom:0;padding-left:16px}.components-modal__content .edit-post-block-manager__checklist-item.components-checkbox-control__input-container{margin:0 8px}.edit-post-block-manager__checklist-item .components-checkbox-control__label{display:flex;align-items:center;justify-content:space-between;flex-grow:1;padding:8px 0}.edit-post-block-manager__checklist-item .block-editor-block-icon{margin-right:10px;fill:#1e1e1e}.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:initial}.edit-post-meta-boxes-area input,.edit-post-meta-boxes-area textarea{box-sizing:border-box}.edit-post-meta-boxes-area #poststuff{margin:0 auto;padding-top:0;min-width:auto}.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:15px;position:relative;width:100%}.edit-post-meta-boxes-area .postbox{border:0;color:inherit;margin-bottom:0}.edit-post-meta-boxes-area .postbox>.inside{border-bottom:1px solid #ddd;color:inherit;padding:0 14px 14px;margin:0}.edit-post-meta-boxes-area .postbox .handlediv{height:44px;width:44px}.edit-post-meta-boxes-area.is-loading:before{position:absolute;top:0;left:0;right:0;bottom:0;content:"";background:transparent;z-index:1}.edit-post-meta-boxes-area .components-spinner{position:absolute;top:10px;right:20px;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}@media (min-width:600px){.edit-post-preferences-modal{width:calc(100% - 32px);height:calc(100% - 120px)}}@media (min-width:782px){.edit-post-preferences-modal{width:750px}}@media (min-width:960px){.edit-post-preferences-modal{height:70%}}@media (max-width:781px){.edit-post-preferences-modal .components-modal__content{padding:0}.edit-post-preferences-modal .components-modal__content:before{content:none}.edit-post-preferences-modal .components-navigator-provider{height:100%}}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs{position:absolute;top:84px;left:16px;width:160px}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item{border-radius:2px;font-weight:400}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active{background:#f0f0f0;box-shadow:none;font-weight:500}.edit-post-preferences-modal .edit-post-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)}.edit-post-preferences-modal .edit-post-preferences__tabs .components-tab-panel__tab-content{padding-left:24px;margin-left:160px}.edit-post-preferences-modal__section{margin:0 0 2.5rem}.edit-post-preferences-modal__section:last-child{margin:0}.edit-post-preferences-modal__section-title{font-size:.9rem;font-weight:600;margin-top:0}.edit-post-preferences-modal__option .components-base-control .components-base-control__field{align-items:center;display:flex;margin-bottom:0}.edit-post-preferences-modal__option .components-base-control .components-base-control__field>label{flex-grow:1;padding:.6rem 0 .6rem 10px}.edit-post-preferences-modal__custom-fields-confirmation-button,.edit-post-preferences-modal__custom-fields-confirmation-message{margin:0 0 .6rem 48px}@media (min-width:782px){.edit-post-preferences-modal__custom-fields-confirmation-button,.edit-post-preferences-modal__custom-fields-confirmation-message{margin-left:38px}}@media (min-width:600px){.edit-post-preferences-modal__custom-fields-confirmation-button,.edit-post-preferences-modal__custom-fields-confirmation-message{max-width:300px}}.edit-post-preferences-modal .components-base-control__help{margin:-8px 0 8px 58px;font-size:12px;font-style:normal;color:#757575}.edit-post-preferences-modal .edit-post-preferences-modal__section-description{margin:-8px 0 8px;font-size:12px;font-style:normal;color:#757575}.edit-post-editor__inserter-panel,.edit-post-editor__list-view-panel{height:100%;display:flex;flex-direction:column}.edit-post-editor__list-view-panel{min-width:350px}.edit-post-editor__inserter-panel-header{padding-top:8px;padding-right:8px;display:flex;justify-content:flex-end}@media (min-width:782px){.edit-post-editor__inserter-panel-header{display:none}}.edit-post-editor__inserter-panel-content,.edit-post-editor__list-view-panel-content{height:calc(100% - 44px)}@media (min-width:782px){.edit-post-editor__inserter-panel-content{height:100%}}.edit-post-editor__list-view-panel-header{align-items:center;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;height:48px;padding-left:16px;padding-right:4px}.edit-post-editor__list-view-panel-content{overflow-y:auto;padding:8px 6px}.components-panel__header.edit-post-sidebar__panel-tabs{justify-content:flex-start;padding-left:0;padding-right:16px;border-top:0;margin-top: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;margin:0 0 0 auto;padding:0;min-width:24px;height:24px}@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{padding:0;height:48px}.editor-post-last-revision__title.components-button{padding:16px}.editor-post-author__select{margin:-5px 0;width:100%}@supports (position:sticky){.editor-post-author__select{width:auto}}.edit-post-post-link__link-post-name{font-weight:600}.edit-post-post-link__preview-label{font-weight:400;margin:0}.edit-post-post-link__link{text-align:left;word-wrap:break-word;display:block}.edit-post-post-link__preview-link-container{direction:ltr}.edit-post-post-schedule{width:100%;position:relative;justify-content:left}.edit-post-post-schedule span{display:block;width:45%}.components-button.edit-post-post-schedule__toggle{text-align:right}.edit-post-post-schedule__dialog .components-popover__content>div{padding:0}.editor-post-slug__input{margin:-5px 0;padding:2px}.edit-post-post-status .edit-post-post-publish-dropdown__switch-to-draft{margin-top:15px;width:100%;text-align:center}.edit-post-post-visibility{width:100%;justify-content:left}.edit-post-post-visibility span{display:block;width:45%}@media (min-width:782px){.edit-post-post-visibility__dialog .components-popover__content{width:257px}}.edit-post-post-visibility__dialog-legend{font-weight:600}.edit-post-post-visibility__choice{margin:10px 0}.edit-post-post-visibility__dialog-label,.edit-post-post-visibility__dialog-radio{vertical-align:top}.edit-post-post-visibility__dialog-password-input{width:calc(100% - 20px);margin-left:20px}.edit-post-post-visibility__dialog-info{color:#757575;padding-left:20px;font-style:italic;margin:4px 0 0;line-height:1.4}.components-button.edit-post-sidebar__panel-tab{border-radius:0;height:48px;background:transparent;border:none;box-shadow:none;cursor:pointer;display:inline-block;padding:3px 15px;margin-left:0;font-weight:500}.components-button.edit-post-sidebar__panel-tab:after{content:attr(data-label);display:block;font-weight:600;height:0;overflow:hidden;speak:none;visibility:hidden}.components-button.edit-post-sidebar__panel-tab.is-active{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) transparent,inset 0 -4px 0 0 var(--wp-admin-theme-color);position:relative;z-index:1}.components-button.edit-post-sidebar__panel-tab.is-active:before{content:"";position:absolute;top:0;bottom:1px;right:0;left:0;border-bottom:4px solid transparent}.components-button.edit-post-sidebar__panel-tab:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);position:relative;z-index:1}.components-button.edit-post-sidebar__panel-tab.is-active:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 -4px 0 0 var(--wp-admin-theme-color)}@media (min-width:782px){.edit-post-template__modal .components-base-control{width:320px}}.edit-post-template__modal .components-modal__header{border-bottom:none}.edit-post-template__modal .components-modal__content:before{margin-bottom:4px}.edit-post-template__modal-actions{margin-top:12px}.edit-post-template-modal__tip{padding:16px 24px;background:#f0f0f0;border-radius:2px}@media (min-width:782px){.edit-post-template-modal__tip{width:240px}}.edit-post-template__actions button:not(:last-child){margin-right:8px}h2.edit-post-template-summary__title{line-height:24px;margin:0 0 4px;font-weight:500}.edit-post-text-editor{position:relative;width:100%;background-color:#fff;flex-grow:1}.edit-post-text-editor .editor-post-title{max-width:none;line-height:1.4;font-family:Menlo,Consolas,monaco,monospace;font-size:2.5em;font-weight:400;border:1px solid #949494;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{width:100%;padding:0 12px 12px;max-width:1080px;margin-left:auto;margin-right:auto}@media (min-width:960px){.edit-post-text-editor__body{padding:0 24px 24px}}.edit-post-text-editor__toolbar{position:sticky;z-index:1;top:0;left:0;right:0;display:flex;background:hsla(0,0%,100%,.8);padding:4px 12px}@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{line-height:36px;margin:0 auto 0 0;font-size:13px;color:#1e1e1e}.edit-post-text-editor__toolbar .components-button svg{order:1}.edit-post-visual-editor{position:relative;display:flex;flex-flow:column;background-color:#2f2f2f;flex:1 0 auto}.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-top:4rem;margin-bottom:var(--wp--style--block-gap)}.edit-post-visual-editor__post-title-wrapper .editor-post-title{margin-left:auto;margin-right:auto}.edit-post-visual-editor__exit-template-mode{position:absolute;top:8px;left:8px;color:#fff}.edit-post-visual-editor__exit-template-mode:active:not([aria-disabled=true]),.edit-post-visual-editor__exit-template-mode:focus:not([aria-disabled=true]),.edit-post-visual-editor__exit-template-mode:hover{color:#f0f0f0}.edit-post-visual-editor__content-area{width:100%;height:100%;position:relative;display:flex;flex-grow:1}.edit-post-welcome-guide{width:312px}.edit-post-welcome-guide__image{background:#00a0d2;margin:0 0 16px}.edit-post-welcome-guide__image>img{display:block;max-width:100%;-o-object-fit:cover;object-fit:cover}.edit-post-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{font-size:13px;line-height:1.4;margin:0 0 24px;padding:0 32px}.edit-post-welcome-guide__inserter-icon{margin:0 4px;vertical-align:text-top}@keyframes edit-post__fade-in-animation{0%{opacity:0}to{opacity:1}}body.block-editor-page,html.wp-toolbar{background:#fff}body.block-editor-page #wpcontent{padding-left:0}body.block-editor-page #wpbody-content{padding-bottom:0}body.block-editor-page #wpbody-content>div:not(.block-editor):not(#screen-meta),body.block-editor-page #wpfooter{display:none}body.block-editor-page .a11y-speak-region{left:-1px;top:-1px}body.block-editor-page ul#adminmenu>li.current>a.current:after,body.block-editor-page ul#adminmenu a.wp-has-current-submenu:after{border-right-color:#fff}body.block-editor-page .media-frame select.attachment-filters:last-of-type{width:auto;max-width:100%}.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,.edit-post-visual-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,.edit-post-visual-editor *,.edit-post-visual-editor :after,.edit-post-visual-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{position:absolute;top:0;right:0;bottom:0;left:0;min-height:calc(100vh - 46px)}}@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{max-width:100%;height:auto}.block-editor__container iframe{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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 670a6a3ed4..617790012b 100644 --- a/wp-includes/css/dist/edit-widgets/style-rtl.css +++ b/wp-includes/css/dist/edit-widgets/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -113,6 +122,12 @@ } } +@media (min-width: 782px) { + .components-panel__header + .interface-complementary-area-header { + margin-top: 0; + } +} + .interface-complementary-area { background: #fff; color: #1e1e1e; @@ -148,12 +163,18 @@ .interface-complementary-area p { margin-top: 0; } -.interface-complementary-area h2, -.interface-complementary-area h3 { +.interface-complementary-area h2 { font-size: 13px; color: #1e1e1e; margin-bottom: 1.5em; } +.interface-complementary-area h3 { + font-size: 11px; + text-transform: uppercase; + font-weight: 500; + color: #1e1e1e; + margin-bottom: 1.5em; +} .interface-complementary-area hr { border-top: none; border-bottom: 1px solid #f0f0f0; @@ -374,6 +395,39 @@ body.is-fullscreen-mode .interface-interface-skeleton { bottom: 0; } +.interface-more-menu-dropdown { + margin-right: -4px; +} +.interface-more-menu-dropdown .components-button { + width: auto; + padding: 0 2px; +} +@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 { + width: auto; + 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; } @@ -492,23 +546,23 @@ body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .c .edit-widgets-header-toolbar { border: none; } -.edit-widgets-header-toolbar > .components-button.has-icon, -.edit-widgets-header-toolbar > .components-dropdown > .components-button.has-icon { +.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.is-pressed, -.edit-widgets-header-toolbar > .components-dropdown > .components-button.has-icon.is-pressed { +.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:focus:not(:disabled), -.edit-widgets-header-toolbar > .components-dropdown > .components-button.has-icon:focus:not(:disabled) { +.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::before, -.edit-widgets-header-toolbar > .components-dropdown > .components-button.has-icon::before { +.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; } @@ -525,6 +579,18 @@ body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .c .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 cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s; +} +@media (prefers-reduced-motion: reduce) { + .edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle svg { + transition-duration: 0s; + transition-delay: 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 0; @@ -780,6 +846,12 @@ body.is-fullscreen-mode .edit-widgets-notices__snackbar { background: #00a0d2; margin: 0 0 16px; } +.edit-widgets-welcome-guide__image > img { + display: block; + max-width: 100%; + -o-object-fit: cover; + 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; @@ -823,6 +895,29 @@ body.is-fullscreen-mode .edit-widgets-notices__snackbar { padding: 6px; } +.edit-widgets-editor__list-view-panel { + height: 100%; + display: flex; + flex-direction: column; + min-width: 350px; +} + +.edit-widgets-editor__list-view-panel-content { + height: calc(100% - 36px - 8px); + overflow-y: auto; + padding: 8px; +} + +.edit-widgets-editor__list-view-panel-header { + align-items: center; + border-bottom: 1px solid #ddd; + display: flex; + justify-content: space-between; + height: 48px; + padding-right: 16px; + padding-left: 4px; +} + html.wp-toolbar { background: #fff; } @@ -913,8 +1008,11 @@ body.widgets-php .media-frame select.attachment-filters:last-of-type { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -925,8 +1023,11 @@ body.admin-color-light { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -937,8 +1038,11 @@ body.admin-color-modern { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -949,8 +1053,11 @@ body.admin-color-blue { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -961,8 +1068,11 @@ body.admin-color-coffee { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -973,8 +1083,11 @@ body.admin-color-ectoplasm { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -985,8 +1098,11 @@ body.admin-color-midnight { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -997,8 +1113,11 @@ body.admin-color-ocean { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { 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 b6cbdbcd74..fb1c72cbf3 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-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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}}.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{margin-top:0}.interface-complementary-area h2,.interface-complementary-area h3{font-size:13px;color:#1e1e1e;margin-bottom:1.5em}.interface-complementary-area hr{border-top:none;border-bottom:1px solid #f0f0f0;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{top:auto;left:10px;bottom:10px;right:auto}@media (min-width:782px){body.js.is-fullscreen-mode{margin-top:-32px;height:calc(100% + 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{display:flex;flex-direction:row;height:auto;max-height:100%;position:fixed;top:46px;left:0;bottom:0}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex-direction:column;flex:0 1 100%;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{flex-grow:1;display:flex;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{flex-grow:1;display:flex;flex-direction:column;overflow:auto;z-index:20}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{display:block;flex-shrink:0;position:absolute;z-index:100000;top:0;left:0;bottom:0;right:0;background:#fff;color:#1e1e1e}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;z-index:90;width:auto}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-right:1px solid #e0e0e0}}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar{border-left:1px solid #e0e0e0}}.interface-interface-skeleton__header{flex-shrink:0;height:auto;border-bottom:1px solid #e0e0e0;z-index:30;color:#1e1e1e}.interface-interface-skeleton__footer{height:auto;flex-shrink:0;border-top:1px solid #e0e0e0;color:#1e1e1e;position:absolute;bottom:0;right:0;width:100%;background-color:#fff;z-index:90;display:none}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{z-index:30;display:flex;background:#fff;height:24px;align-items:center;font-size:13px;padding:0 18px}.interface-interface-skeleton__actions{z-index:100000;position:fixed!important;top:-9999em;bottom:auto;right:auto;left:0;width:280px;color:#1e1e1e}.interface-interface-skeleton__actions:focus{top:auto;bottom:0}.interface-pinned-items{display:flex}.interface-pinned-items .components-button:not(:first-child){display:none}@media (min-width:600px){.interface-pinned-items .components-button:not(:first-child){display:flex}}.interface-pinned-items .components-button{margin-right:4px}.interface-pinned-items .components-button svg{max-width:24px;max-height:24px}.wp-block[data-type="core/widget-area"]{max-width:700px;margin-right:auto;margin-left:auto}.wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0;height:48px;position:relative;z-index:1;background:#fff;transform:translateZ(0)}.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{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;padding:72px 16px 16px;min-height:32px}.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{max-width:780px;padding:20px;margin:60px auto auto;box-shadow:0 10px 10px rgba(0,0,0,.25)}.edit-widgets-header{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 16px;overflow:auto}@media (min-width:600px){.edit-widgets-header{overflow:visible}}.edit-widgets-header__navigable-toolbar-wrapper{display:flex;align-items:center;justify-content:center}.edit-widgets-header__title{font-size:20px;padding:0;margin:0 0 0 20px}.edit-widgets-header__actions{display:flex}.edit-widgets-header__actions .components-button{margin-left:4px}@media (min-width:600px){.edit-widgets-header__actions .components-button{margin-left:12px}}.edit-widgets-header__actions .edit-widgets-more-menu .components-button,.edit-widgets-header__actions .interface-pinned-items .components-button{margin-left:0}.edit-widgets-header-toolbar{border:none}.edit-widgets-header-toolbar>.components-button.has-icon,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon{height:36px;min-width:36px;padding:6px}.edit-widgets-header-toolbar>.components-button.has-icon.is-pressed,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.is-pressed{background:#1e1e1e}.edit-widgets-header-toolbar>.components-button.has-icon:focus:not(:disabled),.edit-widgets-header-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-widgets-header-toolbar>.components-button.has-icon:before,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon:before{display:none}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle{padding-right:8px;padding-left:8px}@media (min-width:600px){.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle{padding-right:12px;padding-left:12px}}.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle:after{content:none}.edit-widgets-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-widgets-keyboard-shortcut-help-modal__main-shortcuts .edit-widgets-keyboard-shortcut-help-modal__shortcut-list{margin-top:-25px}.edit-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-widgets-keyboard-shortcut-help-modal__shortcut{display:flex;align-items:baseline;padding:.6rem 0;border-top:1px solid #ddd;margin-bottom: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;margin:0;flex-basis:auto}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{display:block;background:none;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{padding:.25rem .5rem;border-radius:8%;margin:0 .2rem}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 .2rem 0 0}.edit-widgets-more-menu{margin-right:-4px}.edit-widgets-more-menu .components-button{width:auto;padding:0 2px}@media (min-width:600px){.edit-widgets-more-menu{margin-right:0}.edit-widgets-more-menu .components-button{padding:0 4px}}.edit-widgets-more-menu__content .components-popover__content{min-width:280px}@media (min-width:480px){.edit-widgets-more-menu__content .components-popover__content{width:auto;max-width:480px}}.edit-widgets-more-menu__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.edit-widgets-more-menu__content{z-index:99998}.components-panel__header.edit-widgets-sidebar__panel-tabs{justify-content:flex-start;padding-right:0;padding-left:4px;border-top:0;margin-top: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{border-radius:0;height:49px;background:transparent;border:none;box-shadow:none;cursor:pointer;display:inline-block;padding:3px 15px;margin-right:0;font-weight:400;color:#1e1e1e}.components-button.edit-widgets-sidebar__panel-tab:after{content:attr(data-label);display:block;font-weight:600;height:0;overflow:hidden;speak:none;visibility:hidden}.components-button.edit-widgets-sidebar__panel-tab.is-active{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) transparent,inset 0 -4px 0 0 var(--wp-admin-theme-color);font-weight:600;position:relative}.components-button.edit-widgets-sidebar__panel-tab.is-active:before{content:"";position:absolute;top:0;bottom:1px;left:0;right:0;border-bottom:4px solid transparent}.components-button.edit-widgets-sidebar__panel-tab:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-button.edit-widgets-sidebar__panel-tab.is-active:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 -4px 0 0 var(--wp-admin-theme-color)}.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{position:fixed;left:0;bottom:20px;padding-right:16px;padding-left:16px;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{box-sizing:border-box;margin:0;border-bottom:1px solid rgba(0,0,0,.2);padding:0 12px;min-height:60px}.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{height:100%;display:flex;flex-direction:column}.edit-widgets-layout__inserter-panel .block-editor-inserter__menu{overflow:hidden}.edit-widgets-layout__inserter-panel-header{padding-top:8px;padding-left:8px;display:flex;justify-content:flex-end}@media (min-width:782px){.edit-widgets-layout__inserter-panel-header{display:none}}.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__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{position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.edit-widgets-block-editor,.edit-widgets-block-editor .block-editor-writing-flow,.edit-widgets-block-editor .block-editor-writing-flow>div,.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}body.appearance_page_gutenberg-widgets,body.widgets-php,html.wp-toolbar{background:#fff}body.appearance_page_gutenberg-widgets #wpcontent,body.widgets-php #wpcontent{padding-right:0}body.appearance_page_gutenberg-widgets #wpbody-content,body.widgets-php #wpbody-content{padding-bottom:0}body.appearance_page_gutenberg-widgets #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.appearance_page_gutenberg-widgets #wpfooter,body.widgets-php #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.widgets-php #wpfooter{display:none}body.appearance_page_gutenberg-widgets .a11y-speak-region,body.widgets-php .a11y-speak-region{right:-1px;top:-1px}body.appearance_page_gutenberg-widgets ul#adminmenu>li.current>a.current:after,body.appearance_page_gutenberg-widgets ul#adminmenu a.wp-has-current-submenu:after,body.widgets-php ul#adminmenu>li.current>a.current:after,body.widgets-php ul#adminmenu a.wp-has-current-submenu:after{border-left-color:#fff}body.appearance_page_gutenberg-widgets .media-frame select.attachment-filters:last-of-type,body.widgets-php .media-frame select.attachment-filters:last-of-type{width:auto;max-width:100%}.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{position:absolute;top:0;left:0;bottom:0;right:0;min-height:calc(100vh - 46px)}}@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{max-width:700px;margin:auto}.edit-widgets-sidebar .components-button.interface-complementary-area__pin-unpin-item{display:none}.widgets-php .notice{display:none!important}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-20:#006187;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#2145e6;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#07526c;--wp-admin-theme-color-darker-20:#064054;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#383330;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#46365d;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#dd382d;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#576e74;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#d97426;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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}@media (-webkit-min-device-pixel-ratio:2),(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}}@media (min-width:782px){.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{margin-top:0}.interface-complementary-area h2{font-size:13px;color:#1e1e1e;margin-bottom:1.5em}.interface-complementary-area h3{font-size:11px;text-transform:uppercase;font-weight:500;color:#1e1e1e;margin-bottom:1.5em}.interface-complementary-area hr{border-top:none;border-bottom:1px solid #f0f0f0;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{top:auto;left:10px;bottom:10px;right:auto}@media (min-width:782px){body.js.is-fullscreen-mode{margin-top:-32px;height:calc(100% + 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{display:flex;flex-direction:row;height:auto;max-height:100%;position:fixed;top:46px;left:0;bottom:0}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex-direction:column;flex:0 1 100%;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{flex-grow:1;display:flex;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{flex-grow:1;display:flex;flex-direction:column;overflow:auto;z-index:20}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{display:block;flex-shrink:0;position:absolute;z-index:100000;top:0;left:0;bottom:0;right:0;background:#fff;color:#1e1e1e}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;z-index:90;width:auto}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-right:1px solid #e0e0e0}}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar{border-left:1px solid #e0e0e0}}.interface-interface-skeleton__header{flex-shrink:0;height:auto;border-bottom:1px solid #e0e0e0;z-index:30;color:#1e1e1e}.interface-interface-skeleton__footer{height:auto;flex-shrink:0;border-top:1px solid #e0e0e0;color:#1e1e1e;position:absolute;bottom:0;right:0;width:100%;background-color:#fff;z-index:90;display:none}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{z-index:30;display:flex;background:#fff;height:24px;align-items:center;font-size:13px;padding:0 18px}.interface-interface-skeleton__actions{z-index:100000;position:fixed!important;top:-9999em;bottom:auto;right:auto;left:0;width:280px;color:#1e1e1e}.interface-interface-skeleton__actions:focus{top:auto;bottom:0}.interface-more-menu-dropdown{margin-right:-4px}.interface-more-menu-dropdown .components-button{width:auto;padding:0 2px}@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{width:auto;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}.interface-pinned-items .components-button:not(:first-child){display:none}@media (min-width:600px){.interface-pinned-items .components-button:not(:first-child){display:flex}}.interface-pinned-items .components-button{margin-right:4px}.interface-pinned-items .components-button svg{max-width:24px;max-height:24px}.wp-block[data-type="core/widget-area"]{max-width:700px;margin-right:auto;margin-left:auto}.wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0;height:48px;position:relative;z-index:1;background:#fff;transform:translateZ(0)}.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{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;padding:72px 16px 16px;min-height:32px}.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{max-width:780px;padding:20px;margin:60px auto auto;box-shadow:0 10px 10px rgba(0,0,0,.25)}.edit-widgets-header{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 16px;overflow:auto}@media (min-width:600px){.edit-widgets-header{overflow:visible}}.edit-widgets-header__navigable-toolbar-wrapper{display:flex;align-items:center;justify-content:center}.edit-widgets-header__title{font-size:20px;padding:0;margin:0 0 0 20px}.edit-widgets-header__actions{display:flex}.edit-widgets-header__actions .components-button{margin-left:4px}@media (min-width:600px){.edit-widgets-header__actions .components-button{margin-left:12px}}.edit-widgets-header__actions .edit-widgets-more-menu .components-button,.edit-widgets-header__actions .interface-pinned-items .components-button{margin-left:0}.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-right:8px;padding-left:8px}@media (min-width:600px){.edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle{padding-right:12px;padding-left: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-duration:0s;transition-delay: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__main-shortcuts .edit-widgets-keyboard-shortcut-help-modal__shortcut-list{margin-top:-25px}.edit-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-widgets-keyboard-shortcut-help-modal__shortcut{display:flex;align-items:baseline;padding:.6rem 0;border-top:1px solid #ddd;margin-bottom: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;margin:0;flex-basis:auto}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{display:block;background:none;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{padding:.25rem .5rem;border-radius:8%;margin:0 .2rem}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 .2rem 0 0}.edit-widgets-more-menu{margin-right:-4px}.edit-widgets-more-menu .components-button{width:auto;padding:0 2px}@media (min-width:600px){.edit-widgets-more-menu{margin-right:0}.edit-widgets-more-menu .components-button{padding:0 4px}}.edit-widgets-more-menu__content .components-popover__content{min-width:280px}@media (min-width:480px){.edit-widgets-more-menu__content .components-popover__content{width:auto;max-width:480px}}.edit-widgets-more-menu__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.edit-widgets-more-menu__content{z-index:99998}.components-panel__header.edit-widgets-sidebar__panel-tabs{justify-content:flex-start;padding-right:0;padding-left:4px;border-top:0;margin-top: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{border-radius:0;height:49px;background:transparent;border:none;box-shadow:none;cursor:pointer;display:inline-block;padding:3px 15px;margin-right:0;font-weight:400;color:#1e1e1e}.components-button.edit-widgets-sidebar__panel-tab:after{content:attr(data-label);display:block;font-weight:600;height:0;overflow:hidden;speak:none;visibility:hidden}.components-button.edit-widgets-sidebar__panel-tab.is-active{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) transparent,inset 0 -4px 0 0 var(--wp-admin-theme-color);font-weight:600;position:relative}.components-button.edit-widgets-sidebar__panel-tab.is-active:before{content:"";position:absolute;top:0;bottom:1px;left:0;right:0;border-bottom:4px solid transparent}.components-button.edit-widgets-sidebar__panel-tab:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-button.edit-widgets-sidebar__panel-tab.is-active:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 -4px 0 0 var(--wp-admin-theme-color)}.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{position:fixed;left:0;bottom:20px;padding-right:16px;padding-left:16px;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{box-sizing:border-box;margin:0;border-bottom:1px solid rgba(0,0,0,.2);padding:0 12px;min-height:60px}.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{height:100%;display:flex;flex-direction:column}.edit-widgets-layout__inserter-panel .block-editor-inserter__menu{overflow:hidden}.edit-widgets-layout__inserter-panel-header{padding-top:8px;padding-left:8px;display:flex;justify-content:flex-end}@media (min-width:782px){.edit-widgets-layout__inserter-panel-header{display:none}}.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%;-o-object-fit:cover;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{position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.edit-widgets-block-editor,.edit-widgets-block-editor .block-editor-writing-flow,.edit-widgets-block-editor .block-editor-writing-flow>div,.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{height:100%;display:flex;flex-direction:column;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;justify-content:space-between;height:48px;padding-right:16px;padding-left:4px}body.appearance_page_gutenberg-widgets,body.widgets-php,html.wp-toolbar{background:#fff}body.appearance_page_gutenberg-widgets #wpcontent,body.widgets-php #wpcontent{padding-right:0}body.appearance_page_gutenberg-widgets #wpbody-content,body.widgets-php #wpbody-content{padding-bottom:0}body.appearance_page_gutenberg-widgets #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.appearance_page_gutenberg-widgets #wpfooter,body.widgets-php #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.widgets-php #wpfooter{display:none}body.appearance_page_gutenberg-widgets .a11y-speak-region,body.widgets-php .a11y-speak-region{right:-1px;top:-1px}body.appearance_page_gutenberg-widgets ul#adminmenu>li.current>a.current:after,body.appearance_page_gutenberg-widgets ul#adminmenu a.wp-has-current-submenu:after,body.widgets-php ul#adminmenu>li.current>a.current:after,body.widgets-php ul#adminmenu a.wp-has-current-submenu:after{border-left-color:#fff}body.appearance_page_gutenberg-widgets .media-frame select.attachment-filters:last-of-type,body.widgets-php .media-frame select.attachment-filters:last-of-type{width:auto;max-width:100%}.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{position:absolute;top:0;left:0;bottom:0;right:0;min-height:calc(100vh - 46px)}}@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{max-width:700px;margin:auto}.edit-widgets-sidebar .components-button.interface-complementary-area__pin-unpin-item{display:none}.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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 dc6e8595e0..0201589776 100644 --- a/wp-includes/css/dist/edit-widgets/style.css +++ b/wp-includes/css/dist/edit-widgets/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -113,6 +122,12 @@ } } +@media (min-width: 782px) { + .components-panel__header + .interface-complementary-area-header { + margin-top: 0; + } +} + .interface-complementary-area { background: #fff; color: #1e1e1e; @@ -148,12 +163,18 @@ .interface-complementary-area p { margin-top: 0; } -.interface-complementary-area h2, -.interface-complementary-area h3 { +.interface-complementary-area h2 { font-size: 13px; color: #1e1e1e; margin-bottom: 1.5em; } +.interface-complementary-area h3 { + font-size: 11px; + text-transform: uppercase; + font-weight: 500; + color: #1e1e1e; + margin-bottom: 1.5em; +} .interface-complementary-area hr { border-top: none; border-bottom: 1px solid #f0f0f0; @@ -374,6 +395,39 @@ body.is-fullscreen-mode .interface-interface-skeleton { bottom: 0; } +.interface-more-menu-dropdown { + margin-left: -4px; +} +.interface-more-menu-dropdown .components-button { + width: auto; + padding: 0 2px; +} +@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 { + width: auto; + 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; } @@ -492,23 +546,23 @@ body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .c .edit-widgets-header-toolbar { border: none; } -.edit-widgets-header-toolbar > .components-button.has-icon, -.edit-widgets-header-toolbar > .components-dropdown > .components-button.has-icon { +.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.is-pressed, -.edit-widgets-header-toolbar > .components-dropdown > .components-button.has-icon.is-pressed { +.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:focus:not(:disabled), -.edit-widgets-header-toolbar > .components-dropdown > .components-button.has-icon:focus:not(:disabled) { +.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::before, -.edit-widgets-header-toolbar > .components-dropdown > .components-button.has-icon::before { +.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; } @@ -525,6 +579,18 @@ body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .c .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 cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s; +} +@media (prefers-reduced-motion: reduce) { + .edit-widgets-header-toolbar__inserter-toggle.edit-widgets-header-toolbar__inserter-toggle svg { + transition-duration: 0s; + transition-delay: 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 0; @@ -780,6 +846,12 @@ body.is-fullscreen-mode .edit-widgets-notices__snackbar { background: #00a0d2; margin: 0 0 16px; } +.edit-widgets-welcome-guide__image > img { + display: block; + max-width: 100%; + -o-object-fit: cover; + 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; @@ -823,6 +895,29 @@ body.is-fullscreen-mode .edit-widgets-notices__snackbar { padding: 6px; } +.edit-widgets-editor__list-view-panel { + height: 100%; + display: flex; + flex-direction: column; + min-width: 350px; +} + +.edit-widgets-editor__list-view-panel-content { + height: calc(100% - 36px - 8px); + overflow-y: auto; + padding: 8px; +} + +.edit-widgets-editor__list-view-panel-header { + align-items: center; + border-bottom: 1px solid #ddd; + display: flex; + justify-content: space-between; + height: 48px; + padding-left: 16px; + padding-right: 4px; +} + html.wp-toolbar { background: #fff; } @@ -913,8 +1008,11 @@ body.widgets-php .media-frame select.attachment-filters:last-of-type { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -925,8 +1023,11 @@ body.admin-color-light { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -937,8 +1038,11 @@ body.admin-color-modern { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -949,8 +1053,11 @@ body.admin-color-blue { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -961,8 +1068,11 @@ body.admin-color-coffee { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -973,8 +1083,11 @@ body.admin-color-ectoplasm { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -985,8 +1098,11 @@ body.admin-color-midnight { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -997,8 +1113,11 @@ body.admin-color-ocean { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { diff --git a/wp-includes/css/dist/edit-widgets/style.min.css b/wp-includes/css/dist/edit-widgets/style.min.css index 3f1bea2572..1eb633902c 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-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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}}.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{margin-top:0}.interface-complementary-area h2,.interface-complementary-area h3{font-size:13px;color:#1e1e1e;margin-bottom:1.5em}.interface-complementary-area hr{border-top:none;border-bottom:1px solid #f0f0f0;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{top:auto;right:10px;bottom:10px;left:auto}@media (min-width:782px){body.js.is-fullscreen-mode{margin-top:-32px;height:calc(100% + 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{display:flex;flex-direction:row;height:auto;max-height:100%;position:fixed;top:46px;right:0;bottom:0}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex-direction:column;flex:0 1 100%;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{flex-grow:1;display:flex;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{flex-grow:1;display:flex;flex-direction:column;overflow:auto;z-index:20}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{display:block;flex-shrink:0;position:absolute;z-index:100000;top:0;right:0;bottom:0;left:0;background:#fff;color:#1e1e1e}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;z-index:90;width:auto}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-left:1px solid #e0e0e0}}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar{border-right:1px solid #e0e0e0}}.interface-interface-skeleton__header{flex-shrink:0;height:auto;border-bottom:1px solid #e0e0e0;z-index:30;color:#1e1e1e}.interface-interface-skeleton__footer{height:auto;flex-shrink:0;border-top:1px solid #e0e0e0;color:#1e1e1e;position:absolute;bottom:0;left:0;width:100%;background-color:#fff;z-index:90;display:none}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{z-index:30;display:flex;background:#fff;height:24px;align-items:center;font-size:13px;padding:0 18px}.interface-interface-skeleton__actions{z-index:100000;position:fixed!important;top:-9999em;bottom:auto;left:auto;right:0;width:280px;color:#1e1e1e}.interface-interface-skeleton__actions:focus{top:auto;bottom:0}.interface-pinned-items{display:flex}.interface-pinned-items .components-button:not(:first-child){display:none}@media (min-width:600px){.interface-pinned-items .components-button:not(:first-child){display:flex}}.interface-pinned-items .components-button{margin-left:4px}.interface-pinned-items .components-button svg{max-width:24px;max-height:24px}.wp-block[data-type="core/widget-area"]{max-width:700px;margin-left:auto;margin-right:auto}.wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0;height:48px;position:relative;z-index:1;background:#fff;transform:translateZ(0)}.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{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;padding:72px 16px 16px;min-height:32px}.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{max-width:780px;padding:20px;margin:60px auto auto;box-shadow:0 10px 10px rgba(0,0,0,.25)}.edit-widgets-header{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 16px;overflow:auto}@media (min-width:600px){.edit-widgets-header{overflow:visible}}.edit-widgets-header__navigable-toolbar-wrapper{display:flex;align-items:center;justify-content:center}.edit-widgets-header__title{font-size:20px;padding:0;margin:0 20px 0 0}.edit-widgets-header__actions{display:flex}.edit-widgets-header__actions .components-button{margin-right:4px}@media (min-width:600px){.edit-widgets-header__actions .components-button{margin-right:12px}}.edit-widgets-header__actions .edit-widgets-more-menu .components-button,.edit-widgets-header__actions .interface-pinned-items .components-button{margin-right:0}.edit-widgets-header-toolbar{border:none}.edit-widgets-header-toolbar>.components-button.has-icon,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon{height:36px;min-width:36px;padding:6px}.edit-widgets-header-toolbar>.components-button.has-icon.is-pressed,.edit-widgets-header-toolbar>.components-dropdown>.components-button.has-icon.is-pressed{background:#1e1e1e}.edit-widgets-header-toolbar>.components-button.has-icon:focus:not(:disabled),.edit-widgets-header-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-widgets-header-toolbar>.components-button.has-icon:before,.edit-widgets-header-toolbar>.components-dropdown>.components-button.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-keyboard-shortcut-help-modal__section{margin:0 0 2rem}.edit-widgets-keyboard-shortcut-help-modal__main-shortcuts .edit-widgets-keyboard-shortcut-help-modal__shortcut-list{margin-top:-25px}.edit-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-widgets-keyboard-shortcut-help-modal__shortcut{display:flex;align-items:baseline;padding:.6rem 0;border-top:1px solid #ddd;margin-bottom: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;margin:0;flex-basis:auto}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{display:block;background:none;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{padding:.25rem .5rem;border-radius:8%;margin:0 .2rem}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 0 0 .2rem}.edit-widgets-more-menu{margin-left:-4px}.edit-widgets-more-menu .components-button{width:auto;padding:0 2px}@media (min-width:600px){.edit-widgets-more-menu{margin-left:0}.edit-widgets-more-menu .components-button{padding:0 4px}}.edit-widgets-more-menu__content .components-popover__content{min-width:280px}@media (min-width:480px){.edit-widgets-more-menu__content .components-popover__content{width:auto;max-width:480px}}.edit-widgets-more-menu__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.edit-widgets-more-menu__content{z-index:99998}.components-panel__header.edit-widgets-sidebar__panel-tabs{justify-content:flex-start;padding-left:0;padding-right:4px;border-top:0;margin-top: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-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{border-radius:0;height:49px;background:transparent;border:none;box-shadow:none;cursor:pointer;display:inline-block;padding:3px 15px;margin-left:0;font-weight:400;color:#1e1e1e}.components-button.edit-widgets-sidebar__panel-tab:after{content:attr(data-label);display:block;font-weight:600;height:0;overflow:hidden;speak:none;visibility:hidden}.components-button.edit-widgets-sidebar__panel-tab.is-active{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) transparent,inset 0 -4px 0 0 var(--wp-admin-theme-color);font-weight:600;position:relative}.components-button.edit-widgets-sidebar__panel-tab.is-active:before{content:"";position:absolute;top:0;bottom:1px;right:0;left:0;border-bottom:4px solid transparent}.components-button.edit-widgets-sidebar__panel-tab:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-button.edit-widgets-sidebar__panel-tab.is-active:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 -4px 0 0 var(--wp-admin-theme-color)}.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{position:fixed;right:0;bottom:20px;padding-left:16px;padding-right:16px;left: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{box-sizing:border-box;margin:0;border-bottom:1px solid rgba(0,0,0,.2);padding:0 12px;min-height:60px}.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{height:100%;display:flex;flex-direction:column}.edit-widgets-layout__inserter-panel .block-editor-inserter__menu{overflow:hidden}.edit-widgets-layout__inserter-panel-header{padding-top:8px;padding-right:8px;display:flex;justify-content:flex-end}@media (min-width:782px){.edit-widgets-layout__inserter-panel-header{display:none}}.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__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{position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.edit-widgets-block-editor,.edit-widgets-block-editor .block-editor-writing-flow,.edit-widgets-block-editor .block-editor-writing-flow>div,.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}body.appearance_page_gutenberg-widgets,body.widgets-php,html.wp-toolbar{background:#fff}body.appearance_page_gutenberg-widgets #wpcontent,body.widgets-php #wpcontent{padding-left:0}body.appearance_page_gutenberg-widgets #wpbody-content,body.widgets-php #wpbody-content{padding-bottom:0}body.appearance_page_gutenberg-widgets #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.appearance_page_gutenberg-widgets #wpfooter,body.widgets-php #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.widgets-php #wpfooter{display:none}body.appearance_page_gutenberg-widgets .a11y-speak-region,body.widgets-php .a11y-speak-region{left:-1px;top:-1px}body.appearance_page_gutenberg-widgets ul#adminmenu>li.current>a.current:after,body.appearance_page_gutenberg-widgets ul#adminmenu a.wp-has-current-submenu:after,body.widgets-php ul#adminmenu>li.current>a.current:after,body.widgets-php ul#adminmenu a.wp-has-current-submenu:after{border-right-color:#fff}body.appearance_page_gutenberg-widgets .media-frame select.attachment-filters:last-of-type,body.widgets-php .media-frame select.attachment-filters:last-of-type{width:auto;max-width:100%}.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{position:absolute;top:0;right:0;bottom:0;left:0;min-height:calc(100vh - 46px)}}@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{max-width:700px;margin:auto}.edit-widgets-sidebar .components-button.interface-complementary-area__pin-unpin-item{display:none}.widgets-php .notice{display:none!important}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-20:#006187;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#2145e6;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#07526c;--wp-admin-theme-color-darker-20:#064054;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#383330;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#46365d;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#dd382d;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#576e74;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#d97426;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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}@media (-webkit-min-device-pixel-ratio:2),(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}}@media (min-width:782px){.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{margin-top:0}.interface-complementary-area h2{font-size:13px;color:#1e1e1e;margin-bottom:1.5em}.interface-complementary-area h3{font-size:11px;text-transform:uppercase;font-weight:500;color:#1e1e1e;margin-bottom:1.5em}.interface-complementary-area hr{border-top:none;border-bottom:1px solid #f0f0f0;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{top:auto;right:10px;bottom:10px;left:auto}@media (min-width:782px){body.js.is-fullscreen-mode{margin-top:-32px;height:calc(100% + 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{display:flex;flex-direction:row;height:auto;max-height:100%;position:fixed;top:46px;right:0;bottom:0}@media (min-width:783px){.interface-interface-skeleton{top:32px}.is-fullscreen-mode .interface-interface-skeleton{top:0}}.interface-interface-skeleton__editor{display:flex;flex-direction:column;flex:0 1 100%;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{flex-grow:1;display:flex;overflow:auto;overscroll-behavior-y:none}@media (min-width:782px){.has-footer .interface-interface-skeleton__body{padding-bottom:25px}}.interface-interface-skeleton__content{flex-grow:1;display:flex;flex-direction:column;overflow:auto;z-index:20}.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{display:block;flex-shrink:0;position:absolute;z-index:100000;top:0;right:0;bottom:0;left:0;background:#fff;color:#1e1e1e}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar,.interface-interface-skeleton__sidebar{position:relative!important;z-index:90;width:auto}}.interface-interface-skeleton__sidebar{overflow:auto}@media (min-width:782px){.interface-interface-skeleton__sidebar{border-left:1px solid #e0e0e0}}@media (min-width:782px){.interface-interface-skeleton__secondary-sidebar{border-right:1px solid #e0e0e0}}.interface-interface-skeleton__header{flex-shrink:0;height:auto;border-bottom:1px solid #e0e0e0;z-index:30;color:#1e1e1e}.interface-interface-skeleton__footer{height:auto;flex-shrink:0;border-top:1px solid #e0e0e0;color:#1e1e1e;position:absolute;bottom:0;left:0;width:100%;background-color:#fff;z-index:90;display:none}@media (min-width:782px){.interface-interface-skeleton__footer{display:flex}}.interface-interface-skeleton__footer .block-editor-block-breadcrumb{z-index:30;display:flex;background:#fff;height:24px;align-items:center;font-size:13px;padding:0 18px}.interface-interface-skeleton__actions{z-index:100000;position:fixed!important;top:-9999em;bottom:auto;left:auto;right:0;width:280px;color:#1e1e1e}.interface-interface-skeleton__actions:focus{top:auto;bottom:0}.interface-more-menu-dropdown{margin-left:-4px}.interface-more-menu-dropdown .components-button{width:auto;padding:0 2px}@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{width:auto;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}.interface-pinned-items .components-button:not(:first-child){display:none}@media (min-width:600px){.interface-pinned-items .components-button:not(:first-child){display:flex}}.interface-pinned-items .components-button{margin-left:4px}.interface-pinned-items .components-button svg{max-width:24px;max-height:24px}.wp-block[data-type="core/widget-area"]{max-width:700px;margin-left:auto;margin-right:auto}.wp-block[data-type="core/widget-area"] .components-panel__body>.components-panel__body-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0;height:48px;position:relative;z-index:1;background:#fff;transform:translateZ(0)}.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{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;padding:72px 16px 16px;min-height:32px}.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{max-width:780px;padding:20px;margin:60px auto auto;box-shadow:0 10px 10px rgba(0,0,0,.25)}.edit-widgets-header{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 16px;overflow:auto}@media (min-width:600px){.edit-widgets-header{overflow:visible}}.edit-widgets-header__navigable-toolbar-wrapper{display:flex;align-items:center;justify-content:center}.edit-widgets-header__title{font-size:20px;padding:0;margin:0 20px 0 0}.edit-widgets-header__actions{display:flex}.edit-widgets-header__actions .components-button{margin-right:4px}@media (min-width:600px){.edit-widgets-header__actions .components-button{margin-right:12px}}.edit-widgets-header__actions .edit-widgets-more-menu .components-button,.edit-widgets-header__actions .interface-pinned-items .components-button{margin-right:0}.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-duration:0s;transition-delay: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__main-shortcuts .edit-widgets-keyboard-shortcut-help-modal__shortcut-list{margin-top:-25px}.edit-widgets-keyboard-shortcut-help-modal__section-title{font-size:.9rem;font-weight:600}.edit-widgets-keyboard-shortcut-help-modal__shortcut{display:flex;align-items:baseline;padding:.6rem 0;border-top:1px solid #ddd;margin-bottom: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;margin:0;flex-basis:auto}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination{display:block;background:none;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{padding:.25rem .5rem;border-radius:8%;margin:0 .2rem}.edit-widgets-keyboard-shortcut-help-modal__shortcut-key:last-child{margin:0 0 0 .2rem}.edit-widgets-more-menu{margin-left:-4px}.edit-widgets-more-menu .components-button{width:auto;padding:0 2px}@media (min-width:600px){.edit-widgets-more-menu{margin-left:0}.edit-widgets-more-menu .components-button{padding:0 4px}}.edit-widgets-more-menu__content .components-popover__content{min-width:280px}@media (min-width:480px){.edit-widgets-more-menu__content .components-popover__content{width:auto;max-width:480px}}.edit-widgets-more-menu__content .components-popover__content .components-dropdown-menu__menu{padding:0}.components-popover.edit-widgets-more-menu__content{z-index:99998}.components-panel__header.edit-widgets-sidebar__panel-tabs{justify-content:flex-start;padding-left:0;padding-right:4px;border-top:0;margin-top: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-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{border-radius:0;height:49px;background:transparent;border:none;box-shadow:none;cursor:pointer;display:inline-block;padding:3px 15px;margin-left:0;font-weight:400;color:#1e1e1e}.components-button.edit-widgets-sidebar__panel-tab:after{content:attr(data-label);display:block;font-weight:600;height:0;overflow:hidden;speak:none;visibility:hidden}.components-button.edit-widgets-sidebar__panel-tab.is-active{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) transparent,inset 0 -4px 0 0 var(--wp-admin-theme-color);font-weight:600;position:relative}.components-button.edit-widgets-sidebar__panel-tab.is-active:before{content:"";position:absolute;top:0;bottom:1px;right:0;left:0;border-bottom:4px solid transparent}.components-button.edit-widgets-sidebar__panel-tab:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.components-button.edit-widgets-sidebar__panel-tab.is-active:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color),inset 0 -4px 0 0 var(--wp-admin-theme-color)}.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{position:fixed;right:0;bottom:20px;padding-left:16px;padding-right:16px;left: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{box-sizing:border-box;margin:0;border-bottom:1px solid rgba(0,0,0,.2);padding:0 12px;min-height:60px}.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{height:100%;display:flex;flex-direction:column}.edit-widgets-layout__inserter-panel .block-editor-inserter__menu{overflow:hidden}.edit-widgets-layout__inserter-panel-header{padding-top:8px;padding-right:8px;display:flex;justify-content:flex-end}@media (min-width:782px){.edit-widgets-layout__inserter-panel-header{display:none}}.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%;-o-object-fit:cover;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{position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.edit-widgets-block-editor,.edit-widgets-block-editor .block-editor-writing-flow,.edit-widgets-block-editor .block-editor-writing-flow>div,.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{height:100%;display:flex;flex-direction:column;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;justify-content:space-between;height:48px;padding-left:16px;padding-right:4px}body.appearance_page_gutenberg-widgets,body.widgets-php,html.wp-toolbar{background:#fff}body.appearance_page_gutenberg-widgets #wpcontent,body.widgets-php #wpcontent{padding-left:0}body.appearance_page_gutenberg-widgets #wpbody-content,body.widgets-php #wpbody-content{padding-bottom:0}body.appearance_page_gutenberg-widgets #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.appearance_page_gutenberg-widgets #wpfooter,body.widgets-php #wpbody-content>div:not(.blocks-widgets-container):not(#screen-meta),body.widgets-php #wpfooter{display:none}body.appearance_page_gutenberg-widgets .a11y-speak-region,body.widgets-php .a11y-speak-region{left:-1px;top:-1px}body.appearance_page_gutenberg-widgets ul#adminmenu>li.current>a.current:after,body.appearance_page_gutenberg-widgets ul#adminmenu a.wp-has-current-submenu:after,body.widgets-php ul#adminmenu>li.current>a.current:after,body.widgets-php ul#adminmenu a.wp-has-current-submenu:after{border-right-color:#fff}body.appearance_page_gutenberg-widgets .media-frame select.attachment-filters:last-of-type,body.widgets-php .media-frame select.attachment-filters:last-of-type{width:auto;max-width:100%}.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{position:absolute;top:0;right:0;bottom:0;left:0;min-height:calc(100vh - 46px)}}@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{max-width:700px;margin:auto}.edit-widgets-sidebar .components-button.interface-complementary-area__pin-unpin-item{display:none}.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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 e21ad221c1..5c00870787 100644 --- a/wp-includes/css/dist/editor/style-rtl.css +++ b/wp-includes/css/dist/editor/style-rtl.css @@ -41,6 +41,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -71,8 +77,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -372,6 +381,7 @@ } .editor-post-format__suggestion { + padding: 6px; text-align: left; font-size: 13px; } @@ -564,6 +574,7 @@ height: auto; justify-content: center; padding: 3px 10px 4px; + flex: 1; line-height: 1.6; text-align: center; white-space: normal; @@ -572,16 +583,32 @@ width: 100%; } -.post-publish-panel__postpublish-post-address { +.post-publish-panel__postpublish-post-address-container { + display: flex; + align-items: flex-end; margin-bottom: 16px; } -.post-publish-panel__postpublish-post-address input[readonly] { +.post-publish-panel__postpublish-post-address-container .components-base-control__field { + margin-bottom: 0; +} +.post-publish-panel__postpublish-post-address-container .post-publish-panel__postpublish-post-address { + flex: 1; +} +.post-publish-panel__postpublish-post-address-container input[readonly] { padding: 10px; background: #ddd; overflow: hidden; text-overflow: ellipsis; } +.post-publish-panel__postpublish-post-address__copy-button-wrap { + flex-shrink: 0; + margin-right: 8px; +} +.post-publish-panel__postpublish-post-address__copy-button-wrap .components-button { + height: 38px; +} + .post-publish-panel__postpublish-header { font-weight: 500; } @@ -594,6 +621,11 @@ color: #f0b849; } +@media screen and (max-width: 782px) { + .post-publish-panel__postpublish-post-address__button-wrap .components-button { + height: 40px; + } +} .editor-post-saved-state { display: flex; align-items: center; @@ -603,6 +635,10 @@ overflow: hidden; white-space: nowrap; } +.editor-post-saved-state.is-saving[aria-disabled=true], .editor-post-saved-state.is-saving[aria-disabled=true]:hover, .editor-post-saved-state.is-saved[aria-disabled=true], .editor-post-saved-state.is-saved[aria-disabled=true]:hover { + background: transparent; + color: #757575; +} .editor-post-saved-state svg { display: inline-block; flex: 0 0 auto; @@ -616,7 +652,7 @@ text-indent: inherit; } .editor-post-saved-state svg { - margin-left: 4px; + margin-left: 0; } } @@ -650,7 +686,6 @@ .editor-post-taxonomies__hierarchical-terms-input { margin-top: 8px; - width: 100%; } .editor-post-taxonomies__hierarchical-terms-filter { @@ -882,73 +917,17 @@ .editor-post-title { position: relative; } -.editor-post-title .editor-post-title__input { - display: block; - width: 100%; - margin: 0; - box-shadow: none; - background: transparent; - transition: border 0.1s ease-out, box-shadow 0.1s linear; - padding: 19px 0; - word-break: keep-all; - font-family: inherit; - color: inherit; - border: 1px solid transparent; - border-right-width: 0; - border-left-width: 0; - border-radius: 0; - outline: 1px solid transparent; - font-size: 2.44em; - font-weight: 800; - line-height: 1.4; -} -@media (prefers-reduced-motion: reduce) { - .editor-post-title .editor-post-title__input { - transition-duration: 0s; - transition-delay: 0s; - } -} -@media (min-width: 600px) { - .editor-post-title .editor-post-title__input { - border-width: 1px; - } -} -.editor-post-title .editor-post-title__input::-webkit-input-placeholder { - color: rgba(30, 30, 30, 0.62); -} -.editor-post-title .editor-post-title__input::-moz-placeholder { - color: rgba(30, 30, 30, 0.62); - opacity: 1; -} -.editor-post-title .editor-post-title__input:-ms-input-placeholder { - color: rgba(30, 30, 30, 0.62); -} -.is-dark-theme .editor-post-title .editor-post-title__input::-webkit-input-placeholder { - color: rgba(255, 255, 255, 0.65); -} -.is-dark-theme .editor-post-title .editor-post-title__input::-moz-placeholder { - opacity: 1; - color: rgba(255, 255, 255, 0.65); -} -.is-dark-theme .editor-post-title .editor-post-title__input:-ms-input-placeholder { - color: rgba(255, 255, 255, 0.65); -} -.editor-post-title .editor-post-title__input:focus { - border: 1px solid transparent; - outline: 1px solid transparent; - box-shadow: none; -} -.editor-post-title.is-focus-mode .editor-post-title__input { +.editor-post-title.is-focus-mode { opacity: 0.5; transition: opacity 0.1s linear; } @media (prefers-reduced-motion: reduce) { - .editor-post-title.is-focus-mode .editor-post-title__input { + .editor-post-title.is-focus-mode { transition-duration: 0s; transition-delay: 0s; } } -.editor-post-title.is-focus-mode .editor-post-title__input:focus { +.editor-post-title.is-focus-mode:focus { opacity: 1; } diff --git a/wp-includes/css/dist/editor/style-rtl.min.css b/wp-includes/css/dist/editor/style-rtl.min.css index dddff9c9f6..d56ef82c33 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-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.editor-autocompleters__user .editor-autocompleters__no-avatar:before{font:normal 20px/1 dashicons;content:"";margin-left:5px;vertical-align:middle}.editor-autocompleters__user .editor-autocompleters__user-avatar{margin-left:8px;flex-grow:0;flex-shrink:0;max-width:none;width:24px;height:24px}.editor-autocompleters__user .editor-autocompleters__user-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:200px;flex-shrink:0;flex-grow:1}.editor-autocompleters__user .editor-autocompleters__user-slug{margin-right:8px;color:#757575;white-space:nowrap;text-overflow:ellipsis;overflow:none;max-width:100px;flex-grow:0;flex-shrink:0}.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{cursor:pointer;background:none;border:none;display:flex;align-items:flex-start;margin:0 -1px 0 0;padding:2px 1px 2px 5px;color:#1e1e1e;text-align:right;border-radius:2px}.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;color:#1e1e1e;border-radius:3px;font-size:13px;padding:1px 6px;margin-left:4px}.is-invalid .document-outline__level{background:#f0b849}.document-outline__item-content{padding:1px 0}.components-editor-notices__dismissible,.components-editor-notices__pinned{position:relative;right:0;top:0;left:0;color:#1e1e1e}.components-editor-notices__dismissible .components-notice,.components-editor-notices__pinned .components-notice{box-sizing:border-box;margin:0;border-bottom:1px solid rgba(0,0,0,.2);padding:0 12px;min-height:60px}.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{background:#fff;position:fixed;z-index:100001;top:46px;bottom:0;left:0;right:0;overflow:auto;box-sizing:border-box}.entities-saved-states__panel *,.entities-saved-states__panel :after,.entities-saved-states__panel :before{box-sizing:inherit}.entities-saved-states__panel .entities-saved-states__find-entity{display:none}.entities-saved-states__panel .entities-saved-states__find-entity-small{display:block}@media (min-width:782px){.entities-saved-states__panel{top:32px;right:auto;width:280px;border-right:1px solid #ddd}body.is-fullscreen-mode .entities-saved-states__panel{top:0}.entities-saved-states__panel .entities-saved-states__find-entity{display:block}.entities-saved-states__panel .entities-saved-states__find-entity-small{display:none}}.entities-saved-states__panel .entities-saved-states__panel-header{background:#fff;padding-right:8px;padding-left:8px;height:61px;border-bottom:1px solid #ddd;display:flex;align-items:center;align-content:space-between}.entities-saved-states__panel .entities-saved-states__panel-header .editor-entities-saved-states__save-button{margin:auto}.entities-saved-states__panel .entities-saved-states__panel-header .components-button.has-icon{position:absolute;left:8px}.entities-saved-states__panel .entities-saved-states__text-prompt{padding:16px 16px 4px}.editor-error-boundary{max-width:780px;padding:20px;margin:60px auto auto;box-shadow:0 10px 10px rgba(0,0,0,.25)}.editor-page-attributes__order{width:100%}.editor-page-attributes__order .components-base-control__field{display:flex;justify-content:space-between;align-items:center}.editor-page-attributes__order input{width:66px}.editor-post-excerpt__textarea{width:100%;margin-bottom:10px}.editor-post-featured-image{padding:0}.editor-post-featured-image__container{margin-bottom:1em;position:relative}.editor-post-featured-image .components-spinner{position:absolute;top:50%;right:50%;margin-top:-9px;margin-right:-9px}.editor-post-featured-image .components-button+.components-button{display:block;margin-top:1em}.editor-post-featured-image .components-responsive-wrapper__content{max-width:100%;width:auto}.editor-post-featured-image__preview,.editor-post-featured-image__toggle{display:block;width:100%;padding:0;transition:all .1s ease-out;box-shadow:0 0 0 0 var(--wp-admin-theme-color)}@media (prefers-reduced-motion:reduce){.editor-post-featured-image__preview,.editor-post-featured-image__toggle{transition-duration:0s;transition-delay:0s}}.editor-post-featured-image__preview{height:auto}.editor-post-featured-image__preview:not(:disabled):not([aria-disabled=true]):focus{box-shadow:0 0 0 4px var(--wp-admin-theme-color)}.editor-post-featured-image__toggle{border-radius:2px;background-color:#f0f0f0;min-height:90px;line-height:20px;padding:8px 0;text-align:center}.editor-post-featured-image__toggle:hover{background:#ddd;color:#1e1e1e}.editor-post-format{flex-direction:column;align-items:stretch;width:100%}.editor-post-format__content{display:inline-flex;justify-content:space-between;align-items:center;width:100%}.editor-post-format__suggestion{text-align:left;font-size:13px}.editor-post-last-revision__title{width:100%;font-weight:600}.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{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);border-radius:0}.editor-post-locked-modal{height:auto;padding-left:10px;padding-right:10px;padding-top:10px;max-width:480px}.editor-post-locked-modal .components-modal__header{height:36px}.editor-post-locked-modal .components-modal__content{height:auto}.editor-post-locked-modal__buttons{margin-top:10px}.editor-post-locked-modal__buttons .components-button{margin-left:5px}.editor-post-locked-modal__avatar{float:right;margin:5px 5px 5px 15px}.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{background:#fff;padding-right:16px;padding-left:16px;height:61px;border-bottom:1px solid #ddd;display:flex;align-items:center;align-content:space-between}.editor-post-publish-panel__header .components-button{width:100%;justify-content:center}.editor-post-publish-panel__header .has-icon{margin-right:auto;width:auto}.components-site-card{display:flex;align-items:center;margin:16px 0}.components-site-icon{border:none;border-radius:2px;margin-left:12px;height:36px;width:36px}.components-site-name{display:block;font-size:14px}.components-site-home{display:block;color:#757575;font-size:12px}.editor-post-publish-panel__header-cancel-button,.editor-post-publish-panel__header-publish-button{flex-grow: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{display:inline-flex;align-items:center}.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-right:-16px;margin-left:-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{display:flex;align-content:space-between;flex-wrap:wrap;margin:-5px}.post-publish-panel__postpublish-buttons>*{flex-grow:1;margin:5px}.post-publish-panel__postpublish-buttons .components-button{height:auto;justify-content:center;padding:3px 10px 4px;line-height:1.6;text-align:center;white-space:normal}.post-publish-panel__postpublish-buttons .components-clipboard-button{width:100%}.post-publish-panel__postpublish-post-address{margin-bottom:16px}.post-publish-panel__postpublish-post-address input[readonly]{padding:10px;background:#ddd;overflow:hidden;text-overflow:ellipsis}.post-publish-panel__postpublish-header{font-weight:500}.post-publish-panel__postpublish-subheader{margin:0 0 8px}.post-publish-panel__tip{color:#f0b849}.editor-post-saved-state{display:flex;align-items:center;width:28px;padding:12px 4px;color:#757575;overflow:hidden;white-space:nowrap}.editor-post-saved-state svg{display:inline-block;flex:0 0 auto;fill:currentColor;margin-left:8px}@media (min-width:600px){.editor-post-saved-state{width:auto;padding:8px 12px;text-indent:inherit}.editor-post-saved-state svg{margin-left:4px}}.editor-post-taxonomies__hierarchical-terms-list{max-height:14em;overflow:auto;margin-right:-6px;padding-right:6px;margin-top:-6px;padding-top:6px}.editor-post-taxonomies__hierarchical-terms-choice{margin-bottom:8px}.editor-post-taxonomies__hierarchical-terms-subchoices{margin-top:8px;margin-right:16px}.components-button.editor-post-taxonomies__hierarchical-terms-add,.components-button.editor-post-taxonomies__hierarchical-terms-submit{margin-top:12px}.editor-post-taxonomies__hierarchical-terms-label{display:inline-block;margin-top:12px}.editor-post-taxonomies__hierarchical-terms-input{margin-top:8px;width:100%}.editor-post-taxonomies__hierarchical-terms-filter{margin-bottom:8px;width:100%}.editor-post-taxonomies__flat-term-most-used .editor-post-taxonomies__flat-term-most-used-label{font-weight:400;margin-bottom:12px}.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;display:block;margin:0;width:100%;box-shadow:none;resize:none;overflow:hidden;font-family:Menlo,Consolas,monaco,monospace;line-height:2.4;min-height:200px;transition:border .1s ease-out,box-shadow .1s linear;padding:16px;font-size:16px!important}@media (prefers-reduced-motion:reduce){.edit-post-text-editor__body textarea.editor-post-text-editor{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.edit-post-text-editor__body textarea.editor-post-text-editor{padding:24px;font-size:15px!important}}.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-post-visibility__dialog,.editor-post-visibility__dialog-fieldset{padding:0 4px 4px}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-legend,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-legend{font-weight:600;margin-bottom:1em;margin-top:.5em;padding:0}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;font-size:16px;line-height:normal;border:1px solid #1e1e1e;margin-left:12px;transition:none;border-radius:50%;width:24px;height:24px;margin-top:2px}@media (prefers-reduced-motion:reduce){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{font-size:13px;line-height:normal}}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:focus,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]::-webkit-input-placeholder,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]::-moz-placeholder,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:-ms-input-placeholder,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{height:20px;width:20px}}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:checked:before,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:checked:before{box-sizing:inherit;width:8px;height:8px;transform:translate(-7px,7px);margin:0;background-color:#fff;border:4px solid #fff}@media (min-width:600px){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:checked:before,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:checked:before{transform:translate(-5px,5px)}}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:focus,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:checked,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-label,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-label{font-weight:600}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-info,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-info{margin-top:0;margin-right:32px}.edit-post-post-visibility__dialog .editor-post-visibility__choice:last-child .editor-post-visibility__dialog-info,.editor-post-visibility__dialog-fieldset .editor-post-visibility__choice:last-child .editor-post-visibility__dialog-info{margin-bottom:0}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;margin-right:36px;margin-top:8px}@media (prefers-reduced-motion:reduce){.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]{font-size:13px;line-height:normal}}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-title{position:relative}.editor-post-title .editor-post-title__input{display:block;width:100%;margin:0;box-shadow:none;background:transparent;transition:border .1s ease-out,box-shadow .1s linear;padding:19px 0;word-break:keep-all;font-family:inherit;color:inherit;border-color:transparent;border-style:solid;border-width:1px 0;border-radius:0;outline:1px solid transparent;font-size:2.44em;font-weight:800;line-height:1.4}@media (prefers-reduced-motion:reduce){.editor-post-title .editor-post-title__input{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.editor-post-title .editor-post-title__input{border-width:1px}}.editor-post-title .editor-post-title__input::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-title .editor-post-title__input::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.editor-post-title .editor-post-title__input:-ms-input-placeholder{color:rgba(30,30,30,.62)}.is-dark-theme .editor-post-title .editor-post-title__input::-webkit-input-placeholder{color:hsla(0,0%,100%,.65)}.is-dark-theme .editor-post-title .editor-post-title__input::-moz-placeholder{opacity:1;color:hsla(0,0%,100%,.65)}.is-dark-theme .editor-post-title .editor-post-title__input:-ms-input-placeholder{color:hsla(0,0%,100%,.65)}.editor-post-title .editor-post-title__input:focus{border:1px solid transparent;outline:1px solid transparent;box-shadow:none}.editor-post-title.is-focus-mode .editor-post-title__input{opacity:.5;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.editor-post-title.is-focus-mode .editor-post-title__input{transition-duration:0s;transition-delay:0s}}.editor-post-title.is-focus-mode .editor-post-title__input:focus{opacity:1}.editor-post-trash.components-button{margin-top:4px}.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>div{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{content:"";display:block;position:absolute;top:0;left:0;bottom:0;right:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);pointer-events:none}.table-of-contents__counts{display:flex;flex-wrap:wrap;margin:-8px 0 0}.table-of-contents__count{flex-basis:33%;display:flex;flex-direction:column;font-size:13px;color:#1e1e1e;padding-left:8px;margin-bottom:0;margin-top:8px}.table-of-contents__count:nth-child(4n){padding-left:0}.table-of-contents__number,.table-of-contents__popover .word-count{font-size:21px;font-weight:400;line-height:30px;color:#1e1e1e}.table-of-contents__title{display:block;margin-top:20px;font-size:15px;font-weight:600}.editor-template-validation-notice{display:flex;justify-content:space-between;align-items:center}.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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.editor-autocompleters__user .editor-autocompleters__no-avatar:before{font:normal 20px/1 dashicons;content:"";margin-left:5px;vertical-align:middle}.editor-autocompleters__user .editor-autocompleters__user-avatar{margin-left:8px;flex-grow:0;flex-shrink:0;max-width:none;width:24px;height:24px}.editor-autocompleters__user .editor-autocompleters__user-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:200px;flex-shrink:0;flex-grow:1}.editor-autocompleters__user .editor-autocompleters__user-slug{margin-right:8px;color:#757575;white-space:nowrap;text-overflow:ellipsis;overflow:none;max-width:100px;flex-grow:0;flex-shrink:0}.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{cursor:pointer;background:none;border:none;display:flex;align-items:flex-start;margin:0 -1px 0 0;padding:2px 1px 2px 5px;color:#1e1e1e;text-align:right;border-radius:2px}.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;color:#1e1e1e;border-radius:3px;font-size:13px;padding:1px 6px;margin-left:4px}.is-invalid .document-outline__level{background:#f0b849}.document-outline__item-content{padding:1px 0}.components-editor-notices__dismissible,.components-editor-notices__pinned{position:relative;right:0;top:0;left:0;color:#1e1e1e}.components-editor-notices__dismissible .components-notice,.components-editor-notices__pinned .components-notice{box-sizing:border-box;margin:0;border-bottom:1px solid rgba(0,0,0,.2);padding:0 12px;min-height:60px}.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{background:#fff;position:fixed;z-index:100001;top:46px;bottom:0;left:0;right:0;overflow:auto;box-sizing:border-box}.entities-saved-states__panel *,.entities-saved-states__panel :after,.entities-saved-states__panel :before{box-sizing:inherit}.entities-saved-states__panel .entities-saved-states__find-entity{display:none}.entities-saved-states__panel .entities-saved-states__find-entity-small{display:block}@media (min-width:782px){.entities-saved-states__panel{top:32px;right:auto;width:280px;border-right:1px solid #ddd}body.is-fullscreen-mode .entities-saved-states__panel{top:0}.entities-saved-states__panel .entities-saved-states__find-entity{display:block}.entities-saved-states__panel .entities-saved-states__find-entity-small{display:none}}.entities-saved-states__panel .entities-saved-states__panel-header{background:#fff;padding-right:8px;padding-left:8px;height:61px;border-bottom:1px solid #ddd;display:flex;align-items:center;align-content:space-between}.entities-saved-states__panel .entities-saved-states__panel-header .editor-entities-saved-states__save-button{margin:auto}.entities-saved-states__panel .entities-saved-states__panel-header .components-button.has-icon{position:absolute;left:8px}.entities-saved-states__panel .entities-saved-states__text-prompt{padding:16px 16px 4px}.editor-error-boundary{max-width:780px;padding:20px;margin:60px auto auto;box-shadow:0 10px 10px rgba(0,0,0,.25)}.editor-page-attributes__order{width:100%}.editor-page-attributes__order .components-base-control__field{display:flex;justify-content:space-between;align-items:center}.editor-page-attributes__order input{width:66px}.editor-post-excerpt__textarea{width:100%;margin-bottom:10px}.editor-post-featured-image{padding:0}.editor-post-featured-image__container{margin-bottom:1em;position:relative}.editor-post-featured-image .components-spinner{position:absolute;top:50%;right:50%;margin-top:-9px;margin-right:-9px}.editor-post-featured-image .components-button+.components-button{display:block;margin-top:1em}.editor-post-featured-image .components-responsive-wrapper__content{max-width:100%;width:auto}.editor-post-featured-image__preview,.editor-post-featured-image__toggle{display:block;width:100%;padding:0;transition:all .1s ease-out;box-shadow:0 0 0 0 var(--wp-admin-theme-color)}@media (prefers-reduced-motion:reduce){.editor-post-featured-image__preview,.editor-post-featured-image__toggle{transition-duration:0s;transition-delay:0s}}.editor-post-featured-image__preview{height:auto}.editor-post-featured-image__preview:not(:disabled):not([aria-disabled=true]):focus{box-shadow:0 0 0 4px var(--wp-admin-theme-color)}.editor-post-featured-image__toggle{border-radius:2px;background-color:#f0f0f0;min-height:90px;line-height:20px;padding:8px 0;text-align:center}.editor-post-featured-image__toggle:hover{background:#ddd;color:#1e1e1e}.editor-post-format{flex-direction:column;align-items:stretch;width:100%}.editor-post-format__content{display:inline-flex;justify-content:space-between;align-items:center;width:100%}.editor-post-format__suggestion{padding:6px;text-align:left;font-size:13px}.editor-post-last-revision__title{width:100%;font-weight:600}.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{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);border-radius:0}.editor-post-locked-modal{height:auto;padding-left:10px;padding-right:10px;padding-top:10px;max-width:480px}.editor-post-locked-modal .components-modal__header{height:36px}.editor-post-locked-modal .components-modal__content{height:auto}.editor-post-locked-modal__buttons{margin-top:10px}.editor-post-locked-modal__buttons .components-button{margin-left:5px}.editor-post-locked-modal__avatar{float:right;margin:5px 5px 5px 15px}.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{background:#fff;padding-right:16px;padding-left:16px;height:61px;border-bottom:1px solid #ddd;display:flex;align-items:center;align-content:space-between}.editor-post-publish-panel__header .components-button{width:100%;justify-content:center}.editor-post-publish-panel__header .has-icon{margin-right:auto;width:auto}.components-site-card{display:flex;align-items:center;margin:16px 0}.components-site-icon{border:none;border-radius:2px;margin-left:12px;height:36px;width:36px}.components-site-name{display:block;font-size:14px}.components-site-home{display:block;color:#757575;font-size:12px}.editor-post-publish-panel__header-cancel-button,.editor-post-publish-panel__header-publish-button{flex-grow: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{display:inline-flex;align-items:center}.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-right:-16px;margin-left:-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{display:flex;align-content:space-between;flex-wrap:wrap;margin:-5px}.post-publish-panel__postpublish-buttons>*{flex-grow:1;margin:5px}.post-publish-panel__postpublish-buttons .components-button{height:auto;justify-content:center;padding:3px 10px 4px;flex:1;line-height:1.6;text-align:center;white-space:normal}.post-publish-panel__postpublish-buttons .components-clipboard-button{width:100%}.post-publish-panel__postpublish-post-address-container{display:flex;align-items:flex-end;margin-bottom:16px}.post-publish-panel__postpublish-post-address-container .components-base-control__field{margin-bottom:0}.post-publish-panel__postpublish-post-address-container .post-publish-panel__postpublish-post-address{flex:1}.post-publish-panel__postpublish-post-address-container input[readonly]{padding:10px;background:#ddd;overflow:hidden;text-overflow:ellipsis}.post-publish-panel__postpublish-post-address__copy-button-wrap{flex-shrink:0;margin-right:8px}.post-publish-panel__postpublish-post-address__copy-button-wrap .components-button{height:38px}.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{display:flex;align-items:center;width:28px;padding:12px 4px;color:#757575;overflow:hidden;white-space:nowrap}.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{display:inline-block;flex:0 0 auto;fill:currentColor;margin-left:8px}@media (min-width:600px){.editor-post-saved-state{width:auto;padding:8px 12px;text-indent:inherit}.editor-post-saved-state svg{margin-left:0}}.editor-post-taxonomies__hierarchical-terms-list{max-height:14em;overflow:auto;margin-right:-6px;padding-right:6px;margin-top:-6px;padding-top:6px}.editor-post-taxonomies__hierarchical-terms-choice{margin-bottom:8px}.editor-post-taxonomies__hierarchical-terms-subchoices{margin-top:8px;margin-right:16px}.components-button.editor-post-taxonomies__hierarchical-terms-add,.components-button.editor-post-taxonomies__hierarchical-terms-submit{margin-top:12px}.editor-post-taxonomies__hierarchical-terms-label{display:inline-block;margin-top:12px}.editor-post-taxonomies__hierarchical-terms-input{margin-top:8px}.editor-post-taxonomies__hierarchical-terms-filter{margin-bottom:8px;width:100%}.editor-post-taxonomies__flat-term-most-used .editor-post-taxonomies__flat-term-most-used-label{font-weight:400;margin-bottom:12px}.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;display:block;margin:0;width:100%;box-shadow:none;resize:none;overflow:hidden;font-family:Menlo,Consolas,monaco,monospace;line-height:2.4;min-height:200px;transition:border .1s ease-out,box-shadow .1s linear;padding:16px;font-size:16px!important}@media (prefers-reduced-motion:reduce){.edit-post-text-editor__body textarea.editor-post-text-editor{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.edit-post-text-editor__body textarea.editor-post-text-editor{padding:24px;font-size:15px!important}}.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-post-visibility__dialog,.editor-post-visibility__dialog-fieldset{padding:0 4px 4px}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-legend,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-legend{font-weight:600;margin-bottom:1em;margin-top:.5em;padding:0}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;font-size:16px;line-height:normal;border:1px solid #1e1e1e;margin-left:12px;transition:none;border-radius:50%;width:24px;height:24px;margin-top:2px}@media (prefers-reduced-motion:reduce){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{font-size:13px;line-height:normal}}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:focus,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]::-webkit-input-placeholder,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]::-moz-placeholder,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:-ms-input-placeholder,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{height:20px;width:20px}}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:checked:before,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:checked:before{box-sizing:inherit;width:8px;height:8px;transform:translate(-7px,7px);margin:0;background-color:#fff;border:4px solid #fff}@media (min-width:600px){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:checked:before,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:checked:before{transform:translate(-5px,5px)}}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:focus,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:checked,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-label,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-label{font-weight:600}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-info,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-info{margin-top:0;margin-right:32px}.edit-post-post-visibility__dialog .editor-post-visibility__choice:last-child .editor-post-visibility__dialog-info,.editor-post-visibility__dialog-fieldset .editor-post-visibility__choice:last-child .editor-post-visibility__dialog-info{margin-bottom:0}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;margin-right:36px;margin-top:8px}@media (prefers-reduced-motion:reduce){.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]{font-size:13px;line-height:normal}}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-title{position:relative}.editor-post-title.is-focus-mode{opacity:.5;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.editor-post-title.is-focus-mode{transition-duration:0s;transition-delay:0s}}.editor-post-title.is-focus-mode:focus{opacity:1}.editor-post-trash.components-button{margin-top:4px}.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>div{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{content:"";display:block;position:absolute;top:0;left:0;bottom:0;right:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);pointer-events:none}.table-of-contents__counts{display:flex;flex-wrap:wrap;margin:-8px 0 0}.table-of-contents__count{flex-basis:33%;display:flex;flex-direction:column;font-size:13px;color:#1e1e1e;padding-left:8px;margin-bottom:0;margin-top:8px}.table-of-contents__count:nth-child(4n){padding-left:0}.table-of-contents__number,.table-of-contents__popover .word-count{font-size:21px;font-weight:400;line-height:30px;color:#1e1e1e}.table-of-contents__title{display:block;margin-top:20px;font-size:15px;font-weight:600}.editor-template-validation-notice{display:flex;justify-content:space-between;align-items:center}.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 b544fe3ca5..041125dda2 100644 --- a/wp-includes/css/dist/editor/style.css +++ b/wp-includes/css/dist/editor/style.css @@ -41,6 +41,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -71,8 +77,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -372,6 +381,7 @@ } .editor-post-format__suggestion { + padding: 6px; text-align: right; font-size: 13px; } @@ -564,6 +574,7 @@ height: auto; justify-content: center; padding: 3px 10px 4px; + flex: 1; line-height: 1.6; text-align: center; white-space: normal; @@ -572,16 +583,32 @@ width: 100%; } -.post-publish-panel__postpublish-post-address { +.post-publish-panel__postpublish-post-address-container { + display: flex; + align-items: flex-end; margin-bottom: 16px; } -.post-publish-panel__postpublish-post-address input[readonly] { +.post-publish-panel__postpublish-post-address-container .components-base-control__field { + margin-bottom: 0; +} +.post-publish-panel__postpublish-post-address-container .post-publish-panel__postpublish-post-address { + flex: 1; +} +.post-publish-panel__postpublish-post-address-container input[readonly] { padding: 10px; background: #ddd; overflow: hidden; text-overflow: ellipsis; } +.post-publish-panel__postpublish-post-address__copy-button-wrap { + flex-shrink: 0; + margin-left: 8px; +} +.post-publish-panel__postpublish-post-address__copy-button-wrap .components-button { + height: 38px; +} + .post-publish-panel__postpublish-header { font-weight: 500; } @@ -594,6 +621,11 @@ color: #f0b849; } +@media screen and (max-width: 782px) { + .post-publish-panel__postpublish-post-address__button-wrap .components-button { + height: 40px; + } +} .editor-post-saved-state { display: flex; align-items: center; @@ -603,6 +635,10 @@ overflow: hidden; white-space: nowrap; } +.editor-post-saved-state.is-saving[aria-disabled=true], .editor-post-saved-state.is-saving[aria-disabled=true]:hover, .editor-post-saved-state.is-saved[aria-disabled=true], .editor-post-saved-state.is-saved[aria-disabled=true]:hover { + background: transparent; + color: #757575; +} .editor-post-saved-state svg { display: inline-block; flex: 0 0 auto; @@ -616,7 +652,7 @@ text-indent: inherit; } .editor-post-saved-state svg { - margin-right: 4px; + margin-right: 0; } } @@ -650,7 +686,6 @@ .editor-post-taxonomies__hierarchical-terms-input { margin-top: 8px; - width: 100%; } .editor-post-taxonomies__hierarchical-terms-filter { @@ -882,73 +917,17 @@ .editor-post-title { position: relative; } -.editor-post-title .editor-post-title__input { - display: block; - width: 100%; - margin: 0; - box-shadow: none; - background: transparent; - transition: border 0.1s ease-out, box-shadow 0.1s linear; - padding: 19px 0; - word-break: keep-all; - font-family: inherit; - color: inherit; - border: 1px solid transparent; - border-left-width: 0; - border-right-width: 0; - border-radius: 0; - outline: 1px solid transparent; - font-size: 2.44em; - font-weight: 800; - line-height: 1.4; -} -@media (prefers-reduced-motion: reduce) { - .editor-post-title .editor-post-title__input { - transition-duration: 0s; - transition-delay: 0s; - } -} -@media (min-width: 600px) { - .editor-post-title .editor-post-title__input { - border-width: 1px; - } -} -.editor-post-title .editor-post-title__input::-webkit-input-placeholder { - color: rgba(30, 30, 30, 0.62); -} -.editor-post-title .editor-post-title__input::-moz-placeholder { - color: rgba(30, 30, 30, 0.62); - opacity: 1; -} -.editor-post-title .editor-post-title__input:-ms-input-placeholder { - color: rgba(30, 30, 30, 0.62); -} -.is-dark-theme .editor-post-title .editor-post-title__input::-webkit-input-placeholder { - color: rgba(255, 255, 255, 0.65); -} -.is-dark-theme .editor-post-title .editor-post-title__input::-moz-placeholder { - opacity: 1; - color: rgba(255, 255, 255, 0.65); -} -.is-dark-theme .editor-post-title .editor-post-title__input:-ms-input-placeholder { - color: rgba(255, 255, 255, 0.65); -} -.editor-post-title .editor-post-title__input:focus { - border: 1px solid transparent; - outline: 1px solid transparent; - box-shadow: none; -} -.editor-post-title.is-focus-mode .editor-post-title__input { +.editor-post-title.is-focus-mode { opacity: 0.5; transition: opacity 0.1s linear; } @media (prefers-reduced-motion: reduce) { - .editor-post-title.is-focus-mode .editor-post-title__input { + .editor-post-title.is-focus-mode { transition-duration: 0s; transition-delay: 0s; } } -.editor-post-title.is-focus-mode .editor-post-title__input:focus { +.editor-post-title.is-focus-mode:focus { opacity: 1; } diff --git a/wp-includes/css/dist/editor/style.min.css b/wp-includes/css/dist/editor/style.min.css index d77c5bcb4a..f857f1894f 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-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.editor-autocompleters__user .editor-autocompleters__no-avatar:before{font:normal 20px/1 dashicons;content:"";margin-right:5px;vertical-align:middle}.editor-autocompleters__user .editor-autocompleters__user-avatar{margin-right:8px;flex-grow:0;flex-shrink:0;max-width:none;width:24px;height:24px}.editor-autocompleters__user .editor-autocompleters__user-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:200px;flex-shrink:0;flex-grow:1}.editor-autocompleters__user .editor-autocompleters__user-slug{margin-left:8px;color:#757575;white-space:nowrap;text-overflow:ellipsis;overflow:none;max-width:100px;flex-grow:0;flex-shrink:0}.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{cursor:pointer;background:none;border:none;display:flex;align-items:flex-start;margin:0 0 0 -1px;padding:2px 5px 2px 1px;color:#1e1e1e;text-align:left;border-radius:2px}.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;color:#1e1e1e;border-radius:3px;font-size:13px;padding:1px 6px;margin-right:4px}.is-invalid .document-outline__level{background:#f0b849}.document-outline__item-content{padding:1px 0}.components-editor-notices__dismissible,.components-editor-notices__pinned{position:relative;left:0;top:0;right:0;color:#1e1e1e}.components-editor-notices__dismissible .components-notice,.components-editor-notices__pinned .components-notice{box-sizing:border-box;margin:0;border-bottom:1px solid rgba(0,0,0,.2);padding:0 12px;min-height:60px}.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{background:#fff;position:fixed;z-index:100001;top:46px;bottom:0;right:0;left:0;overflow:auto;box-sizing:border-box}.entities-saved-states__panel *,.entities-saved-states__panel :after,.entities-saved-states__panel :before{box-sizing:inherit}.entities-saved-states__panel .entities-saved-states__find-entity{display:none}.entities-saved-states__panel .entities-saved-states__find-entity-small{display:block}@media (min-width:782px){.entities-saved-states__panel{top:32px;left:auto;width:280px;border-left:1px solid #ddd}body.is-fullscreen-mode .entities-saved-states__panel{top:0}.entities-saved-states__panel .entities-saved-states__find-entity{display:block}.entities-saved-states__panel .entities-saved-states__find-entity-small{display:none}}.entities-saved-states__panel .entities-saved-states__panel-header{background:#fff;padding-left:8px;padding-right:8px;height:61px;border-bottom:1px solid #ddd;display:flex;align-items:center;align-content:space-between}.entities-saved-states__panel .entities-saved-states__panel-header .editor-entities-saved-states__save-button{margin:auto}.entities-saved-states__panel .entities-saved-states__panel-header .components-button.has-icon{position:absolute;right:8px}.entities-saved-states__panel .entities-saved-states__text-prompt{padding:16px 16px 4px}.editor-error-boundary{max-width:780px;padding:20px;margin:60px auto auto;box-shadow:0 10px 10px rgba(0,0,0,.25)}.editor-page-attributes__order{width:100%}.editor-page-attributes__order .components-base-control__field{display:flex;justify-content:space-between;align-items:center}.editor-page-attributes__order input{width:66px}.editor-post-excerpt__textarea{width:100%;margin-bottom:10px}.editor-post-featured-image{padding:0}.editor-post-featured-image__container{margin-bottom:1em;position:relative}.editor-post-featured-image .components-spinner{position:absolute;top:50%;left:50%;margin-top:-9px;margin-left:-9px}.editor-post-featured-image .components-button+.components-button{display:block;margin-top:1em}.editor-post-featured-image .components-responsive-wrapper__content{max-width:100%;width:auto}.editor-post-featured-image__preview,.editor-post-featured-image__toggle{display:block;width:100%;padding:0;transition:all .1s ease-out;box-shadow:0 0 0 0 var(--wp-admin-theme-color)}@media (prefers-reduced-motion:reduce){.editor-post-featured-image__preview,.editor-post-featured-image__toggle{transition-duration:0s;transition-delay:0s}}.editor-post-featured-image__preview{height:auto}.editor-post-featured-image__preview:not(:disabled):not([aria-disabled=true]):focus{box-shadow:0 0 0 4px var(--wp-admin-theme-color)}.editor-post-featured-image__toggle{border-radius:2px;background-color:#f0f0f0;min-height:90px;line-height:20px;padding:8px 0;text-align:center}.editor-post-featured-image__toggle:hover{background:#ddd;color:#1e1e1e}.editor-post-format{flex-direction:column;align-items:stretch;width:100%}.editor-post-format__content{display:inline-flex;justify-content:space-between;align-items:center;width:100%}.editor-post-format__suggestion{text-align:right;font-size:13px}.editor-post-last-revision__title{width:100%;font-weight:600}.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{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);border-radius:0}.editor-post-locked-modal{height:auto;padding-right:10px;padding-left:10px;padding-top:10px;max-width:480px}.editor-post-locked-modal .components-modal__header{height:36px}.editor-post-locked-modal .components-modal__content{height:auto}.editor-post-locked-modal__buttons{margin-top:10px}.editor-post-locked-modal__buttons .components-button{margin-right:5px}.editor-post-locked-modal__avatar{float:left;margin:5px 15px 5px 5px}.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{background:#fff;padding-left:16px;padding-right:16px;height:61px;border-bottom:1px solid #ddd;display:flex;align-items:center;align-content:space-between}.editor-post-publish-panel__header .components-button{width:100%;justify-content:center}.editor-post-publish-panel__header .has-icon{margin-left:auto;width:auto}.components-site-card{display:flex;align-items:center;margin:16px 0}.components-site-icon{border:none;border-radius:2px;margin-right:12px;height:36px;width:36px}.components-site-name{display:block;font-size:14px}.components-site-home{display:block;color:#757575;font-size:12px}.editor-post-publish-panel__header-cancel-button,.editor-post-publish-panel__header-publish-button{flex-grow: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{display:inline-flex;align-items:center}.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{display:flex;align-content:space-between;flex-wrap:wrap;margin:-5px}.post-publish-panel__postpublish-buttons>*{flex-grow:1;margin:5px}.post-publish-panel__postpublish-buttons .components-button{height:auto;justify-content:center;padding:3px 10px 4px;line-height:1.6;text-align:center;white-space:normal}.post-publish-panel__postpublish-buttons .components-clipboard-button{width:100%}.post-publish-panel__postpublish-post-address{margin-bottom:16px}.post-publish-panel__postpublish-post-address input[readonly]{padding:10px;background:#ddd;overflow:hidden;text-overflow:ellipsis}.post-publish-panel__postpublish-header{font-weight:500}.post-publish-panel__postpublish-subheader{margin:0 0 8px}.post-publish-panel__tip{color:#f0b849}.editor-post-saved-state{display:flex;align-items:center;width:28px;padding:12px 4px;color:#757575;overflow:hidden;white-space:nowrap}.editor-post-saved-state svg{display:inline-block;flex:0 0 auto;fill:currentColor;margin-right:8px}@media (min-width:600px){.editor-post-saved-state{width:auto;padding:8px 12px;text-indent:inherit}.editor-post-saved-state svg{margin-right:4px}}.editor-post-taxonomies__hierarchical-terms-list{max-height:14em;overflow:auto;margin-left:-6px;padding-left:6px;margin-top:-6px;padding-top:6px}.editor-post-taxonomies__hierarchical-terms-choice{margin-bottom:8px}.editor-post-taxonomies__hierarchical-terms-subchoices{margin-top:8px;margin-left:16px}.components-button.editor-post-taxonomies__hierarchical-terms-add,.components-button.editor-post-taxonomies__hierarchical-terms-submit{margin-top:12px}.editor-post-taxonomies__hierarchical-terms-label{display:inline-block;margin-top:12px}.editor-post-taxonomies__hierarchical-terms-input{margin-top:8px;width:100%}.editor-post-taxonomies__hierarchical-terms-filter{margin-bottom:8px;width:100%}.editor-post-taxonomies__flat-term-most-used .editor-post-taxonomies__flat-term-most-used-label{font-weight:400;margin-bottom:12px}.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;display:block;margin:0;width:100%;box-shadow:none;resize:none;overflow:hidden;font-family:Menlo,Consolas,monaco,monospace;line-height:2.4;min-height:200px;transition:border .1s ease-out,box-shadow .1s linear;padding:16px;font-size:16px!important}@media (prefers-reduced-motion:reduce){.edit-post-text-editor__body textarea.editor-post-text-editor{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.edit-post-text-editor__body textarea.editor-post-text-editor{padding:24px;font-size:15px!important}}.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-post-visibility__dialog,.editor-post-visibility__dialog-fieldset{padding:0 4px 4px}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-legend,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-legend{font-weight:600;margin-bottom:1em;margin-top:.5em;padding:0}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;font-size:16px;line-height:normal;border:1px solid #1e1e1e;margin-right:12px;transition:none;border-radius:50%;width:24px;height:24px;margin-top:2px}@media (prefers-reduced-motion:reduce){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{font-size:13px;line-height:normal}}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:focus,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]::-webkit-input-placeholder,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]::-moz-placeholder,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:-ms-input-placeholder,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{height:20px;width:20px}}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:checked:before,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:checked:before{box-sizing:inherit;width:8px;height:8px;transform:translate(7px,7px);margin:0;background-color:#fff;border:4px solid #fff}@media (min-width:600px){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:checked:before,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:checked:before{transform:translate(5px,5px)}}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:focus,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:checked,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-label,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-label{font-weight:600}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-info,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-info{margin-top:0;margin-left:32px}.edit-post-post-visibility__dialog .editor-post-visibility__choice:last-child .editor-post-visibility__dialog-info,.editor-post-visibility__dialog-fieldset .editor-post-visibility__choice:last-child .editor-post-visibility__dialog-info{margin-bottom:0}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;margin-left:36px;margin-top:8px}@media (prefers-reduced-motion:reduce){.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]{font-size:13px;line-height:normal}}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-title{position:relative}.editor-post-title .editor-post-title__input{display:block;width:100%;margin:0;box-shadow:none;background:transparent;transition:border .1s ease-out,box-shadow .1s linear;padding:19px 0;word-break:keep-all;font-family:inherit;color:inherit;border-color:transparent;border-style:solid;border-width:1px 0;border-radius:0;outline:1px solid transparent;font-size:2.44em;font-weight:800;line-height:1.4}@media (prefers-reduced-motion:reduce){.editor-post-title .editor-post-title__input{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.editor-post-title .editor-post-title__input{border-width:1px}}.editor-post-title .editor-post-title__input::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-title .editor-post-title__input::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.editor-post-title .editor-post-title__input:-ms-input-placeholder{color:rgba(30,30,30,.62)}.is-dark-theme .editor-post-title .editor-post-title__input::-webkit-input-placeholder{color:hsla(0,0%,100%,.65)}.is-dark-theme .editor-post-title .editor-post-title__input::-moz-placeholder{opacity:1;color:hsla(0,0%,100%,.65)}.is-dark-theme .editor-post-title .editor-post-title__input:-ms-input-placeholder{color:hsla(0,0%,100%,.65)}.editor-post-title .editor-post-title__input:focus{border:1px solid transparent;outline:1px solid transparent;box-shadow:none}.editor-post-title.is-focus-mode .editor-post-title__input{opacity:.5;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.editor-post-title.is-focus-mode .editor-post-title__input{transition-duration:0s;transition-delay:0s}}.editor-post-title.is-focus-mode .editor-post-title__input:focus{opacity:1}.editor-post-trash.components-button{margin-top:4px}.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>div{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{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);pointer-events:none}.table-of-contents__counts{display:flex;flex-wrap:wrap;margin:-8px 0 0}.table-of-contents__count{flex-basis:33%;display:flex;flex-direction:column;font-size:13px;color:#1e1e1e;padding-right:8px;margin-bottom:0;margin-top:8px}.table-of-contents__count:nth-child(4n){padding-right:0}.table-of-contents__number,.table-of-contents__popover .word-count{font-size:21px;font-weight:400;line-height:30px;color:#1e1e1e}.table-of-contents__title{display:block;margin-top:20px;font-size:15px;font-weight:600}.editor-template-validation-notice{display:flex;justify-content:space-between;align-items:center}.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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.editor-autocompleters__user .editor-autocompleters__no-avatar:before{font:normal 20px/1 dashicons;content:"";margin-right:5px;vertical-align:middle}.editor-autocompleters__user .editor-autocompleters__user-avatar{margin-right:8px;flex-grow:0;flex-shrink:0;max-width:none;width:24px;height:24px}.editor-autocompleters__user .editor-autocompleters__user-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:200px;flex-shrink:0;flex-grow:1}.editor-autocompleters__user .editor-autocompleters__user-slug{margin-left:8px;color:#757575;white-space:nowrap;text-overflow:ellipsis;overflow:none;max-width:100px;flex-grow:0;flex-shrink:0}.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{cursor:pointer;background:none;border:none;display:flex;align-items:flex-start;margin:0 0 0 -1px;padding:2px 5px 2px 1px;color:#1e1e1e;text-align:left;border-radius:2px}.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;color:#1e1e1e;border-radius:3px;font-size:13px;padding:1px 6px;margin-right:4px}.is-invalid .document-outline__level{background:#f0b849}.document-outline__item-content{padding:1px 0}.components-editor-notices__dismissible,.components-editor-notices__pinned{position:relative;left:0;top:0;right:0;color:#1e1e1e}.components-editor-notices__dismissible .components-notice,.components-editor-notices__pinned .components-notice{box-sizing:border-box;margin:0;border-bottom:1px solid rgba(0,0,0,.2);padding:0 12px;min-height:60px}.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{background:#fff;position:fixed;z-index:100001;top:46px;bottom:0;right:0;left:0;overflow:auto;box-sizing:border-box}.entities-saved-states__panel *,.entities-saved-states__panel :after,.entities-saved-states__panel :before{box-sizing:inherit}.entities-saved-states__panel .entities-saved-states__find-entity{display:none}.entities-saved-states__panel .entities-saved-states__find-entity-small{display:block}@media (min-width:782px){.entities-saved-states__panel{top:32px;left:auto;width:280px;border-left:1px solid #ddd}body.is-fullscreen-mode .entities-saved-states__panel{top:0}.entities-saved-states__panel .entities-saved-states__find-entity{display:block}.entities-saved-states__panel .entities-saved-states__find-entity-small{display:none}}.entities-saved-states__panel .entities-saved-states__panel-header{background:#fff;padding-left:8px;padding-right:8px;height:61px;border-bottom:1px solid #ddd;display:flex;align-items:center;align-content:space-between}.entities-saved-states__panel .entities-saved-states__panel-header .editor-entities-saved-states__save-button{margin:auto}.entities-saved-states__panel .entities-saved-states__panel-header .components-button.has-icon{position:absolute;right:8px}.entities-saved-states__panel .entities-saved-states__text-prompt{padding:16px 16px 4px}.editor-error-boundary{max-width:780px;padding:20px;margin:60px auto auto;box-shadow:0 10px 10px rgba(0,0,0,.25)}.editor-page-attributes__order{width:100%}.editor-page-attributes__order .components-base-control__field{display:flex;justify-content:space-between;align-items:center}.editor-page-attributes__order input{width:66px}.editor-post-excerpt__textarea{width:100%;margin-bottom:10px}.editor-post-featured-image{padding:0}.editor-post-featured-image__container{margin-bottom:1em;position:relative}.editor-post-featured-image .components-spinner{position:absolute;top:50%;left:50%;margin-top:-9px;margin-left:-9px}.editor-post-featured-image .components-button+.components-button{display:block;margin-top:1em}.editor-post-featured-image .components-responsive-wrapper__content{max-width:100%;width:auto}.editor-post-featured-image__preview,.editor-post-featured-image__toggle{display:block;width:100%;padding:0;transition:all .1s ease-out;box-shadow:0 0 0 0 var(--wp-admin-theme-color)}@media (prefers-reduced-motion:reduce){.editor-post-featured-image__preview,.editor-post-featured-image__toggle{transition-duration:0s;transition-delay:0s}}.editor-post-featured-image__preview{height:auto}.editor-post-featured-image__preview:not(:disabled):not([aria-disabled=true]):focus{box-shadow:0 0 0 4px var(--wp-admin-theme-color)}.editor-post-featured-image__toggle{border-radius:2px;background-color:#f0f0f0;min-height:90px;line-height:20px;padding:8px 0;text-align:center}.editor-post-featured-image__toggle:hover{background:#ddd;color:#1e1e1e}.editor-post-format{flex-direction:column;align-items:stretch;width:100%}.editor-post-format__content{display:inline-flex;justify-content:space-between;align-items:center;width:100%}.editor-post-format__suggestion{padding:6px;text-align:right;font-size:13px}.editor-post-last-revision__title{width:100%;font-weight:600}.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{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);border-radius:0}.editor-post-locked-modal{height:auto;padding-right:10px;padding-left:10px;padding-top:10px;max-width:480px}.editor-post-locked-modal .components-modal__header{height:36px}.editor-post-locked-modal .components-modal__content{height:auto}.editor-post-locked-modal__buttons{margin-top:10px}.editor-post-locked-modal__buttons .components-button{margin-right:5px}.editor-post-locked-modal__avatar{float:left;margin:5px 15px 5px 5px}.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{background:#fff;padding-left:16px;padding-right:16px;height:61px;border-bottom:1px solid #ddd;display:flex;align-items:center;align-content:space-between}.editor-post-publish-panel__header .components-button{width:100%;justify-content:center}.editor-post-publish-panel__header .has-icon{margin-left:auto;width:auto}.components-site-card{display:flex;align-items:center;margin:16px 0}.components-site-icon{border:none;border-radius:2px;margin-right:12px;height:36px;width:36px}.components-site-name{display:block;font-size:14px}.components-site-home{display:block;color:#757575;font-size:12px}.editor-post-publish-panel__header-cancel-button,.editor-post-publish-panel__header-publish-button{flex-grow: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{display:inline-flex;align-items:center}.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{display:flex;align-content:space-between;flex-wrap:wrap;margin:-5px}.post-publish-panel__postpublish-buttons>*{flex-grow:1;margin:5px}.post-publish-panel__postpublish-buttons .components-button{height:auto;justify-content:center;padding:3px 10px 4px;flex:1;line-height:1.6;text-align:center;white-space:normal}.post-publish-panel__postpublish-buttons .components-clipboard-button{width:100%}.post-publish-panel__postpublish-post-address-container{display:flex;align-items:flex-end;margin-bottom:16px}.post-publish-panel__postpublish-post-address-container .components-base-control__field{margin-bottom:0}.post-publish-panel__postpublish-post-address-container .post-publish-panel__postpublish-post-address{flex:1}.post-publish-panel__postpublish-post-address-container input[readonly]{padding:10px;background:#ddd;overflow:hidden;text-overflow:ellipsis}.post-publish-panel__postpublish-post-address__copy-button-wrap{flex-shrink:0;margin-left:8px}.post-publish-panel__postpublish-post-address__copy-button-wrap .components-button{height:38px}.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{display:flex;align-items:center;width:28px;padding:12px 4px;color:#757575;overflow:hidden;white-space:nowrap}.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{display:inline-block;flex:0 0 auto;fill:currentColor;margin-right:8px}@media (min-width:600px){.editor-post-saved-state{width:auto;padding:8px 12px;text-indent:inherit}.editor-post-saved-state svg{margin-right:0}}.editor-post-taxonomies__hierarchical-terms-list{max-height:14em;overflow:auto;margin-left:-6px;padding-left:6px;margin-top:-6px;padding-top:6px}.editor-post-taxonomies__hierarchical-terms-choice{margin-bottom:8px}.editor-post-taxonomies__hierarchical-terms-subchoices{margin-top:8px;margin-left:16px}.components-button.editor-post-taxonomies__hierarchical-terms-add,.components-button.editor-post-taxonomies__hierarchical-terms-submit{margin-top:12px}.editor-post-taxonomies__hierarchical-terms-label{display:inline-block;margin-top:12px}.editor-post-taxonomies__hierarchical-terms-input{margin-top:8px}.editor-post-taxonomies__hierarchical-terms-filter{margin-bottom:8px;width:100%}.editor-post-taxonomies__flat-term-most-used .editor-post-taxonomies__flat-term-most-used-label{font-weight:400;margin-bottom:12px}.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;display:block;margin:0;width:100%;box-shadow:none;resize:none;overflow:hidden;font-family:Menlo,Consolas,monaco,monospace;line-height:2.4;min-height:200px;transition:border .1s ease-out,box-shadow .1s linear;padding:16px;font-size:16px!important}@media (prefers-reduced-motion:reduce){.edit-post-text-editor__body textarea.editor-post-text-editor{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.edit-post-text-editor__body textarea.editor-post-text-editor{padding:24px;font-size:15px!important}}.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-post-visibility__dialog,.editor-post-visibility__dialog-fieldset{padding:0 4px 4px}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-legend,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-legend{font-weight:600;margin-bottom:1em;margin-top:.5em;padding:0}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;font-size:16px;line-height:normal;border:1px solid #1e1e1e;margin-right:12px;transition:none;border-radius:50%;width:24px;height:24px;margin-top:2px}@media (prefers-reduced-motion:reduce){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{font-size:13px;line-height:normal}}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:focus,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]::-webkit-input-placeholder,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]::-moz-placeholder,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:-ms-input-placeholder,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio],.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]{height:20px;width:20px}}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:checked:before,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:checked:before{box-sizing:inherit;width:8px;height:8px;transform:translate(7px,7px);margin:0;background-color:#fff;border:4px solid #fff}@media (min-width:600px){.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:checked:before,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:checked:before{transform:translate(5px,5px)}}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:focus,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color);outline:2px solid transparent}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-radio[type=radio]:checked,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-radio[type=radio]:checked{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-label,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-label{font-weight:600}.edit-post-post-visibility__dialog .editor-post-visibility__dialog-info,.editor-post-visibility__dialog-fieldset .editor-post-visibility__dialog-info{margin-top:0;margin-left:32px}.edit-post-post-visibility__dialog .editor-post-visibility__choice:last-child .editor-post-visibility__dialog-info,.editor-post-visibility__dialog-fieldset .editor-post-visibility__choice:last-child .editor-post-visibility__dialog-info{margin-bottom:0}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid #757575;font-size:16px;line-height:normal;margin-left:36px;margin-top:8px}@media (prefers-reduced-motion:reduce){.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]{transition-duration:0s;transition-delay:0s}}@media (min-width:600px){.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]{font-size:13px;line-height:normal}}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]::-moz-placeholder{opacity:1;color:rgba(30,30,30,.62)}.editor-post-visibility__dialog-password .editor-post-visibility__dialog-password-input[type=text]:-ms-input-placeholder{color:rgba(30,30,30,.62)}.editor-post-title{position:relative}.editor-post-title.is-focus-mode{opacity:.5;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.editor-post-title.is-focus-mode{transition-duration:0s;transition-delay:0s}}.editor-post-title.is-focus-mode:focus{opacity:1}.editor-post-trash.components-button{margin-top:4px}.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>div{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{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);pointer-events:none}.table-of-contents__counts{display:flex;flex-wrap:wrap;margin:-8px 0 0}.table-of-contents__count{flex-basis:33%;display:flex;flex-direction:column;font-size:13px;color:#1e1e1e;padding-right:8px;margin-bottom:0;margin-top:8px}.table-of-contents__count:nth-child(4n){padding-right:0}.table-of-contents__number,.table-of-contents__popover .word-count{font-size:21px;font-weight:400;line-height:30px;color:#1e1e1e}.table-of-contents__title{display:block;margin-top:20px;font-size:15px;font-weight:600}.editor-template-validation-notice{display:flex;justify-content:space-between;align-items:center}.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 dc4a1b5698..dc6c4185c6 100644 --- a/wp-includes/css/dist/format-library/style-rtl.css +++ b/wp-includes/css/dist/format-library/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -128,19 +137,8 @@ color: #cc1818; } -.components-inline-color__indicator { - position: absolute; - background: #000; - height: 3px; - width: 20px; - bottom: 6px; - right: auto; - left: auto; - margin: 0 5px; -} - -.components-inline-color-popover .components-popover__content > div { - padding: 20px 18px; +.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: 0.6rem; @@ -153,16 +151,4 @@ } .components-inline-color-popover .components-popover__content .component-color-indicator { vertical-align: text-bottom; -} - -.format-library-text-color-button { - position: relative; -} - -.format-library-text-color-button__indicator { - height: 4px; - width: 20px; - position: absolute; - bottom: 10px; - right: 8px; } \ No newline at end of file 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 9e0e3c0217..ae210be3ea 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-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-container-content{display:flex}.block-editor-format-toolbar__image-container-content .components-button{align-self:flex-end;height:30px;margin-bottom:8px;margin-left:8px;padding:0 6px}.block-editor-format-toolbar__image-container-value{margin:7px;flex-grow:1;flex-shrink:1;white-space:nowrap;min-width:150px;max-width:500px}.block-editor-format-toolbar__image-container-value.components-base-control .components-base-control__field{margin-bottom:0}.block-editor-format-toolbar__image-container-value.components-base-control .components-base-control__label{display:block}.block-editor-format-toolbar__link-container-content{display:flex}.block-editor-format-toolbar__link-container-value{margin:7px;flex-grow:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:150px;max-width:500px}.block-editor-format-toolbar__link-container-value.has-invalid-link{color:#cc1818}.components-inline-color__indicator{position:absolute;background:#000;height:3px;width:20px;bottom:6px;right:auto;left:auto;margin:0 5px}.components-inline-color-popover .components-popover__content>div{padding:20px 18px}.components-inline-color-popover .components-popover__content .components-color-palette{margin-top:.6rem}.components-inline-color-popover .components-popover__content .components-base-control__title{display:block;margin-bottom:16px;font-weight:600;color:#191e23}.components-inline-color-popover .components-popover__content .component-color-indicator{vertical-align:text-bottom}.format-library-text-color-button{position:relative}.format-library-text-color-button__indicator{height:4px;width:20px;position:absolute;bottom:10px;right:8px} \ 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}@media (-webkit-min-device-pixel-ratio:2),(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-container-content{display:flex}.block-editor-format-toolbar__image-container-content .components-button{align-self:flex-end;height:30px;margin-bottom:8px;margin-left:8px;padding:0 6px}.block-editor-format-toolbar__image-container-value{margin:7px;flex-grow:1;flex-shrink:1;white-space:nowrap;min-width:150px;max-width:500px}.block-editor-format-toolbar__image-container-value.components-base-control .components-base-control__field{margin-bottom:0}.block-editor-format-toolbar__image-container-value.components-base-control .components-base-control__label{display:block}.block-editor-format-toolbar__link-container-content{display:flex}.block-editor-format-toolbar__link-container-value{margin:7px;flex-grow:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:150px;max-width:500px}.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{display:block;margin-bottom:16px;font-weight:600;color:#191e23}.components-inline-color-popover .components-popover__content .component-color-indicator{vertical-align:text-bottom} \ 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 014c87a03e..7b5e321825 100644 --- a/wp-includes/css/dist/format-library/style.css +++ b/wp-includes/css/dist/format-library/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -128,19 +137,8 @@ color: #cc1818; } -.components-inline-color__indicator { - position: absolute; - background: #000; - height: 3px; - width: 20px; - bottom: 6px; - left: auto; - right: auto; - margin: 0 5px; -} - -.components-inline-color-popover .components-popover__content > div { - padding: 20px 18px; +.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: 0.6rem; @@ -153,16 +151,4 @@ } .components-inline-color-popover .components-popover__content .component-color-indicator { vertical-align: text-bottom; -} - -.format-library-text-color-button { - position: relative; -} - -.format-library-text-color-button__indicator { - height: 4px; - width: 20px; - position: absolute; - bottom: 10px; - left: 8px; } \ No newline at end of file diff --git a/wp-includes/css/dist/format-library/style.min.css b/wp-includes/css/dist/format-library/style.min.css index ac38e9ca77..d5abe9a240 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-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-container-content{display:flex}.block-editor-format-toolbar__image-container-content .components-button{align-self:flex-end;height:30px;margin-bottom:8px;margin-right:8px;padding:0 6px}.block-editor-format-toolbar__image-container-value{margin:7px;flex-grow:1;flex-shrink:1;white-space:nowrap;min-width:150px;max-width:500px}.block-editor-format-toolbar__image-container-value.components-base-control .components-base-control__field{margin-bottom:0}.block-editor-format-toolbar__image-container-value.components-base-control .components-base-control__label{display:block}.block-editor-format-toolbar__link-container-content{display:flex}.block-editor-format-toolbar__link-container-value{margin:7px;flex-grow:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:150px;max-width:500px}.block-editor-format-toolbar__link-container-value.has-invalid-link{color:#cc1818}.components-inline-color__indicator{position:absolute;background:#000;height:3px;width:20px;bottom:6px;left:auto;right:auto;margin:0 5px}.components-inline-color-popover .components-popover__content>div{padding:20px 18px}.components-inline-color-popover .components-popover__content .components-color-palette{margin-top:.6rem}.components-inline-color-popover .components-popover__content .components-base-control__title{display:block;margin-bottom:16px;font-weight:600;color:#191e23}.components-inline-color-popover .components-popover__content .component-color-indicator{vertical-align:text-bottom}.format-library-text-color-button{position:relative}.format-library-text-color-button__indicator{height:4px;width:20px;position:absolute;bottom:10px;left:8px} \ 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}@media (-webkit-min-device-pixel-ratio:2),(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-container-content{display:flex}.block-editor-format-toolbar__image-container-content .components-button{align-self:flex-end;height:30px;margin-bottom:8px;margin-right:8px;padding:0 6px}.block-editor-format-toolbar__image-container-value{margin:7px;flex-grow:1;flex-shrink:1;white-space:nowrap;min-width:150px;max-width:500px}.block-editor-format-toolbar__image-container-value.components-base-control .components-base-control__field{margin-bottom:0}.block-editor-format-toolbar__image-container-value.components-base-control .components-base-control__label{display:block}.block-editor-format-toolbar__link-container-content{display:flex}.block-editor-format-toolbar__link-container-value{margin:7px;flex-grow:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:150px;max-width:500px}.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{display:block;margin-bottom:16px;font-weight:600;color:#191e23}.components-inline-color-popover .components-popover__content .component-color-indicator{vertical-align:text-bottom} \ No newline at end of file diff --git a/wp-includes/css/dist/list-reusable-blocks/style-rtl.css b/wp-includes/css/dist/list-reusable-blocks/style-rtl.css index 452c1ac45b..323be7b9fa 100644 --- a/wp-includes/css/dist/list-reusable-blocks/style-rtl.css +++ b/wp-includes/css/dist/list-reusable-blocks/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -115,8 +124,11 @@ 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -127,8 +139,11 @@ body.admin-color-light { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -139,8 +154,11 @@ body.admin-color-modern { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -151,8 +169,11 @@ body.admin-color-blue { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -163,8 +184,11 @@ body.admin-color-coffee { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -175,8 +199,11 @@ body.admin-color-ectoplasm { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -187,8 +214,11 @@ body.admin-color-midnight { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -199,8 +229,11 @@ body.admin-color-ocean { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { diff --git a/wp-includes/css/dist/list-reusable-blocks/style-rtl.min.css b/wp-includes/css/dist/list-reusable-blocks/style-rtl.min.css index e85abb1445..cebe83a9b6 100644 --- a/wp-includes/css/dist/list-reusable-blocks/style-rtl.min.css +++ b/wp-includes/css/dist/list-reusable-blocks/style-rtl.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.list-reusable-blocks-import-dropdown__content .components-popover__content>div{padding:10px}.list-reusable-blocks-import-form__label{display:block;margin-bottom:10px}.list-reusable-blocks-import-form__button{margin-top:10px;margin-bottom:10px;float:left}.list-reusable-blocks-import-form .components-notice__content{margin:0}.list-reusable-blocks-import-form .components-notice.is-dismissible{padding-left:0;margin:5px 0}.list-reusable-blocks__container{display:inline-flex;align-items:center;position:relative;top:-3px}.list-reusable-blocks__container .components-button{height:26px}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-20:#006187;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#2145e6;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#07526c;--wp-admin-theme-color-darker-20:#064054;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#383330;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#46365d;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#dd382d;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#576e74;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#d97426;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.list-reusable-blocks-import-dropdown__content .components-popover__content>div{padding:10px}.list-reusable-blocks-import-form__label{display:block;margin-bottom:10px}.list-reusable-blocks-import-form__button{margin-top:10px;margin-bottom:10px;float:left}.list-reusable-blocks-import-form .components-notice__content{margin:0}.list-reusable-blocks-import-form .components-notice.is-dismissible{padding-left:0;margin:5px 0}.list-reusable-blocks__container{display:inline-flex;align-items:center;position:relative;top:-3px}.list-reusable-blocks__container .components-button{height:26px}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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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/list-reusable-blocks/style.css b/wp-includes/css/dist/list-reusable-blocks/style.css index f6cf582f89..72955bc170 100644 --- a/wp-includes/css/dist/list-reusable-blocks/style.css +++ b/wp-includes/css/dist/list-reusable-blocks/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -115,8 +124,11 @@ 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -127,8 +139,11 @@ body.admin-color-light { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -139,8 +154,11 @@ body.admin-color-modern { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -151,8 +169,11 @@ body.admin-color-blue { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -163,8 +184,11 @@ body.admin-color-coffee { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -175,8 +199,11 @@ body.admin-color-ectoplasm { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -187,8 +214,11 @@ body.admin-color-midnight { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -199,8 +229,11 @@ body.admin-color-ocean { 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 (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { diff --git a/wp-includes/css/dist/list-reusable-blocks/style.min.css b/wp-includes/css/dist/list-reusable-blocks/style.min.css index 3ba6f6933b..0875f9f929 100644 --- a/wp-includes/css/dist/list-reusable-blocks/style.min.css +++ b/wp-includes/css/dist/list-reusable-blocks/style.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.list-reusable-blocks-import-dropdown__content .components-popover__content>div{padding:10px}.list-reusable-blocks-import-form__label{display:block;margin-bottom:10px}.list-reusable-blocks-import-form__button{margin-top:10px;margin-bottom:10px;float:right}.list-reusable-blocks-import-form .components-notice__content{margin:0}.list-reusable-blocks-import-form .components-notice.is-dismissible{padding-right:0;margin:5px 0}.list-reusable-blocks__container{display:inline-flex;align-items:center;position:relative;top:-3px}.list-reusable-blocks__container .components-button{height:26px}body.admin-color-light{--wp-admin-theme-color:#0085ba;--wp-admin-theme-color-darker-10:#0073a1;--wp-admin-theme-color-darker-20:#006187;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#2145e6;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#07526c;--wp-admin-theme-color-darker-20:#064054;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#383330;--wp-admin-theme-color-darker-20:#2b2724;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#46365d;--wp-admin-theme-color-darker-20:#3a2c4d;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#dd382d;--wp-admin-theme-color-darker-20:#d02c21;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#576e74;--wp-admin-theme-color-darker-20:#4c6066;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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-darker-10:#d97426;--wp-admin-theme-color-darker-20:#c36922;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.list-reusable-blocks-import-dropdown__content .components-popover__content>div{padding:10px}.list-reusable-blocks-import-form__label{display:block;margin-bottom:10px}.list-reusable-blocks-import-form__button{margin-top:10px;margin-bottom:10px;float:right}.list-reusable-blocks-import-form .components-notice__content{margin:0}.list-reusable-blocks-import-form .components-notice.is-dismissible{padding-right:0;margin:5px 0}.list-reusable-blocks__container{display:inline-flex;align-items:center;position:relative;top:-3px}.list-reusable-blocks__container .components-button{height:26px}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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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 (-webkit-min-device-pixel-ratio:2),(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/nux/style-rtl.css b/wp-includes/css/dist/nux/style-rtl.css index 856bbaa7bf..a206452248 100644 --- a/wp-includes/css/dist/nux/style-rtl.css +++ b/wp-includes/css/dist/nux/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { diff --git a/wp-includes/css/dist/nux/style-rtl.min.css b/wp-includes/css/dist/nux/style-rtl.min.css index 7ab101ee13..d94ba30813 100644 --- a/wp-includes/css/dist/nux/style-rtl.min.css +++ b/wp-includes/css/dist/nux/style-rtl.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.nux-dot-tip:after,.nux-dot-tip:before{border-radius:100%;content:" ";pointer-events:none;position:absolute}.nux-dot-tip:before{animation:nux-pulse 1.6s cubic-bezier(.17,.67,.92,.62) infinite;background:rgba(0,115,156,.9);opacity:.9;height:24px;right:-12px;top:-12px;transform:scale(.3333333333);width:24px}.nux-dot-tip:after{background:#00739c;height:8px;right:-4px;top:-4px;width:8px}@keyframes nux-pulse{to{background:rgba(0,115,156,0);transform:scale(1)}}.nux-dot-tip .components-popover__content{width:350px}.nux-dot-tip .components-popover__content>div{padding:20px 18px}@media (min-width:600px){.nux-dot-tip .components-popover__content{width:450px}}.nux-dot-tip .components-popover__content .nux-dot-tip__disable{position:absolute;left:0;top:0}.nux-dot-tip[data-y-axis=top]{margin-top:-4px}.nux-dot-tip[data-y-axis=bottom]{margin-top:4px}.nux-dot-tip[data-y-axis=middle][data-y-axis=left]{margin-right:-4px}.nux-dot-tip[data-y-axis=middle][data-y-axis=right]{margin-right:4px}.nux-dot-tip[data-y-axis=top] .components-popover__content{margin-bottom:20px}.nux-dot-tip[data-y-axis=bottom] .components-popover__content{margin-top:20px}.nux-dot-tip[data-y-axis=middle][data-y-axis=left] .components-popover__content{margin-left:20px}.nux-dot-tip[data-y-axis=middle][data-y-axis=right] .components-popover__content{margin-right:20px}.nux-dot-tip[data-y-axis=center],.nux-dot-tip[data-y-axis=left],.nux-dot-tip[data-y-axis=right]{z-index:1000001}@media (max-width:600px){.nux-dot-tip[data-y-axis=center] .components-popover__content,.nux-dot-tip[data-y-axis=left] .components-popover__content,.nux-dot-tip[data-y-axis=right] .components-popover__content{align-self:end;right:5px;margin:20px 0 0;max-width:none!important;position:fixed;left:5px;width:auto}}.nux-dot-tip.components-popover:not([data-y-axis=middle])[data-y-axis=right] .components-popover__content{margin-left:0}.nux-dot-tip.components-popover:not([data-y-axis=middle])[data-y-axis=left] .components-popover__content{margin-right:0}.nux-dot-tip.components-popover.edit-post-more-menu__content:not([data-y-axis=middle])[data-y-axis=right] .components-popover__content{margin-left:-12px}.nux-dot-tip.components-popover.edit-post-more-menu__content:not([data-y-axis=middle])[data-y-axis=left] .components-popover__content{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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.nux-dot-tip:after,.nux-dot-tip:before{border-radius:100%;content:" ";pointer-events:none;position:absolute}.nux-dot-tip:before{animation:nux-pulse 1.6s cubic-bezier(.17,.67,.92,.62) infinite;background:rgba(0,115,156,.9);opacity:.9;height:24px;right:-12px;top:-12px;transform:scale(.3333333333);width:24px}.nux-dot-tip:after{background:#00739c;height:8px;right:-4px;top:-4px;width:8px}@keyframes nux-pulse{to{background:rgba(0,115,156,0);transform:scale(1)}}.nux-dot-tip .components-popover__content{width:350px}.nux-dot-tip .components-popover__content>div{padding:20px 18px}@media (min-width:600px){.nux-dot-tip .components-popover__content{width:450px}}.nux-dot-tip .components-popover__content .nux-dot-tip__disable{position:absolute;left:0;top:0}.nux-dot-tip[data-y-axis=top]{margin-top:-4px}.nux-dot-tip[data-y-axis=bottom]{margin-top:4px}.nux-dot-tip[data-y-axis=middle][data-y-axis=left]{margin-right:-4px}.nux-dot-tip[data-y-axis=middle][data-y-axis=right]{margin-right:4px}.nux-dot-tip[data-y-axis=top] .components-popover__content{margin-bottom:20px}.nux-dot-tip[data-y-axis=bottom] .components-popover__content{margin-top:20px}.nux-dot-tip[data-y-axis=middle][data-y-axis=left] .components-popover__content{margin-left:20px}.nux-dot-tip[data-y-axis=middle][data-y-axis=right] .components-popover__content{margin-right:20px}.nux-dot-tip[data-y-axis=center],.nux-dot-tip[data-y-axis=left],.nux-dot-tip[data-y-axis=right]{z-index:1000001}@media (max-width:600px){.nux-dot-tip[data-y-axis=center] .components-popover__content,.nux-dot-tip[data-y-axis=left] .components-popover__content,.nux-dot-tip[data-y-axis=right] .components-popover__content{align-self:end;right:5px;margin:20px 0 0;max-width:none!important;position:fixed;left:5px;width:auto}}.nux-dot-tip.components-popover:not([data-y-axis=middle])[data-y-axis=right] .components-popover__content{margin-left:0}.nux-dot-tip.components-popover:not([data-y-axis=middle])[data-y-axis=left] .components-popover__content{margin-right:0}.nux-dot-tip.components-popover.edit-post-more-menu__content:not([data-y-axis=middle])[data-y-axis=right] .components-popover__content{margin-left:-12px}.nux-dot-tip.components-popover.edit-post-more-menu__content:not([data-y-axis=middle])[data-y-axis=left] .components-popover__content{margin-right:-12px} \ No newline at end of file diff --git a/wp-includes/css/dist/nux/style.css b/wp-includes/css/dist/nux/style.css index a7836aba41..2c19fc07a1 100644 --- a/wp-includes/css/dist/nux/style.css +++ b/wp-includes/css/dist/nux/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { diff --git a/wp-includes/css/dist/nux/style.min.css b/wp-includes/css/dist/nux/style.min.css index d973d23725..340bf10252 100644 --- a/wp-includes/css/dist/nux/style.min.css +++ b/wp-includes/css/dist/nux/style.min.css @@ -1,4 +1,4 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.nux-dot-tip:after,.nux-dot-tip:before{border-radius:100%;content:" ";pointer-events:none;position:absolute}.nux-dot-tip:before{animation:nux-pulse 1.6s cubic-bezier(.17,.67,.92,.62) infinite;background:rgba(0,115,156,.9);opacity:.9;height:24px;left:-12px;top:-12px;transform:scale(.3333333333);width:24px}.nux-dot-tip:after{background:#00739c;height:8px;left:-4px;top:-4px;width:8px}@keyframes nux-pulse{to{background:rgba(0,115,156,0);transform:scale(1)}}.nux-dot-tip .components-popover__content{width:350px}.nux-dot-tip .components-popover__content>div{padding:20px 18px}@media (min-width:600px){.nux-dot-tip .components-popover__content{width:450px}}.nux-dot-tip .components-popover__content .nux-dot-tip__disable{position:absolute;right:0;top:0}.nux-dot-tip[data-y-axis=top]{margin-top:-4px}.nux-dot-tip[data-y-axis=bottom]{margin-top:4px}.nux-dot-tip[data-y-axis=middle][data-y-axis=left]{margin-left:-4px}.nux-dot-tip[data-y-axis=middle][data-y-axis=right]{margin-left:4px}.nux-dot-tip[data-y-axis=top] .components-popover__content{margin-bottom:20px}.nux-dot-tip[data-y-axis=bottom] .components-popover__content{margin-top:20px}.nux-dot-tip[data-y-axis=middle][data-y-axis=left] .components-popover__content{margin-right:20px}.nux-dot-tip[data-y-axis=middle][data-y-axis=right] .components-popover__content{margin-left:20px}.nux-dot-tip[data-y-axis=center],.nux-dot-tip[data-y-axis=left],.nux-dot-tip[data-y-axis=right]{z-index:1000001}@media (max-width:600px){.nux-dot-tip[data-y-axis=center] .components-popover__content,.nux-dot-tip[data-y-axis=left] .components-popover__content,.nux-dot-tip[data-y-axis=right] .components-popover__content{align-self:end;left:5px;margin:20px 0 0;max-width:none!important;position:fixed;right:5px;width:auto}}.nux-dot-tip.components-popover:not([data-y-axis=middle])[data-y-axis=right] .components-popover__content{ +: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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.nux-dot-tip:after,.nux-dot-tip:before{border-radius:100%;content:" ";pointer-events:none;position:absolute}.nux-dot-tip:before{animation:nux-pulse 1.6s cubic-bezier(.17,.67,.92,.62) infinite;background:rgba(0,115,156,.9);opacity:.9;height:24px;left:-12px;top:-12px;transform:scale(.3333333333);width:24px}.nux-dot-tip:after{background:#00739c;height:8px;left:-4px;top:-4px;width:8px}@keyframes nux-pulse{to{background:rgba(0,115,156,0);transform:scale(1)}}.nux-dot-tip .components-popover__content{width:350px}.nux-dot-tip .components-popover__content>div{padding:20px 18px}@media (min-width:600px){.nux-dot-tip .components-popover__content{width:450px}}.nux-dot-tip .components-popover__content .nux-dot-tip__disable{position:absolute;right:0;top:0}.nux-dot-tip[data-y-axis=top]{margin-top:-4px}.nux-dot-tip[data-y-axis=bottom]{margin-top:4px}.nux-dot-tip[data-y-axis=middle][data-y-axis=left]{margin-left:-4px}.nux-dot-tip[data-y-axis=middle][data-y-axis=right]{margin-left:4px}.nux-dot-tip[data-y-axis=top] .components-popover__content{margin-bottom:20px}.nux-dot-tip[data-y-axis=bottom] .components-popover__content{margin-top:20px}.nux-dot-tip[data-y-axis=middle][data-y-axis=left] .components-popover__content{margin-right:20px}.nux-dot-tip[data-y-axis=middle][data-y-axis=right] .components-popover__content{margin-left:20px}.nux-dot-tip[data-y-axis=center],.nux-dot-tip[data-y-axis=left],.nux-dot-tip[data-y-axis=right]{z-index:1000001}@media (max-width:600px){.nux-dot-tip[data-y-axis=center] .components-popover__content,.nux-dot-tip[data-y-axis=left] .components-popover__content,.nux-dot-tip[data-y-axis=right] .components-popover__content{align-self:end;left:5px;margin:20px 0 0;max-width:none!important;position:fixed;right:5px;width:auto}}.nux-dot-tip.components-popover:not([data-y-axis=middle])[data-y-axis=right] .components-popover__content{ /*!rtl:ignore*/margin-left:0}.nux-dot-tip.components-popover:not([data-y-axis=middle])[data-y-axis=left] .components-popover__content{ /*!rtl:ignore*/margin-right:0}.nux-dot-tip.components-popover.edit-post-more-menu__content:not([data-y-axis=middle])[data-y-axis=right] .components-popover__content{ /*!rtl:ignore*/margin-left:-12px}.nux-dot-tip.components-popover.edit-post-more-menu__content:not([data-y-axis=middle])[data-y-axis=left] .components-popover__content{ diff --git a/wp-includes/css/dist/reusable-blocks/style-rtl.css b/wp-includes/css/dist/reusable-blocks/style-rtl.css index a9f10c0d19..d174e129e5 100644 --- a/wp-includes/css/dist/reusable-blocks/style-rtl.css +++ b/wp-includes/css/dist/reusable-blocks/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { diff --git a/wp-includes/css/dist/reusable-blocks/style-rtl.min.css b/wp-includes/css/dist/reusable-blocks/style-rtl.min.css index bfb3bc258d..75ca4b8897 100644 --- a/wp-includes/css/dist/reusable-blocks/style-rtl.min.css +++ b/wp-includes/css/dist/reusable-blocks/style-rtl.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.reusable-blocks-menu-items__convert-modal{z-index:1000001}.reusable-blocks-menu-items__convert-modal-actions{padding-top: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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.reusable-blocks-menu-items__convert-modal{z-index:1000001}.reusable-blocks-menu-items__convert-modal-actions{padding-top:12px} \ No newline at end of file diff --git a/wp-includes/css/dist/reusable-blocks/style.css b/wp-includes/css/dist/reusable-blocks/style.css index a9f10c0d19..d174e129e5 100644 --- a/wp-includes/css/dist/reusable-blocks/style.css +++ b/wp-includes/css/dist/reusable-blocks/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { diff --git a/wp-includes/css/dist/reusable-blocks/style.min.css b/wp-includes/css/dist/reusable-blocks/style.min.css index bfb3bc258d..75ca4b8897 100644 --- a/wp-includes/css/dist/reusable-blocks/style.min.css +++ b/wp-includes/css/dist/reusable-blocks/style.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.reusable-blocks-menu-items__convert-modal{z-index:1000001}.reusable-blocks-menu-items__convert-modal-actions{padding-top: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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.reusable-blocks-menu-items__convert-modal{z-index:1000001}.reusable-blocks-menu-items__convert-modal-actions{padding-top:12px} \ No newline at end of file diff --git a/wp-includes/css/dist/widgets/style-rtl.css b/wp-includes/css/dist/widgets/style-rtl.css index e018c2c9fd..464bda5d99 100644 --- a/wp-includes/css/dist/widgets/style-rtl.css +++ b/wp-includes/css/dist/widgets/style-rtl.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -230,4 +239,29 @@ .wp-block-legacy-widget .components-select-control__input { padding: 0; font-family: system-ui; +} + +.wp-block-widget-group.has-child-selected::after { + border-radius: 2px; + border: 1px solid var(--wp-admin-theme-color); + bottom: 0; + content: ""; + right: 0; + position: absolute; + left: 0; + top: 0; +} +.wp-block-widget-group .widget-title { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 18px; + font-weight: 600; +} + +.wp-block-widget-group__placeholder .block-editor-inserter { + width: 100%; +} + +.is-dark-theme .wp-block-widget-group__placeholder .block-editor-button-block-appender { + box-shadow: inset 0 0 0 1px #1e1e1e; + color: #1e1e1e; } \ No newline at end of file diff --git a/wp-includes/css/dist/widgets/style-rtl.min.css b/wp-includes/css/dist/widgets/style-rtl.min.css index 0f61b8d67d..9563642384 100644 --- a/wp-includes/css/dist/widgets/style-rtl.min.css +++ b/wp-includes/css/dist/widgets/style-rtl.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-block-legacy-widget__edit-form{background:#fff;border-radius:2px;border:1px solid #1e1e1e;padding:11px}.wp-block-legacy-widget__edit-form:not([hidden]){display:flow-root}.wp-block-legacy-widget__edit-form .wp-block-legacy-widget__edit-form-title{color:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:14px;font-weight:600;margin:0 0 12px}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside{border:none;box-shadow:none;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside p{margin:8px 0}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside label{font-size:13px;line-height:2.1}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside a,.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input,.wp-block-legacy-widget__edit-form .widget-inside.widget-inside label{font-family:system-ui;font-weight:400;color:#000}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=date],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=datetime-local],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=datetime],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=email],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=month],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=number],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=password],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=search],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=tel],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=text],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=time],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=url],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=week],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside select{font-family:system-ui;background-color:initial;box-sizing:border-box;border:1px solid #757575;border-radius:3px;box-shadow:none;color:#000;display:block;margin:0;width:100%;font-size:13px;font-weight:400;line-height:1;min-height:30px;padding-right:8px;padding-top:8px;padding-bottom:8px}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside select{padding-right:4px}.wp-block-legacy-widget__edit-form .widget.open,.wp-block-legacy-widget__edit-form .widget.open:focus-within{z-index:0}.wp-block-legacy-widget__edit-form.wp-block-legacy-widget__edit-form,.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview{color:#000}.wp-block-legacy-widget__edit-no-preview,.wp-block-legacy-widget__edit-preview{cursor:pointer}.wp-block-legacy-widget__edit-no-preview:hover:after,.wp-block-legacy-widget__edit-preview:hover:after{border-radius:2px;border:1px solid #949494;bottom:0;content:"";right:0;position:absolute;left:0;top:0}.wp-block-legacy-widget__edit-preview.is-offscreen{right:-9999px;position:absolute;top:0;width:100%}.wp-block-legacy-widget__edit-preview-iframe{overflow:hidden;width:100%}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview{background:#f0f0f0;padding:8px 12px}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview,.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview h3,.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview h3{font-size:14px;font-weight:600;margin:4px 0}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview p{margin:4px 0}.wp-block-legacy-widget-inspector-card{padding:0 52px 16px 16px}.interface-complementary-area .wp-block-legacy-widget-inspector-card__name{margin:0 0 5px;font-weight:500}.is-selected .wp-block-legacy-widget__container{padding:8px 12px;min-height:50px}.components-popover__content .wp-block-legacy-widget__edit-form{min-width:400px}.wp-block-legacy-widget .components-base-control{width:100%}.wp-block-legacy-widget .components-select-control__input{padding:0;font-family:system-ui} \ 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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-block-legacy-widget__edit-form{background:#fff;border-radius:2px;border:1px solid #1e1e1e;padding:11px}.wp-block-legacy-widget__edit-form:not([hidden]){display:flow-root}.wp-block-legacy-widget__edit-form .wp-block-legacy-widget__edit-form-title{color:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:14px;font-weight:600;margin:0 0 12px}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside{border:none;box-shadow:none;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside p{margin:8px 0}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside label{font-size:13px;line-height:2.1}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside a,.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input,.wp-block-legacy-widget__edit-form .widget-inside.widget-inside label{font-family:system-ui;font-weight:400;color:#000}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=date],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=datetime-local],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=datetime],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=email],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=month],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=number],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=password],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=search],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=tel],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=text],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=time],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=url],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=week],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside select{font-family:system-ui;background-color:initial;box-sizing:border-box;border:1px solid #757575;border-radius:3px;box-shadow:none;color:#000;display:block;margin:0;width:100%;font-size:13px;font-weight:400;line-height:1;min-height:30px;padding-right:8px;padding-top:8px;padding-bottom:8px}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside select{padding-right:4px}.wp-block-legacy-widget__edit-form .widget.open,.wp-block-legacy-widget__edit-form .widget.open:focus-within{z-index:0}.wp-block-legacy-widget__edit-form.wp-block-legacy-widget__edit-form,.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview{color:#000}.wp-block-legacy-widget__edit-no-preview,.wp-block-legacy-widget__edit-preview{cursor:pointer}.wp-block-legacy-widget__edit-no-preview:hover:after,.wp-block-legacy-widget__edit-preview:hover:after{border-radius:2px;border:1px solid #949494;bottom:0;content:"";right:0;position:absolute;left:0;top:0}.wp-block-legacy-widget__edit-preview.is-offscreen{right:-9999px;position:absolute;top:0;width:100%}.wp-block-legacy-widget__edit-preview-iframe{overflow:hidden;width:100%}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview{background:#f0f0f0;padding:8px 12px}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview,.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview h3,.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview h3{font-size:14px;font-weight:600;margin:4px 0}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview p{margin:4px 0}.wp-block-legacy-widget-inspector-card{padding:0 52px 16px 16px}.interface-complementary-area .wp-block-legacy-widget-inspector-card__name{margin:0 0 5px;font-weight:500}.is-selected .wp-block-legacy-widget__container{padding:8px 12px;min-height:50px}.components-popover__content .wp-block-legacy-widget__edit-form{min-width:400px}.wp-block-legacy-widget .components-base-control{width:100%}.wp-block-legacy-widget .components-select-control__input{padding:0;font-family:system-ui}.wp-block-widget-group.has-child-selected:after{border-radius:2px;border:1px solid var(--wp-admin-theme-color);bottom:0;content:"";right:0;position:absolute;left:0;top:0}.wp-block-widget-group .widget-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:18px;font-weight:600}.wp-block-widget-group__placeholder .block-editor-inserter{width:100%}.is-dark-theme .wp-block-widget-group__placeholder .block-editor-button-block-appender{box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e} \ No newline at end of file diff --git a/wp-includes/css/dist/widgets/style.css b/wp-includes/css/dist/widgets/style.css index aa7f5f2a80..54ed7eeb0f 100644 --- a/wp-includes/css/dist/widgets/style.css +++ b/wp-includes/css/dist/widgets/style.css @@ -40,6 +40,12 @@ * React Native specific. * These variables do not appear to be used anywhere else. */ +/** +* Converts a hex value into the rgb equivalent. +* +* @param {string} hex - the hexadecimal value to convert +* @return {string} comma separated rgb values +*/ /** * Breakpoint mixins */ @@ -70,8 +76,11 @@ */ :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; } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { @@ -230,4 +239,29 @@ .wp-block-legacy-widget .components-select-control__input { padding: 0; font-family: system-ui; +} + +.wp-block-widget-group.has-child-selected::after { + border-radius: 2px; + border: 1px solid var(--wp-admin-theme-color); + bottom: 0; + content: ""; + left: 0; + position: absolute; + right: 0; + top: 0; +} +.wp-block-widget-group .widget-title { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 18px; + font-weight: 600; +} + +.wp-block-widget-group__placeholder .block-editor-inserter { + width: 100%; +} + +.is-dark-theme .wp-block-widget-group__placeholder .block-editor-button-block-appender { + box-shadow: inset 0 0 0 1px #1e1e1e; + color: #1e1e1e; } \ No newline at end of file diff --git a/wp-includes/css/dist/widgets/style.min.css b/wp-includes/css/dist/widgets/style.min.css index fd95d3f8fd..5e103caa1a 100644 --- a/wp-includes/css/dist/widgets/style.min.css +++ b/wp-includes/css/dist/widgets/style.min.css @@ -1 +1 @@ -:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-block-legacy-widget__edit-form{background:#fff;border-radius:2px;border:1px solid #1e1e1e;padding:11px}.wp-block-legacy-widget__edit-form:not([hidden]){display:flow-root}.wp-block-legacy-widget__edit-form .wp-block-legacy-widget__edit-form-title{color:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:14px;font-weight:600;margin:0 0 12px}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside{border:none;box-shadow:none;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside p{margin:8px 0}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside label{font-size:13px;line-height:2.1}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside a,.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input,.wp-block-legacy-widget__edit-form .widget-inside.widget-inside label{font-family:system-ui;font-weight:400;color:#000}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=date],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=datetime-local],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=datetime],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=email],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=month],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=number],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=password],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=search],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=tel],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=text],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=time],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=url],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=week],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside select{font-family:system-ui;background-color:initial;box-sizing:border-box;border:1px solid #757575;border-radius:3px;box-shadow:none;color:#000;display:block;margin:0;width:100%;font-size:13px;font-weight:400;line-height:1;min-height:30px;padding-left:8px;padding-top:8px;padding-bottom:8px}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside select{padding-left:4px}.wp-block-legacy-widget__edit-form .widget.open,.wp-block-legacy-widget__edit-form .widget.open:focus-within{z-index:0}.wp-block-legacy-widget__edit-form.wp-block-legacy-widget__edit-form,.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview{color:#000}.wp-block-legacy-widget__edit-no-preview,.wp-block-legacy-widget__edit-preview{cursor:pointer}.wp-block-legacy-widget__edit-no-preview:hover:after,.wp-block-legacy-widget__edit-preview:hover:after{border-radius:2px;border:1px solid #949494;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.wp-block-legacy-widget__edit-preview.is-offscreen{left:-9999px;position:absolute;top:0;width:100%}.wp-block-legacy-widget__edit-preview-iframe{overflow:hidden;width:100%}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview{background:#f0f0f0;padding:8px 12px}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview,.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview h3,.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview h3{font-size:14px;font-weight:600;margin:4px 0}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview p{margin:4px 0}.wp-block-legacy-widget-inspector-card{padding:0 16px 16px 52px}.interface-complementary-area .wp-block-legacy-widget-inspector-card__name{margin:0 0 5px;font-weight:500}.is-selected .wp-block-legacy-widget__container{padding:8px 12px;min-height:50px}.components-popover__content .wp-block-legacy-widget__edit-form{min-width:400px}.wp-block-legacy-widget .components-base-control{width:100%}.wp-block-legacy-widget .components-select-control__input{padding:0;font-family:system-ui} \ 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}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-block-legacy-widget__edit-form{background:#fff;border-radius:2px;border:1px solid #1e1e1e;padding:11px}.wp-block-legacy-widget__edit-form:not([hidden]){display:flow-root}.wp-block-legacy-widget__edit-form .wp-block-legacy-widget__edit-form-title{color:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:14px;font-weight:600;margin:0 0 12px}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside{border:none;box-shadow:none;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside p{margin:8px 0}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside label{font-size:13px;line-height:2.1}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside a,.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input,.wp-block-legacy-widget__edit-form .widget-inside.widget-inside label{font-family:system-ui;font-weight:400;color:#000}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=date],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=datetime-local],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=datetime],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=email],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=month],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=number],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=password],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=search],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=tel],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=text],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=time],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=url],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside input[type=week],.wp-block-legacy-widget__edit-form .widget-inside.widget-inside select{font-family:system-ui;background-color:initial;box-sizing:border-box;border:1px solid #757575;border-radius:3px;box-shadow:none;color:#000;display:block;margin:0;width:100%;font-size:13px;font-weight:400;line-height:1;min-height:30px;padding-left:8px;padding-top:8px;padding-bottom:8px}.wp-block-legacy-widget__edit-form .widget-inside.widget-inside select{padding-left:4px}.wp-block-legacy-widget__edit-form .widget.open,.wp-block-legacy-widget__edit-form .widget.open:focus-within{z-index:0}.wp-block-legacy-widget__edit-form.wp-block-legacy-widget__edit-form,.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview{color:#000}.wp-block-legacy-widget__edit-no-preview,.wp-block-legacy-widget__edit-preview{cursor:pointer}.wp-block-legacy-widget__edit-no-preview:hover:after,.wp-block-legacy-widget__edit-preview:hover:after{border-radius:2px;border:1px solid #949494;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.wp-block-legacy-widget__edit-preview.is-offscreen{left:-9999px;position:absolute;top:0;width:100%}.wp-block-legacy-widget__edit-preview-iframe{overflow:hidden;width:100%}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview{background:#f0f0f0;padding:8px 12px}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview,.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview h3,.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview h3{font-size:14px;font-weight:600;margin:4px 0}.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview.wp-block-legacy-widget__edit-no-preview p{margin:4px 0}.wp-block-legacy-widget-inspector-card{padding:0 16px 16px 52px}.interface-complementary-area .wp-block-legacy-widget-inspector-card__name{margin:0 0 5px;font-weight:500}.is-selected .wp-block-legacy-widget__container{padding:8px 12px;min-height:50px}.components-popover__content .wp-block-legacy-widget__edit-form{min-width:400px}.wp-block-legacy-widget .components-base-control{width:100%}.wp-block-legacy-widget .components-select-control__input{padding:0;font-family:system-ui}.wp-block-widget-group.has-child-selected:after{border-radius:2px;border:1px solid var(--wp-admin-theme-color);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.wp-block-widget-group .widget-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:18px;font-weight:600}.wp-block-widget-group__placeholder .block-editor-inserter{width:100%}.is-dark-theme .wp-block-widget-group__placeholder .block-editor-button-block-appender{box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e} \ No newline at end of file diff --git a/wp-includes/js/dist/a11y.js b/wp-includes/js/dist/a11y.js index 6bafb0a570..ba77e43f85 100644 --- a/wp-includes/js/dist/a11y.js +++ b/wp-includes/js/dist/a11y.js @@ -264,7 +264,7 @@ external_wp_domReady_default()(setup); * Allows you to easily announce dynamic interface updates to screen readers using ARIA live regions. * This module is inspired by the `speak` function in `wp-a11y.js`. * - * @param {string} message The message to be announced by assistive technologies. + * @param {string} message The message to be announced by assistive technologies. * @param {string} [ariaLive] The politeness level for aria-live; default: 'polite'. * * @example diff --git a/wp-includes/js/dist/annotations.js b/wp-includes/js/dist/annotations.js index 583fcf3f01..c9ea499d55 100644 --- a/wp-includes/js/dist/annotations.js +++ b/wp-includes/js/dist/annotations.js @@ -150,8 +150,8 @@ const ANNOTATION_ATTRIBUTE_PREFIX = 'annotation-text-'; /** * Applies given annotations to the given record. * - * @param {Object} record The record to apply annotations to. - * @param {Array} annotations The annotation to apply. + * @param {Object} record The record to apply annotations to. + * @param {Array} annotations The annotation to apply. * @return {Object} A record with the annotations applied. */ @@ -509,7 +509,7 @@ const EMPTY_ARRAY = []; /** * Returns the annotations for a specific client ID. * - * @param {Object} state Editor state. + * @param {Object} state Editor state. * @param {string} clientId The ID of the block to get the annotations for. * * @return {Array} The annotations applicable to this block. @@ -653,8 +653,8 @@ function __experimentalRemoveAnnotation(annotationId) { * Updates the range of an annotation. * * @param {string} annotationId ID of the annotation to update. - * @param {number} start The start of the new range. - * @param {number} end The end of the new range. + * @param {number} start The start of the new range. + * @param {number} end The end of the new range. * * @return {Object} Action object. */ diff --git a/wp-includes/js/dist/api-fetch.js b/wp-includes/js/dist/api-fetch.js index d6f5d2363c..1ad0a00687 100644 --- a/wp-includes/js/dist/api-fetch.js +++ b/wp-includes/js/dist/api-fetch.js @@ -207,33 +207,14 @@ const createRootURLMiddleware = rootURL => (options, next) => { /* harmony default export */ var root_url = (createRootURLMiddleware); +// EXTERNAL MODULE: external ["wp","url"] +var external_wp_url_ = __webpack_require__("Mmq9"); + // CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/preloading.js /** - * Given a path, returns a normalized path where equal query parameter values - * will be treated as identical, regardless of order they appear in the original - * text. - * - * @param {string} path Original path. - * - * @return {string} Normalized path. + * WordPress dependencies */ -function getStablePath(path) { - const splitted = path.split('?'); - const query = splitted[1]; - const base = splitted[0]; - if (!query) { - return base; - } // 'b=1&c=2&a=5' - - - return base + '?' + query // [ 'b=1', 'c=2', 'a=5' ] - .split('&') // [ [ 'b, '1' ], [ 'c', '2' ], [ 'a', '5' ] ] - .map(entry => entry.split('=')) // [ [ 'a', '5' ], [ 'b, '1' ], [ 'c', '2' ] ] - .sort((a, b) => a[0].localeCompare(b[0])) // [ 'a=5', 'b=1', 'c=2' ] - .map(pair => pair.join('=')) // 'a=5&b=1&c=2' - .join('&'); -} /** * @param {Record} preloadedData * @return {import('../types').APIFetchMiddleware} Preloading middleware. @@ -241,7 +222,7 @@ function getStablePath(path) { function createPreloadingMiddleware(preloadedData) { const cache = Object.keys(preloadedData).reduce((result, path) => { - result[getStablePath(path)] = preloadedData[path]; + result[Object(external_wp_url_["normalizePath"])(path)] = preloadedData[path]; return result; }, /** @type {Record} */ @@ -250,13 +231,24 @@ function createPreloadingMiddleware(preloadedData) { const { parse = true } = options; + /** @type {string | void} */ - if (typeof options.path === 'string') { + let rawPath = options.path; + + if (!rawPath && options.url) { + const pathFromQuery = Object(external_wp_url_["getQueryArg"])(options.url, 'rest_route'); + + if (typeof pathFromQuery === 'string') { + rawPath = pathFromQuery; + } + } + + if (typeof rawPath === 'string') { const method = options.method || 'GET'; - const path = getStablePath(options.path); + const path = Object(external_wp_url_["normalizePath"])(rawPath); if ('GET' === method && cache[path]) { - const cacheData = cache[path]; // Unsetting the cache key ensures that the data is only preloaded a single time + const cacheData = cache[path]; // Unsetting the cache key ensures that the data is only used a single time delete cache[path]; return Promise.resolve(parse ? cacheData.body : new window.Response(JSON.stringify(cacheData.body), { @@ -265,7 +257,10 @@ function createPreloadingMiddleware(preloadedData) { headers: cacheData.headers })); } else if ('OPTIONS' === method && cache[method] && cache[method][path]) { - return Promise.resolve(parse ? cache[method][path].body : cache[method][path]); + const cacheData = cache[method][path]; // Unsetting the cache key ensures that the data is only used a single time + + delete cache[method][path]; + return Promise.resolve(parse ? cacheData.body : cacheData); } } @@ -275,9 +270,6 @@ function createPreloadingMiddleware(preloadedData) { /* harmony default export */ var preloading = (createPreloadingMiddleware); -// EXTERNAL MODULE: external ["wp","url"] -var external_wp_url_ = __webpack_require__("Mmq9"); - // CONCATENATED MODULE: ./node_modules/@wordpress/api-fetch/build-module/middlewares/fetch-all-middleware.js /** * WordPress dependencies @@ -292,7 +284,7 @@ var external_wp_url_ = __webpack_require__("Mmq9"); * Apply query arguments to both URL and Path, whichever is present. * * @param {import('../types').APIFetchOptions} props - * @param {Record} queryArgs + * @param {Record} queryArgs * @return {import('../types').APIFetchOptions} The request with the modified query args */ @@ -554,7 +546,7 @@ const parseResponseAndNormalizeError = (response, shouldParseResponse = true) => * Parses a response, throwing an error if parsing the response fails. * * @param {Response} response - * @param {boolean} shouldParseResponse + * @param {boolean} shouldParseResponse * @return {Promise} Parsed response. */ @@ -582,16 +574,25 @@ function parseAndThrowError(response, shouldParseResponse = true) { */ +/** + * @param {import('../types').APIFetchOptions} options + * @return {boolean} True if the request is for media upload. + */ + +function isMediaUploadRequest(options) { + const isCreateMethod = !!options.method && options.method === 'POST'; + const isMediaEndpoint = !!options.path && options.path.indexOf('/wp/v2/media') !== -1 || !!options.url && options.url.indexOf('/wp/v2/media') !== -1; + return isMediaEndpoint && isCreateMethod; +} /** * Middleware handling media upload failures and retries. * * @type {import('../types').APIFetchMiddleware} */ -const mediaUploadMiddleware = (options, next) => { - const isMediaUploadRequest = options.path && options.path.indexOf('/wp/v2/media') !== -1 || options.url && options.url.indexOf('/wp/v2/media') !== -1; - if (!isMediaUploadRequest) { +const mediaUploadMiddleware = (options, next) => { + if (!isMediaUploadRequest(options)) { return next(options); } @@ -759,10 +760,14 @@ const defaultFetchHandler = nextOptions => { body, headers }); - return responsePromise // Return early if fetch errors. If fetch error, there is most likely no - // network connection. Unfortunately fetch just throws a TypeError and - // the message might depend on the browser. - .then(value => Promise.resolve(value).then(checkStatus).catch(response => parseAndThrowError(response, parse)).then(response => parseResponseAndNormalizeError(response, parse)), () => { + return responsePromise.then(value => Promise.resolve(value).then(checkStatus).catch(response => parseAndThrowError(response, parse)).then(response => parseResponseAndNormalizeError(response, parse)), err => { + // Re-throw AbortError for the users to handle it themselves. + if (err && err.name === 'AbortError') { + throw err; + } // Otherwise, there is most likely no network connection. + // Unfortunately the message might depend on the browser. + + throw { code: 'fetch_error', message: Object(external_wp_i18n_["__"])('You are probably offline.') diff --git a/wp-includes/js/dist/api-fetch.min.js b/wp-includes/js/dist/api-fetch.min.js index 516596e4e4..02597748b9 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 */ -this.wp=this.wp||{},this.wp.apiFetch=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s="jqrR")}({Mmq9:function(e,t){e.exports=window.wp.url},jqrR:function(e,t,r){"use strict";r.r(t);var n=r("l3Sj");var o=function(e){const t=(e,r)=>{const{headers:n={}}=e;for(const o in n)if("x-wp-nonce"===o.toLowerCase()&&n[o]===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,o=e.path;return"string"==typeof e.namespace&&"string"==typeof e.endpoint&&(r=e.namespace.replace(/^\/|\/$/g,""),n=e.endpoint.replace(/^\//,""),o=n?r+"/"+n:r),delete e.namespace,delete e.endpoint,t({...e,path:o})};var s=e=>(t,r)=>a(t,t=>{let n,o=t.url,a=t.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),r({...t,url:o})});function c(e){const t=e.split("?"),r=t[1],n=t[0];return r?n+"?"+r.split("&").map(e=>e.split("=")).sort((e,t)=>e[0].localeCompare(t[0])).map(e=>e.join("=")).join("&"):n}var i=function(e){const t=Object.keys(e).reduce((t,r)=>(t[c(r)]=e[r],t),{});return(e,r)=>{const{parse:n=!0}=e;if("string"==typeof e.path){const r=e.method||"GET",o=c(e.path);if("GET"===r&&t[o]){const e=t[o];return delete t[o],Promise.resolve(n?e.body:new window.Response(JSON.stringify(e.body),{status:200,statusText:"OK",headers:e.headers}))}if("OPTIONS"===r&&t[r]&&t[r][o])return Promise.resolve(n?t[r][o].body:t[r][o])}return r(e)}},u=r("Mmq9");const p=({path:e,url:t,...r},n)=>({...r,url:t&&Object(u.addQueryArgs)(t,n),path:e&&Object(u.addQueryArgs)(e,n)}),d=e=>e.json?e.json():Promise.reject(e),l=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 f=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 x({...p(e,{per_page:100}),parse:!1}),n=await d(r);if(!Array.isArray(n))return n;let o=l(r);if(!o)return n;let a=[].concat(n);for(;o;){const t=await x({...e,path:void 0,url:o,parse:!1}),r=await d(t);a=a.concat(r),o=l(t)}return a};const h=new Set(["PATCH","PUT","DELETE"]),w="GET";const m=(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=>j(e,t));function j(e,t=!0){if(!t)throw e;return(e=>{const t={code:"invalid_json",message:Object(n.__)("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:Object(n.__)("An unknown error occurred.")};throw e||t})}var y=(e,t)=>{if(!(e.path&&-1!==e.path.indexOf("/wp/v2/media")||e.url&&-1!==e.url.indexOf("/wp/v2/media")))return t(e);let r=0;const o=e=>(r++,t({path:`/wp/v2/media/${e}/post-process`,method:"POST",data:{action:"create-image-subsizes"},parse:!1}).catch(()=>r<5?o(e):(t({path:`/wp/v2/media/${e}?force=true`,method:"DELETE"}),Promise.reject())));return t({...e,parse:!1}).catch(t=>{const r=t.headers.get("x-wp-upload-attachment-id");return t.status>=500&&t.status<600&&r?o(r).catch(()=>!1!==e.parse?Promise.reject({code:"post_process",message:Object(n.__)("Media upload failed. If this is a photo or a large image, please scale it down and try again.")}):Promise.reject(t)):j(t,e.parse)}).then(t=>m(t,e.parse))};const g={Accept:"application/json, */*;q=0.1"},O={credentials:"include"},b=[(e,t)=>("string"!=typeof e.url||Object(u.hasQueryArg)(e.url,"_locale")||(e.url=Object(u.addQueryArgs)(e.url,{_locale:"user"})),"string"!=typeof e.path||Object(u.hasQueryArg)(e.path,"_locale")||(e.path=Object(u.addQueryArgs)(e.path,{_locale:"user"})),t(e)),a,(e,t)=>{const{method:r=w}=e;return h.has(r.toUpperCase())&&(e={...e,headers:{...e.headers,"X-HTTP-Method-Override":r,"Content-Type":"application/json"},method:"POST"}),t(e)},f];const v=e=>{if(e.status>=200&&e.status<300)return e;throw e};let _=e=>{const{url:t,path:r,data:o,parse:a=!0,...s}=e;let{body:c,headers:i}=e;i={...g,...i},o&&(c=JSON.stringify(o),i["Content-Type"]="application/json");return window.fetch(t||r||window.location.href,{...O,...s,body:c,headers:i}).then(e=>Promise.resolve(e).then(v).catch(e=>j(e,a)).then(e=>m(e,a)),()=>{throw{code:"fetch_error",message:Object(n.__)("You are probably offline.")}})};function P(e){return b.reduceRight((e,t)=>r=>t(r,e),_)(e).catch(t=>"rest_cookie_invalid_nonce"!==t.code?Promise.reject(t):window.fetch(P.nonceEndpoint).then(v).then(e=>e.text()).then(t=>(P.nonceMiddleware.nonce=t,P(e))))}P.use=function(e){b.unshift(e)},P.setFetchHandler=function(e){_=e},P.createNonceMiddleware=o,P.createPreloadingMiddleware=i,P.createRootURLMiddleware=s,P.fetchAllMiddleware=f,P.mediaUploadMiddleware=y;var x=t.default=P},l3Sj:function(e,t){e.exports=window.wp.i18n}}).default; \ No newline at end of file +this.wp=this.wp||{},this.wp.apiFetch=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s="jqrR")}({Mmq9:function(e,t){e.exports=window.wp.url},jqrR:function(e,t,r){"use strict";r.r(t);var n=r("l3Sj");var o=function(e){const t=(e,r)=>{const{headers:n={}}=e;for(const o in n)if("x-wp-nonce"===o.toLowerCase()&&n[o]===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,o=e.path;return"string"==typeof e.namespace&&"string"==typeof e.endpoint&&(r=e.namespace.replace(/^\/|\/$/g,""),n=e.endpoint.replace(/^\//,""),o=n?r+"/"+n:r),delete e.namespace,delete e.endpoint,t({...e,path:o})};var s=e=>(t,r)=>a(t,t=>{let n,o=t.url,a=t.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),r({...t,url:o})}),c=r("Mmq9");var i=function(e){const t=Object.keys(e).reduce((t,r)=>(t[Object(c.normalizePath)(r)]=e[r],t),{});return(e,r)=>{const{parse:n=!0}=e;let o=e.path;if(!o&&e.url){const t=Object(c.getQueryArg)(e.url,"rest_route");"string"==typeof t&&(o=t)}if("string"==typeof o){const r=e.method||"GET",a=Object(c.normalizePath)(o);if("GET"===r&&t[a]){const e=t[a];return delete t[a],Promise.resolve(n?e.body:new window.Response(JSON.stringify(e.body),{status:200,statusText:"OK",headers:e.headers}))}if("OPTIONS"===r&&t[r]&&t[r][a]){const e=t[r][a];return delete t[r][a],Promise.resolve(n?e.body:e)}}return r(e)}};const u=({path:e,url:t,...r},n)=>({...r,url:t&&Object(c.addQueryArgs)(t,n),path:e&&Object(c.addQueryArgs)(e,n)}),d=e=>e.json?e.json():Promise.reject(e),l=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 p=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 P({...u(e,{per_page:100}),parse:!1}),n=await d(r);if(!Array.isArray(n))return n;let o=l(r);if(!o)return n;let a=[].concat(n);for(;o;){const t=await P({...e,path:void 0,url:o,parse:!1}),r=await d(t);a=a.concat(r),o=l(t)}return a};const f=new Set(["PATCH","PUT","DELETE"]),h="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:Object(n.__)("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:Object(n.__)("An unknown error occurred.")};throw e||t})}var y=(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 r=0;const o=e=>(r++,t({path:`/wp/v2/media/${e}/post-process`,method:"POST",data:{action:"create-image-subsizes"},parse:!1}).catch(()=>r<5?o(e):(t({path:`/wp/v2/media/${e}?force=true`,method:"DELETE"}),Promise.reject())));return t({...e,parse:!1}).catch(t=>{const r=t.headers.get("x-wp-upload-attachment-id");return t.status>=500&&t.status<600&&r?o(r).catch(()=>!1!==e.parse?Promise.reject({code:"post_process",message:Object(n.__)("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))};const j={Accept:"application/json, */*;q=0.1"},g={credentials:"include"},O=[(e,t)=>("string"!=typeof e.url||Object(c.hasQueryArg)(e.url,"_locale")||(e.url=Object(c.addQueryArgs)(e.url,{_locale:"user"})),"string"!=typeof e.path||Object(c.hasQueryArg)(e.path,"_locale")||(e.path=Object(c.addQueryArgs)(e.path,{_locale:"user"})),t(e)),a,(e,t)=>{const{method:r=h}=e;return f.has(r.toUpperCase())&&(e={...e,headers:{...e.headers,"X-HTTP-Method-Override":r,"Content-Type":"application/json"},method:"POST"}),t(e)},p];const b=e=>{if(e.status>=200&&e.status<300)return e;throw e};let v=e=>{const{url:t,path:r,data:o,parse:a=!0,...s}=e;let{body:c,headers:i}=e;i={...j,...i},o&&(c=JSON.stringify(o),i["Content-Type"]="application/json");return window.fetch(t||r||window.location.href,{...g,...s,body:c,headers:i}).then(e=>Promise.resolve(e).then(b).catch(e=>m(e,a)).then(e=>w(e,a)),e=>{if(e&&"AbortError"===e.name)throw e;throw{code:"fetch_error",message:Object(n.__)("You are probably offline.")}})};function _(e){return O.reduceRight((e,t)=>r=>t(r,e),v)(e).catch(t=>"rest_cookie_invalid_nonce"!==t.code?Promise.reject(t):window.fetch(_.nonceEndpoint).then(b).then(e=>e.text()).then(t=>(_.nonceMiddleware.nonce=t,_(e))))}_.use=function(e){O.unshift(e)},_.setFetchHandler=function(e){v=e},_.createNonceMiddleware=o,_.createPreloadingMiddleware=i,_.createRootURLMiddleware=s,_.fetchAllMiddleware=p,_.mediaUploadMiddleware=y;var P=t.default=_},l3Sj:function(e,t){e.exports=window.wp.i18n}}).default; \ No newline at end of file diff --git a/wp-includes/js/dist/autop.js b/wp-includes/js/dist/autop.js index 48b1eba55f..f239526307 100644 --- a/wp-includes/js/dist/autop.js +++ b/wp-includes/js/dist/autop.js @@ -132,8 +132,9 @@ const htmlSplitRegex = (() => { /** * Separate HTML elements and comments from the text. * - * @param {string} input The text which has to be formatted. - * @return {string[]} The formatted text. + * @param {string} input The text which has to be formatted. + * + * @return {string[]} The formatted text. */ @@ -164,9 +165,10 @@ function htmlSplit(input) { /** * Replace characters or phrases within HTML elements only. * - * @param {string} haystack The text which has to be formatted. - * @param {Record} replacePairs In the form {from: 'to', …}. - * @return {string} The formatted text. + * @param {string} haystack The text which has to be formatted. + * @param {Record} replacePairs In the form {from: 'to', …}. + * + * @return {string} The formatted text. */ @@ -203,9 +205,9 @@ function replaceInHtmlTags(haystack, replacePairs) { * replace double line-breaks with HTML paragraph tags. The remaining line- * breaks after conversion become `
    ` tags, unless br is set to 'false'. * - * @param {string} text The text which has to be formatted. - * @param {boolean} br Optional. If set, will convert all remaining line- - * breaks after paragraphing. Default true. + * @param {string} text The text which has to be formatted. + * @param {boolean} br Optional. If set, will convert all remaining line- + * breaks after paragraphing. Default true. * * @example *```js @@ -213,7 +215,7 @@ function replaceInHtmlTags(haystack, replacePairs) { * autop( 'my text' ); // "

    my text

    " * ``` * - * @return {string} Text which has been converted into paragraph tags. + * @return {string} Text which has been converted into paragraph tags. */ @@ -360,7 +362,7 @@ function autop(text, br = true) { * Replaces `

    ` tags with two line breaks except where the `

    ` has attributes. * Unifies whitespace. Indents `

  • `, `
    ` and `
    ` for better readability. * - * @param {string} html The content from the editor. + * @param {string} html The content from the editor. * * @example * ```js @@ -368,7 +370,7 @@ function autop(text, br = true) { * removep( '

    my text

    ' ); // "my text" * ``` * - * @return {string} The content with stripped paragraph tags. + * @return {string} The content with stripped paragraph tags. */ function removep(html) { diff --git a/wp-includes/js/dist/block-directory.js b/wp-includes/js/dist/block-directory.js index 94bc3662b5..800ec5d376 100644 --- a/wp-includes/js/dist/block-directory.js +++ b/wp-includes/js/dist/block-directory.js @@ -119,13 +119,6 @@ const blockDefault = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["cre /***/ }), -/***/ "51Zz": -/***/ (function(module, exports) { - -(function() { module.exports = window["wp"]["dataControls"]; }()); - -/***/ }), - /***/ "7f3f": /***/ (function(module, __webpack_exports__, __webpack_require__) { @@ -161,6 +154,11 @@ __webpack_require__.d(actions_namespaceObject, "setIsInstalling", function() { r __webpack_require__.d(actions_namespaceObject, "setErrorNotice", function() { return setErrorNotice; }); __webpack_require__.d(actions_namespaceObject, "clearErrorNotice", function() { return clearErrorNotice; }); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-directory/build-module/store/resolvers.js +var resolvers_namespaceObject = {}; +__webpack_require__.r(resolvers_namespaceObject); +__webpack_require__.d(resolvers_namespaceObject, "getDownloadableBlocks", function() { return resolvers_getDownloadableBlocks; }); + // EXTERNAL MODULE: external ["wp","element"] var external_wp_element_ = __webpack_require__("GRId"); @@ -179,9 +177,6 @@ var external_wp_data_ = __webpack_require__("1ZqX"); // EXTERNAL MODULE: external ["wp","editor"] var external_wp_editor_ = __webpack_require__("jSdM"); -// EXTERNAL MODULE: external ["wp","dataControls"] -var external_wp_dataControls_ = __webpack_require__("51Zz"); - // EXTERNAL MODULE: external "lodash" var external_lodash_ = __webpack_require__("YLtl"); @@ -297,8 +292,8 @@ var external_wp_blockEditor_ = __webpack_require__("axFQ"); * Check if a block list contains a specific block type. Recursively searches * through `innerBlocks` if they exist. * - * @param {Object} blockType A block object to search for. - * @param {Object[]} blocks The list of blocks to look through. + * @param {Object} blockType A block object to search for. + * @param {Object[]} blocks The list of blocks to look through. * * @return {boolean} Whether the blockType is found. */ @@ -343,11 +338,9 @@ function hasBlockType(blockType, blocks = []) { */ function selectors_isRequestingDownloadableBlocks(state, filterValue) { - if (!state.downloadableBlocks[filterValue] || !state.downloadableBlocks[filterValue].isRequesting) { - return false; - } + var _state$downloadableBl, _state$downloadableBl2; - return state.downloadableBlocks[filterValue].isRequesting; + return (_state$downloadableBl = (_state$downloadableBl2 = state.downloadableBlocks[filterValue]) === null || _state$downloadableBl2 === void 0 ? void 0 : _state$downloadableBl2.isRequesting) !== null && _state$downloadableBl !== void 0 ? _state$downloadableBl : false; } /** * Returns the available uninstalled blocks. @@ -359,11 +352,9 @@ function selectors_isRequestingDownloadableBlocks(state, filterValue) { */ function selectors_getDownloadableBlocks(state, filterValue) { - if (!state.downloadableBlocks[filterValue] || !state.downloadableBlocks[filterValue].results) { - return []; - } + var _state$downloadableBl3, _state$downloadableBl4; - return state.downloadableBlocks[filterValue].results; + return (_state$downloadableBl3 = (_state$downloadableBl4 = state.downloadableBlocks[filterValue]) === null || _state$downloadableBl4 === void 0 ? void 0 : _state$downloadableBl4.results) !== null && _state$downloadableBl3 !== void 0 ? _state$downloadableBl3 : []; } /** * Returns the block types that have been installed on the server in this @@ -444,14 +435,14 @@ function selectors_getErrorNoticeForBlock(state, blockId) { // EXTERNAL MODULE: external ["wp","i18n"] var external_wp_i18n_ = __webpack_require__("l3Sj"); -// EXTERNAL MODULE: external ["wp","notices"] -var external_wp_notices_ = __webpack_require__("onLe"); - // EXTERNAL MODULE: external ["wp","apiFetch"] var external_wp_apiFetch_ = __webpack_require__("ywyh"); var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/controls.js +// EXTERNAL MODULE: external ["wp","notices"] +var external_wp_notices_ = __webpack_require__("onLe"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/load-assets.js /** * WordPress dependencies */ @@ -497,46 +488,32 @@ const loadAsset = el => { }; /** * Load the asset files for a block - * - * @param {Array} assets A collection of URLs for the assets. - * - * @return {Object} Control descriptor. */ -function loadAssets(assets) { - return { - type: 'LOAD_ASSETS', - assets - }; -} -const controls = { - async LOAD_ASSETS() { - /* - * Fetch the current URL (post-new.php, or post.php?post=1&action=edit) and compare the - * JavaScript and CSS assets loaded between the pages. This imports the required assets - * for the block into the current page while not requiring that we know them up-front. - * In the future this can be improved by reliance upon block.json and/or a script-loader - * dependency API. - */ - const response = await external_wp_apiFetch_default()({ - url: document.location.href, - parse: false - }); - const data = await response.text(); - const doc = new window.DOMParser().parseFromString(data, 'text/html'); - const newAssets = Array.from(doc.querySelectorAll('link[rel="stylesheet"],script')).filter(asset => asset.id && !document.getElementById(asset.id)); - /* - * Load each asset in order, as they may depend upon an earlier loaded script. - * Stylesheets and Inline Scripts will resolve immediately upon insertion. - */ +async function loadAssets() { + /* + * Fetch the current URL (post-new.php, or post.php?post=1&action=edit) and compare the + * JavaScript and CSS assets loaded between the pages. This imports the required assets + * for the block into the current page while not requiring that we know them up-front. + * In the future this can be improved by reliance upon block.json and/or a script-loader + * dependency API. + */ + const response = await external_wp_apiFetch_default()({ + url: document.location.href, + parse: false + }); + const data = await response.text(); + const doc = new window.DOMParser().parseFromString(data, 'text/html'); + const newAssets = Array.from(doc.querySelectorAll('link[rel="stylesheet"],script')).filter(asset => asset.id && !document.getElementById(asset.id)); + /* + * Load each asset in order, as they may depend upon an earlier loaded script. + * Stylesheets and Inline Scripts will resolve immediately upon insertion. + */ - for (const newAsset of newAssets) { - await loadAsset(newAsset); - } + for (const newAsset of newAssets) { + await loadAsset(newAsset); } - -}; -/* harmony default export */ var store_controls = (controls); +} // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/utils/get-plugin-url.js /** @@ -568,7 +545,6 @@ function getPluginUrl(block) { - /** * Internal dependencies */ @@ -615,54 +591,56 @@ function receiveDownloadableBlocks(downloadableBlocks, filterValue) { * @return {boolean} Whether the block was successfully installed & loaded. */ -function* actions_installBlockType(block) { +const actions_installBlockType = block => async ({ + registry, + dispatch +}) => { const { - id, - assets + id } = block; let success = false; - yield clearErrorNotice(id); + dispatch.clearErrorNotice(id); try { - yield setIsInstalling(block.id, true); // If we have a wp:plugin link, the plugin is installed but inactive. + dispatch.setIsInstalling(id, true); // If we have a wp:plugin link, the plugin is installed but inactive. const url = getPluginUrl(block); let links = {}; if (url) { - yield Object(external_wp_dataControls_["apiFetch"])({ + await external_wp_apiFetch_default()({ + method: 'PUT', url, data: { status: 'active' - }, - method: 'PUT' + } }); } else { - const response = yield Object(external_wp_dataControls_["apiFetch"])({ + const response = await external_wp_apiFetch_default()({ + method: 'POST', path: 'wp/v2/plugins', data: { - slug: block.id, + slug: id, status: 'active' - }, - method: 'POST' + } }); // Add the `self` link for newly-installed blocks. links = response._links; } - yield addInstalledBlockType({ ...block, + dispatch.addInstalledBlockType({ ...block, links: { ...block.links, ...links } }); - yield loadAssets(assets); - const registeredBlocks = yield external_wp_data_["controls"].select(external_wp_blocks_["store"].name, 'getBlockTypes'); + await loadAssets(); + const registeredBlocks = registry.select(external_wp_blocks_["store"]).getBlockTypes(); if (!registeredBlocks.some(i => i.name === block.name)) { throw new Error(Object(external_wp_i18n_["__"])('Error registering block. Try reloading the page.')); } - yield external_wp_data_["controls"].dispatch(external_wp_notices_["store"], 'createInfoNotice', Object(external_wp_i18n_["sprintf"])( // translators: %s is the block title. + registry.dispatch(external_wp_notices_["store"]).createInfoNotice(Object(external_wp_i18n_["sprintf"])( // translators: %s is the block title. Object(external_wp_i18n_["__"])('Block %s installed and added.'), block.title), { speak: true, type: 'snackbar' @@ -684,40 +662,44 @@ function* actions_installBlockType(block) { message = fatalAPIErrors[error.code]; } - yield setErrorNotice(id, message, isFatal); - yield external_wp_data_["controls"].dispatch(external_wp_notices_["store"], 'createErrorNotice', message, { + dispatch.setErrorNotice(id, message, isFatal); + registry.dispatch(external_wp_notices_["store"]).createErrorNotice(message, { speak: true, isDismissible: true }); } - yield setIsInstalling(block.id, false); + dispatch.setIsInstalling(id, false); return success; -} +}; /** * Action triggered to uninstall a block plugin. * * @param {Object} block The blockType object. */ -function* actions_uninstallBlockType(block) { +const actions_uninstallBlockType = block => async ({ + registry, + dispatch +}) => { try { - yield Object(external_wp_dataControls_["apiFetch"])({ - url: getPluginUrl(block), + const url = getPluginUrl(block); + await external_wp_apiFetch_default()({ + method: 'PUT', + url, data: { status: 'inactive' - }, - method: 'PUT' + } }); - yield Object(external_wp_dataControls_["apiFetch"])({ - url: getPluginUrl(block), - method: 'DELETE' + await external_wp_apiFetch_default()({ + method: 'DELETE', + url }); - yield removeInstalledBlockType(block); + dispatch.removeInstalledBlockType(block); } catch (error) { - yield external_wp_data_["controls"].dispatch(external_wp_notices_["store"], 'createErrorNotice', error.message || Object(external_wp_i18n_["__"])('An error occurred.')); + registry.dispatch(external_wp_notices_["store"]).createErrorNotice(error.message || Object(external_wp_i18n_["__"])('An error occurred.')); } -} +}; /** * Returns an action object used to add a block type to the "newly installed" * tracking list. @@ -751,7 +733,7 @@ function removeInstalledBlockType(item) { /** * Returns an action object used to indicate install in progress. * - * @param {string} blockId + * @param {string} blockId * @param {boolean} isInstalling * * @return {Object} Action object. @@ -767,8 +749,8 @@ function setIsInstalling(blockId, isInstalling) { /** * Sets an error notice to be displayed to the user for a given block. * - * @param {string} blockId The ID of the block plugin. eg: my-block - * @param {string} message The message shown in the notice. + * @param {string} blockId The ID of the block plugin. eg: my-block + * @param {string} message The message shown in the notice. * @param {boolean} isFatal Whether the user can recover from the error. * * @return {Object} Action object. @@ -812,32 +794,28 @@ function clearErrorNotice(blockId) { */ -/* harmony default export */ var resolvers = ({ - *getDownloadableBlocks(filterValue) { - if (!filterValue) { - return; - } - - try { - yield fetchDownloadableBlocks(filterValue); - const results = yield Object(external_wp_dataControls_["apiFetch"])({ - path: `wp/v2/block-directory/search?term=${filterValue}` - }); - const blocks = results.map(result => Object(external_lodash_["mapKeys"])(result, (value, key) => { - return Object(external_lodash_["camelCase"])(key); - })); - yield receiveDownloadableBlocks(blocks, filterValue); - } catch (error) {} +const resolvers_getDownloadableBlocks = filterValue => async ({ + dispatch +}) => { + if (!filterValue) { + return; } -}); + try { + dispatch(fetchDownloadableBlocks(filterValue)); + const results = await external_wp_apiFetch_default()({ + path: `wp/v2/block-directory/search?term=${filterValue}` + }); + const blocks = results.map(result => Object(external_lodash_["mapKeys"])(result, (value, key) => Object(external_lodash_["camelCase"])(key))); + dispatch(receiveDownloadableBlocks(blocks, filterValue)); + } catch {} +}; // CONCATENATED MODULE: ./node_modules/@wordpress/block-directory/build-module/store/index.js /** * WordPress dependencies */ - /** * Internal dependencies */ @@ -846,7 +824,6 @@ function clearErrorNotice(blockId) { - /** * Module Constants */ @@ -864,10 +841,8 @@ const storeConfig = { reducer: reducer, selectors: selectors_namespaceObject, actions: actions_namespaceObject, - controls: { ...external_wp_dataControls_["controls"], - ...store_controls - }, - resolvers: resolvers + resolvers: resolvers_namespaceObject, + __experimentalUseThunks: true }; /** * Store definition for the block directory namespace. @@ -1587,7 +1562,7 @@ function InstallButton({ block, clientId }) { - const isInstallingBlock = Object(external_wp_data_["useSelect"])(select => select(store).isInstalling(block.id)); + const isInstallingBlock = Object(external_wp_data_["useSelect"])(select => select(store).isInstalling(block.id), [block.id]); const { installBlockType } = Object(external_wp_data_["useDispatch"])(store); @@ -1600,14 +1575,14 @@ function InstallButton({ const blockType = Object(external_wp_blocks_["getBlockType"])(block.name); const [originalBlock] = Object(external_wp_blocks_["parse"])(attributes.originalContent); - if (originalBlock) { + if (originalBlock && blockType) { replaceBlock(clientId, Object(external_wp_blocks_["createBlock"])(blockType.name, originalBlock.attributes, originalBlock.innerBlocks)); } } }), disabled: isInstallingBlock, isBusy: isInstallingBlock, - isPrimary: true + variant: "primary" }, Object(external_wp_i18n_["sprintf"])( /* translators: %s: block name */ Object(external_wp_i18n_["__"])('Install %s'), block.title)); @@ -1702,7 +1677,7 @@ const ModifiedWarning = ({ actions.push(Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { key: "convert", onClick: convertToHTML, - isLink: true + variant: "link" }, Object(external_wp_i18n_["__"])('Keep as HTML'))); } diff --git a/wp-includes/js/dist/block-directory.min.js b/wp-includes/js/dist/block-directory.min.js index 0ae81e7ef2..ecf3a66935 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 */ -this.wp=this.wp||{},this.wp.blockDirectory=function(e){var t={};function n(l){if(t[l])return t[l].exports;var c=t[l]={i:l,l:!1,exports:{}};return e[l].call(c.exports,c,c.exports,n),c.l=!0,c.exports}return n.m=e,n.c=t,n.d=function(e,t,l){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:l})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var l=Object.create(null);if(n.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var c in e)n.d(l,c,function(t){return e[t]}.bind(null,c));return l},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="7f3f")}({"//Lo":function(e,t,n){"use strict";var l=n("GRId"),c=n("Tqx9");const o=Object(l.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(l.createElement)(c.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"}));t.a=o},"1ZqX":function(e,t){e.exports=window.wp.data},"51Zz":function(e,t){e.exports=window.wp.dataControls},"7f3f":function(e,t,n){"use strict";n.r(t),n.d(t,"store",(function(){return V}));var l={};n.r(l),n.d(l,"isRequestingDownloadableBlocks",(function(){return j})),n.d(l,"getDownloadableBlocks",(function(){return k})),n.d(l,"getInstalledBlockTypes",(function(){return f})),n.d(l,"getNewBlockTypes",(function(){return y})),n.d(l,"getUnusedBlockTypes",(function(){return _})),n.d(l,"isInstalling",(function(){return w})),n.d(l,"getErrorNotices",(function(){return E})),n.d(l,"getErrorNoticeForBlock",(function(){return g}));var c={};n.r(c),n.d(c,"fetchDownloadableBlocks",(function(){return S})),n.d(c,"receiveDownloadableBlocks",(function(){return x})),n.d(c,"installBlockType",(function(){return C})),n.d(c,"uninstallBlockType",(function(){return R})),n.d(c,"addInstalledBlockType",(function(){return D})),n.d(c,"removeInstalledBlockType",(function(){return P})),n.d(c,"setIsInstalling",(function(){return A})),n.d(c,"setErrorNotice",(function(){return M})),n.d(c,"clearErrorNotice",(function(){return F}));var o=n("GRId"),r=n("TvNi"),a=n("g56x"),i=n("HSyU"),s=n("1ZqX"),d=n("jSdM"),b=n("51Zz"),u=n("YLtl");var m=Object(s.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":return Object(u.omit)(e,t.blockId)}return e}}),p=n("axFQ");function O(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=>O(e,n))}),_=Object(s.createRegistrySelector)(e=>t=>{const n=e(p.store).getBlocks();return f(t).filter(e=>!O(e,n))});function w(e,t){return e.blockManagement.isInstalling[t]||!1}function E(e){return e.errorNotices}function g(e,t){return e.errorNotices[t]}var h=n("l3Sj"),v=n("onLe"),B=n("ywyh"),N=n.n(B);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()});var I={async LOAD_ASSETS(){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 T(e)}};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 x(e,t){return{type:"RECEIVE_DOWNLOADABLE_BLOCKS",downloadableBlocks:e,filterValue:t}}function*C(e){const{id:t,assets:n}=e;let l=!1;yield F(t);try{yield A(e.id,!0);const t=L(e);let c={};if(t)yield Object(b.apiFetch)({url:t,data:{status:"active"},method:"PUT"});else{c=(yield Object(b.apiFetch)({path:"wp/v2/plugins",data:{slug:e.id,status:"active"},method:"POST"}))._links}yield D({...e,links:{...e.links,...c}}),yield function(e){return{type:"LOAD_ASSETS",assets:e}}(n);if(!(yield s.controls.select(i.store.name,"getBlockTypes")).some(t=>t.name===e.name))throw new Error(Object(h.__)("Error registering block. Try reloading the page."));yield s.controls.dispatch(v.store,"createInfoNotice",Object(h.sprintf)(Object(h.__)("Block %s installed and added."),e.title),{speak:!0,type:"snackbar"}),l=!0}catch(e){let n=e.message||Object(h.__)("An error occurred."),l=e instanceof Error;const c={folder_exists:Object(h.__)("This block is already installed. Try reloading the page."),unable_to_connect_to_filesystem:Object(h.__)("Error installing block. You can reload the page and try again.")};c[e.code]&&(l=!0,n=c[e.code]),yield M(t,n,l),yield s.controls.dispatch(v.store,"createErrorNotice",n,{speak:!0,isDismissible:!0})}return yield A(e.id,!1),l}function*R(e){try{yield Object(b.apiFetch)({url:L(e),data:{status:"inactive"},method:"PUT"}),yield Object(b.apiFetch)({url:L(e),method:"DELETE"}),yield P(e)}catch(e){yield s.controls.dispatch(v.store,"createErrorNotice",e.message||Object(h.__)("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 A(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 F(e){return{type:"CLEAR_ERROR_NOTICE",blockId:e}}var H={*getDownloadableBlocks(e){if(e)try{yield S(e);const t=(yield Object(b.apiFetch)({path:"wp/v2/block-directory/search?term="+e})).map(e=>Object(u.mapKeys)(e,(e,t)=>Object(u.camelCase)(t)));yield x(t,e)}catch(e){}}};const q={reducer:m,selectors:l,actions:c,controls:{...b.controls,...I},resolvers:H},V=Object(s.createReduxStore)("core/block-directory",q);function K(){const{uninstallBlockType:e}=Object(s.useDispatch)(V),t=Object(s.useSelect)(e=>{const{isAutosavingPost:t,isSavingPost:n}=e(d.store);return n()&&!t()},[]),n=Object(s.useSelect)(e=>e(V).getUnusedBlockTypes(),[]);return Object(o.useEffect)(()=>{t&&n.length&&n.forEach(t=>{e(t),Object(i.unregisterBlockType)(t.name)})},[t]),null}Object(s.register)(V);var U=n("tI+e"),z=n("K9lf"),G=n("jZUy"),Y=n("wx14"),$=n("rmEH"),Z=n("iClF"),W=n("URob"),X=n("Tqx9");var Q=Object(o.createElement)(X.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(X.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"})),J=n("Xxwi");var ee=function({rating:e}){const t=.5*Math.round(e/.5),n=Math.floor(e),l=Math.ceil(e-n),c=5-(n+l);return Object(o.createElement)("span",{"aria-label":Object(h.sprintf)(Object(h.__)("%s out of 5 stars"),t)},Object(u.times)(n,e=>Object(o.createElement)(Z.a,{key:"full_stars_"+e,className:"block-directory-block-ratings__star-full",icon:W.a,size:16})),Object(u.times)(l,e=>Object(o.createElement)(Z.a,{key:"half_stars_"+e,className:"block-directory-block-ratings__star-half-full",icon:Q,size:16})),Object(u.times)(c,e=>Object(o.createElement)(Z.a,{key:"empty_stars_"+e,className:"block-directory-block-ratings__star-empty",icon:J.a,size:16})))};var te=({rating:e})=>Object(o.createElement)("span",{className:"block-directory-block-ratings"},Object(o.createElement)(ee,{rating:e}));var ne=function({icon:e}){const t="block-directory-downloadable-block-icon";return null!==e.match(/\.(jpeg|jpg|gif|png|svg)(?:\?.*)?$/)?Object(o.createElement)("img",{className:t,src:e,alt:""}):Object(o.createElement)(p.BlockIcon,{className:t,icon:e,showColors:!0})};var le=({block:e})=>{const t=Object(s.useSelect)(t=>t(V).getErrorNoticeForBlock(e.id),[e]);return t?Object(o.createElement)("div",{className:"block-directory-downloadable-block-notice"},Object(o.createElement)("div",{className:"block-directory-downloadable-block-notice__content"},t.message,t.isFatal?" "+Object(h.__)("Try reloading the page."):null)):null};function ce({title:e,rating:t,ratingCount:n},{hasNotice:l,isInstalled:c,isInstalling:o}){const r=.5*Math.round(t/.5);return!c&&l?Object(h.sprintf)("Retry installing %s.",Object($.decodeEntities)(e)):c?Object(h.sprintf)("Add %s.",Object($.decodeEntities)(e)):o?Object(h.sprintf)("Installing %s.",Object($.decodeEntities)(e)):n<1?Object(h.sprintf)("Install %s.",Object($.decodeEntities)(e)):Object(h.sprintf)(Object(h._n)("Install %1$s. %2$s stars with %3$s review.","Install %1$s. %2$s stars with %3$s reviews.",n),Object($.decodeEntities)(e),r,n)}var oe=function({composite:e,item:t,onClick:n}){const{author:l,description:c,icon:r,rating:a,title:d}=t,b=!!Object(i.getBlockType)(t.name),{hasNotice:u,isInstalling:m,isInstallable:p}=Object(s.useSelect)(e=>{const{getErrorNoticeForBlock:n,isInstalling:l}=e(V),c=n(t.id),o=c&&c.isFatal;return{hasNotice:!!c,isInstalling:l(t.id),isInstallable:!o}},[t]);let O="";return b?O=Object(h.__)("Installed!"):m&&(O=Object(h.__)("Installing…")),Object(o.createElement)(U.__unstableCompositeItem,Object(Y.a)({role:"option",as:U.Button},e,{className:"block-directory-downloadable-block-list-item",onClick:e=>{e.preventDefault(),n()},isBusy:m,disabled:m||!p,label:ce(t,{hasNotice:u,isInstalled:b,isInstalling:m}),showTooltip:!0,tooltipPosition:"top center"}),Object(o.createElement)("div",{className:"block-directory-downloadable-block-list-item__icon"},Object(o.createElement)(ne,{icon:r,title:d}),m?Object(o.createElement)("span",{className:"block-directory-downloadable-block-list-item__spinner"},Object(o.createElement)(U.Spinner,null)):Object(o.createElement)(te,{rating:a})),Object(o.createElement)("span",{className:"block-directory-downloadable-block-list-item__details"},Object(o.createElement)("span",{className:"block-directory-downloadable-block-list-item__title"},Object(o.createInterpolateElement)(Object(h.sprintf)(Object(h.__)("%1$s by %2$s"),Object($.decodeEntities)(d),l),{span:Object(o.createElement)("span",{className:"block-directory-downloadable-block-list-item__author"})})),u?Object(o.createElement)(le,{block:t}):Object(o.createElement)(o.Fragment,null,Object(o.createElement)("span",{className:"block-directory-downloadable-block-list-item__desc"},O||Object($.decodeEntities)(c)),p&&!(b||m)&&Object(o.createElement)(U.VisuallyHidden,null,Object(h.__)("Install block")))))};var re=function({items:e,onHover:t=u.noop,onSelect:n}){const l=Object(U.__unstableUseCompositeState)(),{installBlockType:c}=Object(s.useDispatch)(V);return e.length?Object(o.createElement)(U.__unstableComposite,Object(Y.a)({},l,{role:"listbox",className:"block-directory-downloadable-blocks-list","aria-label":Object(h.__)("Blocks available for install")}),e.map(e=>Object(o.createElement)(oe,{key:e.id,composite:l,onClick:()=>{Object(i.getBlockType)(e.name)?n(e):c(e).then(t=>{t&&n(e)}),t(null)},onHover:t,item:e}))):null},ae=n("gdqT");var ie=function({children:e,downloadableItems:t,hasLocalBlocks:n}){const l=t.length;return Object(o.useEffect)(()=>{Object(ae.speak)(Object(h.sprintf)(Object(h._n)("%d additional block is available to install.","%d additional blocks are available to install.",l),l))},[l]),Object(o.createElement)(o.Fragment,null,!n&&Object(o.createElement)("p",{className:"block-directory-downloadable-blocks-panel__no-local"},Object(h.__)("No results available from your installed blocks.")),Object(o.createElement)("div",{className:"block-editor-inserter__quick-inserter-separator"}),Object(o.createElement)("div",{className:"block-directory-downloadable-blocks-panel"},Object(o.createElement)("div",{className:"block-directory-downloadable-blocks-panel__header"},Object(o.createElement)("h2",{className:"block-directory-downloadable-blocks-panel__title"},Object(h.__)("Available to install")),Object(o.createElement)("p",{className:"block-directory-downloadable-blocks-panel__description"},Object(h.__)("Select a block to install and add it to your post."))),e))},se=n("//Lo");var de=function(){return Object(o.createElement)("div",{className:"block-editor-inserter__no-results"},Object(o.createElement)(Z.a,{className:"block-editor-inserter__no-results-icon",icon:se.a}),Object(o.createElement)("p",null,Object(h.__)("No results found.")))};var be=Object(z.compose)([Object(s.withSelect)((e,{filterValue:t,rootClientId:n=null})=>{const{getDownloadableBlocks:l,isRequestingDownloadableBlocks:c}=e(V),{canInsertBlockType:o}=e(p.store),r=e(G.store).canUser("read","block-directory/search");return{downloadableItems:r?l(t).filter(e=>o(e,n,!0)):[],hasPermission:r,isLoading:c(t)}})])((function({downloadableItems:e,onSelect:t,onHover:n,hasLocalBlocks:l,hasPermission:c,isLoading:r,isTyping:a}){return void 0===c||r||a?Object(o.createElement)(o.Fragment,null,c&&!l&&Object(o.createElement)(o.Fragment,null,Object(o.createElement)("p",{className:"block-directory-downloadable-blocks-panel__no-local"},Object(h.__)("No results available from your installed blocks.")),Object(o.createElement)("div",{className:"block-editor-inserter__quick-inserter-separator"})),Object(o.createElement)("div",{className:"block-directory-downloadable-blocks-panel has-blocks-loading"},Object(o.createElement)(U.Spinner,null))):!1===c?l?null:Object(o.createElement)(de,null):e.length?Object(o.createElement)(ie,{downloadableItems:e,hasLocalBlocks:l},Object(o.createElement)(re,{items:e,onSelect:t,onHover:n})):!l&&Object(o.createElement)(de,null)}));var ue=function(){const[e,t]=Object(o.useState)(""),n=Object(u.debounce)(t,400);return Object(o.createElement)(p.__unstableInserterMenuExtension,null,({onSelect:t,onHover:l,filterValue:c,hasItems:r,rootClientId:a})=>(e!==c&&n(c),e?Object(o.createElement)(be,{onSelect:t,onHover:l,rootClientId:a,filterValue:e,hasLocalBlocks:r,isTyping:c!==e}):null))},me=n("BLhE");function pe({items:e}){return e.length?Object(o.createElement)("ul",{className:"block-directory-compact-list"},e.map(({icon:e,id:t,title:n,author:l})=>Object(o.createElement)("li",{key:t,className:"block-directory-compact-list__item"},Object(o.createElement)(ne,{icon:e,title:n}),Object(o.createElement)("div",{className:"block-directory-compact-list__item-details"},Object(o.createElement)("div",{className:"block-directory-compact-list__item-title"},n),Object(o.createElement)("div",{className:"block-directory-compact-list__item-author"},Object(h.sprintf)(Object(h.__)("By %s"),l)))))):null}function Oe(){const e=Object(s.useSelect)(e=>e(V).getNewBlockTypes(),[]);return e.length?Object(o.createElement)(me.PluginPrePublishPanel,{icon:se.a,title:Object(h.sprintf)(Object(h._n)("Added: %d block","Added: %d blocks",e.length),e.length),initialOpen:!0},Object(o.createElement)("p",{className:"installed-blocks-pre-publish-panel__copy"},Object(h._n)("The following block has been added to your site.","The following blocks have been added to your site.",e.length)),Object(o.createElement)(pe,{items:e})):null}function je({attributes:e,block:t,clientId:n}){const l=Object(s.useSelect)(e=>e(V).isInstalling(t.id)),{installBlockType:c}=Object(s.useDispatch)(V),{replaceBlock:r}=Object(s.useDispatch)(p.store);return Object(o.createElement)(U.Button,{onClick:()=>c(t).then(l=>{if(l){const l=Object(i.getBlockType)(t.name),[c]=Object(i.parse)(e.originalContent);c&&r(n,Object(i.createBlock)(l.name,c.attributes,c.innerBlocks))}}),disabled:l,isBusy:l,isPrimary:!0},Object(h.sprintf)(Object(h.__)("Install %s"),t.title))}const ke=({originalBlock:e,...t})=>{const{originalName:n,originalUndelimitedContent:l}=t.attributes,{replaceBlock:c}=Object(s.useDispatch)(p.store),r=()=>{c(t.clientId,Object(i.createBlock)("core/html",{content:l}))},a=!!l,d=Object(i.getBlockType)("core/html");let b=Object(h.sprintf)(Object(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 u=[Object(o.createElement)(je,{key:"install",block:e,attributes:t.attributes,clientId:t.clientId})];return a&&d&&(b=Object(h.sprintf)(Object(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),u.push(Object(o.createElement)(U.Button,{key:"convert",onClick:r,isLink:!0},Object(h.__)("Keep as HTML")))),Object(o.createElement)("div",Object(p.useBlockProps)(),Object(o.createElement)(p.Warning,{actions:u},b),Object(o.createElement)(o.RawHTML,null,l))};var fe=e=>t=>{const{originalName:n}=t.attributes,{block:l,hasPermission:c}=Object(s.useSelect)(e=>{const{getDownloadableBlocks:t}=e(V),l=t("block:"+n).filter(({name:e})=>n===e);return{hasPermission:e(G.store).canUser("read","block-directory/search"),block:l.length&&l[0]}},[n]);return c&&l?Object(o.createElement)(ke,Object(Y.a)({},t,{originalBlock:l})):Object(o.createElement)(e,t)};Object(r.registerPlugin)("block-directory",{render:()=>Object(o.createElement)(o.Fragment,null,Object(o.createElement)(K,null),Object(o.createElement)(ue,null),Object(o.createElement)(Oe,null))}),Object(a.addFilter)("blocks.registerBlockType","block-directory/fallback",(e,t)=>("core/missing"!==t||(e.edit=fe(e.edit)),e))},BLhE:function(e,t){e.exports=window.wp.editPost},GRId:function(e,t){e.exports=window.wp.element},HSyU:function(e,t){e.exports=window.wp.blocks},K9lf:function(e,t){e.exports=window.wp.compose},Tqx9:function(e,t){e.exports=window.wp.primitives},TvNi:function(e,t){e.exports=window.wp.plugins},URob:function(e,t,n){"use strict";var l=n("GRId"),c=n("Tqx9");const o=Object(l.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(l.createElement)(c.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"}));t.a=o},Xxwi:function(e,t,n){"use strict";var l=n("GRId"),c=n("Tqx9");const o=Object(l.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(l.createElement)(c.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"}));t.a=o},YLtl:function(e,t){e.exports=window.lodash},axFQ:function(e,t){e.exports=window.wp.blockEditor},g56x:function(e,t){e.exports=window.wp.hooks},gdqT:function(e,t){e.exports=window.wp.a11y},iClF:function(e,t,n){"use strict";var l=n("GRId");t.a=function({icon:e,size:t=24,...n}){return Object(l.cloneElement)(e,{width:t,height:t,...n})}},jSdM:function(e,t){e.exports=window.wp.editor},jZUy:function(e,t){e.exports=window.wp.coreData},l3Sj:function(e,t){e.exports=window.wp.i18n},onLe:function(e,t){e.exports=window.wp.notices},rmEH:function(e,t){e.exports=window.wp.htmlEntities},"tI+e":function(e,t){e.exports=window.wp.components},wx14:function(e,t,n){"use strict";function l(){return(l=Object.assign||function(e){for(var t=1;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":return Object(u.omit)(e,t.blockId)}return e}}),p=n("axFQ");function O(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=>O(e,n))}),g=Object(d.createRegistrySelector)(e=>t=>{const n=e(p.store).getBlocks();return f(t).filter(e=>!O(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=n("l3Sj"),v=n("ywyh"),B=n.n(v),I=n("onLe");const N=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 T(e){if(!e)return!1;const t=e.links["wp:plugin"]||e.links.self;return!(!t||!t.length)&&t[0].href}function L(e){return{type:"FETCH_DOWNLOADABLE_BLOCKS",filterValue:e}}function S(e,t){return{type:"RECEIVE_DOWNLOADABLE_BLOCKS",downloadableBlocks:e,filterValue:t}}const x=e=>async({registry:t,dispatch:n})=>{const{id:l}=e;let c=!1;n.clearErrorNotice(l);try{n.setIsInstalling(l,!0);const o=T(e);let r={};if(o)await B()({method:"PUT",url:o,data:{status:"active"}});else{r=(await B()({method:"POST",path:"wp/v2/plugins",data:{slug:l,status:"active"}}))._links}n.addInstalledBlockType({...e,links:{...e.links,...r}}),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 N(e)}();if(!t.select(s.store).getBlockTypes().some(t=>t.name===e.name))throw new Error(Object(h.__)("Error registering block. Try reloading the page."));t.dispatch(I.store).createInfoNotice(Object(h.sprintf)(Object(h.__)("Block %s installed and added."),e.title),{speak:!0,type:"snackbar"}),c=!0}catch(e){let c=e.message||Object(h.__)("An error occurred."),o=e instanceof Error;const r={folder_exists:Object(h.__)("This block is already installed. Try reloading the page."),unable_to_connect_to_filesystem:Object(h.__)("Error installing block. You can reload the page and try again.")};r[e.code]&&(o=!0,c=r[e.code]),n.setErrorNotice(l,c,o),t.dispatch(I.store).createErrorNotice(c,{speak:!0,isDismissible:!0})}return n.setIsInstalling(l,!1),c},C=e=>async({registry:t,dispatch:n})=>{try{const t=T(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||Object(h.__)("An error occurred."))}};function R(e){return{type:"ADD_INSTALLED_BLOCK_TYPE",item:e}}function D(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 A(e){return{type:"CLEAR_ERROR_NOTICE",blockId:e}}const F=e=>async({dispatch:t})=>{if(e)try{t(L(e));const n=await B()({path:"wp/v2/block-directory/search?term="+e});t(S(n.map(e=>Object(u.mapKeys)(e,(e,t)=>Object(u.camelCase)(t))),e))}catch{}},H={reducer:m,selectors:l,actions:c,resolvers:o,__experimentalUseThunks:!0},V=Object(d.createReduxStore)("core/block-directory",H);function q(){const{uninstallBlockType:e}=Object(d.useDispatch)(V),t=Object(d.useSelect)(e=>{const{isAutosavingPost:t,isSavingPost:n}=e(b.store);return n()&&!t()},[]),n=Object(d.useSelect)(e=>e(V).getUnusedBlockTypes(),[]);return Object(r.useEffect)(()=>{t&&n.length&&n.forEach(t=>{e(t),Object(s.unregisterBlockType)(t.name)})},[t]),null}Object(d.register)(V);var U=n("tI+e"),K=n("K9lf"),G=n("jZUy"),z=n("wx14"),Y=n("rmEH"),$=n("iClF"),W=n("URob"),X=n("Tqx9");var Z=Object(r.createElement)(X.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(r.createElement)(X.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"})),Q=n("Xxwi");var J=function({rating:e}){const t=.5*Math.round(e/.5),n=Math.floor(e),l=Math.ceil(e-n),c=5-(n+l);return Object(r.createElement)("span",{"aria-label":Object(h.sprintf)(Object(h.__)("%s out of 5 stars"),t)},Object(u.times)(n,e=>Object(r.createElement)($.a,{key:"full_stars_"+e,className:"block-directory-block-ratings__star-full",icon:W.a,size:16})),Object(u.times)(l,e=>Object(r.createElement)($.a,{key:"half_stars_"+e,className:"block-directory-block-ratings__star-half-full",icon:Z,size:16})),Object(u.times)(c,e=>Object(r.createElement)($.a,{key:"empty_stars_"+e,className:"block-directory-block-ratings__star-empty",icon:Q.a,size:16})))};var ee=({rating:e})=>Object(r.createElement)("span",{className:"block-directory-block-ratings"},Object(r.createElement)(J,{rating:e}));var te=function({icon:e}){const t="block-directory-downloadable-block-icon";return null!==e.match(/\.(jpeg|jpg|gif|png|svg)(?:\?.*)?$/)?Object(r.createElement)("img",{className:t,src:e,alt:""}):Object(r.createElement)(p.BlockIcon,{className:t,icon:e,showColors:!0})};var ne=({block:e})=>{const t=Object(d.useSelect)(t=>t(V).getErrorNoticeForBlock(e.id),[e]);return t?Object(r.createElement)("div",{className:"block-directory-downloadable-block-notice"},Object(r.createElement)("div",{className:"block-directory-downloadable-block-notice__content"},t.message,t.isFatal?" "+Object(h.__)("Try reloading the page."):null)):null};function le({title:e,rating:t,ratingCount:n},{hasNotice:l,isInstalled:c,isInstalling:o}){const r=.5*Math.round(t/.5);return!c&&l?Object(h.sprintf)("Retry installing %s.",Object(Y.decodeEntities)(e)):c?Object(h.sprintf)("Add %s.",Object(Y.decodeEntities)(e)):o?Object(h.sprintf)("Installing %s.",Object(Y.decodeEntities)(e)):n<1?Object(h.sprintf)("Install %s.",Object(Y.decodeEntities)(e)):Object(h.sprintf)(Object(h._n)("Install %1$s. %2$s stars with %3$s review.","Install %1$s. %2$s stars with %3$s reviews.",n),Object(Y.decodeEntities)(e),r,n)}var ce=function({composite:e,item:t,onClick:n}){const{author:l,description:c,icon:o,rating:a,title:i}=t,b=!!Object(s.getBlockType)(t.name),{hasNotice:u,isInstalling:m,isInstallable:p}=Object(d.useSelect)(e=>{const{getErrorNoticeForBlock:n,isInstalling:l}=e(V),c=n(t.id),o=c&&c.isFatal;return{hasNotice:!!c,isInstalling:l(t.id),isInstallable:!o}},[t]);let O="";return b?O=Object(h.__)("Installed!"):m&&(O=Object(h.__)("Installing…")),Object(r.createElement)(U.__unstableCompositeItem,Object(z.a)({role:"option",as:U.Button},e,{className:"block-directory-downloadable-block-list-item",onClick:e=>{e.preventDefault(),n()},isBusy:m,disabled:m||!p,label:le(t,{hasNotice:u,isInstalled:b,isInstalling:m}),showTooltip:!0,tooltipPosition:"top center"}),Object(r.createElement)("div",{className:"block-directory-downloadable-block-list-item__icon"},Object(r.createElement)(te,{icon:o,title:i}),m?Object(r.createElement)("span",{className:"block-directory-downloadable-block-list-item__spinner"},Object(r.createElement)(U.Spinner,null)):Object(r.createElement)(ee,{rating:a})),Object(r.createElement)("span",{className:"block-directory-downloadable-block-list-item__details"},Object(r.createElement)("span",{className:"block-directory-downloadable-block-list-item__title"},Object(r.createInterpolateElement)(Object(h.sprintf)(Object(h.__)("%1$s by %2$s"),Object(Y.decodeEntities)(i),l),{span:Object(r.createElement)("span",{className:"block-directory-downloadable-block-list-item__author"})})),u?Object(r.createElement)(ne,{block:t}):Object(r.createElement)(r.Fragment,null,Object(r.createElement)("span",{className:"block-directory-downloadable-block-list-item__desc"},O||Object(Y.decodeEntities)(c)),p&&!(b||m)&&Object(r.createElement)(U.VisuallyHidden,null,Object(h.__)("Install block")))))};var oe=function({items:e,onHover:t=u.noop,onSelect:n}){const l=Object(U.__unstableUseCompositeState)(),{installBlockType:c}=Object(d.useDispatch)(V);return e.length?Object(r.createElement)(U.__unstableComposite,Object(z.a)({},l,{role:"listbox",className:"block-directory-downloadable-blocks-list","aria-label":Object(h.__)("Blocks available for install")}),e.map(e=>Object(r.createElement)(ce,{key:e.id,composite:l,onClick:()=>{Object(s.getBlockType)(e.name)?n(e):c(e).then(t=>{t&&n(e)}),t(null)},onHover:t,item:e}))):null},re=n("gdqT");var ae=function({children:e,downloadableItems:t,hasLocalBlocks:n}){const l=t.length;return Object(r.useEffect)(()=>{Object(re.speak)(Object(h.sprintf)(Object(h._n)("%d additional block is available to install.","%d additional blocks are available to install.",l),l))},[l]),Object(r.createElement)(r.Fragment,null,!n&&Object(r.createElement)("p",{className:"block-directory-downloadable-blocks-panel__no-local"},Object(h.__)("No results available from your installed blocks.")),Object(r.createElement)("div",{className:"block-editor-inserter__quick-inserter-separator"}),Object(r.createElement)("div",{className:"block-directory-downloadable-blocks-panel"},Object(r.createElement)("div",{className:"block-directory-downloadable-blocks-panel__header"},Object(r.createElement)("h2",{className:"block-directory-downloadable-blocks-panel__title"},Object(h.__)("Available to install")),Object(r.createElement)("p",{className:"block-directory-downloadable-blocks-panel__description"},Object(h.__)("Select a block to install and add it to your post."))),e))},ie=n("//Lo");var se=function(){return Object(r.createElement)("div",{className:"block-editor-inserter__no-results"},Object(r.createElement)($.a,{className:"block-editor-inserter__no-results-icon",icon:ie.a}),Object(r.createElement)("p",null,Object(h.__)("No results found.")))};var de=Object(K.compose)([Object(d.withSelect)((e,{filterValue:t,rootClientId:n=null})=>{const{getDownloadableBlocks:l,isRequestingDownloadableBlocks:c}=e(V),{canInsertBlockType:o}=e(p.store),r=e(G.store).canUser("read","block-directory/search");return{downloadableItems:r?l(t).filter(e=>o(e,n,!0)):[],hasPermission:r,isLoading:c(t)}})])((function({downloadableItems:e,onSelect:t,onHover:n,hasLocalBlocks:l,hasPermission:c,isLoading:o,isTyping:a}){return void 0===c||o||a?Object(r.createElement)(r.Fragment,null,c&&!l&&Object(r.createElement)(r.Fragment,null,Object(r.createElement)("p",{className:"block-directory-downloadable-blocks-panel__no-local"},Object(h.__)("No results available from your installed blocks.")),Object(r.createElement)("div",{className:"block-editor-inserter__quick-inserter-separator"})),Object(r.createElement)("div",{className:"block-directory-downloadable-blocks-panel has-blocks-loading"},Object(r.createElement)(U.Spinner,null))):!1===c?l?null:Object(r.createElement)(se,null):e.length?Object(r.createElement)(ae,{downloadableItems:e,hasLocalBlocks:l},Object(r.createElement)(oe,{items:e,onSelect:t,onHover:n})):!l&&Object(r.createElement)(se,null)}));var be=function(){const[e,t]=Object(r.useState)(""),n=Object(u.debounce)(t,400);return Object(r.createElement)(p.__unstableInserterMenuExtension,null,({onSelect:t,onHover:l,filterValue:c,hasItems:o,rootClientId:a})=>(e!==c&&n(c),e?Object(r.createElement)(de,{onSelect:t,onHover:l,rootClientId:a,filterValue:e,hasLocalBlocks:o,isTyping:c!==e}):null))},ue=n("BLhE");function me({items:e}){return e.length?Object(r.createElement)("ul",{className:"block-directory-compact-list"},e.map(({icon:e,id:t,title:n,author:l})=>Object(r.createElement)("li",{key:t,className:"block-directory-compact-list__item"},Object(r.createElement)(te,{icon:e,title:n}),Object(r.createElement)("div",{className:"block-directory-compact-list__item-details"},Object(r.createElement)("div",{className:"block-directory-compact-list__item-title"},n),Object(r.createElement)("div",{className:"block-directory-compact-list__item-author"},Object(h.sprintf)(Object(h.__)("By %s"),l)))))):null}function pe(){const e=Object(d.useSelect)(e=>e(V).getNewBlockTypes(),[]);return e.length?Object(r.createElement)(ue.PluginPrePublishPanel,{icon:ie.a,title:Object(h.sprintf)(Object(h._n)("Added: %d block","Added: %d blocks",e.length),e.length),initialOpen:!0},Object(r.createElement)("p",{className:"installed-blocks-pre-publish-panel__copy"},Object(h._n)("The following block has been added to your site.","The following blocks have been added to your site.",e.length)),Object(r.createElement)(me,{items:e})):null}function Oe({attributes:e,block:t,clientId:n}){const l=Object(d.useSelect)(e=>e(V).isInstalling(t.id),[t.id]),{installBlockType:c}=Object(d.useDispatch)(V),{replaceBlock:o}=Object(d.useDispatch)(p.store);return Object(r.createElement)(U.Button,{onClick:()=>c(t).then(l=>{if(l){const l=Object(s.getBlockType)(t.name),[c]=Object(s.parse)(e.originalContent);c&&l&&o(n,Object(s.createBlock)(l.name,c.attributes,c.innerBlocks))}}),disabled:l,isBusy:l,variant:"primary"},Object(h.sprintf)(Object(h.__)("Install %s"),t.title))}const ke=({originalBlock:e,...t})=>{const{originalName:n,originalUndelimitedContent:l}=t.attributes,{replaceBlock:c}=Object(d.useDispatch)(p.store),o=()=>{c(t.clientId,Object(s.createBlock)("core/html",{content:l}))},a=!!l,i=Object(s.getBlockType)("core/html");let b=Object(h.sprintf)(Object(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 u=[Object(r.createElement)(Oe,{key:"install",block:e,attributes:t.attributes,clientId:t.clientId})];return a&&i&&(b=Object(h.sprintf)(Object(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),u.push(Object(r.createElement)(U.Button,{key:"convert",onClick:o,variant:"link"},Object(h.__)("Keep as HTML")))),Object(r.createElement)("div",Object(p.useBlockProps)(),Object(r.createElement)(p.Warning,{actions:u},b),Object(r.createElement)(r.RawHTML,null,l))};var je=e=>t=>{const{originalName:n}=t.attributes,{block:l,hasPermission:c}=Object(d.useSelect)(e=>{const{getDownloadableBlocks:t}=e(V),l=t("block:"+n).filter(({name:e})=>n===e);return{hasPermission:e(G.store).canUser("read","block-directory/search"),block:l.length&&l[0]}},[n]);return c&&l?Object(r.createElement)(ke,Object(z.a)({},t,{originalBlock:l})):Object(r.createElement)(e,t)};Object(a.registerPlugin)("block-directory",{render:()=>Object(r.createElement)(r.Fragment,null,Object(r.createElement)(q,null),Object(r.createElement)(be,null),Object(r.createElement)(pe,null))}),Object(i.addFilter)("blocks.registerBlockType","block-directory/fallback",(e,t)=>("core/missing"!==t||(e.edit=je(e.edit)),e))},BLhE:function(e,t){e.exports=window.wp.editPost},GRId:function(e,t){e.exports=window.wp.element},HSyU:function(e,t){e.exports=window.wp.blocks},K9lf:function(e,t){e.exports=window.wp.compose},Tqx9:function(e,t){e.exports=window.wp.primitives},TvNi:function(e,t){e.exports=window.wp.plugins},URob:function(e,t,n){"use strict";var l=n("GRId"),c=n("Tqx9");const o=Object(l.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(l.createElement)(c.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"}));t.a=o},Xxwi:function(e,t,n){"use strict";var l=n("GRId"),c=n("Tqx9");const o=Object(l.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(l.createElement)(c.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"}));t.a=o},YLtl:function(e,t){e.exports=window.lodash},axFQ:function(e,t){e.exports=window.wp.blockEditor},g56x:function(e,t){e.exports=window.wp.hooks},gdqT:function(e,t){e.exports=window.wp.a11y},iClF:function(e,t,n){"use strict";var l=n("GRId");t.a=function({icon:e,size:t=24,...n}){return Object(l.cloneElement)(e,{width:t,height:t,...n})}},jSdM:function(e,t){e.exports=window.wp.editor},jZUy:function(e,t){e.exports=window.wp.coreData},l3Sj:function(e,t){e.exports=window.wp.i18n},onLe:function(e,t){e.exports=window.wp.notices},rmEH:function(e,t){e.exports=window.wp.htmlEntities},"tI+e":function(e,t){e.exports=window.wp.components},wx14:function(e,t,n){"use strict";function l(){return(l=Object.assign||function(e){for(var t=1;t /^image\/(?:jpe?g|png|gif)$/.test(type)); // Only process files if no HTML is present. + // A pasted file may have the URL as plain text. + + if (files.length && !html) { + html = files.map(file => ``).join(''); + plainText = ''; + } + + return { + html, + plainText + }; +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/copy-handler/index.js + + +/** + * WordPress dependencies + */ + + + + + + + +/** + * Internal dependencies + */ + + + +function useNotifyCopy() { + const { + getBlockName + } = Object(external_wp_data_["useSelect"])(store["a" /* store */]); + const { + getBlockType + } = Object(external_wp_data_["useSelect"])(external_wp_blocks_["store"]); + const { + createSuccessNotice + } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); + return Object(external_wp_element_["useCallback"])((eventType, selectedBlockClientIds) => { + let notice = ''; + + if (selectedBlockClientIds.length === 1) { + var _getBlockType; + + const clientId = selectedBlockClientIds[0]; + const title = (_getBlockType = getBlockType(getBlockName(clientId))) === null || _getBlockType === void 0 ? void 0 : _getBlockType.title; + notice = eventType === 'copy' ? Object(external_wp_i18n_["sprintf"])( // Translators: Name of the block being copied, e.g. "Paragraph". + Object(external_wp_i18n_["__"])('Copied "%s" to clipboard.'), title) : Object(external_wp_i18n_["sprintf"])( // Translators: Name of the block being cut, e.g. "Paragraph". + Object(external_wp_i18n_["__"])('Moved "%s" to clipboard.'), title); + } else { + notice = eventType === 'copy' ? Object(external_wp_i18n_["sprintf"])( // Translators: %d: Number of blocks being copied. + Object(external_wp_i18n_["_n"])('Copied %d block to clipboard.', 'Copied %d blocks to clipboard.', selectedBlockClientIds.length), selectedBlockClientIds.length) : Object(external_wp_i18n_["sprintf"])( // Translators: %d: Number of blocks being cut. + Object(external_wp_i18n_["_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 + } = Object(external_wp_data_["useSelect"])(store["a" /* store */]); + const { + flashBlock, + removeBlocks, + replaceBlocks + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const notifyCopy = useNotifyCopy(); + return Object(external_wp_compose_["useRefEffect"])(node => { + function handler(event) { + 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' ? Object(external_wp_dom_["documentHasUncollapsedSelection"])(ownerDocument) : Object(external_wp_dom_["documentHasSelection"])(ownerDocument); // Let native copy behaviour take over in input fields. + + if (hasSelection) { + return; + } + } + + if (!node.contains(event.target.ownerDocument.activeElement)) { + return; + } + + const eventDefaultPrevented = event.defaultPrevented; + event.preventDefault(); + + if (event.type === 'copy' || event.type === 'cut') { + if (selectedBlockClientIds.length === 1) { + flashBlock(selectedBlockClientIds[0]); + } + + notifyCopy(event.type, selectedBlockClientIds); + const blocks = getBlocksByClientId(selectedBlockClientIds); + const serialized = Object(external_wp_blocks_["serialize"])(blocks); + event.clipboardData.setData('text/plain', serialized); + event.clipboardData.setData('text/html', serialized); + } + + if (event.type === 'cut') { + removeBlocks(selectedBlockClientIds); + } else if (event.type === 'paste') { + if (eventDefaultPrevented) { + // This was likely already handled in rich-text/use-paste-handler.js + return; + } + + const { + __experimentalCanUserUseUnfilteredHTML: canUserUseUnfilteredHTML + } = getSettings(); + const { + plainText, + html + } = getPasteEventData(event); + const blocks = Object(external_wp_blocks_["pasteHandler"])({ + HTML: html, + plainText, + mode: 'BLOCKS', + canUserUseUnfilteredHTML + }); + 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); + }; + }, []); +} + +function CopyHandler({ + children +}) { + return Object(external_wp_element_["createElement"])("div", { + ref: useClipboardHandler() + }, children); +} + +/* harmony default export */ var copy_handler = __webpack_exports__["a"] = (CopyHandler); + + +/***/ }), + +/***/ "+6d5": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useBlockMovingModeClassNames; }); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("TSYQ"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("BhPs"); +/** + * 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 Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__["useSelect"])(select => { + const { + hasBlockMovingClientId, + canInsertBlockType, + getBlockName, + getBlockRootClientId, + isBlockSelected + } = select(_store__WEBPACK_IMPORTED_MODULE_2__[/* store */ "a"]); // 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__WEBPACK_IMPORTED_MODULE_0___default()('is-block-moving-mode', { + 'can-insert-moving-block': canInsertBlockType(getBlockName(movingClientId), getBlockRootClientId(clientId)) + }); + }, [clientId]); +} + + +/***/ }), + +/***/ "+DUQ": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export a */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "animated", function() { return animated; }); +/* harmony import */ var _react_spring_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("kmrn"); +/* harmony reexport (checked) */ if(__webpack_require__.o(_react_spring_core__WEBPACK_IMPORTED_MODULE_0__, "useSpring")) __webpack_require__.d(__webpack_exports__, "useSpring", function() { return _react_spring_core__WEBPACK_IMPORTED_MODULE_0__["useSpring"]; }); + +/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("faye"); +/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _react_spring_shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("nEW0"); +/* harmony import */ var _react_spring_animated__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("dfZa"); + + + + + + +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; +} + +const _excluded$2 = ["style", "children", "scrollTop", "scrollLeft"]; +const isCustomPropRE = /^--/; + +function dangerousStyleValue(name, value) { + if (value == null || typeof value === 'boolean' || value === '') return ''; + if (typeof value === 'number' && value !== 0 && !isCustomPropRE.test(name) && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px'; + return ('' + value).trim(); +} + +const attributeCache = {}; +function applyAnimatedValues(instance, props) { + if (!instance.nodeType || !instance.setAttribute) { + return false; + } + + const isFilterElement = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter'; + + const _ref = props, + { + style, + children, + scrollTop, + scrollLeft + } = _ref, + attributes = _objectWithoutPropertiesLoose(_ref, _excluded$2); + + const values = Object.values(attributes); + const names = Object.keys(attributes).map(name => isFilterElement || instance.hasAttribute(name) ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, n => '-' + n.toLowerCase()))); + + if (children !== void 0) { + instance.textContent = children; + } + + for (let name in style) { + if (style.hasOwnProperty(name)) { + const value = dangerousStyleValue(name, style[name]); + + if (isCustomPropRE.test(name)) { + instance.style.setProperty(name, value); + } else { + instance.style[name] = value; + } + } + } + + names.forEach((name, i) => { + instance.setAttribute(name, values[i]); + }); + + if (scrollTop !== void 0) { + instance.scrollTop = scrollTop; + } + + if (scrollLeft !== void 0) { + instance.scrollLeft = scrollLeft; + } +} +let isUnitlessNumber = { + animationIterationCount: true, + borderImageOutset: true, + borderImageSlice: true, + borderImageWidth: true, + boxFlex: true, + boxFlexGroup: true, + boxOrdinalGroup: true, + columnCount: true, + columns: true, + flex: true, + flexGrow: true, + flexPositive: true, + flexShrink: true, + flexNegative: true, + flexOrder: true, + gridRow: true, + gridRowEnd: true, + gridRowSpan: true, + gridRowStart: true, + gridColumn: true, + gridColumnEnd: true, + gridColumnSpan: true, + gridColumnStart: true, + fontWeight: true, + lineClamp: true, + lineHeight: true, + opacity: true, + order: true, + orphans: true, + tabSize: true, + widows: true, + zIndex: true, + zoom: true, + fillOpacity: true, + floodOpacity: true, + stopOpacity: true, + strokeDasharray: true, + strokeDashoffset: true, + strokeMiterlimit: true, + strokeOpacity: true, + strokeWidth: true +}; + +const prefixKey = (prefix, key) => prefix + key.charAt(0).toUpperCase() + key.substring(1); + +const prefixes = ['Webkit', 'Ms', 'Moz', 'O']; +isUnitlessNumber = Object.keys(isUnitlessNumber).reduce((acc, prop) => { + prefixes.forEach(prefix => acc[prefixKey(prefix, prop)] = acc[prop]); + return acc; +}, isUnitlessNumber); + +const _excluded$1 = ["x", "y", "z"]; +const domTransforms = /^(matrix|translate|scale|rotate|skew)/; +const pxTransforms = /^(translate)/; +const degTransforms = /^(rotate|skew)/; + +const addUnit = (value, unit) => _react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* is */ "s"].num(value) && value !== 0 ? value + unit : value; + +const isValueIdentity = (value, id) => _react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* is */ "s"].arr(value) ? value.every(v => isValueIdentity(v, id)) : _react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* is */ "s"].num(value) ? value === id : parseFloat(value) === id; + +class AnimatedStyle extends _react_spring_animated__WEBPACK_IMPORTED_MODULE_3__[/* AnimatedObject */ "a"] { + constructor(_ref) { + let { + x, + y, + z + } = _ref, + style = _objectWithoutPropertiesLoose(_ref, _excluded$1); + + const inputs = []; + const transforms = []; + + if (x || y || z) { + inputs.push([x || 0, y || 0, z || 0]); + transforms.push(xyz => [`translate3d(${xyz.map(v => addUnit(v, 'px')).join(',')})`, isValueIdentity(xyz, 0)]); + } + + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* eachProp */ "l"])(style, (value, key) => { + if (key === 'transform') { + inputs.push([value || '']); + transforms.push(transform => [transform, transform === '']); + } else if (domTransforms.test(key)) { + delete style[key]; + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* is */ "s"].und(value)) return; + const unit = pxTransforms.test(key) ? 'px' : degTransforms.test(key) ? 'deg' : ''; + inputs.push(Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* toArray */ "y"])(value)); + transforms.push(key === 'rotate3d' ? ([x, y, z, deg]) => [`rotate3d(${x},${y},${z},${addUnit(deg, unit)})`, isValueIdentity(deg, 0)] : input => [`${key}(${input.map(v => addUnit(v, unit)).join(',')})`, isValueIdentity(input, key.startsWith('scale') ? 1 : 0)]); + } + }); + + if (inputs.length) { + style.transform = new FluidTransform(inputs, transforms); + } + + super(style); + } + +} + +class FluidTransform extends _react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* FluidValue */ "a"] { + constructor(inputs, transforms) { + super(); + this._value = null; + this.inputs = inputs; + this.transforms = transforms; + } + + get() { + return this._value || (this._value = this._get()); + } + + _get() { + let transform = ''; + let identity = true; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* each */ "k"])(this.inputs, (input, i) => { + const arg1 = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* getFluidValue */ "q"])(input[0]); + const [t, id] = this.transforms[i](_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* is */ "s"].arr(arg1) ? arg1 : input.map(_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* getFluidValue */ "q"])); + transform += ' ' + t; + identity = identity && id; + }); + return identity ? 'none' : transform; + } + + observerAdded(count) { + if (count == 1) Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* each */ "k"])(this.inputs, input => Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* each */ "k"])(input, value => Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* hasFluidValue */ "r"])(value) && Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* addFluidObserver */ "c"])(value, this))); + } + + observerRemoved(count) { + if (count == 0) Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* each */ "k"])(this.inputs, input => Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* each */ "k"])(input, value => Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* hasFluidValue */ "r"])(value) && Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* removeFluidObserver */ "x"])(value, this))); + } + + eventObserved(event) { + if (event.type == 'change') { + this._value = null; + } + + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* callFluidObservers */ "d"])(this, event); + } + +} + +const primitives = ['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']; + +const _excluded = ["scrollTop", "scrollLeft"]; +_react_spring_core__WEBPACK_IMPORTED_MODULE_0__["Globals"].assign({ + batchedUpdates: react_dom__WEBPACK_IMPORTED_MODULE_1__["unstable_batchedUpdates"], + createStringInterpolator: _react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* createStringInterpolator */ "g"], + colors: _react_spring_shared__WEBPACK_IMPORTED_MODULE_2__[/* colors */ "e"] +}); +const host = Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_3__[/* createHost */ "d"])(primitives, { + applyAnimatedValues, + createAnimatedStyle: style => new AnimatedStyle(style), + getComponentProps: _ref => { + let props = _objectWithoutPropertiesLoose(_ref, _excluded); + + return props; + } +}); +const animated = host.animated; + + + + +/***/ }), + +/***/ "+G0a": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("HSyU"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("BhPs"); +/** + * 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 + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__["useSelect"])(select => { + const { + getInserterItems + } = select(_store__WEBPACK_IMPORTED_MODULE_3__[/* store */ "a"]); + const { + getCategories, + getCollections + } = select(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__["store"]); + return { + categories: getCategories(), + collections: getCollections(), + items: getInserterItems(rootClientId) + }; + }, [rootClientId]); + const onSelectItem = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["useCallback"])(({ + name, + initialAttributes, + innerBlocks + }, shouldFocusBlock) => { + const insertedBlock = Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__["createBlock"])(name, initialAttributes, Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__["createBlocksFromInnerBlocksTemplate"])(innerBlocks)); + onInsert(insertedBlock, undefined, shouldFocusBlock); + }, [onInsert]); + return [items, categories, collections, onSelectItem]; +}; + +/* harmony default export */ __webpack_exports__["a"] = (useBlockTypesState); + + +/***/ }), + +/***/ "+WrK": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const symbol = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["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 */ __webpack_exports__["a"] = (symbol); + + +/***/ }), + +/***/ "+gtr": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ BlockToolbar; }); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-mover/index.js +var block_mover = __webpack_require__("JygI"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-block-display-information/index.js +var use_block_display_information = __webpack_require__("wC17"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-icon/index.js +var block_icon = __webpack_require__("7SSY"); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-toolbar/utils.js +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +const { + clearTimeout: utils_clearTimeout, + setTimeout: utils_setTimeout +} = window; +const DEBOUNCE_TIMEOUT = 200; +/** + * Hook that creates a showMover state, as well as debounced show/hide callbacks. + * + * @param {Object} props Component props. + * @param {Object} props.ref Element reference. + * @param {boolean} props.isFocused Whether the component has current focus. + * @param {number} [props.debounceTimeout=250] Debounce timeout in milliseconds. + * @param {Function} [props.onChange=noop] Callback function. + */ + +function useDebouncedShowMovers({ + ref, + isFocused, + debounceTimeout = DEBOUNCE_TIMEOUT, + onChange = external_lodash_["noop"] +}) { + const [showMovers, setShowMovers] = Object(external_wp_element_["useState"])(false); + const timeoutRef = Object(external_wp_element_["useRef"])(); + + const handleOnChange = nextIsFocused => { + if (ref !== null && ref !== void 0 && ref.current) { + setShowMovers(nextIsFocused); + } + + onChange(nextIsFocused); + }; + + const getIsHovered = () => { + return (ref === null || ref === void 0 ? void 0 : ref.current) && ref.current.matches(':hover'); + }; + + const shouldHideMovers = () => { + const isHovered = getIsHovered(); + return !isFocused && !isHovered; + }; + + const clearTimeoutRef = () => { + const timeout = timeoutRef.current; + + if (timeout && utils_clearTimeout) { + utils_clearTimeout(timeout); + } + }; + + const debouncedShowMovers = event => { + if (event) { + event.stopPropagation(); + } + + clearTimeoutRef(); + + if (!showMovers) { + handleOnChange(true); + } + }; + + const debouncedHideMovers = event => { + if (event) { + event.stopPropagation(); + } + + clearTimeoutRef(); + timeoutRef.current = utils_setTimeout(() => { + if (shouldHideMovers()) { + handleOnChange(false); + } + }, debounceTimeout); + }; + + Object(external_wp_element_["useEffect"])(() => () => clearTimeoutRef(), []); + return { + showMovers, + debouncedShowMovers, + debouncedHideMovers + }; +} +/** + * Hook that provides a showMovers state and gesture events for DOM elements + * that interact with the showMovers state. + * + * @param {Object} props Component props. + * @param {Object} props.ref Element reference. + * @param {number} [props.debounceTimeout=250] Debounce timeout in milliseconds. + * @param {Function} [props.onChange=noop] Callback function. + */ + +function useShowMoversGestures({ + ref, + debounceTimeout = DEBOUNCE_TIMEOUT, + onChange = external_lodash_["noop"] +}) { + const [isFocused, setIsFocused] = Object(external_wp_element_["useState"])(false); + const { + showMovers, + debouncedShowMovers, + debouncedHideMovers + } = useDebouncedShowMovers({ + ref, + debounceTimeout, + isFocused, + onChange + }); + const registerRef = Object(external_wp_element_["useRef"])(false); + + const isFocusedWithin = () => { + return (ref === null || ref === void 0 ? void 0 : ref.current) && ref.current.contains(ref.current.ownerDocument.activeElement); + }; + + Object(external_wp_element_["useEffect"])(() => { + const node = ref.current; + + const handleOnFocus = () => { + if (isFocusedWithin()) { + setIsFocused(true); + debouncedShowMovers(); + } + }; + + const handleOnBlur = () => { + if (!isFocusedWithin()) { + setIsFocused(false); + debouncedHideMovers(); + } + }; + /** + * 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, debouncedShowMovers, debouncedHideMovers]); + return { + showMovers, + gestures: { + onMouseMove: debouncedShowMovers, + onMouseLeave: debouncedHideMovers + } + }; +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-parent-selector/index.js + + + +/** + * WordPress dependencies + */ + + + + + +/** + * 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, + toggleBlockHighlight + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const { + firstParentClientId, + shouldHide, + hasReducedUI + } = Object(external_wp_data_["useSelect"])(select => { + const { + getBlockName, + getBlockParents, + getSelectedBlockClientId, + getSettings + } = select(store["a" /* store */]); + const { + hasBlockSupport + } = select(external_wp_blocks_["store"]); + const selectedBlockClientId = getSelectedBlockClientId(); + const parents = getBlockParents(selectedBlockClientId); + const _firstParentClientId = parents[parents.length - 1]; + const parentBlockName = getBlockName(_firstParentClientId); + + const _parentBlockType = Object(external_wp_blocks_["getBlockType"])(parentBlockName); + + const settings = getSettings(); + return { + firstParentClientId: _firstParentClientId, + shouldHide: !hasBlockSupport(_parentBlockType, '__experimentalParentSelector', true), + hasReducedUI: settings.hasReducedUI + }; + }, []); + const blockInformation = Object(use_block_display_information["a" /* default */])(firstParentClientId); // Allows highlighting the parent block outline when focusing or hovering + // the parent block selector within the child. + + const nodeRef = Object(external_wp_element_["useRef"])(); + const { + gestures: showMoversGestures + } = useShowMoversGestures({ + ref: nodeRef, + + onChange(isFocused) { + if (isFocused && hasReducedUI) { + return; + } + + toggleBlockHighlight(firstParentClientId, isFocused); + } + + }); + + if (shouldHide || firstParentClientId === undefined) { + return null; + } + + return Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({ + className: "block-editor-block-parent-selector", + key: firstParentClientId, + ref: nodeRef + }, showMoversGestures), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + className: "block-editor-block-parent-selector__button", + onClick: () => selectBlock(firstParentClientId), + label: Object(external_wp_i18n_["sprintf"])( + /* translators: %s: Name of the block's parent. */ + Object(external_wp_i18n_["__"])('Select %s'), blockInformation.title), + showTooltip: true, + icon: Object(external_wp_element_["createElement"])(block_icon["a" /* default */], { + icon: blockInformation.icon + }) + })); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/stack.js +var stack = __webpack_require__("wzfx"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-title/index.js +var block_title = __webpack_require__("f8JO"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-preview/index.js + 2 modules +var block_preview = __webpack_require__("REKd"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/preview-block-popover.js + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +function PreviewBlockPopover({ + blocks +}) { + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-switcher__popover__preview__parent" + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-switcher__popover__preview__container" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { + className: "block-editor-block-switcher__preview__popover", + position: "bottom right", + focusOnMount: false + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-switcher__preview" + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-switcher__preview-title" + }, Object(external_wp_i18n_["__"])('Preview')), Object(external_wp_element_["createElement"])(block_preview["a" /* default */], { + viewportWidth: 500, + blocks: blocks + }))))); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/block-transformations-menu.js + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + +const BlockTransformationsMenu = ({ + className, + possibleBlockTransformations, + onSelect, + blocks +}) => { + const [hoveredTransformItemName, setHoveredTransformItemName] = Object(external_wp_element_["useState"])(); + return Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { + label: Object(external_wp_i18n_["__"])('Transform to'), + className: className + }, hoveredTransformItemName && Object(external_wp_element_["createElement"])(PreviewBlockPopover, { + blocks: Object(external_wp_blocks_["switchToBlockType"])(blocks, hoveredTransformItemName) + }), possibleBlockTransformations.map(item => { + const { + name, + icon, + title, + isDisabled + } = item; + return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + key: name, + className: Object(external_wp_blocks_["getBlockMenuDefaultClassName"])(name), + onClick: event => { + event.preventDefault(); + onSelect(name); + }, + disabled: isDisabled, + onMouseLeave: () => setHoveredTransformItemName(null), + onMouseEnter: () => setHoveredTransformItemName(name) + }, Object(external_wp_element_["createElement"])(block_icon["a" /* default */], { + icon: icon, + showColors: true + }), title); + })); +}; + +/* harmony default export */ var block_transformations_menu = (BlockTransformationsMenu); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-styles/index.js + 1 modules +var block_styles = __webpack_require__("7NR9"); + +// 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 { + name, + clientId + } = hoveredBlock; + const [hoveredClassName, setHoveredClassName] = Object(external_wp_element_["useState"])(); + const blockType = Object(external_wp_data_["useSelect"])(select => select(external_wp_blocks_["store"]).getBlockType(name), [name]); + return Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { + label: Object(external_wp_i18n_["__"])('Styles'), + className: "block-editor-block-switcher__styles__menugroup" + }, hoveredClassName && Object(external_wp_element_["createElement"])(PreviewBlockPopover, { + blocks: blockType && blockType.example ? Object(external_wp_blocks_["getBlockFromExample"])(blockType.name, { + attributes: { ...blockType.example.attributes, + className: hoveredClassName + }, + innerBlocks: blockType.example.innerBlocks + }) : Object(external_wp_blocks_["cloneBlock"])(hoveredBlock, { + className: hoveredClassName + }) + }), Object(external_wp_element_["createElement"])(block_styles["a" /* default */], { + clientId: clientId, + onSwitch: onSwitch, + onHoverClassName: setHoveredClassName, + itemRole: "menuitem" + })); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-right.js +var chevron_right = __webpack_require__("1iEr"); + +// 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?} 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 = Object(external_wp_blocks_["__experimentalGetBlockAttributesNamesByRole"])(name, 'content'); + if (!(contentAttributes !== null && contentAttributes !== void 0 && 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 => Object(external_wp_blocks_["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. + */ +// TODO tests + +const useTransformedPatterns = (patterns, selectedBlocks) => { + return Object(external_wp_element_["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] = Object(external_wp_element_["useState"])(false); + const patterns = use_transformed_patterns(statePatterns, blocks); + if (!patterns.length) return null; + return Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { + className: "block-editor-block-switcher__pattern__transforms__menugroup" + }, showTransforms && Object(external_wp_element_["createElement"])(PreviewPatternsPopover, { + patterns: patterns, + onSelect: onSelect + }), Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + onClick: event => { + event.preventDefault(); + setShowTransforms(!showTransforms); + }, + icon: chevron_right["a" /* default */] + }, Object(external_wp_i18n_["__"])('Patterns'))); +} + +function PreviewPatternsPopover({ + patterns, + onSelect +}) { + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-switcher__popover__preview__parent" + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-switcher__popover__preview__container" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { + className: "block-editor-block-switcher__preview__popover", + position: "bottom right" + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-switcher__preview" + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-switcher__preview-title" + }, Object(external_wp_i18n_["__"])('Preview')), Object(external_wp_element_["createElement"])(BlockPatternsList, { + patterns: patterns, + onSelect: onSelect + }))))); +} + +function BlockPatternsList({ + patterns, + onSelect +}) { + const composite = Object(external_wp_components_["__unstableUseCompositeState"])(); + return Object(external_wp_element_["createElement"])(external_wp_components_["__unstableComposite"], Object(esm_extends["a" /* default */])({}, composite, { + role: "listbox", + className: "block-editor-block-switcher__preview-patterns-container", + "aria-label": Object(external_wp_i18n_["__"])('Patterns list') + }), patterns.map(pattern => Object(external_wp_element_["createElement"])(BlockPattern, { + key: pattern.name, + pattern: pattern, + onSelect: onSelect, + composite: composite + }))); +} + +function BlockPattern({ + pattern, + onSelect, + composite +}) { + // TODO check pattern/preview width... + const baseClassName = 'block-editor-block-switcher__preview-patterns-container'; + const descriptionId = Object(external_wp_compose_["useInstanceId"])(BlockPattern, `${baseClassName}-list__item-description`); + return Object(external_wp_element_["createElement"])("div", { + className: `${baseClassName}-list__list-item`, + "aria-label": pattern.title, + "aria-describedby": pattern.description ? descriptionId : undefined + }, Object(external_wp_element_["createElement"])(external_wp_components_["__unstableCompositeItem"], Object(esm_extends["a" /* default */])({ + role: "option", + as: "div" + }, composite, { + className: `${baseClassName}-list__item`, + onClick: () => onSelect(pattern.transformedBlocks) + }), Object(external_wp_element_["createElement"])(block_preview["a" /* default */], { + blocks: pattern.transformedBlocks, + viewportWidth: pattern.viewportWidth || 500 + }), Object(external_wp_element_["createElement"])("div", { + className: `${baseClassName}-list__item-title` + }, pattern.title)), !!pattern.description && Object(external_wp_element_["createElement"])(external_wp_components_["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 + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + + + + + +const BlockSwitcherDropdownMenu = ({ + clientIds, + blocks +}) => { + const { + replaceBlocks + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const blockInformation = Object(use_block_display_information["a" /* default */])(blocks[0].clientId); + const { + possibleBlockTransformations, + canRemove, + hasBlockStyles, + icon, + blockTitle, + patterns + } = Object(external_wp_data_["useSelect"])(select => { + var _getBlockType2; + + const { + getBlockRootClientId, + getBlockTransformItems, + __experimentalGetPatternTransformItems + } = select(store["a" /* store */]); + const { + getBlockStyles, + getBlockType + } = select(external_wp_blocks_["store"]); + const { + canRemoveBlocks + } = select(store["a" /* store */]); + const rootClientId = getBlockRootClientId(Object(external_lodash_["castArray"])(clientIds)[0]); + const [{ + name: firstBlockName + }] = blocks; + + const _isSingleBlockSelected = blocks.length === 1; + + const styles = _isSingleBlockSelected && getBlockStyles(firstBlockName); + + let _icon; + + if (_isSingleBlockSelected) { + _icon = blockInformation === null || blockInformation === void 0 ? void 0 : blockInformation.icon; // Take into account active block variations. + } else { + var _getBlockType; + + const isSelectionOfSameType = Object(external_lodash_["uniq"])(blocks.map(({ + name + }) => name)).length === 1; // When selection consists of blocks of multiple types, display an + // appropriate icon to communicate the non-uniformity. + + _icon = isSelectionOfSameType ? (_getBlockType = getBlockType(firstBlockName)) === null || _getBlockType === void 0 ? void 0 : _getBlockType.icon : stack["a" /* default */]; + } + + return { + possibleBlockTransformations: getBlockTransformItems(blocks, rootClientId), + canRemove: canRemoveBlocks(clientIds, rootClientId), + hasBlockStyles: !!(styles !== null && styles !== void 0 && styles.length), + icon: _icon, + blockTitle: (_getBlockType2 = getBlockType(firstBlockName)) === null || _getBlockType2 === void 0 ? void 0 : _getBlockType2.title, + patterns: __experimentalGetPatternTransformItems(blocks, rootClientId) + }; + }, [clientIds, blocks, blockInformation === null || blockInformation === void 0 ? void 0 : blockInformation.icon]); + const isReusable = blocks.length === 1 && Object(external_wp_blocks_["isReusableBlock"])(blocks[0]); + const isTemplate = blocks.length === 1 && Object(external_wp_blocks_["isTemplatePart"])(blocks[0]); // Simple block tranformation based on the `Block Transforms` API. + + const onBlockTransform = name => replaceBlocks(clientIds, Object(external_wp_blocks_["switchToBlockType"])(blocks, name)); // Pattern transformation through the `Patterns` API. + + + const onPatternTransform = transformedBlocks => replaceBlocks(clientIds, transformedBlocks); + + const hasPossibleBlockTransformations = !!possibleBlockTransformations.length && canRemove; + const hasPatternTransformation = !!(patterns !== null && patterns !== void 0 && patterns.length) && canRemove; + + if (!hasBlockStyles && !hasPossibleBlockTransformations) { + return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + disabled: true, + className: "block-editor-block-switcher__no-switcher-icon", + title: blockTitle, + icon: Object(external_wp_element_["createElement"])(block_icon["a" /* default */], { + icon: icon, + showColors: true + }) + })); + } + + const blockSwitcherLabel = blockTitle; + const blockSwitcherDescription = 1 === blocks.length ? Object(external_wp_i18n_["sprintf"])( + /* translators: %s: block title. */ + Object(external_wp_i18n_["__"])('%s: Change block type or style'), blockTitle) : Object(external_wp_i18n_["sprintf"])( + /* translators: %d: number of blocks. */ + Object(external_wp_i18n_["_n"])('Change type of %d block', 'Change type of %d blocks', blocks.length), blocks.length); + const showDropDown = hasBlockStyles || hasPossibleBlockTransformations || hasPatternTransformation; + return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarItem"], null, toggleProps => Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { + className: "block-editor-block-switcher", + label: blockSwitcherLabel, + popoverProps: { + position: 'bottom right', + isAlternate: true, + className: 'block-editor-block-switcher__popover' + }, + icon: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(block_icon["a" /* default */], { + icon: icon, + className: "block-editor-block-switcher__toggle", + showColors: true + }), (isReusable || isTemplate) && Object(external_wp_element_["createElement"])("span", { + className: "block-editor-block-switcher__toggle-text" + }, Object(external_wp_element_["createElement"])(block_title["a" /* default */], { + clientId: clientIds + }))), + toggleProps: { + describedBy: blockSwitcherDescription, + ...toggleProps + }, + menuProps: { + orientation: 'both' + } + }, ({ + onClose + }) => showDropDown && Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-switcher__container" + }, hasPatternTransformation && Object(external_wp_element_["createElement"])(pattern_transformations_menu, { + blocks: blocks, + patterns: patterns, + onSelect: transformedBlocks => { + onPatternTransform(transformedBlocks); + onClose(); + } + }), hasPossibleBlockTransformations && Object(external_wp_element_["createElement"])(block_transformations_menu, { + className: "block-editor-block-switcher__transforms__menugroup", + possibleBlockTransformations: possibleBlockTransformations, + blocks: blocks, + onSelect: name => { + onBlockTransform(name); + onClose(); + } + }), hasBlockStyles && Object(external_wp_element_["createElement"])(BlockStylesMenu, { + hoveredBlock: blocks[0], + onSwitch: onClose + }))))); +}; +const BlockSwitcher = ({ + clientIds +}) => { + const blocks = Object(external_wp_data_["useSelect"])(select => select(store["a" /* store */]).getBlocksByClientId(clientIds), [clientIds]); + + if (!blocks.length || blocks.some(block => !block)) { + return null; + } + + return Object(external_wp_element_["createElement"])(BlockSwitcherDropdownMenu, { + clientIds: clientIds, + blocks: blocks + }); +}; +/* harmony default export */ var block_switcher = (BlockSwitcher); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/index.js + 4 modules +var block_controls = __webpack_require__("fOYa"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/index.js +var block_settings_menu = __webpack_require__("U1WI"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-toolbar/index.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + + + + + +function BlockToolbar({ + hideDragHandle +}) { + const { + blockClientIds, + blockClientId, + blockType, + hasFixedToolbar, + hasReducedUI, + isValid, + isVisual + } = Object(external_wp_data_["useSelect"])(select => { + const { + getBlockName, + getBlockMode, + getSelectedBlockClientIds, + isBlockValid, + getBlockRootClientId, + getSettings + } = select(store["a" /* store */]); + const selectedBlockClientIds = getSelectedBlockClientIds(); + const selectedBlockClientId = selectedBlockClientIds[0]; + const blockRootClientId = getBlockRootClientId(selectedBlockClientId); + const settings = getSettings(); + return { + blockClientIds: selectedBlockClientIds, + blockClientId: selectedBlockClientId, + blockType: selectedBlockClientId && Object(external_wp_blocks_["getBlockType"])(getBlockName(selectedBlockClientId)), + hasFixedToolbar: settings.hasFixedToolbar, + hasReducedUI: settings.hasReducedUI, + rootClientId: blockRootClientId, + isValid: selectedBlockClientIds.every(id => isBlockValid(id)), + isVisual: selectedBlockClientIds.every(id => getBlockMode(id) === 'visual') + }; + }, []); // Handles highlighting the current block outline on hover or focus of the + // block type toolbar area. + + const { + toggleBlockHighlight + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const nodeRef = Object(external_wp_element_["useRef"])(); + const { + showMovers, + gestures: showMoversGestures + } = useShowMoversGestures({ + ref: nodeRef, + + onChange(isFocused) { + if (isFocused && hasReducedUI) { + return; + } + + toggleBlockHighlight(blockClientId, isFocused); + } + + }); // Account for the cases where the block toolbar is rendered within the + // header area and not contextually to the block. + + const displayHeaderToolbar = Object(external_wp_compose_["useViewportMatch"])('medium', '<') || hasFixedToolbar; + + if (blockType) { + if (!Object(external_wp_blocks_["hasBlockSupport"])(blockType, '__experimentalToolbar', true)) { + return null; + } + } + + const shouldShowMovers = displayHeaderToolbar || showMovers; + + if (blockClientIds.length === 0) { + return null; + } + + const shouldShowVisualToolbar = isValid && isVisual; + const isMultiToolbar = blockClientIds.length > 1; + const classes = classnames_default()('block-editor-block-toolbar', shouldShowMovers && 'is-showing-movers'); + return Object(external_wp_element_["createElement"])("div", { + className: classes + }, !isMultiToolbar && !displayHeaderToolbar && Object(external_wp_element_["createElement"])(BlockParentSelector, { + clientIds: blockClientIds + }), Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({ + ref: nodeRef + }, showMoversGestures), (shouldShowVisualToolbar || isMultiToolbar) && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], { + className: "block-editor-block-toolbar__block-controls" + }, Object(external_wp_element_["createElement"])(block_switcher, { + clientIds: blockClientIds + }), Object(external_wp_element_["createElement"])(block_mover["a" /* default */], { + clientIds: blockClientIds, + hideDragHandle: hideDragHandle || hasReducedUI + }))), shouldShowVisualToolbar && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(block_controls["b" /* default */].Slot, { + group: "parent", + className: "block-editor-block-toolbar__slot" + }), Object(external_wp_element_["createElement"])(block_controls["b" /* default */].Slot, { + group: "block", + className: "block-editor-block-toolbar__slot" + }), Object(external_wp_element_["createElement"])(block_controls["b" /* default */].Slot, { + className: "block-editor-block-toolbar__slot" + }), Object(external_wp_element_["createElement"])(block_controls["b" /* default */].Slot, { + group: "inline", + className: "block-editor-block-toolbar__slot" + }), Object(external_wp_element_["createElement"])(block_controls["b" /* default */].Slot, { + group: "other", + className: "block-editor-block-toolbar__slot" + })), Object(external_wp_element_["createElement"])(block_settings_menu["a" /* default */], { + clientIds: blockClientIds + })); +} + + +/***/ }), + /***/ "//Lo": /***/ (function(module, __webpack_exports__, __webpack_require__) { @@ -110,6 +1817,11522 @@ const blockDefault = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["cre /* harmony default export */ __webpack_exports__["a"] = (blockDefault); +/***/ }), + +/***/ "/Hvg": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ TextTransformControl; }); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: external ["wp","primitives"] +var external_wp_primitives_ = __webpack_require__("Tqx9"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-uppercase.js + + +/** + * WordPress dependencies + */ + +const formatUppercase = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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 = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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 = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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 + + +/** + * WordPress dependencies + */ + + + +const TEXT_TRANSFORMS = [{ + name: Object(external_wp_i18n_["__"])('Uppercase'), + value: 'uppercase', + icon: format_uppercase +}, { + name: Object(external_wp_i18n_["__"])('Lowercase'), + value: 'lowercase', + icon: format_lowercase +}, { + name: Object(external_wp_i18n_["__"])('Capitalize'), + value: 'capitalize', + icon: format_capitalize +}]; +/** + * Control to facilitate text transform selections. + * + * @param {Object} props Component props. + * @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({ + value, + onChange +}) { + return Object(external_wp_element_["createElement"])("fieldset", { + className: "block-editor-text-transform-control" + }, Object(external_wp_element_["createElement"])("legend", null, Object(external_wp_i18n_["__"])('Letter case')), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-text-transform-control__buttons" + }, TEXT_TRANSFORMS.map(textTransform => { + return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + key: textTransform.value, + icon: textTransform.icon, + isSmall: true, + isPressed: value === textTransform.value, + "aria-label": textTransform.name, + onClick: () => onChange(value === textTransform.value ? undefined : textTransform.value) + }); + }))); +} + + +/***/ }), + +/***/ "/QNa": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/constants.js +var constants = __webpack_require__("AHN3"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/provider/with-registry-provider.js + + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +const withRegistryProvider = Object(external_wp_compose_["createHigherOrderComponent"])(WrappedComponent => { + return Object(external_wp_data_["withRegistry"])(({ + useSubRegistry = true, + registry, + ...props + }) => { + if (!useSubRegistry) { + return Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({ + registry: registry + }, props)); + } + + const [subRegistry, setSubRegistry] = Object(external_wp_element_["useState"])(null); + Object(external_wp_element_["useEffect"])(() => { + const newRegistry = Object(external_wp_data_["createRegistry"])({}, registry); + newRegistry.registerStore(constants["a" /* STORE_NAME */], store["b" /* storeConfig */]); + setSubRegistry(newRegistry); + }, [registry]); + + if (!subRegistry) { + return null; + } + + return Object(external_wp_element_["createElement"])(external_wp_data_["RegistryProvider"], { + value: subRegistry + }, Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({ + registry: subRegistry + }, props))); + }); +}, 'withRegistryProvider'); +/* harmony default export */ var with_registry_provider = (withRegistryProvider); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/provider/use-block-sync.js +var use_block_sync = __webpack_require__("JGYp"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/provider/block-refs-provider.js +var block_refs_provider = __webpack_require__("cDhi"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/provider/index.js + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + + +/** @typedef {import('@wordpress/data').WPDataRegistry} WPDataRegistry */ + +function BlockEditorProvider(props) { + const { + children, + settings + } = props; + const { + updateSettings + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + Object(external_wp_element_["useEffect"])(() => { + updateSettings(settings); + }, [settings]); // Syncs the entity provider with changes in the block-editor store. + + Object(use_block_sync["a" /* default */])(props); + return Object(external_wp_element_["createElement"])(block_refs_provider["b" /* BlockRefsProvider */], null, children); +} + +/* harmony default export */ var provider = __webpack_exports__["a"] = (with_registry_provider(BlockEditorProvider)); + + +/***/ }), + +/***/ "/lNF": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export parseDropEvent */ +/* unused harmony export onBlockDrop */ +/* unused harmony export onFilesDrop */ +/* unused harmony export onHTMLDrop */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useOnBlockDrop; }); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("HSyU"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("1CF3"); +/* harmony import */ var _wordpress_dom__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_dom__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("BhPs"); +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +/** @typedef {import('@wordpress/element').WPSyntheticEvent} WPSyntheticEvent */ + +/** + * Retrieve the data for a block drop event. + * + * @param {WPSyntheticEvent} event The drop event. + * + * @return {Object} An object with block drag and drop data. + */ + +function parseDropEvent(event) { + let result = { + srcRootClientId: null, + srcClientIds: null, + srcIndex: null, + type: null, + blocks: null + }; + + if (!event.dataTransfer) { + return result; + } + + try { + result = Object.assign(result, JSON.parse(event.dataTransfer.getData('wp-blocks'))); + } catch (err) { + return result; + } + + return result; +} +/** + * A function that returns an event handler function for block 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} getBlockIndex A function that gets the index of a block. + * @param {Function} getClientIdsOfDescendants A function that gets the client ids of descendant blocks. + * @param {Function} moveBlocksToPosition A function that moves blocks. + * @param {Function} insertBlocks A function that inserts blocks. + * @param {Function} clearSelectedBlock A function that clears block selection. + * @return {Function} The event handler for a block drop event. + */ + +function onBlockDrop(targetRootClientId, targetBlockIndex, getBlockIndex, getClientIdsOfDescendants, moveBlocksToPosition, insertBlocks, clearSelectedBlock) { + return event => { + const { + srcRootClientId: sourceRootClientId, + srcClientIds: sourceClientIds, + type: dropType, + blocks + } = parseDropEvent(event); // If the user is inserting a block + + if (dropType === 'inserter') { + clearSelectedBlock(); + const blocksToInsert = blocks.map(block => Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__["cloneBlock"])(block)); + insertBlocks(blocksToInsert, targetBlockIndex, targetRootClientId, true, null); + } // If the user is moving a block + + + if (dropType === 'block') { + const sourceBlockIndex = getBlockIndex(sourceClientIds[0], sourceRootClientId); // If the user is dropping to the same position, return early. + + if (sourceRootClientId === targetRootClientId && sourceBlockIndex === targetBlockIndex) { + return; + } // If the user is attempting to drop a block within its own + // nested blocks, return early as this would create infinite + // recursion. + + + if (sourceClientIds.includes(targetRootClientId) || getClientIdsOfDescendants(sourceClientIds).some(id => id === targetRootClientId)) { + return; + } + + const isAtSameLevel = sourceRootClientId === targetRootClientId; + const draggedBlockCount = sourceClientIds.length; // If the block is kept at the same level and moved downwards, + // subtract to take into account that the blocks being dragged + // were removed from the block list above the insertion point. + + const insertIndex = isAtSameLevel && sourceBlockIndex < targetBlockIndex ? targetBlockIndex - draggedBlockCount : targetBlockIndex; + moveBlocksToPosition(sourceClientIds, sourceRootClientId, targetRootClientId, insertIndex); + } + }; +} +/** + * 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} 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} insertBlocks A function that inserts blocks. + * + * @return {Function} The event handler for a block-related file drop event. + */ + +function onFilesDrop(targetRootClientId, targetBlockIndex, hasUploadPermissions, updateBlockAttributes, canInsertBlockType, insertBlocks) { + return files => { + if (!hasUploadPermissions) { + return; + } + + const transformation = Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__["findTransform"])(Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__["getBlockTransforms"])('from'), transform => transform.type === 'files' && canInsertBlockType(transform.blockName, targetRootClientId) && transform.isMatch(files)); + + if (transformation) { + const blocks = transformation.transform(files, updateBlockAttributes); + insertBlocks(blocks, targetBlockIndex, targetRootClientId); + } + }; +} +/** + * 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} insertBlocks A function that inserts blocks. + * + * @return {Function} The event handler for a block-related HTML drop event. + */ + +function onHTMLDrop(targetRootClientId, targetBlockIndex, insertBlocks) { + return HTML => { + const blocks = Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__["pasteHandler"])({ + HTML, + mode: 'BLOCKS' + }); + + if (blocks.length) { + insertBlocks(blocks, targetBlockIndex, targetRootClientId); + } + }; +} +/** + * A React hook for handling block 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. + * + * @return {Object} An object that contains the event handlers `onDrop`, `onFilesDrop` and `onHTMLDrop`. + */ + +function useOnBlockDrop(targetRootClientId, targetBlockIndex) { + const hasUploadPermissions = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__["useSelect"])(select => select(_store__WEBPACK_IMPORTED_MODULE_3__[/* store */ "a"]).getSettings().mediaUpload, []); + const { + canInsertBlockType, + getBlockIndex, + getClientIdsOfDescendants + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__["useSelect"])(_store__WEBPACK_IMPORTED_MODULE_3__[/* store */ "a"]); + const { + insertBlocks, + moveBlocksToPosition, + updateBlockAttributes, + clearSelectedBlock + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__["useDispatch"])(_store__WEBPACK_IMPORTED_MODULE_3__[/* store */ "a"]); + + const _onDrop = onBlockDrop(targetRootClientId, targetBlockIndex, getBlockIndex, getClientIdsOfDescendants, moveBlocksToPosition, insertBlocks, clearSelectedBlock); + + const _onFilesDrop = onFilesDrop(targetRootClientId, targetBlockIndex, hasUploadPermissions, updateBlockAttributes, canInsertBlockType, insertBlocks); + + const _onHTMLDrop = onHTMLDrop(targetRootClientId, targetBlockIndex, insertBlocks); + + return event => { + const files = Object(_wordpress_dom__WEBPACK_IMPORTED_MODULE_2__["getFilesFromDataTransfer"])(event.dataTransfer); + const html = event.dataTransfer.getData('text/html'); + + if (files.length) { + _onFilesDrop(files); + } else if (html) { + _onHTMLDrop(html); + } else { + _onDrop(event); + } + }; +} + + +/***/ }), + +/***/ "0E5u": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ JustifyContentControl; }); +__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ JustifyToolbar; }); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/justify-left.js +var justify_left = __webpack_require__("kWXm"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/justify-center.js +var justify_center = __webpack_require__("DmX/"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/justify-right.js +var justify_right = __webpack_require__("suLj"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/justify-space-between.js +var justify_space_between = __webpack_require__("bTSr"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/justify-content-control/ui.js + + + +/** + * WordPress dependencies + */ + + + +const icons = { + left: justify_left["a" /* default */], + center: justify_center["a" /* default */], + right: justify_right["a" /* default */], + 'space-between': justify_space_between["a" /* default */] +}; + +function JustifyContentUI({ + allowedControls = ['left', 'center', 'right', 'space-between'], + isCollapsed = true, + onChange, + value, + popoverProps, + isToolbar +}) { + // If the control is already selected we want a click + // again on the control to deselect the item, so we + // call onChange( undefined ) + const handleClick = next => { + if (next === value) { + onChange(undefined); + } else { + onChange(next); + } + }; + + const icon = value ? icons[value] : icons.left; + const allControls = [{ + name: 'left', + icon: justify_left["a" /* default */], + title: Object(external_wp_i18n_["__"])('Justify items left'), + isActive: 'left' === value, + onClick: () => handleClick('left') + }, { + name: 'center', + icon: justify_center["a" /* default */], + title: Object(external_wp_i18n_["__"])('Justify items center'), + isActive: 'center' === value, + onClick: () => handleClick('center') + }, { + name: 'right', + icon: justify_right["a" /* default */], + title: Object(external_wp_i18n_["__"])('Justify items right'), + isActive: 'right' === value, + onClick: () => handleClick('right') + }, { + name: 'space-between', + icon: justify_space_between["a" /* default */], + title: Object(external_wp_i18n_["__"])('Space between items'), + isActive: 'space-between' === value, + onClick: () => handleClick('space-between') + }]; + const UIComponent = isToolbar ? external_wp_components_["ToolbarGroup"] : external_wp_components_["ToolbarDropdownMenu"]; + const extraProps = isToolbar ? { + isCollapsed + } : {}; + return Object(external_wp_element_["createElement"])(UIComponent, Object(esm_extends["a" /* default */])({ + icon: icon, + popoverProps: popoverProps, + label: Object(external_wp_i18n_["__"])('Change items justification'), + controls: allControls.filter(elem => allowedControls.includes(elem.name)) + }, extraProps)); +} + +/* harmony default export */ var ui = (JustifyContentUI); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/justify-content-control/index.js + + + +/** + * Internal dependencies + */ + +function JustifyContentControl(props) { + return Object(external_wp_element_["createElement"])(ui, Object(esm_extends["a" /* default */])({}, props, { + isToolbar: false + })); +} +function JustifyToolbar(props) { + return Object(external_wp_element_["createElement"])(ui, Object(esm_extends["a" /* default */])({}, props, { + isToolbar: true + })); +} + + +/***/ }), + +/***/ "14PQ": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "gc", function() { return /* reexport */ components_colors["b" /* getColorClassName */]; }); +__webpack_require__.d(__webpack_exports__, "hc", function() { return /* reexport */ components_colors["c" /* getColorObjectByAttributeValues */]; }); +__webpack_require__.d(__webpack_exports__, "ic", function() { return /* reexport */ components_colors["d" /* getColorObjectByColorValue */]; }); +__webpack_require__.d(__webpack_exports__, "fc", function() { return /* reexport */ components_colors["a" /* createCustomColorsHOC */]; }); +__webpack_require__.d(__webpack_exports__, "uc", function() { return /* reexport */ components_colors["e" /* withColors */]; }); +__webpack_require__.d(__webpack_exports__, "xb", function() { return /* reexport */ gradients["a" /* __experimentalGetGradientClass */]; }); +__webpack_require__.d(__webpack_exports__, "nc", function() { return /* reexport */ gradients["e" /* getGradientValueBySlug */]; }); +__webpack_require__.d(__webpack_exports__, "yb", function() { return /* reexport */ gradients["b" /* __experimentalGetGradientObjectByGradientValue */]; }); +__webpack_require__.d(__webpack_exports__, "mc", function() { return /* reexport */ gradients["d" /* getGradientSlugByValue */]; }); +__webpack_require__.d(__webpack_exports__, "Rb", function() { return /* reexport */ gradients["c" /* __experimentalUseGradient */]; }); +__webpack_require__.d(__webpack_exports__, "jc", function() { return /* reexport */ font_sizes["b" /* getFontSize */]; }); +__webpack_require__.d(__webpack_exports__, "kc", function() { return /* reexport */ font_sizes["c" /* getFontSizeClass */]; }); +__webpack_require__.d(__webpack_exports__, "lc", function() { return /* reexport */ font_sizes["d" /* getFontSizeObjectByValue */]; }); +__webpack_require__.d(__webpack_exports__, "I", function() { return /* reexport */ font_sizes["a" /* FontSizePicker */]; }); +__webpack_require__.d(__webpack_exports__, "vc", function() { return /* reexport */ font_sizes["e" /* withFontSizes */]; }); +__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ AlignmentControl; }); +__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ AlignmentToolbar; }); +__webpack_require__.d(__webpack_exports__, "c", function() { return /* reexport */ autocomplete; }); +__webpack_require__.d(__webpack_exports__, "d", function() { return /* reexport */ block_alignment_control["a" /* BlockAlignmentControl */]; }); +__webpack_require__.d(__webpack_exports__, "e", function() { return /* reexport */ block_alignment_control["b" /* BlockAlignmentToolbar */]; }); +__webpack_require__.d(__webpack_exports__, "nb", function() { return /* reexport */ block_full_height_alignment_control; }); +__webpack_require__.d(__webpack_exports__, "lb", function() { return /* reexport */ block_alignment_matrix_control; }); +__webpack_require__.d(__webpack_exports__, "f", function() { return /* reexport */ block_breadcrumb; }); +__webpack_require__.d(__webpack_exports__, "mb", function() { return /* reexport */ BlockContentOverlay; }); +__webpack_require__.d(__webpack_exports__, "h", function() { return /* reexport */ block_context["a" /* BlockContextProvider */]; }); +__webpack_require__.d(__webpack_exports__, "i", function() { return /* reexport */ block_controls["b" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "m", function() { return /* reexport */ block_controls["a" /* BlockFormatControls */]; }); +__webpack_require__.d(__webpack_exports__, "g", function() { return /* reexport */ color_style_selector; }); +__webpack_require__.d(__webpack_exports__, "j", function() { return /* reexport */ block_edit["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "pc", function() { return /* reexport */ context["c" /* useBlockEditContext */]; }); +__webpack_require__.d(__webpack_exports__, "n", function() { return /* reexport */ block_icon["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "r", function() { return /* reexport */ dropdown; }); +__webpack_require__.d(__webpack_exports__, "pb", function() { return /* reexport */ block_variation_picker; }); +__webpack_require__.d(__webpack_exports__, "ob", function() { return /* reexport */ block_pattern_setup; }); +__webpack_require__.d(__webpack_exports__, "qb", function() { return /* reexport */ components_block_variation_transforms; }); +__webpack_require__.d(__webpack_exports__, "A", function() { return /* reexport */ BlockVerticalAlignmentToolbar; }); +__webpack_require__.d(__webpack_exports__, "z", function() { return /* reexport */ BlockVerticalAlignmentControl; }); +__webpack_require__.d(__webpack_exports__, "rb", function() { return /* reexport */ border_radius_control["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "sb", function() { return /* reexport */ border_style_control["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "C", function() { return /* reexport */ button_block_appender["a" /* ButtonBlockerAppender */]; }); +__webpack_require__.d(__webpack_exports__, "B", function() { return /* reexport */ button_block_appender["b" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "D", function() { return /* reexport */ color_palette; }); +__webpack_require__.d(__webpack_exports__, "E", function() { return /* reexport */ ColorPaletteControl; }); +__webpack_require__.d(__webpack_exports__, "F", function() { return /* reexport */ contrast_checker["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "ub", function() { return /* reexport */ duotone_control["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "vb", function() { return /* reexport */ font_appearance_control["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "wb", function() { return /* reexport */ font_family["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "Eb", function() { return /* reexport */ letter_spacing_control["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "Ob", function() { return /* reexport */ text_decoration_control["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "Pb", function() { return /* reexport */ text_transform_control["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "tb", function() { return /* reexport */ control["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "Lb", function() { return /* reexport */ panel_color_gradient_settings["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "Ab", function() { return /* reexport */ ImageEditor; }); +__webpack_require__.d(__webpack_exports__, "zb", function() { return /* reexport */ ImageEditingProvider; }); +__webpack_require__.d(__webpack_exports__, "Bb", function() { return /* reexport */ ImageSizeControl; }); +__webpack_require__.d(__webpack_exports__, "J", function() { return /* reexport */ inner_blocks["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "rc", function() { return /* reexport */ inner_blocks["b" /* useInnerBlocksProps */]; }); +__webpack_require__.d(__webpack_exports__, "M", function() { return /* reexport */ inspector_controls["b" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "L", function() { return /* reexport */ inspector_controls["a" /* InspectorAdvancedControls */]; }); +__webpack_require__.d(__webpack_exports__, "O", function() { return /* reexport */ justify_content_control["b" /* JustifyToolbar */]; }); +__webpack_require__.d(__webpack_exports__, "N", function() { return /* reexport */ justify_content_control["a" /* JustifyContentControl */]; }); +__webpack_require__.d(__webpack_exports__, "Gb", function() { return /* reexport */ link_control; }); +__webpack_require__.d(__webpack_exports__, "Hb", function() { return /* reexport */ search_input; }); +__webpack_require__.d(__webpack_exports__, "Jb", function() { return /* reexport */ LinkControlSearchResults; }); +__webpack_require__.d(__webpack_exports__, "Ib", function() { return /* reexport */ search_item; }); +__webpack_require__.d(__webpack_exports__, "P", function() { return /* reexport */ line_height_control["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "Kb", function() { return /* reexport */ components_list_view; }); +__webpack_require__.d(__webpack_exports__, "R", function() { return /* reexport */ media_replace_flow; }); +__webpack_require__.d(__webpack_exports__, "Q", function() { return /* reexport */ media_placeholder; }); +__webpack_require__.d(__webpack_exports__, "S", function() { return /* reexport */ media_upload; }); +__webpack_require__.d(__webpack_exports__, "T", function() { return /* reexport */ media_upload_check; }); +__webpack_require__.d(__webpack_exports__, "X", function() { return /* reexport */ panel_color_settings; }); +__webpack_require__.d(__webpack_exports__, "Y", function() { return /* reexport */ plain_text; }); +__webpack_require__.d(__webpack_exports__, "Nb", function() { return /* reexport */ responsive_block_control; }); +__webpack_require__.d(__webpack_exports__, "ab", function() { return /* reexport */ rich_text; }); +__webpack_require__.d(__webpack_exports__, "bb", function() { return /* reexport */ RichTextShortcut; }); +__webpack_require__.d(__webpack_exports__, "cb", function() { return /* reexport */ RichTextToolbarButton; }); +__webpack_require__.d(__webpack_exports__, "Yb", function() { return /* reexport */ __unstableRichTextInputEvent; }); +__webpack_require__.d(__webpack_exports__, "eb", function() { return /* reexport */ tool_selector; }); +__webpack_require__.d(__webpack_exports__, "Qb", function() { return /* reexport */ UnitControl; }); +__webpack_require__.d(__webpack_exports__, "gb", function() { return /* reexport */ url_input; }); +__webpack_require__.d(__webpack_exports__, "hb", function() { return /* reexport */ url_input_button; }); +__webpack_require__.d(__webpack_exports__, "ib", function() { return /* reexport */ url_popover; }); +__webpack_require__.d(__webpack_exports__, "Cb", function() { return /* reexport */ ImageURLInputUI; }); +__webpack_require__.d(__webpack_exports__, "tc", function() { return /* reexport */ with_color_context; }); +__webpack_require__.d(__webpack_exports__, "Ub", function() { return /* reexport */ block_settings_menu_first_item["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "Xb", function() { return /* reexport */ inserter_menu_extension["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "Mb", function() { return /* reexport */ PreviewOptions; }); +__webpack_require__.d(__webpack_exports__, "Tb", function() { return /* reexport */ useResizeCanvas; }); +__webpack_require__.d(__webpack_exports__, "o", function() { return /* reexport */ block_inspector; }); +__webpack_require__.d(__webpack_exports__, "p", function() { return /* reexport */ block_list["c" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "qc", function() { return /* reexport */ use_block_props["a" /* useBlockProps */]; }); +__webpack_require__.d(__webpack_exports__, "Db", function() { return /* reexport */ block_list_layout["b" /* LayoutStyle */]; }); +__webpack_require__.d(__webpack_exports__, "q", function() { return /* reexport */ block_mover["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "s", function() { return /* reexport */ block_preview["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "t", function() { return /* reexport */ block_selection_clearer["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "Zb", function() { return /* reexport */ block_selection_clearer["b" /* useBlockSelectionClearer */]; }); +__webpack_require__.d(__webpack_exports__, "u", function() { return /* reexport */ block_settings_menu["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "v", function() { return /* reexport */ block_settings_menu_controls["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "w", function() { return /* reexport */ block_title["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "x", function() { return /* reexport */ block_toolbar["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "y", function() { return /* reexport */ BlockTools; }); +__webpack_require__.d(__webpack_exports__, "G", function() { return /* reexport */ copy_handler["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "bc", function() { return /* reexport */ copy_handler["b" /* useClipboardHandler */]; }); +__webpack_require__.d(__webpack_exports__, "H", function() { return /* reexport */ default_block_appender["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "Vb", function() { return /* reexport */ editor_styles["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "K", function() { return /* reexport */ inserter["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "Fb", function() { return /* reexport */ library; }); +__webpack_require__.d(__webpack_exports__, "k", function() { return /* reexport */ keyboard_shortcuts; }); +__webpack_require__.d(__webpack_exports__, "U", function() { return /* reexport */ MultiSelectScrollIntoView; }); +__webpack_require__.d(__webpack_exports__, "V", function() { return /* reexport */ navigable_toolbar["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "W", function() { return /* reexport */ observe_typing; }); +__webpack_require__.d(__webpack_exports__, "ec", function() { return /* reexport */ useTypingObserver; }); +__webpack_require__.d(__webpack_exports__, "cc", function() { return /* reexport */ useMouseMoveTypingReset; }); +__webpack_require__.d(__webpack_exports__, "Z", function() { return /* reexport */ PreserveScrollInReorder; }); +__webpack_require__.d(__webpack_exports__, "db", function() { return /* reexport */ skip_to_selected_block; }); +__webpack_require__.d(__webpack_exports__, "fb", function() { return /* reexport */ typewriter; }); +__webpack_require__.d(__webpack_exports__, "dc", function() { return /* reexport */ useTypewriter; }); +__webpack_require__.d(__webpack_exports__, "jb", function() { return /* reexport */ warning["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "kb", function() { return /* reexport */ writing_flow["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "ac", function() { return /* reexport */ useCanvasClickRedirect; }); +__webpack_require__.d(__webpack_exports__, "oc", function() { return /* reexport */ use_block_display_information["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "Wb", function() { return /* reexport */ iframe["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "Sb", function() { return /* reexport */ useNoRecursiveRenders; }); +__webpack_require__.d(__webpack_exports__, "l", function() { return /* reexport */ provider["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "sc", function() { return /* reexport */ use_setting["a" /* default */]; }); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors/index.js + 1 modules +var components_colors = __webpack_require__("5gPN"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/gradients/index.js +var gradients = __webpack_require__("zmSX"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/index.js + 1 modules +var font_sizes = __webpack_require__("9XVa"); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/align-left.js +var align_left = __webpack_require__("fPbg"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/align-center.js +var align_center = __webpack_require__("plpT"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/align-right.js +var align_right = __webpack_require__("ziDm"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/alignment-control/ui.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + +const DEFAULT_ALIGNMENT_CONTROLS = [{ + icon: align_left["a" /* default */], + title: Object(external_wp_i18n_["__"])('Align text left'), + align: 'left' +}, { + icon: align_center["a" /* default */], + title: Object(external_wp_i18n_["__"])('Align text center'), + align: 'center' +}, { + icon: align_right["a" /* default */], + title: Object(external_wp_i18n_["__"])('Align text right'), + align: 'right' +}]; +const ui_POPOVER_PROPS = { + position: 'bottom right', + isAlternate: true +}; + +function AlignmentUI({ + value, + onChange, + alignmentControls = DEFAULT_ALIGNMENT_CONTROLS, + label = Object(external_wp_i18n_["__"])('Align'), + describedBy = Object(external_wp_i18n_["__"])('Change text alignment'), + isCollapsed = true, + isToolbar +}) { + function applyOrUnset(align) { + return () => onChange(value === align ? undefined : align); + } + + const activeAlignment = Object(external_lodash_["find"])(alignmentControls, control => control.align === value); + + function setIcon() { + if (activeAlignment) return activeAlignment.icon; + return Object(external_wp_i18n_["isRTL"])() ? align_right["a" /* default */] : align_left["a" /* default */]; + } + + const UIComponent = isToolbar ? external_wp_components_["ToolbarGroup"] : external_wp_components_["ToolbarDropdownMenu"]; + const extraProps = isToolbar ? { + isCollapsed + } : {}; + return Object(external_wp_element_["createElement"])(UIComponent, Object(esm_extends["a" /* default */])({ + icon: setIcon(), + label: label, + toggleProps: { + describedBy + }, + popoverProps: ui_POPOVER_PROPS, + 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 ui = (AlignmentUI); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/alignment-control/index.js + + + +/** + * Internal dependencies + */ + +function AlignmentControl(props) { + return Object(external_wp_element_["createElement"])(ui, Object(esm_extends["a" /* default */])({}, props, { + isToolbar: false + })); +} +function AlignmentToolbar(props) { + return Object(external_wp_element_["createElement"])(ui, Object(esm_extends["a" /* default */])({}, props, { + isToolbar: true + })); +} + +// EXTERNAL MODULE: external ["wp","hooks"] +var external_wp_hooks_ = __webpack_require__("g56x"); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit/context.js +var context = __webpack_require__("ur0x"); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/search-items.js +var search_items = __webpack_require__("pOGT"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-block-types-state.js +var use_block_types_state = __webpack_require__("+G0a"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-icon/index.js +var block_icon = __webpack_require__("7SSY"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/autocompleters/block.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + +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 + } = Object(external_wp_data_["useSelect"])(select => { + const { + getSelectedBlockClientId, + getBlockName, + getBlockInsertionPoint + } = select(store["a" /* store */]); + const selectedBlockClientId = getSelectedBlockClientId(); + return { + selectedBlockName: selectedBlockClientId ? getBlockName(selectedBlockClientId) : null, + rootClientId: getBlockInsertionPoint().rootClientId + }; + }, []); + const [items, categories, collections] = Object(use_block_types_state["a" /* default */])(rootClientId, external_lodash_["noop"]); + const filteredItems = Object(external_wp_element_["useMemo"])(() => { + const initialFilteredItems = !!filterValue.trim() ? Object(search_items["a" /* searchBlockItems */])(items, categories, collections, filterValue) : Object(external_lodash_["orderBy"])(items, ['frecency'], ['desc']); + return initialFilteredItems.filter(item => item.name !== selectedBlockName).slice(0, SHOWN_BLOCK_TYPES); + }, [filterValue, selectedBlockName, items, categories, collections]); + const options = Object(external_wp_element_["useMemo"])(() => filteredItems.map(blockItem => { + const { + title, + icon, + isDisabled + } = blockItem; + return { + key: `block-${blockItem.id}`, + value: blockItem, + label: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(block_icon["a" /* default */], { + 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 + } = inserterItem; + return { + action: 'replace', + value: Object(external_wp_blocks_["createBlock"])(name, initialAttributes, Object(external_wp_blocks_["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 autocompleters_block = (createBlockCompleter()); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/autocomplete/index.js + + + +/** + * External dependencies + */ + +/** + * 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 EMPTY_ARRAY = []; + +function useCompleters({ + completers = EMPTY_ARRAY +}) { + const { + name + } = Object(context["c" /* useBlockEditContext */])(); + return Object(external_wp_element_["useMemo"])(() => { + let filteredCompleters = completers; + + if (name === Object(external_wp_blocks_["getDefaultBlockName"])() || Object(external_wp_blocks_["getBlockSupport"])(name, '__experimentalSlashInserter', false)) { + filteredCompleters = filteredCompleters.concat([autocompleters_block]); + } + + if (Object(external_wp_hooks_["hasFilter"])('editor.Autocomplete.completers')) { + // Provide copies so filters may directly modify them. + if (filteredCompleters === completers) { + filteredCompleters = filteredCompleters.map(external_lodash_["clone"]); + } + + filteredCompleters = Object(external_wp_hooks_["applyFilters"])('editor.Autocomplete.completers', filteredCompleters, name); + } + + return filteredCompleters; + }, [completers, name]); +} + +function useBlockEditorAutocompleteProps(props) { + return Object(external_wp_components_["__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 Object(external_wp_element_["createElement"])(external_wp_components_["Autocomplete"], Object(esm_extends["a" /* default */])({}, 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); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-alignment-control/index.js + 4 modules +var block_alignment_control = __webpack_require__("vtO0"); + +// EXTERNAL MODULE: external ["wp","primitives"] +var external_wp_primitives_ = __webpack_require__("Tqx9"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/fullscreen.js + + +/** + * WordPress dependencies + */ + +const fullscreen = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M4.2 9h1.5V5.8H9V4.2H4.2V9zm14 9.2H15v1.5h4.8V15h-1.5v3.2zM15 4.2v1.5h3.2V9h1.5V4.2H15zM5.8 15H4.2v4.8H9v-1.5H5.8V15z" +})); +/* 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 = Object(external_wp_i18n_["__"])('Toggle full height'), + onToggle, + isDisabled +}) { + return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + isActive: isActive, + icon: library_fullscreen, + label: label, + onClick: () => onToggle(!isActive), + disabled: isDisabled + }); +} + +/* harmony default export */ var block_full_height_alignment_control = (BlockFullHeightAlignmentControl); + +// EXTERNAL MODULE: external ["wp","keycodes"] +var external_wp_keycodes_ = __webpack_require__("RxS6"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-alignment-matrix-control/index.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +function BlockAlignmentMatrixControl(props) { + const { + label = Object(external_wp_i18n_["__"])('Change matrix alignment'), + onChange = external_lodash_["noop"], + value = 'center', + isDisabled + } = props; + const icon = Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalAlignmentMatrixControl"].Icon, { + value: value + }); + const className = 'block-editor-block-alignment-matrix-control'; + const popoverClassName = `${className}__popover`; + const isAlternate = true; + return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { + position: "bottom right", + className: className, + popoverProps: { + className: popoverClassName, + isAlternate + }, + renderToggle: ({ + onToggle, + isOpen + }) => { + const openOnArrowDown = event => { + if (!isOpen && event.keyCode === external_wp_keycodes_["DOWN"]) { + event.preventDefault(); + onToggle(); + } + }; + + return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + onClick: onToggle, + "aria-haspopup": "true", + "aria-expanded": isOpen, + onKeyDown: openOnArrowDown, + label: label, + icon: icon, + showTooltip: true, + disabled: isDisabled + }); + }, + renderContent: () => Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalAlignmentMatrixControl"], { + hasFocusBorder: false, + onChange: onChange, + value: value + }) + }); +} + +/* harmony default export */ var block_alignment_matrix_control = (BlockAlignmentMatrixControl); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/icon/index.js +var build_module_icon = __webpack_require__("iClF"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-right-small.js + + +/** + * WordPress dependencies + */ + +const chevronRightSmall = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-title/index.js +var block_title = __webpack_require__("f8JO"); + +// 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 + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const { + clientId, + parents, + hasSelection + } = Object(external_wp_data_["useSelect"])(select => { + const { + getSelectionStart, + getSelectedBlockClientId, + getBlockParents + } = select(store["a" /* store */]); + const selectedBlockClientId = getSelectedBlockClientId(); + return { + parents: getBlockParents(selectedBlockClientId), + clientId: selectedBlockClientId, + hasSelection: !!getSelectionStart().clientId + }; + }, []); + + const rootLabel = rootLabelText || Object(external_wp_i18n_["__"])('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 Object(external_wp_element_["createElement"])("ul", { + className: "block-editor-block-breadcrumb", + role: "list", + "aria-label": Object(external_wp_i18n_["__"])('Block breadcrumb') + }, Object(external_wp_element_["createElement"])("li", { + className: !hasSelection ? 'block-editor-block-breadcrumb__current' : undefined, + "aria-current": !hasSelection ? 'true' : undefined + }, hasSelection && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + className: "block-editor-block-breadcrumb__button", + variant: "tertiary", + onClick: clearSelectedBlock + }, rootLabel), !hasSelection && rootLabel, !!clientId && Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { + icon: chevron_right_small, + className: "block-editor-block-breadcrumb__separator" + })), parents.map(parentClientId => Object(external_wp_element_["createElement"])("li", { + key: parentClientId + }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + className: "block-editor-block-breadcrumb__button", + variant: "tertiary", + onClick: () => selectBlock(parentClientId) + }, Object(external_wp_element_["createElement"])(block_title["a" /* default */], { + clientId: parentClientId + })), Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { + icon: chevron_right_small, + className: "block-editor-block-breadcrumb__separator" + }))), !!clientId && Object(external_wp_element_["createElement"])("li", { + className: "block-editor-block-breadcrumb__current", + "aria-current": "true" + }, Object(external_wp_element_["createElement"])(block_title["a" /* default */], { + clientId: clientId + }))) + /* eslint-enable jsx-a11y/no-redundant-roles */ + ; +} + +/* harmony default export */ var block_breadcrumb = (BlockBreadcrumb); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-content-overlay/index.js + + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +/** + * External dependencies + */ + + +function BlockContentOverlay({ + clientId, + tagName: TagName = 'div', + wrapperProps, + className +}) { + const baseClassName = 'block-editor-block-content-overlay'; + const [isOverlayActive, setIsOverlayActive] = Object(external_wp_element_["useState"])(true); + const [isHovered, setIsHovered] = Object(external_wp_element_["useState"])(false); + const { + isParentSelected, + hasChildSelected, + isDraggingBlocks, + isParentHighlighted + } = Object(external_wp_data_["useSelect"])(select => { + const { + isBlockSelected, + hasSelectedInnerBlock, + isDraggingBlocks: _isDraggingBlocks, + isBlockHighlighted + } = select(store["a" /* store */]); + return { + isParentSelected: isBlockSelected(clientId), + hasChildSelected: hasSelectedInnerBlock(clientId, true), + isDraggingBlocks: _isDraggingBlocks(), + isParentHighlighted: isBlockHighlighted(clientId) + }; + }, [clientId]); + const classes = classnames_default()(baseClassName, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.className, className, { + 'overlay-active': isOverlayActive, + 'parent-highlighted': isParentHighlighted, + 'is-dragging-blocks': isDraggingBlocks + }); + Object(external_wp_element_["useEffect"])(() => { + // Reenable when blocks are not in use. + if (!isParentSelected && !hasChildSelected && !isOverlayActive) { + setIsOverlayActive(true); + } // Disable if parent selected by another means (such as list view). + // We check hover to ensure the overlay click interaction is not taking place. + // Trying to click the overlay will select the parent block via its 'focusin' + // listener on the wrapper, so if the block is selected while hovered we will + // let the mouseup disable the overlay instead. + + + if (isParentSelected && !isHovered && isOverlayActive) { + setIsOverlayActive(false); + } // Ensure overlay is disabled if a child block is selected. + + + if (hasChildSelected && isOverlayActive) { + setIsOverlayActive(false); + } + }, [isParentSelected, hasChildSelected, isOverlayActive, isHovered]); // Disabled because the overlay div doesn't actually have a role or functionality + // as far as the a11y is concerned. We're just catching the first click so that + // the block can be selected without interacting with its contents. + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + + return Object(external_wp_element_["createElement"])(TagName, Object(esm_extends["a" /* default */])({}, wrapperProps, { + className: classes, + onMouseEnter: () => setIsHovered(true), + onMouseLeave: () => setIsHovered(false), + onMouseUp: isOverlayActive ? () => setIsOverlayActive(false) : undefined + }), wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.children); +} +/* eslint-enable jsx-a11y/no-static-element-interactions */ + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-context/index.js +var block_context = __webpack_require__("uoCR"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/index.js + 4 modules +var block_controls = __webpack_require__("fOYa"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/color-style-selector/index.js + + +/** + * WordPress dependencies + */ + + + + +const ColorSelectorSVGIcon = () => Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + xmlns: "https://www.w3.org/2000/svg", + viewBox: "0 0 20 20" +}, Object(external_wp_element_["createElement"])(external_wp_components_["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 Object(external_wp_element_["createElement"])("div", { + className: "block-library-colors-selector__icon-container" + }, Object(external_wp_element_["createElement"])("div", { + className: `${className} block-library-colors-selector__state-selection`, + style: style + }, Object(external_wp_element_["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_["DOWN"]) { + event.preventDefault(); + onToggle(); + } + }; + + return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + className: "components-toolbar__control block-library-colors-selector__toggle", + label: Object(external_wp_i18n_["__"])('Open Colors Selector'), + onClick: onToggle, + onKeyDown: openOnArrowDown, + icon: Object(external_wp_element_["createElement"])(BackgroundColor, null, Object(external_wp_element_["createElement"])(TextColor, null, Object(external_wp_element_["createElement"])(ColorSelectorIcon, null))) + })); +}; + +const BlockColorsStyleSelector = ({ + children, + ...other +}) => Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { + position: "bottom right", + className: "block-library-colors-selector", + contentClassName: "block-library-colors-selector__popover", + renderToggle: renderToggleComponent(other), + renderContent: () => children +}); + +/* harmony default export */ var color_style_selector = (BlockColorsStyleSelector); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit/index.js + 1 modules +var block_edit = __webpack_require__("JRTi"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/list-view.js +var list_view = __webpack_require__("OzlF"); + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/more-vertical.js +var more_vertical = __webpack_require__("VKE3"); + +// EXTERNAL MODULE: ./node_modules/@react-spring/web/dist/react-spring-web.esm.js +var react_spring_web_esm = __webpack_require__("+DUQ"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-moving-animation/index.js +var use_moving_animation = __webpack_require__("Xkls"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/leaf.js + + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +const AnimatedTreeGridRow = Object(react_spring_web_esm["animated"])(external_wp_components_["__experimentalTreeGridRow"]); +function ListViewLeaf({ + isSelected, + position, + level, + rowCount, + children, + className, + path, + ...props +}) { + const ref = Object(use_moving_animation["a" /* default */])({ + isSelected, + adjustScrolling: false, + enableAnimation: true, + triggerAnimationOnChange: path + }); + return Object(external_wp_element_["createElement"])(AnimatedTreeGridRow, Object(esm_extends["a" /* default */])({ + ref: ref, + className: classnames_default()('block-editor-list-view-leaf', className), + level: level, + positionInSet: position, + setSize: rowCount + }, props), children); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-mover/button.js + 1 modules +var block_mover_button = __webpack_require__("9Ma0"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-block-display-information/index.js +var use_block_display_information = __webpack_require__("wC17"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/utils.js +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +const getBlockPositionDescription = (position, siblingCount, level) => Object(external_wp_i18n_["sprintf"])( +/* translators: 1: The numerical position of the block. 2: The total number of blocks. 3. The level of nesting for the block. */ +Object(external_wp_i18n_["__"])('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) => Object(external_lodash_["isArray"])(selectedBlockClientIds) && selectedBlockClientIds.length ? selectedBlockClientIds.indexOf(clientId) !== -1 : selectedBlockClientIds === clientId; + +// 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 + Object(external_wp_element_["createElement"])("span", { + className: "block-editor-list-view__expander", + onClick: event => onClick(event, { + forceToggle: true + }), + "aria-hidden": "true" + }, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { + icon: chevron_right_small + })) + ); +} + +// 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 + }, + isSelected, + onClick, + onToggleExpanded, + position, + siblingBlockCount, + level, + tabIndex, + onFocus, + onDragStart, + onDragEnd, + draggable +}, ref) { + const blockInformation = Object(use_block_display_information["a" /* default */])(clientId); + const instanceId = Object(external_wp_compose_["useInstanceId"])(ListViewBlockSelectButton); + const descriptionId = `list-view-block-select-button__${instanceId}`; + const blockPositionDescription = getBlockPositionDescription(position, siblingBlockCount, level); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + className: classnames_default()('block-editor-list-view-block-select-button', className), + onClick: onClick, + "aria-describedby": descriptionId, + ref: ref, + tabIndex: tabIndex, + onFocus: onFocus, + onDragStart: onDragStart, + onDragEnd: onDragEnd, + draggable: draggable + }, Object(external_wp_element_["createElement"])(ListViewExpander, { + onClick: onToggleExpanded + }), Object(external_wp_element_["createElement"])(block_icon["a" /* default */], { + icon: blockInformation === null || blockInformation === void 0 ? void 0 : blockInformation.icon, + showColors: true + }), Object(external_wp_element_["createElement"])(block_title["a" /* default */], { + clientId: clientId + }), (blockInformation === null || blockInformation === void 0 ? void 0 : blockInformation.anchor) && Object(external_wp_element_["createElement"])("span", { + className: "block-editor-list-view-block-select-button__anchor" + }, blockInformation.anchor), isSelected && Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], null, Object(external_wp_i18n_["__"])('(selected block)'))), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-list-view-block-select-button__description", + id: descriptionId + }, blockPositionDescription)); +} + +/* harmony default export */ var block_select_button = (Object(external_wp_element_["forwardRef"])(ListViewBlockSelectButton)); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-draggable/index.js + 1 modules +var block_draggable = __webpack_require__("ZAjO"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/block-contents.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +const ListViewBlockContents = Object(external_wp_element_["forwardRef"])(({ + onClick, + onToggleExpanded, + block, + isSelected, + position, + siblingBlockCount, + level, + ...props +}, ref) => { + const { + clientId + } = block; + const { + blockMovingClientId, + selectedBlockInBlockEditor + } = Object(external_wp_data_["useSelect"])(select => { + const { + getBlockRootClientId, + hasBlockMovingClientId, + getSelectedBlockClientId + } = select(store["a" /* store */]); + return { + rootClientId: getBlockRootClientId(clientId) || '', + blockMovingClientId: hasBlockMovingClientId(), + selectedBlockInBlockEditor: getSelectedBlockClientId() + }; + }, [clientId]); + const isBlockMoveTarget = blockMovingClientId && selectedBlockInBlockEditor === clientId; + const className = classnames_default()('block-editor-list-view-block-contents', { + 'is-dropping-before': isBlockMoveTarget + }); + return Object(external_wp_element_["createElement"])(block_draggable["a" /* default */], { + clientIds: [block.clientId] + }, ({ + draggable, + onDragStart, + onDragEnd + }) => Object(external_wp_element_["createElement"])(block_select_button, Object(esm_extends["a" /* default */])({ + ref: ref, + className: className, + block: block, + onClick: onClick, + onToggleExpanded: onToggleExpanded, + isSelected: isSelected, + position: position, + siblingBlockCount: siblingBlockCount, + level: level, + draggable: draggable, + onDragStart: onDragStart, + onDragEnd: onDragEnd + }, props))); +}); +/* harmony default export */ var block_contents = (ListViewBlockContents); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/block-settings-dropdown.js + 4 modules +var block_settings_dropdown = __webpack_require__("1eGn"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/context.js +/** + * WordPress dependencies + */ + +const ListViewContext = Object(external_wp_element_["createContext"])({ + __experimentalFeatures: false, + __experimentalPersistentListViewFeatures: false +}); +const useListViewContext = () => Object(external_wp_element_["useContext"])(ListViewContext); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/block.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + + + + + +function ListViewBlock({ + block, + isDragged, + isSelected, + isBranchSelected, + selectBlock, + position, + level, + rowCount, + siblingBlockCount, + showBlockMovers, + path, + isExpanded +}) { + const cellRef = Object(external_wp_element_["useRef"])(null); + const [isHovered, setIsHovered] = Object(external_wp_element_["useState"])(false); + const { + clientId + } = block; + const { + toggleBlockHighlight + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const { + __experimentalFeatures: withExperimentalFeatures, + __experimentalPersistentListViewFeatures: withExperimentalPersistentListViewFeatures, + __experimentalHideContainerBlockActions: hideContainerBlockActions, + isTreeGridMounted, + expand, + collapse + } = 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 || isSelected + }); // If ListView has experimental features related to the Persistent List View, + // only focus the selected list item on mount; otherwise the list would always + // try to steal the focus from the editor canvas. + + Object(external_wp_element_["useEffect"])(() => { + if (withExperimentalPersistentListViewFeatures && !isTreeGridMounted && isSelected) { + cellRef.current.focus(); + } + }, []); + const highlightBlock = withExperimentalPersistentListViewFeatures ? toggleBlockHighlight : () => {}; + const onMouseEnter = Object(external_wp_element_["useCallback"])(() => { + setIsHovered(true); + highlightBlock(clientId, true); + }, [clientId, setIsHovered, highlightBlock]); + const onMouseLeave = Object(external_wp_element_["useCallback"])(() => { + setIsHovered(false); + highlightBlock(clientId, false); + }, [clientId, setIsHovered, highlightBlock]); + const selectEditorBlock = Object(external_wp_element_["useCallback"])(event => { + event.stopPropagation(); + selectBlock(clientId); + }, [clientId, selectBlock]); + const toggleExpanded = Object(external_wp_element_["useCallback"])(event => { + event.stopPropagation(); + + if (isExpanded === true) { + collapse(clientId); + } else if (isExpanded === false) { + expand(clientId); + } + }, [clientId, expand, collapse, isExpanded]); + const showBlockActions = withExperimentalFeatures && ( //hide actions for blocks like core/widget-areas + !hideContainerBlockActions || hideContainerBlockActions && level > 1); + const hideBlockActions = withExperimentalFeatures && !showBlockActions; + let colSpan; + + if (hasRenderedMovers) { + colSpan = 2; + } else if (hideBlockActions) { + colSpan = 3; + } + + const classes = classnames_default()({ + 'is-selected': isSelected, + 'is-branch-selected': withExperimentalPersistentListViewFeatures && isBranchSelected, + 'is-dragging': isDragged, + 'has-single-cell': hideBlockActions + }); + return Object(external_wp_element_["createElement"])(ListViewLeaf, { + className: classes, + onMouseEnter: onMouseEnter, + onMouseLeave: onMouseLeave, + onFocus: onMouseEnter, + onBlur: onMouseLeave, + level: level, + position: position, + rowCount: rowCount, + path: path, + id: `list-view-block-${clientId}`, + "data-block": clientId, + isExpanded: isExpanded + }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalTreeGridCell"], { + className: "block-editor-list-view-block__contents-cell", + colSpan: colSpan, + ref: cellRef + }, ({ + ref, + tabIndex, + onFocus + }) => Object(external_wp_element_["createElement"])("div", { + className: "block-editor-list-view-block__contents-container" + }, Object(external_wp_element_["createElement"])(block_contents, { + block: block, + onClick: selectEditorBlock, + onToggleExpanded: toggleExpanded, + isSelected: isSelected, + position: position, + siblingBlockCount: siblingBlockCount, + level: level, + ref: ref, + tabIndex: tabIndex, + onFocus: onFocus + }))), hasRenderedMovers && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalTreeGridCell"], { + className: moverCellClassName, + withoutGridItem: true + }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalTreeGridItem"], null, ({ + ref, + tabIndex, + onFocus + }) => Object(external_wp_element_["createElement"])(block_mover_button["b" /* BlockMoverUpButton */], { + orientation: "vertical", + clientIds: [clientId], + ref: ref, + tabIndex: tabIndex, + onFocus: onFocus + })), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalTreeGridItem"], null, ({ + ref, + tabIndex, + onFocus + }) => Object(external_wp_element_["createElement"])(block_mover_button["a" /* BlockMoverDownButton */], { + orientation: "vertical", + clientIds: [clientId], + ref: ref, + tabIndex: tabIndex, + onFocus: onFocus + })))), showBlockActions && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalTreeGridCell"], { + className: listViewBlockSettingsClassName + }, ({ + ref, + tabIndex, + onFocus + }) => Object(external_wp_element_["createElement"])(block_settings_dropdown["a" /* default */], { + clientIds: [clientId], + icon: more_vertical["a" /* default */], + toggleProps: { + ref, + className: 'block-editor-list-view-block__menu', + tabIndex, + onFocus + }, + disableOpenOnArrowDown: true, + __experimentalSelectBlock: selectEditorBlock + }))); +} + +/* harmony default export */ var list_view_block = (Object(external_wp_element_["memo"])(ListViewBlock)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/branch.js + + +/** + * External dependencies + */ + +/** + * 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 + * @return {number} block count + */ + +function countBlocks(block, expandedState, draggedClientIds) { + var _expandedState$block$; + + const isDragged = draggedClientIds === null || draggedClientIds === void 0 ? void 0 : draggedClientIds.includes(block.clientId); + + if (isDragged) { + return 0; + } + + const isExpanded = (_expandedState$block$ = expandedState[block.clientId]) !== null && _expandedState$block$ !== void 0 ? _expandedState$block$ : true; + + if (isExpanded) { + return 1 + block.innerBlocks.reduce(countReducer(expandedState, draggedClientIds), 0); + } + + return 1; +} + +const countReducer = (expandedState, draggedClientIds) => (count, block) => { + var _expandedState$block$2; + + const isDragged = draggedClientIds === null || draggedClientIds === void 0 ? void 0 : 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 : true; + + if (isExpanded && block.innerBlocks.length > 0) { + return count + countBlocks(block, expandedState, draggedClientIds); + } + + return count + 1; +}; + +function ListViewBranch(props) { + const { + blocks, + selectBlock, + showBlockMovers, + showNestedBlocks, + selectedClientIds, + level = 1, + path = '', + isBranchSelected = false, + listPosition = 0, + fixedListWindow + } = props; + const { + expandedState, + draggedClientIds, + __experimentalPersistentListViewFeatures + } = useListViewContext(); + const filteredBlocks = Object(external_lodash_["compact"])(blocks); + const blockCount = filteredBlocks.length; + let nextPosition = listPosition; + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, filteredBlocks.map((block, index) => { + var _expandedState$client; + + const { + clientId, + innerBlocks + } = block; + + if (index > 0) { + nextPosition += countBlocks(filteredBlocks[index - 1], expandedState, draggedClientIds); + } + + const usesWindowing = __experimentalPersistentListViewFeatures; + const { + itemInView + } = fixedListWindow; + const blockInView = !usesWindowing || itemInView(nextPosition); + const position = index + 1; + const updatedPath = path.length > 0 ? `${path}_${position}` : `${position}`; + const hasNestedBlocks = showNestedBlocks && !!innerBlocks && !!innerBlocks.length; + const isExpanded = hasNestedBlocks ? (_expandedState$client = expandedState[clientId]) !== null && _expandedState$client !== void 0 ? _expandedState$client : true : undefined; + const isDragged = !!(draggedClientIds !== null && draggedClientIds !== void 0 && draggedClientIds.includes(clientId)); + const showBlock = isDragged || blockInView; // 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; + return Object(external_wp_element_["createElement"])(external_wp_data_["AsyncModeProvider"], { + key: clientId, + value: !isSelected + }, showBlock && Object(external_wp_element_["createElement"])(list_view_block, { + block: block, + selectBlock: selectBlock, + isSelected: isSelected, + isBranchSelected: isSelectedBranch, + isDragged: isDragged, + level: level, + position: position, + rowCount: blockCount, + siblingBlockCount: blockCount, + showBlockMovers: showBlockMovers, + path: updatedPath, + isExpanded: isExpanded, + listPosition: nextPosition + }), !showBlock && Object(external_wp_element_["createElement"])("tr", null, Object(external_wp_element_["createElement"])("td", { + className: "block-editor-list-view-placeholder" + })), hasNestedBlocks && isExpanded && !isDragged && Object(external_wp_element_["createElement"])(ListViewBranch, { + blocks: innerBlocks, + selectBlock: selectBlock, + showBlockMovers: showBlockMovers, + showNestedBlocks: showNestedBlocks, + level: level + 1, + path: updatedPath, + listPosition: nextPosition + 1, + fixedListWindow: fixedListWindow, + isBranchSelected: isSelectedBranch, + selectedClientIds: selectedClientIds + })); + })); +} + +ListViewBranch.defaultProps = { + selectBlock: () => {} +}; +/* harmony default export */ var branch = (Object(external_wp_element_["memo"])(ListViewBranch)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/list-view/drop-indicator.js + + +/** + * WordPress dependencies + */ + + +function ListViewDropIndicator({ + listViewRef, + blockDropTarget +}) { + const { + rootClientId, + clientId, + dropPosition + } = blockDropTarget || {}; + const [rootBlockElement, blockElement] = Object(external_wp_element_["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 getDropIndicatorIndent = Object(external_wp_element_["useCallback"])(() => { + 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 targetElementRect = targetElement.getBoundingClientRect(); + const rootBlockIconElement = rootBlockElement.querySelector('.block-editor-block-icon'); + const rootBlockIconRect = rootBlockIconElement.getBoundingClientRect(); + return rootBlockIconRect.right - targetElementRect.left; + }, [rootBlockElement, targetElement]); + const style = Object(external_wp_element_["useMemo"])(() => { + if (!targetElement) { + return {}; + } + + const indent = getDropIndicatorIndent(); + return { + width: targetElement.offsetWidth - indent + }; + }, [getDropIndicatorIndent, targetElement]); + const getAnchorRect = Object(external_wp_element_["useCallback"])(() => { + if (!targetElement) { + return {}; + } + + const ownerDocument = targetElement.ownerDocument; + const rect = targetElement.getBoundingClientRect(); + const indent = getDropIndicatorIndent(); + const anchorRect = { + left: rect.left + indent, + right: rect.right, + width: 0, + height: rect.height, + ownerDocument + }; + + if (dropPosition === 'top') { + return { ...anchorRect, + top: rect.top, + bottom: rect.top + }; + } + + if (dropPosition === 'bottom' || dropPosition === 'inside') { + return { ...anchorRect, + top: rect.bottom, + bottom: rect.bottom + }; + } + + return {}; + }, [targetElement, dropPosition, getDropIndicatorIndent]); + + if (!targetElement) { + return null; + } + + return Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { + noArrow: true, + animate: false, + getAnchorRect: getAnchorRect, + focusOnMount: false, + className: "block-editor-list-view-drop-indicator" + }, Object(external_wp_element_["createElement"])("div", { + style: style, + className: "block-editor-list-view-drop-indicator__line" + })); +} + +// 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) { + return Object(external_wp_data_["useSelect"])(select => { + const { + getDraggedBlockClientIds, + getSelectedBlockClientIds, + __unstableGetClientIdsTree + } = select(store["a" /* store */]); + return { + selectedClientIds: getSelectedBlockClientIds(), + draggedClientIds: getDraggedBlockClientIds(), + clientIdsTree: blocks ? blocks : __unstableGetClientIdsTree() + }; + }, [blocks]); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/math.js +var math = __webpack_require__("vIlp"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-on-block-drop/index.js +var use_on_block_drop = __webpack_require__("/lNF"); + +// 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 array representing data for blocks in the DOM used by drag and drop. + * + * @typedef {Object} WPListViewDropZoneBlocks + * @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} 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 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. + */ + +/** + * Is the point contained by the rectangle. + * + * @param {WPPoint} point The point. + * @param {DOMRect} rect The rectangle. + * + * @return {boolean} True if the point is contained by the rectangle, false otherwise. + */ + +function isPointContainedByRect(point, rect) { + return rect.left <= point.x && rect.right >= point.x && rect.top <= point.y && rect.bottom >= point.y; +} +/** + * Determines whether the user positioning the dragged block to nest as an + * inner block. + * + * Presently this is determined by whether the cursor is on the right hand side + * of the block. + * + * @param {WPPoint} point The point representing the cursor position when dragging. + * @param {DOMRect} rect The rectangle. + */ + + +function isNestingGesture(point, rect) { + const blockCenterX = rect.left + rect.width / 2; + return point.x > blockCenterX; +} // 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. + * + * @return {WPListViewDropZoneTarget} An object containing data about the drop target. + */ + +function getListViewDropTarget(blocksData, position) { + let candidateEdge; + let candidateBlockData; + let candidateDistance; + let candidateRect; + + for (const blockData of blocksData) { + if (blockData.isDraggedBlock) { + continue; + } + + const rect = blockData.element.getBoundingClientRect(); + const [distance, edge] = Object(math["a" /* 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(); + } else { + candidateBlockData = blockData; + candidateEdge = edge; + candidateRect = rect; + } // 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 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, this should always be treated + // as nesting since the next block in the tree will be the first child. + + if (isDraggingBelow && candidateBlockData.canInsertDraggedBlocksAsChild && (candidateBlockData.innerBlockCount > 0 || isNestingGesture(position, candidateRect))) { + return { + rootClientId: candidateBlockData.clientId, + blockIndex: 0, + dropPosition: 'inside' + }; + } // 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. + * + * @return {WPListViewDropZoneTarget} The drop target. + */ + + +function useListViewDropZone() { + const { + getBlockRootClientId, + getBlockIndex, + getBlockCount, + getDraggedBlockClientIds, + canInsertBlocks + } = Object(external_wp_data_["useSelect"])(store["a" /* store */]); + const [target, setTarget] = Object(external_wp_element_["useState"])(); + const { + rootClientId: targetRootClientId, + blockIndex: targetBlockIndex + } = target || {}; + const onBlockDrop = Object(use_on_block_drop["a" /* default */])(targetRootClientId, targetBlockIndex); + const draggedBlockClientIds = getDraggedBlockClientIds(); + const throttled = Object(external_wp_compose_["useThrottle"])(Object(external_wp_element_["useCallback"])((event, currentTarget) => { + const position = { + x: event.clientX, + y: event.clientY + }; + const isBlockDrag = !!(draggedBlockClientIds !== null && draggedBlockClientIds !== void 0 && draggedBlockClientIds.length); + const blockElements = Array.from(currentTarget.querySelectorAll('[data-block]')); + const blocksData = blockElements.map(blockElement => { + const clientId = blockElement.dataset.block; + const rootClientId = getBlockRootClientId(clientId); + return { + clientId, + rootClientId, + blockIndex: getBlockIndex(clientId, rootClientId), + element: blockElement, + isDraggedBlock: isBlockDrag ? draggedBlockClientIds.includes(clientId) : false, + innerBlockCount: getBlockCount(clientId), + canInsertDraggedBlocksAsSibling: isBlockDrag ? canInsertBlocks(draggedBlockClientIds, rootClientId) : true, + canInsertDraggedBlocksAsChild: isBlockDrag ? canInsertBlocks(draggedBlockClientIds, clientId) : true + }; + }); + const newTarget = getListViewDropTarget(blocksData, position); + + if (newTarget) { + setTarget(newTarget); + } + }, [draggedBlockClientIds]), 200); + const ref = Object(external_wp_compose_["__experimentalUseDropZone"])({ + onDrop: onBlockDrop, + + 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/index.js + + + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + + + + + +const noop = () => {}; + +const list_view_expanded = (state, action) => { + switch (action.type) { + case 'expand': + return { ...state, + ...{ + [action.clientId]: true + } + }; + + case 'collapse': + return { ...state, + ...{ + [action.clientId]: false + } + }; + + default: + return state; + } +}; +/** + * Wrap `ListViewRows` with `TreeGrid`. ListViewRows is a + * recursive component (it renders itself), so this ensures TreeGrid is only + * present at the very top of the navigation grid. + * + * @param {Object} props Components props. + * @param {Array} props.blocks Custom subset of block client IDs to be used instead of the default hierarchy. + * @param {Function} props.onSelect Block selection callback. + * @param {boolean} props.showNestedBlocks Flag to enable displaying nested blocks. + * @param {boolean} props.showBlockMovers Flag to enable block movers + * @param {boolean} props.__experimentalFeatures Flag to enable experimental features. + * @param {boolean} props.__experimentalPersistentListViewFeatures Flag to enable features for the Persistent List View experiment. + * @param {boolean} props.__experimentalHideContainerBlockActions Flag to hide actions of top level blocks (like core/widget-area) + * @param {Object} ref Forwarded ref + */ + + +function ListView({ + blocks, + onSelect = noop, + __experimentalFeatures, + __experimentalPersistentListViewFeatures, + __experimentalHideContainerBlockActions, + showNestedBlocks, + showBlockMovers, + ...props +}, ref) { + const { + clientIdsTree, + draggedClientIds, + selectedClientIds + } = useListViewClientIds(blocks); + const { + selectBlock + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const { + visibleBlockCount + } = Object(external_wp_data_["useSelect"])(select => { + const { + getGlobalBlockCount, + getClientIdsOfDescendants + } = select(store["a" /* store */]); + const draggedBlockCount = (draggedClientIds === null || draggedClientIds === void 0 ? void 0 : draggedClientIds.length) > 0 ? getClientIdsOfDescendants(draggedClientIds).length + 1 : 0; + return { + visibleBlockCount: getGlobalBlockCount() - draggedBlockCount + }; + }, [draggedClientIds]); + const selectEditorBlock = Object(external_wp_element_["useCallback"])(clientId => { + selectBlock(clientId); + onSelect(clientId); + }, [selectBlock, onSelect]); + const [expandedState, setExpandedState] = Object(external_wp_element_["useReducer"])(list_view_expanded, {}); + const { + ref: dropZoneRef, + target: blockDropTarget + } = useListViewDropZone(); + const elementRef = Object(external_wp_element_["useRef"])(); + const treeGridRef = Object(external_wp_compose_["useMergeRefs"])([elementRef, dropZoneRef, ref]); + const isMounted = Object(external_wp_element_["useRef"])(false); + Object(external_wp_element_["useEffect"])(() => { + isMounted.current = true; + }, []); // 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. + // See: https://github.com/WordPress/gutenberg/pull/35230 for additional context. + + const [fixedListWindow] = Object(external_wp_compose_["__experimentalUseFixedWindowList"])(elementRef, 36, visibleBlockCount, { + useWindowing: __experimentalPersistentListViewFeatures, + windowOverscan: 40 + }); + const expand = Object(external_wp_element_["useCallback"])(clientId => { + if (!clientId) { + return; + } + + setExpandedState({ + type: 'expand', + clientId + }); + }, [setExpandedState]); + const collapse = Object(external_wp_element_["useCallback"])(clientId => { + if (!clientId) { + return; + } + + setExpandedState({ + type: 'collapse', + clientId + }); + }, [setExpandedState]); + const expandRow = Object(external_wp_element_["useCallback"])(row => { + var _row$dataset; + + expand(row === null || row === void 0 ? void 0 : (_row$dataset = row.dataset) === null || _row$dataset === void 0 ? void 0 : _row$dataset.block); + }, [expand]); + const collapseRow = Object(external_wp_element_["useCallback"])(row => { + var _row$dataset2; + + collapse(row === null || row === void 0 ? void 0 : (_row$dataset2 = row.dataset) === null || _row$dataset2 === void 0 ? void 0 : _row$dataset2.block); + }, [collapse]); + const contextValue = Object(external_wp_element_["useMemo"])(() => ({ + __experimentalFeatures, + __experimentalPersistentListViewFeatures, + __experimentalHideContainerBlockActions, + isTreeGridMounted: isMounted.current, + draggedClientIds, + expandedState, + expand, + collapse + }), [__experimentalFeatures, __experimentalPersistentListViewFeatures, __experimentalHideContainerBlockActions, isMounted.current, draggedClientIds, expandedState, expand, collapse]); + return Object(external_wp_element_["createElement"])(external_wp_data_["AsyncModeProvider"], { + value: true + }, Object(external_wp_element_["createElement"])(ListViewDropIndicator, { + listViewRef: elementRef, + blockDropTarget: blockDropTarget + }), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalTreeGrid"], { + className: "block-editor-list-view-tree", + "aria-label": Object(external_wp_i18n_["__"])('Block navigation structure'), + ref: treeGridRef, + onCollapseRow: collapseRow, + onExpandRow: expandRow + }, Object(external_wp_element_["createElement"])(ListViewContext.Provider, { + value: contextValue + }, Object(external_wp_element_["createElement"])(branch, Object(esm_extends["a" /* default */])({ + blocks: clientIdsTree, + selectBlock: selectEditorBlock, + showNestedBlocks: showNestedBlocks, + showBlockMovers: showBlockMovers, + fixedListWindow: fixedListWindow, + selectedClientIds: selectedClientIds + }, props))))); +} + +/* harmony default export */ var components_list_view = (Object(external_wp_element_["forwardRef"])(ListView)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-navigation/dropdown.js + + + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + +function BlockNavigationDropdownToggle({ + isEnabled, + onToggle, + isOpen, + innerRef, + ...props +}) { + return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({}, props, { + ref: innerRef, + icon: list_view["a" /* default */], + "aria-expanded": isOpen, + "aria-haspopup": "true", + onClick: isEnabled ? onToggle : undefined + /* translators: button label text should, if possible, be under 16 characters. */ + , + label: Object(external_wp_i18n_["__"])('List view'), + className: "block-editor-block-navigation", + "aria-disabled": !isEnabled + })); +} + +function BlockNavigationDropdown({ + isDisabled, + __experimentalFeatures, + ...props +}, ref) { + const hasBlocks = Object(external_wp_data_["useSelect"])(select => !!select(store["a" /* store */]).getBlockCount(), []); + const isEnabled = hasBlocks && !isDisabled; + return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { + contentClassName: "block-editor-block-navigation__popover", + position: "bottom right", + renderToggle: ({ + isOpen, + onToggle + }) => Object(external_wp_element_["createElement"])(BlockNavigationDropdownToggle, Object(esm_extends["a" /* default */])({}, props, { + innerRef: ref, + isOpen: isOpen, + onToggle: onToggle, + isEnabled: isEnabled + })), + renderContent: () => Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-navigation__container" + }, Object(external_wp_element_["createElement"])("p", { + className: "block-editor-block-navigation__label" + }, Object(external_wp_i18n_["__"])('List view')), Object(external_wp_element_["createElement"])(components_list_view, { + showNestedBlocks: true, + __experimentalFeatures: __experimentalFeatures + })) + }); +} + +/* harmony default export */ var dropdown = (Object(external_wp_element_["forwardRef"])(BlockNavigationDropdown)); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/layout.js +var layout = __webpack_require__("Civd"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-variation-picker/index.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +function BlockVariationPicker({ + icon = layout["a" /* default */], + label = Object(external_wp_i18n_["__"])('Choose variation'), + instructions = Object(external_wp_i18n_["__"])('Select a variation to start with.'), + variations, + onSelect, + allowSkip +}) { + const classes = classnames_default()('block-editor-block-variation-picker', { + 'has-many-variations': variations.length > 4 + }); + return Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { + icon: icon, + label: label, + instructions: instructions, + className: classes + }, Object(external_wp_element_["createElement"])("ul", { + className: "block-editor-block-variation-picker__variations", + role: "list", + "aria-label": Object(external_wp_i18n_["__"])('Block variations') + }, variations.map(variation => Object(external_wp_element_["createElement"])("li", { + key: variation.name + }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + variant: "secondary", + icon: variation.icon, + iconSize: 48, + onClick: () => onSelect(variation), + className: "block-editor-block-variation-picker__variation", + label: variation.description || variation.title + }), Object(external_wp_element_["createElement"])("span", { + className: "block-editor-block-variation-picker__variation-label", + role: "presentation" + }, variation.title)))), allowSkip && Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-variation-picker__skip" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + variant: "link", + onClick: () => onSelect() + }, Object(external_wp_i18n_["__"])('Skip')))); +} + +/* harmony default export */ var block_variation_picker = (BlockVariationPicker); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-preview/index.js + 2 modules +var block_preview = __webpack_require__("REKd"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-left.js +var chevron_left = __webpack_require__("2gm7"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-right.js +var chevron_right = __webpack_require__("1iEr"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/stretch-full-width.js +var stretch_full_width = __webpack_require__("XNw2"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/grid.js +var grid = __webpack_require__("b2RC"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-pattern-setup/constants.js +const VIEWMODES = { + carousel: 'carousel', + grid: 'grid' +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-pattern-setup/setup-toolbar.js + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +const Actions = ({ + onStartBlank, + onBlockPatternSelect +}) => Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-pattern-setup__actions" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + onClick: onStartBlank +}, Object(external_wp_i18n_["__"])('Start blank')), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + variant: "primary", + onClick: onBlockPatternSelect +}, Object(external_wp_i18n_["__"])('Choose'))); + +const CarouselNavigation = ({ + handlePrevious, + handleNext, + activeSlide, + totalSlides +}) => Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-pattern-setup__navigation" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + icon: chevron_left["a" /* default */], + label: Object(external_wp_i18n_["__"])('Previous pattern'), + onClick: handlePrevious, + disabled: activeSlide === 0 +}), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + icon: chevron_right["a" /* default */], + label: Object(external_wp_i18n_["__"])('Next pattern'), + onClick: handleNext, + disabled: activeSlide === totalSlides - 1 +})); + +const SetupToolbar = ({ + viewMode, + setViewMode, + handlePrevious, + handleNext, + activeSlide, + totalSlides, + onBlockPatternSelect, + onStartBlank +}) => { + const isCarouselView = viewMode === VIEWMODES.carousel; + const displayControls = Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-pattern-setup__display-controls" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + icon: stretch_full_width["a" /* default */], + label: Object(external_wp_i18n_["__"])('Carousel view'), + onClick: () => setViewMode(VIEWMODES.carousel), + isPressed: isCarouselView + }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + icon: grid["a" /* default */], + label: Object(external_wp_i18n_["__"])('Grid view'), + onClick: () => setViewMode(VIEWMODES.grid), + isPressed: viewMode === VIEWMODES.grid + })); + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-pattern-setup__toolbar" + }, isCarouselView && Object(external_wp_element_["createElement"])(CarouselNavigation, { + handlePrevious: handlePrevious, + handleNext: handleNext, + activeSlide: activeSlide, + totalSlides: totalSlides + }), displayControls, isCarouselView && Object(external_wp_element_["createElement"])(Actions, { + onBlockPatternSelect: onBlockPatternSelect, + onStartBlank: onStartBlank + })); +}; + +/* harmony default export */ var setup_toolbar = (SetupToolbar); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-pattern-setup/use-patterns-setup.js +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + +function usePatternsSetup(clientId, blockName, filterPatternsFn) { + return Object(external_wp_data_["useSelect"])(select => { + const { + getBlockRootClientId, + __experimentalGetPatternsByBlockTypes, + __experimentalGetAllowedPatterns + } = select(store["a" /* store */]); + const rootClientId = getBlockRootClientId(clientId); + + if (filterPatternsFn) { + return __experimentalGetAllowedPatterns(rootClientId).filter(filterPatternsFn); + } + + return __experimentalGetPatternsByBlockTypes(blockName, rootClientId); + }, [clientId, blockName, filterPatternsFn]); +} + +/* harmony default export */ var use_patterns_setup = (usePatternsSetup); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-pattern-setup/index.js + + + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + + + + +const SetupContent = ({ + viewMode, + activeSlide, + patterns, + onBlockPatternSelect +}) => { + const composite = Object(external_wp_components_["__unstableUseCompositeState"])(); + 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 Object(external_wp_element_["createElement"])("div", { + className: containerClass + }, Object(external_wp_element_["createElement"])("ul", { + className: "carousel-container" + }, patterns.map((pattern, index) => Object(external_wp_element_["createElement"])(BlockPatternSlide, { + className: slideClass.get(index) || '', + key: pattern.name, + pattern: pattern + })))); + } + + return Object(external_wp_element_["createElement"])(external_wp_components_["__unstableComposite"], Object(esm_extends["a" /* default */])({}, composite, { + role: "listbox", + className: containerClass, + "aria-label": Object(external_wp_i18n_["__"])('Patterns list') + }), patterns.map(pattern => Object(external_wp_element_["createElement"])(BlockPattern, { + key: pattern.name, + pattern: pattern, + onSelect: onBlockPatternSelect, + composite: composite + }))); +}; + +function BlockPattern({ + pattern, + onSelect, + composite +}) { + const baseClassName = 'block-editor-block-pattern-setup-list'; + const { + blocks, + title, + description, + viewportWidth = 700 + } = pattern; + const descriptionId = Object(external_wp_compose_["useInstanceId"])(BlockPattern, `${baseClassName}__item-description`); + return Object(external_wp_element_["createElement"])("div", { + className: `${baseClassName}__list-item`, + "aria-label": pattern.title, + "aria-describedby": pattern.description ? descriptionId : undefined + }, Object(external_wp_element_["createElement"])(external_wp_components_["__unstableCompositeItem"], Object(esm_extends["a" /* default */])({ + role: "option", + as: "div" + }, composite, { + className: `${baseClassName}__item`, + onClick: () => onSelect(blocks) + }), Object(external_wp_element_["createElement"])(block_preview["a" /* default */], { + blocks: blocks, + viewportWidth: viewportWidth + }), Object(external_wp_element_["createElement"])("div", { + className: `${baseClassName}__item-title` + }, title)), !!description && Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { + id: descriptionId + }, description)); +} + +function BlockPatternSlide({ + className, + pattern +}) { + const { + blocks, + title, + description + } = pattern; + const descriptionId = Object(external_wp_compose_["useInstanceId"])(BlockPatternSlide, 'block-editor-block-pattern-setup-list__item-description'); + return Object(external_wp_element_["createElement"])("li", { + className: `pattern-slide ${className}`, + "aria-label": title, + "aria-describedby": description ? descriptionId : undefined + }, Object(external_wp_element_["createElement"])(block_preview["a" /* default */], { + blocks: blocks, + __experimentalLive: true + }), !!description && Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { + id: descriptionId + }, description)); +} + +const BlockPatternSetup = ({ + clientId, + blockName, + filterPatternsFn, + startBlankComponent, + onBlockPatternSelect +}) => { + const [viewMode, setViewMode] = Object(external_wp_element_["useState"])(VIEWMODES.carousel); + const [activeSlide, setActiveSlide] = Object(external_wp_element_["useState"])(0); + const [showBlank, setShowBlank] = Object(external_wp_element_["useState"])(false); + const { + replaceBlock + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const patterns = use_patterns_setup(clientId, blockName, filterPatternsFn); + + if (!(patterns !== null && patterns !== void 0 && patterns.length) || showBlank) { + return startBlankComponent; + } + + const onBlockPatternSelectDefault = blocks => { + const clonedBlocks = blocks.map(block => Object(external_wp_blocks_["cloneBlock"])(block)); + replaceBlock(clientId, clonedBlocks); + }; + + const onPatternSelectCallback = onBlockPatternSelect || onBlockPatternSelectDefault; + return Object(external_wp_element_["createElement"])("div", { + className: `block-editor-block-pattern-setup view-mode-${viewMode}` + }, Object(external_wp_element_["createElement"])(setup_toolbar, { + viewMode: viewMode, + setViewMode: setViewMode, + activeSlide: activeSlide, + totalSlides: patterns.length, + handleNext: () => { + setActiveSlide(active => active + 1); + }, + handlePrevious: () => { + setActiveSlide(active => active - 1); + }, + onBlockPatternSelect: () => { + onPatternSelectCallback(patterns[activeSlide].blocks); + }, + onStartBlank: () => { + setShowBlank(true); + } + }), Object(external_wp_element_["createElement"])(SetupContent, { + viewMode: viewMode, + activeSlide: activeSlide, + patterns: patterns, + onBlockPatternSelect: onPatternSelectCallback + })); +}; + +/* harmony default export */ var block_pattern_setup = (BlockPatternSetup); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-down.js +var chevron_down = __webpack_require__("NWDH"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/block-variation-transforms.js +var block_variation_transforms = __webpack_require__("Btt3"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-variation-transforms/index.js + + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + +function __experimentalBlockVariationTransforms({ + blockClientId +}) { + const [selectedValue, setSelectedValue] = Object(external_wp_element_["useState"])(); + const { + updateBlockAttributes + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const { + variations, + blockAttributes + } = Object(external_wp_data_["useSelect"])(select => { + const { + getBlockVariations + } = select(external_wp_blocks_["store"]); + const { + getBlockName, + getBlockAttributes + } = select(store["a" /* store */]); + const blockName = blockClientId && getBlockName(blockClientId); + return { + variations: blockName && getBlockVariations(blockName, 'transform'), + blockAttributes: getBlockAttributes(blockClientId) + }; + }, [blockClientId]); + Object(external_wp_element_["useEffect"])(() => { + var _getMatchingVariation; + + setSelectedValue((_getMatchingVariation = Object(block_variation_transforms["a" /* __experimentalGetMatchingVariation */])(blockAttributes, variations)) === null || _getMatchingVariation === void 0 ? void 0 : _getMatchingVariation.name); + }, [blockAttributes, variations]); + if (!(variations !== null && variations !== void 0 && variations.length)) return null; + const selectOptions = variations.map(({ + name, + title, + description + }) => ({ + value: name, + label: title, + info: description + })); + + const onSelectVariation = variationName => { + updateBlockAttributes(blockClientId, { ...variations.find(({ + name + }) => name === variationName).attributes + }); + }; + + const baseClass = 'block-editor-block-variation-transforms'; + return Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { + className: baseClass, + label: Object(external_wp_i18n_["__"])('Transform to variation'), + text: Object(external_wp_i18n_["__"])('Transform to variation'), + popoverProps: { + position: 'bottom center', + className: `${baseClass}__popover` + }, + icon: chevron_down["a" /* default */], + toggleProps: { + iconPosition: 'right' + } + }, () => Object(external_wp_element_["createElement"])("div", { + className: `${baseClass}__container` + }, Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItemsChoice"], { + choices: selectOptions, + value: selectedValue, + onSelect: onSelectVariation + })))); +} + +/* harmony default export */ var components_block_variation_transforms = (__experimentalBlockVariationTransforms); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-vertical-alignment-control/icons.js + + +/** + * WordPress dependencies + */ + +const alignBottom = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M15 4H9v11h6V4zM4 18.5V20h16v-1.5H4z" +})); +const alignCenter = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M20 11h-5V4H9v7H4v1.5h5V20h6v-7.5h5z" +})); +const alignTop = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M9 20h6V9H9v11zM4 4v1.5h16V4H4z" +})); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-vertical-alignment-control/ui.js + + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +const BLOCK_ALIGNMENTS_CONTROLS = { + top: { + icon: alignTop, + title: Object(external_wp_i18n_["_x"])('Align top', 'Block vertical alignment setting') + }, + center: { + icon: alignCenter, + title: Object(external_wp_i18n_["_x"])('Align middle', 'Block vertical alignment setting') + }, + bottom: { + icon: alignBottom, + title: Object(external_wp_i18n_["_x"])('Align bottom', 'Block vertical alignment setting') + } +}; +const DEFAULT_CONTROLS = ['top', 'center', 'bottom']; +const DEFAULT_CONTROL = 'top'; +const block_vertical_alignment_control_ui_POPOVER_PROPS = { + isAlternate: true +}; + +function BlockVerticalAlignmentUI({ + value, + onChange, + controls = DEFAULT_CONTROLS, + isCollapsed = true, + isToolbar +}) { + function applyOrUnset(align) { + return () => onChange(value === align ? undefined : align); + } + + const activeAlignment = BLOCK_ALIGNMENTS_CONTROLS[value]; + const defaultAlignmentControl = BLOCK_ALIGNMENTS_CONTROLS[DEFAULT_CONTROL]; + const UIComponent = isToolbar ? external_wp_components_["ToolbarGroup"] : external_wp_components_["ToolbarDropdownMenu"]; + const extraProps = isToolbar ? { + isCollapsed + } : {}; + return Object(external_wp_element_["createElement"])(UIComponent, Object(esm_extends["a" /* default */])({ + popoverProps: block_vertical_alignment_control_ui_POPOVER_PROPS, + icon: activeAlignment ? activeAlignment.icon : defaultAlignmentControl.icon, + label: Object(external_wp_i18n_["_x"])('Change vertical alignment', 'Block vertical alignment setting label'), + controls: controls.map(control => { + return { ...BLOCK_ALIGNMENTS_CONTROLS[control], + isActive: value === control, + role: isCollapsed ? 'menuitemradio' : undefined, + onClick: applyOrUnset(control) + }; + }) + }, extraProps)); +} +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-vertical-alignment-toolbar/README.md + */ + + +/* harmony default export */ var block_vertical_alignment_control_ui = (BlockVerticalAlignmentUI); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-vertical-alignment-control/index.js + + + +/** + * Internal dependencies + */ + +function BlockVerticalAlignmentControl(props) { + return Object(external_wp_element_["createElement"])(block_vertical_alignment_control_ui, Object(esm_extends["a" /* default */])({}, props, { + isToolbar: false + })); +} +function BlockVerticalAlignmentToolbar(props) { + return Object(external_wp_element_["createElement"])(block_vertical_alignment_control_ui, Object(esm_extends["a" /* default */])({}, props, { + isToolbar: true + })); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-radius-control/index.js + 4 modules +var border_radius_control = __webpack_require__("Wy3j"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-style-control/index.js + 2 modules +var border_style_control = __webpack_require__("2YCo"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/button-block-appender/index.js +var button_block_appender = __webpack_require__("I5Hl"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-setting/index.js +var use_setting = __webpack_require__("v5LD"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/color-palette/with-color-context.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +/* harmony default export */ var with_color_context = (Object(external_wp_compose_["createHigherOrderComponent"])(WrappedComponent => { + return props => { + const colorsFeature = Object(use_setting["a" /* default */])('color.palette'); + const disableCustomColorsFeature = !Object(use_setting["a" /* default */])('color.custom'); + const colors = props.colors === undefined ? colorsFeature : props.colors; + const disableCustomColors = props.disableCustomColors === undefined ? disableCustomColorsFeature : props.disableCustomColors; + const hasColorsToChoose = !Object(external_lodash_["isEmpty"])(colors) || !disableCustomColors; + return Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, props, { + colors, + disableCustomColors, + hasColorsToChoose + })); + }; +}, 'withColorContext')); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/color-palette/index.js +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + +/* harmony default export */ var color_palette = (with_color_context(external_wp_components_["ColorPalette"])); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors-gradients/control.js +var control = __webpack_require__("hMaJ"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/color-palette/control.js + + + +/** + * Internal dependencies + */ + +function ColorPaletteControl({ + onChange, + value, + ...otherProps +}) { + return Object(external_wp_element_["createElement"])(control["a" /* default */], Object(esm_extends["a" /* default */])({}, otherProps, { + onColorChange: onChange, + colorValue: value, + gradients: [], + disableCustomGradients: true + })); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/contrast-checker/index.js +var contrast_checker = __webpack_require__("6c9H"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/duotone-control/index.js +var duotone_control = __webpack_require__("1uGa"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-appearance-control/index.js +var font_appearance_control = __webpack_require__("Bo0k"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-family/index.js +var font_family = __webpack_require__("GKUk"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/letter-spacing-control/index.js +var letter_spacing_control = __webpack_require__("xBDm"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/text-decoration-control/index.js + 1 modules +var text_decoration_control = __webpack_require__("kVRd"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/text-transform-control/index.js + 3 modules +var text_transform_control = __webpack_require__("/Hvg"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors-gradients/panel-color-gradient-settings.js +var panel_color_gradient_settings = __webpack_require__("yU1v"); + +// CONCATENATED MODULE: ./node_modules/react-easy-crop/node_modules/tslib/tslib.es6.js +/*! ***************************************************************************** +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 */ + +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) { + 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 __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 (_) 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; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (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; +} + +function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; +} + +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 __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: n === "return" } : 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, privateMap) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to get private field on non-instance"); + } + return privateMap.get(receiver); +} + +function __classPrivateFieldSet(receiver, privateMap, value) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to set private field on non-instance"); + } + privateMap.set(receiver, value); + return value; +} + +// EXTERNAL MODULE: external "React" +var external_React_ = __webpack_require__("cDcd"); +var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_); + +// EXTERNAL MODULE: ./node_modules/normalize-wheel/index.js +var normalize_wheel = __webpack_require__("wJiJ"); +var normalize_wheel_default = /*#__PURE__*/__webpack_require__.n(normalize_wheel); + +// CONCATENATED MODULE: ./node_modules/react-easy-crop/index.module.js + + + + +/** + * Compute the dimension of the crop area based on media size, + * aspect ratio and optionally rotation + */ + +function getCropSize(mediaWidth, mediaHeight, containerWidth, containerHeight, aspect, rotation) { + if (rotation === void 0) { + rotation = 0; + } + + var _a = translateSize(mediaWidth, mediaHeight, rotation), + width = _a.width, + height = _a.height; + + var fittingWidth = Math.min(width, containerWidth); + var fittingHeight = Math.min(height, containerHeight); + + if (fittingWidth > fittingHeight * aspect) { + return { + width: fittingHeight * aspect, + height: fittingHeight + }; + } + + return { + width: fittingWidth, + height: fittingWidth / aspect + }; +} +/** + * Ensure a new media position stays in the crop area. + */ + +function index_module_restrictPosition(position, mediaSize, cropSize, zoom, rotation) { + if (rotation === void 0) { + rotation = 0; + } + + var _a = translateSize(mediaSize.width, mediaSize.height, rotation), + width = _a.width, + height = _a.height; + + return { + x: restrictPositionCoord(position.x, width, cropSize.width, zoom), + y: restrictPositionCoord(position.y, height, cropSize.height, zoom) + }; +} + +function restrictPositionCoord(position, mediaSize, cropSize, zoom) { + var maxPosition = mediaSize * zoom / 2 - cropSize / 2; + return Math.min(maxPosition, Math.max(position, -maxPosition)); +} + +function getDistanceBetweenPoints(pointA, pointB) { + return Math.sqrt(Math.pow(pointA.y - pointB.y, 2) + Math.pow(pointA.x - pointB.x, 2)); +} +function getRotationBetweenPoints(pointA, pointB) { + return Math.atan2(pointB.y - pointA.y, pointB.x - pointA.x) * 180 / Math.PI; +} +/** + * Compute the output cropped area of the media in percentages and pixels. + * x/y are the top-left coordinates on the src media + */ + +function computeCroppedArea(crop, mediaSize, cropSize, aspect, zoom, rotation, restrictPosition) { + if (rotation === void 0) { + rotation = 0; + } + + if (restrictPosition === void 0) { + restrictPosition = true; + } // if the media is rotated by the user, we cannot limit the position anymore + // as it might need to be negative. + + + var limitAreaFn = restrictPosition && rotation === 0 ? limitArea : noOp; + var croppedAreaPercentages = { + x: limitAreaFn(100, ((mediaSize.width - cropSize.width / zoom) / 2 - crop.x / zoom) / mediaSize.width * 100), + y: limitAreaFn(100, ((mediaSize.height - cropSize.height / zoom) / 2 - crop.y / zoom) / mediaSize.height * 100), + width: limitAreaFn(100, cropSize.width / mediaSize.width * 100 / zoom), + height: limitAreaFn(100, cropSize.height / mediaSize.height * 100 / zoom) + }; // we compute the pixels size naively + + var widthInPixels = Math.round(limitAreaFn(mediaSize.naturalWidth, croppedAreaPercentages.width * mediaSize.naturalWidth / 100)); + var heightInPixels = Math.round(limitAreaFn(mediaSize.naturalHeight, croppedAreaPercentages.height * mediaSize.naturalHeight / 100)); + var isImgWiderThanHigh = mediaSize.naturalWidth >= mediaSize.naturalHeight * aspect; // then we ensure the width and height exactly match the aspect (to avoid rounding approximations) + // if the media is wider than high, when zoom is 0, the crop height will be equals to iamge height + // thus we want to compute the width from the height and aspect for accuracy. + // Otherwise, we compute the height from width and aspect. + + var sizePixels = isImgWiderThanHigh ? { + width: Math.round(heightInPixels * aspect), + height: heightInPixels + } : { + width: widthInPixels, + height: Math.round(widthInPixels / aspect) + }; + + var croppedAreaPixels = __assign(__assign({}, sizePixels), { + x: Math.round(limitAreaFn(mediaSize.naturalWidth - sizePixels.width, croppedAreaPercentages.x * mediaSize.naturalWidth / 100)), + y: Math.round(limitAreaFn(mediaSize.naturalHeight - sizePixels.height, croppedAreaPercentages.y * mediaSize.naturalHeight / 100)) + }); + + return { + croppedAreaPercentages: croppedAreaPercentages, + croppedAreaPixels: croppedAreaPixels + }; +} +/** + * Ensure the returned value is between 0 and max + */ + +function limitArea(max, value) { + return Math.min(max, Math.max(0, value)); +} + +function noOp(_max, value) { + return value; +} +/** + * Compute the crop and zoom from the croppedAreaPixels + */ + + +function getZoomFromCroppedAreaPixels(croppedAreaPixels, mediaSize, cropSize) { + var mediaZoom = mediaSize.width / mediaSize.naturalWidth; + + if (cropSize) { + var isHeightMaxSize_1 = cropSize.height > cropSize.width; + return isHeightMaxSize_1 ? cropSize.height / mediaZoom / croppedAreaPixels.height : cropSize.width / mediaZoom / croppedAreaPixels.width; + } + + var aspect = croppedAreaPixels.width / croppedAreaPixels.height; + var isHeightMaxSize = mediaSize.naturalWidth >= mediaSize.naturalHeight * aspect; + return isHeightMaxSize ? mediaSize.naturalHeight / croppedAreaPixels.height : mediaSize.naturalWidth / croppedAreaPixels.width; +} +/** + * Compute the crop and zoom from the croppedAreaPixels + */ + + +function getInitialCropFromCroppedAreaPixels(croppedAreaPixels, mediaSize, cropSize) { + var mediaZoom = mediaSize.width / mediaSize.naturalWidth; + var zoom = getZoomFromCroppedAreaPixels(croppedAreaPixels, mediaSize, cropSize); + var cropZoom = mediaZoom * zoom; + var crop = { + x: ((mediaSize.naturalWidth - croppedAreaPixels.width) / 2 - croppedAreaPixels.x) * cropZoom, + y: ((mediaSize.naturalHeight - croppedAreaPixels.height) / 2 - croppedAreaPixels.y) * cropZoom + }; + return { + crop: crop, + zoom: zoom + }; +} +/** + * Return the point that is the center of point a and b + */ + +function getCenter(a, b) { + return { + x: (b.x + a.x) / 2, + y: (b.y + a.y) / 2 + }; +} +/** + * + * Returns an x,y point once rotated around xMid,yMid + */ + +function rotateAroundMidPoint(x, y, xMid, yMid, degrees) { + var cos = Math.cos; + var sin = Math.sin; + var radian = degrees * Math.PI / 180; // Convert to radians + // Subtract midpoints, so that midpoint is translated to origin + // and add it in the end again + + var xr = (x - xMid) * cos(radian) - (y - yMid) * sin(radian) + xMid; + var yr = (x - xMid) * sin(radian) + (y - yMid) * cos(radian) + yMid; + return [xr, yr]; +} +/** + * Returns the new bounding area of a rotated rectangle. + */ + +function translateSize(width, height, rotation) { + var centerX = width / 2; + var centerY = height / 2; + var outerBounds = [rotateAroundMidPoint(0, 0, centerX, centerY, rotation), rotateAroundMidPoint(width, 0, centerX, centerY, rotation), rotateAroundMidPoint(width, height, centerX, centerY, rotation), rotateAroundMidPoint(0, height, centerX, centerY, rotation)]; + var minX = Math.min.apply(Math, outerBounds.map(function (p) { + return p[0]; + })); + var maxX = Math.max.apply(Math, outerBounds.map(function (p) { + return p[0]; + })); + var minY = Math.min.apply(Math, outerBounds.map(function (p) { + return p[1]; + })); + var maxY = Math.max.apply(Math, outerBounds.map(function (p) { + return p[1]; + })); + return { + width: maxX - minX, + height: maxY - minY + }; +} +/** + * Combine multiple class names into a single string. + */ + +function classNames() { + var args = []; + + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + + return args.filter(function (value) { + if (typeof value === 'string' && value.length > 0) { + return true; + } + + return false; + }).join(' ').trim(); +} + +var css_248z = ".reactEasyCrop_Container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n user-select: none;\n touch-action: none;\n cursor: move;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.reactEasyCrop_Image,\n.reactEasyCrop_Video {\n will-change: transform; /* this improves performances and prevent painting issues on iOS Chrome */\n}\n\n.reactEasyCrop_Contain {\n max-width: 100%;\n max-height: 100%;\n margin: auto;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n.reactEasyCrop_Cover_Horizontal {\n width: 100%;\n height: auto;\n}\n.reactEasyCrop_Cover_Vertical {\n width: auto;\n height: 100%;\n}\n\n.reactEasyCrop_CropArea {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n border: 1px solid rgba(255, 255, 255, 0.5);\n box-sizing: border-box;\n box-shadow: 0 0 0 9999em;\n color: rgba(0, 0, 0, 0.5);\n overflow: hidden;\n}\n\n.reactEasyCrop_CropAreaRound {\n border-radius: 50%;\n}\n\n.reactEasyCrop_CropAreaGrid::before {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 0;\n bottom: 0;\n left: 33.33%;\n right: 33.33%;\n border-top: 0;\n border-bottom: 0;\n}\n\n.reactEasyCrop_CropAreaGrid::after {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 33.33%;\n bottom: 33.33%;\n left: 0;\n right: 0;\n border-left: 0;\n border-right: 0;\n}\n"; + +var MIN_ZOOM = 1; +var MAX_ZOOM = 3; + +var index_module_Cropper = +/** @class */ +function (_super) { + __extends(Cropper, _super); + + function Cropper() { + var _this = _super !== null && _super.apply(this, arguments) || this; + + _this.imageRef = null; + _this.videoRef = null; + _this.containerRef = null; + _this.styleRef = null; + _this.containerRect = null; + _this.mediaSize = { + width: 0, + height: 0, + naturalWidth: 0, + naturalHeight: 0 + }; + _this.dragStartPosition = { + x: 0, + y: 0 + }; + _this.dragStartCrop = { + x: 0, + y: 0 + }; + _this.lastPinchDistance = 0; + _this.lastPinchRotation = 0; + _this.rafDragTimeout = null; + _this.rafPinchTimeout = null; + _this.wheelTimer = null; + _this.state = { + cropSize: null, + hasWheelJustStarted: false + }; // this is to prevent Safari on iOS >= 10 to zoom the page + + _this.preventZoomSafari = function (e) { + return e.preventDefault(); + }; + + _this.cleanEvents = function () { + document.removeEventListener('mousemove', _this.onMouseMove); + document.removeEventListener('mouseup', _this.onDragStopped); + document.removeEventListener('touchmove', _this.onTouchMove); + document.removeEventListener('touchend', _this.onDragStopped); + }; + + _this.clearScrollEvent = function () { + if (_this.containerRef) _this.containerRef.removeEventListener('wheel', _this.onWheel); + + if (_this.wheelTimer) { + clearTimeout(_this.wheelTimer); + } + }; + + _this.onMediaLoad = function () { + _this.computeSizes(); + + _this.emitCropData(); + + _this.setInitialCrop(); + + if (_this.props.onMediaLoaded) { + _this.props.onMediaLoaded(_this.mediaSize); + } + }; + + _this.setInitialCrop = function () { + var _a = _this.props, + initialCroppedAreaPixels = _a.initialCroppedAreaPixels, + cropSize = _a.cropSize; + + if (!initialCroppedAreaPixels) { + return; + } + + var _b = getInitialCropFromCroppedAreaPixels(initialCroppedAreaPixels, _this.mediaSize, cropSize), + crop = _b.crop, + zoom = _b.zoom; + + _this.props.onCropChange(crop); + + _this.props.onZoomChange && _this.props.onZoomChange(zoom); + }; + + _this.computeSizes = function () { + var _a, _b, _c, _d, _e, _f; + + var mediaRef = _this.imageRef || _this.videoRef; + + if (mediaRef && _this.containerRef) { + _this.containerRect = _this.containerRef.getBoundingClientRect(); + _this.mediaSize = { + width: mediaRef.offsetWidth, + height: mediaRef.offsetHeight, + naturalWidth: ((_a = _this.imageRef) === null || _a === void 0 ? void 0 : _a.naturalWidth) || ((_b = _this.videoRef) === null || _b === void 0 ? void 0 : _b.videoWidth) || 0, + naturalHeight: ((_c = _this.imageRef) === null || _c === void 0 ? void 0 : _c.naturalHeight) || ((_d = _this.videoRef) === null || _d === void 0 ? void 0 : _d.videoHeight) || 0 + }; + var cropSize = _this.props.cropSize ? _this.props.cropSize : getCropSize(mediaRef.offsetWidth, mediaRef.offsetHeight, _this.containerRect.width, _this.containerRect.height, _this.props.aspect, _this.props.rotation); + + if (((_e = _this.state.cropSize) === null || _e === void 0 ? void 0 : _e.height) !== cropSize.height || ((_f = _this.state.cropSize) === null || _f === void 0 ? void 0 : _f.width) !== cropSize.width) { + _this.props.onCropSizeChange && _this.props.onCropSizeChange(cropSize); + } + + _this.setState({ + cropSize: cropSize + }, _this.recomputeCropPosition); + } + }; + + _this.onMouseDown = function (e) { + e.preventDefault(); + document.addEventListener('mousemove', _this.onMouseMove); + document.addEventListener('mouseup', _this.onDragStopped); + + _this.onDragStart(Cropper.getMousePoint(e)); + }; + + _this.onMouseMove = function (e) { + return _this.onDrag(Cropper.getMousePoint(e)); + }; + + _this.onTouchStart = function (e) { + document.addEventListener('touchmove', _this.onTouchMove, { + passive: false + }); // iOS 11 now defaults to passive: true + + document.addEventListener('touchend', _this.onDragStopped); + + if (e.touches.length === 2) { + _this.onPinchStart(e); + } else if (e.touches.length === 1) { + _this.onDragStart(Cropper.getTouchPoint(e.touches[0])); + } + }; + + _this.onTouchMove = function (e) { + // Prevent whole page from scrolling on iOS. + e.preventDefault(); + + if (e.touches.length === 2) { + _this.onPinchMove(e); + } else if (e.touches.length === 1) { + _this.onDrag(Cropper.getTouchPoint(e.touches[0])); + } + }; + + _this.onDragStart = function (_a) { + var _b, _c; + + var x = _a.x, + y = _a.y; + _this.dragStartPosition = { + x: x, + y: y + }; + _this.dragStartCrop = __assign({}, _this.props.crop); + (_c = (_b = _this.props).onInteractionStart) === null || _c === void 0 ? void 0 : _c.call(_b); + }; + + _this.onDrag = function (_a) { + var x = _a.x, + y = _a.y; + if (_this.rafDragTimeout) window.cancelAnimationFrame(_this.rafDragTimeout); + _this.rafDragTimeout = window.requestAnimationFrame(function () { + if (!_this.state.cropSize) return; + if (x === undefined || y === undefined) return; + var offsetX = x - _this.dragStartPosition.x; + var offsetY = y - _this.dragStartPosition.y; + var requestedPosition = { + x: _this.dragStartCrop.x + offsetX, + y: _this.dragStartCrop.y + offsetY + }; + var newPosition = _this.props.restrictPosition ? index_module_restrictPosition(requestedPosition, _this.mediaSize, _this.state.cropSize, _this.props.zoom, _this.props.rotation) : requestedPosition; + + _this.props.onCropChange(newPosition); + }); + }; + + _this.onDragStopped = function () { + var _a, _b; + + _this.cleanEvents(); + + _this.emitCropData(); + + (_b = (_a = _this.props).onInteractionEnd) === null || _b === void 0 ? void 0 : _b.call(_a); + }; + + _this.onWheel = function (e) { + e.preventDefault(); + var point = Cropper.getMousePoint(e); + var pixelY = normalize_wheel_default()(e).pixelY; + var newZoom = _this.props.zoom - pixelY * _this.props.zoomSpeed / 200; + + _this.setNewZoom(newZoom, point); + + if (!_this.state.hasWheelJustStarted) { + _this.setState({ + hasWheelJustStarted: true + }, function () { + var _a, _b; + + return (_b = (_a = _this.props).onInteractionStart) === null || _b === void 0 ? void 0 : _b.call(_a); + }); + } + + if (_this.wheelTimer) { + clearTimeout(_this.wheelTimer); + } + + _this.wheelTimer = window.setTimeout(function () { + return _this.setState({ + hasWheelJustStarted: false + }, function () { + var _a, _b; + + return (_b = (_a = _this.props).onInteractionEnd) === null || _b === void 0 ? void 0 : _b.call(_a); + }); + }, 250); + }; + + _this.getPointOnContainer = function (_a) { + var x = _a.x, + y = _a.y; + + if (!_this.containerRect) { + throw new Error('The Cropper is not mounted'); + } + + return { + x: _this.containerRect.width / 2 - (x - _this.containerRect.left), + y: _this.containerRect.height / 2 - (y - _this.containerRect.top) + }; + }; + + _this.getPointOnMedia = function (_a) { + var x = _a.x, + y = _a.y; + var _b = _this.props, + crop = _b.crop, + zoom = _b.zoom; + return { + x: (x + crop.x) / zoom, + y: (y + crop.y) / zoom + }; + }; + + _this.setNewZoom = function (zoom, point) { + if (!_this.state.cropSize || !_this.props.onZoomChange) return; + + var zoomPoint = _this.getPointOnContainer(point); + + var zoomTarget = _this.getPointOnMedia(zoomPoint); + + var newZoom = Math.min(_this.props.maxZoom, Math.max(zoom, _this.props.minZoom)); + var requestedPosition = { + x: zoomTarget.x * newZoom - zoomPoint.x, + y: zoomTarget.y * newZoom - zoomPoint.y + }; + var newPosition = _this.props.restrictPosition ? index_module_restrictPosition(requestedPosition, _this.mediaSize, _this.state.cropSize, newZoom, _this.props.rotation) : requestedPosition; + + _this.props.onCropChange(newPosition); + + _this.props.onZoomChange(newZoom); + }; + + _this.getCropData = function () { + if (!_this.state.cropSize) { + return null; + } // this is to ensure the crop is correctly restricted after a zoom back (https://github.com/ricardo-ch/react-easy-crop/issues/6) + + + var restrictedPosition = _this.props.restrictPosition ? index_module_restrictPosition(_this.props.crop, _this.mediaSize, _this.state.cropSize, _this.props.zoom, _this.props.rotation) : _this.props.crop; + return computeCroppedArea(restrictedPosition, _this.mediaSize, _this.state.cropSize, _this.getAspect(), _this.props.zoom, _this.props.rotation, _this.props.restrictPosition); + }; + + _this.emitCropData = function () { + var cropData = _this.getCropData(); + + if (!cropData) return; + var croppedAreaPercentages = cropData.croppedAreaPercentages, + croppedAreaPixels = cropData.croppedAreaPixels; + + if (_this.props.onCropComplete) { + _this.props.onCropComplete(croppedAreaPercentages, croppedAreaPixels); + } + + if (_this.props.onCropAreaChange) { + _this.props.onCropAreaChange(croppedAreaPercentages, croppedAreaPixels); + } + }; + + _this.emitCropAreaChange = function () { + var cropData = _this.getCropData(); + + if (!cropData) return; + var croppedAreaPercentages = cropData.croppedAreaPercentages, + croppedAreaPixels = cropData.croppedAreaPixels; + + if (_this.props.onCropAreaChange) { + _this.props.onCropAreaChange(croppedAreaPercentages, croppedAreaPixels); + } + }; + + _this.recomputeCropPosition = function () { + if (!_this.state.cropSize) return; + var newPosition = _this.props.restrictPosition ? index_module_restrictPosition(_this.props.crop, _this.mediaSize, _this.state.cropSize, _this.props.zoom, _this.props.rotation) : _this.props.crop; + + _this.props.onCropChange(newPosition); + + _this.emitCropData(); + }; + + return _this; + } + + Cropper.prototype.componentDidMount = function () { + window.addEventListener('resize', this.computeSizes); + + if (this.containerRef) { + this.props.zoomWithScroll && this.containerRef.addEventListener('wheel', this.onWheel, { + passive: false + }); + this.containerRef.addEventListener('gesturestart', this.preventZoomSafari); + this.containerRef.addEventListener('gesturechange', this.preventZoomSafari); + } + + if (!this.props.disableAutomaticStylesInjection) { + this.styleRef = document.createElement('style'); + this.styleRef.setAttribute('type', 'text/css'); + this.styleRef.innerHTML = css_248z; + document.head.appendChild(this.styleRef); + } // when rendered via SSR, the image can already be loaded and its onLoad callback will never be called + + + if (this.imageRef && this.imageRef.complete) { + this.onMediaLoad(); + } + }; + + Cropper.prototype.componentWillUnmount = function () { + var _a; + + window.removeEventListener('resize', this.computeSizes); + + if (this.containerRef) { + this.containerRef.removeEventListener('gesturestart', this.preventZoomSafari); + this.containerRef.removeEventListener('gesturechange', this.preventZoomSafari); + } + + if (this.styleRef) { + (_a = this.styleRef.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(this.styleRef); + } + + this.cleanEvents(); + this.props.zoomWithScroll && this.clearScrollEvent(); + }; + + Cropper.prototype.componentDidUpdate = function (prevProps) { + var _a, _b, _c, _d, _e, _f, _g, _h, _j; + + if (prevProps.rotation !== this.props.rotation) { + this.computeSizes(); + this.recomputeCropPosition(); + } else if (prevProps.aspect !== this.props.aspect) { + this.computeSizes(); + } else if (prevProps.zoom !== this.props.zoom) { + this.recomputeCropPosition(); + } else if (((_a = prevProps.cropSize) === null || _a === void 0 ? void 0 : _a.height) !== ((_b = this.props.cropSize) === null || _b === void 0 ? void 0 : _b.height) || ((_c = prevProps.cropSize) === null || _c === void 0 ? void 0 : _c.width) !== ((_d = this.props.cropSize) === null || _d === void 0 ? void 0 : _d.width)) { + this.computeSizes(); + } else if (((_e = prevProps.crop) === null || _e === void 0 ? void 0 : _e.x) !== ((_f = this.props.crop) === null || _f === void 0 ? void 0 : _f.x) || ((_g = prevProps.crop) === null || _g === void 0 ? void 0 : _g.y) !== ((_h = this.props.crop) === null || _h === void 0 ? void 0 : _h.y)) { + this.emitCropAreaChange(); + } + + if (prevProps.zoomWithScroll !== this.props.zoomWithScroll && this.containerRef) { + this.props.zoomWithScroll ? this.containerRef.addEventListener('wheel', this.onWheel, { + passive: false + }) : this.clearScrollEvent(); + } + + if (prevProps.video !== this.props.video) { + (_j = this.videoRef) === null || _j === void 0 ? void 0 : _j.load(); + } + }; + + Cropper.prototype.getAspect = function () { + var _a = this.props, + cropSize = _a.cropSize, + aspect = _a.aspect; + + if (cropSize) { + return cropSize.width / cropSize.height; + } + + return aspect; + }; + + Cropper.prototype.onPinchStart = function (e) { + var pointA = Cropper.getTouchPoint(e.touches[0]); + var pointB = Cropper.getTouchPoint(e.touches[1]); + this.lastPinchDistance = getDistanceBetweenPoints(pointA, pointB); + this.lastPinchRotation = getRotationBetweenPoints(pointA, pointB); + this.onDragStart(getCenter(pointA, pointB)); + }; + + Cropper.prototype.onPinchMove = function (e) { + var _this = this; + + var pointA = Cropper.getTouchPoint(e.touches[0]); + var pointB = Cropper.getTouchPoint(e.touches[1]); + var center = getCenter(pointA, pointB); + this.onDrag(center); + if (this.rafPinchTimeout) window.cancelAnimationFrame(this.rafPinchTimeout); + this.rafPinchTimeout = window.requestAnimationFrame(function () { + var distance = getDistanceBetweenPoints(pointA, pointB); + var newZoom = _this.props.zoom * (distance / _this.lastPinchDistance); + + _this.setNewZoom(newZoom, center); + + _this.lastPinchDistance = distance; + var rotation = getRotationBetweenPoints(pointA, pointB); + var newRotation = _this.props.rotation + (rotation - _this.lastPinchRotation); + _this.props.onRotationChange && _this.props.onRotationChange(newRotation); + _this.lastPinchRotation = rotation; + }); + }; + + Cropper.prototype.render = function () { + var _this = this; + + var _a = this.props, + image = _a.image, + video = _a.video, + mediaProps = _a.mediaProps, + transform = _a.transform, + _b = _a.crop, + x = _b.x, + y = _b.y, + rotation = _a.rotation, + zoom = _a.zoom, + cropShape = _a.cropShape, + showGrid = _a.showGrid, + _c = _a.style, + containerStyle = _c.containerStyle, + cropAreaStyle = _c.cropAreaStyle, + mediaStyle = _c.mediaStyle, + _d = _a.classes, + containerClassName = _d.containerClassName, + cropAreaClassName = _d.cropAreaClassName, + mediaClassName = _d.mediaClassName, + objectFit = _a.objectFit; + return /*#__PURE__*/external_React_default.a.createElement("div", { + onMouseDown: this.onMouseDown, + onTouchStart: this.onTouchStart, + ref: function ref(el) { + return _this.containerRef = el; + }, + "data-testid": "container", + style: containerStyle, + className: classNames('reactEasyCrop_Container', containerClassName) + }, image ? /*#__PURE__*/external_React_default.a.createElement("img", __assign({ + alt: "", + className: classNames('reactEasyCrop_Image', objectFit === 'contain' && 'reactEasyCrop_Contain', objectFit === 'horizontal-cover' && 'reactEasyCrop_Cover_Horizontal', objectFit === 'vertical-cover' && 'reactEasyCrop_Cover_Vertical', mediaClassName) + }, mediaProps, { + src: image, + ref: function ref(el) { + return _this.imageRef = el; + }, + style: __assign(__assign({}, mediaStyle), { + transform: transform || "translate(" + x + "px, " + y + "px) rotate(" + rotation + "deg) scale(" + zoom + ")" + }), + onLoad: this.onMediaLoad + })) : video && /*#__PURE__*/external_React_default.a.createElement("video", __assign({ + autoPlay: true, + loop: true, + muted: true, + className: classNames('reactEasyCrop_Video', objectFit === 'contain' && 'reactEasyCrop_Contain', objectFit === 'horizontal-cover' && 'reactEasyCrop_Cover_Horizontal', objectFit === 'vertical-cover' && 'reactEasyCrop_Cover_Vertical', mediaClassName) + }, mediaProps, { + ref: function ref(el) { + return _this.videoRef = el; + }, + onLoadedMetadata: this.onMediaLoad, + style: __assign(__assign({}, mediaStyle), { + transform: transform || "translate(" + x + "px, " + y + "px) rotate(" + rotation + "deg) scale(" + zoom + ")" + }), + controls: false + }), (Array.isArray(video) ? video : [{ + src: video + }]).map(function (item) { + return /*#__PURE__*/external_React_default.a.createElement("source", __assign({ + key: item.src + }, item)); + })), this.state.cropSize && /*#__PURE__*/external_React_default.a.createElement("div", { + style: __assign(__assign({}, cropAreaStyle), { + width: this.state.cropSize.width, + height: this.state.cropSize.height + }), + "data-testid": "cropper", + className: classNames('reactEasyCrop_CropArea', cropShape === 'round' && 'reactEasyCrop_CropAreaRound', showGrid && 'reactEasyCrop_CropAreaGrid', cropAreaClassName) + })); + }; + + Cropper.defaultProps = { + zoom: 1, + rotation: 0, + aspect: 4 / 3, + maxZoom: MAX_ZOOM, + minZoom: MIN_ZOOM, + cropShape: 'rect', + objectFit: 'contain', + showGrid: true, + style: {}, + classes: {}, + mediaProps: {}, + zoomSpeed: 1, + restrictPosition: true, + zoomWithScroll: true + }; + + Cropper.getMousePoint = function (e) { + return { + x: Number(e.clientX), + y: Number(e.clientY) + }; + }; + + Cropper.getTouchPoint = function (touch) { + return { + x: Number(touch.clientX), + y: Number(touch.clientY) + }; + }; + + return Cropper; +}(external_React_default.a.Component); + +/* harmony default export */ var index_module = (index_module_Cropper); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/image-editor/constants.js +const constants_MIN_ZOOM = 100; +const constants_MAX_ZOOM = 300; +const constants_POPOVER_PROPS = { + position: 'bottom right', + isAlternate: true +}; + +// EXTERNAL MODULE: external ["wp","apiFetch"] +var external_wp_apiFetch_ = __webpack_require__("ywyh"); +var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_); + +// EXTERNAL MODULE: external ["wp","notices"] +var external_wp_notices_ = __webpack_require__("onLe"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/image-editor/use-save-image.js +/** + * WordPress dependencies + */ + + + + + +function useSaveImage({ + crop, + rotation, + height, + width, + aspect, + url, + id, + onSaveImage, + onFinishEditing +}) { + const { + createErrorNotice + } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); + const [isInProgress, setIsInProgress] = Object(external_wp_element_["useState"])(false); + const cancel = Object(external_wp_element_["useCallback"])(() => { + setIsInProgress(false); + onFinishEditing(); + }, [setIsInProgress, onFinishEditing]); + const apply = Object(external_wp_element_["useCallback"])(() => { + setIsInProgress(true); + let attrs = {}; // The crop script may return some very small, sub-pixel values when the image was not cropped. + // Crop only when the new size has changed by more than 0.1%. + + if (crop.width < 99.9 || crop.height < 99.9) { + attrs = crop; + } + + if (rotation > 0) { + attrs.rotation = rotation; + } + + attrs.src = url; + external_wp_apiFetch_default()({ + path: `/wp/v2/media/${id}/edit`, + method: 'POST', + data: attrs + }).then(response => { + onSaveImage({ + id: response.id, + url: response.source_url, + height: height && width ? width / aspect : undefined + }); + }).catch(error => { + createErrorNotice(Object(external_wp_i18n_["sprintf"])( + /* translators: 1. Error message */ + Object(external_wp_i18n_["__"])('Could not edit image. %s'), error.message), { + id: 'image-editing-error', + type: 'snackbar' + }); + }).finally(() => { + setIsInProgress(false); + onFinishEditing(); + }); + }, [setIsInProgress, crop, rotation, height, width, aspect, url, onSaveImage, createErrorNotice, setIsInProgress, onFinishEditing]); + return Object(external_wp_element_["useMemo"])(() => ({ + isInProgress, + apply, + cancel + }), [isInProgress, apply, cancel]); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/image-editor/use-transform-image.js +/** + * WordPress dependencies + */ + + + +function useTransformState({ + url, + naturalWidth, + naturalHeight +}) { + const [editedUrl, setEditedUrl] = Object(external_wp_element_["useState"])(); + const [crop, setCrop] = Object(external_wp_element_["useState"])(); + const [position, setPosition] = Object(external_wp_element_["useState"])({ + x: 0, + y: 0 + }); + const [zoom, setZoom] = Object(external_wp_element_["useState"])(); + const [rotation, setRotation] = Object(external_wp_element_["useState"])(); + const [aspect, setAspect] = Object(external_wp_element_["useState"])(); + const [defaultAspect, setDefaultAspect] = Object(external_wp_element_["useState"])(); + const initializeTransformValues = Object(external_wp_element_["useCallback"])(() => { + setPosition({ + x: 0, + y: 0 + }); + setZoom(100); + setRotation(0); + setAspect(naturalWidth / naturalHeight); + setDefaultAspect(naturalWidth / naturalHeight); + }, [naturalWidth, naturalHeight, setPosition, setZoom, setRotation, setAspect, setDefaultAspect]); + const rotateClockwise = Object(external_wp_element_["useCallback"])(() => { + const angle = (rotation + 90) % 360; + let naturalAspectRatio = naturalWidth / naturalHeight; + + if (rotation % 180 === 90) { + naturalAspectRatio = naturalHeight / naturalWidth; + } + + if (angle === 0) { + setEditedUrl(); + setRotation(angle); + setAspect(1 / aspect); + setPosition({ + x: -(position.y * naturalAspectRatio), + y: position.x * naturalAspectRatio + }); + return; + } + + function editImage(event) { + const canvas = document.createElement('canvas'); + let translateX = 0; + let translateY = 0; + + if (angle % 180) { + canvas.width = event.target.height; + canvas.height = event.target.width; + } else { + canvas.width = event.target.width; + canvas.height = event.target.height; + } + + if (angle === 90 || angle === 180) { + translateX = canvas.width; + } + + if (angle === 270 || angle === 180) { + translateY = canvas.height; + } + + const context = canvas.getContext('2d'); + context.translate(translateX, translateY); + context.rotate(angle * Math.PI / 180); + context.drawImage(event.target, 0, 0); + canvas.toBlob(blob => { + setEditedUrl(URL.createObjectURL(blob)); + setRotation(angle); + setAspect(1 / aspect); + setPosition({ + x: -(position.y * naturalAspectRatio), + y: position.x * naturalAspectRatio + }); + }); + } + + const el = new window.Image(); + el.src = url; + el.onload = editImage; + const imgCrossOrigin = Object(external_wp_hooks_["applyFilters"])('media.crossOrigin', undefined, url); + + if (typeof imgCrossOrigin === 'string') { + el.crossOrigin = imgCrossOrigin; + } + }, [rotation, naturalWidth, naturalHeight, setEditedUrl, setRotation, setAspect, setPosition]); + return Object(external_wp_element_["useMemo"])(() => ({ + editedUrl, + setEditedUrl, + crop, + setCrop, + position, + setPosition, + zoom, + setZoom, + rotation, + setRotation, + rotateClockwise, + aspect, + setAspect, + defaultAspect, + initializeTransformValues + }), [editedUrl, setEditedUrl, crop, setCrop, position, setPosition, zoom, setZoom, rotation, setRotation, rotateClockwise, aspect, setAspect, defaultAspect, initializeTransformValues]); +} + +function useTransformImage(imageProperties, isEditing) { + const transformState = useTransformState(imageProperties); + const { + initializeTransformValues + } = transformState; + Object(external_wp_element_["useEffect"])(() => { + if (isEditing) { + initializeTransformValues(); + } + }, [isEditing, initializeTransformValues]); + return transformState; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/image-editor/context.js + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + +const ImageEditingContext = Object(external_wp_element_["createContext"])({}); +const useImageEditingContext = () => Object(external_wp_element_["useContext"])(ImageEditingContext); +function ImageEditingProvider({ + id, + url, + naturalWidth, + naturalHeight, + isEditing, + onFinishEditing, + onSaveImage, + children +}) { + const transformImage = useTransformImage({ + url, + naturalWidth, + naturalHeight + }, isEditing); + const saveImage = useSaveImage({ + id, + url, + onSaveImage, + onFinishEditing, + ...transformImage + }); + const providerValue = Object(external_wp_element_["useMemo"])(() => ({ ...transformImage, + ...saveImage + }), [transformImage, saveImage]); + return Object(external_wp_element_["createElement"])(ImageEditingContext.Provider, { + value: providerValue + }, children); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/image-editor/cropper.js + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + +function ImageCropper({ + url, + width, + height, + clientWidth, + naturalHeight, + naturalWidth +}) { + const { + isInProgress, + editedUrl, + position, + zoom, + aspect, + setPosition, + setCrop, + setZoom, + rotation + } = useImageEditingContext(); + let editedHeight = height || clientWidth * naturalHeight / naturalWidth; + + if (rotation % 180 === 90) { + editedHeight = clientWidth * naturalWidth / naturalHeight; + } + + return Object(external_wp_element_["createElement"])("div", { + className: classnames_default()('wp-block-image__crop-area', { + 'is-applying': isInProgress + }), + style: { + width: width || clientWidth, + height: editedHeight + } + }, Object(external_wp_element_["createElement"])(index_module, { + image: editedUrl || url, + disabled: isInProgress, + minZoom: constants_MIN_ZOOM / 100, + maxZoom: constants_MAX_ZOOM / 100, + crop: position, + zoom: zoom / 100, + aspect: aspect, + onCropChange: setPosition, + onCropComplete: newCropPercent => { + setCrop(newCropPercent); + }, + onZoomChange: newZoom => { + setZoom(newZoom * 100); + } + }), isInProgress && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/search.js +var search = __webpack_require__("cGtP"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/image-editor/zoom-dropdown.js + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +function ZoomDropdown() { + const { + isInProgress, + zoom, + setZoom + } = useImageEditingContext(); + return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { + contentClassName: "wp-block-image__zoom", + popoverProps: constants_POPOVER_PROPS, + renderToggle: ({ + isOpen, + onToggle + }) => Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + icon: search["a" /* default */], + label: Object(external_wp_i18n_["__"])('Zoom'), + onClick: onToggle, + "aria-expanded": isOpen, + disabled: isInProgress + }), + renderContent: () => Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { + label: Object(external_wp_i18n_["__"])('Zoom'), + min: constants_MIN_ZOOM, + max: constants_MAX_ZOOM, + value: Math.round(zoom), + onChange: setZoom + }) + }); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/check.js +var check = __webpack_require__("RMJe"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/aspect-ratio.js + + +/** + * WordPress dependencies + */ + +const aspectRatio = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/image-editor/aspect-ratio-dropdown.js + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +function AspectGroup({ + aspectRatios, + isDisabled, + label, + onClick, + value +}) { + return Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { + label: label + }, aspectRatios.map(({ + title, + aspect + }) => Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + key: aspect, + disabled: isDisabled, + onClick: () => { + onClick(aspect); + }, + role: "menuitemradio", + isSelected: aspect === value, + icon: aspect === value ? check["a" /* default */] : undefined + }, title))); +} + +function AspectRatioDropdown({ + toggleProps +}) { + const { + isInProgress, + aspect, + setAspect, + defaultAspect + } = useImageEditingContext(); + return Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { + icon: aspect_ratio, + label: Object(external_wp_i18n_["__"])('Aspect Ratio'), + popoverProps: constants_POPOVER_PROPS, + toggleProps: toggleProps, + className: "wp-block-image__aspect-ratio" + }, ({ + onClose + }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(AspectGroup, { + isDisabled: isInProgress, + onClick: newAspect => { + setAspect(newAspect); + onClose(); + }, + value: aspect, + aspectRatios: [{ + title: Object(external_wp_i18n_["__"])('Original'), + aspect: defaultAspect + }, { + title: Object(external_wp_i18n_["__"])('Square'), + aspect: 1 + }] + }), Object(external_wp_element_["createElement"])(AspectGroup, { + label: Object(external_wp_i18n_["__"])('Landscape'), + isDisabled: isInProgress, + onClick: newAspect => { + setAspect(newAspect); + onClose(); + }, + value: aspect, + aspectRatios: [{ + title: Object(external_wp_i18n_["__"])('16:10'), + aspect: 16 / 10 + }, { + title: Object(external_wp_i18n_["__"])('16:9'), + aspect: 16 / 9 + }, { + title: Object(external_wp_i18n_["__"])('4:3'), + aspect: 4 / 3 + }, { + title: Object(external_wp_i18n_["__"])('3:2'), + aspect: 3 / 2 + }] + }), Object(external_wp_element_["createElement"])(AspectGroup, { + label: Object(external_wp_i18n_["__"])('Portrait'), + isDisabled: isInProgress, + onClick: newAspect => { + setAspect(newAspect); + onClose(); + }, + value: aspect, + aspectRatios: [{ + title: Object(external_wp_i18n_["__"])('10:16'), + aspect: 10 / 16 + }, { + title: Object(external_wp_i18n_["__"])('9:16'), + aspect: 9 / 16 + }, { + title: Object(external_wp_i18n_["__"])('3:4'), + aspect: 3 / 4 + }, { + title: Object(external_wp_i18n_["__"])('2:3'), + aspect: 2 / 3 + }] + }))); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/rotate-right.js + + +/** + * WordPress dependencies + */ + +const rotateRight = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/image-editor/rotation-button.js + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +function RotationButton() { + const { + isInProgress, + rotateClockwise + } = useImageEditingContext(); + return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + icon: rotate_right, + label: Object(external_wp_i18n_["__"])('Rotate'), + onClick: rotateClockwise, + disabled: isInProgress + }); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/image-editor/form-controls.js + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +function FormControls() { + const { + isInProgress, + apply, + cancel + } = useImageEditingContext(); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + onClick: apply, + disabled: isInProgress + }, Object(external_wp_i18n_["__"])('Apply')), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + onClick: cancel + }, Object(external_wp_i18n_["__"])('Cancel'))); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/image-editor/index.js + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + + + + + +function ImageEditor({ + url, + width, + height, + clientWidth, + naturalHeight, + naturalWidth +}) { + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(ImageCropper, { + url: url, + width: width, + height: height, + clientWidth: clientWidth, + naturalHeight: naturalHeight, + naturalWidth: naturalWidth + }), Object(external_wp_element_["createElement"])(block_controls["b" /* default */], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(ZoomDropdown, null), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarItem"], null, toggleProps => Object(external_wp_element_["createElement"])(AspectRatioDropdown, { + toggleProps: toggleProps + })), Object(external_wp_element_["createElement"])(RotationButton, null)), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(FormControls, null)))); +} + + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/image-size-control/use-dimension-handler.js +/** + * WordPress dependencies + */ + +function useDimensionHandler(customHeight, customWidth, defaultHeight, defaultWidth, onChange) { + var _ref, _ref2; + + const [currentWidth, setCurrentWidth] = Object(external_wp_element_["useState"])((_ref = customWidth !== null && customWidth !== void 0 ? customWidth : defaultWidth) !== null && _ref !== void 0 ? _ref : ''); + const [currentHeight, setCurrentHeight] = Object(external_wp_element_["useState"])((_ref2 = customHeight !== null && customHeight !== void 0 ? customHeight : defaultHeight) !== null && _ref2 !== void 0 ? _ref2 : ''); // When an image is first inserted, the default dimensions are initially + // undefined. This effect updates the dimensions when the default values + // come through. + + Object(external_wp_element_["useEffect"])(() => { + if (customWidth === undefined && defaultWidth !== undefined) { + setCurrentWidth(defaultWidth); + } + + if (customHeight === undefined && defaultHeight !== undefined) { + setCurrentHeight(defaultHeight); + } + }, [defaultWidth, defaultHeight]); // If custom values change, it means an outsider has resized the image using some other method (eg resize box) + // this keeps track of these values too. We need to parse before comparing; custom values can be strings. + + Object(external_wp_element_["useEffect"])(() => { + if (customWidth !== undefined && Number.parseInt(customWidth) !== Number.parseInt(currentWidth)) { + setCurrentWidth(customWidth); + } + + if (customHeight !== undefined && Number.parseInt(customHeight) !== Number.parseInt(currentHeight)) { + setCurrentHeight(customHeight); + } + }, [customWidth, customHeight]); + + const updateDimension = (dimension, value) => { + if (dimension === 'width') { + setCurrentWidth(value); + } else { + setCurrentHeight(value); + } + + onChange({ + [dimension]: value === '' ? undefined : parseInt(value, 10) + }); + }; + + const updateDimensions = (nextHeight, nextWidth) => { + setCurrentHeight(nextHeight !== null && nextHeight !== void 0 ? nextHeight : defaultHeight); + setCurrentWidth(nextWidth !== null && nextWidth !== void 0 ? nextWidth : defaultWidth); + onChange({ + height: nextHeight, + width: nextWidth + }); + }; + + return { + currentHeight, + currentWidth, + updateDimension, + updateDimensions + }; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/image-size-control/index.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +const IMAGE_SIZE_PRESETS = [25, 50, 75, 100]; +function ImageSizeControl({ + imageWidth, + imageHeight, + imageSizeOptions = [], + isResizable = true, + slug, + width, + height, + onChange, + onChangeImage = external_lodash_["noop"] +}) { + const { + currentHeight, + currentWidth, + updateDimension, + updateDimensions + } = useDimensionHandler(height, width, imageHeight, imageWidth, onChange); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, !Object(external_lodash_["isEmpty"])(imageSizeOptions) && Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { + label: Object(external_wp_i18n_["__"])('Image size'), + value: slug, + options: imageSizeOptions, + onChange: onChangeImage + }), isResizable && Object(external_wp_element_["createElement"])("div", { + className: "block-editor-image-size-control" + }, Object(external_wp_element_["createElement"])("p", { + className: "block-editor-image-size-control__row" + }, Object(external_wp_i18n_["__"])('Image dimensions')), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-image-size-control__row" + }, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { + type: "number", + className: "block-editor-image-size-control__width", + label: Object(external_wp_i18n_["__"])('Width'), + value: currentWidth, + min: 1, + onChange: value => updateDimension('width', value) + }), Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { + type: "number", + className: "block-editor-image-size-control__height", + label: Object(external_wp_i18n_["__"])('Height'), + value: currentHeight, + min: 1, + onChange: value => updateDimension('height', value) + })), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-image-size-control__row" + }, Object(external_wp_element_["createElement"])(external_wp_components_["ButtonGroup"], { + "aria-label": Object(external_wp_i18n_["__"])('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 Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + key: scale, + isSmall: true, + variant: isCurrent ? 'primary' : undefined, + isPressed: isCurrent, + onClick: () => updateDimensions(scaledHeight, scaledWidth) + }, scale, "%"); + })), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + isSmall: true, + onClick: () => updateDimensions() + }, Object(external_wp_i18n_["__"])('Reset'))))); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/index.js + 7 modules +var inner_blocks = __webpack_require__("p3NJ"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inspector-controls/index.js +var inspector_controls = __webpack_require__("1oY3"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/justify-content-control/index.js + 1 modules +var justify_content_control = __webpack_require__("0E5u"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/keyboard-return.js +var keyboard_return = __webpack_require__("btIw"); + +// EXTERNAL MODULE: external ["wp","dom"] +var external_wp_dom_ = __webpack_require__("1CF3"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/settings-drawer.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + +const LinkControlSettingsDrawer = ({ + value, + onChange = external_lodash_["noop"], + settings +}) => { + if (!settings || !settings.length) { + return null; + } + + const handleSettingChange = setting => newValue => { + onChange({ ...value, + [setting.id]: newValue + }); + }; + + const theSettings = settings.map(setting => Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + className: "block-editor-link-control__setting", + key: setting.id, + label: setting.title, + onChange: handleSettingChange(setting), + checked: value ? !!value[setting.id] : false + })); + return Object(external_wp_element_["createElement"])("fieldset", { + className: "block-editor-link-control__settings" + }, Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { + as: "legend" + }, Object(external_wp_i18n_["__"])('Currently selected link settings')), theSettings); +}; + +/* harmony default export */ var settings_drawer = (LinkControlSettingsDrawer); + +// EXTERNAL MODULE: ./node_modules/dom-scroll-into-view/lib/index.js +var lib = __webpack_require__("9Do8"); +var lib_default = /*#__PURE__*/__webpack_require__.n(lib); + +// EXTERNAL MODULE: external ["wp","url"] +var external_wp_url_ = __webpack_require__("Mmq9"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-input/index.js + + + +/** + * External dependencies + */ + + + +/** + * WordPress dependencies + */ + + + + + + + + +/** + * Internal dependencies + */ + + + +class url_input_URLInput extends external_wp_element_["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 || Object(external_wp_element_["createRef"])(); + this.inputRef = Object(external_wp_element_["createRef"])(); + this.updateSuggestions = Object(external_lodash_["debounce"])(this.updateSuggestions.bind(this), 200); + this.suggestionNodes = []; + this.isUpdatingSuggestions = false; + this.state = { + suggestions: [], + showSuggestions: false, + 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.isUpdatingSuggestions) { + if (value !== null && value !== void 0 && 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() { + var _this$suggestionsRequ, _this$suggestionsRequ2; + + (_this$suggestionsRequ = this.suggestionsRequest) === null || _this$suggestionsRequ === void 0 ? void 0 : (_this$suggestionsRequ2 = _this$suggestionsRequ.cancel) === null || _this$suggestionsRequ2 === void 0 ? void 0 : _this$suggestionsRequ2.call(_this$suggestionsRequ); + delete this.suggestionsRequest; + } + + bindSuggestionNode(index) { + return ref => { + this.suggestionNodes[index] = ref; + }; + } + + shouldShowInitialSuggestions() { + const { + suggestions + } = this.state; + const { + __experimentalShowInitialSuggestions = false, + value + } = this.props; + return !this.isUpdatingSuggestions && __experimentalShowInitialSuggestions && !(value && value.length) && !(suggestions && suggestions.length); + } + + updateSuggestions(value = '') { + var _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 = value) !== null && _value !== void 0 && _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 && Object(external_wp_url_["isURL"])(value))) { + this.setState({ + showSuggestions: false, + selectedSuggestion: null, + loading: false + }); + return; + } + + this.isUpdatingSuggestions = true; + 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, + loading: false, + showSuggestions: !!suggestions.length + }); + + if (!!suggestions.length) { + this.props.debouncedSpeak(Object(external_wp_i18n_["sprintf"])( + /* translators: %s: number of results. */ + Object(external_wp_i18n_["_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(Object(external_wp_i18n_["__"])('No results.'), 'assertive'); + } + + this.isUpdatingSuggestions = false; + }).catch(() => { + if (this.suggestionsRequest === request) { + this.setState({ + loading: false + }); + this.isUpdatingSuggestions = 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) { + const inputValue = event.target.value; + this.props.onChange(inputValue); + + if (!this.props.disableSuggestions) { + this.updateSuggestions(inputValue); + } + } + + 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.isUpdatingSuggestions && !(suggestions && suggestions.length)) { + // Ensure the suggestions are updated with the current input value + this.updateSuggestions(value); + } + } + + 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_["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_["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_["ENTER"]: + { + if (this.props.onSubmit) { + this.props.onSubmit(null, event); + } + + break; + } + } + + return; + } + + const suggestion = this.state.suggestions[this.state.selectedSuggestion]; + + switch (event.keyCode) { + case external_wp_keycodes_["UP"]: + { + event.preventDefault(); + const previousIndex = !selectedSuggestion ? suggestions.length - 1 : selectedSuggestion - 1; + this.setState({ + selectedSuggestion: previousIndex + }); + break; + } + + case external_wp_keycodes_["DOWN"]: + { + event.preventDefault(); + const nextIndex = selectedSuggestion === null || selectedSuggestion === suggestions.length - 1 ? 0 : selectedSuggestion + 1; + this.setState({ + selectedSuggestion: nextIndex + }); + break; + } + + case external_wp_keycodes_["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(Object(external_wp_i18n_["__"])('Link selected.')); + } + + break; + } + + case external_wp_keycodes_["ENTER"]: + { + 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 Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, this.renderControl(), this.renderSuggestions()); + } + + renderControl() { + const { + label, + className, + isFullWidth, + instanceId, + placeholder = Object(external_wp_i18n_["__"])('Paste URL or type to search'), + __experimentalRenderControl: renderControl, + value = '' + } = this.props; + const { + loading, + showSuggestions, + selectedSuggestion, + suggestionsListboxId, + suggestionOptionIdPrefix + } = this.state; + const controlProps = { + id: `url-input-control-${instanceId}`, + label, + className: classnames_default()('block-editor-url-input', className, { + 'is-full-width': isFullWidth + }) + }; + const inputProps = { + 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': Object(external_wp_i18n_["__"])('URL'), + '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); + } + + return Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], controlProps, Object(external_wp_element_["createElement"])("input", inputProps), loading && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)); + } + + renderSuggestions() { + const { + className, + __experimentalRenderSuggestions: renderSuggestions, + value = '', + __experimentalShowInitialSuggestions = false + } = this.props; + const { + showSuggestions, + suggestions, + selectedSuggestion, + suggestionsListboxId, + suggestionOptionIdPrefix, + loading + } = this.state; + 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 + }; + }; + + if (Object(external_lodash_["isFunction"])(renderSuggestions) && showSuggestions && !!suggestions.length) { + return renderSuggestions({ + suggestions, + selectedSuggestion, + suggestionsListProps, + buildSuggestionItemProps, + isLoading: loading, + handleSuggestionClick: this.handleOnClick, + isInitialSuggestions: __experimentalShowInitialSuggestions && !(value && value.length) + }); + } + + if (!Object(external_lodash_["isFunction"])(renderSuggestions) && showSuggestions && !!suggestions.length) { + return Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { + position: "bottom", + noArrow: true, + focusOnMount: false + }, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, suggestionsListProps, { + className: classnames_default()('block-editor-url-input__suggestions', `${className}__suggestions`) + }), suggestions.map((suggestion, index) => Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({}, buildSuggestionItemProps(suggestion, index), { + key: suggestion.id, + className: classnames_default()('block-editor-url-input__suggestion', { + 'is-selected': index === selectedSuggestion + }), + onClick: () => this.handleOnClick(suggestion) + }), suggestion.title)))); + } + + return null; + } + +} +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/url-input/README.md + */ + + +/* harmony default export */ var url_input = (Object(external_wp_compose_["compose"])(external_wp_compose_["withSafeTimeout"], external_wp_components_["withSpokenMessages"], external_wp_compose_["withInstanceId"], Object(external_wp_data_["withSelect"])((select, props) => { + // If a link suggestions handler is already provided then + // bail + if (Object(external_lodash_["isFunction"])(props.__experimentalFetchLinkSuggestions)) { + return; + } + + const { + getSettings + } = select(store["a" /* store */]); + return { + __experimentalFetchLinkSuggestions: getSettings().__experimentalFetchLinkSuggestions + }; +}))(url_input_URLInput)); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/plus.js +var plus = __webpack_require__("Q4Sy"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/search-create-button.js + + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + +const LinkControlSearchCreate = ({ + searchTerm, + onClick, + itemProps, + isSelected, + buttonText +}) => { + if (!searchTerm) { + return null; + } + + let text; + + if (buttonText) { + text = Object(external_lodash_["isFunction"])(buttonText) ? buttonText(searchTerm) : buttonText; + } else { + text = Object(external_wp_element_["createInterpolateElement"])(Object(external_wp_i18n_["sprintf"])( + /* translators: %s: search term. */ + Object(external_wp_i18n_["__"])('Create: %s'), searchTerm), { + mark: Object(external_wp_element_["createElement"])("mark", null) + }); + } + + return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({}, itemProps, { + className: classnames_default()('block-editor-link-control__search-create block-editor-link-control__search-item', { + 'is-selected': isSelected + }), + onClick: onClick + }), Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { + className: "block-editor-link-control__search-item-icon", + icon: plus["a" /* default */] + }), Object(external_wp_element_["createElement"])("span", { + className: "block-editor-link-control__search-item-header" + }, Object(external_wp_element_["createElement"])("span", { + className: "block-editor-link-control__search-item-title" + }, text))); +}; +/* harmony default export */ var search_create_button = (LinkControlSearchCreate); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/globe.js + + +/** + * WordPress dependencies + */ + +const globe = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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 + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +const LinkControlSearchItem = ({ + itemProps, + suggestion, + isSelected = false, + onClick, + isURL = false, + searchTerm = '', + shouldShowType = false +}) => { + return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({}, itemProps, { + onClick: onClick, + className: classnames_default()('block-editor-link-control__search-item', { + 'is-selected': isSelected, + 'is-url': isURL, + 'is-entity': !isURL + }) + }), isURL && Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { + className: "block-editor-link-control__search-item-icon", + icon: library_globe + }), Object(external_wp_element_["createElement"])("span", { + className: "block-editor-link-control__search-item-header" + }, Object(external_wp_element_["createElement"])("span", { + className: "block-editor-link-control__search-item-title" + }, Object(external_wp_element_["createElement"])(external_wp_components_["TextHighlight"], { + text: suggestion.title, + highlight: searchTerm + })), Object(external_wp_element_["createElement"])("span", { + "aria-hidden": !isURL, + className: "block-editor-link-control__search-item-info" + }, !isURL && (Object(external_wp_url_["filterURLForDisplay"])(Object(external_wp_url_["safeDecodeURI"])(suggestion.url)) || ''), isURL && Object(external_wp_i18n_["__"])('Press ENTER to add this link'))), shouldShowType && suggestion.type && Object(external_wp_element_["createElement"])("span", { + className: "block-editor-link-control__search-item-type" + }, 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 DEFAULT_LINK_SETTINGS = [{ + id: 'opensInNewTab', + title: Object(external_wp_i18n_["__"])('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 directLinkEntryTypes = ['url', 'mailto', 'tel', 'internal']; + const isSingleDirectEntryResult = suggestions.length === 1 && directLinkEntryTypes.includes(suggestions[0].type.toLowerCase()); + 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 !== null && suggestionsQuery !== void 0 && 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 ? Object(external_wp_i18n_["__"])('Recently updated') : Object(external_wp_i18n_["sprintf"])( + /* translators: %s: search term. */ + Object(external_wp_i18n_["__"])('Search results for "%s"'), currentInputValue); // VisuallyHidden rightly doesn't accept custom classNames + // so we conditionally render it as a wrapper to visually hide the label + // when that is required. + + const searchResultsLabel = Object(external_wp_element_["createElement"])(isInitialSuggestions ? external_wp_element_["Fragment"] : external_wp_components_["VisuallyHidden"], {}, // empty props + Object(external_wp_element_["createElement"])("span", { + className: "block-editor-link-control__search-results-label", + id: searchResultsLabelId + }, labelText)); + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-link-control__search-results-wrapper" + }, searchResultsLabel, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, suggestionsListProps, { + className: resultsListClasses, + "aria-labelledby": searchResultsLabelId + }), suggestions.map((suggestion, index) => { + if (shouldShowCreateSuggestion && CREATE_TYPE === suggestion.type) { + return Object(external_wp_element_["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 Object(external_wp_element_["createElement"])(search_item, { + key: `${suggestion.id}-${suggestion.type}`, + itemProps: buildSuggestionItemProps(suggestion, index), + suggestion: suggestion, + index: index, + onClick: () => { + handleSuggestionClick(suggestion); + }, + isSelected: index === selectedSuggestion, + isURL: directLinkEntryTypes.includes(suggestion.type.toLowerCase()), + searchTerm: currentInputValue, + shouldShowType: shouldShowSuggestionsTypes + }); + }))); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/is-url-like.js +/** + * External dependencies + */ + +/** + * 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 isInternal = Object(external_lodash_["startsWith"])(val, '#'); + return Object(external_wp_url_["isURL"])(val) || val && val.includes('www.') || isInternal; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/use-search-handler.js +/** + * WordPress dependencies + */ + + + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + +const handleNoop = () => Promise.resolve([]); +const handleDirectEntry = val => { + let type = 'URL'; + const protocol = Object(external_wp_url_["getProtocol"])(val) || ''; + + if (protocol.includes('mailto')) { + type = 'mailto'; + } + + if (protocol.includes('tel')) { + type = 'tel'; + } + + if (Object(external_lodash_["startsWith"])(val, '#')) { + type = 'internal'; + } + + return Promise.resolve([{ + id: val, + title: val, + url: type === 'URL' ? Object(external_wp_url_["prependHTTP"])(val) : val, + type + }]); +}; + +const handleEntitySearch = async (val, suggestionsQuery, fetchSearchSuggestions, directEntryHandler, withCreateSuggestion, withURLSuggestion) => { + const { + isInitialSuggestions + } = suggestionsQuery; + let results = await Promise.all([fetchSearchSuggestions(val, suggestionsQuery), directEntryHandler(val)]); + const couldBeURL = !val.includes(' '); // If it's potentially a URL search then concat on a URL search suggestion + // just for good measure. That way once the actual results run out we always + // have a URL option to fallback on. + + if (couldBeURL && withURLSuggestion && !isInitialSuggestions) { + results = results[0].concat(results[1]); + } else { + results = results[0]; + } // 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 + } = Object(external_wp_data_["useSelect"])(select => { + const { + getSettings + } = select(store["a" /* store */]); + return { + fetchSearchSuggestions: getSettings().__experimentalFetchLinkSuggestions + }; + }, []); + const directEntryHandler = allowDirectEntry ? handleDirectEntry : handleNoop; + return Object(external_wp_element_["useCallback"])((val, { + isInitialSuggestions + }) => { + return isURLLike(val) ? directEntryHandler(val, { + isInitialSuggestions + }) : handleEntitySearch(val, { ...suggestionsQuery, + isInitialSuggestions + }, fetchSearchSuggestions, directEntryHandler, withCreateSuggestion, withURLSuggestion); + }, [directEntryHandler, fetchSearchSuggestions, withCreateSuggestion]); +} + +// 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 LinkControlSearchInput = Object(external_wp_element_["forwardRef"])(({ + value, + children, + currentLink = {}, + className = null, + placeholder = null, + withCreateSuggestion = false, + onCreateSuggestion = external_lodash_["noop"], + onChange = external_lodash_["noop"], + onSelect = external_lodash_["noop"], + showSuggestions = true, + renderSuggestions = props => Object(external_wp_element_["createElement"])(LinkControlSearchResults, props), + fetchSuggestions = null, + allowDirectEntry = true, + showInitialSuggestions = false, + suggestionsQuery = {}, + withURLSuggestion = true, + createSuggestionButtonText, + useLabel = false +}, ref) => { + const genericSearchHandler = useSearchHandler(suggestionsQuery, allowDirectEntry, withCreateSuggestion, withURLSuggestion); + const searchHandler = showSuggestions ? fetchSuggestions || genericSearchHandler : noopSearchHandler; + const instanceId = Object(external_wp_compose_["useInstanceId"])(LinkControlSearchInput); + const [focusedSuggestion, setFocusedSuggestion] = Object(external_wp_element_["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, + currentInputValue: value, + 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 { + var _suggestion; + + suggestion = await onCreateSuggestion(selectedSuggestion.title); + + if ((_suggestion = suggestion) !== null && _suggestion !== void 0 && _suggestion.url) { + onSelect(suggestion); + } + } catch (e) {} + + return; + } + + if (allowDirectEntry || suggestion && Object.keys(suggestion).length >= 1) { + onSelect( // Some direct entries don't have types or IDs, and we still need to clear the previous ones. + { ...Object(external_lodash_["omit"])(currentLink, 'id', 'url'), + ...suggestion + }, suggestion); + } + }; + + const inputClasses = classnames_default()(className, { + 'has-no-label': !useLabel + }); + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-link-control__search-input-container" + }, Object(external_wp_element_["createElement"])(url_input, { + label: useLabel ? 'URL' : undefined, + className: inputClasses, + value: value, + onChange: onInputChange, + placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : Object(external_wp_i18n_["__"])('Search or type url'), + __experimentalRenderSuggestions: showSuggestions ? handleRenderSuggestions : null, + __experimentalFetchLinkSuggestions: searchHandler, + __experimentalHandleURLSuggestions: true, + __experimentalShowInitialSuggestions: showInitialSuggestions, + onSubmit: (suggestion, event) => { + var _value$trim; + + 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 !== null && value !== void 0 && (_value$trim = value.trim()) !== null && _value$trim !== void 0 && _value$trim.length)) { + event.preventDefault(); + } else { + onSuggestionSelected(hasSuggestion || { + url: value + }); + } + }, + ref: ref + }), children); +}); +/* harmony default export */ var search_input = (LinkControlSearchInput); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/info.js +var info = __webpack_require__("FnAh"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/edit.js + 1 modules +var edit = __webpack_require__("B9Az"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/link-off.js +var link_off = __webpack_require__("Mp0b"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/viewer-slot.js +/** + * WordPress dependencies + */ + +const { + Slot: ViewerSlot, + Fill: ViewerFill +} = Object(external_wp_components_["createSlotFill"])('BlockEditorLinkControlViewer'); + +/* harmony default export */ var viewer_slot = (ViewerSlot); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/use-rich-url-data.js +/** + * Internal dependencies + */ + +/** + * WordPress dependencies + */ + + + + +function 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] = Object(external_wp_element_["useReducer"])(reducer, { + richData: null, + isFetching: false + }); + const { + fetchRichUrlData + } = Object(external_wp_data_["useSelect"])(select => { + const { + getSettings + } = select(store["a" /* store */]); + return { + fetchRichUrlData: getSettings().__experimentalFetchRichUrlData + }; + }, []); + Object(external_wp_element_["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 !== null && url !== void 0 && 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 +}) { + // Avoid fetching if rich previews are not desired. + const showRichPreviews = hasRichPreviews ? value === null || value === void 0 ? void 0 : 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 && Object(external_wp_url_["filterURLForDisplay"])(Object(external_wp_url_["safeDecodeURI"])(value.url), 16) || ''; + const displayTitle = (richData === null || richData === void 0 ? void 0 : richData.title) || (value === null || value === void 0 ? void 0 : value.title) || displayURL; + const isEmptyURL = !value.url.length; + let icon; + + if (richData !== null && richData !== void 0 && richData.icon) { + icon = Object(external_wp_element_["createElement"])("img", { + src: richData === null || richData === void 0 ? void 0 : richData.icon, + alt: "" + }); + } else if (isEmptyURL) { + icon = Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { + icon: info["a" /* default */], + size: 32 + }); + } else { + icon = Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { + icon: library_globe + }); + } + + return Object(external_wp_element_["createElement"])("div", { + "aria-label": Object(external_wp_i18n_["__"])('Currently selected'), + "aria-selected": "true", + className: classnames_default()('block-editor-link-control__search-item', { + 'is-current': true, + 'is-rich': hasRichData, + 'is-fetching': !!isFetching, + 'is-preview': true, + 'is-error': isEmptyURL + }) + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-link-control__search-item-top" + }, Object(external_wp_element_["createElement"])("span", { + className: "block-editor-link-control__search-item-header" + }, Object(external_wp_element_["createElement"])("span", { + className: classnames_default()('block-editor-link-control__search-item-icon', { + 'is-image': richData === null || richData === void 0 ? void 0 : richData.icon + }) + }, icon), Object(external_wp_element_["createElement"])("span", { + className: "block-editor-link-control__search-item-details" + }, !isEmptyURL ? Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { + className: "block-editor-link-control__search-item-title", + href: value.url + }, Object(external_wp_dom_["__unstableStripHTML"])(displayTitle)), (value === null || value === void 0 ? void 0 : value.url) && Object(external_wp_element_["createElement"])("span", { + className: "block-editor-link-control__search-item-info" + }, displayURL)) : Object(external_wp_element_["createElement"])("span", { + className: "block-editor-link-control__search-item-error-notice" + }, "Link is empty"))), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + icon: edit["a" /* default */], + label: Object(external_wp_i18n_["__"])('Edit'), + className: "block-editor-link-control__search-item-action", + onClick: onEditClick, + iconSize: 24 + }), hasUnlinkControl && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + icon: link_off["a" /* default */], + label: Object(external_wp_i18n_["__"])('Unlink'), + className: "block-editor-link-control__search-item-action block-editor-link-control__unlink", + onClick: onRemove, + iconSize: 24 + }), Object(external_wp_element_["createElement"])(ViewerSlot, { + fillProps: value + })), (hasRichData && ((richData === null || richData === void 0 ? void 0 : richData.image) || (richData === null || richData === void 0 ? void 0 : richData.description)) || isFetching) && Object(external_wp_element_["createElement"])("div", { + className: "block-editor-link-control__search-item-bottom" + }, ((richData === null || richData === void 0 ? void 0 : richData.image) || isFetching) && Object(external_wp_element_["createElement"])("div", { + "aria-hidden": !(richData !== null && richData !== void 0 && richData.image), + className: classnames_default()('block-editor-link-control__search-item-image', { + 'is-placeholder': !(richData !== null && richData !== void 0 && richData.image) + }) + }, (richData === null || richData === void 0 ? void 0 : richData.image) && Object(external_wp_element_["createElement"])("img", { + src: richData === null || richData === void 0 ? void 0 : richData.image, + alt: "" + })), ((richData === null || richData === void 0 ? void 0 : richData.description) || isFetching) && Object(external_wp_element_["createElement"])("div", { + "aria-hidden": !(richData !== null && richData !== void 0 && richData.description), + className: classnames_default()('block-editor-link-control__search-item-description', { + 'is-placeholder': !(richData !== null && richData !== void 0 && richData.description) + }) + }, (richData === null || richData === void 0 ? void 0 : richData.description) && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalText"], { + truncate: true, + numberOfLines: "2" + }, richData.description)))); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/use-create-page.js +/** + * WordPress dependencies + */ + + +function useCreatePage(handleCreatePage) { + const cancelableCreateSuggestion = Object(external_wp_element_["useRef"])(); + const [isCreatingPage, setIsCreatingPage] = Object(external_wp_element_["useState"])(false); + const [errorMessage, setErrorMessage] = Object(external_wp_element_["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 || Object(external_wp_i18n_["__"])('An unknown error occurred during creation. Please try again.')); + throw error; + } finally { + setIsCreatingPage(false); + } + }; + /** + * Handles cancelling any pending Promises that have been made cancelable. + */ + + + Object(external_wp_element_["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/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 {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. + */ + +/** + * 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 = external_lodash_["noop"], + onRemove, + noDirectEntry = false, + showSuggestions = true, + showInitialSuggestions, + forceIsEditingLink, + createSuggestion, + withCreateSuggestion, + inputValue: propInputValue = '', + suggestionsQuery = {}, + noURLSuggestion = false, + createSuggestionButtonText, + hasRichPreviews = false, + hasTextControl = false, + renderControlBottom = null +}) { + var _currentInputValue$tr, _value$url, _value$url$trim; + + if (withCreateSuggestion === undefined && createSuggestion) { + withCreateSuggestion = true; + } + + const isMounting = Object(external_wp_element_["useRef"])(true); + const wrapperNode = Object(external_wp_element_["useRef"])(); + const textInputRef = Object(external_wp_element_["useRef"])(); + const [internalInputValue, setInternalInputValue] = Object(external_wp_element_["useState"])((value === null || value === void 0 ? void 0 : value.url) || ''); + const [internalTextValue, setInternalTextValue] = Object(external_wp_element_["useState"])((value === null || value === void 0 ? void 0 : value.title) || ''); + const currentInputValue = propInputValue || internalInputValue; + const [isEditingLink, setIsEditingLink] = Object(external_wp_element_["useState"])(forceIsEditingLink !== undefined ? forceIsEditingLink : !value || !value.url); + const isEndingEditWithFocus = Object(external_wp_element_["useRef"])(false); + const currentInputIsEmpty = !(currentInputValue !== null && currentInputValue !== void 0 && (_currentInputValue$tr = currentInputValue.trim()) !== null && _currentInputValue$tr !== void 0 && _currentInputValue$tr.length); + Object(external_wp_element_["useEffect"])(() => { + if (forceIsEditingLink !== undefined && forceIsEditingLink !== isEditingLink) { + setIsEditingLink(forceIsEditingLink); + } + }, [forceIsEditingLink]); + Object(external_wp_element_["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; + } // Unless we are mounting, we always want to focus either: + // - the URL input + // - the first focusable element in the Link UI. + // But in editing mode if there is a text input present then + // the URL input is at index 1. If not then it is at index 0. + + + const whichFocusTargetIndex = textInputRef !== null && textInputRef !== void 0 && textInputRef.current ? 1 : 0; // 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_["focus"].focusable.find(wrapperNode.current)[whichFocusTargetIndex] || wrapperNode.current; + nextFocusTarget.focus(); + isEndingEditWithFocus.current = false; + }, [isEditingLink]); + Object(external_wp_element_["useEffect"])(() => { + /** + * If the value's `text` property changes then sync this + * back up with state. + */ + if (value !== null && value !== void 0 && value.title && value.title !== internalTextValue) { + setInternalTextValue(value.title); + } + /** + * Update the state value internalInputValue if the url value changes + * for example when clicking on another anchor + */ + + + if (value !== null && value !== void 0 && value.url) { + setInternalInputValue(value.url); + } + }, [value]); + /** + * 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. + */ + + function stopEditing() { + var _wrapperNode$current; + + isEndingEditWithFocus.current = !!((_wrapperNode$current = wrapperNode.current) !== null && _wrapperNode$current !== void 0 && _wrapperNode$current.contains(wrapperNode.current.ownerDocument.activeElement)); + setIsEditingLink(false); + } + + const { + createPage, + isCreatingPage, + errorMessage + } = useCreatePage(createSuggestion); + + const handleSelectSuggestion = updatedValue => { + onChange({ ...updatedValue, + title: internalTextValue || (updatedValue === null || updatedValue === void 0 ? void 0 : updatedValue.title) + }); + stopEditing(); + }; + + const handleSubmit = () => { + if (currentInputValue !== (value === null || value === void 0 ? void 0 : value.url) || internalTextValue !== (value === null || value === void 0 ? void 0 : value.title)) { + onChange({ + url: currentInputValue, + title: internalTextValue + }); + } + + stopEditing(); + }; + + const handleSubmitWithEnter = event => { + const { + keyCode + } = event; + + if (keyCode === external_wp_keycodes_["ENTER"] && !currentInputIsEmpty // disallow submitting empty values. + ) { + event.preventDefault(); + handleSubmit(); + } + }; + + const shownUnlinkControl = onRemove && value && !isEditingLink && !isCreatingPage; + const showSettingsDrawer = !!(settings !== null && settings !== void 0 && settings.length); // 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 = (value === null || value === void 0 ? void 0 : (_value$url = value.url) === null || _value$url === void 0 ? void 0 : (_value$url$trim = _value$url.trim()) === null || _value$url$trim === void 0 ? void 0 : _value$url$trim.length) > 0 && hasTextControl; + return Object(external_wp_element_["createElement"])("div", { + tabIndex: -1, + ref: wrapperNode, + className: "block-editor-link-control" + }, isCreatingPage && Object(external_wp_element_["createElement"])("div", { + className: "block-editor-link-control__loading" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null), " ", Object(external_wp_i18n_["__"])('Creating'), "\u2026"), (isEditingLink || !value) && !isCreatingPage && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", { + className: classnames_default()({ + 'block-editor-link-control__search-input-wrapper': true, + 'has-text-control': showTextControl + }) + }, showTextControl && Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { + ref: textInputRef, + className: "block-editor-link-control__field block-editor-link-control__text-content", + label: "Text", + value: internalTextValue, + onChange: setInternalTextValue, + onKeyDown: handleSubmitWithEnter + }), Object(external_wp_element_["createElement"])(search_input, { + currentLink: value, + className: "block-editor-link-control__field block-editor-link-control__search-input", + placeholder: searchInputPlaceholder, + value: currentInputValue, + withCreateSuggestion: withCreateSuggestion, + onCreateSuggestion: createPage, + onChange: setInternalInputValue, + onSelect: handleSelectSuggestion, + showInitialSuggestions: showInitialSuggestions, + allowDirectEntry: !noDirectEntry, + showSuggestions: showSuggestions, + suggestionsQuery: suggestionsQuery, + withURLSuggestion: !noURLSuggestion, + createSuggestionButtonText: createSuggestionButtonText, + useLabel: showTextControl + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-link-control__search-actions" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + onClick: handleSubmit, + label: Object(external_wp_i18n_["__"])('Submit'), + icon: keyboard_return["a" /* default */], + className: "block-editor-link-control__search-submit", + disabled: currentInputIsEmpty // disallow submitting empty values. + + })))), errorMessage && Object(external_wp_element_["createElement"])(external_wp_components_["Notice"], { + className: "block-editor-link-control__search-error", + status: "error", + isDismissible: false + }, errorMessage)), value && !isEditingLink && !isCreatingPage && Object(external_wp_element_["createElement"])(LinkPreview, { + key: value === null || value === void 0 ? void 0 : value.url // force remount when URL changes to avoid race conditions for rich previews + , + value: value, + onEditClick: () => setIsEditingLink(true), + hasRichPreviews: hasRichPreviews, + hasUnlinkControl: shownUnlinkControl, + onRemove: onRemove + }), showSettingsDrawer && Object(external_wp_element_["createElement"])("div", { + className: "block-editor-link-control__tools" + }, Object(external_wp_element_["createElement"])(settings_drawer, { + value: value, + settings: settings, + onChange: onChange + })), renderControlBottom && renderControlBottom()); +} + +LinkControl.ViewerFill = ViewerFill; +/* harmony default export */ var link_control = (LinkControl); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/line-height-control/index.js + 1 modules +var line_height_control = __webpack_require__("weEX"); + +// EXTERNAL MODULE: external ["wp","a11y"] +var external_wp_a11y_ = __webpack_require__("gdqT"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/media.js +var library_media = __webpack_require__("rH4q"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/upload.js +var upload = __webpack_require__("NTP4"); + +// 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 = (Object(external_wp_components_["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 = Object(external_wp_data_["useSelect"])(select => { + const { + getSettings + } = select(store["a" /* 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 media_upload_check = (MediaUploadCheck); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/media-replace-flow/index.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + + + + + +/** + * Internal dependencies + */ + + + + + + +const MediaReplaceFlow = ({ + mediaURL, + mediaId, + allowedTypes, + accept, + onSelect, + onSelectURL, + onFilesUpload = external_lodash_["noop"], + name = Object(external_wp_i18n_["__"])('Replace'), + createNotice, + removeNotice, + children +}) => { + const [mediaURLValue, setMediaURLValue] = Object(external_wp_element_["useState"])(mediaURL); + const mediaUpload = Object(external_wp_data_["useSelect"])(select => { + return select(store["a" /* store */]).getSettings().mediaUpload; + }, []); + const editMediaButtonRef = Object(external_wp_element_["createRef"])(); + const errorNoticeID = Object(external_lodash_["uniqueId"])('block-editor/media-replace-flow/error-notice/'); + + const onError = message => { + const errorElement = document.createElement('div'); + errorElement.innerHTML = Object(external_wp_element_["renderToString"])(message); // The default error contains some HTML that, + // for example, makes the filename bold. + // The notice, by default, accepts strings only and so + // we need to remove the html from the error. + + const renderMsg = errorElement.textContent || errorElement.innerText || ''; // 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', renderMsg, { + speak: true, + id: errorNoticeID, + isDismissible: true + }); + }, 1000); + }; + + const selectMedia = media => { + setMediaURLValue(media.url); // Calling `onSelect` after the state update since it might unmount the component. + + onSelect(media); + Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('The media file has been replaced')); + removeNotice(errorNoticeID); + }; + + const selectURL = newURL => { + onSelectURL(newURL); + }; + + const uploadFiles = event => { + const files = event.target.files; + onFilesUpload(files); + + const setMedia = ([media]) => { + selectMedia(media); + }; + + mediaUpload({ + allowedTypes, + filesList: files, + onFileChange: setMedia, + onError + }); + }; + + const openOnArrowDown = event => { + if (event.keyCode === external_wp_keycodes_["DOWN"]) { + event.preventDefault(); + event.target.click(); + } + }; + + const POPOVER_PROPS = { + isAlternate: true + }; + return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { + popoverProps: POPOVER_PROPS, + contentClassName: "block-editor-media-replace-flow__options", + renderToggle: ({ + isOpen, + onToggle + }) => Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + ref: editMediaButtonRef, + "aria-expanded": isOpen, + "aria-haspopup": "true", + onClick: onToggle, + onKeyDown: openOnArrowDown + }, name), + renderContent: ({ + onClose + }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["NavigableMenu"], { + className: "block-editor-media-replace-flow__media-upload-menu" + }, Object(external_wp_element_["createElement"])(media_upload, { + value: mediaId, + onSelect: media => selectMedia(media), + allowedTypes: allowedTypes, + render: ({ + open + }) => Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + icon: library_media["a" /* default */], + onClick: open + }, Object(external_wp_i18n_["__"])('Open Media Library')) + }), Object(external_wp_element_["createElement"])(media_upload_check, null, Object(external_wp_element_["createElement"])(external_wp_components_["FormFileUpload"], { + onChange: event => { + uploadFiles(event, onClose); + }, + accept: accept, + render: ({ + openFileDialog + }) => { + return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + icon: upload["a" /* default */], + onClick: () => { + openFileDialog(); + } + }, Object(external_wp_i18n_["__"])('Upload')); + } + })), children), onSelectURL && // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions + Object(external_wp_element_["createElement"])("form", { + className: "block-editor-media-flow__url-input" + }, Object(external_wp_element_["createElement"])("span", { + className: "block-editor-media-replace-flow__image-url-label" + }, Object(external_wp_i18n_["__"])('Current media URL:')), Object(external_wp_element_["createElement"])(link_control, { + value: { + url: mediaURLValue + }, + settings: [], + showSuggestions: false, + onChange: ({ + url + }) => { + setMediaURLValue(url); + selectURL(url); + editMediaButtonRef.current.focus(); + } + }))) + }); +}; + +/* harmony default export */ var media_replace_flow = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withDispatch"])(dispatch => { + const { + createNotice, + removeNotice + } = dispatch(external_wp_notices_["store"]); + return { + createNotice, + removeNotice + }; +}), Object(external_wp_components_["withFilters"])('editor.MediaReplaceFlow')])(MediaReplaceFlow)); + +// EXTERNAL MODULE: external ["wp","deprecated"] +var external_wp_deprecated_ = __webpack_require__("NMb1"); +var external_wp_deprecated_default = /*#__PURE__*/__webpack_require__.n(external_wp_deprecated_); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-popover/link-viewer-url.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +function LinkViewerURL({ + url, + urlLabel, + className +}) { + const linkClassName = classnames_default()(className, 'block-editor-url-popover__link-viewer-url'); + + if (!url) { + return Object(external_wp_element_["createElement"])("span", { + className: linkClassName + }); + } + + return Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { + className: linkClassName, + href: url + }, urlLabel || Object(external_wp_url_["filterURLForDisplay"])(Object(external_wp_url_["safeDecodeURI"])(url))); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-popover/link-viewer.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +function LinkViewer({ + className, + linkClassName, + onEditLinkClick, + url, + urlLabel, + ...props +}) { + return Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({ + className: classnames_default()('block-editor-url-popover__link-viewer', className) + }, props), Object(external_wp_element_["createElement"])(LinkViewerURL, { + url: url, + urlLabel: urlLabel, + className: linkClassName + }), onEditLinkClick && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + icon: edit["a" /* default */], + label: Object(external_wp_i18n_["__"])('Edit'), + onClick: onEditLinkClick + })); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-popover/link-editor.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +function LinkEditor({ + autocompleteRef, + className, + onChangeInputValue, + value, + ...props +}) { + return Object(external_wp_element_["createElement"])("form", Object(esm_extends["a" /* default */])({ + className: classnames_default()('block-editor-url-popover__link-editor', className) + }, props), Object(external_wp_element_["createElement"])(url_input, { + value: value, + onChange: onChangeInputValue, + autocompleteRef: autocompleteRef + }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + icon: keyboard_return["a" /* default */], + label: Object(external_wp_i18n_["__"])('Apply'), + type: "submit" + })); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-popover/index.js + + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + +function URLPopover({ + additionalControls, + children, + renderSettings, + position = 'bottom center', + focusOnMount = 'firstElement', + ...popoverProps +}) { + const [isSettingsExpanded, setIsSettingsExpanded] = Object(external_wp_element_["useState"])(false); + const showSettings = !!renderSettings && isSettingsExpanded; + + const toggleSettingsVisibility = () => { + setIsSettingsExpanded(!isSettingsExpanded); + }; + + return Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], Object(esm_extends["a" /* default */])({ + className: "block-editor-url-popover", + focusOnMount: focusOnMount, + position: position + }, popoverProps), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-url-popover__input-container" + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-url-popover__row" + }, children, !!renderSettings && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + className: "block-editor-url-popover__settings-toggle", + icon: chevron_down["a" /* default */], + label: Object(external_wp_i18n_["__"])('Link settings'), + onClick: toggleSettingsVisibility, + "aria-expanded": isSettingsExpanded + })), showSettings && Object(external_wp_element_["createElement"])("div", { + className: "block-editor-url-popover__row block-editor-url-popover__settings" + }, renderSettings())), additionalControls && !showSettings && Object(external_wp_element_["createElement"])("div", { + className: "block-editor-url-popover__additional-controls" + }, additionalControls)); +} + +URLPopover.LinkEditor = LinkEditor; +URLPopover.LinkViewer = LinkViewer; +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/url-popover/README.md + */ + +/* harmony default export */ var url_popover = (URLPopover); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/media-placeholder/index.js + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + +/** + * Internal dependencies + */ + + + + + + +const InsertFromURLPopover = ({ + src, + onChange, + onSubmit, + onClose +}) => Object(external_wp_element_["createElement"])(url_popover, { + onClose: onClose +}, Object(external_wp_element_["createElement"])("form", { + className: "block-editor-media-placeholder__url-input-form", + onSubmit: onSubmit +}, Object(external_wp_element_["createElement"])("input", { + className: "block-editor-media-placeholder__url-input-field", + type: "text", + "aria-label": Object(external_wp_i18n_["__"])('URL'), + placeholder: Object(external_wp_i18n_["__"])('Paste or type URL'), + onChange: onChange, + value: src +}), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + className: "block-editor-media-placeholder__url-input-submit-button", + icon: keyboard_return["a" /* default */], + label: Object(external_wp_i18n_["__"])('Apply'), + type: "submit" +}))); + +function MediaPlaceholder({ + value = {}, + allowedTypes, + className, + icon, + labels = {}, + mediaPreview, + notices, + isAppender, + accept, + addToGallery, + multiple = false, + handleUpload = true, + dropZoneUIOnly, + disableDropZone, + disableMediaButtons, + onError, + onSelect, + onCancel, + onSelectURL, + onDoubleClick, + onFilesPreUpload = external_lodash_["noop"], + onHTMLDrop = external_lodash_["noop"], + children, + mediaLibraryButton, + placeholder, + style +}) { + const mediaUpload = Object(external_wp_data_["useSelect"])(select => { + const { + getSettings + } = select(store["a" /* store */]); + return getSettings().mediaUpload; + }, []); + const [src, setSrc] = Object(external_wp_element_["useState"])(''); + const [isURLInputVisible, setIsURLInputVisible] = Object(external_wp_element_["useState"])(false); + Object(external_wp_element_["useEffect"])(() => { + var _value$src; + + setSrc((_value$src = value === null || value === void 0 ? void 0 : value.src) !== null && _value$src !== void 0 ? _value$src : ''); + }, [value === null || value === void 0 ? void 0 : value.src]); + + const onlyAllowsImages = () => { + if (!allowedTypes || allowedTypes.length === 0) { + return false; + } + + return allowedTypes.every(allowedType => allowedType === 'image' || allowedType.startsWith('image/')); + }; + + const onChangeSrc = event => { + setSrc(event.target.value); + }; + + const openURLInput = () => { + setIsURLInputVisible(true); + }; + + const closeURLInput = () => { + setIsURLInputVisible(false); + }; + + const onSubmitSrc = event => { + event.preventDefault(); + + if (src && onSelectURL) { + onSelectURL(src); + closeURLInput(); + } + }; + + const onFilesUpload = files => { + if (!handleUpload) { + return onSelect(files); + } + + onFilesPreUpload(files); + let setMedia; + + if (multiple) { + if (addToGallery) { + // Since the setMedia function runs multiple times per upload group + // and is passed newMedia containing every item in its group each time, we must + // filter out whatever this upload group had previously returned to the + // gallery before adding and returning the image array with replacement newMedia + // values. + // Define an array to store urls from newMedia between subsequent function calls. + let lastMediaPassed = []; + + setMedia = newMedia => { + // Remove any images this upload group is responsible for (lastMediaPassed). + // Their replacements are contained in newMedia. + const filteredMedia = (value !== null && value !== void 0 ? value : []).filter(item => { + // If Item has id, only remove it if lastMediaPassed has an item with that id. + if (item.id) { + return !lastMediaPassed.some( // Be sure to convert to number for comparison. + ({ + id + }) => Number(id) === Number(item.id)); + } // Compare transient images via .includes since gallery may append extra info onto the url. + + + return !lastMediaPassed.some(({ + urlSlug + }) => item.url.includes(urlSlug)); + }); // Return the filtered media array along with newMedia. + + onSelect(filteredMedia.concat(newMedia)); // Reset lastMediaPassed and set it with ids and urls from newMedia. + + lastMediaPassed = newMedia.map(media => { + // Add everything up to '.fileType' to compare via .includes. + const cutOffIndex = media.url.lastIndexOf('.'); + const urlSlug = media.url.slice(0, cutOffIndex); + return { + id: media.id, + urlSlug + }; + }); + }; + } else { + setMedia = onSelect; + } + } else { + setMedia = ([media]) => onSelect(media); + } + + mediaUpload({ + allowedTypes, + filesList: files, + onFileChange: setMedia, + onError + }); + }; + + const onUpload = event => { + onFilesUpload(event.target.files); + }; + + const defaultRenderPlaceholder = content => { + let { + instructions, + title + } = labels; + + if (!mediaUpload && !onSelectURL) { + instructions = Object(external_wp_i18n_["__"])('To edit this block, you need permission to upload media.'); + } + + if (instructions === undefined || title === undefined) { + const typesAllowed = allowedTypes !== null && allowedTypes !== void 0 ? allowedTypes : []; + const [firstAllowedType] = typesAllowed; + const isOneType = 1 === typesAllowed.length; + const isAudio = isOneType && 'audio' === firstAllowedType; + const isImage = isOneType && 'image' === firstAllowedType; + const isVideo = isOneType && 'video' === firstAllowedType; + + if (instructions === undefined && mediaUpload) { + instructions = Object(external_wp_i18n_["__"])('Upload a media file or pick one from your media library.'); + + if (isAudio) { + instructions = Object(external_wp_i18n_["__"])('Upload an audio file, pick one from your media library, or add one with a URL.'); + } else if (isImage) { + instructions = Object(external_wp_i18n_["__"])('Upload an image file, pick one from your media library, or add one with a URL.'); + } else if (isVideo) { + instructions = Object(external_wp_i18n_["__"])('Upload a video file, pick one from your media library, or add one with a URL.'); + } + } + + if (title === undefined) { + title = Object(external_wp_i18n_["__"])('Media'); + + if (isAudio) { + title = Object(external_wp_i18n_["__"])('Audio'); + } else if (isImage) { + title = Object(external_wp_i18n_["__"])('Image'); + } else if (isVideo) { + title = Object(external_wp_i18n_["__"])('Video'); + } + } + } + + const placeholderClassName = classnames_default()('block-editor-media-placeholder', className, { + 'is-appender': isAppender + }); + return Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { + icon: icon, + label: title, + instructions: instructions, + className: placeholderClassName, + notices: notices, + onDoubleClick: onDoubleClick, + preview: mediaPreview, + style: style + }, content, children); + }; + + const renderPlaceholder = placeholder !== null && placeholder !== void 0 ? placeholder : defaultRenderPlaceholder; + + const renderDropZone = () => { + if (disableDropZone) { + return null; + } + + return Object(external_wp_element_["createElement"])(external_wp_components_["DropZone"], { + onFilesDrop: onFilesUpload, + onHTMLDrop: onHTMLDrop + }); + }; + + const renderCancelLink = () => { + return onCancel && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + className: "block-editor-media-placeholder__cancel-button", + title: Object(external_wp_i18n_["__"])('Cancel'), + variant: "link", + onClick: onCancel + }, Object(external_wp_i18n_["__"])('Cancel')); + }; + + const renderUrlSelectionUI = () => { + return onSelectURL && Object(external_wp_element_["createElement"])("div", { + className: "block-editor-media-placeholder__url-input-container" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + className: "block-editor-media-placeholder__button", + onClick: openURLInput, + isPressed: isURLInputVisible, + variant: "tertiary" + }, Object(external_wp_i18n_["__"])('Insert from URL')), isURLInputVisible && Object(external_wp_element_["createElement"])(InsertFromURLPopover, { + src: src, + onChange: onChangeSrc, + onSubmit: onSubmitSrc, + onClose: closeURLInput + })); + }; + + const renderMediaUploadChecked = () => { + const defaultButton = ({ + open + }) => { + return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + variant: "tertiary", + onClick: () => { + open(); + } + }, Object(external_wp_i18n_["__"])('Media Library')); + }; + + const libraryButton = mediaLibraryButton !== null && mediaLibraryButton !== void 0 ? mediaLibraryButton : defaultButton; + const uploadMediaLibraryButton = Object(external_wp_element_["createElement"])(media_upload, { + addToGallery: addToGallery, + gallery: multiple && onlyAllowsImages(), + multiple: multiple, + onSelect: onSelect, + allowedTypes: allowedTypes, + value: Array.isArray(value) ? value.map(({ + id + }) => id) : value.id, + render: libraryButton + }); + + if (mediaUpload && isAppender) { + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, renderDropZone(), Object(external_wp_element_["createElement"])(external_wp_components_["FormFileUpload"], { + onChange: onUpload, + accept: accept, + multiple: multiple, + render: ({ + openFileDialog + }) => { + const content = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + variant: "primary", + className: classnames_default()('block-editor-media-placeholder__button', 'block-editor-media-placeholder__upload-button'), + onClick: openFileDialog + }, Object(external_wp_i18n_["__"])('Upload')), uploadMediaLibraryButton, renderUrlSelectionUI(), renderCancelLink()); + return renderPlaceholder(content); + } + })); + } + + if (mediaUpload) { + const content = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, renderDropZone(), Object(external_wp_element_["createElement"])(external_wp_components_["FormFileUpload"], { + variant: "primary", + className: classnames_default()('block-editor-media-placeholder__button', 'block-editor-media-placeholder__upload-button'), + onChange: onUpload, + accept: accept, + multiple: multiple + }, Object(external_wp_i18n_["__"])('Upload')), uploadMediaLibraryButton, renderUrlSelectionUI(), renderCancelLink()); + return renderPlaceholder(content); + } + + return renderPlaceholder(uploadMediaLibraryButton); + }; + + if (dropZoneUIOnly || disableMediaButtons) { + if (dropZoneUIOnly) { + external_wp_deprecated_default()('wp.blockEditor.MediaPlaceholder dropZoneUIOnly prop', { + since: '5.4', + alternative: 'disableMediaButtons' + }); + } + + return Object(external_wp_element_["createElement"])(media_upload_check, null, renderDropZone()); + } + + return Object(external_wp_element_["createElement"])(media_upload_check, { + fallback: renderPlaceholder(renderUrlSelectionUI()) + }, renderMediaUploadChecked()); +} +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md + */ + +/* harmony default export */ var media_placeholder = (Object(external_wp_components_["withFilters"])('editor.MediaPlaceholder')(MediaPlaceholder)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/panel-color-settings/index.js + + + +/** + * Internal dependencies + */ + + +const PanelColorSettings = ({ + colorSettings, + ...props +}) => { + const settings = colorSettings.map(({ + value, + onChange, + ...otherSettings + }) => ({ ...otherSettings, + colorValue: value, + onColorChange: onChange + })); + return Object(external_wp_element_["createElement"])(panel_color_gradient_settings["a" /* default */], Object(esm_extends["a" /* default */])({ + settings: settings, + gradients: [], + disableCustomGradients: true + }, props)); +}; + +/* harmony default export */ var panel_color_settings = (PanelColorSettings); + +// EXTERNAL MODULE: ./node_modules/react-autosize-textarea/lib/index.js +var react_autosize_textarea_lib = __webpack_require__("O6Fj"); +var react_autosize_textarea_lib_default = /*#__PURE__*/__webpack_require__.n(react_autosize_textarea_lib); + +// EXTERNAL MODULE: external ["wp","richText"] +var external_wp_richText_ = __webpack_require__("qRz9"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/format-toolbar/index.js + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + +const format_toolbar_POPOVER_PROPS = { + position: 'bottom right', + isAlternate: true +}; + +const FormatToolbar = () => { + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, ['bold', 'italic', 'link'].map(format => Object(external_wp_element_["createElement"])(external_wp_components_["Slot"], { + name: `RichText.ToolbarControls.${format}`, + key: format + })), Object(external_wp_element_["createElement"])(external_wp_components_["Slot"], { + name: "RichText.ToolbarControls" + }, fills => { + if (!fills.length) { + return null; + } + + const allProps = fills.map(([{ + props + }]) => props); + const hasActive = allProps.some(({ + isActive + }) => isActive); + return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarItem"], null, toggleProps => Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { + icon: chevron_down["a" /* default */] + /* translators: button label text should, if possible, be under 16 characters. */ + , + label: Object(external_wp_i18n_["__"])('More'), + toggleProps: { ...toggleProps, + className: classnames_default()(toggleProps.className, { + 'is-pressed': hasActive + }), + describedBy: Object(external_wp_i18n_["__"])('Displays more block tools') + }, + controls: Object(external_lodash_["orderBy"])(fills.map(([{ + props + }]) => props), 'title'), + popoverProps: format_toolbar_POPOVER_PROPS + })); + })); +}; + +/* harmony default export */ var format_toolbar = (FormatToolbar); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/format-toolbar-container.js + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + + +const FormatToolbarContainer = ({ + inline, + anchorRef +}) => { + if (inline) { + // Render in popover + return Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { + noArrow: true, + position: "top center", + focusOnMount: false, + anchorRef: anchorRef, + className: "block-editor-rich-text__inline-format-toolbar", + __unstableSlotName: "block-toolbar" + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-rich-text__inline-format-toolbar-group" + }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(format_toolbar, null)))); + } // Render regular toolbar + + + return Object(external_wp_element_["createElement"])(block_controls["b" /* default */], { + group: "inline" + }, Object(external_wp_element_["createElement"])(format_toolbar, null)); +}; + +/* harmony default export */ var format_toolbar_container = (FormatToolbarContainer); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-undo-automatic-change.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +function useUndoAutomaticChange() { + const { + didAutomaticChange, + getSettings + } = Object(external_wp_data_["useSelect"])(store["a" /* store */]); + return Object(external_wp_compose_["useRefEffect"])(element => { + function onKeyDown(event) { + const { + keyCode + } = event; + + if (event.defaultPrevented) { + return; + } + + if (keyCode !== external_wp_keycodes_["DELETE"] && keyCode !== external_wp_keycodes_["BACKSPACE"] && keyCode !== external_wp_keycodes_["ESCAPE"]) { + return; + } + + if (!didAutomaticChange()) { + return; + } + + event.preventDefault(); + + getSettings().__experimentalUndo(); + } + + element.addEventListener('keydown', onKeyDown); + return () => { + element.removeEventListener('keydown', onKeyDown); + }; + }, []); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-caret-in-format.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +function useCaretInFormat({ + value +}) { + const hasActiveFormats = value.activeFormats && !!value.activeFormats.length; + const { + isCaretWithinFormattedText + } = Object(external_wp_data_["useSelect"])(store["a" /* store */]); + const { + enterFormattedText, + exitFormattedText + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + Object(external_wp_element_["useEffect"])(() => { + if (hasActiveFormats) { + if (!isCaretWithinFormattedText()) { + enterFormattedText(); + } + } else if (isCaretWithinFormattedText()) { + exitFormattedText(); + } + }, [hasActiveFormats]); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-mark-persistent.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +function useMarkPersistent({ + html, + value +}) { + const previousText = Object(external_wp_element_["useRef"])(); + const hasActiveFormats = value.activeFormats && !!value.activeFormats.length; + const { + __unstableMarkLastChangeAsPersistent + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); // Must be set synchronously to make sure it applies to the last change. + + Object(external_wp_element_["useLayoutEffect"])(() => { + // Ignore mount. + if (!previousText.current) { + previousText.current = value.text; + return; + } // Text input, so don't create an undo level for every character. + // Create an undo level after 1 second of no input. + + + if (previousText.current !== value.text) { + const timeout = window.setTimeout(() => { + __unstableMarkLastChangeAsPersistent(); + }, 1000); + previousText.current = value.text; + return () => { + window.clearTimeout(timeout); + }; + } + + __unstableMarkLastChangeAsPersistent(); + }, [html, hasActiveFormats]); +} + +// EXTERNAL MODULE: external ["wp","blob"] +var external_wp_blob_ = __webpack_require__("xTGt"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/file-paste-handler.js +/** + * WordPress dependencies + */ + +function filePasteHandler(files) { + return files.filter(({ + type + }) => /^image\/(?:jpe?g|png|gif)$/.test(type)).map(file => ``).join(''); +} + +// EXTERNAL MODULE: external ["wp","shortcode"] +var external_wp_shortcode_ = __webpack_require__("SVSp"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/utils.js + + +/** + * WordPress dependencies + */ + + + + +function addActiveFormats(value, activeFormats) { + if (activeFormats !== null && activeFormats !== void 0 && activeFormats.length) { + let index = value.formats.length; + + while (index--) { + value.formats[index] = [...activeFormats, ...(value.formats[index] || [])]; + } + } +} +/** + * Get the multiline tag based on the multiline prop. + * + * @param {?(string|boolean)} multiline The multiline prop. + * + * @return {?string} The multiline tag. + */ + +function getMultilineTag(multiline) { + if (multiline !== true && multiline !== 'p' && multiline !== 'li') { + return; + } + + return multiline === true ? 'p' : multiline; +} +function getAllowedFormats({ + allowedFormats, + formattingControls, + disableFormats +}) { + if (disableFormats) { + return getAllowedFormats.EMPTY_ARRAY; + } + + if (!allowedFormats && !formattingControls) { + return; + } + + if (allowedFormats) { + return allowedFormats; + } + + external_wp_deprecated_default()('wp.blockEditor.RichText formattingControls prop', { + since: '5.4', + alternative: 'allowedFormats' + }); + return formattingControls.map(name => `core/${name}`); +} +getAllowedFormats.EMPTY_ARRAY = []; +const isShortcode = text => Object(external_wp_shortcode_["regexp"])('.*').test(text); +/** + * Creates a link from pasted URL. + * Creates a paragraph block containing a link to the URL, and calls `onReplace`. + * + * @param {string} url The URL that could not be embedded. + * @param {Function} onReplace Function to call with the created fallback block. + */ + +function createLinkInParagraph(url, onReplace) { + const link = Object(external_wp_element_["createElement"])("a", { + href: url + }, url); + onReplace(Object(external_wp_blocks_["createBlock"])('core/paragraph', { + content: Object(external_wp_element_["renderToString"])(link) + })); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/split-value.js +/** + * WordPress dependencies + */ + +/* + * Signals to the RichText owner that the block can be replaced with two blocks + * as a result of splitting the block by pressing enter, or with blocks as a + * result of splitting the block by pasting block content in the instance. + */ + +function splitValue({ + value, + pastedBlocks = [], + onReplace, + onSplit, + onSplitMiddle, + multilineTag +}) { + if (!onReplace || !onSplit) { + return; + } + + const blocks = []; + const [before, after] = Object(external_wp_richText_["split"])(value); + const hasPastedBlocks = pastedBlocks.length > 0; + let lastPastedBlockIndex = -1; // Consider the after value to be the original it is not empty and the + // before value *is* empty. + + const isAfterOriginal = Object(external_wp_richText_["isEmpty"])(before) && !Object(external_wp_richText_["isEmpty"])(after); // Create a block with the content before the caret if there's no pasted + // blocks, or if there are pasted blocks and the value is not empty. We do + // not want a leading empty block on paste, but we do if split with e.g. the + // enter key. + + if (!hasPastedBlocks || !Object(external_wp_richText_["isEmpty"])(before)) { + blocks.push(onSplit(Object(external_wp_richText_["toHTMLString"])({ + value: before, + multilineTag + }), !isAfterOriginal)); + lastPastedBlockIndex += 1; + } + + if (hasPastedBlocks) { + blocks.push(...pastedBlocks); + lastPastedBlockIndex += pastedBlocks.length; + } else if (onSplitMiddle) { + blocks.push(onSplitMiddle()); + } // If there's pasted blocks, append a block with non empty content / after + // the caret. Otherwise, do append an empty block if there is no + // `onSplitMiddle` prop, but if there is and the content is empty, the + // middle block is enough to set focus in. + + + if (hasPastedBlocks ? !Object(external_wp_richText_["isEmpty"])(after) : !onSplitMiddle || !Object(external_wp_richText_["isEmpty"])(after)) { + blocks.push(onSplit(Object(external_wp_richText_["toHTMLString"])({ + value: after, + multilineTag + }), isAfterOriginal)); + } // If there are pasted blocks, set the selection to the last one. Otherwise, + // set the selection to the second block. + + + const indexToSelect = hasPastedBlocks ? lastPastedBlockIndex : 1; // If there are pasted blocks, move the caret to the end of the selected + // block Otherwise, retain the default value. + + const initialPosition = hasPastedBlocks ? -1 : 0; + onReplace(blocks, indexToSelect, initialPosition); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-paste-handler.js +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + +/** @typedef {import('@wordpress/rich-text').RichTextValue} RichTextValue */ + +/** + * Replaces line separators with line breaks if not multiline. + * Replaces line breaks with line separators if multiline. + * + * @param {RichTextValue} value Value to adjust. + * @param {boolean} isMultiline Whether to adjust to multiline or not. + * + * @return {RichTextValue} Adjusted value. + */ + +function adjustLines(value, isMultiline) { + if (isMultiline) { + return Object(external_wp_richText_["replace"])(value, /\n+/g, external_wp_richText_["__UNSTABLE_LINE_SEPARATOR"]); + } + + return Object(external_wp_richText_["replace"])(value, new RegExp(external_wp_richText_["__UNSTABLE_LINE_SEPARATOR"], 'g'), '\n'); +} + +function usePasteHandler(props) { + const propsRef = Object(external_wp_element_["useRef"])(props); + propsRef.current = props; + return Object(external_wp_compose_["useRefEffect"])(element => { + function _onPaste(event) { + const { + isSelected, + disableFormats, + onChange, + value, + formatTypes, + tagName, + onReplace, + onSplit, + onSplitMiddle, + __unstableEmbedURLOnPaste, + multilineTag, + preserveWhiteSpace, + pastePlainText + } = propsRef.current; + + if (!isSelected) { + event.preventDefault(); + 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); + event.preventDefault(); // Allows us to ask for this information when we get a report. + + window.console.log('Received HTML:\n\n', html); + window.console.log('Received plain text:\n\n', plainText); + + if (disableFormats) { + onChange(Object(external_wp_richText_["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 = [...Object(external_wp_dom_["getFilesFromDataTransfer"])(clipboardData)]; + const isInternal = 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 pastedMultilineTag = clipboardData.getData('rich-text-multi-line-tag') || undefined; + let pastedValue = Object(external_wp_richText_["create"])({ + html, + multilineTag: pastedMultilineTag, + multilineWrapperTags: pastedMultilineTag === 'li' ? ['ul', 'ol'] : undefined, + preserveWhiteSpace + }); + pastedValue = adjustLines(pastedValue, !!multilineTag); + addActiveFormats(pastedValue, value.activeFormats); + onChange(Object(external_wp_richText_["insert"])(value, pastedValue)); + return; + } + + if (pastePlainText) { + onChange(Object(external_wp_richText_["insert"])(value, Object(external_wp_richText_["create"])({ + text: plainText + }))); + return; + } // Only process file if no HTML is present. + // Note: a pasted file may have the URL as plain text. + + + if (files && files.length && !html) { + const content = Object(external_wp_blocks_["pasteHandler"])({ + HTML: filePasteHandler(files), + mode: 'BLOCKS', + tagName, + preserveWhiteSpace + }); // 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); + + if (onReplace && Object(external_wp_richText_["isEmpty"])(value)) { + onReplace(content); + } else { + splitValue({ + value, + pastedBlocks: content, + onReplace, + onSplit, + onSplitMiddle, + multilineTag + }); + } + + 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' && Object(external_wp_richText_["isEmpty"])(value) && isShortcode(plainText)) { + mode = 'BLOCKS'; + } + + if (__unstableEmbedURLOnPaste && Object(external_wp_richText_["isEmpty"])(value) && Object(external_wp_url_["isURL"])(plainText.trim())) { + mode = 'BLOCKS'; + } + + const content = Object(external_wp_blocks_["pasteHandler"])({ + HTML: html, + plainText, + mode, + tagName, + preserveWhiteSpace + }); + + if (typeof content === 'string') { + let valueToInsert = Object(external_wp_richText_["create"])({ + html: content + }); // If the content should be multiline, we should process text + // separated by a line break as separate lines. + + valueToInsert = adjustLines(valueToInsert, !!multilineTag); + addActiveFormats(valueToInsert, value.activeFormats); + onChange(Object(external_wp_richText_["insert"])(value, valueToInsert)); + } else if (content.length > 0) { + if (onReplace && Object(external_wp_richText_["isEmpty"])(value)) { + onReplace(content, content.length - 1, -1); + } else { + splitValue({ + value, + pastedBlocks: content, + onReplace, + onSplit, + onSplitMiddle, + multilineTag + }); + } + } + } + + element.addEventListener('paste', _onPaste); + return () => { + element.removeEventListener('paste', _onPaste); + }; + }, []); +} +/** + * Normalizes a given string of HTML to remove the Windows specific "Fragment" comments + * and any preceeding and trailing whitespace. + * + * @param {string} html the html to be normalized + * @return {string} the normalized html + */ + +function removeWindowsFragments(html) { + const startReg = /.*/s; + const endReg = /.*/s; + return html.replace(startReg, '').replace(endReg, ''); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-input-rules.js +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + +function useInputRules(props) { + const { + __unstableMarkLastChangeAsPersistent, + __unstableMarkAutomaticChange + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const propsRef = Object(external_wp_element_["useRef"])(props); + propsRef.current = props; + return Object(external_wp_compose_["useRefEffect"])(element => { + function inputRule() { + const { + value, + onReplace + } = propsRef.current; + + if (!onReplace) { + return; + } + + const { + start, + text + } = value; + const characterBefore = text.slice(start - 1, start); // The character right before the caret must be a plain space. + + if (characterBefore !== ' ') { + return; + } + + const trimmedTextBefore = text.slice(0, start).trim(); + const prefixTransforms = Object(external_wp_blocks_["getBlockTransforms"])('from').filter(({ + type + }) => type === 'prefix'); + const transformation = Object(external_wp_blocks_["findTransform"])(prefixTransforms, ({ + prefix + }) => { + return trimmedTextBefore === prefix; + }); + + if (!transformation) { + return; + } + + const content = Object(external_wp_richText_["toHTMLString"])({ + value: Object(external_wp_richText_["slice"])(value, start, text.length) + }); + const block = transformation.transform(content); + onReplace([block]); + + __unstableMarkAutomaticChange(); + } + + function onInput(event) { + const { + inputType, + type + } = event; + const { + value, + onChange, + __unstableAllowPrefixTransformations, + formatTypes + } = propsRef.current; // Only run input rules when inserting text. + + if (inputType !== 'insertText' && type !== 'compositionend') { + return; + } + + if (__unstableAllowPrefixTransformations && inputRule) { + inputRule(); + } + + const transformed = formatTypes.reduce((accumlator, { + __unstableInputRule + }) => { + if (__unstableInputRule) { + accumlator = __unstableInputRule(accumlator); + } + + return accumlator; + }, value); + + if (transformed !== value) { + __unstableMarkLastChangeAsPersistent(); + + onChange({ ...transformed, + activeFormats: value.activeFormats + }); + + __unstableMarkAutomaticChange(); + } + } + + element.addEventListener('input', onInput); + element.addEventListener('compositionend', onInput); + return () => { + element.removeEventListener('input', onInput); + element.removeEventListener('compositionend', onInput); + }; + }, []); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-enter.js +/** + * WordPress dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + +function useEnter(props) { + const { + __unstableMarkAutomaticChange + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const propsRef = Object(external_wp_element_["useRef"])(props); + propsRef.current = props; + return Object(external_wp_compose_["useRefEffect"])(element => { + function onKeyDown(event) { + if (event.defaultPrevented) { + return; + } + + const { + removeEditorOnlyFormats, + value, + onReplace, + onSplit, + onSplitMiddle, + multilineTag, + onChange, + disableLineBreaks, + onSplitAtEnd + } = propsRef.current; + + if (event.keyCode !== external_wp_keycodes_["ENTER"]) { + return; + } + + event.preventDefault(); + const _value = { ...value + }; + _value.formats = removeEditorOnlyFormats(value); + const canSplit = onReplace && onSplit; + + if (onReplace) { + const transforms = Object(external_wp_blocks_["getBlockTransforms"])('from').filter(({ + type + }) => type === 'enter'); + const transformation = Object(external_wp_blocks_["findTransform"])(transforms, item => { + return item.regExp.test(_value.text); + }); + + if (transformation) { + onReplace([transformation.transform({ + content: _value.text + })]); + + __unstableMarkAutomaticChange(); + } + } + + if (multilineTag) { + if (event.shiftKey) { + if (!disableLineBreaks) { + onChange(Object(external_wp_richText_["insert"])(_value, '\n')); + } + } else if (canSplit && Object(external_wp_richText_["__unstableIsEmptyLine"])(_value)) { + splitValue({ + value: _value, + onReplace, + onSplit, + onSplitMiddle, + multilineTag + }); + } else { + onChange(Object(external_wp_richText_["__unstableInsertLineSeparator"])(_value)); + } + } else { + const { + text, + start, + end + } = _value; + const canSplitAtEnd = onSplitAtEnd && start === end && end === text.length; + + if (event.shiftKey || !canSplit && !canSplitAtEnd) { + if (!disableLineBreaks) { + onChange(Object(external_wp_richText_["insert"])(_value, '\n')); + } + } else if (!canSplit && canSplitAtEnd) { + onSplitAtEnd(); + } else if (canSplit) { + splitValue({ + value: _value, + onReplace, + onSplit, + onSplitMiddle, + multilineTag + }); + } + } + } + + element.addEventListener('keydown', onKeyDown); + return () => { + element.removeEventListener('keydown', onKeyDown); + }; + }, []); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-format-types.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + +function formatTypesSelector(select) { + return select(external_wp_richText_["store"]).getFormatTypes(); +} +/** + * Set of all interactive content tags. + * + * @see https://html.spec.whatwg.org/multipage/dom.html#interactive-content + */ + + +const interactiveContentTags = new Set(['a', 'audio', 'button', 'details', 'embed', 'iframe', 'input', 'label', 'select', 'textarea', 'video']); +/** + * This hook provides RichText with the `formatTypes` and its derived props from + * experimental format type settings. + * + * @param {Object} $0 Options + * @param {string} $0.clientId Block client ID. + * @param {string} $0.identifier Block attribute. + * @param {boolean} $0.withoutInteractiveFormatting Whether to clean the interactive formattings or not. + * @param {Array} $0.allowedFormats Allowed formats + */ + +function useFormatTypes({ + clientId, + identifier, + withoutInteractiveFormatting, + allowedFormats +}) { + const allFormatTypes = Object(external_wp_data_["useSelect"])(formatTypesSelector, []); + const formatTypes = Object(external_wp_element_["useMemo"])(() => { + return allFormatTypes.filter(({ + name, + tagName + }) => { + if (allowedFormats && !allowedFormats.includes(name)) { + return false; + } + + if (withoutInteractiveFormatting && interactiveContentTags.has(tagName)) { + return false; + } + + return true; + }); + }, [allFormatTypes, allowedFormats, interactiveContentTags]); + const keyedSelected = Object(external_wp_data_["useSelect"])(select => formatTypes.reduce((accumulator, type) => { + if (type.__experimentalGetPropsForEditableTreePreparation) { + accumulator[type.name] = type.__experimentalGetPropsForEditableTreePreparation(select, { + richTextIdentifier: identifier, + blockClientId: clientId + }); + } + + return accumulator; + }, {}), [formatTypes, clientId, identifier]); + const dispatch = Object(external_wp_data_["useDispatch"])(); + const prepareHandlers = []; + const valueHandlers = []; + const changeHandlers = []; + const dependencies = []; + formatTypes.forEach(type => { + if (type.__experimentalCreatePrepareEditableTree) { + const selected = keyedSelected[type.name]; + + const handler = type.__experimentalCreatePrepareEditableTree(selected, { + richTextIdentifier: identifier, + blockClientId: clientId + }); + + if (type.__experimentalCreateOnChangeEditableValue) { + valueHandlers.push(handler); + } else { + prepareHandlers.push(handler); + } + + for (const key in selected) { + dependencies.push(selected[key]); + } + } + + if (type.__experimentalCreateOnChangeEditableValue) { + let dispatchers = {}; + + if (type.__experimentalGetPropsForEditableTreeChangeHandler) { + dispatchers = type.__experimentalGetPropsForEditableTreeChangeHandler(dispatch, { + richTextIdentifier: identifier, + blockClientId: clientId + }); + } + + changeHandlers.push(type.__experimentalCreateOnChangeEditableValue({ ...(keyedSelected[type.name] || {}), + ...dispatchers + }, { + richTextIdentifier: identifier, + blockClientId: clientId + })); + } + }); + return { + formatTypes, + prepareHandlers, + valueHandlers, + changeHandlers, + dependencies + }; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-remove-browser-shortcuts.js +/** + * WordPress dependencies + */ + + +/** + * Hook to prevent default behaviors for key combinations otherwise handled + * internally by RichText. + * + * @return {import('react').RefObject} The component to be rendered. + */ + +function useRemoveBrowserShortcuts() { + return Object(external_wp_compose_["useRefEffect"])(node => { + function onKeydown(event) { + if (external_wp_keycodes_["isKeyboardEvent"].primary(event, 'z') || external_wp_keycodes_["isKeyboardEvent"].primary(event, 'y') || external_wp_keycodes_["isKeyboardEvent"].primaryShift(event, 'z')) { + event.preventDefault(); + } + } + + node.addEventListener('keydown', onKeydown); + return () => { + node.addEventListener('keydown', onKeydown); + }; + }, []); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-shortcuts.js +/** + * WordPress dependencies + */ + +function useShortcuts(keyboardShortcuts) { + return Object(external_wp_compose_["useRefEffect"])(element => { + function onKeyDown(event) { + for (const keyboardShortcut of keyboardShortcuts.current) { + keyboardShortcut(event); + } + } + + element.addEventListener('keydown', onKeyDown); + return () => { + element.removeEventListener('keydown', onKeyDown); + }; + }, []); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-input-events.js +/** + * WordPress dependencies + */ + +function useInputEvents(inputEvents) { + return Object(external_wp_compose_["useRefEffect"])(element => { + function onInput(event) { + for (const keyboardShortcut of inputEvents.current) { + keyboardShortcut(event); + } + } + + element.addEventListener('input', onInput); + return () => { + element.removeEventListener('input', onInput); + }; + }, []); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/format-edit.js + + +/** + * WordPress dependencies + */ + +/** + * External dependencies + */ + + +function FormatEdit({ + formatTypes, + onChange, + onFocus, + value, + forwardedRef +}) { + return formatTypes.map(settings => { + const { + name, + edit: Edit + } = settings; + + if (!Edit) { + return null; + } + + const activeFormat = Object(external_wp_richText_["getActiveFormat"])(value, name); + let isActive = activeFormat !== undefined; + const activeObject = Object(external_wp_richText_["getActiveObject"])(value); + const isObjectActive = activeObject !== undefined && activeObject.type === name; // Edge case: un-collapsed link formats. + // If there is a missing link format at either end of the selection + // then we shouldn't show the Edit UI because the selection has exceeded + // the bounds of the link format. + // Also if the format objects don't match then we're dealing with two separate + // links so we should not allow the link to be modified over the top. + + if (name === 'core/link' && !Object(external_wp_richText_["isCollapsed"])(value)) { + const formats = value.formats; + const linkFormatAtStart = Object(external_lodash_["find"])(formats[value.start], { + type: 'core/link' + }); + const linkFormatAtEnd = Object(external_lodash_["find"])(formats[value.end - 1], { + type: 'core/link' + }); + + if (!linkFormatAtStart || !linkFormatAtEnd || linkFormatAtStart !== linkFormatAtEnd) { + isActive = false; + } + } + + return Object(external_wp_element_["createElement"])(Edit, { + key: name, + isActive: isActive, + activeAttributes: isActive ? activeFormat.attributes || {} : {}, + isObjectActive: isObjectActive, + activeObjectAttributes: isObjectActive ? activeObject.attributes || {} : {}, + value: value, + onChange: onChange, + onFocus: onFocus, + contentRef: forwardedRef + }); + }); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/index.js + + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + + + +/** + * Internal dependencies + */ + + + + + + + + + + + + + + + + + +const keyboardShortcutContext = Object(external_wp_element_["createContext"])(); +const inputEventContext = Object(external_wp_element_["createContext"])(); +/** + * Removes props used for the native version of RichText so that they are not + * passed to the DOM element and log warnings. + * + * @param {Object} props Props to filter. + * + * @return {Object} Filtered props. + */ + +function removeNativeProps(props) { + return Object(external_lodash_["omit"])(props, ['__unstableMobileNoFocusOnMount', 'deleteEnter', 'placeholderTextColor', 'textAlign', 'selectionColor', 'tagsToEliminate', 'rootTagsToEliminate', 'disableEditingMenu', 'fontSize', 'fontFamily', 'fontWeight', 'fontStyle', 'minWidth', 'maxWidth', 'setRef']); +} + +function RichTextWrapper({ + children, + tagName = 'div', + value: originalValue = '', + onChange: originalOnChange, + isSelected: originalIsSelected, + multiline, + inlineToolbar, + wrapperClassName, + autocompleters, + onReplace, + placeholder, + allowedFormats, + formattingControls, + withoutInteractiveFormatting, + onRemove, + onMerge, + onSplit, + __unstableOnSplitAtEnd: onSplitAtEnd, + __unstableOnSplitMiddle: onSplitMiddle, + identifier, + preserveWhiteSpace, + __unstablePastePlainText: pastePlainText, + __unstableEmbedURLOnPaste, + __unstableDisableFormats: disableFormats, + disableLineBreaks, + unstableOnFocus, + __unstableAllowPrefixTransformations, + ...props +}, forwardedRef) { + const instanceId = Object(external_wp_compose_["useInstanceId"])(RichTextWrapper); + identifier = identifier || instanceId; + props = removeNativeProps(props); + const anchorRef = Object(external_wp_element_["useRef"])(); + const { + clientId + } = Object(context["c" /* useBlockEditContext */])(); + + const selector = select => { + const { + getSelectionStart, + getSelectionEnd, + isMultiSelecting, + hasMultiSelection + } = select(store["a" /* store */]); + const selectionStart = getSelectionStart(); + const selectionEnd = getSelectionEnd(); + let isSelected; + + if (originalIsSelected === undefined) { + isSelected = selectionStart.clientId === clientId && selectionStart.attributeKey === identifier; + } else if (originalIsSelected) { + isSelected = selectionStart.clientId === clientId; + } + + return { + selectionStart: isSelected ? selectionStart.offset : undefined, + selectionEnd: isSelected ? selectionEnd.offset : undefined, + isSelected, + disabled: isMultiSelecting() || hasMultiSelection() + }; + }; // 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, + disabled + } = Object(external_wp_data_["useSelect"])(selector); + const { + selectionChange + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const multilineTag = getMultilineTag(multiline); + const adjustedAllowedFormats = getAllowedFormats({ + allowedFormats, + formattingControls, + disableFormats + }); + const hasFormats = !adjustedAllowedFormats || adjustedAllowedFormats.length > 0; + let adjustedValue = originalValue; + let adjustedOnChange = originalOnChange; // Handle deprecated format. + + if (Array.isArray(originalValue)) { + adjustedValue = external_wp_blocks_["children"].toHTML(originalValue); + + adjustedOnChange = newValue => originalOnChange(external_wp_blocks_["children"].fromDOM(Object(external_wp_richText_["__unstableCreateElement"])(document, newValue).childNodes)); + } + + const onSelectionChange = Object(external_wp_element_["useCallback"])((start, end) => { + selectionChange(clientId, identifier, start, end); + }, [clientId, identifier]); + const { + formatTypes, + prepareHandlers, + valueHandlers, + changeHandlers, + dependencies + } = useFormatTypes({ + clientId, + identifier, + withoutInteractiveFormatting, + allowedFormats: adjustedAllowedFormats + }); + + function addEditorOnlyFormats(value) { + return valueHandlers.reduce((accumulator, fn) => fn(accumulator, value.text), value.formats); + } + + function removeEditorOnlyFormats(value) { + formatTypes.forEach(formatType => { + // Remove formats created by prepareEditableTree, because they are editor only. + if (formatType.__experimentalCreatePrepareEditableTree) { + value = Object(external_wp_richText_["removeFormat"])(value, formatType.name, 0, value.text.length); + } + }); + return value.formats; + } + + function addInvisibleFormats(value) { + return prepareHandlers.reduce((accumulator, fn) => fn(accumulator, value.text), value.formats); + } + + const { + value, + onChange, + ref: richTextRef + } = Object(external_wp_richText_["__unstableUseRichText"])({ + value: adjustedValue, + + onChange(html, { + __unstableFormats, + __unstableText + }) { + adjustedOnChange(html); + Object.values(changeHandlers).forEach(changeHandler => { + changeHandler(__unstableFormats, __unstableText); + }); + }, + + selectionStart, + selectionEnd, + onSelectionChange, + placeholder, + __unstableIsSelected: isSelected, + __unstableMultilineTag: multilineTag, + __unstableDisableFormats: disableFormats, + preserveWhiteSpace, + __unstableDependencies: [...dependencies, tagName], + __unstableAfterParse: addEditorOnlyFormats, + __unstableBeforeSerialize: removeEditorOnlyFormats, + __unstableAddInvisibleFormats: addInvisibleFormats + }); + const autocompleteProps = useBlockEditorAutocompleteProps({ + onReplace, + completers: autocompleters, + record: value, + onChange + }); + useCaretInFormat({ + value + }); + useMarkPersistent({ + html: adjustedValue, + value + }); + const keyboardShortcuts = Object(external_wp_element_["useRef"])(new Set()); + const inputEvents = Object(external_wp_element_["useRef"])(new Set()); + + function onKeyDown(event) { + const { + keyCode + } = event; + + if (event.defaultPrevented) { + return; + } + + if (keyCode === external_wp_keycodes_["DELETE"] || keyCode === external_wp_keycodes_["BACKSPACE"]) { + const { + start, + end, + text + } = value; + const isReverse = keyCode === external_wp_keycodes_["BACKSPACE"]; + const hasActiveFormats = value.activeFormats && !!value.activeFormats.length; // Only process delete if the key press occurs at an uncollapsed edge. + + if (!Object(external_wp_richText_["isCollapsed"])(value) || hasActiveFormats || isReverse && start !== 0 || !isReverse && end !== text.length) { + return; + } + + if (onMerge) { + onMerge(!isReverse); + } // Only handle remove on Backspace. This serves dual-purpose of being + // 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 && Object(external_wp_richText_["isEmpty"])(value) && isReverse) { + onRemove(!isReverse); + } + + event.preventDefault(); + } + } + + function onFocus() { + anchorRef.current.focus(); + } + + const TagName = tagName; + const content = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, isSelected && Object(external_wp_element_["createElement"])(keyboardShortcutContext.Provider, { + value: keyboardShortcuts + }, Object(external_wp_element_["createElement"])(inputEventContext.Provider, { + value: inputEvents + }, Object(external_wp_element_["createElement"])(external_wp_components_["Popover"].__unstableSlotNameProvider, { + value: "__unstable-block-tools-after" + }, children && children({ + value, + onChange, + onFocus + }), Object(external_wp_element_["createElement"])(FormatEdit, { + value: value, + onChange: onChange, + onFocus: onFocus, + formatTypes: formatTypes, + forwardedRef: anchorRef + })))), isSelected && hasFormats && Object(external_wp_element_["createElement"])(format_toolbar_container, { + inline: inlineToolbar, + anchorRef: anchorRef.current + }), Object(external_wp_element_["createElement"])(TagName // Overridable props. + , Object(esm_extends["a" /* default */])({ + role: "textbox", + "aria-multiline": true, + "aria-label": placeholder + }, props, autocompleteProps, { + ref: Object(external_wp_compose_["useMergeRefs"])([autocompleteProps.ref, props.ref, richTextRef, useInputRules({ + value, + onChange, + __unstableAllowPrefixTransformations, + formatTypes, + onReplace + }), useRemoveBrowserShortcuts(), useShortcuts(keyboardShortcuts), useInputEvents(inputEvents), useUndoAutomaticChange(), usePasteHandler({ + isSelected, + disableFormats, + onChange, + value, + formatTypes, + tagName, + onReplace, + onSplit, + onSplitMiddle, + __unstableEmbedURLOnPaste, + multilineTag, + preserveWhiteSpace, + pastePlainText + }), useEnter({ + removeEditorOnlyFormats, + value, + onReplace, + onSplit, + onSplitMiddle, + multilineTag, + onChange, + disableLineBreaks, + onSplitAtEnd + }), anchorRef, forwardedRef]) // Do not set the attribute if disabled. + , + contentEditable: disabled ? undefined : true, + suppressContentEditableWarning: !disabled, + className: classnames_default()('block-editor-rich-text__editable', props.className, 'rich-text'), + onFocus: unstableOnFocus, + onKeyDown: onKeyDown + }))); + + if (!wrapperClassName) { + return content; + } + + external_wp_deprecated_default()('wp.blockEditor.RichText wrapperClassName prop', { + since: '5.4', + alternative: 'className prop or create your own wrapper div' + }); + const className = classnames_default()('block-editor-rich-text', wrapperClassName); + return Object(external_wp_element_["createElement"])("div", { + className: className + }, content); +} + +const ForwardedRichTextContainer = Object(external_wp_element_["forwardRef"])(RichTextWrapper); + +ForwardedRichTextContainer.Content = ({ + value, + tagName: Tag, + multiline, + ...props +}) => { + // Handle deprecated `children` and `node` sources. + if (Array.isArray(value)) { + value = external_wp_blocks_["children"].toHTML(value); + } + + const MultilineTag = getMultilineTag(multiline); + + if (!value && MultilineTag) { + value = `<${MultilineTag}>`; + } + + const content = Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, value); + + if (Tag) { + return Object(external_wp_element_["createElement"])(Tag, Object(external_lodash_["omit"])(props, ['format']), content); + } + + return content; +}; + +ForwardedRichTextContainer.isEmpty = value => { + return !value || value.length === 0; +}; +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md + */ + + +/* harmony default export */ var rich_text = (ForwardedRichTextContainer); + + + + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/editable-text/index.js + + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + +const EditableText = Object(external_wp_element_["forwardRef"])((props, ref) => { + return Object(external_wp_element_["createElement"])(rich_text, Object(esm_extends["a" /* default */])({ + ref: ref + }, props, { + __unstableDisableFormats: true, + preserveWhiteSpace: true + })); +}); + +EditableText.Content = ({ + value = '', + tagName: Tag = 'div', + ...props +}) => { + return Object(external_wp_element_["createElement"])(Tag, props, value); +}; +/** + * Renders an editable text input in which text formatting is not allowed. + */ + + +/* harmony default export */ var editable_text = (EditableText); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/plain-text/index.js + + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/plain-text/README.md + */ + +const PlainText = Object(external_wp_element_["forwardRef"])(({ + __experimentalVersion, + ...props +}, ref) => { + if (__experimentalVersion === 2) { + return Object(external_wp_element_["createElement"])(editable_text, Object(esm_extends["a" /* default */])({ + ref: ref + }, props)); + } + + const { + className, + onChange, + ...remainingProps + } = props; + return Object(external_wp_element_["createElement"])(react_autosize_textarea_lib_default.a, Object(esm_extends["a" /* default */])({ + ref: ref, + className: classnames_default()('block-editor-plain-text', className), + onChange: event => onChange(event.target.value) + }, remainingProps)); +}); +/* harmony default export */ var plain_text = (PlainText); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/responsive-block-control/label.js + + +/** + * WordPress dependencies + */ + + + + +function ResponsiveBlockControlLabel({ + property, + viewport, + desc +}) { + const instanceId = Object(external_wp_compose_["useInstanceId"])(ResponsiveBlockControlLabel); + const accessibleLabel = desc || Object(external_wp_i18n_["sprintf"])( + /* translators: 1: property name. 2: viewport name. */ + Object(external_wp_i18n_["_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 Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("span", { + "aria-describedby": `rbc-desc-${instanceId}` + }, viewport.label), Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { + as: "span", + id: `rbc-desc-${instanceId}` + }, accessibleLabel)); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/responsive-block-control/index.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + +function ResponsiveBlockControl(props) { + const { + title, + property, + toggleLabel, + onIsResponsiveChange, + renderDefaultControl, + renderResponsiveControls, + isResponsive = false, + defaultLabel = { + id: 'all', + + /* translators: 'Label. Used to signify a layout property (eg: margin, padding) will apply uniformly to all screensizes.' */ + label: Object(external_wp_i18n_["__"])('All') + }, + viewports = [{ + id: 'small', + label: Object(external_wp_i18n_["__"])('Small screens') + }, { + id: 'medium', + label: Object(external_wp_i18n_["__"])('Medium screens') + }, { + id: 'large', + label: Object(external_wp_i18n_["__"])('Large screens') + }] + } = props; + + if (!title || !property || !renderDefaultControl) { + return null; + } + + const toggleControlLabel = toggleLabel || Object(external_wp_i18n_["sprintf"])( + /* translators: 'Toggle control label. Should the property be the same across all screen sizes or unique per screen size.'. %s property value for the control (eg: margin, padding...etc) */ + Object(external_wp_i18n_["__"])('Use the same %s on all screensizes.'), property); + /* translators: 'Help text for the responsive mode toggle control.' */ + + const toggleHelpText = Object(external_wp_i18n_["__"])('Toggle between using the same value for all screen sizes or using a unique value per screen size.'); + + const defaultControl = renderDefaultControl(Object(external_wp_element_["createElement"])(ResponsiveBlockControlLabel, { + property: property, + viewport: defaultLabel + }), defaultLabel); + + const defaultResponsiveControls = () => { + return viewports.map(viewport => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], { + key: viewport.id + }, renderDefaultControl(Object(external_wp_element_["createElement"])(ResponsiveBlockControlLabel, { + property: property, + viewport: viewport + }), viewport))); + }; + + return Object(external_wp_element_["createElement"])("fieldset", { + className: "block-editor-responsive-block-control" + }, Object(external_wp_element_["createElement"])("legend", { + className: "block-editor-responsive-block-control__title" + }, title), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-responsive-block-control__inner" + }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + className: "block-editor-responsive-block-control__toggle", + label: toggleControlLabel, + checked: !isResponsive, + onChange: onIsResponsiveChange, + help: toggleHelpText + }), Object(external_wp_element_["createElement"])("div", { + className: classnames_default()('block-editor-responsive-block-control__group', { + 'is-responsive': isResponsive + }) + }, !isResponsive && defaultControl, isResponsive && (renderResponsiveControls ? renderResponsiveControls(viewports) : defaultResponsiveControls())))); +} + +/* harmony default export */ var responsive_block_control = (ResponsiveBlockControl); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/shortcut.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +function RichTextShortcut({ + character, + type, + onUse +}) { + const keyboardShortcuts = Object(external_wp_element_["useContext"])(keyboardShortcutContext); + const onUseRef = Object(external_wp_element_["useRef"])(); + onUseRef.current = onUse; + Object(external_wp_element_["useEffect"])(() => { + function callback(event) { + if (external_wp_keycodes_["isKeyboardEvent"][type](event, character)) { + onUseRef.current(); + event.preventDefault(); + } + } + + keyboardShortcuts.current.add(callback); + return () => { + keyboardShortcuts.current.delete(callback); + }; + }, [character, type]); + return null; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/toolbar-button.js + + + +/** + * WordPress dependencies + */ + + +function RichTextToolbarButton({ + name, + shortcutType, + shortcutCharacter, + ...props +}) { + let shortcut; + let fillName = 'RichText.ToolbarControls'; + + if (name) { + fillName += `.${name}`; + } + + if (shortcutType && shortcutCharacter) { + shortcut = external_wp_keycodes_["displayShortcut"][shortcutType](shortcutCharacter); + } + + return Object(external_wp_element_["createElement"])(external_wp_components_["Fill"], { + name: fillName + }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], Object(esm_extends["a" /* default */])({}, props, { + shortcut: shortcut + }))); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/input-event.js +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + +function __unstableRichTextInputEvent({ + inputType, + onInput +}) { + const callbacks = Object(external_wp_element_["useContext"])(inputEventContext); + const onInputRef = Object(external_wp_element_["useRef"])(); + onInputRef.current = onInput; + Object(external_wp_element_["useEffect"])(() => { + function callback(event) { + if (event.inputType === inputType) { + onInputRef.current(); + event.preventDefault(); + } + } + + callbacks.current.add(callback); + return () => { + callbacks.current.delete(callback); + }; + }, [inputType]); + return null; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/tool-selector/index.js + + + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + +const selectIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + width: "24", + height: "24", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_components_["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) { + const isNavigationTool = Object(external_wp_data_["useSelect"])(select => select(store["a" /* store */]).isNavigationMode(), []); + const { + setNavigationMode + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + + const onSwitchMode = mode => { + setNavigationMode(mode === 'edit' ? false : true); + }; + + return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { + renderToggle: ({ + isOpen, + onToggle + }) => Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({}, props, { + ref: ref, + icon: isNavigationTool ? selectIcon : edit["a" /* default */], + "aria-expanded": isOpen, + "aria-haspopup": "true", + onClick: onToggle + /* translators: button label text should, if possible, be under 16 characters. */ + , + label: Object(external_wp_i18n_["__"])('Tools') + })), + position: "bottom right", + renderContent: () => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["NavigableMenu"], { + role: "menu", + "aria-label": Object(external_wp_i18n_["__"])('Tools') + }, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItemsChoice"], { + value: isNavigationTool ? 'select' : 'edit', + onSelect: onSwitchMode, + choices: [{ + value: 'edit', + label: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { + icon: edit["a" /* default */] + }), Object(external_wp_i18n_["__"])('Edit')) + }, { + value: 'select', + label: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, selectIcon, Object(external_wp_i18n_["__"])('Select')) + }] + })), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-tool-selector__help" + }, Object(external_wp_i18n_["__"])('Tools provide different interactions for selecting, navigating, and editing blocks. Toggle between select and edit by pressing Escape and Enter.'))) + }); +} + +/* harmony default export */ var tool_selector = (Object(external_wp_element_["forwardRef"])(ToolSelector)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/unit-control/index.js + + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + +function UnitControl({ + units: unitsProp, + ...props +}) { + const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ + availableUnits: Object(use_setting["a" /* default */])('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'], + units: unitsProp + }); + return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalUnitControl"], Object(esm_extends["a" /* default */])({ + units: units + }, props)); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/link.js +var library_link = __webpack_require__("Bpkj"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/arrow-left.js +var arrow_left = __webpack_require__("cjQ8"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-input/button.js + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + +class button_URLInputButton extends external_wp_element_["Component"] { + constructor() { + super(...arguments); + this.toggle = this.toggle.bind(this); + this.submitLink = this.submitLink.bind(this); + this.state = { + expanded: false + }; + } + + toggle() { + this.setState({ + expanded: !this.state.expanded + }); + } + + submitLink(event) { + event.preventDefault(); + this.toggle(); + } + + render() { + const { + url, + onChange + } = this.props; + const { + expanded + } = this.state; + const buttonLabel = url ? Object(external_wp_i18n_["__"])('Edit link') : Object(external_wp_i18n_["__"])('Insert link'); + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-url-input__button" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + icon: library_link["a" /* default */], + label: buttonLabel, + onClick: this.toggle, + className: "components-toolbar__control", + isPressed: !!url + }), expanded && Object(external_wp_element_["createElement"])("form", { + className: "block-editor-url-input__button-modal", + onSubmit: this.submitLink + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-url-input__button-modal-line" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + className: "block-editor-url-input__back", + icon: arrow_left["a" /* default */], + label: Object(external_wp_i18n_["__"])('Close'), + onClick: this.toggle + }), Object(external_wp_element_["createElement"])(url_input, { + value: url || '', + onChange: onChange + }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + icon: keyboard_return["a" /* default */], + label: Object(external_wp_i18n_["__"])('Submit'), + type: "submit" + })))); + } + +} +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/url-input/README.md + */ + + +/* harmony default export */ var url_input_button = (button_URLInputButton); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close.js +var library_close = __webpack_require__("w95h"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-popover/image-url-input-ui.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + +const LINK_DESTINATION_NONE = 'none'; +const LINK_DESTINATION_CUSTOM = 'custom'; +const LINK_DESTINATION_MEDIA = 'media'; +const LINK_DESTINATION_ATTACHMENT = 'attachment'; +const NEW_TAB_REL = ['noreferrer', 'noopener']; +const image_url_input_ui_icon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M0,0h24v24H0V0z", + fill: "none" +}), Object(external_wp_element_["createElement"])(external_wp_components_["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" +}), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "m14.14 11.86l-3 3.87-2.14-2.59-3 3.86h12l-3.86-5.14z" +})); + +const ImageURLInputUI = ({ + linkDestination, + onChangeUrl, + url, + mediaType = 'image', + mediaUrl, + mediaLink, + linkTarget, + linkClass, + rel +}) => { + const [isOpen, setIsOpen] = Object(external_wp_element_["useState"])(false); + const openLinkUI = Object(external_wp_element_["useCallback"])(() => { + setIsOpen(true); + }); + const [isEditingLink, setIsEditingLink] = Object(external_wp_element_["useState"])(false); + const [urlInput, setUrlInput] = Object(external_wp_element_["useState"])(null); + const autocompleteRef = Object(external_wp_element_["useRef"])(null); + const startEditLink = Object(external_wp_element_["useCallback"])(() => { + if (linkDestination === LINK_DESTINATION_MEDIA || linkDestination === LINK_DESTINATION_ATTACHMENT) { + setUrlInput(''); + } + + setIsEditingLink(true); + }); + const stopEditLink = Object(external_wp_element_["useCallback"])(() => { + setIsEditingLink(false); + }); + const closeLinkUI = Object(external_wp_element_["useCallback"])(() => { + setUrlInput(null); + stopEditLink(); + setIsOpen(false); + }); + + const removeNewTabRel = currentRel => { + let newRel = currentRel; + + if (currentRel !== undefined && !Object(external_lodash_["isEmpty"])(newRel)) { + if (!Object(external_lodash_["isEmpty"])(newRel)) { + Object(external_lodash_["each"])(NEW_TAB_REL, relVal => { + const regExp = new RegExp('\\b' + relVal + '\\b', 'gi'); + newRel = newRel.replace(regExp, ''); + }); // Only trim if NEW_TAB_REL values was replaced. + + if (newRel !== currentRel) { + newRel = newRel.trim(); + } + + if (Object(external_lodash_["isEmpty"])(newRel)) { + newRel = undefined; + } + } + } + + return newRel; + }; + + const getUpdatedLinkTargetSettings = value => { + const newLinkTarget = value ? '_blank' : undefined; + let updatedRel; + + if (!newLinkTarget && !rel) { + updatedRel = undefined; + } else { + updatedRel = removeNewTabRel(rel); + } + + return { + linkTarget: newLinkTarget, + rel: updatedRel + }; + }; + + const onFocusOutside = Object(external_wp_element_["useCallback"])(() => { + return event => { + // The autocomplete suggestions list renders in a separate popover (in a portal), + // so onFocusOutside fails to detect that a click on a suggestion occurred in the + // LinkContainer. Detect clicks on autocomplete suggestions using a ref here, and + // return to avoid the popover being closed. + const autocompleteElement = autocompleteRef.current; + + if (autocompleteElement && autocompleteElement.contains(event.target)) { + return; + } + + setIsOpen(false); + setUrlInput(null); + stopEditLink(); + }; + }); + const onSubmitLinkChange = Object(external_wp_element_["useCallback"])(() => { + return event => { + if (urlInput) { + var _getLinkDestinations$; + + // It is possible the entered URL actually matches a named link destination. + // This check will ensure our link destination is correct. + const selectedDestination = ((_getLinkDestinations$ = getLinkDestinations().find(destination => destination.url === urlInput)) === null || _getLinkDestinations$ === void 0 ? void 0 : _getLinkDestinations$.linkDestination) || LINK_DESTINATION_CUSTOM; + onChangeUrl({ + href: urlInput, + linkDestination: selectedDestination + }); + } + + stopEditLink(); + setUrlInput(null); + event.preventDefault(); + }; + }); + const onLinkRemove = Object(external_wp_element_["useCallback"])(() => { + onChangeUrl({ + linkDestination: LINK_DESTINATION_NONE, + href: '' + }); + }); + + const getLinkDestinations = () => { + const linkDestinations = [{ + linkDestination: LINK_DESTINATION_MEDIA, + title: Object(external_wp_i18n_["__"])('Media File'), + url: mediaType === 'image' ? mediaUrl : undefined, + icon: image_url_input_ui_icon + }]; + + if (mediaType === 'image' && mediaLink) { + linkDestinations.push({ + linkDestination: LINK_DESTINATION_ATTACHMENT, + title: Object(external_wp_i18n_["__"])('Attachment Page'), + url: mediaType === 'image' ? mediaLink : undefined, + icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M0 0h24v24H0V0z", + fill: "none" + }), Object(external_wp_element_["createElement"])(external_wp_components_["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" + })) + }); + } + + return linkDestinations; + }; + + const onSetHref = value => { + const linkDestinations = getLinkDestinations(); + let linkDestinationInput; + + if (!value) { + linkDestinationInput = LINK_DESTINATION_NONE; + } else { + linkDestinationInput = (Object(external_lodash_["find"])(linkDestinations, destination => { + return destination.url === value; + }) || { + linkDestination: LINK_DESTINATION_CUSTOM + }).linkDestination; + } + + onChangeUrl({ + linkDestination: linkDestinationInput, + href: value + }); + }; + + const onSetNewTab = value => { + const updatedLinkTarget = getUpdatedLinkTargetSettings(value); + onChangeUrl(updatedLinkTarget); + }; + + const onSetLinkRel = value => { + onChangeUrl({ + rel: value + }); + }; + + const onSetLinkClass = value => { + onChangeUrl({ + linkClass: value + }); + }; + + const advancedOptions = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Open in new tab'), + onChange: onSetNewTab, + checked: linkTarget === '_blank' + }), Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { + label: Object(external_wp_i18n_["__"])('Link Rel'), + value: removeNewTabRel(rel) || '', + onChange: onSetLinkRel + }), Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { + label: Object(external_wp_i18n_["__"])('Link CSS Class'), + value: linkClass || '', + onChange: onSetLinkClass + })); + const linkEditorValue = urlInput !== null ? urlInput : url; + const urlLabel = (Object(external_lodash_["find"])(getLinkDestinations(), ['linkDestination', linkDestination]) || {}).title; + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + icon: library_link["a" /* default */], + className: "components-toolbar__control", + label: url ? Object(external_wp_i18n_["__"])('Edit link') : Object(external_wp_i18n_["__"])('Insert link'), + "aria-expanded": isOpen, + onClick: openLinkUI + }), isOpen && Object(external_wp_element_["createElement"])(url_popover, { + onFocusOutside: onFocusOutside(), + onClose: closeLinkUI, + renderSettings: () => advancedOptions, + additionalControls: !linkEditorValue && Object(external_wp_element_["createElement"])(external_wp_components_["NavigableMenu"], null, Object(external_lodash_["map"])(getLinkDestinations(), link => Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + key: link.linkDestination, + icon: link.icon, + onClick: () => { + setUrlInput(null); + onSetHref(link.url); + stopEditLink(); + } + }, link.title))) + }, (!url || isEditingLink) && Object(external_wp_element_["createElement"])(url_popover.LinkEditor, { + className: "block-editor-format-toolbar__link-container-content", + value: linkEditorValue, + onChangeInputValue: setUrlInput, + onSubmit: onSubmitLinkChange(), + autocompleteRef: autocompleteRef + }), url && !isEditingLink && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(url_popover.LinkViewer, { + className: "block-editor-format-toolbar__link-container-content", + url: url, + onEditLinkClick: startEditLink, + urlLabel: urlLabel + }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + icon: library_close["a" /* default */], + label: Object(external_wp_i18n_["__"])('Remove link'), + onClick: onLinkRemove + })))); +}; + + + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/block-settings-menu-first-item.js +var block_settings_menu_first_item = __webpack_require__("Jyyd"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-menu-extension/index.js +var inserter_menu_extension = __webpack_require__("mlss"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/preview-options/index.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +function PreviewOptions({ + children, + className, + isEnabled = true, + deviceType, + setDeviceType +}) { + const isMobile = Object(external_wp_compose_["useViewportMatch"])('small', '<'); + if (isMobile) return null; + const popoverProps = { + className: classnames_default()(className, 'block-editor-post-preview__dropdown-content'), + position: 'bottom left' + }; + const toggleProps = { + variant: 'tertiary', + className: 'block-editor-post-preview__button-toggle', + disabled: !isEnabled, + + /* translators: button label text should, if possible, be under 16 characters. */ + children: Object(external_wp_i18n_["__"])('Preview') + }; + return Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { + className: "block-editor-post-preview__dropdown", + popoverProps: popoverProps, + toggleProps: toggleProps, + icon: null + }, () => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + className: "block-editor-post-preview__button-resize", + onClick: () => setDeviceType('Desktop'), + icon: deviceType === 'Desktop' && check["a" /* default */] + }, Object(external_wp_i18n_["__"])('Desktop')), Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + className: "block-editor-post-preview__button-resize", + onClick: () => setDeviceType('Tablet'), + icon: deviceType === 'Tablet' && check["a" /* default */] + }, Object(external_wp_i18n_["__"])('Tablet')), Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + className: "block-editor-post-preview__button-resize", + onClick: () => setDeviceType('Mobile'), + icon: deviceType === 'Mobile' && check["a" /* default */] + }, Object(external_wp_i18n_["__"])('Mobile'))), children)); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-resize-canvas/index.js +/** + * WordPress dependencies + */ + +/** + * Function to resize the editor window. + * + * @param {string} deviceType Used for determining the size of the container (e.g. Desktop, Tablet, Mobile) + * + * @return {Object} Inline styles to be added to resizable container. + */ + +function useResizeCanvas(deviceType) { + const [actualWidth, updateActualWidth] = Object(external_wp_element_["useState"])(window.innerWidth); + Object(external_wp_element_["useEffect"])(() => { + if (deviceType === 'Desktop') { + return; + } + + const resizeListener = () => updateActualWidth(window.innerWidth); + + window.addEventListener('resize', resizeListener); + return () => { + window.removeEventListener('resize', resizeListener); + }; + }, [deviceType]); + + const getCanvasWidth = device => { + let deviceWidth; + + switch (device) { + case 'Tablet': + deviceWidth = 780; + break; + + case 'Mobile': + deviceWidth = 360; + break; + + default: + return null; + } + + return deviceWidth < actualWidth ? deviceWidth : actualWidth; + }; + + const marginValue = () => window.innerHeight < 800 ? 36 : 72; + + const contentInlineStyles = device => { + const height = device === 'Mobile' ? '768px' : '1024px'; + + switch (device) { + case 'Tablet': + case 'Mobile': + return { + width: getCanvasWidth(device), + margin: marginValue() + 'px auto', + height, + borderRadius: '2px 2px 2px 2px', + border: '1px solid #ddd', + overflowY: 'auto' + }; + + default: + return null; + } + }; + + return contentInlineStyles(deviceType); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-block-refs.js +var use_block_refs = __webpack_require__("PKbb"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/skip-to-selected-block/index.js + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +const SkipToSelectedBlock = ({ + selectedBlockClientId +}) => { + const ref = Object(use_block_refs["b" /* __unstableUseBlockRef */])(selectedBlockClientId); + + const onClick = () => { + ref.current.focus(); + }; + + return selectedBlockClientId ? Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + variant: "secondary", + className: "block-editor-skip-to-selected-block", + onClick: onClick + }, Object(external_wp_i18n_["__"])('Skip to the selected block')) : null; +}; + +/* harmony default export */ var skip_to_selected_block = (Object(external_wp_data_["withSelect"])(select => { + return { + selectedBlockClientId: select(store["a" /* store */]).getBlockSelectionStart() + }; +})(SkipToSelectedBlock)); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-card/index.js +var block_card = __webpack_require__("GvwK"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-styles/index.js + 1 modules +var block_styles = __webpack_require__("7NR9"); + +// EXTERNAL MODULE: external ["wp","wordcount"] +var external_wp_wordcount_ = __webpack_require__("7fqt"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/stack.js +var stack = __webpack_require__("wzfx"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/multi-selection-inspector/index.js + + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + +function MultiSelectionInspector({ + blocks +}) { + const words = Object(external_wp_wordcount_["count"])(Object(external_wp_blocks_["serialize"])(blocks), 'words'); + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-multi-selection-inspector__card" + }, Object(external_wp_element_["createElement"])(block_icon["a" /* default */], { + icon: stack["a" /* default */], + showColors: true + }), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-multi-selection-inspector__card-content" + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-multi-selection-inspector__card-title" + }, Object(external_wp_i18n_["sprintf"])( + /* translators: %d: number of blocks */ + Object(external_wp_i18n_["_n"])('%d block', '%d blocks', blocks.length), blocks.length)), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-multi-selection-inspector__card-description" + }, Object(external_wp_i18n_["sprintf"])( + /* translators: %d: number of words */ + Object(external_wp_i18n_["_n"])('%d word', '%d words', words), words)))); +} + +/* harmony default export */ var multi_selection_inspector = (Object(external_wp_data_["withSelect"])(select => { + const { + getMultiSelectedBlocks + } = select(store["a" /* store */]); + return { + blocks: getMultiSelectedBlocks() + }; +})(MultiSelectionInspector)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/default-style-picker/index.js + + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + +function DefaultStylePicker({ + blockName +}) { + const { + preferredStyle, + onUpdatePreferredStyleVariations, + styles + } = Object(external_wp_data_["useSelect"])(select => { + var _preferredStyleVariat, _preferredStyleVariat2; + + const settings = select(store["a" /* store */]).getSettings(); + const preferredStyleVariations = settings.__experimentalPreferredStyleVariations; + return { + preferredStyle: preferredStyleVariations === null || preferredStyleVariations === void 0 ? void 0 : (_preferredStyleVariat = preferredStyleVariations.value) === null || _preferredStyleVariat === void 0 ? void 0 : _preferredStyleVariat[blockName], + onUpdatePreferredStyleVariations: (_preferredStyleVariat2 = preferredStyleVariations === null || preferredStyleVariations === void 0 ? void 0 : preferredStyleVariations.onChange) !== null && _preferredStyleVariat2 !== void 0 ? _preferredStyleVariat2 : null, + styles: select(external_wp_blocks_["store"]).getBlockStyles(blockName) + }; + }, [blockName]); + const selectOptions = Object(external_wp_element_["useMemo"])(() => [{ + label: Object(external_wp_i18n_["__"])('Not set'), + value: '' + }, ...styles.map(({ + label, + name + }) => ({ + label, + value: name + }))], [styles]); + const selectOnChange = Object(external_wp_element_["useCallback"])(blockStyle => { + onUpdatePreferredStyleVariations(blockName, blockStyle); + }, [blockName, onUpdatePreferredStyleVariations]); + return onUpdatePreferredStyleVariations && Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { + options: selectOptions, + value: preferredStyle || '', + label: Object(external_wp_i18n_["__"])('Default Style'), + onChange: selectOnChange + }); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-inspector/index.js + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + + + + + + + +const BlockInspector = ({ + showNoBlockSelectedMessage = true, + bubblesVirtually = true +}) => { + const { + count, + hasBlockStyles, + selectedBlockName, + selectedBlockClientId, + blockType + } = Object(external_wp_data_["useSelect"])(select => { + const { + getSelectedBlockClientId, + getSelectedBlockCount, + getBlockName + } = select(store["a" /* store */]); + const { + getBlockStyles + } = select(external_wp_blocks_["store"]); + + const _selectedBlockClientId = getSelectedBlockClientId(); + + const _selectedBlockName = _selectedBlockClientId && getBlockName(_selectedBlockClientId); + + const _blockType = _selectedBlockName && Object(external_wp_blocks_["getBlockType"])(_selectedBlockName); + + const blockStyles = _selectedBlockName && getBlockStyles(_selectedBlockName); + + return { + count: getSelectedBlockCount(), + selectedBlockClientId: _selectedBlockClientId, + selectedBlockName: _selectedBlockName, + blockType: _blockType, + hasBlockStyles: blockStyles && blockStyles.length > 0 + }; + }, []); + + if (count > 1) { + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-inspector" + }, Object(external_wp_element_["createElement"])(multi_selection_inspector, null), Object(external_wp_element_["createElement"])(inspector_controls["b" /* default */].Slot, { + bubblesVirtually: bubblesVirtually + })); + } + + const isSelectedBlockUnregistered = selectedBlockName === Object(external_wp_blocks_["getUnregisteredTypeHandlerName"])(); + /* + * If the selected block is of an unregistered type, avoid showing it as an actual selection + * because we want the user to focus on the unregistered block warning, not block settings. + */ + + if (!blockType || !selectedBlockClientId || isSelectedBlockUnregistered) { + if (showNoBlockSelectedMessage) { + return Object(external_wp_element_["createElement"])("span", { + className: "block-editor-block-inspector__no-blocks" + }, Object(external_wp_i18n_["__"])('No block selected.')); + } + + return null; + } + + return Object(external_wp_element_["createElement"])(BlockInspectorSingleBlock, { + clientId: selectedBlockClientId, + blockName: blockType.name, + hasBlockStyles: hasBlockStyles, + bubblesVirtually: bubblesVirtually + }); +}; + +const BlockInspectorSingleBlock = ({ + clientId, + blockName, + hasBlockStyles, + bubblesVirtually +}) => { + const blockInformation = Object(use_block_display_information["a" /* default */])(clientId); + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-inspector" + }, Object(external_wp_element_["createElement"])(block_card["a" /* default */], blockInformation), Object(external_wp_element_["createElement"])(components_block_variation_transforms, { + blockClientId: clientId + }), hasBlockStyles && Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { + title: Object(external_wp_i18n_["__"])('Styles') + }, Object(external_wp_element_["createElement"])(block_styles["a" /* default */], { + clientId: clientId + }), Object(external_wp_blocks_["hasBlockSupport"])(blockName, 'defaultStylePicker', true) && Object(external_wp_element_["createElement"])(DefaultStylePicker, { + blockName: blockName + }))), Object(external_wp_element_["createElement"])(inspector_controls["b" /* default */].Slot, { + bubblesVirtually: bubblesVirtually + }), Object(external_wp_element_["createElement"])(inspector_controls["b" /* default */].Slot, { + __experimentalGroup: "typography", + bubblesVirtually: bubblesVirtually, + label: Object(external_wp_i18n_["__"])('Typography') + }), Object(external_wp_element_["createElement"])(inspector_controls["b" /* default */].Slot, { + __experimentalGroup: "dimensions", + bubblesVirtually: bubblesVirtually, + label: Object(external_wp_i18n_["__"])('Dimensions') + }), Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(AdvancedControls, { + bubblesVirtually: bubblesVirtually + })), Object(external_wp_element_["createElement"])(skip_to_selected_block, { + key: "back" + })); +}; + +const AdvancedControls = ({ + bubblesVirtually +}) => { + const slot = Object(external_wp_components_["__experimentalUseSlot"])(inspector_controls["a" /* InspectorAdvancedControls */].slotName); + const hasFills = Boolean(slot.fills && slot.fills.length); + + if (!hasFills) { + return null; + } + + return Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { + className: "block-editor-block-inspector__advanced", + title: Object(external_wp_i18n_["__"])('Advanced'), + initialOpen: false + }, Object(external_wp_element_["createElement"])(inspector_controls["b" /* default */].Slot, { + __experimentalGroup: "advanced", + bubblesVirtually: bubblesVirtually + })); +}; + +/* harmony default export */ var block_inspector = (BlockInspector); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/index.js + 4 modules +var block_list = __webpack_require__("VyCT"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/index.js +var use_block_props = __webpack_require__("nlh6"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/layout.js +var block_list_layout = __webpack_require__("w8sn"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-mover/index.js +var block_mover = __webpack_require__("JygI"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-selection-clearer/index.js +var block_selection_clearer = __webpack_require__("zQI6"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/index.js +var block_settings_menu = __webpack_require__("U1WI"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu-controls/index.js + 2 modules +var block_settings_menu_controls = __webpack_require__("pXCJ"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-toolbar/index.js + 9 modules +var block_toolbar = __webpack_require__("+gtr"); + +// EXTERNAL MODULE: external ["wp","keyboardShortcuts"] +var external_wp_keyboardShortcuts_ = __webpack_require__("hF7m"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/insertion-point.js +var insertion_point = __webpack_require__("PS/H"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/block-popover.js + 1 modules +var block_popover = __webpack_require__("xCFn"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/block-contextual-toolbar.js +var block_contextual_toolbar = __webpack_require__("JUfZ"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/use-popover-scroll.js +var use_popover_scroll = __webpack_require__("2z9l"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/index.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + + + +/** + * 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 = Object(external_wp_compose_["useViewportMatch"])('medium'); + const hasFixedToolbar = Object(external_wp_data_["useSelect"])(select => select(store["a" /* store */]).getSettings().hasFixedToolbar, []); + const isMatch = Object(external_wp_keyboardShortcuts_["__unstableUseShortcutEventMatch"])(); + const { + getSelectedBlockClientIds, + getBlockRootClientId + } = Object(external_wp_data_["useSelect"])(store["a" /* store */]); + const { + duplicateBlocks, + removeBlocks, + insertAfterBlock, + insertBeforeBlock, + clearSelectedBlock, + moveBlocksUp, + moveBlocksDown + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + + function onKeyDown(event) { + if (isMatch('core/block-editor/move-up', event)) { + const clientIds = getSelectedBlockClientIds(); + + if (clientIds.length) { + event.preventDefault(); + const rootClientId = getBlockRootClientId(Object(external_lodash_["first"])(clientIds)); + moveBlocksUp(clientIds, rootClientId); + } + } else if (isMatch('core/block-editor/move-down', event)) { + const clientIds = getSelectedBlockClientIds(); + + if (clientIds.length) { + event.preventDefault(); + const rootClientId = getBlockRootClientId(Object(external_lodash_["first"])(clientIds)); + 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(Object(external_lodash_["last"])(clientIds)); + } + } else if (isMatch('core/block-editor/insert-before', event)) { + const clientIds = getSelectedBlockClientIds(); + + if (clientIds.length) { + event.preventDefault(); + insertBeforeBlock(Object(external_lodash_["first"])(clientIds)); + } + } else if (isMatch('core/block-editor/delete-multi-selection', event)) { + const clientIds = getSelectedBlockClientIds(); + + if (clientIds.length > 1) { + event.preventDefault(); + removeBlocks(clientIds); + } + } else if (isMatch('core/block-editor/unselect', event)) { + const clientIds = getSelectedBlockClientIds(); + + if (clientIds.length > 1) { + event.preventDefault(); + clearSelectedBlock(); + event.target.ownerDocument.defaultView.getSelection().removeAllRanges(); + } + } + } + + return (// eslint-disable-next-line jsx-a11y/no-static-element-interactions + Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, props, { + onKeyDown: onKeyDown + }), Object(external_wp_element_["createElement"])(insertion_point["b" /* default */], { + __unstableContentRef: __unstableContentRef + }, (hasFixedToolbar || !isLargeViewport) && Object(external_wp_element_["createElement"])(block_contextual_toolbar["a" /* default */], { + isFixed: true + }), Object(external_wp_element_["createElement"])(block_popover["a" /* default */], { + __unstableContentRef: __unstableContentRef + }), Object(external_wp_element_["createElement"])(external_wp_components_["Popover"].Slot, { + name: "block-toolbar", + ref: Object(use_popover_scroll["a" /* usePopoverScroll */])(__unstableContentRef) + }), children, Object(external_wp_element_["createElement"])(external_wp_components_["Popover"].Slot, { + name: "__unstable-block-tools-after", + ref: Object(use_popover_scroll["a" /* usePopoverScroll */])(__unstableContentRef) + }))) + ); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/copy-handler/index.js + 1 modules +var copy_handler = __webpack_require__("+0ps"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/default-block-appender/index.js +var default_block_appender = __webpack_require__("5L8O"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/editor-styles/index.js +var editor_styles = __webpack_require__("KyyN"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/index.js + 1 modules +var inserter = __webpack_require__("qrxh"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/menu.js + 10 modules +var menu = __webpack_require__("xZzQ"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/library.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + +function InserterLibrary({ + rootClientId, + clientId, + isAppender, + showInserterHelpPanel, + showMostUsedBlocks = false, + __experimentalInsertionIndex, + __experimentalFilterValue, + onSelect = external_lodash_["noop"], + shouldFocusBlock = false +}) { + const destinationRootClientId = Object(external_wp_data_["useSelect"])(select => { + const { + getBlockRootClientId + } = select(store["a" /* store */]); + return rootClientId || getBlockRootClientId(clientId) || undefined; + }, [clientId, rootClientId]); + return Object(external_wp_element_["createElement"])(menu["a" /* default */], { + onSelect: onSelect, + rootClientId: destinationRootClientId, + clientId: clientId, + isAppender: isAppender, + showInserterHelpPanel: showInserterHelpPanel, + showMostUsedBlocks: showMostUsedBlocks, + __experimentalInsertionIndex: __experimentalInsertionIndex, + __experimentalFilterValue: __experimentalFilterValue, + shouldFocusBlock: shouldFocusBlock + }); +} + +/* harmony default export */ var library = (InserterLibrary); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/keyboard-shortcuts/index.js +/** + * WordPress dependencies + */ + + + + + +function KeyboardShortcuts() { + return null; +} + +function KeyboardShortcutsRegister() { + // Registering the shortcuts + const { + registerShortcut + } = Object(external_wp_data_["useDispatch"])(external_wp_keyboardShortcuts_["store"]); + Object(external_wp_element_["useEffect"])(() => { + registerShortcut({ + name: 'core/block-editor/duplicate', + category: 'block', + description: Object(external_wp_i18n_["__"])('Duplicate the selected block(s).'), + keyCombination: { + modifier: 'primaryShift', + character: 'd' + } + }); + registerShortcut({ + name: 'core/block-editor/remove', + category: 'block', + description: Object(external_wp_i18n_["__"])('Remove the selected block(s).'), + keyCombination: { + modifier: 'access', + character: 'z' + } + }); + registerShortcut({ + name: 'core/block-editor/insert-before', + category: 'block', + description: Object(external_wp_i18n_["__"])('Insert a new block before the selected block(s).'), + keyCombination: { + modifier: 'primaryAlt', + character: 't' + } + }); + registerShortcut({ + name: 'core/block-editor/insert-after', + category: 'block', + description: Object(external_wp_i18n_["__"])('Insert a new block after the selected block(s).'), + keyCombination: { + modifier: 'primaryAlt', + character: 'y' + } + }); + registerShortcut({ + name: 'core/block-editor/delete-multi-selection', + category: 'block', + description: Object(external_wp_i18n_["__"])('Remove multiple selected blocks.'), + keyCombination: { + character: 'del' + }, + aliases: [{ + character: 'backspace' + }] + }); + registerShortcut({ + name: 'core/block-editor/select-all', + category: 'selection', + description: Object(external_wp_i18n_["__"])('Select all text when typing. Press again to select all blocks.'), + keyCombination: { + modifier: 'primary', + character: 'a' + } + }); + registerShortcut({ + name: 'core/block-editor/unselect', + category: 'selection', + description: Object(external_wp_i18n_["__"])('Clear selection.'), + keyCombination: { + character: 'escape' + } + }); + registerShortcut({ + name: 'core/block-editor/focus-toolbar', + category: 'global', + description: Object(external_wp_i18n_["__"])('Navigate to the nearest toolbar.'), + keyCombination: { + modifier: 'alt', + character: 'F10' + } + }); + registerShortcut({ + name: 'core/block-editor/move-up', + category: 'block', + description: Object(external_wp_i18n_["__"])('Move the selected block(s) up.'), + keyCombination: { + modifier: 'secondary', + character: 't' + } + }); + registerShortcut({ + name: 'core/block-editor/move-down', + category: 'block', + description: Object(external_wp_i18n_["__"])('Move the selected block(s) down.'), + keyCombination: { + modifier: 'secondary', + character: 'y' + } + }); + }, [registerShortcut]); + return null; +} + +KeyboardShortcuts.Register = KeyboardShortcutsRegister; +/* harmony default export */ var keyboard_shortcuts = (KeyboardShortcuts); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/selection-scroll-into-view/index.js +/** + * WordPress dependencies + */ + +/** + * Scrolls the multi block selection end into view if not in view already. This + * is important to do after selection by keyboard. + * + * @deprecated + */ + +function MultiSelectScrollIntoView() { + external_wp_deprecated_default()('wp.blockEditor.MultiSelectScrollIntoView', { + hint: 'This behaviour is now built-in.' + }); + return null; +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/navigable-toolbar/index.js +var navigable_toolbar = __webpack_require__("GkEL"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/observe-typing/index.js + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +/** + * Set of key codes upon which typing is to be initiated on a keydown event. + * + * @type {Set} + */ + +const KEY_DOWN_ELIGIBLE_KEY_CODES = new Set([external_wp_keycodes_["UP"], external_wp_keycodes_["RIGHT"], external_wp_keycodes_["DOWN"], external_wp_keycodes_["LEFT"], external_wp_keycodes_["ENTER"], external_wp_keycodes_["BACKSPACE"]]); +/** + * Returns true if a given keydown event can be inferred as intent to start + * typing, or false otherwise. A keydown is considered eligible if it is a + * text navigation without shift active. + * + * @param {KeyboardEvent} event Keydown event to test. + * + * @return {boolean} Whether event is eligible to start typing. + */ + +function isKeyDownEligibleForStartTyping(event) { + const { + keyCode, + shiftKey + } = event; + return !shiftKey && KEY_DOWN_ELIGIBLE_KEY_CODES.has(keyCode); +} +/** + * Removes the `isTyping` flag when the mouse moves in the document of the given + * element. + */ + + +function useMouseMoveTypingReset() { + const isTyping = Object(external_wp_data_["useSelect"])(select => select(store["a" /* store */]).isTyping(), []); + const { + stopTyping + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + return Object(external_wp_compose_["useRefEffect"])(node => { + if (!isTyping) { + return; + } + + const { + ownerDocument + } = node; + let lastClientX; + let lastClientY; + /** + * On mouse move, unset typing flag if user has moved cursor. + * + * @param {MouseEvent} event Mousemove event. + */ + + function stopTypingOnMouseMove(event) { + const { + clientX, + clientY + } = event; // We need to check that the mouse really moved because Safari + // triggers mousemove events when shift or ctrl are pressed. + + if (lastClientX && lastClientY && (lastClientX !== clientX || lastClientY !== clientY)) { + stopTyping(); + } + + lastClientX = clientX; + lastClientY = clientY; + } + + ownerDocument.addEventListener('mousemove', stopTypingOnMouseMove); + return () => { + ownerDocument.removeEventListener('mousemove', stopTypingOnMouseMove); + }; + }, [isTyping, stopTyping]); +} +/** + * Sets and removes the `isTyping` flag based on user actions: + * + * - Sets the flag if the user types within the given element. + * - Removes the flag when the user selects some text, focusses a non-text + * field, presses ESC or TAB, or moves the mouse in the document. + */ + +function useTypingObserver() { + const isTyping = Object(external_wp_data_["useSelect"])(select => select(store["a" /* store */]).isTyping()); + const { + startTyping, + stopTyping + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const ref1 = useMouseMoveTypingReset(); + const ref2 = Object(external_wp_compose_["useRefEffect"])(node => { + const { + ownerDocument + } = node; + const { + defaultView + } = ownerDocument; // Listeners to stop typing should only be added when typing. + // Listeners to start typing should only be added when not typing. + + if (isTyping) { + let timerId; + /** + * Stops typing when focus transitions to a non-text field element. + * + * @param {FocusEvent} event Focus event. + */ + + function stopTypingOnNonTextField(event) { + const { + target + } = event; // Since focus to a non-text field via arrow key will trigger + // before the keydown event, wait until after current stack + // before evaluating whether typing is to be stopped. Otherwise, + // typing will re-start. + + timerId = defaultView.setTimeout(() => { + if (!Object(external_wp_dom_["isTextField"])(target)) { + stopTyping(); + } + }); + } + /** + * Unsets typing flag if user presses Escape while typing flag is + * active. + * + * @param {KeyboardEvent} event Keypress or keydown event to + * interpret. + */ + + + function stopTypingOnEscapeKey(event) { + const { + keyCode + } = event; + + if (keyCode === external_wp_keycodes_["ESCAPE"] || keyCode === external_wp_keycodes_["TAB"]) { + stopTyping(); + } + } + /** + * On selection change, unset typing flag if user has made an + * uncollapsed (shift) selection. + */ + + + function stopTypingOnSelectionUncollapse() { + const selection = defaultView.getSelection(); + const isCollapsed = selection.rangeCount > 0 && selection.getRangeAt(0).collapsed; + + if (!isCollapsed) { + stopTyping(); + } + } + + node.addEventListener('focus', stopTypingOnNonTextField); + node.addEventListener('keydown', stopTypingOnEscapeKey); + ownerDocument.addEventListener('selectionchange', stopTypingOnSelectionUncollapse); + return () => { + defaultView.clearTimeout(timerId); + node.removeEventListener('focus', stopTypingOnNonTextField); + node.removeEventListener('keydown', stopTypingOnEscapeKey); + ownerDocument.removeEventListener('selectionchange', stopTypingOnSelectionUncollapse); + }; + } + /** + * Handles a keypress or keydown event to infer intention to start + * typing. + * + * @param {KeyboardEvent} event Keypress or keydown event to interpret. + */ + + + function startTypingInTextField(event) { + const { + type, + target + } = event; // Abort early if already typing, or key press is incurred outside a + // text field (e.g. arrow-ing through toolbar buttons). + // Ignore typing if outside the current DOM container + + if (!Object(external_wp_dom_["isTextField"])(target) || !node.contains(target)) { + return; + } // Special-case keydown because certain keys do not emit a keypress + // event. Conversely avoid keydown as the canonical event since + // there are many keydown which are explicitly not targeted for + // typing. + + + if (type === 'keydown' && !isKeyDownEligibleForStartTyping(event)) { + return; + } + + startTyping(); + } + + node.addEventListener('keypress', startTypingInTextField); + node.addEventListener('keydown', startTypingInTextField); + return () => { + node.removeEventListener('keypress', startTypingInTextField); + node.removeEventListener('keydown', startTypingInTextField); + }; + }, [isTyping, startTyping, stopTyping]); + return Object(external_wp_compose_["useMergeRefs"])([ref1, ref2]); +} + +function ObserveTyping({ + children +}) { + return Object(external_wp_element_["createElement"])("div", { + ref: useTypingObserver() + }, children); +} +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/observe-typing/README.md + */ + + +/* harmony default export */ var observe_typing = (ObserveTyping); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/preserve-scroll-in-reorder/index.js +/** + * WordPress dependencies + */ + +function PreserveScrollInReorder() { + external_wp_deprecated_default()('PreserveScrollInReorder component', { + since: '5.4', + hint: 'This behavior is now built-in the block list' + }); + return null; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/typewriter/index.js + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +const isIE = window.navigator.userAgent.indexOf('Trident') !== -1; +const arrowKeyCodes = new Set([external_wp_keycodes_["UP"], external_wp_keycodes_["DOWN"], external_wp_keycodes_["LEFT"], external_wp_keycodes_["RIGHT"]]); +const initialTriggerPercentage = 0.75; +function useTypewriter() { + const hasSelectedBlock = Object(external_wp_data_["useSelect"])(select => select(store["a" /* store */]).hasSelectedBlock(), []); + return Object(external_wp_compose_["useRefEffect"])(node => { + if (!hasSelectedBlock) { + return; + } + + const { + ownerDocument + } = node; + const { + defaultView + } = ownerDocument; + let scrollResizeRafId; + let onKeyDownRafId; + let caretRect; + + function onScrollResize() { + if (scrollResizeRafId) { + return; + } + + scrollResizeRafId = defaultView.requestAnimationFrame(() => { + computeCaretRectangle(); + scrollResizeRafId = null; + }); + } + + function onKeyDown(event) { + // Ensure the any remaining request is cancelled. + if (onKeyDownRafId) { + defaultView.cancelAnimationFrame(onKeyDownRafId); + } // Use an animation frame for a smooth result. + + + onKeyDownRafId = defaultView.requestAnimationFrame(() => { + maintainCaretPosition(event); + onKeyDownRafId = null; + }); + } + /** + * Maintains the scroll position after a selection change caused by a + * keyboard event. + * + * @param {KeyboardEvent} event Keyboard event. + */ + + + function maintainCaretPosition({ + keyCode + }) { + if (!isSelectionEligibleForScroll()) { + return; + } + + const currentCaretRect = Object(external_wp_dom_["computeCaretRect"])(defaultView); + + if (!currentCaretRect) { + return; + } // If for some reason there is no position set to be scrolled to, let + // this be the position to be scrolled to in the future. + + + if (!caretRect) { + caretRect = currentCaretRect; + return; + } // Even though enabling the typewriter effect for arrow keys results in + // a pleasant experience, it may not be the case for everyone, so, for + // now, let's disable it. + + + if (arrowKeyCodes.has(keyCode)) { + // Reset the caret position to maintain. + caretRect = currentCaretRect; + return; + } + + const diff = currentCaretRect.top - caretRect.top; + + if (diff === 0) { + return; + } + + const scrollContainer = Object(external_wp_dom_["getScrollContainer"])(node); // The page must be scrollable. + + if (!scrollContainer) { + return; + } + + const windowScroll = scrollContainer === ownerDocument.body; + const scrollY = windowScroll ? defaultView.scrollY : scrollContainer.scrollTop; + const scrollContainerY = windowScroll ? 0 : scrollContainer.getBoundingClientRect().top; + const relativeScrollPosition = windowScroll ? caretRect.top / defaultView.innerHeight : (caretRect.top - scrollContainerY) / (defaultView.innerHeight - scrollContainerY); // If the scroll position is at the start, the active editable element + // is the last one, and the caret is positioned within the initial + // trigger percentage of the page, do not scroll the page. + // The typewriter effect should not kick in until an empty page has been + // filled with the initial trigger percentage or the user scrolls + // intentionally down. + + if (scrollY === 0 && relativeScrollPosition < initialTriggerPercentage && isLastEditableNode()) { + // Reset the caret position to maintain. + caretRect = currentCaretRect; + return; + } + + const scrollContainerHeight = windowScroll ? defaultView.innerHeight : scrollContainer.clientHeight; // Abort if the target scroll position would scroll the caret out of + // view. + + if ( // The caret is under the lower fold. + caretRect.top + caretRect.height > scrollContainerY + scrollContainerHeight || // The caret is above the upper fold. + caretRect.top < scrollContainerY) { + // Reset the caret position to maintain. + caretRect = currentCaretRect; + return; + } + + if (windowScroll) { + defaultView.scrollBy(0, diff); + } else { + scrollContainer.scrollTop += diff; + } + } + /** + * Adds a `selectionchange` listener to reset the scroll position to be + * maintained. + */ + + + function addSelectionChangeListener() { + ownerDocument.addEventListener('selectionchange', computeCaretRectOnSelectionChange); + } + /** + * Resets the scroll position to be maintained during a `selectionchange` + * event. Also removes the listener, so it acts as a one-time listener. + */ + + + function computeCaretRectOnSelectionChange() { + ownerDocument.removeEventListener('selectionchange', computeCaretRectOnSelectionChange); + computeCaretRectangle(); + } + /** + * Resets the scroll position to be maintained. + */ + + + function computeCaretRectangle() { + if (isSelectionEligibleForScroll()) { + caretRect = Object(external_wp_dom_["computeCaretRect"])(defaultView); + } + } + /** + * Checks if the current situation is elegible for scroll: + * - There should be one and only one block selected. + * - The component must contain the selection. + * - The active element must be contenteditable. + */ + + + function isSelectionEligibleForScroll() { + return node.contains(ownerDocument.activeElement) && ownerDocument.activeElement.isContentEditable; + } + + function isLastEditableNode() { + const editableNodes = node.querySelectorAll('[contenteditable="true"]'); + const lastEditableNode = editableNodes[editableNodes.length - 1]; + return lastEditableNode === ownerDocument.activeElement; + } // When the user scrolls or resizes, the scroll position should be + // reset. + + + defaultView.addEventListener('scroll', onScrollResize, true); + defaultView.addEventListener('resize', onScrollResize, true); + node.addEventListener('keydown', onKeyDown); + node.addEventListener('keyup', maintainCaretPosition); + node.addEventListener('mousedown', addSelectionChangeListener); + node.addEventListener('touchstart', addSelectionChangeListener); + return () => { + defaultView.removeEventListener('scroll', onScrollResize, true); + defaultView.removeEventListener('resize', onScrollResize, true); + node.removeEventListener('keydown', onKeyDown); + node.removeEventListener('keyup', maintainCaretPosition); + node.removeEventListener('mousedown', addSelectionChangeListener); + node.removeEventListener('touchstart', addSelectionChangeListener); + ownerDocument.removeEventListener('selectionchange', computeCaretRectOnSelectionChange); + defaultView.cancelAnimationFrame(scrollResizeRafId); + defaultView.cancelAnimationFrame(onKeyDownRafId); + }; + }, [hasSelectedBlock]); +} + +function Typewriter({ + children +}) { + return Object(external_wp_element_["createElement"])("div", { + ref: useTypewriter(), + className: "block-editor__typewriter" + }, children); +} +/** + * The exported component. The implementation of Typewriter faced technical + * challenges in Internet Explorer, and is simply skipped, rendering the given + * props children instead. + * + * @type {WPComponent} + */ + + +const TypewriterOrIEBypass = isIE ? props => props.children : Typewriter; +/** + * Ensures that the text selection keeps the same vertical distance from the + * viewport during keyboard events within this component. The vertical distance + * can vary. It is the last clicked or scrolled to position. + */ + +/* harmony default export */ var typewriter = (TypewriterOrIEBypass); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/warning/index.js + 1 modules +var warning = __webpack_require__("Zzu2"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-flow/index.js + 4 modules +var writing_flow = __webpack_require__("TVFh"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-canvas-click-redirect/index.js +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Given an element, returns true if the element is a tabbable text field, or + * false otherwise. + * + * @param {Element} element Element to test. + * + * @return {boolean} Whether element is a tabbable text field. + */ + +const isTabbableTextField = Object(external_lodash_["overEvery"])([external_wp_dom_["isTextField"], external_wp_dom_["focus"].tabbable.isTabbableIndex]); +function useCanvasClickRedirect() { + return Object(external_wp_compose_["useRefEffect"])(node => { + function onMouseDown(event) { + // Only handle clicks on the canvas, not the content. + if (event.target !== node) { + return; + } + + const focusableNodes = external_wp_dom_["focus"].focusable.find(node); + const target = Object(external_lodash_["findLast"])(focusableNodes, isTabbableTextField); + + if (!target) { + return; + } + + const { + bottom + } = target.getBoundingClientRect(); // Ensure the click is below the last block. + + if (event.clientY < bottom) { + return; + } + + Object(external_wp_dom_["placeCaretAtHorizontalEdge"])(target, true); + event.preventDefault(); + } + + node.addEventListener('mousedown', onMouseDown); + return () => { + node.addEventListener('mousedown', onMouseDown); + }; + }, []); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/iframe/index.js +var iframe = __webpack_require__("hHnB"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-no-recursive-renders/index.js + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + +const RenderedRefsContext = Object(external_wp_element_["createContext"])({}); +/** + * Immutably adds an unique identifier to a set scoped for a given block type. + * + * @param {Object} renderedBlocks Rendered blocks grouped by block name + * @param {string} blockName Name of the block. + * @param {*} uniqueId Any value that acts as a unique identifier for a block instance. + * + * @return {Object} The list of rendered blocks grouped by block name. + */ + +function addToBlockType(renderedBlocks, blockName, uniqueId) { + const result = { ...renderedBlocks, + [blockName]: renderedBlocks[blockName] ? new Set(renderedBlocks[blockName]) : new Set() + }; + result[blockName].add(uniqueId); + return result; +} +/** + * A React hook for keeping track of blocks previously rendered up in the block + * tree. Blocks susceptible to recursion can use this hook in their `Edit` + * function to prevent said recursion. + * + * @param {*} uniqueId Any value that acts as a unique identifier for a block instance. + * @param {string} blockName Optional block name. + * + * @return {[boolean, Function]} A tuple of: + * - a boolean describing whether the provided id + * has already been rendered; + * - a React context provider to be used to wrap + * other elements. + */ + + +function useNoRecursiveRenders(uniqueId, blockName = '') { + var _previouslyRenderedBl; + + const previouslyRenderedBlocks = Object(external_wp_element_["useContext"])(RenderedRefsContext); + const { + name + } = Object(context["c" /* useBlockEditContext */])(); + blockName = blockName || name; + const hasAlreadyRendered = Boolean((_previouslyRenderedBl = previouslyRenderedBlocks[blockName]) === null || _previouslyRenderedBl === void 0 ? void 0 : _previouslyRenderedBl.has(uniqueId)); + const newRenderedBlocks = Object(external_wp_element_["useMemo"])(() => addToBlockType(previouslyRenderedBlocks, blockName, uniqueId), [previouslyRenderedBlocks, blockName, uniqueId]); + const Provider = Object(external_wp_element_["useCallback"])(({ + children + }) => Object(external_wp_element_["createElement"])(RenderedRefsContext.Provider, { + value: newRenderedBlocks + }, children), [newRenderedBlocks]); + return [hasAlreadyRendered, Provider]; +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/provider/index.js + 1 modules +var provider = __webpack_require__("/QNa"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/index.js +/* + * Block Creation Components + */ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +/* + * Content Related Components + */ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +/* + * State Related Components + */ + + + + + /***/ }), /***/ "16Al": @@ -208,6 +13431,195 @@ if (false) { var throwOnDirectAccess, ReactIs; } else { (function() { module.exports = window["wp"]["dom"]; }()); +/***/ }), + +/***/ "1K8p": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright (c) 2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule normalizeWheel + * @typechecks + */ + + + +var UserAgent_DEPRECATED = __webpack_require__("jrfk"); + +var isEventSupported = __webpack_require__("ez49"); + + +// Reasonable defaults +var PIXEL_STEP = 10; +var LINE_HEIGHT = 40; +var PAGE_HEIGHT = 800; + +/** + * Mouse wheel (and 2-finger trackpad) support on the web sucks. It is + * complicated, thus this doc is long and (hopefully) detailed enough to answer + * your questions. + * + * If you need to react to the mouse wheel in a predictable way, this code is + * like your bestest friend. * hugs * + * + * As of today, there are 4 DOM event types you can listen to: + * + * 'wheel' -- Chrome(31+), FF(17+), IE(9+) + * 'mousewheel' -- Chrome, IE(6+), Opera, Safari + * 'MozMousePixelScroll' -- FF(3.5 only!) (2010-2013) -- don't bother! + * 'DOMMouseScroll' -- FF(0.9.7+) since 2003 + * + * So what to do? The is the best: + * + * normalizeWheel.getEventType(); + * + * In your event callback, use this code to get sane interpretation of the + * deltas. This code will return an object with properties: + * + * spinX -- normalized spin speed (use for zoom) - x plane + * spinY -- " - y plane + * pixelX -- normalized distance (to pixels) - x plane + * pixelY -- " - y plane + * + * Wheel values are provided by the browser assuming you are using the wheel to + * scroll a web page by a number of lines or pixels (or pages). Values can vary + * significantly on different platforms and browsers, forgetting that you can + * scroll at different speeds. Some devices (like trackpads) emit more events + * at smaller increments with fine granularity, and some emit massive jumps with + * linear speed or acceleration. + * + * This code does its best to normalize the deltas for you: + * + * - spin is trying to normalize how far the wheel was spun (or trackpad + * dragged). This is super useful for zoom support where you want to + * throw away the chunky scroll steps on the PC and make those equal to + * the slow and smooth tiny steps on the Mac. Key data: This code tries to + * resolve a single slow step on a wheel to 1. + * + * - pixel is normalizing the desired scroll delta in pixel units. You'll + * get the crazy differences between browsers, but at least it'll be in + * pixels! + * + * - positive value indicates scrolling DOWN/RIGHT, negative UP/LEFT. This + * should translate to positive value zooming IN, negative zooming OUT. + * This matches the newer 'wheel' event. + * + * Why are there spinX, spinY (or pixels)? + * + * - spinX is a 2-finger side drag on the trackpad, and a shift + wheel turn + * with a mouse. It results in side-scrolling in the browser by default. + * + * - spinY is what you expect -- it's the classic axis of a mouse wheel. + * + * - I dropped spinZ/pixelZ. It is supported by the DOM 3 'wheel' event and + * probably is by browsers in conjunction with fancy 3D controllers .. but + * you know. + * + * Implementation info: + * + * Examples of 'wheel' event if you scroll slowly (down) by one step with an + * average mouse: + * + * OS X + Chrome (mouse) - 4 pixel delta (wheelDelta -120) + * OS X + Safari (mouse) - N/A pixel delta (wheelDelta -12) + * OS X + Firefox (mouse) - 0.1 line delta (wheelDelta N/A) + * Win8 + Chrome (mouse) - 100 pixel delta (wheelDelta -120) + * Win8 + Firefox (mouse) - 3 line delta (wheelDelta -120) + * + * On the trackpad: + * + * OS X + Chrome (trackpad) - 2 pixel delta (wheelDelta -6) + * OS X + Firefox (trackpad) - 1 pixel delta (wheelDelta N/A) + * + * On other/older browsers.. it's more complicated as there can be multiple and + * also missing delta values. + * + * The 'wheel' event is more standard: + * + * http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents + * + * The basics is that it includes a unit, deltaMode (pixels, lines, pages), and + * deltaX, deltaY and deltaZ. Some browsers provide other values to maintain + * backward compatibility with older events. Those other values help us + * better normalize spin speed. Example of what the browsers provide: + * + * | event.wheelDelta | event.detail + * ------------------+------------------+-------------- + * Safari v5/OS X | -120 | 0 + * Safari v5/Win7 | -120 | 0 + * Chrome v17/OS X | -120 | 0 + * Chrome v17/Win7 | -120 | 0 + * IE9/Win7 | -120 | undefined + * Firefox v4/OS X | undefined | 1 + * Firefox v4/Win7 | undefined | 3 + * + */ +function normalizeWheel(/*object*/ event) /*object*/ { + var sX = 0, sY = 0, // spinX, spinY + pX = 0, pY = 0; // pixelX, pixelY + + // Legacy + if ('detail' in event) { sY = event.detail; } + if ('wheelDelta' in event) { sY = -event.wheelDelta / 120; } + if ('wheelDeltaY' in event) { sY = -event.wheelDeltaY / 120; } + if ('wheelDeltaX' in event) { sX = -event.wheelDeltaX / 120; } + + // side scrolling on FF with DOMMouseScroll + if ( 'axis' in event && event.axis === event.HORIZONTAL_AXIS ) { + sX = sY; + sY = 0; + } + + pX = sX * PIXEL_STEP; + pY = sY * PIXEL_STEP; + + if ('deltaY' in event) { pY = event.deltaY; } + if ('deltaX' in event) { pX = event.deltaX; } + + if ((pX || pY) && event.deltaMode) { + if (event.deltaMode == 1) { // delta in LINE units + pX *= LINE_HEIGHT; + pY *= LINE_HEIGHT; + } else { // delta in PAGE units + pX *= PAGE_HEIGHT; + pY *= PAGE_HEIGHT; + } + } + + // Fall-back if spin cannot be determined + if (pX && !sX) { sX = (pX < 1) ? -1 : 1; } + if (pY && !sY) { sY = (pY < 1) ? -1 : 1; } + + return { spinX : sX, + spinY : sY, + pixelX : pX, + pixelY : pY }; +} + + +/** + * The best combination if you prefer spinX + spinY normalization. It favors + * the older DOMMouseScroll for Firefox, as FF does not include wheelDelta with + * 'wheel' event, making spin speed determination impossible. + */ +normalizeWheel.getEventType = function() /*string*/ { + return (UserAgent_DEPRECATED.firefox()) + ? 'DOMMouseScroll' + : (isEventSupported('wheel')) + ? 'wheel' + : 'mousewheel'; +}; + +module.exports = normalizeWheel; + + /***/ }), /***/ "1ZqX": @@ -215,6 +13627,459 @@ if (false) { var throwOnDirectAccess, ReactIs; } else { (function() { module.exports = window["wp"]["data"]; }()); +/***/ }), + +/***/ "1eGn": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// UNUSED EXPORTS: BlockSettingsDropdown + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/more-vertical.js +var more_vertical = __webpack_require__("VKE3"); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: external ["wp","keyboardShortcuts"] +var external_wp_keyboardShortcuts_ = __webpack_require__("hF7m"); + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/copy-handler/index.js + 1 modules +var copy_handler = __webpack_require__("+0ps"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-actions/index.js +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +function BlockActions({ + clientIds, + children, + __experimentalUpdateSelection: updateSelection +}) { + const { + canInsertBlockType, + getBlockRootClientId, + getBlocksByClientId, + canMoveBlocks, + canRemoveBlocks + } = Object(external_wp_data_["useSelect"])(store["a" /* store */]); + const { + getDefaultBlockName, + getGroupingBlockName + } = Object(external_wp_data_["useSelect"])(external_wp_blocks_["store"]); + const blocks = getBlocksByClientId(clientIds); + const rootClientId = getBlockRootClientId(clientIds[0]); + const canDuplicate = Object(external_lodash_["every"])(blocks, block => { + return !!block && Object(external_wp_blocks_["hasBlockSupport"])(block.name, 'multiple', true) && canInsertBlockType(block.name, rootClientId); + }); + const canInsertDefaultBlock = canInsertBlockType(getDefaultBlockName(), rootClientId); + const canMove = canMoveBlocks(clientIds, rootClientId); + const canRemove = canRemoveBlocks(clientIds, rootClientId); + const { + removeBlocks, + replaceBlocks, + duplicateBlocks, + insertAfterBlock, + insertBeforeBlock, + flashBlock, + setBlockMovingClientId, + setNavigationMode, + selectBlock + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const notifyCopy = Object(copy_handler["c" /* useNotifyCopy */])(); + return children({ + canDuplicate, + canInsertDefaultBlock, + canMove, + canRemove, + rootClientId, + blocks, + + onDuplicate() { + return duplicateBlocks(clientIds, updateSelection); + }, + + onRemove() { + return removeBlocks(clientIds, updateSelection); + }, + + onInsertBefore() { + insertBeforeBlock(Object(external_lodash_["first"])(Object(external_lodash_["castArray"])(clientIds))); + }, + + onInsertAfter() { + insertAfterBlock(Object(external_lodash_["last"])(Object(external_lodash_["castArray"])(clientIds))); + }, + + onMoveTo() { + setNavigationMode(true); + selectBlock(clientIds[0]); + setBlockMovingClientId(clientIds[0]); + }, + + onGroup() { + if (!blocks.length) { + return; + } + + const groupingBlockName = getGroupingBlockName(); // Activate the `transform` on `core/group` which does the conversion + + const newBlocks = Object(external_wp_blocks_["switchToBlockType"])(blocks, groupingBlockName); + + if (!newBlocks) { + return; + } + + replaceBlocks(clientIds, newBlocks); + }, + + onUngroup() { + if (!blocks.length) { + return; + } + + const innerBlocks = blocks[0].innerBlocks; + + if (!innerBlocks.length) { + return; + } + + replaceBlocks(clientIds, innerBlocks); + }, + + onCopy() { + const selectedBlockClientIds = blocks.map(({ + clientId + }) => clientId); + + if (blocks.length === 1) { + flashBlock(selectedBlockClientIds[0]); + } + + notifyCopy('copy', selectedBlockClientIds); + } + + }); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/block-mode-toggle.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + +function BlockModeToggle({ + blockType, + mode, + onToggleMode, + small = false, + isCodeEditingEnabled = true +}) { + if (!Object(external_wp_blocks_["hasBlockSupport"])(blockType, 'html', true) || !isCodeEditingEnabled) { + return null; + } + + const label = mode === 'visual' ? Object(external_wp_i18n_["__"])('Edit as HTML') : Object(external_wp_i18n_["__"])('Edit visually'); + return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + onClick: onToggleMode + }, !small && label); +} +/* harmony default export */ var block_mode_toggle = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withSelect"])((select, { + clientId +}) => { + const { + getBlock, + getBlockMode, + getSettings + } = select(store["a" /* store */]); + const block = getBlock(clientId); + const isCodeEditingEnabled = getSettings().codeEditingEnabled; + return { + mode: getBlockMode(clientId), + blockType: block ? Object(external_wp_blocks_["getBlockType"])(block.name) : null, + isCodeEditingEnabled + }; +}), Object(external_wp_data_["withDispatch"])((dispatch, { + onToggle = external_lodash_["noop"], + clientId +}) => ({ + onToggleMode() { + dispatch(store["a" /* store */]).toggleBlockMode(clientId); + onToggle(); + } + +}))])(BlockModeToggle)); + +// 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 = Object(external_wp_i18n_["__"])('Convert to Blocks'); + + return Object(external_wp_element_["createElement"])(external_wp_components_["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 + */ + + + +/** + * Internal dependencies + */ + + + +/* harmony default export */ var block_html_convert_button = (Object(external_wp_compose_["compose"])(Object(external_wp_data_["withSelect"])((select, { + clientId +}) => { + const block = select(store["a" /* store */]).getBlock(clientId); + return { + block, + shouldRender: block && block.name === 'core/html' + }; +}), Object(external_wp_data_["withDispatch"])((dispatch, { + block +}) => ({ + onClick: () => dispatch(store["a" /* store */]).replaceBlocks(block.clientId, Object(external_wp_blocks_["rawHandler"])({ + HTML: Object(external_wp_blocks_["getBlockContent"])(block) + })) +})))(BlockConvertButton)); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/block-settings-menu-first-item.js +var block_settings_menu_first_item = __webpack_require__("Jyyd"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu-controls/index.js + 2 modules +var block_settings_menu_controls = __webpack_require__("pXCJ"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/block-settings-dropdown.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + + + + +/** + * Internal dependencies + */ + + + + + + + +const POPOVER_PROPS = { + className: 'block-editor-block-settings-menu__popover', + position: 'bottom right', + isAlternate: true +}; + +function CopyMenuItem({ + blocks, + onCopy +}) { + const ref = Object(external_wp_compose_["useCopyToClipboard"])(() => Object(external_wp_blocks_["serialize"])(blocks), onCopy); + return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + ref: ref + }, Object(external_wp_i18n_["__"])('Copy')); +} + +function BlockSettingsDropdown({ + clientIds, + __experimentalSelectBlock, + children, + ...props +}) { + const blockClientIds = Object(external_lodash_["castArray"])(clientIds); + const count = blockClientIds.length; + const firstBlockClientId = blockClientIds[0]; + const { + onlyBlock, + title + } = Object(external_wp_data_["useSelect"])(select => { + var _getBlockType; + + const { + getBlockCount, + getBlockName + } = select(store["a" /* store */]); + const { + getBlockType + } = select(external_wp_blocks_["store"]); + return { + onlyBlock: 1 === getBlockCount(), + title: (_getBlockType = getBlockType(getBlockName(firstBlockClientId))) === null || _getBlockType === void 0 ? void 0 : _getBlockType.title + }; + }, [firstBlockClientId]); + const shortcuts = Object(external_wp_data_["useSelect"])(select => { + const { + getShortcutRepresentation + } = select(external_wp_keyboardShortcuts_["store"]); + return { + duplicate: getShortcutRepresentation('core/block-editor/duplicate'), + remove: getShortcutRepresentation('core/block-editor/remove'), + insertAfter: getShortcutRepresentation('core/block-editor/insert-after'), + insertBefore: getShortcutRepresentation('core/block-editor/insert-before') + }; + }, []); + const updateSelection = Object(external_wp_element_["useCallback"])(__experimentalSelectBlock ? async clientIdsPromise => { + const ids = await clientIdsPromise; + + if (ids && ids[0]) { + __experimentalSelectBlock(ids[0]); + } + } : external_lodash_["noop"], [__experimentalSelectBlock]); + const label = Object(external_wp_i18n_["sprintf"])( + /* translators: %s: block name */ + Object(external_wp_i18n_["__"])('Remove %s'), title); + const removeBlockLabel = count === 1 ? label : Object(external_wp_i18n_["__"])('Remove blocks'); + return Object(external_wp_element_["createElement"])(BlockActions, { + clientIds: clientIds, + __experimentalUpdateSelection: !__experimentalSelectBlock + }, ({ + canDuplicate, + canInsertDefaultBlock, + canMove, + canRemove, + onDuplicate, + onInsertAfter, + onInsertBefore, + onRemove, + onCopy, + onMoveTo, + blocks + }) => Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], Object(esm_extends["a" /* default */])({ + icon: more_vertical["a" /* default */], + label: Object(external_wp_i18n_["__"])('Options'), + className: "block-editor-block-settings-menu", + popoverProps: POPOVER_PROPS, + noIcons: true + }, props), ({ + onClose + }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, Object(external_wp_element_["createElement"])(block_settings_menu_first_item["a" /* default */].Slot, { + fillProps: { + onClose + } + }), count === 1 && Object(external_wp_element_["createElement"])(block_html_convert_button, { + clientId: firstBlockClientId + }), Object(external_wp_element_["createElement"])(CopyMenuItem, { + blocks: blocks, + onCopy: onCopy + }), canDuplicate && Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + onClick: Object(external_lodash_["flow"])(onClose, onDuplicate, updateSelection), + shortcut: shortcuts.duplicate + }, Object(external_wp_i18n_["__"])('Duplicate')), canInsertDefaultBlock && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + onClick: Object(external_lodash_["flow"])(onClose, onInsertBefore), + shortcut: shortcuts.insertBefore + }, Object(external_wp_i18n_["__"])('Insert before')), Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + onClick: Object(external_lodash_["flow"])(onClose, onInsertAfter), + shortcut: shortcuts.insertAfter + }, Object(external_wp_i18n_["__"])('Insert after'))), canMove && !onlyBlock && Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + onClick: Object(external_lodash_["flow"])(onClose, onMoveTo) + }, Object(external_wp_i18n_["__"])('Move to')), count === 1 && Object(external_wp_element_["createElement"])(block_mode_toggle, { + clientId: firstBlockClientId, + onToggle: onClose + })), Object(external_wp_element_["createElement"])(block_settings_menu_controls["a" /* default */].Slot, { + fillProps: { + onClose + }, + clientIds: clientIds + }), typeof children === 'function' ? children({ + onClose + }) : external_wp_element_["Children"].map(child => Object(external_wp_element_["cloneElement"])(child, { + onClose + })), canRemove && Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + onClick: Object(external_lodash_["flow"])(onClose, onRemove, updateSelection), + shortcut: shortcuts.remove + }, removeBlockLabel))))); +} +/* harmony default export */ var block_settings_dropdown = __webpack_exports__["a"] = (BlockSettingsDropdown); + + /***/ }), /***/ "1iEr": @@ -240,6 +14105,241 @@ const chevronRight = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["cre /* harmony default export */ __webpack_exports__["a"] = (chevronRight); +/***/ }), + +/***/ "1oY3": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return InspectorAdvancedControls; }); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _fill__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("NtoT"); +/* harmony import */ var _slot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("jwne"); + + + +/** + * Internal dependencies + */ + + +const InspectorControls = _fill__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"]; +InspectorControls.Slot = _slot__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"]; // This is just here for backward compatibility. + +const InspectorAdvancedControls = props => { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_fill__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, props, { + __experimentalGroup: "advanced" + })); +}; + +InspectorAdvancedControls.Slot = props => { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_slot__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, props, { + __experimentalGroup: "advanced" + })); +}; + +InspectorAdvancedControls.slotName = 'InspectorAdvancedControls'; +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inspector-controls/README.md + */ + +/* harmony default export */ __webpack_exports__["b"] = (InspectorControls); + + +/***/ }), + +/***/ "1uGa": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("RxS6"); +/* harmony import */ var _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_keycodes__WEBPACK_IMPORTED_MODULE_3__); + + +/** + * WordPress dependencies + */ + + + + +function DuotoneControl({ + colorPalette, + duotonePalette, + disableCustomColors, + disableCustomDuotone, + value, + onChange +}) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["Dropdown"], { + popoverProps: { + className: 'block-editor-duotone-control__popover', + headerTitle: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Duotone'), + isAlternate: true + }, + renderToggle: ({ + isOpen, + onToggle + }) => { + const openOnArrowDown = event => { + if (!isOpen && event.keyCode === _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_3__["DOWN"]) { + event.preventDefault(); + onToggle(); + } + }; + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["ToolbarButton"], { + showTooltip: true, + onClick: onToggle, + "aria-haspopup": "true", + "aria-expanded": isOpen, + onKeyDown: openOnArrowDown, + label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Apply duotone filter'), + icon: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["DuotoneSwatch"], { + values: value + }) + }); + }, + renderContent: () => Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["MenuGroup"], { + label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Duotone') + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", { + className: "block-editor-duotone-control__description" + }, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Create a two-tone color effect without losing your original image.')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["DuotonePicker"], { + colorPalette: colorPalette, + duotonePalette: duotonePalette, + disableCustomColors: disableCustomColors, + disableCustomDuotone: disableCustomDuotone, + value: value, + onChange: onChange + })) + }); +} + +/* harmony default export */ __webpack_exports__["a"] = (DuotoneControl); + + +/***/ }), + +/***/ "2YCo": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ BorderStyleControl; }); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/line-solid.js +var line_solid = __webpack_require__("bVTw"); + +// EXTERNAL MODULE: external ["wp","primitives"] +var external_wp_primitives_ = __webpack_require__("Tqx9"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/line-dashed.js + + +/** + * WordPress dependencies + */ + +const lineDashed = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + width: "24", + height: "24", + fill: "none" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + fillRule: "evenodd", + d: "M5 11.25h3v1.5H5v-1.5zm5.5 0h3v1.5h-3v-1.5zm8.5 0h-3v1.5h3v-1.5z", + clipRule: "evenodd" +})); +/* harmony default export */ var line_dashed = (lineDashed); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/line-dotted.js + + +/** + * WordPress dependencies + */ + +const lineDotted = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + width: "24", + height: "24", + fill: "none" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + fillRule: "evenodd", + d: "M5.25 11.25h1.5v1.5h-1.5v-1.5zm3 0h1.5v1.5h-1.5v-1.5zm4.5 0h-1.5v1.5h1.5v-1.5zm1.5 0h1.5v1.5h-1.5v-1.5zm4.5 0h-1.5v1.5h1.5v-1.5z", + clipRule: "evenodd" +})); +/* harmony default export */ var line_dotted = (lineDotted); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-style-control/index.js + + +/** + * WordPress dependencies + */ + + + +const BORDER_STYLES = [{ + label: Object(external_wp_i18n_["__"])('Solid'), + icon: line_solid["a" /* default */], + value: 'solid' +}, { + label: Object(external_wp_i18n_["__"])('Dashed'), + icon: line_dashed, + value: 'dashed' +}, { + label: Object(external_wp_i18n_["__"])('Dotted'), + icon: line_dotted, + value: 'dotted' +}]; +/** + * Control to display border style options. + * + * @param {Object} props Component props. + * @param {Function} props.onChange Handler for changing border style selection. + * @param {string} props.value Currently selected border style value. + * + * @return {WPElement} Custom border style segmented control. + */ + +function BorderStyleControl({ + onChange, + value +}) { + return Object(external_wp_element_["createElement"])("fieldset", { + className: "components-border-style-control" + }, Object(external_wp_element_["createElement"])("legend", null, Object(external_wp_i18n_["__"])('Style')), Object(external_wp_element_["createElement"])("div", { + className: "components-border-style-control__buttons" + }, BORDER_STYLES.map(borderStyle => Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + key: borderStyle.value, + icon: borderStyle.icon, + isSmall: true, + isPressed: borderStyle.value === value, + onClick: () => onChange(borderStyle.value === value ? undefined : borderStyle.value), + "aria-label": borderStyle.label + })))); +} + + /***/ }), /***/ "2gm7": @@ -267,335 +14367,1168 @@ const chevronLeft = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["crea /***/ }), -/***/ "4eJC": -/***/ (function(module, exports, __webpack_require__) { +/***/ "2z9l": +/***/ (function(module, __webpack_exports__, __webpack_require__) { +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return usePopoverScroll; }); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_0__); /** - * Memize options object. - * - * @typedef MemizeOptions - * - * @property {number} [maxSize] Maximum size of the cache. + * WordPress dependencies */ /** - * Internal cache entry. + * 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. * - * @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. + * @param {Object} scrollableRef */ -/** - * Properties of the enhanced function for controlling cache. - * - * @typedef MemizeMemoizedFunction - * - * @property {()=>void} clear Clear the cache. - */ +function usePopoverScroll(scrollableRef) { + return Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_0__["useRefEffect"])(node => { + if (!scrollableRef) { + return; + } -/** - * Accepts a function to be memoized, and returns a new memoized function, with - * optional options. - * - * @template {Function} F - * - * @param {F} fn Function to memoize. - * @param {MemizeOptions} [options] Options object. - * - * @return {F & MemizeMemoizedFunction} Memoized function. - */ -function memize( fn, options ) { - var size = 0; + 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 - /** @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; - }; - - if ( false ) {} - - // 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; + const options = { + passive: true + }; + node.addEventListener('wheel', onWheel, options); + return () => { + node.removeEventListener('wheel', onWheel, options); + }; + }, [scrollableRef]); } -module.exports = memize; - /***/ }), -/***/ "6fKw": -/***/ (function(module, exports, __webpack_require__) { +/***/ "5L8O": +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* -Copyright (c) 2014, Yahoo! Inc. All rights reserved. -Copyrights licensed under the New BSD License. -See the accompanying LICENSE file for terms. -*/ +/* unused harmony export ZWNBSP */ +/* unused harmony export DefaultBlockAppender */ +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("TSYQ"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("HSyU"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("rmEH"); +/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _inserter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("qrxh"); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("BhPs"); + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ -exports.match = matchQuery; -exports.parse = parseQuery; -// ----------------------------------------------------------------------------- -var RE_MEDIA_QUERY = /(?:(only|not)?\s*([^\s\(\)]+)(?:\s*and)?\s*)?(.+)?/i, - RE_MQ_EXPRESSION = /\(\s*([^\s\:\)]+)\s*(?:\:\s*([^\s\)]+))?\s*\)/, - RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/, - RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/, - RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/; -function matchQuery(mediaQuery, values) { - return parseQuery(mediaQuery).some(function (query) { - var inverse = query.inverse; +/** + * Internal dependencies + */ - // Either the parsed or specified `type` is "all", or the types must be - // equal for a match. - var typeMatch = query.type === 'all' || values.type === query.type; - // Quit early when `type` doesn't match, but take "not" into account. - if ((typeMatch && inverse) || !(typeMatch || inverse)) { - return false; + +/** + * Zero width non-breaking space, used as padding for the paragraph when it is + * empty. + */ + +const ZWNBSP = '\ufeff'; +function DefaultBlockAppender({ + isLocked, + isVisible, + onAppend, + showPrompt, + placeholder, + rootClientId +}) { + if (isLocked || !isVisible) { + return null; + } + + const value = Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__["decodeEntities"])(placeholder) || Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Type / to choose a block'); + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", { + "data-root-client-id": rootClientId || '', + className: classnames__WEBPACK_IMPORTED_MODULE_1___default()('block-editor-default-block-appender', { + 'has-visible-prompt': showPrompt + }) + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", { + tabIndex: "0" // Only necessary for `useCanvasClickRedirect` to consider it + // as a target. Ideally it should consider any tabbable target, + // but the inserter is rendered in place while it should be + // rendered in a popover, just like it does for an empty + // paragraph block. + , + contentEditable: true, + suppressContentEditableWarning: true // We want this element to be styled as a paragraph by themes. + // eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role + , + role: "button", + "aria-label": Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Add block') // A wrapping container for this one already has the wp-block className. + , + className: "block-editor-default-block-appender__content", + onFocus: onAppend + }, showPrompt ? value : ZWNBSP), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_inserter__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"], { + rootClientId: rootClientId, + position: "bottom right", + isAppender: true, + __experimentalIsQuick: true + })); +} +/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__["compose"])(Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_6__["withSelect"])((select, ownProps) => { + const { + getBlockCount, + getBlockName, + isBlockValid, + getSettings, + getTemplateLock + } = select(_store__WEBPACK_IMPORTED_MODULE_8__[/* store */ "a"]); + const isEmpty = !getBlockCount(ownProps.rootClientId); + const isLastBlockDefault = getBlockName(ownProps.lastBlockClientId) === Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__["getDefaultBlockName"])(); + const isLastBlockValid = isBlockValid(ownProps.lastBlockClientId); + const { + bodyPlaceholder + } = getSettings(); + return { + isVisible: isEmpty || !isLastBlockDefault || !isLastBlockValid, + showPrompt: isEmpty, + isLocked: !!getTemplateLock(ownProps.rootClientId), + placeholder: bodyPlaceholder + }; +}), Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_6__["withDispatch"])((dispatch, ownProps) => { + const { + insertDefaultBlock, + startTyping + } = dispatch(_store__WEBPACK_IMPORTED_MODULE_8__[/* store */ "a"]); + return { + onAppend() { + const { + rootClientId + } = ownProps; + insertDefaultBlock(undefined, rootClientId); + startTyping(); + } + + }; +}))(DefaultBlockAppender)); + + +/***/ }), + +/***/ "5gPN": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ utils["a" /* getColorClassName */]; }); +__webpack_require__.d(__webpack_exports__, "c", function() { return /* reexport */ utils["b" /* getColorObjectByAttributeValues */]; }); +__webpack_require__.d(__webpack_exports__, "d", function() { return /* reexport */ utils["c" /* getColorObjectByColorValue */]; }); +__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ createCustomColorsHOC; }); +__webpack_require__.d(__webpack_exports__, "e", function() { return /* reexport */ withColors; }); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors/utils.js +var utils = __webpack_require__("bVpQ"); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-setting/index.js +var use_setting = __webpack_require__("v5LD"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors/with-colors.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +const DEFAULT_COLORS = []; +/** + * 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 => Object(external_wp_compose_["createHigherOrderComponent"])(WrappedComponent => props => Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, 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 = () => Object(external_wp_compose_["createHigherOrderComponent"])(WrappedComponent => props => { + const colors = Object(use_setting["a" /* default */])('color.palette') || DEFAULT_COLORS; + return Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, props, { + colors: colors + })); +}, '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 = Object(external_lodash_["reduce"])(colorTypes, (colorObject, colorType) => { + return { ...colorObject, + ...(Object(external_lodash_["isString"])(colorType) ? { + [colorType]: Object(external_lodash_["kebabCase"])(colorType) + } : colorType) + }; + }, {}); + return Object(external_wp_compose_["compose"])([withColorPalette, WrappedComponent => { + return class extends external_wp_element_["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 Object(utils["d" /* getMostReadableColor */])(colors, colorValue); + } + + createSetters() { + return Object(external_lodash_["reduce"])(colorMap, (settersAccumulator, colorContext, colorAttributeName) => { + const upperFirstColorAttributeName = Object(external_lodash_["upperFirst"])(colorAttributeName); + const customColorAttributeName = `custom${upperFirstColorAttributeName}`; + settersAccumulator[`set${upperFirstColorAttributeName}`] = this.createSetColor(colorAttributeName, customColorAttributeName); + return settersAccumulator; + }, {}); + } + + createSetColor(colorAttributeName, customColorAttributeName) { + return colorValue => { + const colorObject = Object(utils["c" /* 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(external_lodash_["reduce"])(colorMap, (newState, colorContext, colorAttributeName) => { + const colorObject = Object(utils["b" /* getColorObjectByAttributeValues */])(colors, attributes[colorAttributeName], attributes[`custom${Object(external_lodash_["upperFirst"])(colorAttributeName)}`]); + const previousColorObject = previousState[colorAttributeName]; + const previousColor = previousColorObject === null || previousColorObject === void 0 ? void 0 : 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: Object(utils["a" /* getColorClassName */])(colorContext, colorObject.slug) + }; + } + + return newState; + }, {}); + } + + render() { + return Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, 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 Object(external_wp_compose_["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 Object(external_wp_compose_["createHigherOrderComponent"])(createColorHOC(colorTypes, withColorPalette), 'withColors'); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors/index.js + + + + +/***/ }), + +/***/ "6ZVF": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// EXTERNAL MODULE: external ["wp","keycodes"] +var external_wp_keycodes_ = __webpack_require__("RxS6"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-icon/index.js +var block_icon = __webpack_require__("7SSY"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-listbox/item.js +var inserter_listbox_item = __webpack_require__("M+co"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-draggable-blocks/index.js +var inserter_draggable_blocks = __webpack_require__("j6zP"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-list-item/index.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + +/** + * Return true if platform is MacOS. + * + * @param {Object} _window window object by default; used for DI testing. + * + * @return {boolean} True if MacOS; false otherwise. + */ + +function isAppleOS(_window = window) { + const { + platform + } = _window.navigator; + return platform.indexOf('Mac') !== -1 || ['iPad', 'iPhone'].includes(platform); +} + +function InserterListItem({ + className, + isFirst, + item, + onSelect, + onHover, + isDraggable, + ...props +}) { + const isDragging = Object(external_wp_element_["useRef"])(false); + const itemIconStyle = item.icon ? { + backgroundColor: item.icon.background, + color: item.icon.foreground + } : {}; + const blocks = Object(external_wp_element_["useMemo"])(() => { + return [Object(external_wp_blocks_["createBlock"])(item.name, item.initialAttributes, Object(external_wp_blocks_["createBlocksFromInnerBlocksTemplate"])(item.innerBlocks))]; + }, [item.name, item.initialAttributes, item.initialAttributes]); + return Object(external_wp_element_["createElement"])(inserter_draggable_blocks["a" /* default */], { + isEnabled: isDraggable && !item.disabled, + blocks: blocks, + icon: item.icon + }, ({ + draggable, + onDragStart, + onDragEnd + }) => Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-types-list__list-item", + draggable: draggable, + onDragStart: event => { + isDragging.current = true; + + if (onDragStart) { + onHover(null); + onDragStart(event); + } + }, + onDragEnd: event => { + isDragging.current = false; + + if (onDragEnd) { + onDragEnd(event); + } + } + }, Object(external_wp_element_["createElement"])(inserter_listbox_item["a" /* default */], Object(esm_extends["a" /* default */])({ + isFirst: isFirst, + className: classnames_default()('block-editor-block-types-list__item', className), + disabled: item.isDisabled, + onClick: event => { + event.preventDefault(); + onSelect(item, isAppleOS() ? event.metaKey : event.ctrlKey); + onHover(null); + }, + onKeyDown: event => { + const { + keyCode + } = event; + + if (keyCode === external_wp_keycodes_["ENTER"]) { + event.preventDefault(); + onSelect(item, isAppleOS() ? event.metaKey : event.ctrlKey); + onHover(null); + } + }, + onFocus: () => { + if (isDragging.current) { + return; + } + + onHover(item); + }, + onMouseEnter: () => { + if (isDragging.current) { + return; + } + + onHover(item); + }, + onMouseLeave: () => onHover(null), + onBlur: () => onHover(null) + }, props), Object(external_wp_element_["createElement"])("span", { + className: "block-editor-block-types-list__item-icon", + style: itemIconStyle + }, Object(external_wp_element_["createElement"])(block_icon["a" /* default */], { + icon: item.icon, + showColors: true + })), Object(external_wp_element_["createElement"])("span", { + className: "block-editor-block-types-list__item-title" + }, item.title)))); +} + +/* harmony default export */ var inserter_list_item = (Object(external_wp_element_["memo"])(InserterListItem)); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-listbox/group.js +var group = __webpack_require__("xkPd"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-listbox/row.js +var inserter_listbox_row = __webpack_require__("HC45"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-types-list/index.js + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + + +function chunk(array, size) { + const chunks = []; + + for (let i = 0, j = array.length; i < j; i += size) { + chunks.push(array.slice(i, i + size)); + } + + return chunks; +} + +function BlockTypesList({ + items = [], + onSelect, + onHover = () => {}, + children, + label, + isDraggable = true +}) { + return Object(external_wp_element_["createElement"])(group["a" /* default */], { + className: "block-editor-block-types-list", + "aria-label": label + }, chunk(items, 3).map((row, i) => Object(external_wp_element_["createElement"])(inserter_listbox_row["a" /* default */], { + key: i + }, row.map((item, j) => Object(external_wp_element_["createElement"])(inserter_list_item, { + key: item.id, + item: item, + className: Object(external_wp_blocks_["getBlockMenuDefaultClassName"])(item.id), + onSelect: onSelect, + onHover: onHover, + isDraggable: isDraggable, + isFirst: i === 0 && j === 0 + })))), children); +} + +/* harmony default export */ var block_types_list = __webpack_exports__["a"] = (BlockTypesList); + + +/***/ }), + +/***/ "6c9H": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var colord__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("fHnH"); +/* harmony import */ var colord_plugins_names__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("abaT"); +/* harmony import */ var colord_plugins_a11y__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("7bKH"); +/* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("gdqT"); +/* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_6__); + + +/** + * External dependencies + */ + + + +/** + * WordPress dependencies + */ + + + + + +Object(colord__WEBPACK_IMPORTED_MODULE_1__[/* extend */ "b"])([colord_plugins_names__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], colord_plugins_a11y__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"]]); + +function ContrastCheckerMessage({ + colordBackgroundColor, + colordTextColor, + backgroundColor, + textColor +}) { + const msg = colordBackgroundColor.brightness() < colordTextColor.brightness() ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('This color combination may be hard for people to read. Try using a darker background color and/or a brighter text color.') : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('This color combination may be hard for people to read. Try using a brighter background color and/or a darker text color.'); // 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. + + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => { + Object(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_4__["speak"])(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('This color combination may be hard for people to read.')); + }, [backgroundColor, textColor]); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", { + className: "block-editor-contrast-checker" + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_6__["Notice"], { + spokenMessage: null, + status: "warning", + isDismissible: false + }, msg)); +} + +function ContrastChecker({ + backgroundColor, + fallbackBackgroundColor, + fallbackTextColor, + fontSize, + // font size value in pixels + isLargeText, + textColor +}) { + if (!(backgroundColor || fallbackBackgroundColor) || !(textColor || fallbackTextColor)) { + return null; + } + + const colordBackgroundColor = Object(colord__WEBPACK_IMPORTED_MODULE_1__[/* colord */ "a"])(backgroundColor || fallbackBackgroundColor); + const colordTextColor = Object(colord__WEBPACK_IMPORTED_MODULE_1__[/* colord */ "a"])(textColor || fallbackTextColor); + const hasTransparency = colordBackgroundColor.alpha() !== 1 || colordTextColor.alpha() !== 1; + + if (hasTransparency || colordTextColor.isReadable(colordBackgroundColor, { + level: 'AA', + size: isLargeText || isLargeText !== false && fontSize >= 24 ? 'large' : 'small' + })) { + return null; + } + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(ContrastCheckerMessage, { + backgroundColor: backgroundColor, + textColor: textColor, + colordBackgroundColor: colordBackgroundColor, + colordTextColor: colordTextColor + }); +} + +/* harmony default export */ __webpack_exports__["a"] = (ContrastChecker); + + +/***/ }), + +/***/ "6jxZ": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useFocusHandler; }); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("OL6h"); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("BhPs"); +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + +/** + * Selects the block if it receives focus. + * + * @param {string} clientId Block client ID. + */ + +function useFocusHandler(clientId) { + const { + isBlockSelected + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__["useSelect"])(_store__WEBPACK_IMPORTED_MODULE_3__[/* store */ "a"]); + const { + selectBlock, + selectionChange + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__["useDispatch"])(_store__WEBPACK_IMPORTED_MODULE_3__[/* store */ "a"]); + return Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_1__["useRefEffect"])(node => { + /** + * Marks the block as selected when focused and not already + * selected. This specifically handles the case where block does not + * set focus on its own (via `setFocus`), typically if there is no + * focusable input in the block. + * + * @param {FocusEvent} event Focus event. + */ + function onFocus(event) { + // Check synchronously because a non-selected block might be + // getting data through `useSelect` asynchronously. + if (isBlockSelected(clientId)) { + // Potentially change selection away from rich text. + if (!event.target.isContentEditable) { + selectionChange(clientId); } - var expressionsMatch = query.expressions.every(function (expression) { - var feature = expression.feature, - modifier = expression.modifier, - expValue = expression.value, - value = values[feature]; + return; + } // If an inner block is focussed, that block is resposible for + // setting the selected block. - // Missing or falsy values don't match. - if (!value) { return false; } - switch (feature) { - case 'orientation': - case 'scan': - return value.toLowerCase() === expValue.toLowerCase(); + if (!Object(_utils_dom__WEBPACK_IMPORTED_MODULE_2__[/* isInsideRootBlock */ "c"])(node, event.target)) { + return; + } - case 'width': - case 'height': - case 'device-width': - case 'device-height': - expValue = toPx(expValue); - value = toPx(value); - break; + selectBlock(clientId); + } - case 'resolution': - expValue = toDpi(expValue); - value = toDpi(value); - break; + node.addEventListener('focusin', onFocus); + return () => { + node.removeEventListener('focusin', onFocus); + }; + }, [isBlockSelected, selectBlock]); +} - case 'aspect-ratio': - case 'device-aspect-ratio': - case /* Deprecated */ 'device-pixel-ratio': - expValue = toDecimal(expValue); - value = toDecimal(value); - break; - case 'grid': - case 'color': - case 'color-index': - case 'monochrome': - expValue = parseInt(expValue, 10) || 1; - value = parseInt(value, 10) || 0; - break; - } +/***/ }), - switch (modifier) { - case 'min': return value >= expValue; - case 'max': return value <= expValue; - default : return value === expValue; - } - }); +/***/ "715p": +/***/ (function(module, __webpack_exports__, __webpack_require__) { - return (expressionsMatch && !inverse) || (!expressionsMatch && inverse); +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cleanEmptyObject; }); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__); +/** + * External dependencies + */ + +/** + * Removed falsy values from nested object. + * + * @param {*} object + * @return {*} Object cleaned from falsy values + */ + +const cleanEmptyObject = object => { + if (!Object(lodash__WEBPACK_IMPORTED_MODULE_0__["isObject"])(object) || Array.isArray(object)) { + return object; + } + + const cleanedNestedObjects = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["pickBy"])(Object(lodash__WEBPACK_IMPORTED_MODULE_0__["mapValues"])(object, cleanEmptyObject), lodash__WEBPACK_IMPORTED_MODULE_0__["identity"]); + return Object(lodash__WEBPACK_IMPORTED_MODULE_0__["isEmpty"])(cleanedNestedObjects) ? undefined : cleanedNestedObjects; +}; + + +/***/ }), + +/***/ "7NR9": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: external ["wp","keycodes"] +var external_wp_keycodes_ = __webpack_require__("RxS6"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: external ["wp","tokenList"] +var external_wp_tokenList_ = __webpack_require__("BLeD"); +var external_wp_tokenList_default = /*#__PURE__*/__webpack_require__.n(external_wp_tokenList_); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-styles/utils.js +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +/** + * Returns the active style from the given className. + * + * @param {Array} styles Block style variations. + * @param {string} className Class name + * + * @return {Object?} The active style. + */ + +function getActiveStyle(styles, className) { + for (const style of new external_wp_tokenList_default.a(className).values()) { + if (style.indexOf('is-style-') === -1) { + continue; + } + + const potentialStyleName = style.substring(9); + const activeStyle = Object(external_lodash_["find"])(styles, { + name: potentialStyleName }); + + if (activeStyle) { + return activeStyle; + } + } + + return Object(external_lodash_["find"])(styles, 'isDefault'); +} +/** + * 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.a(className); + + if (activeStyle) { + list.remove('is-style-' + activeStyle.name); + } + + list.add('is-style-' + newStyle.name); + return list.value; } -function parseQuery(mediaQuery) { - return mediaQuery.split(',').map(function (query) { - query = query.trim(); +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-preview/index.js + 2 modules +var block_preview = __webpack_require__("REKd"); - var captures = query.match(RE_MEDIA_QUERY), - modifier = captures[1], - type = captures[2], - expressions = captures[3] || '', - parsed = {}; +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); - parsed.inverse = !!modifier && modifier.toLowerCase() === 'not'; - parsed.type = type ? type.toLowerCase() : 'all'; +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-styles/index.js - // Split expressions into a list. - expressions = expressions.match(/\([^\)]+\)/g) || []; - parsed.expressions = expressions.map(function (expression) { - var captures = expression.match(RE_MQ_EXPRESSION), - feature = captures[1].toLowerCase().match(RE_MQ_FEATURE); +/** + * External dependencies + */ - return { - modifier: feature[1], - feature : feature[2], - value : captures[2] - }; + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + +const EMPTY_OBJECT = {}; + +function useGenericPreviewBlock(block, type) { + return Object(external_wp_element_["useMemo"])(() => { + const example = type === null || type === void 0 ? void 0 : type.example; + const blockName = type === null || type === void 0 ? void 0 : type.name; + + if (example && blockName) { + return Object(external_wp_blocks_["getBlockFromExample"])(blockName, { + attributes: example.attributes, + innerBlocks: example.innerBlocks + }); + } + + if (block) { + return Object(external_wp_blocks_["cloneBlock"])(block); + } + }, [type !== null && type !== void 0 && type.example ? block === null || block === void 0 ? void 0 : block.name : block, type]); +} + +function BlockStyles({ + clientId, + onSwitch = external_lodash_["noop"], + onHoverClassName = external_lodash_["noop"], + itemRole +}) { + const selector = select => { + const { + getBlock + } = select(store["a" /* store */]); + const block = getBlock(clientId); + + if (!block) { + return EMPTY_OBJECT; + } + + const blockType = Object(external_wp_blocks_["getBlockType"])(block.name); + const { + getBlockStyles + } = select(external_wp_blocks_["store"]); + return { + block, + type: blockType, + styles: getBlockStyles(block.name), + className: block.attributes.className || '' + }; + }; + + const { + styles, + block, + type, + className + } = Object(external_wp_data_["useSelect"])(selector, [clientId]); + const { + updateBlockAttributes + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const genericPreviewBlock = useGenericPreviewBlock(block, type); + + if (!styles || styles.length === 0) { + return null; + } + + const renderedStyles = Object(external_lodash_["find"])(styles, 'isDefault') ? styles : [{ + name: 'default', + label: Object(external_wp_i18n_["_x"])('Default', 'block style'), + isDefault: true + }, ...styles]; + const activeStyle = getActiveStyle(renderedStyles, className); + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-styles" + }, renderedStyles.map(style => { + var _type$example$viewpor, _type$example; + + const styleClassName = replaceActiveStyle(className, activeStyle, style); + return Object(external_wp_element_["createElement"])(BlockStyleItem, { + genericPreviewBlock: genericPreviewBlock, + viewportWidth: (_type$example$viewpor = (_type$example = type.example) === null || _type$example === void 0 ? void 0 : _type$example.viewportWidth) !== null && _type$example$viewpor !== void 0 ? _type$example$viewpor : 500, + className: className, + isActive: activeStyle === style, + key: style.name, + onSelect: () => { + updateBlockAttributes(clientId, { + className: styleClassName }); - - return parsed; + onHoverClassName(null); + onSwitch(); + }, + onBlur: () => onHoverClassName(null), + onHover: () => onHoverClassName(styleClassName), + style: style, + styleClassName: styleClassName, + itemRole: itemRole }); + })); } -// -- Utilities ---------------------------------------------------------------- - -function toDecimal(ratio) { - var decimal = Number(ratio), - numbers; - - if (!decimal) { - numbers = ratio.match(/^(\d+)\s*\/\s*(\d+)$/); - decimal = numbers[1] / numbers[2]; - } - - return decimal; +function BlockStyleItem({ + genericPreviewBlock, + viewportWidth, + style, + isActive, + onBlur, + onHover, + onSelect, + styleClassName, + itemRole +}) { + const previewBlocks = Object(external_wp_element_["useMemo"])(() => { + return { ...genericPreviewBlock, + attributes: { ...genericPreviewBlock.attributes, + className: styleClassName + } + }; + }, [genericPreviewBlock, styleClassName]); + return Object(external_wp_element_["createElement"])("div", { + key: style.name, + className: classnames_default()('block-editor-block-styles__item', { + 'is-active': isActive + }), + onClick: () => onSelect(), + onKeyDown: event => { + if (external_wp_keycodes_["ENTER"] === event.keyCode || external_wp_keycodes_["SPACE"] === event.keyCode) { + event.preventDefault(); + onSelect(); + } + }, + onMouseEnter: onHover, + onMouseLeave: onBlur, + role: itemRole || 'button', + tabIndex: "0", + "aria-label": style.label || style.name + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-styles__item-preview" + }, Object(external_wp_element_["createElement"])(block_preview["a" /* default */], { + viewportWidth: viewportWidth, + blocks: previewBlocks + })), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-styles__item-label" + }, style.label || style.name)); } -function toDpi(resolution) { - var value = parseFloat(resolution), - units = String(resolution).match(RE_RESOLUTION_UNIT)[1]; +/* harmony default export */ var block_styles = __webpack_exports__["a"] = (BlockStyles); - switch (units) { - case 'dpcm': return value / 2.54; - case 'dppx': return value * 96; - default : return value; - } + +/***/ }), + +/***/ "7SSY": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("TSYQ"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("//Lo"); + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +function BlockIcon({ + icon, + showColors = false, + className +}) { + var _icon; + + if (((_icon = icon) === null || _icon === void 0 ? void 0 : _icon.src) === 'block-default') { + icon = { + src: _wordpress_icons__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"] + }; + } + + const renderedIcon = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["Icon"], { + icon: icon && icon.src ? icon.src : icon + }); + const style = showColors ? { + backgroundColor: icon && icon.background, + color: icon && icon.foreground + } : {}; + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("span", { + style: style, + className: classnames__WEBPACK_IMPORTED_MODULE_1___default()('block-editor-block-icon', className, { + 'has-colors': showColors + }) + }, renderedIcon); } -function toPx(length) { - var value = parseFloat(length), - units = String(length).match(RE_LENGTH_UNIT)[1]; +/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["memo"])(BlockIcon)); - switch (units) { - case 'em' : return value * 16; - case 'rem': return value * 16; - case 'cm' : return value * 96 / 2.54; - case 'mm' : return value * 96 / 2.54 / 10; - case 'in' : return value * 96; - case 'pt' : return value * 72; - case 'pc' : return value * 72 / 12; - default : return value; - } -} + +/***/ }), + +/***/ "7bKH": +/***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +var o=function(o){var t=o/255;return t<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},t=function(t){return.2126*o(t.r)+.7152*o(t.g)+.0722*o(t.b)};/* harmony default export */ __webpack_exports__["a"] = (function(o){o.prototype.luminance=function(){return o=t(this.rgba),void 0===(r=2)&&(r=0),void 0===n&&(n=Math.pow(10,r)),Math.round(n*o)/n+0;var o,r,n},o.prototype.contrast=function(r){void 0===r&&(r="#FFF");var n,a,i,e,v,u,d,c=r instanceof o?r:new o(r);return e=this.rgba,v=c.toRgb(),u=t(e),d=t(v),n=u>d?(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}}); /***/ }), @@ -607,26 +15540,194 @@ function toPx(length) { /***/ }), -/***/ "8OQS": +/***/ "8oxB": /***/ (function(module, exports) { -function _objectWithoutPropertiesLoose(source, excluded) { - if (source == null) return {}; - var target = {}; - var sourceKeys = Object.keys(source); - var key, i; +// shim for using process in browser +var process = module.exports = {}; - for (i = 0; i < sourceKeys.length; i++) { - key = sourceKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - target[key] = source[key]; - } +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. - return target; +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } } -module.exports = _objectWithoutPropertiesLoose; -module.exports["default"] = module.exports, module.exports.__esModule = true; +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + /***/ }), @@ -638,6 +15739,690 @@ module.exports["default"] = module.exports, module.exports.__esModule = true; module.exports = __webpack_require__("zt9T"); +/***/ }), + +/***/ "9Ma0": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ BlockMoverUpButton; }); +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ BlockMoverDownButton; }); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-right.js +var chevron_right = __webpack_require__("1iEr"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-left.js +var chevron_left = __webpack_require__("2gm7"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-up.js +var chevron_up = __webpack_require__("XgzB"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-down.js +var chevron_down = __webpack_require__("NWDH"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-mover/mover-description.js +/** + * WordPress dependencies + */ + +/** + * Return a label for the block movement controls depending on block position. + * + * @param {number} selectedCount Number of blocks selected. + * @param {string} type Block type - in the case of a single block, should + * define its 'type'. I.e. 'Text', 'Heading', 'Image' etc. + * @param {number} firstIndex The index (position - 1) of the first block selected. + * @param {boolean} isFirst This is the first block. + * @param {boolean} isLast This is the last block. + * @param {number} dir Direction of movement (> 0 is considered to be going + * down, < 0 is up). + * @param {string} orientation The orientation of the block movers, vertical or + * horizontal. + * + * @return {string} Label for the block movement controls. + */ + +function getBlockMoverDescription(selectedCount, type, firstIndex, isFirst, isLast, dir, orientation) { + const position = firstIndex + 1; + + const getMovementDirection = moveDirection => { + if (moveDirection === 'up') { + if (orientation === 'horizontal') { + return Object(external_wp_i18n_["isRTL"])() ? 'right' : 'left'; + } + + return 'up'; + } else if (moveDirection === 'down') { + if (orientation === 'horizontal') { + return Object(external_wp_i18n_["isRTL"])() ? 'left' : 'right'; + } + + return 'down'; + } + + return null; + }; + + if (selectedCount > 1) { + return getMultiBlockMoverDescription(selectedCount, firstIndex, isFirst, isLast, dir); + } + + if (isFirst && isLast) { + return Object(external_wp_i18n_["sprintf"])( // translators: %s: Type of block (i.e. Text, Image etc) + Object(external_wp_i18n_["__"])('Block %s is the only block, and cannot be moved'), type); + } + + if (dir > 0 && !isLast) { + // moving down + const movementDirection = getMovementDirection('down'); + + if (movementDirection === 'down') { + return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position + Object(external_wp_i18n_["__"])('Move %1$s block from position %2$d down to position %3$d'), type, position, position + 1); + } + + if (movementDirection === 'left') { + return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position + Object(external_wp_i18n_["__"])('Move %1$s block from position %2$d left to position %3$d'), type, position, position + 1); + } + + if (movementDirection === 'right') { + return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position + Object(external_wp_i18n_["__"])('Move %1$s block from position %2$d right to position %3$d'), type, position, position + 1); + } + } + + if (dir > 0 && isLast) { + // moving down, and is the last item + const movementDirection = getMovementDirection('down'); + + if (movementDirection === 'down') { + return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc) + Object(external_wp_i18n_["__"])('Block %1$s is at the end of the content and can’t be moved down'), type); + } + + if (movementDirection === 'left') { + return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc) + Object(external_wp_i18n_["__"])('Block %1$s is at the end of the content and can’t be moved left'), type); + } + + if (movementDirection === 'right') { + return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc) + Object(external_wp_i18n_["__"])('Block %1$s is at the end of the content and can’t be moved right'), type); + } + } + + if (dir < 0 && !isFirst) { + // moving up + const movementDirection = getMovementDirection('up'); + + if (movementDirection === 'up') { + return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position + Object(external_wp_i18n_["__"])('Move %1$s block from position %2$d up to position %3$d'), type, position, position - 1); + } + + if (movementDirection === 'left') { + return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position + Object(external_wp_i18n_["__"])('Move %1$s block from position %2$d left to position %3$d'), type, position, position - 1); + } + + if (movementDirection === 'right') { + return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position + Object(external_wp_i18n_["__"])('Move %1$s block from position %2$d right to position %3$d'), type, position, position - 1); + } + } + + if (dir < 0 && isFirst) { + // moving up, and is the first item + const movementDirection = getMovementDirection('up'); + + if (movementDirection === 'up') { + return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc) + Object(external_wp_i18n_["__"])('Block %1$s is at the beginning of the content and can’t be moved up'), type); + } + + if (movementDirection === 'left') { + return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc) + Object(external_wp_i18n_["__"])('Block %1$s is at the beginning of the content and can’t be moved left'), type); + } + + if (movementDirection === 'right') { + return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc) + Object(external_wp_i18n_["__"])('Block %1$s is at the beginning of the content and can’t be moved right'), type); + } + } +} +/** + * Return a label for the block movement controls depending on block position. + * + * @param {number} selectedCount Number of blocks selected. + * @param {number} firstIndex The index (position - 1) of the first block selected. + * @param {boolean} isFirst This is the first block. + * @param {boolean} isLast This is the last block. + * @param {number} dir Direction of movement (> 0 is considered to be going + * down, < 0 is up). + * + * @return {string} Label for the block movement controls. + */ + +function getMultiBlockMoverDescription(selectedCount, firstIndex, isFirst, isLast, dir) { + const position = firstIndex + 1; + + if (dir < 0 && isFirst) { + return Object(external_wp_i18n_["__"])('Blocks cannot be moved up as they are already at the top'); + } + + if (dir > 0 && isLast) { + return Object(external_wp_i18n_["__"])('Blocks cannot be moved down as they are already at the bottom'); + } + + if (dir < 0 && !isFirst) { + return Object(external_wp_i18n_["sprintf"])( // translators: 1: Number of selected blocks, 2: Position of selected blocks + Object(external_wp_i18n_["_n"])('Move %1$d block from position %2$d up by one place', 'Move %1$d blocks from position %2$d up by one place', selectedCount), selectedCount, position); + } + + if (dir > 0 && !isLast) { + return Object(external_wp_i18n_["sprintf"])( // translators: 1: Number of selected blocks, 2: Position of selected blocks + Object(external_wp_i18n_["_n"])('Move %1$d block from position %2$d down by one place', 'Move %1$d blocks from position %2$d down by one place', selectedCount), selectedCount, position); + } +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-mover/button.js + + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + +/** + * Internal dependencies + */ + + + + + +const getArrowIcon = (direction, orientation) => { + if (direction === 'up') { + if (orientation === 'horizontal') { + return Object(external_wp_i18n_["isRTL"])() ? chevron_right["a" /* default */] : chevron_left["a" /* default */]; + } + + return chevron_up["a" /* default */]; + } else if (direction === 'down') { + if (orientation === 'horizontal') { + return Object(external_wp_i18n_["isRTL"])() ? chevron_left["a" /* default */] : chevron_right["a" /* default */]; + } + + return chevron_down["a" /* default */]; + } + + return null; +}; + +const getMovementDirectionLabel = (moveDirection, orientation) => { + if (moveDirection === 'up') { + if (orientation === 'horizontal') { + return Object(external_wp_i18n_["isRTL"])() ? Object(external_wp_i18n_["__"])('Move right') : Object(external_wp_i18n_["__"])('Move left'); + } + + return Object(external_wp_i18n_["__"])('Move up'); + } else if (moveDirection === 'down') { + if (orientation === 'horizontal') { + return Object(external_wp_i18n_["isRTL"])() ? Object(external_wp_i18n_["__"])('Move left') : Object(external_wp_i18n_["__"])('Move right'); + } + + return Object(external_wp_i18n_["__"])('Move down'); + } + + return null; +}; + +const BlockMoverButton = Object(external_wp_element_["forwardRef"])(({ + clientIds, + direction, + orientation: moverOrientation, + ...props +}, ref) => { + const instanceId = Object(external_wp_compose_["useInstanceId"])(BlockMoverButton); + const blocksCount = Object(external_lodash_["castArray"])(clientIds).length; + const { + blockType, + isDisabled, + rootClientId, + isFirst, + isLast, + firstIndex, + orientation = 'vertical' + } = Object(external_wp_data_["useSelect"])(select => { + const { + getBlockIndex, + getBlockRootClientId, + getBlockOrder, + getBlock, + getBlockListSettings + } = select(store["a" /* store */]); + const normalizedClientIds = Object(external_lodash_["castArray"])(clientIds); + const firstClientId = Object(external_lodash_["first"])(normalizedClientIds); + const blockRootClientId = getBlockRootClientId(firstClientId); + const firstBlockIndex = getBlockIndex(firstClientId, blockRootClientId); + const lastBlockIndex = getBlockIndex(Object(external_lodash_["last"])(normalizedClientIds), blockRootClientId); + const blockOrder = getBlockOrder(blockRootClientId); + const block = getBlock(firstClientId); + const isFirstBlock = firstBlockIndex === 0; + const isLastBlock = lastBlockIndex === blockOrder.length - 1; + const { + orientation: blockListOrientation + } = getBlockListSettings(blockRootClientId) || {}; + return { + blockType: block ? Object(external_wp_blocks_["getBlockType"])(block.name) : null, + isDisabled: direction === 'up' ? isFirstBlock : isLastBlock, + rootClientId: blockRootClientId, + firstIndex: firstBlockIndex, + isFirst: isFirstBlock, + isLast: isLastBlock, + orientation: moverOrientation || blockListOrientation + }; + }, [clientIds, direction]); + const { + moveBlocksDown, + moveBlocksUp + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const moverFunction = direction === 'up' ? moveBlocksUp : moveBlocksDown; + + const onClick = event => { + moverFunction(clientIds, rootClientId); + + if (props.onClick) { + props.onClick(event); + } + }; + + const descriptionId = `block-editor-block-mover-button__description-${instanceId}`; + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({ + ref: ref, + className: classnames_default()('block-editor-block-mover-button', `is-${direction}-button`), + icon: getArrowIcon(direction, orientation), + label: getMovementDirectionLabel(direction, orientation), + "aria-describedby": descriptionId + }, props, { + onClick: isDisabled ? null : onClick, + "aria-disabled": isDisabled + })), Object(external_wp_element_["createElement"])("span", { + id: descriptionId, + className: "block-editor-block-mover-button__description" + }, getBlockMoverDescription(blocksCount, blockType && blockType.title, firstIndex, isFirst, isLast, direction === 'up' ? -1 : 1, orientation))); +}); +const BlockMoverUpButton = Object(external_wp_element_["forwardRef"])((props, ref) => { + return Object(external_wp_element_["createElement"])(BlockMoverButton, Object(esm_extends["a" /* default */])({ + direction: "up", + ref: ref + }, props)); +}); +const BlockMoverDownButton = Object(external_wp_element_["forwardRef"])((props, ref) => { + return Object(external_wp_element_["createElement"])(BlockMoverButton, Object(esm_extends["a" /* default */])({ + direction: "down", + ref: ref + }, props)); +}); + + +/***/ }), + +/***/ "9XVa": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ utils["a" /* getFontSize */]; }); +__webpack_require__.d(__webpack_exports__, "c", function() { return /* reexport */ utils["b" /* getFontSizeClass */]; }); +__webpack_require__.d(__webpack_exports__, "d", function() { return /* reexport */ utils["c" /* getFontSizeObjectByValue */]; }); +__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ font_size_picker["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "e", function() { return /* reexport */ with_font_sizes; }); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/utils.js +var utils = __webpack_require__("NMUH"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/font-size-picker.js +var font_size_picker = __webpack_require__("QP/w"); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-setting/index.js +var use_setting = __webpack_require__("v5LD"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/with-font-sizes.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +const DEFAULT_FONT_SIZES = []; +/** + * 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 = Object(external_lodash_["reduce"])(fontSizeNames, (fontSizeAttributeNamesAccumulator, fontSizeAttributeName) => { + fontSizeAttributeNamesAccumulator[fontSizeAttributeName] = `custom${Object(external_lodash_["upperFirst"])(fontSizeAttributeName)}`; + return fontSizeAttributeNamesAccumulator; + }, {}); + return Object(external_wp_compose_["createHigherOrderComponent"])(Object(external_wp_compose_["compose"])([Object(external_wp_compose_["createHigherOrderComponent"])(WrappedComponent => props => { + const fontSizes = Object(use_setting["a" /* default */])('typography.fontSizes') || DEFAULT_FONT_SIZES; + return Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, props, { + fontSizes: fontSizes + })); + }, 'withFontSizes'), WrappedComponent => { + return class extends external_wp_element_["Component"] { + constructor(props) { + super(props); + this.setters = this.createSetters(); + this.state = {}; + } + + createSetters() { + return Object(external_lodash_["reduce"])(fontSizeAttributeNames, (settersAccumulator, customFontSizeAttributeName, fontSizeAttributeName) => { + const upperFirstFontSizeAttributeName = Object(external_lodash_["upperFirst"])(fontSizeAttributeName); + settersAccumulator[`set${upperFirstFontSizeAttributeName}`] = this.createSetFontSize(fontSizeAttributeName, customFontSizeAttributeName); + return settersAccumulator; + }, {}); + } + + createSetFontSize(fontSizeAttributeName, customFontSizeAttributeName) { + return fontSizeValue => { + const fontSizeObject = Object(external_lodash_["find"])(this.props.fontSizes, { + 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(external_lodash_["some"])(fontSizeAttributeNames, didAttributesChange)) { + return null; + } + + const newState = Object(external_lodash_["reduce"])(Object(external_lodash_["pickBy"])(fontSizeAttributeNames, didAttributesChange), (newStateAccumulator, customFontSizeAttributeName, fontSizeAttributeName) => { + const fontSizeAttributeValue = attributes[fontSizeAttributeName]; + const fontSizeObject = Object(utils["a" /* getFontSize */])(fontSizes, fontSizeAttributeValue, attributes[customFontSizeAttributeName]); + newStateAccumulator[fontSizeAttributeName] = { ...fontSizeObject, + class: Object(utils["b" /* getFontSizeClass */])(fontSizeAttributeValue) + }; + return newStateAccumulator; + }, {}); + return { ...previousState, + ...newState + }; + } + + render() { + return Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, this.props, { + fontSizes: undefined + }, this.state, this.setters)); + } + + }; + }]), 'withFontSizes'); +}); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/index.js + + + + + +/***/ }), + +/***/ "AHN3": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return STORE_NAME; }); +const STORE_NAME = 'core/block-editor'; + + +/***/ }), + +/***/ "AORF": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("HSyU"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("gdqT"); +/* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("BhPs"); +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + +/** + * @typedef WPInserterConfig + * + * @property {string=} rootClientId If set, insertion will be into the + * block with this ID. + * @property {number=} insertionIndex If set, insertion will be into this + * explicit position. + * @property {string=} clientId If set, insertion will be after the + * block with this ID. + * @property {boolean=} isAppender Whether the inserter is an appender + * or not. + * @property {Function=} onSelect Called after insertion. + */ + +/** + * Returns the insertion point state given the inserter config. + * + * @param {WPInserterConfig} config Inserter Config. + * @return {Array} Insertion Point State (rootClientID, onInsertBlocks and onToggle). + */ + +function useInsertionPoint({ + rootClientId = '', + insertionIndex, + clientId, + isAppender, + onSelect, + shouldFocusBlock = true +}) { + const { + getSelectedBlock + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__["useSelect"])(_store__WEBPACK_IMPORTED_MODULE_6__[/* store */ "a"]); + const { + destinationRootClientId, + destinationIndex + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__["useSelect"])(select => { + const { + getSelectedBlockClientId, + getBlockRootClientId, + getBlockIndex, + getBlockOrder + } = select(_store__WEBPACK_IMPORTED_MODULE_6__[/* store */ "a"]); + const selectedBlockClientId = getSelectedBlockClientId(); + let _destinationRootClientId = rootClientId; + + let _destinationIndex; + + if (insertionIndex !== undefined) { + // Insert into a specific index. + _destinationIndex = insertionIndex; + } else if (clientId) { + // Insert after a specific client ID. + _destinationIndex = getBlockIndex(clientId, _destinationRootClientId); + } else if (!isAppender && selectedBlockClientId) { + _destinationRootClientId = getBlockRootClientId(selectedBlockClientId); + _destinationIndex = getBlockIndex(selectedBlockClientId, _destinationRootClientId) + 1; + } else { + // Insert at the end of the list. + _destinationIndex = getBlockOrder(_destinationRootClientId).length; + } + + return { + destinationRootClientId: _destinationRootClientId, + destinationIndex: _destinationIndex + }; + }, [rootClientId, insertionIndex, clientId, isAppender]); + const { + replaceBlocks, + insertBlocks, + showInsertionPoint, + hideInsertionPoint + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__["useDispatch"])(_store__WEBPACK_IMPORTED_MODULE_6__[/* store */ "a"]); + const onInsertBlocks = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["useCallback"])((blocks, meta, shouldForceFocusBlock = false) => { + const selectedBlock = getSelectedBlock(); + + if (!isAppender && selectedBlock && Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__["isUnmodifiedDefaultBlock"])(selectedBlock)) { + replaceBlocks(selectedBlock.clientId, blocks, null, shouldFocusBlock || shouldForceFocusBlock ? 0 : null, meta); + } else { + insertBlocks(blocks, destinationIndex, destinationRootClientId, true, shouldFocusBlock || shouldForceFocusBlock ? 0 : null, meta); + } + + const message = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["sprintf"])( // translators: %d: the name of the block that has been added + Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["_n"])('%d block added.', '%d blocks added.', Object(lodash__WEBPACK_IMPORTED_MODULE_0__["castArray"])(blocks).length), Object(lodash__WEBPACK_IMPORTED_MODULE_0__["castArray"])(blocks).length); + Object(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_4__["speak"])(message); + + if (onSelect) { + onSelect(); + } + }, [isAppender, getSelectedBlock, replaceBlocks, insertBlocks, destinationRootClientId, destinationIndex, onSelect, shouldFocusBlock]); + const onToggleInsertionPoint = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["useCallback"])(show => { + if (show) { + showInsertionPoint(destinationRootClientId, destinationIndex); + } else { + hideInsertionPoint(); + } + }, [showInsertionPoint, hideInsertionPoint, destinationRootClientId, destinationIndex]); + return [destinationRootClientId, onInsertBlocks, onToggleInsertionPoint]; +} + +/* harmony default export */ __webpack_exports__["a"] = (useInsertionPoint); + + /***/ }), /***/ "B9Az": @@ -674,6 +16459,376 @@ const pencil = Object(external_wp_element_["createElement"])(external_wp_primiti /* harmony default export */ var edit = __webpack_exports__["a"] = (library_pencil); +/***/ }), + +/***/ "BCrt": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "c", function() { return /* reexport */ transform_styles["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "d", function() { return /* reexport */ validateThemeColors; }); +__webpack_require__.d(__webpack_exports__, "e", function() { return /* reexport */ validateThemeGradients; }); +__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ block_variation_transforms["a" /* __experimentalGetMatchingVariation */]; }); +__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ parse_css_unit_to_px; }); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/transform-styles/index.js + 8 modules +var transform_styles = __webpack_require__("vSu0"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/defaults.js +var defaults = __webpack_require__("lJLt"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/theme.js +/** + * Internal dependencies + */ + +/** + * Given an array of theme colors checks colors for validity + * + * @param {Array} colors The array of theme colors + * + * @return {Array} The array of valid theme colors or the default colors + */ + +function validateThemeColors(colors) { + if (colors === undefined) { + colors = defaults["b" /* SETTINGS_DEFAULTS */].colors; + } else { + const validColors = colors.filter(c => c.color); + + if (validColors.length === 0) { + colors = defaults["b" /* SETTINGS_DEFAULTS */].colors; + } else if (validColors.length < colors.length) { + // Filter out invalid colors + colors = validColors; + } + } + + return colors; +} +/** + * Given an array of theme gradients checks gradients for validity + * + * @param {Array} gradients The array of theme gradients + * + * @return {Array} The array of valid theme gradients or the default gradients + */ + +function validateThemeGradients(gradients) { + if (gradients === undefined) { + gradients = defaults["b" /* SETTINGS_DEFAULTS */].gradients; + } else { + const validGradients = gradients.filter(c => c.gradient); + + if (validGradients.length === 0) { + gradients = defaults["b" /* SETTINGS_DEFAULTS */].gradients; + } else if (validGradients.length < gradients.length) { + // Filter out invalid gradients + gradients = validGradients; + } + } + + return gradients; +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/block-variation-transforms.js +var block_variation_transforms = __webpack_require__("Btt3"); + +// 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 === null || cssUnit === void 0 ? void 0 : cssUnit.trim().match(/^(0?[-.]?\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) { + return Function(`'use strict'; return (${expression})`)(); +} +/** + * 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. + + const cssUnitsBits = cssUnit.split(/[+-/*/]/g).filter(Boolean); + + 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); + } + + return errorFound ? null : calculate(cssUnit).toFixed(0) + 'px'; +} +/** + * 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, options); + } + + 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); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/index.js + + + + + + /***/ }), /***/ "BLeD": @@ -681,6 +16836,5439 @@ const pencil = Object(external_wp_element_["createElement"])(external_wp_primiti (function() { module.exports = window["wp"]["tokenList"]; }()); +/***/ }), + +/***/ "BhPs": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ storeConfig; }); +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ store; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-editor/build-module/store/selectors.js +var selectors_namespaceObject = {}; +__webpack_require__.r(selectors_namespaceObject); +__webpack_require__.d(selectors_namespaceObject, "getBlockName", function() { return getBlockName; }); +__webpack_require__.d(selectors_namespaceObject, "isBlockValid", function() { return isBlockValid; }); +__webpack_require__.d(selectors_namespaceObject, "getBlockAttributes", function() { return getBlockAttributes; }); +__webpack_require__.d(selectors_namespaceObject, "getBlock", function() { return getBlock; }); +__webpack_require__.d(selectors_namespaceObject, "__unstableGetBlockWithoutInnerBlocks", function() { return __unstableGetBlockWithoutInnerBlocks; }); +__webpack_require__.d(selectors_namespaceObject, "getBlocks", function() { return getBlocks; }); +__webpack_require__.d(selectors_namespaceObject, "__unstableGetClientIdWithClientIdsTree", function() { return __unstableGetClientIdWithClientIdsTree; }); +__webpack_require__.d(selectors_namespaceObject, "__unstableGetClientIdsTree", function() { return __unstableGetClientIdsTree; }); +__webpack_require__.d(selectors_namespaceObject, "getClientIdsOfDescendants", function() { return getClientIdsOfDescendants; }); +__webpack_require__.d(selectors_namespaceObject, "getClientIdsWithDescendants", function() { return getClientIdsWithDescendants; }); +__webpack_require__.d(selectors_namespaceObject, "getGlobalBlockCount", function() { return getGlobalBlockCount; }); +__webpack_require__.d(selectors_namespaceObject, "getBlocksByClientId", function() { return getBlocksByClientId; }); +__webpack_require__.d(selectors_namespaceObject, "getBlockCount", function() { return getBlockCount; }); +__webpack_require__.d(selectors_namespaceObject, "getSelectionStart", function() { return getSelectionStart; }); +__webpack_require__.d(selectors_namespaceObject, "getSelectionEnd", function() { return getSelectionEnd; }); +__webpack_require__.d(selectors_namespaceObject, "getBlockSelectionStart", function() { return getBlockSelectionStart; }); +__webpack_require__.d(selectors_namespaceObject, "getBlockSelectionEnd", function() { return getBlockSelectionEnd; }); +__webpack_require__.d(selectors_namespaceObject, "getSelectedBlockCount", function() { return getSelectedBlockCount; }); +__webpack_require__.d(selectors_namespaceObject, "hasSelectedBlock", function() { return hasSelectedBlock; }); +__webpack_require__.d(selectors_namespaceObject, "getSelectedBlockClientId", function() { return getSelectedBlockClientId; }); +__webpack_require__.d(selectors_namespaceObject, "getSelectedBlock", function() { return getSelectedBlock; }); +__webpack_require__.d(selectors_namespaceObject, "getBlockRootClientId", function() { return getBlockRootClientId; }); +__webpack_require__.d(selectors_namespaceObject, "getBlockParents", function() { return getBlockParents; }); +__webpack_require__.d(selectors_namespaceObject, "getBlockParentsByBlockName", function() { return getBlockParentsByBlockName; }); +__webpack_require__.d(selectors_namespaceObject, "getBlockHierarchyRootClientId", function() { return getBlockHierarchyRootClientId; }); +__webpack_require__.d(selectors_namespaceObject, "getLowestCommonAncestorWithSelectedBlock", function() { return getLowestCommonAncestorWithSelectedBlock; }); +__webpack_require__.d(selectors_namespaceObject, "getAdjacentBlockClientId", function() { return getAdjacentBlockClientId; }); +__webpack_require__.d(selectors_namespaceObject, "getPreviousBlockClientId", function() { return getPreviousBlockClientId; }); +__webpack_require__.d(selectors_namespaceObject, "getNextBlockClientId", function() { return getNextBlockClientId; }); +__webpack_require__.d(selectors_namespaceObject, "getSelectedBlocksInitialCaretPosition", function() { return getSelectedBlocksInitialCaretPosition; }); +__webpack_require__.d(selectors_namespaceObject, "getSelectedBlockClientIds", function() { return getSelectedBlockClientIds; }); +__webpack_require__.d(selectors_namespaceObject, "getMultiSelectedBlockClientIds", function() { return getMultiSelectedBlockClientIds; }); +__webpack_require__.d(selectors_namespaceObject, "getMultiSelectedBlocks", function() { return getMultiSelectedBlocks; }); +__webpack_require__.d(selectors_namespaceObject, "getFirstMultiSelectedBlockClientId", function() { return getFirstMultiSelectedBlockClientId; }); +__webpack_require__.d(selectors_namespaceObject, "getLastMultiSelectedBlockClientId", function() { return getLastMultiSelectedBlockClientId; }); +__webpack_require__.d(selectors_namespaceObject, "isFirstMultiSelectedBlock", function() { return isFirstMultiSelectedBlock; }); +__webpack_require__.d(selectors_namespaceObject, "isBlockMultiSelected", function() { return isBlockMultiSelected; }); +__webpack_require__.d(selectors_namespaceObject, "isAncestorMultiSelected", function() { return isAncestorMultiSelected; }); +__webpack_require__.d(selectors_namespaceObject, "getMultiSelectedBlocksStartClientId", function() { return getMultiSelectedBlocksStartClientId; }); +__webpack_require__.d(selectors_namespaceObject, "getMultiSelectedBlocksEndClientId", function() { return getMultiSelectedBlocksEndClientId; }); +__webpack_require__.d(selectors_namespaceObject, "getBlockOrder", function() { return getBlockOrder; }); +__webpack_require__.d(selectors_namespaceObject, "getBlockIndex", function() { return getBlockIndex; }); +__webpack_require__.d(selectors_namespaceObject, "isBlockSelected", function() { return isBlockSelected; }); +__webpack_require__.d(selectors_namespaceObject, "hasSelectedInnerBlock", function() { return hasSelectedInnerBlock; }); +__webpack_require__.d(selectors_namespaceObject, "isBlockWithinSelection", function() { return isBlockWithinSelection; }); +__webpack_require__.d(selectors_namespaceObject, "hasMultiSelection", function() { return hasMultiSelection; }); +__webpack_require__.d(selectors_namespaceObject, "isMultiSelecting", function() { return selectors_isMultiSelecting; }); +__webpack_require__.d(selectors_namespaceObject, "isSelectionEnabled", function() { return selectors_isSelectionEnabled; }); +__webpack_require__.d(selectors_namespaceObject, "getBlockMode", function() { return getBlockMode; }); +__webpack_require__.d(selectors_namespaceObject, "isTyping", function() { return selectors_isTyping; }); +__webpack_require__.d(selectors_namespaceObject, "isDraggingBlocks", function() { return isDraggingBlocks; }); +__webpack_require__.d(selectors_namespaceObject, "getDraggedBlockClientIds", function() { return getDraggedBlockClientIds; }); +__webpack_require__.d(selectors_namespaceObject, "isBlockBeingDragged", function() { return isBlockBeingDragged; }); +__webpack_require__.d(selectors_namespaceObject, "isAncestorBeingDragged", function() { return isAncestorBeingDragged; }); +__webpack_require__.d(selectors_namespaceObject, "isCaretWithinFormattedText", function() { return selectors_isCaretWithinFormattedText; }); +__webpack_require__.d(selectors_namespaceObject, "getBlockInsertionPoint", function() { return getBlockInsertionPoint; }); +__webpack_require__.d(selectors_namespaceObject, "isBlockInsertionPointVisible", function() { return isBlockInsertionPointVisible; }); +__webpack_require__.d(selectors_namespaceObject, "isValidTemplate", function() { return selectors_isValidTemplate; }); +__webpack_require__.d(selectors_namespaceObject, "getTemplate", function() { return getTemplate; }); +__webpack_require__.d(selectors_namespaceObject, "getTemplateLock", function() { return getTemplateLock; }); +__webpack_require__.d(selectors_namespaceObject, "canInsertBlockType", function() { return canInsertBlockType; }); +__webpack_require__.d(selectors_namespaceObject, "canInsertBlocks", function() { return canInsertBlocks; }); +__webpack_require__.d(selectors_namespaceObject, "canRemoveBlock", function() { return canRemoveBlock; }); +__webpack_require__.d(selectors_namespaceObject, "canRemoveBlocks", function() { return selectors_canRemoveBlocks; }); +__webpack_require__.d(selectors_namespaceObject, "canMoveBlock", function() { return canMoveBlock; }); +__webpack_require__.d(selectors_namespaceObject, "canMoveBlocks", function() { return selectors_canMoveBlocks; }); +__webpack_require__.d(selectors_namespaceObject, "getInserterItems", function() { return getInserterItems; }); +__webpack_require__.d(selectors_namespaceObject, "getBlockTransformItems", function() { return getBlockTransformItems; }); +__webpack_require__.d(selectors_namespaceObject, "hasInserterItems", function() { return hasInserterItems; }); +__webpack_require__.d(selectors_namespaceObject, "__experimentalGetAllowedBlocks", function() { return __experimentalGetAllowedBlocks; }); +__webpack_require__.d(selectors_namespaceObject, "__experimentalGetDirectInsertBlock", function() { return __experimentalGetDirectInsertBlock; }); +__webpack_require__.d(selectors_namespaceObject, "__experimentalGetParsedPattern", function() { return __experimentalGetParsedPattern; }); +__webpack_require__.d(selectors_namespaceObject, "__experimentalGetAllowedPatterns", function() { return __experimentalGetAllowedPatterns; }); +__webpack_require__.d(selectors_namespaceObject, "__experimentalGetPatternsByBlockTypes", function() { return __experimentalGetPatternsByBlockTypes; }); +__webpack_require__.d(selectors_namespaceObject, "__experimentalGetPatternTransformItems", function() { return __experimentalGetPatternTransformItems; }); +__webpack_require__.d(selectors_namespaceObject, "getBlockListSettings", function() { return getBlockListSettings; }); +__webpack_require__.d(selectors_namespaceObject, "getSettings", function() { return getSettings; }); +__webpack_require__.d(selectors_namespaceObject, "isLastBlockChangePersistent", function() { return isLastBlockChangePersistent; }); +__webpack_require__.d(selectors_namespaceObject, "__experimentalGetBlockListSettingsForBlocks", function() { return __experimentalGetBlockListSettingsForBlocks; }); +__webpack_require__.d(selectors_namespaceObject, "__experimentalGetReusableBlockTitle", function() { return __experimentalGetReusableBlockTitle; }); +__webpack_require__.d(selectors_namespaceObject, "__unstableIsLastBlockChangeIgnored", function() { return __unstableIsLastBlockChangeIgnored; }); +__webpack_require__.d(selectors_namespaceObject, "__experimentalGetLastBlockAttributeChanges", function() { return __experimentalGetLastBlockAttributeChanges; }); +__webpack_require__.d(selectors_namespaceObject, "isNavigationMode", function() { return selectors_isNavigationMode; }); +__webpack_require__.d(selectors_namespaceObject, "hasBlockMovingClientId", function() { return selectors_hasBlockMovingClientId; }); +__webpack_require__.d(selectors_namespaceObject, "didAutomaticChange", function() { return didAutomaticChange; }); +__webpack_require__.d(selectors_namespaceObject, "isBlockHighlighted", function() { return isBlockHighlighted; }); +__webpack_require__.d(selectors_namespaceObject, "areInnerBlocksControlled", function() { return areInnerBlocksControlled; }); +__webpack_require__.d(selectors_namespaceObject, "__experimentalGetActiveBlockIdByBlockNames", function() { return __experimentalGetActiveBlockIdByBlockNames; }); +__webpack_require__.d(selectors_namespaceObject, "wasBlockJustInserted", function() { return wasBlockJustInserted; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-editor/build-module/store/actions.js +var actions_namespaceObject = {}; +__webpack_require__.r(actions_namespaceObject); +__webpack_require__.d(actions_namespaceObject, "resetBlocks", function() { return resetBlocks; }); +__webpack_require__.d(actions_namespaceObject, "validateBlocksToTemplate", function() { return validateBlocksToTemplate; }); +__webpack_require__.d(actions_namespaceObject, "resetSelection", function() { return resetSelection; }); +__webpack_require__.d(actions_namespaceObject, "receiveBlocks", function() { return receiveBlocks; }); +__webpack_require__.d(actions_namespaceObject, "updateBlockAttributes", function() { return updateBlockAttributes; }); +__webpack_require__.d(actions_namespaceObject, "updateBlock", function() { return updateBlock; }); +__webpack_require__.d(actions_namespaceObject, "selectBlock", function() { return selectBlock; }); +__webpack_require__.d(actions_namespaceObject, "selectPreviousBlock", function() { return selectPreviousBlock; }); +__webpack_require__.d(actions_namespaceObject, "selectNextBlock", function() { return selectNextBlock; }); +__webpack_require__.d(actions_namespaceObject, "startMultiSelect", function() { return startMultiSelect; }); +__webpack_require__.d(actions_namespaceObject, "stopMultiSelect", function() { return stopMultiSelect; }); +__webpack_require__.d(actions_namespaceObject, "multiSelect", function() { return multiSelect; }); +__webpack_require__.d(actions_namespaceObject, "clearSelectedBlock", function() { return clearSelectedBlock; }); +__webpack_require__.d(actions_namespaceObject, "toggleSelection", function() { return toggleSelection; }); +__webpack_require__.d(actions_namespaceObject, "replaceBlocks", function() { return replaceBlocks; }); +__webpack_require__.d(actions_namespaceObject, "replaceBlock", function() { return replaceBlock; }); +__webpack_require__.d(actions_namespaceObject, "moveBlocksDown", function() { return moveBlocksDown; }); +__webpack_require__.d(actions_namespaceObject, "moveBlocksUp", function() { return moveBlocksUp; }); +__webpack_require__.d(actions_namespaceObject, "moveBlocksToPosition", function() { return moveBlocksToPosition; }); +__webpack_require__.d(actions_namespaceObject, "moveBlockToPosition", function() { return moveBlockToPosition; }); +__webpack_require__.d(actions_namespaceObject, "insertBlock", function() { return insertBlock; }); +__webpack_require__.d(actions_namespaceObject, "insertBlocks", function() { return insertBlocks; }); +__webpack_require__.d(actions_namespaceObject, "showInsertionPoint", function() { return showInsertionPoint; }); +__webpack_require__.d(actions_namespaceObject, "hideInsertionPoint", function() { return hideInsertionPoint; }); +__webpack_require__.d(actions_namespaceObject, "setTemplateValidity", function() { return setTemplateValidity; }); +__webpack_require__.d(actions_namespaceObject, "synchronizeTemplate", function() { return synchronizeTemplate; }); +__webpack_require__.d(actions_namespaceObject, "mergeBlocks", function() { return mergeBlocks; }); +__webpack_require__.d(actions_namespaceObject, "removeBlocks", function() { return removeBlocks; }); +__webpack_require__.d(actions_namespaceObject, "removeBlock", function() { return removeBlock; }); +__webpack_require__.d(actions_namespaceObject, "replaceInnerBlocks", function() { return replaceInnerBlocks; }); +__webpack_require__.d(actions_namespaceObject, "toggleBlockMode", function() { return toggleBlockMode; }); +__webpack_require__.d(actions_namespaceObject, "startTyping", function() { return startTyping; }); +__webpack_require__.d(actions_namespaceObject, "stopTyping", function() { return stopTyping; }); +__webpack_require__.d(actions_namespaceObject, "startDraggingBlocks", function() { return startDraggingBlocks; }); +__webpack_require__.d(actions_namespaceObject, "stopDraggingBlocks", function() { return stopDraggingBlocks; }); +__webpack_require__.d(actions_namespaceObject, "enterFormattedText", function() { return enterFormattedText; }); +__webpack_require__.d(actions_namespaceObject, "exitFormattedText", function() { return exitFormattedText; }); +__webpack_require__.d(actions_namespaceObject, "selectionChange", function() { return selectionChange; }); +__webpack_require__.d(actions_namespaceObject, "insertDefaultBlock", function() { return insertDefaultBlock; }); +__webpack_require__.d(actions_namespaceObject, "updateBlockListSettings", function() { return updateBlockListSettings; }); +__webpack_require__.d(actions_namespaceObject, "updateSettings", function() { return updateSettings; }); +__webpack_require__.d(actions_namespaceObject, "__unstableSaveReusableBlock", function() { return __unstableSaveReusableBlock; }); +__webpack_require__.d(actions_namespaceObject, "__unstableMarkLastChangeAsPersistent", function() { return __unstableMarkLastChangeAsPersistent; }); +__webpack_require__.d(actions_namespaceObject, "__unstableMarkNextChangeAsNotPersistent", function() { return __unstableMarkNextChangeAsNotPersistent; }); +__webpack_require__.d(actions_namespaceObject, "__unstableMarkAutomaticChange", function() { return __unstableMarkAutomaticChange; }); +__webpack_require__.d(actions_namespaceObject, "setNavigationMode", function() { return setNavigationMode; }); +__webpack_require__.d(actions_namespaceObject, "setBlockMovingClientId", function() { return setBlockMovingClientId; }); +__webpack_require__.d(actions_namespaceObject, "duplicateBlocks", function() { return duplicateBlocks; }); +__webpack_require__.d(actions_namespaceObject, "insertBeforeBlock", function() { return insertBeforeBlock; }); +__webpack_require__.d(actions_namespaceObject, "insertAfterBlock", function() { return insertAfterBlock; }); +__webpack_require__.d(actions_namespaceObject, "toggleBlockHighlight", function() { return toggleBlockHighlight; }); +__webpack_require__.d(actions_namespaceObject, "flashBlock", function() { return flashBlock; }); +__webpack_require__.d(actions_namespaceObject, "setHasControlledInnerBlocks", function() { return setHasControlledInnerBlocks; }); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/defaults.js +var defaults = __webpack_require__("lJLt"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/array.js +/** + * External dependencies + */ + +/** + * Insert one or multiple elements into a given position of an array. + * + * @param {Array} array Source array. + * @param {*} elements Elements to insert. + * @param {number} index Insert Position. + * + * @return {Array} Result. + */ + +function insertAt(array, elements, index) { + return [...array.slice(0, index), ...Object(external_lodash_["castArray"])(elements), ...array.slice(index)]; +} +/** + * Moves an element in an array. + * + * @param {Array} array Source array. + * @param {number} from Source index. + * @param {number} to Destination index. + * @param {number} count Number of elements to move. + * + * @return {Array} Result. + */ + +function moveTo(array, from, to, count = 1) { + const withoutMovedElements = [...array]; + withoutMovedElements.splice(from, count); + return insertAt(withoutMovedElements, array.slice(from, from + count), to); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/reducer.js +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +/** + * Given an array of blocks, returns an object where each key is a nesting + * context, the value of which is an array of block client IDs existing within + * that nesting context. + * + * @param {Array} blocks Blocks to map. + * @param {?string} rootClientId Assumed root client ID. + * + * @return {Object} Block order map object. + */ + +function mapBlockOrder(blocks, rootClientId = '') { + const result = { + [rootClientId]: [] + }; + blocks.forEach(block => { + const { + clientId, + innerBlocks + } = block; + result[rootClientId].push(clientId); + Object.assign(result, mapBlockOrder(innerBlocks, clientId)); + }); + return result; +} +/** + * Given an array of blocks, returns an object where each key contains + * the clientId of the block and the value is the parent of the block. + * + * @param {Array} blocks Blocks to map. + * @param {?string} rootClientId Assumed root client ID. + * + * @return {Object} Block order map object. + */ + + +function mapBlockParents(blocks, rootClientId = '') { + return blocks.reduce((result, block) => Object.assign(result, { + [block.clientId]: rootClientId + }, mapBlockParents(block.innerBlocks, block.clientId)), {}); +} +/** + * Helper method to iterate through all blocks, recursing into inner blocks, + * applying a transformation function to each one. + * Returns a flattened object with the transformed blocks. + * + * @param {Array} blocks Blocks to flatten. + * @param {Function} transform Transforming function to be applied to each block. + * + * @return {Object} Flattened object. + */ + + +function flattenBlocks(blocks, transform = external_lodash_["identity"]) { + const result = {}; + const stack = [...blocks]; + + while (stack.length) { + const { + innerBlocks, + ...block + } = stack.shift(); + stack.push(...innerBlocks); + result[block.clientId] = transform(block); + } + + return result; +} +/** + * Given an array of blocks, returns an object containing all blocks, without + * attributes, recursing into inner blocks. Keys correspond to the block client + * ID, the value of which is the attributes object. + * + * @param {Array} blocks Blocks to flatten. + * + * @return {Object} Flattened block attributes object. + */ + + +function getFlattenedBlocksWithoutAttributes(blocks) { + return flattenBlocks(blocks, block => Object(external_lodash_["omit"])(block, 'attributes')); +} +/** + * Given an array of blocks, returns an object containing all block attributes, + * recursing into inner blocks. Keys correspond to the block client ID, the + * value of which is the attributes object. + * + * @param {Array} blocks Blocks to flatten. + * + * @return {Object} Flattened block attributes object. + */ + + +function getFlattenedBlockAttributes(blocks) { + return flattenBlocks(blocks, block => block.attributes); +} +/** + * Given a block order map object, returns *all* of the block client IDs that are + * a descendant of the given root client ID. + * + * Calling this with `rootClientId` set to `''` results in a list of client IDs + * that are in the post. That is, it excludes blocks like fetched reusable + * blocks which are stored into state but not visible. It also excludes + * InnerBlocks controllers, like template parts. + * + * It is important to exclude the full inner block controller and not just the + * inner blocks because in many cases, we need to persist the previous value of + * an inner block controller. To do so, it must be excluded from the list of + * client IDs which are considered to be part of the top-level entity. + * + * @param {Object} blocksOrder Object that maps block client IDs to a list of + * nested block client IDs. + * @param {?string} rootClientId The root client ID to search. Defaults to ''. + * @param {?Object} controlledInnerBlocks The InnerBlocks controller state. + * + * @return {Array} List of descendant client IDs. + */ + + +function getNestedBlockClientIds(blocksOrder, rootClientId = '', controlledInnerBlocks = {}) { + return Object(external_lodash_["reduce"])(blocksOrder[rootClientId], (result, clientId) => { + if (!!controlledInnerBlocks[clientId]) { + return result; + } + + return [...result, clientId, ...getNestedBlockClientIds(blocksOrder, clientId)]; + }, []); +} +/** + * Returns an object against which it is safe to perform mutating operations, + * given the original object and its current working copy. + * + * @param {Object} original Original object. + * @param {Object} working Working object. + * + * @return {Object} Mutation-safe object. + */ + + +function getMutateSafeObject(original, working) { + if (original === working) { + return { ...original + }; + } + + return working; +} +/** + * Returns true if the two object arguments have the same keys, or false + * otherwise. + * + * @param {Object} a First object. + * @param {Object} b Second object. + * + * @return {boolean} Whether the two objects have the same keys. + */ + + +function hasSameKeys(a, b) { + return Object(external_lodash_["isEqual"])(Object(external_lodash_["keys"])(a), Object(external_lodash_["keys"])(b)); +} +/** + * Returns true if, given the currently dispatching action and the previously + * dispatched action, the two actions are updating the same block attribute, or + * false otherwise. + * + * @param {Object} action Currently dispatching action. + * @param {Object} lastAction Previously dispatched action. + * + * @return {boolean} Whether actions are updating the same block attribute. + */ + +function isUpdatingSameBlockAttribute(action, lastAction) { + return action.type === 'UPDATE_BLOCK_ATTRIBUTES' && lastAction !== undefined && lastAction.type === 'UPDATE_BLOCK_ATTRIBUTES' && Object(external_lodash_["isEqual"])(action.clientIds, lastAction.clientIds) && hasSameKeys(action.attributes, lastAction.attributes); +} + +function buildBlockTree(state, blocks) { + const result = {}; + const stack = [...blocks]; + const flattenedBlocks = [...blocks]; + + while (stack.length) { + const block = stack.shift(); + stack.push(...block.innerBlocks); + flattenedBlocks.push(...block.innerBlocks); + } // Create objects before mutating them, that way it's always defined. + + + for (const block of flattenedBlocks) { + result[block.clientId] = {}; + } + + for (const block of flattenedBlocks) { + result[block.clientId] = Object.assign(result[block.clientId], { ...state.byClientId[block.clientId], + attributes: state.attributes[block.clientId], + innerBlocks: block.innerBlocks.map(subBlock => result[subBlock.clientId]) + }); + } + + return result; +} + +function updateParentInnerBlocksInTree(state, tree, updatedClientIds, updateChildrenOfUpdatedClientIds = false) { + const uncontrolledParents = new Set([]); + const controlledParents = new Set(); + + for (const clientId of updatedClientIds) { + let current = updateChildrenOfUpdatedClientIds ? clientId : state.parents[clientId]; + + do { + if (state.controlledInnerBlocks[current]) { + // Should stop on controlled blocks. + // If we reach a controlled parent, break out of the loop. + controlledParents.add(current); + break; + } else { + // else continue traversing up through parents. + uncontrolledParents.add(current); + current = state.parents[current]; + } + } while (current !== undefined); + } // To make sure the order of assignments doesn't matter, + // we first create empty objects and mutates the inner blocks later. + + + for (const clientId of uncontrolledParents) { + tree[clientId] = { ...tree[clientId] + }; + } + + for (const clientId of uncontrolledParents) { + tree[clientId].innerBlocks = (state.order[clientId] || []).map(subClientId => tree[subClientId]); + } // Controlled parent blocks, need a dedicated key for their inner blocks + // to be used when doing getBlocks( controlledBlockClientId ). + + + for (const clientId of controlledParents) { + tree['controlled||' + clientId] = { + innerBlocks: (state.order[clientId] || []).map(subClientId => tree[subClientId]) + }; + } + + return tree; +} +/** + * Higher-order reducer intended to compute full block objects key for each block in the post. + * This is a denormalization to optimize the performance of the getBlock selectors and avoid + * recomputing the block objects and avoid heavy memoization. + * + * @param {Function} reducer Original reducer function. + * + * @return {Function} Enhanced reducer function. + */ + + +const withBlockTree = reducer => (state = {}, action) => { + const newState = reducer(state, action); + + if (newState === state) { + return state; + } + + newState.tree = state.tree ? state.tree : {}; + + switch (action.type) { + case 'RECEIVE_BLOCKS': + case 'INSERT_BLOCKS': + { + const subTree = buildBlockTree(newState, action.blocks); + newState.tree = updateParentInnerBlocksInTree(newState, { ...newState.tree, + ...subTree + }, action.rootClientId ? [action.rootClientId] : [''], true); + break; + } + + case 'UPDATE_BLOCK': + newState.tree = updateParentInnerBlocksInTree(newState, { ...newState.tree, + [action.clientId]: { ...newState.tree[action.clientId], + ...newState.byClientId[action.clientId], + attributes: newState.attributes[action.clientId] + } + }, [action.clientId], false); + break; + + case 'UPDATE_BLOCK_ATTRIBUTES': + { + const newSubTree = action.clientIds.reduce((result, clientId) => { + result[clientId] = { ...newState.tree[clientId], + attributes: newState.attributes[clientId] + }; + return result; + }, {}); + newState.tree = updateParentInnerBlocksInTree(newState, { ...newState.tree, + ...newSubTree + }, action.clientIds, false); + break; + } + + case 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN': + { + const subTree = buildBlockTree(newState, action.blocks); + newState.tree = updateParentInnerBlocksInTree(newState, { ...Object(external_lodash_["omit"])(newState.tree, action.replacedClientIds.concat(action.replacedClientIds.map(clientId => 'controlled||' + clientId))), + ...subTree + }, action.blocks.map(b => b.clientId), false); // If there are no replaced blocks, it means we're removing blocks so we need to update their parent. + + const parentsOfRemovedBlocks = []; + + for (const clientId of action.clientIds) { + if (state.parents[clientId] !== undefined && (state.parents[clientId] === '' || newState.byClientId[state.parents[clientId]])) { + parentsOfRemovedBlocks.push(state.parents[clientId]); + } + } + + newState.tree = updateParentInnerBlocksInTree(newState, newState.tree, parentsOfRemovedBlocks, true); + break; + } + + case 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN': + const parentsOfRemovedBlocks = []; + + for (const clientId of action.clientIds) { + if (state.parents[clientId] !== undefined && (state.parents[clientId] === '' || newState.byClientId[state.parents[clientId]])) { + parentsOfRemovedBlocks.push(state.parents[clientId]); + } + } + + newState.tree = updateParentInnerBlocksInTree(newState, Object(external_lodash_["omit"])(newState.tree, action.removedClientIds.concat(action.removedClientIds.map(clientId => 'controlled||' + clientId))), parentsOfRemovedBlocks, true); + break; + + case 'MOVE_BLOCKS_TO_POSITION': + { + const updatedBlockUids = []; + + if (action.fromRootClientId) { + updatedBlockUids.push(action.fromRootClientId); + } + + if (action.toRootClientId) { + updatedBlockUids.push(action.toRootClientId); + } + + if (!action.fromRootClientId || !action.fromRootClientId) { + updatedBlockUids.push(''); + } + + newState.tree = updateParentInnerBlocksInTree(newState, newState.tree, updatedBlockUids, true); + break; + } + + case 'MOVE_BLOCKS_UP': + case 'MOVE_BLOCKS_DOWN': + { + const updatedBlockUids = [action.rootClientId ? action.rootClientId : '']; + newState.tree = updateParentInnerBlocksInTree(newState, newState.tree, updatedBlockUids, true); + break; + } + + case 'SAVE_REUSABLE_BLOCK_SUCCESS': + { + const updatedBlockUids = Object(external_lodash_["keys"])(Object(external_lodash_["omitBy"])(newState.attributes, (attributes, clientId) => { + return newState.byClientId[clientId].name !== 'core/block' || attributes.ref !== action.updatedId; + })); + newState.tree = updateParentInnerBlocksInTree(newState, { ...newState.tree, + ...updatedBlockUids.reduce((result, clientId) => { + result[clientId] = { ...newState.byClientId[clientId], + attributes: newState.attributes[clientId], + innerBlocks: newState.tree[clientId].innerBlocks + }; + return result; + }, {}) + }, updatedBlockUids, false); + } + } + + return newState; +}; +/** + * Higher-order reducer intended to augment the blocks reducer, assigning an + * `isPersistentChange` property value corresponding to whether a change in + * state can be considered as persistent. All changes are considered persistent + * except when updating the same block attribute as in the previous action. + * + * @param {Function} reducer Original reducer function. + * + * @return {Function} Enhanced reducer function. + */ + + +function withPersistentBlockChange(reducer) { + let lastAction; + let markNextChangeAsNotPersistent = false; + return (state, action) => { + let nextState = reducer(state, action); + 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; + + markNextChangeAsNotPersistent = action.type === 'MARK_NEXT_CHANGE_AS_NOT_PERSISTENT'; + const nextIsPersistentChange = (_state$isPersistentCh = state === null || state === void 0 ? void 0 : state.isPersistentChange) !== null && _state$isPersistentCh !== void 0 ? _state$isPersistentCh : true; + + if (state.isPersistentChange === nextIsPersistentChange) { + return state; + } + + return { ...nextState, + isPersistentChange: nextIsPersistentChange + }; + } + + nextState = { ...nextState, + isPersistentChange: isExplicitPersistentChange ? !markNextChangeAsNotPersistent : !isUpdatingSameBlockAttribute(action, lastAction) + }; // In comparing against the previous action, consider only those which + // would have qualified as one which would have been ignored or not + // have resulted in a changed state. + + lastAction = action; + markNextChangeAsNotPersistent = action.type === 'MARK_NEXT_CHANGE_AS_NOT_PERSISTENT'; + return nextState; + }; +} +/** + * Higher-order reducer intended to augment the blocks reducer, assigning an + * `isIgnoredChange` property value corresponding to whether a change in state + * can be considered as ignored. A change is considered ignored when the result + * of an action not incurred by direct user interaction. + * + * @param {Function} reducer Original reducer function. + * + * @return {Function} Enhanced reducer function. + */ + + +function withIgnoredBlockChange(reducer) { + /** + * Set of action types for which a blocks state change should be ignored. + * + * @type {Set} + */ + const IGNORED_ACTION_TYPES = new Set(['RECEIVE_BLOCKS']); + return (state, action) => { + const nextState = reducer(state, action); + + if (nextState !== state) { + nextState.isIgnoredChange = IGNORED_ACTION_TYPES.has(action.type); + } + + return nextState; + }; +} +/** + * Higher-order reducer targeting the combined blocks reducer, augmenting + * block client IDs in remove action to include cascade of inner blocks. + * + * @param {Function} reducer Original reducer function. + * + * @return {Function} Enhanced reducer function. + */ + + +const withInnerBlocksRemoveCascade = reducer => (state, action) => { + // Gets all children which need to be removed. + const getAllChildren = clientIds => { + let result = clientIds; + + for (let i = 0; i < result.length; i++) { + if (!state.order[result[i]] || action.keepControlledInnerBlocks && action.keepControlledInnerBlocks[result[i]]) { + continue; + } + + if (result === clientIds) { + result = [...result]; + } + + result.push(...state.order[result[i]]); + } + + return result; + }; + + if (state) { + switch (action.type) { + case 'REMOVE_BLOCKS': + action = { ...action, + type: 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN', + removedClientIds: getAllChildren(action.clientIds) + }; + break; + + case 'REPLACE_BLOCKS': + action = { ...action, + type: 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN', + replacedClientIds: getAllChildren(action.clientIds) + }; + break; + } + } + + return reducer(state, action); +}; +/** + * Higher-order reducer which targets the combined blocks reducer and handles + * the `RESET_BLOCKS` action. When dispatched, this action will replace all + * blocks that exist in the post, leaving blocks that exist only in state (e.g. + * reusable blocks and blocks controlled by inner blocks controllers) alone. + * + * @param {Function} reducer Original reducer function. + * + * @return {Function} Enhanced reducer function. + */ + + +const withBlockReset = reducer => (state, action) => { + if (action.type === 'RESET_BLOCKS') { + var _state$order, _state$controlledInne, _state$controlledInne2; + + /** + * A list of client IDs associated with the top level entity (like a + * post or template). It excludes the client IDs of blocks associated + * with other entities, like inner block controllers or reusable blocks. + */ + const visibleClientIds = getNestedBlockClientIds((_state$order = state === null || state === void 0 ? void 0 : state.order) !== null && _state$order !== void 0 ? _state$order : {}, '', (_state$controlledInne = state === null || state === void 0 ? void 0 : state.controlledInnerBlocks) !== null && _state$controlledInne !== void 0 ? _state$controlledInne : {}); // pickBy returns only the truthy values from controlledInnerBlocks + + const controlledInnerBlocks = Object.keys(Object(external_lodash_["pickBy"])((_state$controlledInne2 = state === null || state === void 0 ? void 0 : state.controlledInnerBlocks) !== null && _state$controlledInne2 !== void 0 ? _state$controlledInne2 : {})); + /** + * Each update operation consists of a few parts: + * 1. First, the client IDs associated with the top level entity are + * removed from the existing state key, leaving in place controlled + * blocks (like reusable blocks and inner block controllers). + * 2. Second, the blocks from the reset action are used to calculate the + * individual state keys. This will re-populate the clientIDs which + * were removed in step 1. + * 3. In some cases, we remove the recalculated inner block controllers, + * letting their old values persist. We need to do this because the + * reset block action from a top-level entity is not aware of any + * inner blocks inside InnerBlock controllers. So if the new values + * were used, it would not take into account the existing InnerBlocks + * which already exist in the state for inner block controllers. For + * example, `attributes` uses the newly computed value for controllers + * since attributes are stored in the top-level entity. But `order` + * uses the previous value for the controllers since the new value + * does not include the order of controlled inner blocks. So if the + * new value was used, template parts would disappear from the editor + * whenever you try to undo a change in the top level entity. + */ + + const newState = { ...state, + byClientId: { ...Object(external_lodash_["omit"])(state === null || state === void 0 ? void 0 : state.byClientId, visibleClientIds), + ...getFlattenedBlocksWithoutAttributes(action.blocks) + }, + attributes: { ...Object(external_lodash_["omit"])(state === null || state === void 0 ? void 0 : state.attributes, visibleClientIds), + ...getFlattenedBlockAttributes(action.blocks) + }, + order: { ...Object(external_lodash_["omit"])(state === null || state === void 0 ? void 0 : state.order, visibleClientIds), + ...Object(external_lodash_["omit"])(mapBlockOrder(action.blocks), controlledInnerBlocks) + }, + parents: { ...Object(external_lodash_["omit"])(state === null || state === void 0 ? void 0 : state.parents, visibleClientIds), + ...mapBlockParents(action.blocks) + }, + controlledInnerBlocks: (state === null || state === void 0 ? void 0 : state.controlledInnerBlocks) || {} + }; + const subTree = buildBlockTree(newState, action.blocks); + newState.tree = { ...Object(external_lodash_["omit"])(state === null || state === void 0 ? void 0 : state.tree, visibleClientIds), + ...subTree, + // Root + '': { + innerBlocks: action.blocks.map(subBlock => subTree[subBlock.clientId]) + } + }; + return newState; + } + + return reducer(state, action); +}; +/** + * Higher-order reducer which targets the combined blocks reducer and handles + * the `REPLACE_INNER_BLOCKS` action. When dispatched, this action the state + * should become equivalent to the execution of a `REMOVE_BLOCKS` action + * containing all the child's of the root block followed by the execution of + * `INSERT_BLOCKS` with the new blocks. + * + * @param {Function} reducer Original reducer function. + * + * @return {Function} Enhanced reducer function. + */ + + +const withReplaceInnerBlocks = reducer => (state, action) => { + if (action.type !== 'REPLACE_INNER_BLOCKS') { + return reducer(state, action); + } // Finds every nested inner block controller. We must check the action blocks + // and not just the block parent state because some inner block controllers + // should be deleted if specified, whereas others should not be deleted. If + // a controlled should not be deleted, then we need to avoid deleting its + // inner blocks from the block state because its inner blocks will not be + // attached to the block in the action. + + + const nestedControllers = {}; + + if (Object.keys(state.controlledInnerBlocks).length) { + const stack = [...action.blocks]; + + while (stack.length) { + const { + innerBlocks, + ...block + } = stack.shift(); + stack.push(...innerBlocks); + + if (!!state.controlledInnerBlocks[block.clientId]) { + nestedControllers[block.clientId] = true; + } + } + } // The `keepControlledInnerBlocks` prop will keep the inner blocks of the + // marked block in the block state so that they can be reattached to the + // marked block when we re-insert everything a few lines below. + + + let stateAfterBlocksRemoval = state; + + if (state.order[action.rootClientId]) { + stateAfterBlocksRemoval = reducer(stateAfterBlocksRemoval, { + type: 'REMOVE_BLOCKS', + keepControlledInnerBlocks: nestedControllers, + clientIds: state.order[action.rootClientId] + }); + } + + let stateAfterInsert = stateAfterBlocksRemoval; + + if (action.blocks.length) { + stateAfterInsert = reducer(stateAfterInsert, { ...action, + type: 'INSERT_BLOCKS', + index: 0 + }); // We need to re-attach the block order of the controlled inner blocks. + // Otherwise, an inner block controller's blocks will be deleted entirely + // from its entity.. + + stateAfterInsert.order = { ...stateAfterInsert.order, + ...Object(external_lodash_["reduce"])(nestedControllers, (result, value, key) => { + if (state.order[key]) { + result[key] = state.order[key]; + } + + return result; + }, {}) + }; + } + + return stateAfterInsert; +}; +/** + * Higher-order reducer which targets the combined blocks reducer and handles + * the `SAVE_REUSABLE_BLOCK_SUCCESS` action. This action can't be handled by + * regular reducers and needs a higher-order reducer since it needs access to + * both `byClientId` and `attributes` simultaneously. + * + * @param {Function} reducer Original reducer function. + * + * @return {Function} Enhanced reducer function. + */ + + +const withSaveReusableBlock = reducer => (state, action) => { + if (state && action.type === 'SAVE_REUSABLE_BLOCK_SUCCESS') { + const { + id, + updatedId + } = action; // If a temporary reusable block is saved, we swap the temporary id with the final one + + if (id === updatedId) { + return state; + } + + state = { ...state + }; + state.attributes = Object(external_lodash_["mapValues"])(state.attributes, (attributes, clientId) => { + const { + name + } = state.byClientId[clientId]; + + if (name === 'core/block' && attributes.ref === id) { + return { ...attributes, + ref: updatedId + }; + } + + return attributes; + }); + } + + return reducer(state, action); +}; +/** + * Reducer returning the blocks state. + * + * @param {Object} state Current state. + * @param {Object} action Dispatched action. + * + * @return {Object} Updated state. + */ + + +const reducer_blocks = Object(external_lodash_["flow"])(external_wp_data_["combineReducers"], withSaveReusableBlock, // needs to be before withBlockCache +withBlockTree, // needs to be before withInnerBlocksRemoveCascade +withInnerBlocksRemoveCascade, withReplaceInnerBlocks, // needs to be after withInnerBlocksRemoveCascade +withBlockReset, withPersistentBlockChange, withIgnoredBlockChange)({ + byClientId(state = {}, action) { + switch (action.type) { + case 'RECEIVE_BLOCKS': + case 'INSERT_BLOCKS': + return { ...state, + ...getFlattenedBlocksWithoutAttributes(action.blocks) + }; + + case 'UPDATE_BLOCK': + // Ignore updates if block isn't known + if (!state[action.clientId]) { + return state; + } // Do nothing if only attributes change. + + + const changes = Object(external_lodash_["omit"])(action.updates, 'attributes'); + + if (Object(external_lodash_["isEmpty"])(changes)) { + return state; + } + + return { ...state, + [action.clientId]: { ...state[action.clientId], + ...changes + } + }; + + case 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN': + if (!action.blocks) { + return state; + } + + return { ...Object(external_lodash_["omit"])(state, action.replacedClientIds), + ...getFlattenedBlocksWithoutAttributes(action.blocks) + }; + + case 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN': + return Object(external_lodash_["omit"])(state, action.removedClientIds); + } + + return state; + }, + + attributes(state = {}, action) { + switch (action.type) { + case 'RECEIVE_BLOCKS': + case 'INSERT_BLOCKS': + return { ...state, + ...getFlattenedBlockAttributes(action.blocks) + }; + + case 'UPDATE_BLOCK': + // Ignore updates if block isn't known or there are no attribute changes. + if (!state[action.clientId] || !action.updates.attributes) { + return state; + } + + return { ...state, + [action.clientId]: { ...state[action.clientId], + ...action.updates.attributes + } + }; + + case 'UPDATE_BLOCK_ATTRIBUTES': + { + // Avoid a state change if none of the block IDs are known. + if (action.clientIds.every(id => !state[id])) { + return state; + } + + const next = action.clientIds.reduce((accumulator, id) => ({ ...accumulator, + [id]: Object(external_lodash_["reduce"])(action.uniqueByBlock ? action.attributes[id] : action.attributes, (result, value, key) => { + // Consider as updates only changed values. + if (value !== result[key]) { + result = getMutateSafeObject(state[id], result); + result[key] = value; + } + + return result; + }, state[id]) + }), {}); + + if (action.clientIds.every(id => next[id] === state[id])) { + return state; + } + + return { ...state, + ...next + }; + } + + case 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN': + if (!action.blocks) { + return state; + } + + return { ...Object(external_lodash_["omit"])(state, action.replacedClientIds), + ...getFlattenedBlockAttributes(action.blocks) + }; + + case 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN': + return Object(external_lodash_["omit"])(state, action.removedClientIds); + } + + return state; + }, + + order(state = {}, action) { + switch (action.type) { + case 'RECEIVE_BLOCKS': + { + const blockOrder = mapBlockOrder(action.blocks); + return { ...state, + ...Object(external_lodash_["omit"])(blockOrder, ''), + '': ((state === null || state === void 0 ? void 0 : state['']) || []).concat(blockOrder['']) + }; + } + + case 'INSERT_BLOCKS': + { + const { + rootClientId = '' + } = action; + const subState = state[rootClientId] || []; + const mappedBlocks = mapBlockOrder(action.blocks, rootClientId); + const { + index = subState.length + } = action; + return { ...state, + ...mappedBlocks, + [rootClientId]: insertAt(subState, mappedBlocks[rootClientId], index) + }; + } + + case 'MOVE_BLOCKS_TO_POSITION': + { + const { + fromRootClientId = '', + toRootClientId = '', + clientIds + } = action; + const { + index = state[toRootClientId].length + } = action; // Moving inside the same parent block + + if (fromRootClientId === toRootClientId) { + const subState = state[toRootClientId]; + const fromIndex = subState.indexOf(clientIds[0]); + return { ...state, + [toRootClientId]: moveTo(state[toRootClientId], fromIndex, index, clientIds.length) + }; + } // Moving from a parent block to another + + + return { ...state, + [fromRootClientId]: Object(external_lodash_["without"])(state[fromRootClientId], ...clientIds), + [toRootClientId]: insertAt(state[toRootClientId], clientIds, index) + }; + } + + case 'MOVE_BLOCKS_UP': + { + const { + clientIds, + rootClientId = '' + } = action; + const firstClientId = Object(external_lodash_["first"])(clientIds); + const subState = state[rootClientId]; + + if (!subState.length || firstClientId === Object(external_lodash_["first"])(subState)) { + return state; + } + + const firstIndex = subState.indexOf(firstClientId); + return { ...state, + [rootClientId]: moveTo(subState, firstIndex, firstIndex - 1, clientIds.length) + }; + } + + case 'MOVE_BLOCKS_DOWN': + { + const { + clientIds, + rootClientId = '' + } = action; + const firstClientId = Object(external_lodash_["first"])(clientIds); + const lastClientId = Object(external_lodash_["last"])(clientIds); + const subState = state[rootClientId]; + + if (!subState.length || lastClientId === Object(external_lodash_["last"])(subState)) { + return state; + } + + const firstIndex = subState.indexOf(firstClientId); + return { ...state, + [rootClientId]: moveTo(subState, firstIndex, firstIndex + 1, clientIds.length) + }; + } + + case 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN': + { + const { + clientIds + } = action; + + if (!action.blocks) { + return state; + } + + const mappedBlocks = mapBlockOrder(action.blocks); + return Object(external_lodash_["flow"])([nextState => Object(external_lodash_["omit"])(nextState, action.replacedClientIds), nextState => ({ ...nextState, + ...Object(external_lodash_["omit"])(mappedBlocks, '') + }), nextState => Object(external_lodash_["mapValues"])(nextState, subState => Object(external_lodash_["reduce"])(subState, (result, clientId) => { + if (clientId === clientIds[0]) { + return [...result, ...mappedBlocks['']]; + } + + if (clientIds.indexOf(clientId) === -1) { + result.push(clientId); + } + + return result; + }, []))])(state); + } + + case 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN': + return Object(external_lodash_["flow"])([// Remove inner block ordering for removed blocks + nextState => Object(external_lodash_["omit"])(nextState, action.removedClientIds), // Remove deleted blocks from other blocks' orderings + nextState => Object(external_lodash_["mapValues"])(nextState, subState => Object(external_lodash_["without"])(subState, ...action.removedClientIds))])(state); + } + + return state; + }, + + // While technically redundant data as the inverse of `order`, it serves as + // an optimization for the selectors which derive the ancestry of a block. + parents(state = {}, action) { + switch (action.type) { + case 'RECEIVE_BLOCKS': + return { ...state, + ...mapBlockParents(action.blocks) + }; + + case 'INSERT_BLOCKS': + return { ...state, + ...mapBlockParents(action.blocks, action.rootClientId || '') + }; + + case 'MOVE_BLOCKS_TO_POSITION': + { + return { ...state, + ...action.clientIds.reduce((accumulator, id) => { + accumulator[id] = action.toRootClientId || ''; + return accumulator; + }, {}) + }; + } + + case 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN': + return { ...Object(external_lodash_["omit"])(state, action.replacedClientIds), + ...mapBlockParents(action.blocks, state[action.clientIds[0]]) + }; + + case 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN': + return Object(external_lodash_["omit"])(state, action.removedClientIds); + } + + return state; + }, + + controlledInnerBlocks(state = {}, { + type, + clientId, + hasControlledInnerBlocks + }) { + if (type === 'SET_HAS_CONTROLLED_INNER_BLOCKS') { + return { ...state, + [clientId]: hasControlledInnerBlocks + }; + } + + return state; + } + +}); +/** + * Reducer returning typing state. + * + * @param {boolean} state Current state. + * @param {Object} action Dispatched action. + * + * @return {boolean} Updated state. + */ + +function isTyping(state = false, action) { + switch (action.type) { + case 'START_TYPING': + return true; + + case 'STOP_TYPING': + return false; + } + + return state; +} +/** + * Reducer returning dragged block client id. + * + * @param {string[]} state Current state. + * @param {Object} action Dispatched action. + * + * @return {string[]} Updated state. + */ + +function draggedBlocks(state = [], action) { + switch (action.type) { + case 'START_DRAGGING_BLOCKS': + return action.clientIds; + + case 'STOP_DRAGGING_BLOCKS': + return []; + } + + return state; +} +/** + * Reducer returning whether the caret is within formatted text. + * + * @param {boolean} state Current state. + * @param {Object} action Dispatched action. + * + * @return {boolean} Updated state. + */ + +function isCaretWithinFormattedText(state = false, action) { + switch (action.type) { + case 'ENTER_FORMATTED_TEXT': + return true; + + case 'EXIT_FORMATTED_TEXT': + return false; + } + + return state; +} +/** + * Internal helper reducer for selectionStart and selectionEnd. Can hold a block + * selection, represented by an object with property clientId. + * + * @param {Object} state Current state. + * @param {Object} action Dispatched action. + * + * @return {Object} Updated state. + */ + +function selectionHelper(state = {}, action) { + switch (action.type) { + case 'CLEAR_SELECTED_BLOCK': + { + if (state.clientId) { + return {}; + } + + return state; + } + + case 'SELECT_BLOCK': + if (action.clientId === state.clientId) { + return state; + } + + return { + clientId: action.clientId + }; + + case 'REPLACE_INNER_BLOCKS': + case 'INSERT_BLOCKS': + { + if (!action.updateSelection || !action.blocks.length) { + return state; + } + + return { + clientId: action.blocks[0].clientId + }; + } + + case 'REMOVE_BLOCKS': + if (!action.clientIds || !action.clientIds.length || action.clientIds.indexOf(state.clientId) === -1) { + return state; + } + + return {}; + + case 'REPLACE_BLOCKS': + { + if (action.clientIds.indexOf(state.clientId) === -1) { + return state; + } + + const blockToSelect = action.blocks[action.indexToSelect] || action.blocks[action.blocks.length - 1]; + + if (!blockToSelect) { + return {}; + } + + if (blockToSelect.clientId === state.clientId) { + return state; + } + + return { + clientId: blockToSelect.clientId + }; + } + } + + return state; +} +/** + * Reducer returning the selection state. + * + * @param {boolean} state Current state. + * @param {Object} action Dispatched action. + * + * @return {boolean} Updated state. + */ + + +function selection(state = {}, action) { + var _state$selectionStart, _state$selectionEnd; + + switch (action.type) { + case 'SELECTION_CHANGE': + return { + selectionStart: { + clientId: action.clientId, + attributeKey: action.attributeKey, + offset: action.startOffset + }, + selectionEnd: { + clientId: action.clientId, + attributeKey: action.attributeKey, + offset: action.endOffset + } + }; + + case 'RESET_SELECTION': + const { + selectionStart, + selectionEnd + } = action; + return { + selectionStart, + selectionEnd + }; + + case 'MULTI_SELECT': + const { + start, + end + } = action; + return { + selectionStart: { + clientId: start + }, + selectionEnd: { + clientId: end + } + }; + + case 'RESET_BLOCKS': + const startClientId = state === null || state === void 0 ? void 0 : (_state$selectionStart = state.selectionStart) === null || _state$selectionStart === void 0 ? void 0 : _state$selectionStart.clientId; + const endClientId = state === null || state === void 0 ? void 0 : (_state$selectionEnd = state.selectionEnd) === null || _state$selectionEnd === void 0 ? void 0 : _state$selectionEnd.clientId; // Do nothing if there's no selected block. + + if (!startClientId && !endClientId) { + return state; + } // If the start of the selection won't exist after reset, remove selection. + + + if (!action.blocks.some(block => block.clientId === startClientId)) { + return { + selectionStart: {}, + selectionEnd: {} + }; + } // If the end of the selection won't exist after reset, collapse selection. + + + if (!action.blocks.some(block => block.clientId === endClientId)) { + return { ...state, + selectionEnd: state.selectionStart + }; + } + + } + + return { + selectionStart: selectionHelper(state.selectionStart, action), + selectionEnd: selectionHelper(state.selectionEnd, action) + }; +} +/** + * Reducer returning whether the user is multi-selecting. + * + * @param {boolean} state Current state. + * @param {Object} action Dispatched action. + * + * @return {boolean} Updated state. + */ + +function isMultiSelecting(state = false, action) { + switch (action.type) { + case 'START_MULTI_SELECT': + return true; + + case 'STOP_MULTI_SELECT': + return false; + } + + return state; +} +/** + * Reducer returning whether selection is enabled. + * + * @param {boolean} state Current state. + * @param {Object} action Dispatched action. + * + * @return {boolean} Updated state. + */ + +function isSelectionEnabled(state = true, action) { + switch (action.type) { + case 'TOGGLE_SELECTION': + return action.isSelectionEnabled; + } + + return state; +} +/** + * Reducer returning the intial block selection. + * + * Currently this in only used to restore the selection after block deletion and + * pasting new content.This reducer should eventually be removed in favour of setting + * selection directly. + * + * @param {boolean} state Current state. + * @param {Object} action Dispatched action. + * + * @return {number|null} Initial position: 0, -1 or null. + */ + +function reducer_initialPosition(state = null, action) { + if (action.type === 'REPLACE_BLOCKS' && action.initialPosition !== undefined) { + return action.initialPosition; + } else if (['SELECT_BLOCK', 'RESET_SELECTION', 'INSERT_BLOCKS', 'REPLACE_INNER_BLOCKS'].includes(action.type)) { + return action.initialPosition; + } + + return state; +} +function blocksMode(state = {}, action) { + if (action.type === 'TOGGLE_BLOCK_MODE') { + const { + clientId + } = action; + return { ...state, + [clientId]: state[clientId] && state[clientId] === 'html' ? 'visual' : 'html' + }; + } + + return state; +} +/** + * Reducer returning the block insertion point visibility, either null if there + * is not an explicit insertion point assigned, or an object of its `index` and + * `rootClientId`. + * + * @param {Object} state Current state. + * @param {Object} action Dispatched action. + * + * @return {Object} Updated state. + */ + +function insertionPoint(state = null, action) { + switch (action.type) { + case 'SHOW_INSERTION_POINT': + const { + rootClientId, + index, + __unstableWithInserter + } = action; + return { + rootClientId, + index, + __unstableWithInserter + }; + + case 'HIDE_INSERTION_POINT': + return null; + } + + return state; +} +/** + * Reducer returning whether the post blocks match the defined template or not. + * + * @param {Object} state Current state. + * @param {Object} action Dispatched action. + * + * @return {boolean} Updated state. + */ + +function reducer_template(state = { + isValid: true +}, action) { + switch (action.type) { + case 'SET_TEMPLATE_VALIDITY': + return { ...state, + isValid: action.isValid + }; + } + + return state; +} +/** + * Reducer returning the editor setting. + * + * @param {Object} state Current state. + * @param {Object} action Dispatched action. + * + * @return {Object} Updated state. + */ + +function settings(state = defaults["b" /* SETTINGS_DEFAULTS */], action) { + switch (action.type) { + case 'UPDATE_SETTINGS': + return { ...state, + ...action.settings + }; + } + + return state; +} +/** + * Reducer returning the user preferences. + * + * @param {Object} state Current state. + * @param {Object} action Dispatched action. + * + * @return {string} Updated state. + */ + +function preferences(state = defaults["a" /* PREFERENCES_DEFAULTS */], action) { + switch (action.type) { + case 'INSERT_BLOCKS': + case 'REPLACE_BLOCKS': + return action.blocks.reduce((prevState, block) => { + const { + attributes, + name: blockName + } = block; + const match = Object(external_wp_data_["select"])(external_wp_blocks_["store"]).getActiveBlockVariation(blockName, attributes); // If a block variation match is found change the name to be the same with the + // one that is used for block variations in the Inserter (`getItemFromVariation`). + + let id = match !== null && match !== void 0 && match.name ? `${blockName}/${match.name}` : blockName; + const insert = { + name: id + }; + + if (blockName === 'core/block') { + insert.ref = attributes.ref; + id += '/' + attributes.ref; + } + + return { ...prevState, + insertUsage: { ...prevState.insertUsage, + [id]: { + time: action.time, + count: prevState.insertUsage[id] ? prevState.insertUsage[id].count + 1 : 1, + insert + } + } + }; + }, state); + } + + return state; +} +/** + * Reducer returning an object where each key is a block client ID, its value + * representing the settings for its nested blocks. + * + * @param {Object} state Current state. + * @param {Object} action Dispatched action. + * + * @return {Object} Updated state. + */ + +const blockListSettings = (state = {}, action) => { + switch (action.type) { + // Even if the replaced blocks have the same client ID, our logic + // should correct the state. + case 'REPLACE_BLOCKS': + case 'REMOVE_BLOCKS': + { + return Object(external_lodash_["omit"])(state, action.clientIds); + } + + case 'UPDATE_BLOCK_LIST_SETTINGS': + { + const { + clientId + } = action; + + if (!action.settings) { + if (state.hasOwnProperty(clientId)) { + return Object(external_lodash_["omit"])(state, clientId); + } + + return state; + } + + if (Object(external_lodash_["isEqual"])(state[clientId], action.settings)) { + return state; + } + + return { ...state, + [clientId]: action.settings + }; + } + } + + return state; +}; +/** + * Reducer returning whether the navigation mode is enabled or not. + * + * @param {string} state Current state. + * @param {Object} action Dispatched action. + * + * @return {string} Updated state. + */ + +function reducer_isNavigationMode(state = false, action) { + // Let inserting block always trigger Edit mode. + if (action.type === 'INSERT_BLOCKS') { + return false; + } + + if (action.type === 'SET_NAVIGATION_MODE') { + return action.isNavigationMode; + } + + return state; +} +/** + * Reducer returning whether the block moving mode is enabled or not. + * + * @param {string|null} state Current state. + * @param {Object} action Dispatched action. + * + * @return {string|null} Updated state. + */ + +function reducer_hasBlockMovingClientId(state = null, action) { + // Let inserting block always trigger Edit mode. + if (action.type === 'SET_BLOCK_MOVING_MODE') { + return action.hasBlockMovingClientId; + } + + if (action.type === 'SET_NAVIGATION_MODE') { + return null; + } + + return state; +} +/** + * Reducer return an updated state representing the most recent block attribute + * update. The state is structured as an object where the keys represent the + * client IDs of blocks, the values a subset of attributes from the most recent + * block update. The state is always reset to null if the last action is + * anything other than an attributes update. + * + * @param {Object} state Current state. + * @param {Object} action Action object. + * + * @return {[string,Object]} Updated state. + */ + +function lastBlockAttributesChange(state, action) { + switch (action.type) { + case 'UPDATE_BLOCK': + if (!action.updates.attributes) { + break; + } + + return { + [action.clientId]: action.updates.attributes + }; + + case 'UPDATE_BLOCK_ATTRIBUTES': + return action.clientIds.reduce((accumulator, id) => ({ ...accumulator, + [id]: action.uniqueByBlock ? action.attributes[id] : action.attributes + }), {}); + } + + return null; +} +/** + * Reducer returning automatic change state. + * + * @param {boolean} state Current state. + * @param {Object} action Dispatched action. + * + * @return {string} Updated state. + */ + +function automaticChangeStatus(state, action) { + switch (action.type) { + case 'MARK_AUTOMATIC_CHANGE': + return 'pending'; + + case 'MARK_AUTOMATIC_CHANGE_FINAL': + if (state === 'pending') { + return 'final'; + } + + return; + + case 'SELECTION_CHANGE': + // As long as the state is not final, ignore any selection changes. + if (state !== 'final') { + return state; + } + + return; + // Undoing an automatic change should still be possible after mouse + // move. + + case 'START_TYPING': + case 'STOP_TYPING': + return state; + } // Reset the state by default (for any action not handled). + +} +/** + * Reducer returning current highlighted block. + * + * @param {boolean} state Current highlighted block. + * @param {Object} action Dispatched action. + * + * @return {string} Updated state. + */ + +function highlightedBlock(state, action) { + switch (action.type) { + case 'TOGGLE_BLOCK_HIGHLIGHT': + const { + clientId, + isHighlighted + } = action; + + if (isHighlighted) { + return clientId; + } else if (state === clientId) { + return null; + } + + return state; + + case 'SELECT_BLOCK': + if (action.clientId !== state) { + return null; + } + + } + + return state; +} +/** + * Reducer returning the block insertion event list state. + * + * @param {Object} state Current state. + * @param {Object} action Dispatched action. + * + * @return {Object} Updated state. + */ + +function lastBlockInserted(state = {}, action) { + var _action$meta; + + switch (action.type) { + case 'INSERT_BLOCKS': + if (!action.blocks.length) { + return state; + } + + const clientId = action.blocks[0].clientId; + const source = (_action$meta = action.meta) === null || _action$meta === void 0 ? void 0 : _action$meta.source; + return { + clientId, + source + }; + + case 'RESET_BLOCKS': + return {}; + } + + return state; +} +/* harmony default export */ var store_reducer = (Object(external_wp_data_["combineReducers"])({ + blocks: reducer_blocks, + isTyping, + draggedBlocks, + isCaretWithinFormattedText, + selection, + isMultiSelecting, + isSelectionEnabled, + initialPosition: reducer_initialPosition, + blocksMode, + blockListSettings, + insertionPoint, + template: reducer_template, + settings, + preferences, + lastBlockAttributesChange, + isNavigationMode: reducer_isNavigationMode, + hasBlockMovingClientId: reducer_hasBlockMovingClientId, + automaticChangeStatus, + highlightedBlock, + lastBlockInserted +})); + +// EXTERNAL MODULE: ./node_modules/rememo/es/rememo.js +var rememo = __webpack_require__("pPDe"); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/symbol.js +var symbol = __webpack_require__("+WrK"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/selectors.js +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + +/** + * A block selection object. + * + * @typedef {Object} WPBlockSelection + * + * @property {string} clientId A block client ID. + * @property {string} attributeKey A block attribute key. + * @property {number} offset An attribute value offset, based on the rich + * text value. See `wp.richText.create`. + */ +// Module constants + +const MILLISECONDS_PER_HOUR = 3600 * 1000; +const MILLISECONDS_PER_DAY = 24 * 3600 * 1000; +const MILLISECONDS_PER_WEEK = 7 * 24 * 3600 * 1000; +/** + * Shared reference to an empty array for cases where it is important to avoid + * returning a new array reference on every invocation, as in a connected or + * other pure component which performs `shouldComponentUpdate` check on props. + * This should be used as a last resort, since the normalized data should be + * maintained by the reducer result in state. + * + * @type {Array} + */ + +const EMPTY_ARRAY = []; +/** + * Returns a block's name given its client ID, or null if no block exists with + * the client ID. + * + * @param {Object} state Editor state. + * @param {string} clientId Block client ID. + * + * @return {string} Block name. + */ + +function getBlockName(state, clientId) { + const block = state.blocks.byClientId[clientId]; + const socialLinkName = 'core/social-link'; + + if (external_wp_element_["Platform"].OS !== 'web' && (block === null || block === void 0 ? void 0 : block.name) === socialLinkName) { + const attributes = state.blocks.attributes[clientId]; + const { + service + } = attributes; + return service ? `${socialLinkName}-${service}` : socialLinkName; + } + + return block ? block.name : null; +} +/** + * Returns whether a block is valid or not. + * + * @param {Object} state Editor state. + * @param {string} clientId Block client ID. + * + * @return {boolean} Is Valid. + */ + +function isBlockValid(state, clientId) { + const block = state.blocks.byClientId[clientId]; + return !!block && block.isValid; +} +/** + * Returns a block's attributes given its client ID, or null if no block exists with + * the client ID. + * + * @param {Object} state Editor state. + * @param {string} clientId Block client ID. + * + * @return {Object?} Block attributes. + */ + +function getBlockAttributes(state, clientId) { + const block = state.blocks.byClientId[clientId]; + + if (!block) { + return null; + } + + return state.blocks.attributes[clientId]; +} +/** + * Returns a block given its client ID. This is a parsed copy of the block, + * containing its `blockName`, `clientId`, and current `attributes` state. This + * is not the block's registration settings, which must be retrieved from the + * blocks module registration store. + * + * getBlock recurses through its inner blocks until all its children blocks have + * been retrieved. Note that getBlock will not return the child inner blocks of + * an inner block controller. This is because an inner block controller syncs + * itself with its own entity, and should therefore not be included with the + * blocks of a different entity. For example, say you call `getBlocks( TP )` to + * get the blocks of a template part. If another template part is a child of TP, + * then the nested template part's child blocks will not be returned. This way, + * the template block itself is considered part of the parent, but the children + * are not. + * + * @param {Object} state Editor state. + * @param {string} clientId Block client ID. + * + * @return {Object} Parsed block object. + */ + +function getBlock(state, clientId) { + const block = state.blocks.byClientId[clientId]; + + if (!block) { + return null; + } + + return state.blocks.tree[clientId]; +} +const __unstableGetBlockWithoutInnerBlocks = Object(rememo["a" /* default */])((state, clientId) => { + const block = state.blocks.byClientId[clientId]; + + if (!block) { + return null; + } + + return { ...block, + attributes: getBlockAttributes(state, clientId) + }; +}, (state, clientId) => [state.blocks.byClientId[clientId], state.blocks.attributes[clientId]]); +/** + * Returns all block objects for the current post being edited as an array in + * the order they appear in the post. Note that this will exclude child blocks + * of nested inner block controllers. + * + * @param {Object} state Editor state. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {Object[]} Post blocks. + */ + +function getBlocks(state, rootClientId) { + var _state$blocks$tree$tr; + + const treeKey = !rootClientId || !areInnerBlocksControlled(state, rootClientId) ? rootClientId || '' : 'controlled||' + rootClientId; + return ((_state$blocks$tree$tr = state.blocks.tree[treeKey]) === null || _state$blocks$tree$tr === void 0 ? void 0 : _state$blocks$tree$tr.innerBlocks) || EMPTY_ARRAY; +} +/** + * Returns a stripped down block object containing only its client ID, + * and its inner blocks' client IDs. + * + * @param {Object} state Editor state. + * @param {string} clientId Client ID of the block to get. + * + * @return {Object} Client IDs of the post blocks. + */ + +const __unstableGetClientIdWithClientIdsTree = Object(rememo["a" /* default */])((state, clientId) => ({ + clientId, + innerBlocks: __unstableGetClientIdsTree(state, clientId) +}), state => [state.blocks.order]); +/** + * Returns the block tree represented in the block-editor store from the + * given root, consisting of stripped down block objects containing only + * their client IDs, and their inner blocks' client IDs. + * + * @param {Object} state Editor state. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {Object[]} Client IDs of the post blocks. + */ + +const __unstableGetClientIdsTree = Object(rememo["a" /* default */])((state, rootClientId = '') => Object(external_lodash_["map"])(getBlockOrder(state, rootClientId), clientId => __unstableGetClientIdWithClientIdsTree(state, clientId)), state => [state.blocks.order]); +/** + * Returns an array containing the clientIds of all descendants + * of the blocks given. + * + * @param {Object} state Global application state. + * @param {Array} clientIds Array of blocks to inspect. + * + * @return {Array} ids of descendants. + */ + +const getClientIdsOfDescendants = (state, clientIds) => Object(external_lodash_["flatMap"])(clientIds, clientId => { + const descendants = getBlockOrder(state, clientId); + return [...descendants, ...getClientIdsOfDescendants(state, descendants)]; +}); +/** + * Returns an array containing the clientIds of the top-level blocks + * and their descendants of any depth (for nested blocks). + * + * @param {Object} state Global application state. + * + * @return {Array} ids of top-level and descendant blocks. + */ + +const getClientIdsWithDescendants = Object(rememo["a" /* default */])(state => { + const topLevelIds = getBlockOrder(state); + return [...topLevelIds, ...getClientIdsOfDescendants(state, topLevelIds)]; +}, state => [state.blocks.order]); +/** + * Returns the total number of blocks, or the total number of blocks with a specific name in a post. + * The number returned includes nested blocks. + * + * @param {Object} state Global application state. + * @param {?string} blockName Optional block name, if specified only blocks of that type will be counted. + * + * @return {number} Number of blocks in the post, or number of blocks with name equal to blockName. + */ + +const getGlobalBlockCount = Object(rememo["a" /* default */])((state, blockName) => { + const clientIds = getClientIdsWithDescendants(state); + + if (!blockName) { + return clientIds.length; + } + + return Object(external_lodash_["reduce"])(clientIds, (accumulator, clientId) => { + const block = state.blocks.byClientId[clientId]; + return block.name === blockName ? accumulator + 1 : accumulator; + }, 0); +}, state => [state.blocks.order, state.blocks.byClientId]); +/** + * Given an array of block client IDs, returns the corresponding array of block + * objects. + * + * @param {Object} state Editor state. + * @param {string[]} clientIds Client IDs for which blocks are to be returned. + * + * @return {WPBlock[]} Block objects. + */ + +const getBlocksByClientId = Object(rememo["a" /* default */])((state, clientIds) => Object(external_lodash_["map"])(Object(external_lodash_["castArray"])(clientIds), clientId => getBlock(state, clientId)), (state, clientIds) => Object(external_lodash_["map"])(Object(external_lodash_["castArray"])(clientIds), clientId => state.blocks.tree[clientId])); +/** + * Returns the number of blocks currently present in the post. + * + * @param {Object} state Editor state. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {number} Number of blocks in the post. + */ + +function getBlockCount(state, rootClientId) { + return getBlockOrder(state, rootClientId).length; +} +/** + * Returns the current selection start block client ID, attribute key and text + * offset. + * + * @param {Object} state Block editor state. + * + * @return {WPBlockSelection} Selection start information. + */ + +function getSelectionStart(state) { + return state.selection.selectionStart; +} +/** + * Returns the current selection end block client ID, attribute key and text + * offset. + * + * @param {Object} state Block editor state. + * + * @return {WPBlockSelection} Selection end information. + */ + +function getSelectionEnd(state) { + return state.selection.selectionEnd; +} +/** + * Returns the current block selection start. This value may be null, and it + * may represent either a singular block selection or multi-selection start. + * A selection is singular if its start and end match. + * + * @param {Object} state Global application state. + * + * @return {?string} Client ID of block selection start. + */ + +function getBlockSelectionStart(state) { + return state.selection.selectionStart.clientId; +} +/** + * Returns the current block selection end. This value may be null, and it + * may represent either a singular block selection or multi-selection end. + * A selection is singular if its start and end match. + * + * @param {Object} state Global application state. + * + * @return {?string} Client ID of block selection end. + */ + +function getBlockSelectionEnd(state) { + return state.selection.selectionEnd.clientId; +} +/** + * Returns the number of blocks currently selected in the post. + * + * @param {Object} state Global application state. + * + * @return {number} Number of blocks selected in the post. + */ + +function getSelectedBlockCount(state) { + const multiSelectedBlockCount = getMultiSelectedBlockClientIds(state).length; + + if (multiSelectedBlockCount) { + return multiSelectedBlockCount; + } + + return state.selection.selectionStart.clientId ? 1 : 0; +} +/** + * Returns true if there is a single selected block, or false otherwise. + * + * @param {Object} state Editor state. + * + * @return {boolean} Whether a single block is selected. + */ + +function hasSelectedBlock(state) { + const { + selectionStart, + selectionEnd + } = state.selection; + return !!selectionStart.clientId && selectionStart.clientId === selectionEnd.clientId; +} +/** + * Returns the currently selected block client ID, or null if there is no + * selected block. + * + * @param {Object} state Editor state. + * + * @return {?string} Selected block client ID. + */ + +function getSelectedBlockClientId(state) { + const { + selectionStart, + selectionEnd + } = state.selection; + const { + clientId + } = selectionStart; + + if (!clientId || clientId !== selectionEnd.clientId) { + return null; + } + + return clientId; +} +/** + * Returns the currently selected block, or null if there is no selected block. + * + * @param {Object} state Global application state. + * + * @return {?Object} Selected block. + */ + +function getSelectedBlock(state) { + const clientId = getSelectedBlockClientId(state); + return clientId ? getBlock(state, clientId) : null; +} +/** + * Given a block client ID, returns the root block from which the block is + * nested, an empty string for top-level blocks, or null if the block does not + * exist. + * + * @param {Object} state Editor state. + * @param {string} clientId Block from which to find root client ID. + * + * @return {?string} Root client ID, if exists + */ + +function getBlockRootClientId(state, clientId) { + return state.blocks.parents[clientId] !== undefined ? state.blocks.parents[clientId] : null; +} +/** + * Given a block client ID, returns the list of all its parents from top to bottom. + * + * @param {Object} state Editor state. + * @param {string} clientId Block from which to find root client ID. + * @param {boolean} ascending Order results from bottom to top (true) or top to bottom (false). + * + * @return {Array} ClientIDs of the parent blocks. + */ + +const getBlockParents = Object(rememo["a" /* default */])((state, clientId, ascending = false) => { + const parents = []; + let current = clientId; + + while (!!state.blocks.parents[current]) { + current = state.blocks.parents[current]; + parents.push(current); + } + + return ascending ? parents : parents.reverse(); +}, state => [state.blocks.parents]); +/** + * Given a block client ID and a block name, returns the list of all its parents + * from top to bottom, filtered by the given name(s). For example, if passed + * 'core/group' as the blockName, it will only return parents which are group + * blocks. If passed `[ 'core/group', 'core/cover']`, as the blockName, it will + * return parents which are group blocks and parents which are cover blocks. + * + * @param {Object} state Editor state. + * @param {string} clientId Block from which to find root client ID. + * @param {string|string[]} blockName Block name(s) to filter. + * @param {boolean} ascending Order results from bottom to top (true) or top to bottom (false). + * + * @return {Array} ClientIDs of the parent blocks. + */ + +const getBlockParentsByBlockName = Object(rememo["a" /* default */])((state, clientId, blockName, ascending = false) => { + const parents = getBlockParents(state, clientId, ascending); + return Object(external_lodash_["map"])(Object(external_lodash_["filter"])(Object(external_lodash_["map"])(parents, id => ({ + id, + name: getBlockName(state, id) + })), ({ + name + }) => { + if (Array.isArray(blockName)) { + return blockName.includes(name); + } + + return name === blockName; + }), ({ + id + }) => id); +}, state => [state.blocks.parents]); +/** + * Given a block client ID, returns the root of the hierarchy from which the block is nested, return the block itself for root level blocks. + * + * @param {Object} state Editor state. + * @param {string} clientId Block from which to find root client ID. + * + * @return {string} Root client ID + */ + +function getBlockHierarchyRootClientId(state, clientId) { + let current = clientId; + let parent; + + do { + parent = current; + current = state.blocks.parents[current]; + } while (current); + + return parent; +} +/** + * Given a block client ID, returns the lowest common ancestor with selected client ID. + * + * @param {Object} state Editor state. + * @param {string} clientId Block from which to find common ancestor client ID. + * + * @return {string} Common ancestor client ID or undefined + */ + +function getLowestCommonAncestorWithSelectedBlock(state, clientId) { + const selectedId = getSelectedBlockClientId(state); + const clientParents = [...getBlockParents(state, clientId), clientId]; + const selectedParents = [...getBlockParents(state, selectedId), selectedId]; + let lowestCommonAncestor; + const maxDepth = Math.min(clientParents.length, selectedParents.length); + + for (let index = 0; index < maxDepth; index++) { + if (clientParents[index] === selectedParents[index]) { + lowestCommonAncestor = clientParents[index]; + } else { + break; + } + } + + return lowestCommonAncestor; +} +/** + * Returns the client ID of the block adjacent one at the given reference + * startClientId and modifier directionality. Defaults start startClientId to + * the selected block, and direction as next block. Returns null if there is no + * adjacent block. + * + * @param {Object} state Editor state. + * @param {?string} startClientId Optional client ID of block from which to + * search. + * @param {?number} modifier Directionality multiplier (1 next, -1 + * previous). + * + * @return {?string} Return the client ID of the block, or null if none exists. + */ + +function getAdjacentBlockClientId(state, startClientId, modifier = 1) { + // Default to selected block. + if (startClientId === undefined) { + startClientId = getSelectedBlockClientId(state); + } // Try multi-selection starting at extent based on modifier. + + + if (startClientId === undefined) { + if (modifier < 0) { + startClientId = getFirstMultiSelectedBlockClientId(state); + } else { + startClientId = getLastMultiSelectedBlockClientId(state); + } + } // Validate working start client ID. + + + if (!startClientId) { + return null; + } // Retrieve start block root client ID, being careful to allow the falsey + // empty string top-level root by explicitly testing against null. + + + const rootClientId = getBlockRootClientId(state, startClientId); + + if (rootClientId === null) { + return null; + } + + const { + order + } = state.blocks; + const orderSet = order[rootClientId]; + const index = orderSet.indexOf(startClientId); + const nextIndex = index + 1 * modifier; // Block was first in set and we're attempting to get previous. + + if (nextIndex < 0) { + return null; + } // Block was last in set and we're attempting to get next. + + + if (nextIndex === orderSet.length) { + return null; + } // Assume incremented index is within the set. + + + return orderSet[nextIndex]; +} +/** + * Returns the previous block's client ID from the given reference start ID. + * Defaults start to the selected block. Returns null if there is no previous + * block. + * + * @param {Object} state Editor state. + * @param {?string} startClientId Optional client ID of block from which to + * search. + * + * @return {?string} Adjacent block's client ID, or null if none exists. + */ + +function getPreviousBlockClientId(state, startClientId) { + return getAdjacentBlockClientId(state, startClientId, -1); +} +/** + * Returns the next block's client ID from the given reference start ID. + * Defaults start to the selected block. Returns null if there is no next + * block. + * + * @param {Object} state Editor state. + * @param {?string} startClientId Optional client ID of block from which to + * search. + * + * @return {?string} Adjacent block's client ID, or null if none exists. + */ + +function getNextBlockClientId(state, startClientId) { + return getAdjacentBlockClientId(state, startClientId, 1); +} +/* eslint-disable jsdoc/valid-types */ + +/** + * Returns the initial caret position for the selected block. + * This position is to used to position the caret properly when the selected block changes. + * If the current block is not a RichText, having initial position set to 0 means "focus block" + * + * @param {Object} state Global application state. + * + * @return {0|-1|null} Initial position. + */ + +function getSelectedBlocksInitialCaretPosition(state) { + /* eslint-enable jsdoc/valid-types */ + return state.initialPosition; +} +/** + * Returns the current selection set of block client IDs (multiselection or single selection). + * + * @param {Object} state Editor state. + * + * @return {Array} Multi-selected block client IDs. + */ + +const getSelectedBlockClientIds = Object(rememo["a" /* default */])(state => { + const { + selectionStart, + selectionEnd + } = state.selection; + + if (selectionStart.clientId === undefined || selectionEnd.clientId === undefined) { + return EMPTY_ARRAY; + } + + if (selectionStart.clientId === selectionEnd.clientId) { + return [selectionStart.clientId]; + } // Retrieve root client ID to aid in retrieving relevant nested block + // order, being careful to allow the falsey empty string top-level root + // by explicitly testing against null. + + + const rootClientId = getBlockRootClientId(state, selectionStart.clientId); + + if (rootClientId === null) { + return EMPTY_ARRAY; + } + + const blockOrder = getBlockOrder(state, rootClientId); + const startIndex = blockOrder.indexOf(selectionStart.clientId); + const endIndex = blockOrder.indexOf(selectionEnd.clientId); + + if (startIndex > endIndex) { + return blockOrder.slice(endIndex, startIndex + 1); + } + + return blockOrder.slice(startIndex, endIndex + 1); +}, state => [state.blocks.order, state.selection.selectionStart.clientId, state.selection.selectionEnd.clientId]); +/** + * Returns the current multi-selection set of block client IDs, or an empty + * array if there is no multi-selection. + * + * @param {Object} state Editor state. + * + * @return {Array} Multi-selected block client IDs. + */ + +function getMultiSelectedBlockClientIds(state) { + const { + selectionStart, + selectionEnd + } = state.selection; + + if (selectionStart.clientId === selectionEnd.clientId) { + return EMPTY_ARRAY; + } + + return getSelectedBlockClientIds(state); +} +/** + * Returns the current multi-selection set of blocks, or an empty array if + * there is no multi-selection. + * + * @param {Object} state Editor state. + * + * @return {Array} Multi-selected block objects. + */ + +const getMultiSelectedBlocks = Object(rememo["a" /* default */])(state => { + const multiSelectedBlockClientIds = getMultiSelectedBlockClientIds(state); + + if (!multiSelectedBlockClientIds.length) { + return EMPTY_ARRAY; + } + + return multiSelectedBlockClientIds.map(clientId => getBlock(state, clientId)); +}, state => [...getSelectedBlockClientIds.getDependants(state), state.blocks.byClientId, state.blocks.order, state.blocks.attributes]); +/** + * Returns the client ID of the first block in the multi-selection set, or null + * if there is no multi-selection. + * + * @param {Object} state Editor state. + * + * @return {?string} First block client ID in the multi-selection set. + */ + +function getFirstMultiSelectedBlockClientId(state) { + return Object(external_lodash_["first"])(getMultiSelectedBlockClientIds(state)) || null; +} +/** + * Returns the client ID of the last block in the multi-selection set, or null + * if there is no multi-selection. + * + * @param {Object} state Editor state. + * + * @return {?string} Last block client ID in the multi-selection set. + */ + +function getLastMultiSelectedBlockClientId(state) { + return Object(external_lodash_["last"])(getMultiSelectedBlockClientIds(state)) || null; +} +/** + * Returns true if a multi-selection exists, and the block corresponding to the + * specified client ID is the first block of the multi-selection set, or false + * otherwise. + * + * @param {Object} state Editor state. + * @param {string} clientId Block client ID. + * + * @return {boolean} Whether block is first in multi-selection. + */ + +function isFirstMultiSelectedBlock(state, clientId) { + return getFirstMultiSelectedBlockClientId(state) === clientId; +} +/** + * Returns true if the client ID occurs within the block multi-selection, or + * false otherwise. + * + * @param {Object} state Editor state. + * @param {string} clientId Block client ID. + * + * @return {boolean} Whether block is in multi-selection set. + */ + +function isBlockMultiSelected(state, clientId) { + return getMultiSelectedBlockClientIds(state).indexOf(clientId) !== -1; +} +/** + * Returns true if an ancestor of the block is multi-selected, or false + * otherwise. + * + * @param {Object} state Editor state. + * @param {string} clientId Block client ID. + * + * @return {boolean} Whether an ancestor of the block is in multi-selection + * set. + */ + +const isAncestorMultiSelected = Object(rememo["a" /* default */])((state, clientId) => { + let ancestorClientId = clientId; + let isMultiSelected = false; + + while (ancestorClientId && !isMultiSelected) { + ancestorClientId = getBlockRootClientId(state, ancestorClientId); + isMultiSelected = isBlockMultiSelected(state, ancestorClientId); + } + + return isMultiSelected; +}, state => [state.blocks.order, state.selection.selectionStart.clientId, state.selection.selectionEnd.clientId]); +/** + * Returns the client ID of the block which begins the multi-selection set, or + * null if there is no multi-selection. + * + * This is not necessarily the first client ID in the selection. + * + * @see getFirstMultiSelectedBlockClientId + * + * @param {Object} state Editor state. + * + * @return {?string} Client ID of block beginning multi-selection. + */ + +function getMultiSelectedBlocksStartClientId(state) { + const { + selectionStart, + selectionEnd + } = state.selection; + + if (selectionStart.clientId === selectionEnd.clientId) { + return null; + } + + return selectionStart.clientId || null; +} +/** + * Returns the client ID of the block which ends the multi-selection set, or + * null if there is no multi-selection. + * + * This is not necessarily the last client ID in the selection. + * + * @see getLastMultiSelectedBlockClientId + * + * @param {Object} state Editor state. + * + * @return {?string} Client ID of block ending multi-selection. + */ + +function getMultiSelectedBlocksEndClientId(state) { + const { + selectionStart, + selectionEnd + } = state.selection; + + if (selectionStart.clientId === selectionEnd.clientId) { + return null; + } + + return selectionEnd.clientId || null; +} +/** + * Returns an array containing all block client IDs in the editor in the order + * they appear. Optionally accepts a root client ID of the block list for which + * the order should be returned, defaulting to the top-level block order. + * + * @param {Object} state Editor state. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {Array} Ordered client IDs of editor blocks. + */ + +function getBlockOrder(state, rootClientId) { + return state.blocks.order[rootClientId || ''] || EMPTY_ARRAY; +} +/** + * Returns the index at which the block corresponding to the specified client + * ID occurs within the block order, or `-1` if the block does not exist. + * + * @param {Object} state Editor state. + * @param {string} clientId Block client ID. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {number} Index at which block exists in order. + */ + +function getBlockIndex(state, clientId, rootClientId) { + return getBlockOrder(state, rootClientId).indexOf(clientId); +} +/** + * Returns true if the block corresponding to the specified client ID is + * currently selected and no multi-selection exists, or false otherwise. + * + * @param {Object} state Editor state. + * @param {string} clientId Block client ID. + * + * @return {boolean} Whether block is selected and multi-selection exists. + */ + +function isBlockSelected(state, clientId) { + const { + selectionStart, + selectionEnd + } = state.selection; + + if (selectionStart.clientId !== selectionEnd.clientId) { + return false; + } + + return selectionStart.clientId === clientId; +} +/** + * Returns true if one of the block's inner blocks is selected. + * + * @param {Object} state Editor state. + * @param {string} clientId Block client ID. + * @param {boolean} deep Perform a deep check. + * + * @return {boolean} Whether the block as an inner block selected + */ + +function hasSelectedInnerBlock(state, clientId, deep = false) { + return Object(external_lodash_["some"])(getBlockOrder(state, clientId), innerClientId => isBlockSelected(state, innerClientId) || isBlockMultiSelected(state, innerClientId) || deep && hasSelectedInnerBlock(state, innerClientId, deep)); +} +/** + * Returns true if the block corresponding to the specified client ID is + * currently selected but isn't the last of the selected blocks. Here "last" + * refers to the block sequence in the document, _not_ the sequence of + * multi-selection, which is why `state.selectionEnd` isn't used. + * + * @param {Object} state Editor state. + * @param {string} clientId Block client ID. + * + * @return {boolean} Whether block is selected and not the last in the + * selection. + */ + +function isBlockWithinSelection(state, clientId) { + if (!clientId) { + return false; + } + + const clientIds = getMultiSelectedBlockClientIds(state); + const index = clientIds.indexOf(clientId); + return index > -1 && index < clientIds.length - 1; +} +/** + * Returns true if a multi-selection has been made, or false otherwise. + * + * @param {Object} state Editor state. + * + * @return {boolean} Whether multi-selection has been made. + */ + +function hasMultiSelection(state) { + const { + selectionStart, + selectionEnd + } = state.selection; + return selectionStart.clientId !== selectionEnd.clientId; +} +/** + * Whether in the process of multi-selecting or not. This flag is only true + * while the multi-selection is being selected (by mouse move), and is false + * once the multi-selection has been settled. + * + * @see hasMultiSelection + * + * @param {Object} state Global application state. + * + * @return {boolean} True if multi-selecting, false if not. + */ + +function selectors_isMultiSelecting(state) { + return state.isMultiSelecting; +} +/** + * Selector that returns if multi-selection is enabled or not. + * + * @param {Object} state Global application state. + * + * @return {boolean} True if it should be possible to multi-select blocks, false if multi-selection is disabled. + */ + +function selectors_isSelectionEnabled(state) { + return state.isSelectionEnabled; +} +/** + * Returns the block's editing mode, defaulting to "visual" if not explicitly + * assigned. + * + * @param {Object} state Editor state. + * @param {string} clientId Block client ID. + * + * @return {Object} Block editing mode. + */ + +function getBlockMode(state, clientId) { + return state.blocksMode[clientId] || 'visual'; +} +/** + * Returns true if the user is typing, or false otherwise. + * + * @param {Object} state Global application state. + * + * @return {boolean} Whether user is typing. + */ + +function selectors_isTyping(state) { + return state.isTyping; +} +/** + * Returns true if the user is dragging blocks, or false otherwise. + * + * @param {Object} state Global application state. + * + * @return {boolean} Whether user is dragging blocks. + */ + +function isDraggingBlocks(state) { + return !!state.draggedBlocks.length; +} +/** + * Returns the client ids of any blocks being directly dragged. + * + * This does not include children of a parent being dragged. + * + * @param {Object} state Global application state. + * + * @return {string[]} Array of dragged block client ids. + */ + +function getDraggedBlockClientIds(state) { + return state.draggedBlocks; +} +/** + * Returns whether the block is being dragged. + * + * Only returns true if the block is being directly dragged, + * not if the block is a child of a parent being dragged. + * See `isAncestorBeingDragged` for child blocks. + * + * @param {Object} state Global application state. + * @param {string} clientId Client id for block to check. + * + * @return {boolean} Whether the block is being dragged. + */ + +function isBlockBeingDragged(state, clientId) { + return state.draggedBlocks.includes(clientId); +} +/** + * Returns whether a parent/ancestor of the block is being dragged. + * + * @param {Object} state Global application state. + * @param {string} clientId Client id for block to check. + * + * @return {boolean} Whether the block's ancestor is being dragged. + */ + +function isAncestorBeingDragged(state, clientId) { + // Return early if no blocks are being dragged rather than + // the more expensive check for parents. + if (!isDraggingBlocks(state)) { + return false; + } + + const parents = getBlockParents(state, clientId); + return Object(external_lodash_["some"])(parents, parentClientId => isBlockBeingDragged(state, parentClientId)); +} +/** + * Returns true if the caret is within formatted text, or false otherwise. + * + * @param {Object} state Global application state. + * + * @return {boolean} Whether the caret is within formatted text. + */ + +function selectors_isCaretWithinFormattedText(state) { + return state.isCaretWithinFormattedText; +} +/** + * Returns the insertion point, the index at which the new inserted block would + * be placed. Defaults to the last index. + * + * @param {Object} state Editor state. + * + * @return {Object} Insertion point object with `rootClientId`, `index`. + */ + +function getBlockInsertionPoint(state) { + let rootClientId, index; + const { + insertionPoint, + selection: { + selectionEnd + } + } = state; + + if (insertionPoint !== null) { + return insertionPoint; + } + + const { + clientId + } = selectionEnd; + + if (clientId) { + rootClientId = getBlockRootClientId(state, clientId) || undefined; + index = getBlockIndex(state, selectionEnd.clientId, rootClientId) + 1; + } else { + index = getBlockOrder(state).length; + } + + return { + rootClientId, + index + }; +} +/** + * Returns true if we should show the block insertion point. + * + * @param {Object} state Global application state. + * + * @return {?boolean} Whether the insertion point is visible or not. + */ + +function isBlockInsertionPointVisible(state) { + return state.insertionPoint !== null; +} +/** + * Returns whether the blocks matches the template or not. + * + * @param {boolean} state + * @return {?boolean} Whether the template is valid or not. + */ + +function selectors_isValidTemplate(state) { + return state.template.isValid; +} +/** + * Returns the defined block template + * + * @param {boolean} state + * + * @return {?Array} Block Template. + */ + +function getTemplate(state) { + return state.settings.template; +} +/** + * Returns the defined block template lock. Optionally accepts a root block + * client ID as context, otherwise defaulting to the global context. + * + * @param {Object} state Editor state. + * @param {?string} rootClientId Optional block root client ID. + * + * @return {?string} Block Template Lock + */ + +function getTemplateLock(state, rootClientId) { + if (!rootClientId) { + return state.settings.templateLock; + } + + const blockListSettings = getBlockListSettings(state, rootClientId); + + if (!blockListSettings) { + return null; + } + + return blockListSettings.templateLock; +} + +const checkAllowList = (list, item, defaultResult = null) => { + if (Object(external_lodash_["isBoolean"])(list)) { + return list; + } + + if (Object(external_lodash_["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. + * This function is not exported and not memoized because using a memoized selector + * inside another memoized selector is just a waste of time. + * + * @param {Object} state Editor state. + * @param {string|Object} blockName The block type object, e.g., the response + * from the block directory; or a string name of + * an installed block type, e.g.' core/paragraph'. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {boolean} Whether the given block type is allowed to be inserted. + */ + + +const canInsertBlockTypeUnmemoized = (state, blockName, rootClientId = null) => { + let blockType; + + if (blockName && 'object' === typeof blockName) { + blockType = blockName; + blockName = blockType.name; + } else { + blockType = Object(external_wp_blocks_["getBlockType"])(blockName); + } + + if (!blockType) { + return false; + } + + const { + allowedBlockTypes + } = getSettings(state); + const isBlockAllowedInEditor = checkAllowList(allowedBlockTypes, blockName, true); + + if (!isBlockAllowedInEditor) { + return false; + } + + const isLocked = !!getTemplateLock(state, rootClientId); + + if (isLocked) { + return false; + } + + const parentBlockListSettings = getBlockListSettings(state, rootClientId); // The parent block doesn't have settings indicating it doesn't support + // inner blocks, return false. + + if (rootClientId && parentBlockListSettings === undefined) { + return false; + } + + const parentAllowedBlocks = parentBlockListSettings === null || parentBlockListSettings === void 0 ? void 0 : parentBlockListSettings.allowedBlocks; + const hasParentAllowedBlock = checkAllowList(parentAllowedBlocks, blockName); + const blockAllowedParentBlocks = blockType.parent; + const parentName = getBlockName(state, rootClientId); + const hasBlockAllowedParent = checkAllowList(blockAllowedParentBlocks, parentName); + + if (hasParentAllowedBlock !== null && hasBlockAllowedParent !== null) { + return hasParentAllowedBlock || hasBlockAllowedParent; + } else if (hasParentAllowedBlock !== null) { + return hasParentAllowedBlock; + } else if (hasBlockAllowedParent !== null) { + return hasBlockAllowedParent; + } + + return true; +}; +/** + * Determines if the given block type is allowed to be inserted into the block list. + * + * @param {Object} state Editor state. + * @param {string} blockName The name of the block type, e.g.' core/paragraph'. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {boolean} Whether the given block type is allowed to be inserted. + */ + + +const canInsertBlockType = Object(rememo["a" /* default */])(canInsertBlockTypeUnmemoized, (state, blockName, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId[rootClientId], state.settings.allowedBlockTypes, state.settings.templateLock]); +/** + * Determines if the given blocks are allowed to be inserted into the block + * list. + * + * @param {Object} state Editor state. + * @param {string} clientIds The block client IDs to be inserted. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {boolean} Whether the given blocks are allowed to be inserted. + */ + +function canInsertBlocks(state, clientIds, rootClientId = null) { + return clientIds.every(id => canInsertBlockType(state, getBlockName(state, id), rootClientId)); +} +/** + * Determines if the given block is allowed to be deleted. + * + * @param {Object} state Editor state. + * @param {string} clientId The block client Id. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {boolean} Whether the given block is allowed to be removed. + */ + +function canRemoveBlock(state, clientId, rootClientId = null) { + const attributes = getBlockAttributes(state, clientId); // attributes can be null if the block is already deleted. + + if (attributes === null) { + return true; + } + + const { + lock + } = attributes; + const parentIsLocked = !!getTemplateLock(state, rootClientId); // If we don't have a lock on the blockType level, we differ to the parent templateLock. + + if (lock === undefined || (lock === null || lock === void 0 ? void 0 : lock.remove) === undefined) { + return !parentIsLocked; + } // when remove is true, it means we cannot remove it. + + + return !(lock !== null && lock !== void 0 && lock.remove); +} +/** + * Determines if the given blocks are allowed to be removed. + * + * @param {Object} state Editor state. + * @param {string} clientIds The block client IDs to be removed. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {boolean} Whether the given blocks are allowed to be removed. + */ + +function selectors_canRemoveBlocks(state, clientIds, rootClientId = null) { + return clientIds.every(clientId => canRemoveBlock(state, clientId, rootClientId)); +} +/** + * Determines if the given block is allowed to be moved. + * + * @param {Object} state Editor state. + * @param {string} clientId The block client Id. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {boolean} Whether the given block is allowed to be moved. + */ + +function canMoveBlock(state, clientId, rootClientId = null) { + const attributes = getBlockAttributes(state, clientId); + + if (attributes === null) { + return; + } + + const { + lock + } = attributes; + const parentIsLocked = getTemplateLock(state, rootClientId) === 'all'; // If we don't have a lock on the blockType level, we differ to the parent templateLock. + + if (lock === undefined || (lock === null || lock === void 0 ? void 0 : lock.move) === undefined) { + return !parentIsLocked; + } // when move is true, it means we cannot move it. + + + return !(lock !== null && lock !== void 0 && lock.move); +} +/** + * Determines if the given blocks are allowed to be moved. + * + * @param {Object} state Editor state. + * @param {string} clientIds The block client IDs to be moved. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {boolean} Whether the given blocks are allowed to be moved. + */ + +function selectors_canMoveBlocks(state, clientIds, rootClientId = null) { + return clientIds.every(clientId => canMoveBlock(state, clientId, rootClientId)); +} +/** + * Returns information about how recently and frequently a block has been inserted. + * + * @param {Object} state Global application state. + * @param {string} id A string which identifies the insert, e.g. 'core/block/12' + * + * @return {?{ time: number, count: number }} An object containing `time` which is when the last + * insert occurred as a UNIX epoch, and `count` which is + * the number of inserts that have occurred. + */ + +function getInsertUsage(state, id) { + var _state$preferences$in, _state$preferences$in2; + + return (_state$preferences$in = (_state$preferences$in2 = state.preferences.insertUsage) === null || _state$preferences$in2 === void 0 ? void 0 : _state$preferences$in2[id]) !== null && _state$preferences$in !== void 0 ? _state$preferences$in : null; +} +/** + * Returns whether we can show a block type in the inserter + * + * @param {Object} state Global State + * @param {Object} blockType BlockType + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {boolean} Whether the given block type is allowed to be shown in the inserter. + */ + + +const canIncludeBlockTypeInInserter = (state, blockType, rootClientId) => { + if (!Object(external_wp_blocks_["hasBlockSupport"])(blockType, 'inserter', true)) { + return false; + } + + return canInsertBlockTypeUnmemoized(state, blockType.name, rootClientId); +}; +/** + * Return a function to be used to tranform a block variation to an inserter item + * + * @param {Object} state Global State + * @param {Object} item Denormalized inserter item + * @return {Function} Function to transform a block variation to inserter item + */ + + +const getItemFromVariation = (state, item) => variation => { + const variationId = `${item.id}/${variation.name}`; + const { + time, + count = 0 + } = getInsertUsage(state, variationId) || {}; + return { ...item, + id: variationId, + icon: variation.icon || item.icon, + title: variation.title || item.title, + description: variation.description || item.description, + category: variation.category || item.category, + // If `example` is explicitly undefined for the variation, the preview will not be shown. + example: variation.hasOwnProperty('example') ? variation.example : item.example, + initialAttributes: { ...item.initialAttributes, + ...variation.attributes + }, + innerBlocks: variation.innerBlocks, + keywords: variation.keywords || item.keywords, + frecency: calculateFrecency(time, count) + }; +}; +/** + * Returns the calculated frecency. + * + * 'frecency' is a heuristic (https://en.wikipedia.org/wiki/Frecency) + * that combines block usage frequenty and recency. + * + * @param {number} time When the last insert occurred as a UNIX epoch + * @param {number} count The number of inserts that have occurred. + * + * @return {number} The calculated frecency. + */ + + +const calculateFrecency = (time, count) => { + if (!time) { + return count; + } // The selector is cached, which means Date.now() is the last time that the + // relevant state changed. This suits our needs. + + + const duration = Date.now() - time; + + switch (true) { + case duration < MILLISECONDS_PER_HOUR: + return count * 4; + + case duration < MILLISECONDS_PER_DAY: + return count * 2; + + case duration < MILLISECONDS_PER_WEEK: + return count / 2; + + default: + return count / 4; + } +}; +/** + * Returns a function that accepts a block type and builds an item to be shown + * in a specific context. It's used for building items for Inserter and available + * block Transfroms list. + * + * @param {Object} state Editor state. + * @param {Object} options Options object for handling the building of a block type. + * @param {string} options.buildScope The scope for which the item is going to be used. + * @return {Function} Function returns an item to be shown in a specific context (Inserter|Transforms list). + */ + + +const buildBlockTypeItem = (state, { + buildScope = 'inserter' +}) => blockType => { + const id = blockType.name; + let isDisabled = false; + + if (!Object(external_wp_blocks_["hasBlockSupport"])(blockType.name, 'multiple', true)) { + isDisabled = Object(external_lodash_["some"])(getBlocksByClientId(state, getClientIdsWithDescendants(state)), { + name: blockType.name + }); + } + + const { + time, + count = 0 + } = getInsertUsage(state, id) || {}; + const blockItemBase = { + id, + name: blockType.name, + title: blockType.title, + icon: blockType.icon, + isDisabled, + frecency: calculateFrecency(time, count) + }; + if (buildScope === 'transform') return blockItemBase; + const inserterVariations = Object(external_wp_blocks_["getBlockVariations"])(blockType.name, 'inserter'); + return { ...blockItemBase, + initialAttributes: {}, + description: blockType.description, + category: blockType.category, + keywords: blockType.keywords, + variations: inserterVariations, + example: blockType.example, + utility: 1 // deprecated + + }; +}; +/** + * Determines the items that appear in the inserter. Includes both static + * items (e.g. a regular block type) and dynamic items (e.g. a reusable block). + * + * Each item object contains what's necessary to display a button in the + * inserter and handle its selection. + * + * The 'frecency' property is a heuristic (https://en.wikipedia.org/wiki/Frecency) + * that combines block usage frequenty and recency. + * + * Items are returned ordered descendingly by their 'utility' and 'frecency'. + * + * @param {Object} state Editor state. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {WPEditorInserterItem[]} Items that appear in inserter. + * + * @typedef {Object} WPEditorInserterItem + * @property {string} id Unique identifier for the item. + * @property {string} name The type of block to create. + * @property {Object} initialAttributes Attributes to pass to the newly created block. + * @property {string} title Title of the item, as it appears in the inserter. + * @property {string} icon Dashicon for the item, as it appears in the inserter. + * @property {string} category Block category that the item is associated with. + * @property {string[]} keywords Keywords that can be searched to find this item. + * @property {boolean} isDisabled Whether or not the user should be prevented from inserting + * this item. + * @property {number} frecency Heuristic that combines frequency and recency. + */ + + +const getInserterItems = Object(rememo["a" /* default */])((state, rootClientId = null) => { + const buildBlockTypeInserterItem = buildBlockTypeItem(state, { + buildScope: 'inserter' + }); + /* + * Matches block comment delimiters amid serialized content. + * + * @see `tokenizer` in `@wordpress/block-serialization-default-parser` + * package + * + * blockParserTokenizer differs from the original tokenizer in the + * following ways: + * + * - removed global flag (/g) + * - prepended ^\s* + * + */ + + const blockParserTokenizer = /^\s*)[^])*)\5|[^]*?)}\s+)?(\/)?-->/; + + const buildReusableBlockInserterItem = reusableBlock => { + let icon = symbol["a" /* default */]; + /* + * Instead of always displaying a generic "symbol" icon for every + * reusable block, try to use an icon that represents the first + * outermost block contained in the reusable block. This requires + * scanning the serialized form of the reusable block to find its + * first block delimiter, then looking up the corresponding block + * type, if available. + */ + + if (external_wp_element_["Platform"].OS === 'web') { + const content = typeof reusableBlock.content.raw === 'string' ? reusableBlock.content.raw : reusableBlock.content; + const rawBlockMatch = content.match(blockParserTokenizer); + + if (rawBlockMatch) { + const [,, namespace = 'core/', blockName] = rawBlockMatch; + const referencedBlockType = Object(external_wp_blocks_["getBlockType"])(namespace + blockName); + + if (referencedBlockType) { + icon = referencedBlockType.icon; + } + } + } + + const id = `core/block/${reusableBlock.id}`; + const { + time, + count = 0 + } = getInsertUsage(state, id) || {}; + const frecency = calculateFrecency(time, count); + return { + id, + name: 'core/block', + initialAttributes: { + ref: reusableBlock.id + }, + title: reusableBlock.title.raw, + icon, + category: 'reusable', + keywords: [], + isDisabled: false, + utility: 1, + // deprecated + frecency + }; + }; + + const blockTypeInserterItems = Object(external_wp_blocks_["getBlockTypes"])().filter(blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId)).map(buildBlockTypeInserterItem); + const reusableBlockInserterItems = canInsertBlockTypeUnmemoized(state, 'core/block', rootClientId) ? getReusableBlocks(state).map(buildReusableBlockInserterItem) : []; // Exclude any block type item that is to be replaced by a default + // variation. + + const visibleBlockTypeInserterItems = blockTypeInserterItems.filter(({ + variations = [] + }) => !variations.some(({ + isDefault + }) => isDefault)); + const blockVariations = []; // Show all available blocks with variations + + for (const item of blockTypeInserterItems) { + const { + variations = [] + } = item; + + if (variations.length) { + const variationMapper = getItemFromVariation(state, item); + blockVariations.push(...variations.map(variationMapper)); + } + } // Ensure core blocks are prioritized in the returned results, + // because third party blocks can be registered earlier than + // the core blocks (usually by using the `init` action), + // thus affecting the display order. + // We don't sort reusable blocks as they are handled differently. + + + const groupByType = (blocks, block) => { + const { + core, + noncore + } = blocks; + const type = block.name.startsWith('core/') ? core : noncore; + type.push(block); + return blocks; + }; + + const items = visibleBlockTypeInserterItems.reduce(groupByType, { + core: [], + noncore: [] + }); + const variations = blockVariations.reduce(groupByType, { + core: [], + noncore: [] + }); + const sortedBlockTypes = [...items.core, ...variations.core, ...items.noncore, ...variations.noncore]; + return [...sortedBlockTypes, ...reusableBlockInserterItems]; +}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.blocks.order, state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), Object(external_wp_blocks_["getBlockTypes"])()]); +/** + * Determines the items that appear in the available block transforms list. + * + * Each item object contains what's necessary to display a menu item in the + * transform list and handle its selection. + * + * The 'frecency' property is a heuristic (https://en.wikipedia.org/wiki/Frecency) + * that combines block usage frequenty and recency. + * + * Items are returned ordered descendingly by their 'frecency'. + * + * @param {Object} state Editor state. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {WPEditorTransformItem[]} Items that appear in inserter. + * + * @typedef {Object} WPEditorTransformItem + * @property {string} id Unique identifier for the item. + * @property {string} name The type of block to create. + * @property {string} title Title of the item, as it appears in the inserter. + * @property {string} icon Dashicon for the item, as it appears in the inserter. + * @property {boolean} isDisabled Whether or not the user should be prevented from inserting + * this item. + * @property {number} frecency Heuristic that combines frequency and recency. + */ + +const getBlockTransformItems = Object(rememo["a" /* default */])((state, blocks, rootClientId = null) => { + const buildBlockTypeTransformItem = buildBlockTypeItem(state, { + buildScope: 'transform' + }); + const blockTypeTransformItems = Object(external_wp_blocks_["getBlockTypes"])().filter(blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId)).map(buildBlockTypeTransformItem); + const itemsByName = Object(external_lodash_["mapKeys"])(blockTypeTransformItems, ({ + name + }) => name); + const possibleTransforms = Object(external_wp_blocks_["getPossibleBlockTransformations"])(blocks).reduce((accumulator, block) => { + if (itemsByName[block === null || block === void 0 ? void 0 : block.name]) { + accumulator.push(itemsByName[block.name]); + } + + return accumulator; + }, []); + const possibleBlockTransformations = Object(external_lodash_["orderBy"])(possibleTransforms, block => itemsByName[block.name].frecency, 'desc'); + return possibleBlockTransformations; +}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, Object(external_wp_blocks_["getBlockTypes"])()]); +/** + * Determines whether there are items to show in the inserter. + * + * @param {Object} state Editor state. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {boolean} Items that appear in inserter. + */ + +const hasInserterItems = Object(rememo["a" /* default */])((state, rootClientId = null) => { + const hasBlockType = Object(external_lodash_["some"])(Object(external_wp_blocks_["getBlockTypes"])(), blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId)); + + if (hasBlockType) { + return true; + } + + 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), Object(external_wp_blocks_["getBlockTypes"])()]); +/** + * Returns the list of allowed inserter blocks for inner blocks children + * + * @param {Object} state Editor state. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {Array?} The list of allowed block types. + */ + +const __experimentalGetAllowedBlocks = Object(rememo["a" /* default */])((state, rootClientId = null) => { + if (!rootClientId) { + return; + } + + return Object(external_lodash_["filter"])(Object(external_wp_blocks_["getBlockTypes"])(), blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId)); +}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.settings.allowedBlockTypes, state.settings.templateLock, Object(external_wp_blocks_["getBlockTypes"])()]); +/** + * Returns the block to be directly inserted by the block appender. + * + * @param {Object} state Editor state. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {?Array} The block type to be directly inserted. + */ + +const __experimentalGetDirectInsertBlock = Object(rememo["a" /* default */])((state, rootClientId = null) => { + var _state$blockListSetti, _state$blockListSetti2; + + if (!rootClientId) { + return; + } + + const defaultBlock = (_state$blockListSetti = state.blockListSettings[rootClientId]) === null || _state$blockListSetti === void 0 ? void 0 : _state$blockListSetti.__experimentalDefaultBlock; + const directInsert = (_state$blockListSetti2 = state.blockListSettings[rootClientId]) === null || _state$blockListSetti2 === void 0 ? void 0 : _state$blockListSetti2.__experimentalDirectInsert; + + if (!defaultBlock || !directInsert) { + return; + } + + if (typeof directInsert === 'function') { + return directInsert(getBlock(state, rootClientId)) ? defaultBlock : null; + } + + return defaultBlock; +}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.tree[rootClientId]]); + +const checkAllowListRecursive = (blocks, allowedBlockTypes) => { + if (Object(external_lodash_["isBoolean"])(allowedBlockTypes)) { + return allowedBlockTypes; + } + + const blocksQueue = [...blocks]; + + while (blocksQueue.length > 0) { + var _block$innerBlocks; + + const block = blocksQueue.shift(); + const isAllowed = checkAllowList(allowedBlockTypes, block.name || block.blockName, true); + + if (!isAllowed) { + return false; + } + + (_block$innerBlocks = block.innerBlocks) === null || _block$innerBlocks === void 0 ? void 0 : _block$innerBlocks.forEach(innerBlock => { + blocksQueue.push(innerBlock); + }); + } + + return true; +}; + +const __experimentalGetParsedPattern = Object(rememo["a" /* default */])((state, patternName) => { + const patterns = state.settings.__experimentalBlockPatterns; + const pattern = patterns.find(({ + name + }) => name === patternName); + + if (!pattern) { + return null; + } + + return { ...pattern, + blocks: Object(external_wp_blocks_["parse"])(pattern.content) + }; +}, state => [state.settings.__experimentalBlockPatterns]); +const getAllAllowedPatterns = Object(rememo["a" /* default */])(state => { + const patterns = state.settings.__experimentalBlockPatterns; + const { + allowedBlockTypes + } = getSettings(state); + const parsedPatterns = 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.allowedBlockTypes]); +/** + * Returns the list of allowed patterns for inner blocks children. + * + * @param {Object} state Editor state. + * @param {?string} rootClientId Optional target root client ID. + * + * @return {Array?} The list of allowed patterns. + */ + +const __experimentalGetAllowedPatterns = Object(rememo["a" /* default */])((state, rootClientId = null) => { + const availableParsedPatterns = getAllAllowedPatterns(state); + const patternsAllowed = Object(external_lodash_["filter"])(availableParsedPatterns, ({ + blocks + }) => blocks.every(({ + name + }) => canInsertBlockType(state, name, rootClientId))); + return patternsAllowed; +}, (state, rootClientId) => [state.settings.__experimentalBlockPatterns, state.settings.allowedBlockTypes, state.settings.templateLock, state.blockListSettings[rootClientId], state.blocks.byClientId[rootClientId]]); +/** + * Returns the list of patterns based on their declared `blockTypes` + * and a block's name. + * Patterns can use `blockTypes` to integrate in work flows like + * suggesting appropriate patterns in a Placeholder state(during insertion) + * or blocks transformations. + * + * @param {Object} state Editor state. + * @param {string|string[]} blockNames Block's name or array of block names to find matching pattens. + * @param {?string} rootClientId Optional target root client ID. + * + * @return {Array} The list of matched block patterns based on declared `blockTypes` and block name. + */ + +const __experimentalGetPatternsByBlockTypes = Object(rememo["a" /* default */])((state, blockNames, rootClientId = null) => { + if (!blockNames) return EMPTY_ARRAY; + + const patterns = __experimentalGetAllowedPatterns(state, rootClientId); + + const normalizedBlockNames = Array.isArray(blockNames) ? blockNames : [blockNames]; + return patterns.filter(pattern => { + var _pattern$blockTypes, _pattern$blockTypes$s; + + return pattern === null || pattern === void 0 ? void 0 : (_pattern$blockTypes = pattern.blockTypes) === null || _pattern$blockTypes === void 0 ? void 0 : (_pattern$blockTypes$s = _pattern$blockTypes.some) === null || _pattern$blockTypes$s === void 0 ? void 0 : _pattern$blockTypes$s.call(_pattern$blockTypes, blockName => normalizedBlockNames.includes(blockName)); + }); +}, (state, rootClientId) => [...__experimentalGetAllowedPatterns.getDependants(state, rootClientId)]); +/** + * Determines the items that appear in the available pattern transforms list. + * + * For now we only handle blocks without InnerBlocks and take into account + * the `__experimentalRole` property of blocks' attributes for the transformation. + * + * We return the first set of possible eligible block patterns, + * by checking the `blockTypes` property. We still have to recurse through + * 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. + * + * @param {Object} state Editor state. + * @param {Object[]} blocks The selected blocks. + * @param {?string} rootClientId Optional root client ID of block list. + * + * @return {WPBlockPattern[]} Items that are eligible for a pattern transformation. + */ + +const __experimentalGetPatternTransformItems = Object(rememo["a" /* default */])((state, blocks, rootClientId = null) => { + if (!blocks) return EMPTY_ARRAY; + /** + * For now we only handle blocks without InnerBlocks and take into account + * the `__experimentalRole` property of blocks' attributes for the transformation. + * Note that the blocks have been retrieved through `getBlock`, which doesn't + * return the inner blocks of an inner block controller, so we still need + * to check for this case too. + */ + + if (blocks.some(({ + clientId, + innerBlocks + }) => innerBlocks.length || areInnerBlocksControlled(state, clientId))) { + return EMPTY_ARRAY; + } // Create a Set of the selected block names that is used in patterns filtering. + + + const selectedBlockNames = Array.from(new Set(blocks.map(({ + name + }) => name))); + /** + * Here we will return first set of possible eligible block patterns, + * by checking the `blockTypes` property. We still have to recurse through + * 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 __experimentalGetPatternsByBlockTypes(state, selectedBlockNames, rootClientId); +}, (state, rootClientId) => [...__experimentalGetPatternsByBlockTypes.getDependants(state, rootClientId)]); +/** + * Returns the Block List settings of a block, if any exist. + * + * @param {Object} state Editor state. + * @param {?string} clientId Block client ID. + * + * @return {?Object} Block settings of the block if set. + */ + +function getBlockListSettings(state, clientId) { + return state.blockListSettings[clientId]; +} +/** + * Returns the editor settings. + * + * @param {Object} state Editor state. + * + * @return {Object} The editor settings object. + */ + +function getSettings(state) { + return state.settings; +} +/** + * Returns true if the most recent block change is be considered persistent, or + * false otherwise. A persistent change is one committed by BlockEditorProvider + * via its `onChange` callback, in addition to `onInput`. + * + * @param {Object} state Block editor state. + * + * @return {boolean} Whether the most recent block change was persistent. + */ + +function isLastBlockChangePersistent(state) { + return state.blocks.isPersistentChange; +} +/** + * Returns the block list settings for an array of blocks, if any exist. + * + * @param {Object} state Editor state. + * @param {Array} clientIds Block client IDs. + * + * @return {Object} An object where the keys are client ids and the values are + * a block list setting object. + */ + +const __experimentalGetBlockListSettingsForBlocks = Object(rememo["a" /* default */])((state, clientIds = []) => { + return clientIds.reduce((blockListSettingsForBlocks, clientId) => { + if (!state.blockListSettings[clientId]) { + return blockListSettingsForBlocks; + } + + return { ...blockListSettingsForBlocks, + [clientId]: state.blockListSettings[clientId] + }; + }, {}); +}, state => [state.blockListSettings]); +/** + * Returns the title of a given reusable block + * + * @param {Object} state Global application state. + * @param {number|string} ref The shared block's ID. + * + * @return {string} The reusable block saved title. + */ + +const __experimentalGetReusableBlockTitle = Object(rememo["a" /* default */])((state, ref) => { + var _reusableBlock$title; + + const reusableBlock = Object(external_lodash_["find"])(getReusableBlocks(state), block => block.id === ref); + + if (!reusableBlock) { + return null; + } + + return (_reusableBlock$title = reusableBlock.title) === null || _reusableBlock$title === void 0 ? void 0 : _reusableBlock$title.raw; +}, state => [getReusableBlocks(state)]); +/** + * Returns true if the most recent block change is be considered ignored, or + * false otherwise. An ignored change is one not to be committed by + * BlockEditorProvider, neither via `onChange` nor `onInput`. + * + * @param {Object} state Block editor state. + * + * @return {boolean} Whether the most recent block change was ignored. + */ + +function __unstableIsLastBlockChangeIgnored(state) { + // TODO: Removal Plan: Changes incurred by RECEIVE_BLOCKS should not be + // ignored if in-fact they result in a change in blocks state. The current + // need to ignore changes not a result of user interaction should be + // accounted for in the refactoring of reusable blocks as occurring within + // their own separate block editor / state (#7119). + return state.blocks.isIgnoredChange; +} +/** + * Returns the block attributes changed as a result of the last dispatched + * action. + * + * @param {Object} state Block editor state. + * + * @return {Object} Subsets of block attributes changed, keyed + * by block client ID. + */ + +function __experimentalGetLastBlockAttributeChanges(state) { + return state.lastBlockAttributesChange; +} +/** + * Returns the available reusable blocks + * + * @param {Object} state Global application state. + * + * @return {Array} Reusable blocks + */ + +function getReusableBlocks(state) { + var _state$settings$__exp, _state$settings; + + return (_state$settings$__exp = state === null || state === void 0 ? void 0 : (_state$settings = state.settings) === null || _state$settings === void 0 ? void 0 : _state$settings.__experimentalReusableBlocks) !== null && _state$settings$__exp !== void 0 ? _state$settings$__exp : EMPTY_ARRAY; +} +/** + * Returns whether the navigation mode is enabled. + * + * @param {Object} state Editor state. + * + * @return {boolean} Is navigation mode enabled. + */ + + +function selectors_isNavigationMode(state) { + return state.isNavigationMode; +} +/** + * Returns whether block moving mode is enabled. + * + * @param {Object} state Editor state. + * + * @return {string} Client Id of moving block. + */ + +function selectors_hasBlockMovingClientId(state) { + return state.hasBlockMovingClientId; +} +/** + * Returns true if the last change was an automatic change, false otherwise. + * + * @param {Object} state Global application state. + * + * @return {boolean} Whether the last change was automatic. + */ + +function didAutomaticChange(state) { + return !!state.automaticChangeStatus; +} +/** + * Returns true if the current highlighted block matches the block clientId. + * + * @param {Object} state Global application state. + * @param {string} clientId The block to check. + * + * @return {boolean} Whether the block is currently highlighted. + */ + +function isBlockHighlighted(state, clientId) { + return state.highlightedBlock === clientId; +} +/** + * Checks if a given block has controlled inner blocks. + * + * @param {Object} state Global application state. + * @param {string} clientId The block to check. + * + * @return {boolean} True if the block has controlled inner blocks. + */ + +function areInnerBlocksControlled(state, clientId) { + return !!state.blocks.controlledInnerBlocks[clientId]; +} +/** + * Returns the clientId for the first 'active' block of a given array of block names. + * A block is 'active' if it (or a child) is the selected block. + * Returns the first match moving up the DOM from the selected block. + * + * @param {Object} state Global application state. + * @param {string[]} validBlocksNames The names of block types to check for. + * + * @return {string} The matching block's clientId. + */ + +const __experimentalGetActiveBlockIdByBlockNames = Object(rememo["a" /* default */])((state, validBlockNames) => { + if (!validBlockNames.length) { + return null; + } // Check if selected block is a valid entity area. + + + const selectedBlockClientId = getSelectedBlockClientId(state); + + if (validBlockNames.includes(getBlockName(state, selectedBlockClientId))) { + return selectedBlockClientId; + } // Check if first selected block is a child of a valid entity area. + + + const multiSelectedBlockClientIds = getMultiSelectedBlockClientIds(state); + const entityAreaParents = getBlockParentsByBlockName(state, selectedBlockClientId || multiSelectedBlockClientIds[0], validBlockNames); + + if (entityAreaParents) { + // Last parent closest/most interior. + return Object(external_lodash_["last"])(entityAreaParents); + } + + return null; +}, (state, validBlockNames) => [state.selection.selectionStart.clientId, state.selection.selectionEnd.clientId, validBlockNames]); +/** + * Tells if the block with the passed clientId was just inserted. + * + * @param {Object} state Global application state. + * @param {Object} clientId Client Id of the block. + * @param {?string} source Optional insertion source of the block. + * @return {boolean} True if the block matches the last block inserted from the specified source. + */ + +function wasBlockJustInserted(state, clientId, source) { + const { + lastBlockInserted + } = state; + return lastBlockInserted.clientId === clientId && lastBlockInserted.source === source; +} + +// EXTERNAL MODULE: external ["wp","a11y"] +var external_wp_a11y_ = __webpack_require__("gdqT"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: external ["wp","richText"] +var external_wp_richText_ = __webpack_require__("qRz9"); + +// EXTERNAL MODULE: external ["wp","deprecated"] +var external_wp_deprecated_ = __webpack_require__("NMb1"); +var external_wp_deprecated_default = /*#__PURE__*/__webpack_require__.n(external_wp_deprecated_); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/actions.js +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + +/** + * Action which will insert a default block insert action if there + * are no other blocks at the root of the editor. This action should be used + * in actions which may result in no blocks remaining in the editor (removal, + * replacement, etc). + */ + +const ensureDefaultBlock = () => ({ + select, + dispatch +}) => { + // To avoid a focus loss when removing the last block, assure there is + // always a default block if the last of the blocks have been removed. + const count = select.getBlockCount(); + + if (count > 0) { + return; + } // If there's an custom appender, don't insert default block. + // We have to remember to manually move the focus elsewhere to + // prevent it from being lost though. + + + const { + __unstableHasCustomAppender + } = select.getSettings(); + + if (__unstableHasCustomAppender) { + return; + } + + dispatch.insertDefaultBlock(); +}; +/** + * Action that resets blocks state to the specified array of blocks, taking precedence + * over any other content reflected as an edit in state. + * + * @param {Array} blocks Array of blocks. + */ + + +const resetBlocks = blocks => ({ + dispatch +}) => { + dispatch({ + type: 'RESET_BLOCKS', + blocks + }); + dispatch(validateBlocksToTemplate(blocks)); +}; +/** + * Block validity is a function of blocks state (at the point of a + * reset) and the template setting. As a compromise to its placement + * across distinct parts of state, it is implemented here as a side- + * effect of the block reset action. + * + * @param {Array} blocks Array of blocks. + */ + +const validateBlocksToTemplate = blocks => ({ + select, + dispatch +}) => { + const template = select.getTemplate(); + const templateLock = select.getTemplateLock(); // Unlocked templates are considered always valid because they act + // as default values only. + + const isBlocksValidToTemplate = !template || templateLock !== 'all' || Object(external_wp_blocks_["doBlocksMatchTemplate"])(blocks, template); // Update if validity has changed. + + const isValidTemplate = select.isValidTemplate(); + + if (isBlocksValidToTemplate !== isValidTemplate) { + dispatch.setTemplateValidity(isBlocksValidToTemplate); + return isBlocksValidToTemplate; + } +}; +/** + * A block selection object. + * + * @typedef {Object} WPBlockSelection + * + * @property {string} clientId A block client ID. + * @property {string} attributeKey A block attribute key. + * @property {number} offset An attribute value offset, based on the rich + * text value. See `wp.richText.create`. + */ + +/* eslint-disable jsdoc/valid-types */ + +/** + * Returns an action object used in signalling that selection state should be + * reset to the specified selection. + * + * @param {WPBlockSelection} selectionStart The selection start. + * @param {WPBlockSelection} selectionEnd The selection end. + * @param {0|-1|null} initialPosition Initial block position. + * + * @return {Object} Action object. + */ + +function resetSelection(selectionStart, selectionEnd, initialPosition) { + /* eslint-enable jsdoc/valid-types */ + return { + type: 'RESET_SELECTION', + selectionStart, + selectionEnd, + initialPosition + }; +} +/** + * Returns an action object used in signalling that blocks have been received. + * Unlike resetBlocks, these should be appended to the existing known set, not + * replacing. + * + * @deprecated + * + * @param {Object[]} blocks Array of block objects. + * + * @return {Object} Action object. + */ + +function receiveBlocks(blocks) { + external_wp_deprecated_default()('wp.data.dispatch( "core/block-editor" ).receiveBlocks', { + since: '5.9', + alternative: 'resetBlocks or insertBlocks' + }); + return { + type: 'RECEIVE_BLOCKS', + blocks + }; +} +/** + * Action that updates attributes of multiple blocks with the specified client IDs. + * + * @param {string|string[]} clientIds Block client IDs. + * @param {Object} attributes Block attributes to be merged. Should be keyed by clientIds if + * uniqueByBlock is true. + * @param {boolean} uniqueByBlock true if each block in clientIds array has a unique set of attributes + * @return {Object} Action object. + */ + +function updateBlockAttributes(clientIds, attributes, uniqueByBlock = false) { + return { + type: 'UPDATE_BLOCK_ATTRIBUTES', + clientIds: Object(external_lodash_["castArray"])(clientIds), + attributes, + uniqueByBlock + }; +} +/** + * Action that updates the block with the specified client ID. + * + * @param {string} clientId Block client ID. + * @param {Object} updates Block attributes to be merged. + * + * @return {Object} Action object. + */ + +function updateBlock(clientId, updates) { + return { + type: 'UPDATE_BLOCK', + clientId, + updates + }; +} +/* eslint-disable jsdoc/valid-types */ + +/** + * Returns an action object used in signalling that the block with the + * specified client ID has been selected, optionally accepting a position + * value reflecting its selection directionality. An initialPosition of -1 + * reflects a reverse selection. + * + * @param {string} clientId Block client ID. + * @param {0|-1|null} initialPosition Optional initial position. Pass as -1 to + * reflect reverse selection. + * + * @return {Object} Action object. + */ + +function selectBlock(clientId, initialPosition = 0) { + /* eslint-enable jsdoc/valid-types */ + return { + type: 'SELECT_BLOCK', + initialPosition, + clientId + }; +} +/** + * Yields action objects used in signalling that the block preceding the given + * clientId should be selected. + * + * @param {string} clientId Block client ID. + */ + +const selectPreviousBlock = clientId => ({ + select, + dispatch +}) => { + const previousBlockClientId = select.getPreviousBlockClientId(clientId); + + if (previousBlockClientId) { + dispatch.selectBlock(previousBlockClientId, -1); + } +}; +/** + * Yields action objects used in signalling that the block following the given + * clientId should be selected. + * + * @param {string} clientId Block client ID. + */ + +const selectNextBlock = clientId => ({ + select, + dispatch +}) => { + const nextBlockClientId = select.getNextBlockClientId(clientId); + + if (nextBlockClientId) { + dispatch.selectBlock(nextBlockClientId); + } +}; +/** + * Action that starts block multi-selection. + * + * @return {Object} Action object. + */ + +function startMultiSelect() { + return { + type: 'START_MULTI_SELECT' + }; +} +/** + * Action that stops block multi-selection. + * + * @return {Object} Action object. + */ + +function stopMultiSelect() { + return { + type: 'STOP_MULTI_SELECT' + }; +} +/** + * Action that changes block multi-selection. + * + * @param {string} start First block of the multi selection. + * @param {string} end Last block of the multiselection. + */ + +const multiSelect = (start, end) => ({ + select, + dispatch +}) => { + const startBlockRootClientId = select.getBlockRootClientId(start); + const endBlockRootClientId = select.getBlockRootClientId(end); // Only allow block multi-selections at the same level. + + if (startBlockRootClientId !== endBlockRootClientId) { + return; + } + + dispatch({ + type: 'MULTI_SELECT', + start, + end + }); + const blockCount = select.getSelectedBlockCount(); + Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["sprintf"])( + /* translators: %s: number of selected blocks */ + Object(external_wp_i18n_["_n"])('%s block selected.', '%s blocks selected.', blockCount), blockCount), 'assertive'); +}; +/** + * Action that clears the block selection. + * + * @return {Object} Action object. + */ + +function clearSelectedBlock() { + return { + type: 'CLEAR_SELECTED_BLOCK' + }; +} +/** + * Action that enables or disables block selection. + * + * @param {boolean} [isSelectionEnabled=true] Whether block selection should + * be enabled. + * + * @return {Object} Action object. + */ + +function toggleSelection(isSelectionEnabled = true) { + return { + type: 'TOGGLE_SELECTION', + isSelectionEnabled + }; +} + +function getBlocksWithDefaultStylesApplied(blocks, blockEditorSettings) { + var _blockEditorSettings$, _blockEditorSettings$2; + + const preferredStyleVariations = (_blockEditorSettings$ = blockEditorSettings === null || blockEditorSettings === void 0 ? void 0 : (_blockEditorSettings$2 = blockEditorSettings.__experimentalPreferredStyleVariations) === null || _blockEditorSettings$2 === void 0 ? void 0 : _blockEditorSettings$2.value) !== null && _blockEditorSettings$ !== void 0 ? _blockEditorSettings$ : {}; + return blocks.map(block => { + var _block$attributes; + + const blockName = block.name; + + if (!Object(external_wp_blocks_["hasBlockSupport"])(blockName, 'defaultStylePicker', true)) { + return block; + } + + if (!preferredStyleVariations[blockName]) { + return block; + } + + const className = (_block$attributes = block.attributes) === null || _block$attributes === void 0 ? void 0 : _block$attributes.className; + + if (className !== null && className !== void 0 && className.includes('is-style-')) { + return block; + } + + const { + attributes = {} + } = block; + const blockStyle = preferredStyleVariations[blockName]; + return { ...block, + attributes: { ...attributes, + className: `${className || ''} is-style-${blockStyle}`.trim() + } + }; + }); +} +/* eslint-disable jsdoc/valid-types */ + +/** + * Action that replaces given blocks with one or more replacement blocks. + * + * @param {(string|string[])} clientIds Block client ID(s) to replace. + * @param {(Object|Object[])} blocks Replacement block(s). + * @param {number} indexToSelect Index of replacement block to select. + * @param {0|-1|null} initialPosition Index of caret after in the selected block after the operation. + * @param {?Object} meta Optional Meta values to be passed to the action object. + * + * @return {Object} Action object. + */ + + +const replaceBlocks = (clientIds, blocks, indexToSelect, initialPosition = 0, meta) => ({ + select, + dispatch +}) => { + /* eslint-enable jsdoc/valid-types */ + clientIds = Object(external_lodash_["castArray"])(clientIds); + blocks = getBlocksWithDefaultStylesApplied(Object(external_lodash_["castArray"])(blocks), select.getSettings()); + const rootClientId = select.getBlockRootClientId(Object(external_lodash_["first"])(clientIds)); // Replace is valid if the new blocks can be inserted in the root block. + + for (let index = 0; index < blocks.length; index++) { + const block = blocks[index]; + const canInsertBlock = select.canInsertBlockType(block.name, rootClientId); + + if (!canInsertBlock) { + return; + } + } + + dispatch({ + type: 'REPLACE_BLOCKS', + clientIds, + blocks, + time: Date.now(), + indexToSelect, + initialPosition, + meta + }); + dispatch(ensureDefaultBlock()); +}; +/** + * Action that replaces a single block with one or more replacement blocks. + * + * @param {(string|string[])} clientId Block client ID to replace. + * @param {(Object|Object[])} block Replacement block(s). + * + * @return {Object} Action object. + */ + +function replaceBlock(clientId, block) { + return replaceBlocks(clientId, block); +} +/** + * Higher-order action creator which, given the action type to dispatch creates + * an action creator for managing block movement. + * + * @param {string} type Action type to dispatch. + * + * @return {Function} Action creator. + */ + +const createOnMove = type => (clientIds, rootClientId) => ({ + select, + dispatch +}) => { + // If one of the blocks is locked or the parent is locked, we cannot move any block. + const canMoveBlocks = select.canMoveBlocks(clientIds, rootClientId); + + if (!canMoveBlocks) { + return; + } + + dispatch({ + type, + clientIds: Object(external_lodash_["castArray"])(clientIds), + rootClientId + }); +}; + +const moveBlocksDown = createOnMove('MOVE_BLOCKS_DOWN'); +const moveBlocksUp = createOnMove('MOVE_BLOCKS_UP'); +/** + * Action that moves given blocks to a new position. + * + * @param {?string} clientIds The client IDs of the blocks. + * @param {?string} fromRootClientId Root client ID source. + * @param {?string} toRootClientId Root client ID destination. + * @param {number} index The index to move the blocks to. + */ + +const moveBlocksToPosition = (clientIds, fromRootClientId = '', toRootClientId = '', index) => ({ + select, + dispatch +}) => { + const canMoveBlocks = select.canMoveBlocks(clientIds, fromRootClientId); // If one of the blocks is locked or the parent is locked, we cannot move any block. + + if (!canMoveBlocks) { + return; + } // If moving inside the same root block the move is always possible. + + + if (fromRootClientId !== toRootClientId) { + const canRemoveBlocks = select.canRemoveBlocks(clientIds, fromRootClientId); // If we're moving to another block, it means we're deleting blocks from + // the original block, so we need to check if removing is possible. + + if (!canRemoveBlocks) { + return; + } + + const canInsertBlocks = select.canInsertBlocks(clientIds, toRootClientId); // If moving to other parent block, the move is possible if we can insert a block of the same type inside the new parent block. + + if (!canInsertBlocks) { + return; + } + } + + dispatch({ + type: 'MOVE_BLOCKS_TO_POSITION', + fromRootClientId, + toRootClientId, + clientIds, + index + }); +}; +/** + * Action that moves given block to a new position. + * + * @param {?string} clientId The client ID of the block. + * @param {?string} fromRootClientId Root client ID source. + * @param {?string} toRootClientId Root client ID destination. + * @param {number} index The index to move the block to. + */ + +function moveBlockToPosition(clientId, fromRootClientId = '', toRootClientId = '', index) { + return moveBlocksToPosition([clientId], fromRootClientId, toRootClientId, index); +} +/** + * Action that inserts a single block, optionally at a specific index respective a root block list. + * + * @param {Object} block Block object to insert. + * @param {?number} index Index at which block should be inserted. + * @param {?string} rootClientId Optional root client ID of block list on which to insert. + * @param {?boolean} updateSelection If true block selection will be updated. If false, block selection will not change. Defaults to true. + * @param {?Object} meta Optional Meta values to be passed to the action object. + * + * @return {Object} Action object. + */ + +function insertBlock(block, index, rootClientId, updateSelection, meta) { + return insertBlocks([block], index, rootClientId, updateSelection, 0, meta); +} +/* eslint-disable jsdoc/valid-types */ + +/** + * Action that inserts an array of blocks, optionally at a specific index respective a root block list. + * + * @param {Object[]} blocks Block objects to insert. + * @param {?number} index Index at which block should be inserted. + * @param {?string} rootClientId Optional root client ID of block list on which to insert. + * @param {?boolean} updateSelection If true block selection will be updated. If false, block selection will not change. Defaults to true. + * @param {0|-1|null} initialPosition Initial focus position. Setting it to null prevent focusing the inserted block. + * @param {?Object} meta Optional Meta values to be passed to the action object. + * @return {Object} Action object. + */ + +const insertBlocks = (blocks, index, rootClientId, updateSelection = true, initialPosition = 0, meta) => ({ + select, + dispatch +}) => { + /* eslint-enable jsdoc/valid-types */ + if (Object(external_lodash_["isObject"])(initialPosition)) { + meta = initialPosition; + initialPosition = 0; + external_wp_deprecated_default()("meta argument in wp.data.dispatch('core/block-editor')", { + since: '10.1', + plugin: 'Gutenberg', + hint: 'The meta argument is now the 6th argument of the function' + }); + } + + blocks = getBlocksWithDefaultStylesApplied(Object(external_lodash_["castArray"])(blocks), select.getSettings()); + const allowedBlocks = []; + + for (const block of blocks) { + const isValid = select.canInsertBlockType(block.name, rootClientId); + + if (isValid) { + allowedBlocks.push(block); + } + } + + if (allowedBlocks.length) { + dispatch({ + type: 'INSERT_BLOCKS', + blocks: allowedBlocks, + index, + rootClientId, + time: Date.now(), + updateSelection, + initialPosition: updateSelection ? initialPosition : null, + meta + }); + } +}; +/** + * Action that shows the insertion point. + * + * @param {?string} rootClientId Optional root client ID of block list on + * which to insert. + * @param {?number} index Index at which block should be inserted. + * @param {Object} __unstableOptions Wether or not to show an inserter button. + * + * @return {Object} Action object. + */ + +function showInsertionPoint(rootClientId, index, __unstableOptions = {}) { + const { + __unstableWithInserter + } = __unstableOptions; + return { + type: 'SHOW_INSERTION_POINT', + rootClientId, + index, + __unstableWithInserter + }; +} +/** + * Action that hides the insertion point. + * + * @return {Object} Action object. + */ + +function hideInsertionPoint() { + return { + type: 'HIDE_INSERTION_POINT' + }; +} +/** + * Action that resets the template validity. + * + * @param {boolean} isValid template validity flag. + * + * @return {Object} Action object. + */ + +function setTemplateValidity(isValid) { + return { + type: 'SET_TEMPLATE_VALIDITY', + isValid + }; +} +/** + * Action that synchronizes the template with the list of blocks. + * + * @return {Object} Action object. + */ + +const synchronizeTemplate = () => ({ + select, + dispatch +}) => { + dispatch({ + type: 'SYNCHRONIZE_TEMPLATE' + }); + const blocks = select.getBlocks(); + const template = select.getTemplate(); + const updatedBlockList = Object(external_wp_blocks_["synchronizeBlocksWithTemplate"])(blocks, template); + dispatch.resetBlocks(updatedBlockList); +}; +/** + * Action that merges two blocks. + * + * @param {string} firstBlockClientId Client ID of the first block to merge. + * @param {string} secondBlockClientId Client ID of the second block to merge. + */ + +const mergeBlocks = (firstBlockClientId, secondBlockClientId) => ({ + select, + dispatch +}) => { + const blocks = [firstBlockClientId, secondBlockClientId]; + dispatch({ + type: 'MERGE_BLOCKS', + blocks + }); + const [clientIdA, clientIdB] = blocks; + const blockA = select.getBlock(clientIdA); + const blockAType = Object(external_wp_blocks_["getBlockType"])(blockA.name); // Only focus the previous block if it's not mergeable + + if (blockAType && !blockAType.merge) { + dispatch.selectBlock(blockA.clientId); + return; + } + + const blockB = select.getBlock(clientIdB); + const blockBType = Object(external_wp_blocks_["getBlockType"])(blockB.name); + const { + clientId, + attributeKey, + offset + } = select.getSelectionStart(); + const selectedBlockType = clientId === clientIdA ? blockAType : blockBType; + const attributeDefinition = selectedBlockType.attributes[attributeKey]; + const canRestoreTextSelection = (clientId === clientIdA || clientId === clientIdB) && attributeKey !== undefined && offset !== undefined && // We cannot restore text selection if the RichText identifier + // is not a defined block attribute key. This can be the case if the + // fallback intance ID is used to store selection (and no RichText + // identifier is set), or when the identifier is wrong. + !!attributeDefinition; + + if (!attributeDefinition) { + if (typeof attributeKey === 'number') { + 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 attributeKey}`); + } else { + window.console.error('The RichText identifier prop does not match any attributes defined by the block.'); + } + } // A robust way to retain selection position through various transforms + // is to insert a special character at the position and then recover it. + + + const START_OF_SELECTED_AREA = '\u0086'; // Clone the blocks so we don't insert the character in a "live" block. + + const cloneA = Object(external_wp_blocks_["cloneBlock"])(blockA); + const cloneB = Object(external_wp_blocks_["cloneBlock"])(blockB); + + if (canRestoreTextSelection) { + const selectedBlock = clientId === clientIdA ? cloneA : cloneB; + const html = selectedBlock.attributes[attributeKey]; + const { + multiline: multilineTag, + __unstableMultilineWrapperTags: multilineWrapperTags, + __unstablePreserveWhiteSpace: preserveWhiteSpace + } = attributeDefinition; + const value = Object(external_wp_richText_["insert"])(Object(external_wp_richText_["create"])({ + html, + multilineTag, + multilineWrapperTags, + preserveWhiteSpace + }), START_OF_SELECTED_AREA, offset, offset); + selectedBlock.attributes[attributeKey] = Object(external_wp_richText_["toHTMLString"])({ + value, + multilineTag, + preserveWhiteSpace + }); + } // We can only merge blocks with similar types + // thus, we transform the block to merge first + + + const blocksWithTheSameType = blockA.name === blockB.name ? [cloneB] : Object(external_wp_blocks_["switchToBlockType"])(cloneB, blockA.name); // If the block types can not match, do nothing + + if (!blocksWithTheSameType || !blocksWithTheSameType.length) { + return; + } // Calling the merge to update the attributes and remove the block to be merged + + + const updatedAttributes = blockAType.merge(cloneA.attributes, blocksWithTheSameType[0].attributes); + + if (canRestoreTextSelection) { + const newAttributeKey = Object(external_lodash_["findKey"])(updatedAttributes, v => typeof v === 'string' && v.indexOf(START_OF_SELECTED_AREA) !== -1); + const convertedHtml = updatedAttributes[newAttributeKey]; + const { + multiline: multilineTag, + __unstableMultilineWrapperTags: multilineWrapperTags, + __unstablePreserveWhiteSpace: preserveWhiteSpace + } = blockAType.attributes[newAttributeKey]; + const convertedValue = Object(external_wp_richText_["create"])({ + html: convertedHtml, + multilineTag, + multilineWrapperTags, + preserveWhiteSpace + }); + const newOffset = convertedValue.text.indexOf(START_OF_SELECTED_AREA); + const newValue = Object(external_wp_richText_["remove"])(convertedValue, newOffset, newOffset + 1); + const newHtml = Object(external_wp_richText_["toHTMLString"])({ + value: newValue, + multilineTag, + preserveWhiteSpace + }); + updatedAttributes[newAttributeKey] = newHtml; + dispatch.selectionChange(blockA.clientId, newAttributeKey, newOffset, newOffset); + } + + dispatch.replaceBlocks([blockA.clientId, blockB.clientId], [{ ...blockA, + attributes: { ...blockA.attributes, + ...updatedAttributes + } + }, ...blocksWithTheSameType.slice(1)], 0 // If we don't pass the `indexToSelect` it will default to the last block. + ); +}; +/** + * Yields action objects used in signalling that the blocks corresponding to + * the set of specified client IDs are to be removed. + * + * @param {string|string[]} clientIds Client IDs of blocks to remove. + * @param {boolean} selectPrevious True if the previous block should be + * selected when a block is removed. + */ + +const removeBlocks = (clientIds, selectPrevious = true) => ({ + select, + dispatch +}) => { + if (!clientIds || !clientIds.length) { + return; + } + + clientIds = Object(external_lodash_["castArray"])(clientIds); + const rootClientId = select.getBlockRootClientId(clientIds[0]); + const canRemoveBlocks = select.canRemoveBlocks(clientIds, rootClientId); + + if (!canRemoveBlocks) { + return; + } + + if (selectPrevious) { + dispatch.selectPreviousBlock(clientIds[0]); + } + + dispatch({ + type: 'REMOVE_BLOCKS', + clientIds + }); // To avoid a focus loss when removing the last block, assure there is + // always a default block if the last of the blocks have been removed. + + dispatch(ensureDefaultBlock()); +}; +/** + * Returns an action object used in signalling that the block with the + * specified client ID is to be removed. + * + * @param {string} clientId Client ID of block to remove. + * @param {boolean} selectPrevious True if the previous block should be + * selected when a block is removed. + * + * @return {Object} Action object. + */ + +function removeBlock(clientId, selectPrevious) { + return removeBlocks([clientId], selectPrevious); +} +/* eslint-disable jsdoc/valid-types */ + +/** + * Returns an action object used in signalling that the inner blocks with the + * specified client ID should be replaced. + * + * @param {string} rootClientId Client ID of the block whose InnerBlocks will re replaced. + * @param {Object[]} blocks Block objects to insert as new InnerBlocks + * @param {?boolean} updateSelection If true block selection will be updated. If false, block selection will not change. Defaults to false. + * @param {0|-1|null} initialPosition Initial block position. + * @return {Object} Action object. + */ + +function replaceInnerBlocks(rootClientId, blocks, updateSelection = false, initialPosition = 0) { + /* eslint-enable jsdoc/valid-types */ + return { + type: 'REPLACE_INNER_BLOCKS', + rootClientId, + blocks, + updateSelection, + initialPosition: updateSelection ? initialPosition : null, + time: Date.now() + }; +} +/** + * Returns an action object used to toggle the block editing mode between + * visual and HTML modes. + * + * @param {string} clientId Block client ID. + * + * @return {Object} Action object. + */ + +function toggleBlockMode(clientId) { + return { + type: 'TOGGLE_BLOCK_MODE', + clientId + }; +} +/** + * Returns an action object used in signalling that the user has begun to type. + * + * @return {Object} Action object. + */ + +function startTyping() { + return { + type: 'START_TYPING' + }; +} +/** + * Returns an action object used in signalling that the user has stopped typing. + * + * @return {Object} Action object. + */ + +function stopTyping() { + return { + type: 'STOP_TYPING' + }; +} +/** + * Returns an action object used in signalling that the user has begun to drag blocks. + * + * @param {string[]} clientIds An array of client ids being dragged + * + * @return {Object} Action object. + */ + +function startDraggingBlocks(clientIds = []) { + return { + type: 'START_DRAGGING_BLOCKS', + clientIds + }; +} +/** + * Returns an action object used in signalling that the user has stopped dragging blocks. + * + * @return {Object} Action object. + */ + +function stopDraggingBlocks() { + return { + type: 'STOP_DRAGGING_BLOCKS' + }; +} +/** + * Returns an action object used in signalling that the caret has entered formatted text. + * + * @return {Object} Action object. + */ + +function enterFormattedText() { + return { + type: 'ENTER_FORMATTED_TEXT' + }; +} +/** + * Returns an action object used in signalling that the user caret has exited formatted text. + * + * @return {Object} Action object. + */ + +function exitFormattedText() { + return { + type: 'EXIT_FORMATTED_TEXT' + }; +} +/** + * Action that changes the position of the user caret. + * + * @param {string} clientId The selected block client ID. + * @param {string} attributeKey The selected block attribute key. + * @param {number} startOffset The start offset. + * @param {number} endOffset The end offset. + * + * @return {Object} Action object. + */ + +function selectionChange(clientId, attributeKey, startOffset, endOffset) { + return { + type: 'SELECTION_CHANGE', + clientId, + attributeKey, + startOffset, + endOffset + }; +} +/** + * Action that adds a new block of the default type to the block list. + * + * @param {?Object} attributes Optional attributes of the block to assign. + * @param {?string} rootClientId Optional root client ID of block list on which + * to append. + * @param {?number} index Optional index where to insert the default block + * + * @return {Object} Action object + */ + +function insertDefaultBlock(attributes, rootClientId, index) { + // Abort if there is no default block type (if it has been unregistered). + const defaultBlockName = Object(external_wp_blocks_["getDefaultBlockName"])(); + + if (!defaultBlockName) { + return; + } + + const block = Object(external_wp_blocks_["createBlock"])(defaultBlockName, attributes); + return insertBlock(block, index, rootClientId); +} +/** + * Action that changes the nested settings of a given block. + * + * @param {string} clientId Client ID of the block whose nested setting are + * being received. + * @param {Object} settings Object with the new settings for the nested block. + * + * @return {Object} Action object + */ + +function updateBlockListSettings(clientId, settings) { + return { + type: 'UPDATE_BLOCK_LIST_SETTINGS', + clientId, + settings + }; +} +/** + * Action that updates the block editor settings. + * + * @param {Object} settings Updated settings + * + * @return {Object} Action object + */ + +function updateSettings(settings) { + return { + type: 'UPDATE_SETTINGS', + settings + }; +} +/** + * Action that signals that a temporary reusable block has been saved + * in order to switch its temporary id with the real id. + * + * @param {string} id Reusable block's id. + * @param {string} updatedId Updated block's id. + * + * @return {Object} Action object. + */ + +function __unstableSaveReusableBlock(id, updatedId) { + return { + type: 'SAVE_REUSABLE_BLOCK_SUCCESS', + id, + updatedId + }; +} +/** + * Action that marks the last block change explicitly as persistent. + * + * @return {Object} Action object. + */ + +function __unstableMarkLastChangeAsPersistent() { + return { + type: 'MARK_LAST_CHANGE_AS_PERSISTENT' + }; +} +/** + * Action that signals that the next block change should be marked explicitly as not persistent. + * + * @return {Object} Action object. + */ + +function __unstableMarkNextChangeAsNotPersistent() { + return { + type: 'MARK_NEXT_CHANGE_AS_NOT_PERSISTENT' + }; +} +/** + * Action that marks the last block change as an automatic change, meaning it was not + * performed by the user, and can be undone using the `Escape` and `Backspace` keys. + * This action must be called after the change was made, and any actions that are a + * consequence of it, so it is recommended to be called at the next idle period to ensure all + * selection changes have been recorded. + */ + +const __unstableMarkAutomaticChange = () => ({ + dispatch +}) => { + dispatch({ + type: 'MARK_AUTOMATIC_CHANGE' + }); + const { + requestIdleCallback = cb => setTimeout(cb, 100) + } = window; + requestIdleCallback(() => { + dispatch({ + type: 'MARK_AUTOMATIC_CHANGE_FINAL' + }); + }); +}; +/** + * Action that enables or disables the navigation mode. + * + * @param {string} isNavigationMode Enable/Disable navigation mode. + */ + +const setNavigationMode = (isNavigationMode = true) => ({ + dispatch +}) => { + dispatch({ + type: 'SET_NAVIGATION_MODE', + isNavigationMode + }); + + if (isNavigationMode) { + Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('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.')); + } else { + Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('You are currently in edit mode. To return to the navigation mode, press Escape.')); + } +}; +/** + * Action that enables or disables the block moving mode. + * + * @param {string|null} hasBlockMovingClientId Enable/Disable block moving mode. + */ + +const setBlockMovingClientId = (hasBlockMovingClientId = null) => ({ + dispatch +}) => { + dispatch({ + type: 'SET_BLOCK_MOVING_MODE', + hasBlockMovingClientId + }); + + if (hasBlockMovingClientId) { + Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('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.')); + } +}; +/** + * Action that duplicates a list of blocks. + * + * @param {string[]} clientIds + * @param {boolean} updateSelection + */ + +const duplicateBlocks = (clientIds, updateSelection = true) => ({ + select, + dispatch +}) => { + if (!clientIds || !clientIds.length) { + return; + } // Return early if blocks don't exist. + + + const blocks = select.getBlocksByClientId(clientIds); + + if (Object(external_lodash_["some"])(blocks, block => !block)) { + return; + } // Return early if blocks don't support multiple usage. + + + const blockNames = blocks.map(block => block.name); + + if (blockNames.some(blockName => !Object(external_wp_blocks_["hasBlockSupport"])(blockName, 'multiple', true))) { + return; + } + + const rootClientId = select.getBlockRootClientId(clientIds[0]); + const lastSelectedIndex = select.getBlockIndex(Object(external_lodash_["last"])(Object(external_lodash_["castArray"])(clientIds)), rootClientId); + const clonedBlocks = blocks.map(block => Object(external_wp_blocks_["__experimentalCloneSanitizedBlock"])(block)); + dispatch.insertBlocks(clonedBlocks, lastSelectedIndex + 1, rootClientId, updateSelection); + + if (clonedBlocks.length > 1 && updateSelection) { + dispatch.multiSelect(Object(external_lodash_["first"])(clonedBlocks).clientId, Object(external_lodash_["last"])(clonedBlocks).clientId); + } + + return clonedBlocks.map(block => block.clientId); +}; +/** + * Action that inserts an empty block before a given block. + * + * @param {string} clientId + */ + +const insertBeforeBlock = clientId => ({ + select, + dispatch +}) => { + if (!clientId) { + return; + } + + const rootClientId = select.getBlockRootClientId(clientId); + const isLocked = select.getTemplateLock(rootClientId); + + if (isLocked) { + return; + } + + const firstSelectedIndex = select.getBlockIndex(clientId, rootClientId); + return dispatch.insertDefaultBlock({}, rootClientId, firstSelectedIndex); +}; +/** + * Action that inserts an empty block after a given block. + * + * @param {string} clientId + */ + +const insertAfterBlock = clientId => ({ + select, + dispatch +}) => { + if (!clientId) { + return; + } + + const rootClientId = select.getBlockRootClientId(clientId); + const isLocked = select.getTemplateLock(rootClientId); + + if (isLocked) { + return; + } + + const firstSelectedIndex = select.getBlockIndex(clientId, rootClientId); + return dispatch.insertDefaultBlock({}, rootClientId, firstSelectedIndex + 1); +}; +/** + * Action that toggles the highlighted block state. + * + * @param {string} clientId The block's clientId. + * @param {boolean} isHighlighted The highlight state. + */ + +function toggleBlockHighlight(clientId, isHighlighted) { + return { + type: 'TOGGLE_BLOCK_HIGHLIGHT', + clientId, + isHighlighted + }; +} +/** + * Action that "flashes" the block with a given `clientId` by rhythmically highlighting it. + * + * @param {string} clientId Target block client ID. + */ + +const flashBlock = clientId => async ({ + dispatch +}) => { + dispatch(toggleBlockHighlight(clientId, true)); + await new Promise(resolve => setTimeout(resolve, 150)); + dispatch(toggleBlockHighlight(clientId, false)); +}; +/** + * Action that sets whether a block has controlled inner blocks. + * + * @param {string} clientId The block's clientId. + * @param {boolean} hasControlledInnerBlocks True if the block's inner blocks are controlled. + */ + +function setHasControlledInnerBlocks(clientId, hasControlledInnerBlocks) { + return { + type: 'SET_HAS_CONTROLLED_INNER_BLOCKS', + hasControlledInnerBlocks, + clientId + }; +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/constants.js +var constants = __webpack_require__("AHN3"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + + + +/** + * Block editor data store configuration. + * + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#registerStore + * + * @type {Object} + */ + +const storeConfig = { + reducer: store_reducer, + selectors: selectors_namespaceObject, + actions: actions_namespaceObject, + __experimentalUseThunks: true +}; +/** + * Store definition for the block editor namespace. + * + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore + * + * @type {Object} + */ + +const store = Object(external_wp_data_["createReduxStore"])(constants["a" /* STORE_NAME */], { ...storeConfig, + persist: ['preferences'] +}); // Ideally we'd use register instead of register stores. + +Object(external_wp_data_["registerStore"])(constants["a" /* STORE_NAME */], { ...storeConfig, + persist: ['preferences'] +}); + + +/***/ }), + +/***/ "Bo0k": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getFontAppearanceLabel; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return FontAppearanceControl; }); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); + + +/** + * WordPress dependencies + */ + + + +const FONT_STYLES = [{ + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Regular'), + value: 'normal' +}, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Italic'), + value: 'italic' +}]; +const FONT_WEIGHTS = [{ + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Thin'), + value: '100' +}, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Extra Light'), + value: '200' +}, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Light'), + value: '300' +}, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Regular'), + value: '400' +}, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Medium'), + value: '500' +}, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Semi Bold'), + value: '600' +}, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Bold'), + value: '700' +}, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Extra Bold'), + value: '800' +}, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Black'), + 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 Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Font weight'); + } + + if (!hasFontWeights) { + return Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Font style'); + } + + return Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('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 + } + } = props; + const hasStylesOrWeights = hasFontStyles || hasFontWeights; + const label = getFontAppearanceLabel(hasFontStyles, hasFontWeights); + const defaultOption = { + key: 'default', + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('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 : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["sprintf"])( + /* translators: 1: Font weight name. 2: Font style name. */ + Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('%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 = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["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 Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('No selected font appearance'); + } + + if (!hasFontStyles) { + return Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["sprintf"])( // translators: %s: Currently selected font weight. + Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Currently selected font weight: %s'), currentSelection.name); + } + + if (!hasFontWeights) { + return Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["sprintf"])( // translators: %s: Currently selected font style. + Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Currently selected font style: %s'), currentSelection.name); + } + + return Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["sprintf"])( // translators: %s: Currently selected font appearance. + Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Currently selected font appearance: %s'), currentSelection.name); + }; + + return hasStylesOrWeights && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["CustomSelectControl"], { + className: "components-font-appearance-control", + label: label, + describedBy: getDescribedBy(), + options: selectOptions, + value: currentSelection, + onChange: ({ + selectedItem + }) => onChange(selectedItem.style) + }); +} + + /***/ }), /***/ "Bpkj": @@ -706,6 +22294,47 @@ const link = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createEleme /* harmony default export */ __webpack_exports__["a"] = (link); +/***/ }), + +/***/ "Btt3": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __experimentalGetMatchingVariation; }); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__); +/** + * External dependencies + */ + +/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */ + +/** + * 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 is a simple implementation for now as it takes into account only the attributes + * of a block variation and not `InnerBlocks`. + * + * @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} - If a match is found returns it. If not or more than one matches are found returns `undefined`. + */ + +const __experimentalGetMatchingVariation = (blockAttributes, variations) => { + if (!variations || !blockAttributes) return; + const matches = variations.filter(({ + attributes + }) => { + if (!attributes || !Object.keys(attributes).length) return false; + return Object(lodash__WEBPACK_IMPORTED_MODULE_0__["isMatch"])(blockAttributes, attributes); + }); + if (matches.length !== 1) return; + return matches[0]; +}; + + /***/ }), /***/ "CNgt": @@ -865,6 +22494,140 @@ const layout = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createEle /* harmony default export */ __webpack_exports__["a"] = (layout); +/***/ }), + +/***/ "Cn0l": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __experimentalGetGradientClass; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getGradientValueBySlug; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __experimentalGetGradientObjectByGradientValue; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getGradientSlugByValue; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __experimentalUseGradient; }); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _block_edit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("ur0x"); +/* harmony import */ var _use_setting__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("v5LD"); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("BhPs"); +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +const EMPTY_ARRAY = []; +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 = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["find"])(gradients, ['slug', slug]); + return gradient && gradient.gradient; +} +function __experimentalGetGradientObjectByGradientValue(gradients, value) { + const gradient = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["find"])(gradients, ['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 + } = Object(_block_edit__WEBPACK_IMPORTED_MODULE_3__[/* useBlockEditContext */ "c"])(); + const gradients = Object(_use_setting__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])('color.gradients') || EMPTY_ARRAY; + const { + gradient, + customGradient + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__["useSelect"])(select => { + const { + getBlockAttributes + } = select(_store__WEBPACK_IMPORTED_MODULE_5__[/* store */ "a"]); + const attributes = getBlockAttributes(clientId) || {}; + return { + customGradient: attributes[customGradientAttribute], + gradient: attributes[gradientAttribute] + }; + }, [clientId, gradientAttribute, customGradientAttribute]); + const { + updateBlockAttributes + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__["useDispatch"])(_store__WEBPACK_IMPORTED_MODULE_5__[/* store */ "a"]); + const setGradient = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useCallback"])(newGradientValue => { + const slug = getGradientSlugByValue(gradients, newGradientValue); + + if (slug) { + updateBlockAttributes(clientId, { + [gradientAttribute]: slug, + [customGradientAttribute]: undefined + }); + return; + } + + updateBlockAttributes(clientId, { + [gradientAttribute]: undefined, + [customGradientAttribute]: newGradientValue + }); + }, [gradients, clientId, updateBlockAttributes]); + + const gradientClass = __experimentalGetGradientClass(gradient); + + let gradientValue; + + if (gradient) { + gradientValue = getGradientValueBySlug(gradients, gradient); + } else { + gradientValue = customGradient; + } + + return { + gradientClass, + gradientValue, + setGradient + }; +} + + /***/ }), /***/ "Crq9": @@ -890,6 +22653,420 @@ const formatStrikethrough = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0 /* harmony default export */ __webpack_exports__["a"] = (formatStrikethrough); +/***/ }), + +/***/ "DmX/": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const justifyCenter = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { + d: "M20 9h-7.2V4h-1.6v5H4v6h7.2v5h1.6v-5H20z" +})); +/* harmony default export */ __webpack_exports__["a"] = (justifyCenter); + + +/***/ }), + +/***/ "ERVc": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useBlockCustomClassName; }); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("HSyU"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("BhPs"); +/** + * 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 Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__["useSelect"])(select => { + const { + getBlockName, + getBlockAttributes + } = select(_store__WEBPACK_IMPORTED_MODULE_2__[/* store */ "a"]); + const attributes = getBlockAttributes(clientId); + + if (!(attributes !== null && attributes !== void 0 && attributes.className)) { + return; + } + + const blockType = Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__["getBlockType"])(getBlockName(clientId)); + const hasLightBlockWrapper = (blockType === null || blockType === void 0 ? void 0 : blockType.apiVersion) > 1; + + if (!hasLightBlockWrapper) { + return; + } + + return attributes.className; + }, [clientId]); +} + + +/***/ }), + +/***/ "EpZT": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const positionCenter = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { + d: "M7 9v6h10V9H7zM5 19.8h14v-1.5H5v1.5zM5 4.3v1.5h14V4.3H5z" +})); +/* harmony default export */ __webpack_exports__["a"] = (positionCenter); + + +/***/ }), + +/***/ "Fmc1": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _block_preview__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("REKd"); +/* harmony import */ var _inserter_draggable_blocks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("j6zP"); + + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +function BlockPattern({ + isDraggable, + pattern, + onClick, + composite +}) { + const { + blocks, + viewportWidth + } = pattern; + const instanceId = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__["useInstanceId"])(BlockPattern); + const descriptionId = `block-editor-block-patterns-list__item-description-${instanceId}`; + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_inserter_draggable_blocks__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], { + isEnabled: isDraggable, + blocks: blocks + }, ({ + draggable, + onDragStart, + onDragEnd + }) => Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("div", { + className: "block-editor-block-patterns-list__list-item", + "aria-label": pattern.title, + "aria-describedby": pattern.description ? descriptionId : undefined, + draggable: draggable, + onDragStart: onDragStart, + onDragEnd: onDragEnd + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["__unstableCompositeItem"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + role: "option", + as: "div" + }, composite, { + className: "block-editor-block-patterns-list__item", + onClick: () => onClick(pattern, blocks) + }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_block_preview__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], { + blocks: blocks, + viewportWidth: viewportWidth + }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("div", { + className: "block-editor-block-patterns-list__item-title" + }, pattern.title), !!pattern.description && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["VisuallyHidden"], { + id: descriptionId + }, pattern.description)))); +} + +function BlockPatternPlaceholder() { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("div", { + className: "block-editor-block-patterns-list__item is-placeholder" + }); +} + +function BlockPatternList({ + isDraggable, + blockPatterns, + shownPatterns, + onClickPattern, + orientation, + label = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Block Patterns') +}) { + const composite = Object(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["__unstableUseCompositeState"])({ + orientation + }); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["__unstableComposite"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, composite, { + role: "listbox", + className: "block-editor-block-patterns-list", + "aria-label": label + }), blockPatterns.map(pattern => { + const isShown = shownPatterns.includes(pattern); + return isShown ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(BlockPattern, { + key: pattern.name, + pattern: pattern, + onClick: onClickPattern, + isDraggable: isDraggable, + composite: composite + }) : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(BlockPatternPlaceholder, { + key: pattern.name + }); + })); +} + +/* harmony default export */ __webpack_exports__["a"] = (BlockPatternList); + + +/***/ }), + +/***/ "FnAh": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const info = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["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 */ __webpack_exports__["a"] = (info); + + +/***/ }), + +/***/ "G4zt": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useScrollIntoView; }); +/* harmony import */ var dom_scroll_into_view__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("9Do8"); +/* harmony import */ var dom_scroll_into_view__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dom_scroll_into_view__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("1CF3"); +/* harmony import */ var _wordpress_dom__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_dom__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("BhPs"); +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +function useScrollIntoView(clientId) { + const ref = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useRef"])(); + const isSelectionEnd = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__["useSelect"])(select => { + const { + isBlockSelected, + getBlockSelectionEnd + } = select(_store__WEBPACK_IMPORTED_MODULE_4__[/* store */ "a"]); + return isBlockSelected(clientId) || getBlockSelectionEnd() === clientId; + }, [clientId]); // Note that we can't use `useRefEffect` here, since an element change does + // not mean we can scroll. `isSelectionEnd` should be the sole dependency, + // while with `useRefEffect`, the element is a dependency as well. + + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useEffect"])(() => { + if (!isSelectionEnd) { + return; + } + + const extentNode = ref.current; + + if (!extentNode) { + return; + } // If the block is focused, the browser will already have scrolled into + // view if necessary. + + + if (extentNode.contains(extentNode.ownerDocument.activeElement)) { + return; + } + + const scrollContainer = Object(_wordpress_dom__WEBPACK_IMPORTED_MODULE_3__["getScrollContainer"])(extentNode) || extentNode.ownerDocument.defaultView; // If there's no scroll container, it follows that there's no scrollbar + // and thus there's no need to try to scroll into view. + + if (!scrollContainer) { + return; + } + + dom_scroll_into_view__WEBPACK_IMPORTED_MODULE_0___default()(extentNode, scrollContainer, { + onlyScrollIfNeeded: true + }); + }, [isSelectionEnd]); + return ref; +} + + +/***/ }), + +/***/ "GKUk": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return FontFamilyControl; }); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _use_setting__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("v5LD"); + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +function FontFamilyControl({ + value = '', + onChange, + fontFamilies, + ...props +}) { + const blockLevelFontFamilies = Object(_use_setting__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])('typography.fontFamilies'); + + if (!fontFamilies) { + fontFamilies = blockLevelFontFamilies; + } + + if (Object(lodash__WEBPACK_IMPORTED_MODULE_2__["isEmpty"])(fontFamilies)) { + return null; + } + + const options = [{ + value: '', + label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Default') + }, ...fontFamilies.map(({ + fontFamily, + name + }) => { + return { + value: fontFamily, + label: name || fontFamily + }; + })]; + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["SelectControl"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Font family'), + options: options, + value: value, + onChange: onChange, + labelPosition: "top" + }, props)); +} + + +/***/ }), + +/***/ "GOly": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/** + * WordPress dependencies + */ + +const InserterListboxContext = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createContext"])(); +/* harmony default export */ __webpack_exports__["a"] = (InserterListboxContext); + + /***/ }), /***/ "GRId": @@ -1186,6 +23363,270 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ module.exports = exports['default']; }); +/***/ }), + +/***/ "GkEL": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("NMb1"); +/* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_deprecated__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("1CF3"); +/* harmony import */ var _wordpress_dom__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_dom__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _wordpress_keyboard_shortcuts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("hF7m"); +/* harmony import */ var _wordpress_keyboard_shortcuts__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_keyboard_shortcuts__WEBPACK_IMPORTED_MODULE_5__); + + + +/** + * 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] = _wordpress_dom__WEBPACK_IMPORTED_MODULE_4__["focus"].tabbable.find(container); + + if (firstTabbable) { + firstTabbable.focus(); + } +} + +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] = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useState"])(initialAccessibleToolbarState); + const determineIsAccessibleToolbar = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useCallback"])(() => { + const tabbables = _wordpress_dom__WEBPACK_IMPORTED_MODULE_4__["focus"].tabbable.find(ref.current); + const onlyToolbarItem = hasOnlyToolbarItem(tabbables); + + if (!onlyToolbarItem) { + _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_3___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); + }, []); + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["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) { + // Make sure we don't use modified versions of this prop + const [initialFocusOnMount] = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useState"])(focusOnMount); + const [initialIndex] = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useState"])(defaultIndex); + const focusToolbar = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useCallback"])(() => { + focusFirstTabbableIn(ref.current); + }, []); // Focus on toolbar when pressing alt+F10 when the toolbar is visible + + Object(_wordpress_keyboard_shortcuts__WEBPACK_IMPORTED_MODULE_5__["useShortcut"])('core/block-editor/focus-toolbar', focusToolbar); + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useEffect"])(() => { + if (initialFocusOnMount) { + focusToolbar(); + } + }, [isAccessibleToolbar, initialFocusOnMount, focusToolbar]); + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useEffect"])(() => { + // 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 (initialIndex && !initialFocusOnMount) { + raf = window.requestAnimationFrame(() => { + const items = getAllToolbarItemsIn(ref.current); + const index = initialIndex || 0; + + if (items[index] && hasFocusWithin(ref.current)) { + items[index].focus(); + } + }); + } + + return () => { + window.cancelAnimationFrame(raf); + if (!onIndexChange || !ref.current) 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(ref.current); + const index = items.findIndex(item => item.tabIndex === 0); + onIndexChange(index); + }; + }, [initialIndex, initialFocusOnMount]); +} + +function NavigableToolbar({ + children, + focusOnMount, + __experimentalInitialIndex: initialIndex, + __experimentalOnIndexChange: onIndexChange, + ...props +}) { + const ref = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useRef"])(); + const isAccessibleToolbar = useIsAccessibleToolbar(ref); + useToolbarFocus(ref, focusOnMount, isAccessibleToolbar, initialIndex, onIndexChange); + + if (isAccessibleToolbar) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["Toolbar"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + label: props['aria-label'], + ref: ref + }, props), children); + } + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["NavigableMenu"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + orientation: "horizontal", + role: "toolbar", + ref: ref + }, props), children); +} + +/* harmony default export */ __webpack_exports__["a"] = (NavigableToolbar); + + +/***/ }), + +/***/ "GvwK": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("NMb1"); +/* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_deprecated__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _block_icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("7SSY"); + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + +function BlockCard({ + title, + icon, + description, + blockType +}) { + if (blockType) { + _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_1___default()('`blockType` property in `BlockCard component`', { + since: '5.7', + alternative: '`title, icon and description` properties' + }); + ({ + title, + icon, + description + } = blockType); + } + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", { + className: "block-editor-block-card" + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_block_icon__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], { + icon: icon, + showColors: true + }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", { + className: "block-editor-block-card__content" + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("h2", { + className: "block-editor-block-card__title" + }, title), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("span", { + className: "block-editor-block-card__description" + }, description))); +} + +/* harmony default export */ __webpack_exports__["a"] = (BlockCard); + + +/***/ }), + +/***/ "HC45": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("GOly"); + + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + +function InserterListboxRow(props, ref) { + const state = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useContext"])(_context__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"]); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["__unstableCompositeGroup"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + state: state, + role: "presentation", + ref: ref + }, props)); +} + +/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["forwardRef"])(InserterListboxRow)); + + /***/ }), /***/ "HSyU": @@ -1193,6 +23634,949 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function() { module.exports = window["wp"]["blocks"]; }()); +/***/ }), + +/***/ "HgtZ": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useDisplayBlockControls; }); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _block_edit_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("ur0x"); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("BhPs"); +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + +function useDisplayBlockControls() { + const { + isSelected, + clientId, + name + } = Object(_block_edit_context__WEBPACK_IMPORTED_MODULE_1__[/* useBlockEditContext */ "c"])(); + return Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__["useSelect"])(select => { + if (isSelected) { + return true; + } + + const { + getBlockName, + isFirstMultiSelectedBlock, + getMultiSelectedBlockClientIds + } = select(_store__WEBPACK_IMPORTED_MODULE_2__[/* store */ "a"]); + + if (isFirstMultiSelectedBlock(clientId)) { + return getMultiSelectedBlockClientIds().every(id => getBlockName(id) === name); + } + + return false; + }, [clientId, isSelected, name]); +} + + +/***/ }), + +/***/ "I5Hl": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ButtonBlockerAppender; }); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("TSYQ"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("iClF"); +/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("Q4Sy"); +/* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("NMb1"); +/* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_deprecated__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _inserter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("qrxh"); + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + +function ButtonBlockAppender({ + rootClientId, + className, + onFocus, + tabIndex +}, ref) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_inserter__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"], { + position: "bottom center", + rootClientId: rootClientId, + __experimentalIsQuick: true, + renderToggle: ({ + onToggle, + disabled, + isOpen, + blockTitle, + hasSingleBlockType + }) => { + let label; + + if (hasSingleBlockType) { + label = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["sprintf"])( // translators: %s: the name of the block when there is only one + Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["_x"])('Add %s', 'directly add the only allowed block'), blockTitle); + } else { + label = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["_x"])('Add block', 'Generic label for block inserter button'); + } + + const isToggleButton = !hasSingleBlockType; + let inserterButton = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["Button"], { + ref: ref, + onFocus: onFocus, + tabIndex: tabIndex, + className: classnames__WEBPACK_IMPORTED_MODULE_1___default()(className, 'block-editor-button-block-appender'), + onClick: onToggle, + "aria-haspopup": isToggleButton ? 'true' : undefined, + "aria-expanded": isToggleButton ? isOpen : undefined, + disabled: disabled, + label: label + }, !hasSingleBlockType && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["VisuallyHidden"], { + as: "span" + }, label), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_icons__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], { + icon: _wordpress_icons__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"] + })); + + if (isToggleButton || hasSingleBlockType) { + inserterButton = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["Tooltip"], { + text: label + }, inserterButton); + } + + return inserterButton; + }, + isAppender: true + }); +} +/** + * Use `ButtonBlockAppender` instead. + * + * @deprecated + */ + + +const ButtonBlockerAppender = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["forwardRef"])((props, ref) => { + _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_6___default()(`wp.blockEditor.ButtonBlockerAppender`, { + alternative: 'wp.blockEditor.ButtonBlockAppender' + }); + return ButtonBlockAppender(props, ref); +}); +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/button-block-appender/README.md + */ + +/* harmony default export */ __webpack_exports__["b"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["forwardRef"])(ButtonBlockAppender)); + + +/***/ }), + +/***/ "JDWi": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useNavModeExit; }); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("BhPs"); +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +/** + * Allows navigation mode to be exited by clicking in the selected block. + * + * @param {string} clientId Block client ID. + */ + +function useNavModeExit(clientId) { + const { + isNavigationMode, + isBlockSelected + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__["useSelect"])(_store__WEBPACK_IMPORTED_MODULE_2__[/* store */ "a"]); + const { + setNavigationMode, + selectBlock + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__["useDispatch"])(_store__WEBPACK_IMPORTED_MODULE_2__[/* store */ "a"]); + return Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_1__["useRefEffect"])(node => { + function onMouseDown(event) { + // Don't select a block if it's already handled by a child + // block. + if (isNavigationMode() && !event.defaultPrevented) { + // Prevent focus from moving to the block. + event.preventDefault(); // When clicking on a selected block, exit navigation mode. + + if (isBlockSelected(clientId)) { + setNavigationMode(false); + } else { + selectBlock(clientId); + } + } + } + + node.addEventListener('mousedown', onMouseDown); + return () => { + node.addEventListener('mousedown', onMouseDown); + }; + }, [clientId, isNavigationMode, isBlockSelected, setNavigationMode]); +} + + +/***/ }), + +/***/ "JGYp": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useBlockSync; }); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("HSyU"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("BhPs"); +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +/** + * A function to call when the block value has been updated in the block-editor + * store. + * + * @callback onBlockUpdate + * @param {Object[]} blocks The updated blocks. + * @param {Object} options The updated block options, such as selectionStart + * and selectionEnd. + */ + +/** + * useBlockSync is a side effect which handles bidirectional sync between the + * block-editor store and a controlling data source which provides blocks. This + * is most commonly used by the BlockEditorProvider to synchronize the contents + * of the block-editor store with the root entity, like a post. + * + * Another example would be the template part block, which provides blocks from + * a separate entity data source than a root entity. This hook syncs edits to + * the template part in the block editor back to the entity and vice-versa. + * + * Here are some of its basic functions: + * - Initalizes the block-editor store for the given clientID to the blocks + * given via props. + * - Adds incoming changes (like undo) to the block-editor store. + * - Adds outgoing changes (like editing content) to the controlling entity, + * determining if a change should be considered persistent or not. + * - Handles edge cases and race conditions which occur in those operations. + * - Ignores changes which happen to other entities (like nested inner block + * controllers. + * - Passes selection state from the block-editor store to the controlling entity. + * + * @param {Object} props Props for the block sync hook + * @param {string} props.clientId The client ID of the inner block controller. + * If none is passed, then it is assumed to be a + * root controller rather than an inner block + * controller. + * @param {Object[]} props.value The control value for the blocks. This value + * is used to initalize the block-editor store + * and for resetting the blocks to incoming + * changes like undo. + * @param {Object} props.selection The selection state responsible to restore the selection on undo/redo. + * @param {onBlockUpdate} props.onChange Function to call when a persistent + * change has been made in the block-editor blocks + * for the given clientId. For example, after + * this function is called, an entity is marked + * dirty because it has changes to save. + * @param {onBlockUpdate} props.onInput Function to call when a non-persistent + * change has been made in the block-editor blocks + * for the given clientId. When this is called, + * controlling sources do not become dirty. + */ + +function useBlockSync({ + clientId = null, + value: controlledBlocks, + selection: controlledSelection, + onChange = lodash__WEBPACK_IMPORTED_MODULE_0__["noop"], + onInput = lodash__WEBPACK_IMPORTED_MODULE_0__["noop"] +}) { + const registry = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__["useRegistry"])(); + const { + resetBlocks, + resetSelection, + replaceInnerBlocks, + setHasControlledInnerBlocks, + __unstableMarkNextChangeAsNotPersistent + } = registry.dispatch(_store__WEBPACK_IMPORTED_MODULE_4__[/* store */ "a"]); + const { + getBlockName, + getBlocks + } = registry.select(_store__WEBPACK_IMPORTED_MODULE_4__[/* store */ "a"]); + const pendingChanges = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useRef"])({ + incoming: null, + outgoing: [] + }); + const subscribed = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useRef"])(false); + + const setControlledBlocks = () => { + if (!controlledBlocks) { + return; + } // We don't need to persist this change because we only replace + // controlled inner blocks when the change was caused by an entity, + // and so it would already be persisted. + + + __unstableMarkNextChangeAsNotPersistent(); + + if (clientId) { + setHasControlledInnerBlocks(clientId, true); + + __unstableMarkNextChangeAsNotPersistent(); + + const storeBlocks = controlledBlocks.map(block => Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_3__["cloneBlock"])(block)); + + if (subscribed.current) { + pendingChanges.current.incoming = storeBlocks; + } + + replaceInnerBlocks(clientId, storeBlocks); + } else { + if (subscribed.current) { + pendingChanges.current.incoming = controlledBlocks; + } + + resetBlocks(controlledBlocks); + } + }; // Add a subscription to the block-editor registry to detect when changes + // have been made. This lets us inform the data source of changes. This + // is an effect so that the subscriber can run synchronously without + // waiting for React renders for changes. + + + const onInputRef = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useRef"])(onInput); + const onChangeRef = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useRef"])(onChange); + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useEffect"])(() => { + onInputRef.current = onInput; + onChangeRef.current = onChange; + }, [onInput, onChange]); // Determine if blocks need to be reset when they change. + + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useEffect"])(() => { + if (pendingChanges.current.outgoing.includes(controlledBlocks)) { + // Skip block reset if the value matches expected outbound sync + // triggered by this component by a preceding change detection. + // Only skip if the value matches expectation, since a reset should + // still occur if the value is modified (not equal by reference), + // to allow that the consumer may apply modifications to reflect + // back on the editor. + if (Object(lodash__WEBPACK_IMPORTED_MODULE_0__["last"])(pendingChanges.current.outgoing) === controlledBlocks) { + pendingChanges.current.outgoing = []; + } + } else if (getBlocks(clientId) !== controlledBlocks) { + // Reset changing value in all other cases than the sync described + // above. Since this can be reached in an update following an out- + // bound sync, unset the outbound value to avoid considering it in + // subsequent renders. + pendingChanges.current.outgoing = []; + setControlledBlocks(); + + if (controlledSelection) { + resetSelection(controlledSelection.selectionStart, controlledSelection.selectionEnd, controlledSelection.initialPosition); + } + } + }, [controlledBlocks, clientId]); + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useEffect"])(() => { + const { + getSelectionStart, + getSelectionEnd, + getSelectedBlocksInitialCaretPosition, + isLastBlockChangePersistent, + __unstableIsLastBlockChangeIgnored + } = registry.select(_store__WEBPACK_IMPORTED_MODULE_4__[/* store */ "a"]); + let blocks = getBlocks(clientId); + let isPersistent = isLastBlockChangePersistent(); + let previousAreBlocksDifferent = false; + subscribed.current = true; + const unsubscribe = registry.subscribe(() => { + // Sometimes, when changing block lists, lingering subscriptions + // might trigger before they are cleaned up. If the block for which + // the subscription runs is no longer in the store, this would clear + // its parent entity's block list. To avoid this, we bail out if + // the subscription is triggering for a block (`clientId !== null`) + // and its block name can't be found because it's not on the list. + // (`getBlockName( clientId ) === null`). + if (clientId !== null && getBlockName(clientId) === null) return; + const newIsPersistent = isLastBlockChangePersistent(); + const newBlocks = getBlocks(clientId); + const areBlocksDifferent = newBlocks !== blocks; + blocks = newBlocks; + + if (areBlocksDifferent && (pendingChanges.current.incoming || __unstableIsLastBlockChangeIgnored())) { + pendingChanges.current.incoming = null; + isPersistent = newIsPersistent; + return; + } // Since we often dispatch an action to mark the previous action as + // persistent, we need to make sure that the blocks changed on the + // previous action before committing the change. + + + const didPersistenceChange = previousAreBlocksDifferent && !areBlocksDifferent && newIsPersistent && !isPersistent; + + if (areBlocksDifferent || didPersistenceChange) { + isPersistent = newIsPersistent; // We know that onChange/onInput will update controlledBlocks. + // We need to be aware that it was caused by an outgoing change + // so that we do not treat it as an incoming change later on, + // which would cause a block reset. + + pendingChanges.current.outgoing.push(blocks); // 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; + updateParent(blocks, { + selection: { + selectionStart: getSelectionStart(), + selectionEnd: getSelectionEnd(), + initialPosition: getSelectedBlocksInitialCaretPosition() + } + }); + } + + previousAreBlocksDifferent = areBlocksDifferent; + }); + return () => unsubscribe(); + }, [registry, clientId]); +} + + +/***/ }), + +/***/ "JRTi": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ BlockEdit; }); + +// UNUSED EXPORTS: useBlockEditContext + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-context/index.js +var block_context = __webpack_require__("uoCR"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit/edit.js + + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +/** + * Default value used for blocks which do not define their own context needs, + * used to guarantee that a block's `context` prop will always be an object. It + * is assigned as a constant since it is always expected to be an empty object, + * and in order to avoid unnecessary React reconciliations of a changing object. + * + * @type {{}} + */ + +const DEFAULT_BLOCK_CONTEXT = {}; +const Edit = props => { + const { + attributes = {}, + name + } = props; + const blockType = Object(external_wp_blocks_["getBlockType"])(name); + const blockContext = Object(external_wp_element_["useContext"])(block_context["b" /* default */]); // Assign context values using the block type's declared context needs. + + const context = Object(external_wp_element_["useMemo"])(() => { + return blockType && blockType.usesContext ? Object(external_lodash_["pick"])(blockContext, blockType.usesContext) : DEFAULT_BLOCK_CONTEXT; + }, [blockType, blockContext]); + + if (!blockType) { + return null; + } // `edit` and `save` are functions or components describing the markup + // 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; + + if (blockType.apiVersion > 1) { + return Object(external_wp_element_["createElement"])(Component, Object(esm_extends["a" /* default */])({}, props, { + context: context + })); + } // Generate a class name for the block's editable form + + + const generatedClassName = Object(external_wp_blocks_["hasBlockSupport"])(blockType, 'className', true) ? Object(external_wp_blocks_["getBlockDefaultClassName"])(name) : null; + const className = classnames_default()(generatedClassName, attributes.className); + return Object(external_wp_element_["createElement"])(Component, Object(esm_extends["a" /* default */])({}, props, { + context: context, + className: className + })); +}; +/* harmony default export */ var edit = (Object(external_wp_components_["withFilters"])('editor.BlockEdit')(Edit)); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit/context.js +var block_edit_context = __webpack_require__("ur0x"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit/index.js + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + + +function BlockEdit(props) { + const { + name, + isSelected, + clientId + } = props; + const context = { + name, + isSelected, + clientId + }; + return Object(external_wp_element_["createElement"])(block_edit_context["a" /* BlockEditContextProvider */] // 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: Object(external_wp_element_["useMemo"])(() => context, Object.values(context)) + }, Object(external_wp_element_["createElement"])(edit, props)); +} + + +/***/ }), + +/***/ "JUfZ": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("TSYQ"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("HSyU"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _navigable_toolbar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("GkEL"); +/* harmony import */ var _block_toolbar__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("+gtr"); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("BhPs"); + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + +function BlockContextualToolbar({ + focusOnMount, + isFixed, + ...props +}) { + const { + blockType, + hasParents, + showParentSelector + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_5__["useSelect"])(select => { + const { + getBlockName, + getBlockParents, + getSelectedBlockClientIds + } = select(_store__WEBPACK_IMPORTED_MODULE_8__[/* store */ "a"]); + const { + getBlockType + } = select(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__["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 { + blockType: selectedBlockClientId && getBlockType(getBlockName(selectedBlockClientId)), + hasParents: parents.length, + showParentSelector: Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__["hasBlockSupport"])(parentBlockType, '__experimentalParentSelector', true) && selectedBlockClientIds.length <= 1 + }; + }, []); + + if (blockType) { + if (!Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__["hasBlockSupport"])(blockType, '__experimentalToolbar', true)) { + return null; + } + } // Shifts the toolbar to make room for the parent block selector. + + + const classes = classnames__WEBPACK_IMPORTED_MODULE_2___default()('block-editor-block-contextual-toolbar', { + 'has-parent': hasParents && showParentSelector, + 'is-fixed': isFixed + }); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_navigable_toolbar__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + focusOnMount: focusOnMount, + className: classes + /* translators: accessibility text for the block toolbar */ + , + "aria-label": Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Block tools') + }, props), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_block_toolbar__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"], { + hideDragHandle: isFixed + })); +} + +/* harmony default export */ __webpack_exports__["a"] = (BlockContextualToolbar); + + +/***/ }), + +/***/ "JygI": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("TSYQ"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("xN+R"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("HSyU"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var _block_draggable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("ZAjO"); +/* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("9Ma0"); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("BhPs"); + + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + +/** + * Internal dependencies + */ + + + + + +function BlockMover({ + isFirst, + isLast, + clientIds, + canMove, + isHidden, + rootClientId, + orientation, + hideDragHandle +}) { + const [isFocused, setIsFocused] = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useState"])(false); + + const onFocus = () => setIsFocused(true); + + const onBlur = () => setIsFocused(false); + + if (!canMove || isFirst && isLast && !rootClientId) { + return null; + } + + const dragHandleLabel = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_8__["__"])('Drag'); // We emulate a disabled state because forcefully applying the `disabled` + // attribute on the buttons while it has focus causes the screen to change + // to an unfocused state (body as active element) without firing blur on, + // the rendering parent, leaving it unable to react to focus out. + + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("div", { + className: classnames__WEBPACK_IMPORTED_MODULE_3___default()('block-editor-block-mover', { + 'is-visible': isFocused || !isHidden, + 'is-horizontal': orientation === 'horizontal' + }) + }, !hideDragHandle && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_block_draggable__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"], { + clientIds: clientIds, + cloneClassname: "block-editor-block-mover__drag-clone" + }, draggableProps => Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__["Button"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + icon: _wordpress_icons__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], + 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))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__["ToolbarGroup"], { + className: "block-editor-block-mover__move-button-container" + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__["ToolbarItem"], { + onFocus: onFocus, + onBlur: onBlur + }, itemProps => Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_button__WEBPACK_IMPORTED_MODULE_10__[/* BlockMoverUpButton */ "b"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + clientIds: clientIds + }, itemProps))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__["ToolbarItem"], { + onFocus: onFocus, + onBlur: onBlur + }, itemProps => Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_button__WEBPACK_IMPORTED_MODULE_10__[/* BlockMoverDownButton */ "a"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + clientIds: clientIds + }, itemProps))))); +} + +/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__["withSelect"])((select, { + clientIds +}) => { + var _getBlockListSettings; + + const { + getBlock, + getBlockIndex, + getBlockListSettings, + canMoveBlocks, + getBlockOrder, + getBlockRootClientId + } = select(_store__WEBPACK_IMPORTED_MODULE_11__[/* store */ "a"]); + const normalizedClientIds = Object(lodash__WEBPACK_IMPORTED_MODULE_2__["castArray"])(clientIds); + const firstClientId = Object(lodash__WEBPACK_IMPORTED_MODULE_2__["first"])(normalizedClientIds); + const block = getBlock(firstClientId); + const rootClientId = getBlockRootClientId(Object(lodash__WEBPACK_IMPORTED_MODULE_2__["first"])(normalizedClientIds)); + const firstIndex = getBlockIndex(firstClientId, rootClientId); + const lastIndex = getBlockIndex(Object(lodash__WEBPACK_IMPORTED_MODULE_2__["last"])(normalizedClientIds), rootClientId); + const blockOrder = getBlockOrder(rootClientId); + const isFirst = firstIndex === 0; + const isLast = lastIndex === blockOrder.length - 1; + return { + blockType: block ? Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_6__["getBlockType"])(block.name) : null, + canMove: canMoveBlocks(clientIds, rootClientId), + rootClientId, + firstIndex, + isFirst, + isLast, + orientation: (_getBlockListSettings = getBlockListSettings(rootClientId)) === null || _getBlockListSettings === void 0 ? void 0 : _getBlockListSettings.orientation + }; +})(BlockMover)); + + +/***/ }), + +/***/ "Jyyd": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__); +/** + * WordPress dependencies + */ + +const { + Fill: __unstableBlockSettingsMenuFirstItem, + Slot +} = Object(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__["createSlotFill"])('__unstableBlockSettingsMenuFirstItem'); +__unstableBlockSettingsMenuFirstItem.Slot = Slot; +/* harmony default export */ __webpack_exports__["a"] = (__unstableBlockSettingsMenuFirstItem); + + +/***/ }), + +/***/ "K/rC": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useAvailableAlignments; }); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _block_list_layout__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("w8sn"); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("BhPs"); +/* harmony import */ var _layouts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("PPMp"); +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + + +const DEFAULT_CONTROLS = ['none', 'left', 'center', 'right', 'wide', 'full']; +const WIDE_CONTROLS = ['wide', 'full']; +function useAvailableAlignments(controls = DEFAULT_CONTROLS) { + // Always add the `none` option if not exists. + if (!controls.includes('none')) { + controls = ['none', ...controls]; + } + + const { + wideControlsEnabled = false, + themeSupportsLayout + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__["useSelect"])(select => { + const { + getSettings + } = select(_store__WEBPACK_IMPORTED_MODULE_2__[/* store */ "a"]); + const settings = getSettings(); + return { + wideControlsEnabled: settings.alignWide, + themeSupportsLayout: settings.supportsLayout + }; + }, []); + const layout = Object(_block_list_layout__WEBPACK_IMPORTED_MODULE_1__[/* useLayout */ "d"])(); + const layoutType = Object(_layouts__WEBPACK_IMPORTED_MODULE_3__[/* getLayoutType */ "a"])(layout === null || layout === void 0 ? void 0 : layout.type); + const layoutAlignments = layoutType.getAlignments(layout); + + if (themeSupportsLayout) { + const alignments = layoutAlignments.filter(({ + name: alignmentName + }) => controls.includes(alignmentName)); // 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') { + return []; + } + + return alignments; + } // Starting here, it's the fallback for themes not supporting the layout config. + + + if (layoutType.name !== 'default') { + return []; + } + + const { + alignments: availableAlignments = 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 + })); // 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') { + return []; + } + + return enabledControls; +} + + /***/ }), /***/ "K9lf": @@ -1200,6 +24584,184 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function() { module.exports = window["wp"]["compose"]; }()); +/***/ }), + +/***/ "KyyN": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return EditorStyles; }); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var colord__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("fHnH"); +/* harmony import */ var colord_plugins_names__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("abaT"); +/* harmony import */ var colord_plugins_a11y__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("7bKH"); +/* harmony import */ var _utils_transform_styles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("vSu0"); + + +/** + * External dependencies + */ + + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +const EDITOR_STYLES_SELECTOR = '.editor-styles-wrapper'; +Object(colord__WEBPACK_IMPORTED_MODULE_1__[/* extend */ "b"])([colord_plugins_names__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], colord_plugins_a11y__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"]]); + +function useDarkThemeBodyClassName(styles) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(node => { + if (!node) { + return; + } + + const { + ownerDocument + } = node; + const { + defaultView, + body + } = ownerDocument; + const canvas = ownerDocument.querySelector(EDITOR_STYLES_SELECTOR); + let backgroundColor; + + if (!canvas) { + // The real .editor-styles-wrapper element might not exist in the + // DOM, so calculate the background color by creating a fake + // wrapper. + const tempCanvas = ownerDocument.createElement('div'); + tempCanvas.classList.add('editor-styles-wrapper'); + body.appendChild(tempCanvas); + backgroundColor = defaultView.getComputedStyle(tempCanvas, null).getPropertyValue('background-color'); + body.removeChild(tempCanvas); + } else { + backgroundColor = defaultView.getComputedStyle(canvas, null).getPropertyValue('background-color'); + } + + const colordBackgroundColor = Object(colord__WEBPACK_IMPORTED_MODULE_1__[/* colord */ "a"])(backgroundColor); // If background is transparent, it should be treated as light color. + + if (colordBackgroundColor.luminance() > 0.5 || colordBackgroundColor.alpha() === 0) { + body.classList.remove('is-dark-theme'); + } else { + body.classList.add('is-dark-theme'); + } + }, [styles]); +} + +function EditorStyles({ + styles +}) { + const transformedStyles = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(() => Object(_utils_transform_styles__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(styles, EDITOR_STYLES_SELECTOR), [styles]); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("style", { + ref: useDarkThemeBodyClassName(styles) + }), transformedStyles.map((css, index) => Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("style", { + key: index + }, css))); +} + + +/***/ }), + +/***/ "LolH": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("iClF"); +/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("//Lo"); + + +/** + * WordPress dependencies + */ + + + +function InserterNoResults() { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", { + className: "block-editor-inserter__no-results" + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_icons__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], { + className: "block-editor-inserter__no-results-icon", + icon: _wordpress_icons__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"] + }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('No results found.'))); +} + +/* harmony default export */ __webpack_exports__["a"] = (InserterNoResults); + + +/***/ }), + +/***/ "M+co": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("GOly"); + + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + +function InserterListboxItem({ + isFirst, + as: Component, + children, + ...props +}, ref) { + const state = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useContext"])(_context__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"]); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["__unstableCompositeItem"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + 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. + , + focusable: true + }, props), htmlProps => { + const propsWithTabIndex = { ...htmlProps, + tabIndex: isFirst ? 0 : htmlProps.tabIndex + }; + + if (Component) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(Component, propsWithTabIndex, children); + } + + if (typeof children === 'function') { + return children(propsWithTabIndex); + } + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["Button"], propsWithTabIndex, children); + }); +} + +/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["forwardRef"])(InserterListboxItem)); + + /***/ }), /***/ "Mmq9": @@ -1207,6 +24769,113 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function() { module.exports = window["wp"]["url"]; }()); +/***/ }), + +/***/ "Mp0b": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const linkOff = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { + d: "M15.6 7.3h-.7l1.6-3.5-.9-.4-3.9 8.5H9v1.5h2l-1.3 2.8H8.4c-2 0-3.7-1.7-3.7-3.7s1.7-3.7 3.7-3.7H10V7.3H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H9l-1.4 3.2.9.4 5.7-12.5h1.4c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.9 0 5.2-2.3 5.2-5.2 0-2.9-2.4-5.2-5.2-5.2z" +})); +/* harmony default export */ __webpack_exports__["a"] = (linkOff); + + +/***/ }), + +/***/ "NMUH": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getFontSize; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getFontSizeObjectByValue; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getFontSizeClass; }); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__); +/** + * External 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 getFontSize = (fontSizes, fontSizeAttribute, customFontSizeAttribute) => { + if (fontSizeAttribute) { + const fontSizeObject = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["find"])(fontSizes, { + 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 getFontSizeObjectByValue(fontSizes, value) { + const fontSizeObject = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["find"])(fontSizes, { + size: value + }); + + if (fontSizeObject) { + return fontSizeObject; + } + + return { + size: value + }; +} +/** + * Returns a class based on fontSizeName. + * + * @param {string} fontSizeSlug Slug of the fontSize. + * + * @return {string} 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-${Object(lodash__WEBPACK_IMPORTED_MODULE_0__["kebabCase"])(fontSizeSlug)}-font-size`; +} + + /***/ }), /***/ "NMb1": @@ -1264,6 +24933,75 @@ const chevronDown = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["crea /* harmony default export */ __webpack_exports__["a"] = (chevronDown); +/***/ }), + +/***/ "NtoT": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return InspectorControlsFill; }); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("Z23Y"); +/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_warning__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _use_display_block_controls__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("HgtZ"); +/* harmony import */ var _groups__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("VrEk"); + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +function InspectorControlsFill({ + __experimentalGroup: group = 'default', + children +}) { + var _groups$group; + + const isDisplayed = Object(_use_display_block_controls__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(); + const Fill = (_groups$group = _groups__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"][group]) === null || _groups$group === void 0 ? void 0 : _groups$group.Fill; + + if (!Fill) { + typeof process !== "undefined" && process.env && "production" !== "production" ? _wordpress_warning__WEBPACK_IMPORTED_MODULE_3___default()(`Unknown InspectorControl group "${group}" provided.`) : void 0; + return null; + } + + if (!isDisplayed) { + return null; + } + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["__experimentalStyleProvider"], { + document: document + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(Fill, null, fillProps => { + // Children passed to InspectorControlsFill will not have + // access to any React Context whose Provider is part of + // the InspectorControlsSlot tree. So we re-create the + // Provider in this subtree. + const value = !Object(lodash__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(fillProps) ? fillProps : null; + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["__experimentalToolsPanelContext"].Provider, { + value: value + }, children); + })); +} + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("8oxB"))) + /***/ }), /***/ "O6Fj": @@ -1276,6 +25014,75 @@ var TextareaAutosize_1 = __webpack_require__("CNgt"); exports["default"] = TextareaAutosize_1.TextareaAutosize; +/***/ }), + +/***/ "OL6h": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return isInSameBlock; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return isInsideRootBlock; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getBlockClientId; }); +const BLOCK_SELECTOR = '.block-editor-block-list__block'; +const APPENDER_SELECTOR = '.block-list-appender'; +/** + * Returns true if two elements are contained within the same block. + * + * @param {Element} a First element. + * @param {Element} b Second element. + * + * @return {boolean} Whether elements are in the same block. + */ + +function isInSameBlock(a, b) { + return a.closest(BLOCK_SELECTOR) === b.closest(BLOCK_SELECTOR); +} +/** + * Returns true if an element is considered part of the block and not its inner + * blocks or appender. + * + * @param {Element} blockElement Block container element. + * @param {Element} element Element. + * + * @return {boolean} Whether an element is considered part of the block and not + * its inner blocks or appender. + */ + +function isInsideRootBlock(blockElement, element) { + const parentBlock = element.closest([BLOCK_SELECTOR, APPENDER_SELECTOR].join(',')); + return parentBlock === blockElement; +} +/** + * Finds the block client ID given any DOM node inside the block. + * + * @param {Node?} node DOM node. + * + * @return {string|undefined} Client ID or undefined if the node is not part of + * a block. + */ + +function getBlockClientId(node) { + while (node && node.nodeType !== node.ELEMENT_NODE) { + node = node.parentNode; + } + + if (!node) { + return; + } + + const elementNode = + /** @type {Element} */ + node; + const blockNode = elementNode.closest(BLOCK_SELECTOR); + + if (!blockNode) { + return; + } + + return blockNode.id.slice('block-'.length); +} + + /***/ }), /***/ "OzlF": @@ -1337,19 +25144,1141 @@ if (typeof Object.create === 'function') { /***/ }), -/***/ "PJYZ": -/***/ (function(module, exports) { +/***/ "PKbb": +/***/ (function(module, __webpack_exports__, __webpack_require__) { -function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return useBlockRefProvider; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return useBlockRef; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useBlockElement; }); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _provider_block_refs_provider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("cDhi"); +/** + * WordPress dependencies + */ - return self; + +/** + * 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 + } = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useContext"])(_provider_block_refs_provider__WEBPACK_IMPORTED_MODULE_2__[/* BlockRefs */ "a"]); + const ref = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useRef"])(); + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useLayoutEffect"])(() => { + refs.set(ref, clientId); + return () => { + refs.delete(ref); + }; + }, [clientId]); + return Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_1__["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 + } = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useContext"])(_provider_block_refs_provider__WEBPACK_IMPORTED_MODULE_2__[/* BlockRefs */ "a"]); + const freshClientId = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["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 Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["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 + } = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useContext"])(_provider_block_refs_provider__WEBPACK_IMPORTED_MODULE_2__[/* BlockRefs */ "a"]); + const ref = useBlockRef(clientId); + const [element, setElement] = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useState"])(null); + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useLayoutEffect"])(() => { + if (!clientId) { + return; + } + + callbacks.set(setElement, clientId); + return () => { + callbacks.delete(setElement); + }; + }, [clientId]); + return ref.current || element; +} + + + + + +/***/ }), + +/***/ "PPMp": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ getLayoutType; }); +__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ getLayoutTypes; }); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/justify-left.js +var justify_left = __webpack_require__("kWXm"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/justify-center.js +var justify_center = __webpack_require__("DmX/"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/justify-right.js +var justify_right = __webpack_require__("suLj"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/justify-space-between.js +var justify_space_between = __webpack_require__("bTSr"); + +// EXTERNAL MODULE: external ["wp","primitives"] +var external_wp_primitives_ = __webpack_require__("Tqx9"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/arrow-right.js + + +/** + * WordPress dependencies + */ + +const arrowRight = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M14.3 6.7l-1.1 1.1 4 4H4v1.5h13.3l-4.1 4.4 1.1 1.1 5.8-6.3z" +})); +/* harmony default export */ var arrow_right = (arrowRight); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/arrow-down.js + + +/** + * WordPress dependencies + */ + +const arrowDown = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M16.2 13.2l-4 4V4h-1.5v13.3l-4.5-4.1-1 1.1 6.2 5.8 5.8-5.8-1-1.1z" +})); +/* harmony default export */ var arrow_down = (arrowDown); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/layouts/utils.js +/** + * Utility to generate the proper CSS selector for layout styles. + * + * @param {string|string[]} selectors - CSS selectors + * @param {boolean} append - string to append. + * + * @return {string} - CSS selector. + */ +function appendSelectors(selectors, append = '') { + // Ideally we shouldn't need the `.editor-styles-wrapper` increased specificity here + // The problem though is that we have a `.editor-styles-wrapper p { margin: reset; }` style + // it's used to reset the default margin added by wp-admin to paragraphs + // so we need this to be higher speficity otherwise, it won't be applied to paragraphs inside containers + // When the post editor is fully iframed, this extra classname could be removed. + return selectors.split(',').map(subselector => `.editor-styles-wrapper ${subselector} ${append}`).join(','); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-setting/index.js +var use_setting = __webpack_require__("v5LD"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/index.js + 4 modules +var block_controls = __webpack_require__("fOYa"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/justify-content-control/index.js + 1 modules +var justify_content_control = __webpack_require__("0E5u"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/layouts/flex.js + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + // Used with the default, horizontal flex orientation. + +const justifyContentMap = { + left: 'flex-start', + right: 'flex-end', + center: 'center', + 'space-between': 'space-between' +}; // Used with the vertical (column) flex orientation. + +const alignItemsMap = { + left: 'flex-start', + right: 'flex-end', + center: 'center' +}; +const flexWrapOptions = ['wrap', 'nowrap']; +/* harmony default export */ var flex = ({ + name: 'flex', + label: Object(external_wp_i18n_["__"])('Flex'), + inspectorControls: function FlexLayoutInspectorControls({ + layout = {}, + onChange + }) { + const { + allowOrientation = true + } = layout; + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Flex"], null, Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(FlexLayoutJustifyContentControl, { + layout: layout, + onChange: onChange + })), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, allowOrientation && Object(external_wp_element_["createElement"])(OrientationControl, { + layout: layout, + onChange: onChange + }))), Object(external_wp_element_["createElement"])(FlexWrapControl, { + layout: layout, + onChange: onChange + })); + }, + toolBarControls: function FlexLayoutToolbarControls({ + layout = {}, + onChange, + layoutBlockSupport + }) { + if (layoutBlockSupport !== null && layoutBlockSupport !== void 0 && layoutBlockSupport.allowSwitching) { + return null; + } + + return Object(external_wp_element_["createElement"])(block_controls["b" /* default */], { + group: "block", + __experimentalShareWithChildBlocks: true + }, Object(external_wp_element_["createElement"])(FlexLayoutJustifyContentControl, { + layout: layout, + onChange: onChange, + isToolbar: true + })); + }, + save: function FlexLayoutStyle({ + selector, + layout + }) { + const { + orientation = 'horizontal' + } = layout; + const blockGapSupport = Object(use_setting["a" /* default */])('spacing.blockGap'); + const hasBlockGapStylesSupport = blockGapSupport !== null; + const justifyContent = justifyContentMap[layout.justifyContent] || justifyContentMap.left; + const flexWrap = flexWrapOptions.includes(layout.flexWrap) ? layout.flexWrap : 'wrap'; // --justification-setting allows children to inherit the value + // regardless or row or column direction. + + const rowOrientation = ` + flex-direction: row; + align-items: center; + justify-content: ${justifyContent}; + --justification-setting: ${justifyContent}; + `; + const alignItems = alignItemsMap[layout.justifyContent] || alignItemsMap.left; + const columnOrientation = ` + flex-direction: column; + align-items: ${alignItems}; + --justification-setting: ${alignItems}; + `; + return Object(external_wp_element_["createElement"])("style", null, ` + ${appendSelectors(selector)} { + display: flex; + gap: ${hasBlockGapStylesSupport ? 'var( --wp--style--block-gap, 0.5em )' : '0.5em'}; + flex-wrap: ${flexWrap}; + ${orientation === 'horizontal' ? rowOrientation : columnOrientation} + } + + ${appendSelectors(selector, '> *')} { + margin: 0; + } + `); + }, + + getOrientation(layout) { + const { + orientation = 'horizontal' + } = layout; + return orientation; + }, + + getAlignments() { + return []; + } + +}); + +function FlexLayoutJustifyContentControl({ + layout, + onChange, + isToolbar = false +}) { + const { + justifyContent = 'left', + orientation = 'horizontal' + } = layout; + + const onJustificationChange = value => { + onChange({ ...layout, + justifyContent: value + }); + }; + + const allowedControls = ['left', 'center', 'right']; + + if (orientation === 'horizontal') { + allowedControls.push('space-between'); + } + + if (isToolbar) { + return Object(external_wp_element_["createElement"])(justify_content_control["a" /* JustifyContentControl */], { + allowedControls: allowedControls, + value: justifyContent, + onChange: onJustificationChange, + popoverProps: { + position: 'bottom right', + isAlternate: true + } + }); + } + + const justificationOptions = [{ + value: 'left', + icon: justify_left["a" /* default */], + label: Object(external_wp_i18n_["__"])('Justify items left') + }, { + value: 'center', + icon: justify_center["a" /* default */], + label: Object(external_wp_i18n_["__"])('Justify items center') + }, { + value: 'right', + icon: justify_right["a" /* default */], + label: Object(external_wp_i18n_["__"])('Justify items right') + }]; + + if (orientation === 'horizontal') { + justificationOptions.push({ + value: 'space-between', + icon: justify_space_between["a" /* default */], + label: Object(external_wp_i18n_["__"])('Space between items') + }); + } + + return Object(external_wp_element_["createElement"])("fieldset", { + className: "block-editor-hooks__flex-layout-justification-controls" + }, Object(external_wp_element_["createElement"])("legend", null, Object(external_wp_i18n_["__"])('Justification')), Object(external_wp_element_["createElement"])("div", null, justificationOptions.map(({ + value, + icon, + label + }) => { + return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + key: value, + label: label, + icon: icon, + isPressed: justifyContent === value, + onClick: () => onJustificationChange(value) + }); + }))); +} + +function FlexWrapControl({ + layout, + onChange +}) { + const { + flexWrap = 'wrap' + } = layout; + return Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Allow to wrap to multiple lines'), + onChange: value => { + onChange({ ...layout, + flexWrap: value ? 'wrap' : 'nowrap' + }); + }, + checked: flexWrap === 'wrap' + }); +} + +function OrientationControl({ + layout, + onChange +}) { + const { + orientation = 'horizontal' + } = layout; + return Object(external_wp_element_["createElement"])("fieldset", { + className: "block-editor-hooks__flex-layout-orientation-controls" + }, Object(external_wp_element_["createElement"])("legend", null, Object(external_wp_i18n_["__"])('Orientation')), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + label: 'horizontal', + icon: arrow_right, + isPressed: orientation === 'horizontal', + onClick: () => onChange({ ...layout, + orientation: 'horizontal' + }) + }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + label: 'vertical', + icon: arrow_down, + isPressed: orientation === 'vertical', + onClick: () => onChange({ ...layout, + orientation: 'vertical' + }) + })); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/icon/index.js +var build_module_icon = __webpack_require__("iClF"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/position-center.js +var position_center = __webpack_require__("EpZT"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/stretch-wide.js +var stretch_wide = __webpack_require__("beZb"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/layouts/flow.js + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +/* harmony default export */ var flow = ({ + name: 'default', + label: Object(external_wp_i18n_["__"])('Flow'), + inspectorControls: function DefaultLayoutInspectorControls({ + layout, + onChange + }) { + const { + wideSize, + contentSize + } = layout; + const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ + availableUnits: Object(use_setting["a" /* default */])('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'] + }); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-hooks__layout-controls" + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-hooks__layout-controls-unit" + }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalUnitControl"], { + label: Object(external_wp_i18n_["__"])('Content'), + labelPosition: "top", + __unstableInputWidth: "80px", + value: contentSize || wideSize || '', + onChange: nextWidth => { + nextWidth = 0 > parseFloat(nextWidth) ? '0' : nextWidth; + onChange({ ...layout, + contentSize: nextWidth + }); + }, + units: units + }), Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { + icon: position_center["a" /* default */] + })), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-hooks__layout-controls-unit" + }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalUnitControl"], { + label: Object(external_wp_i18n_["__"])('Wide'), + labelPosition: "top", + __unstableInputWidth: "80px", + value: wideSize || contentSize || '', + onChange: nextWidth => { + nextWidth = 0 > parseFloat(nextWidth) ? '0' : nextWidth; + onChange({ ...layout, + wideSize: nextWidth + }); + }, + units: units + }), Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { + icon: stretch_wide["a" /* default */] + }))), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-hooks__layout-controls-reset" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + variant: "secondary", + isSmall: true, + disabled: !contentSize && !wideSize, + onClick: () => onChange({ + contentSize: undefined, + wideSize: undefined, + inherit: false + }) + }, Object(external_wp_i18n_["__"])('Reset'))), Object(external_wp_element_["createElement"])("p", { + className: "block-editor-hooks__layout-controls-helptext" + }, Object(external_wp_i18n_["__"])('Customize the width for all elements that are assigned to the center or wide columns.'))); + }, + toolBarControls: function DefaultLayoutToolbarControls() { + return null; + }, + save: function DefaultLayoutStyle({ + selector, + layout = {} + }) { + const { + contentSize, + wideSize + } = layout; + const blockGapSupport = Object(use_setting["a" /* default */])('spacing.blockGap'); + const hasBlockGapStylesSupport = blockGapSupport !== null; + let style = !!contentSize || !!wideSize ? ` + ${appendSelectors(selector, '> *')} { + max-width: ${contentSize !== null && contentSize !== void 0 ? contentSize : wideSize}; + margin-left: auto !important; + margin-right: auto !important; + } + + ${appendSelectors(selector, '> [data-align="wide"]')} { + max-width: ${wideSize !== null && wideSize !== void 0 ? wideSize : contentSize}; + } + + ${appendSelectors(selector, '> [data-align="full"]')} { + max-width: none; + } + ` : ''; + style += ` + ${appendSelectors(selector, '> [data-align="left"]')} { + float: left; + margin-right: 2em; + } + + ${appendSelectors(selector, '> [data-align="right"]')} { + float: right; + margin-left: 2em; + } + + `; + + if (hasBlockGapStylesSupport) { + style += ` + ${appendSelectors(selector, '> *')} { + margin-top: 0; + margin-bottom: 0; + } + ${appendSelectors(selector, '> * + *')} { + margin-top: var( --wp--style--block-gap ); + } + `; + } + + return Object(external_wp_element_["createElement"])("style", null, style); + }, + + getOrientation() { + return 'vertical'; + }, + + getAlignments(layout) { + const alignmentInfo = getAlignmentsInfo(layout); + + if (layout.alignments !== undefined) { + if (!layout.alignments.includes('none')) { + layout.alignments.unshift('none'); + } + + return layout.alignments.map(alignment => ({ + name: alignment, + info: alignmentInfo[alignment] + })); + } + + const { + contentSize, + wideSize + } = layout; + const alignments = [{ + name: 'left' + }, { + name: 'center' + }, { + name: 'right' + }]; + + if (contentSize) { + alignments.unshift({ + name: 'full' + }); + } + + if (wideSize) { + alignments.unshift({ + name: 'wide', + info: alignmentInfo.wide + }); + } + + alignments.unshift({ + name: 'none', + info: alignmentInfo.none + }); + return alignments; + } + +}); +/** + * Helper method to assign contextual info to clarify + * alignment settings. + * + * Besides checking if `contentSize` and `wideSize` have a + * value, we now show this information only if their values + * are not a `css var`. This needs to change when parsing + * css variables land. + * + * @see https://github.com/WordPress/gutenberg/pull/34710#issuecomment-918000752 + * + * @param {Object} layout The layout object. + * @return {Object} An object with contextual info per alignment. + */ + +function getAlignmentsInfo(layout) { + const { + contentSize, + wideSize + } = layout; + const alignmentInfo = {}; + const sizeRegex = /^(?!0)\d+(px|em|rem|vw|vh|%)?$/i; + + if (sizeRegex.test(contentSize)) { + // translators: %s: container size (i.e. 600px etc) + alignmentInfo.none = Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Max %s wide'), contentSize); + } + + if (sizeRegex.test(wideSize)) { + // translators: %s: container size (i.e. 600px etc) + alignmentInfo.wide = Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Max %s wide'), wideSize); + } + + return alignmentInfo; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/layouts/index.js +/** + * Internal dependencies + */ + + +const layoutTypes = [flow, flex]; +/** + * Retrieves a layout type by name. + * + * @param {string} name - The name of the layout type. + * @return {Object} Layout type. + */ + +function getLayoutType(name = 'default') { + return layoutTypes.find(layoutType => layoutType.name === name); +} +/** + * Retrieves the available layout types. + * + * @return {Array} Layout types. + */ + +function getLayoutTypes() { + return layoutTypes; +} + + +/***/ }), + +/***/ "PS/H": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return InsertionPointOpenRef; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return InsertionPoint; }); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("TSYQ"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _inserter__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("qrxh"); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("BhPs"); +/* harmony import */ var _block_list_use_block_props_use_block_refs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("PKbb"); +/* harmony import */ var _use_popover_scroll__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("2z9l"); + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + + +const InsertionPointOpenRef = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createContext"])(); + +function InsertionPointPopover({ + __unstablePopoverSlot, + __unstableContentRef +}) { + const { + selectBlock + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__["useDispatch"])(_store__WEBPACK_IMPORTED_MODULE_7__[/* store */ "a"]); + const openRef = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useContext"])(InsertionPointOpenRef); + const ref = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useRef"])(); + const { + orientation, + previousClientId, + nextClientId, + rootClientId, + isInserterShown + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__["useSelect"])(select => { + var _getBlockListSettings; + + const { + getBlockOrder, + getBlockListSettings, + getBlockInsertionPoint, + isBlockBeingDragged, + getPreviousBlockClientId, + getNextBlockClientId + } = select(_store__WEBPACK_IMPORTED_MODULE_7__[/* store */ "a"]); + const insertionPoint = getBlockInsertionPoint(); + const order = getBlockOrder(insertionPoint.rootClientId); + + if (!order.length) { + return {}; + } + + let _previousClientId = order[insertionPoint.index - 1]; + let _nextClientId = order[insertionPoint.index]; + + while (isBlockBeingDragged(_previousClientId)) { + _previousClientId = getPreviousBlockClientId(_previousClientId); + } + + while (isBlockBeingDragged(_nextClientId)) { + _nextClientId = getNextBlockClientId(_nextClientId); + } + + return { + previousClientId: _previousClientId, + nextClientId: _nextClientId, + orientation: ((_getBlockListSettings = getBlockListSettings(insertionPoint.rootClientId)) === null || _getBlockListSettings === void 0 ? void 0 : _getBlockListSettings.orientation) || 'vertical', + rootClientId: insertionPoint.rootClientId, + isInserterShown: insertionPoint === null || insertionPoint === void 0 ? void 0 : insertionPoint.__unstableWithInserter + }; + }, []); + const previousElement = Object(_block_list_use_block_props_use_block_refs__WEBPACK_IMPORTED_MODULE_8__[/* __unstableUseBlockElement */ "a"])(previousClientId); + const nextElement = Object(_block_list_use_block_props_use_block_refs__WEBPACK_IMPORTED_MODULE_8__[/* __unstableUseBlockElement */ "a"])(nextClientId); + const isVertical = orientation === 'vertical'; + const style = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(() => { + if (!previousElement && !nextElement) { + return {}; + } + + const previousRect = previousElement ? previousElement.getBoundingClientRect() : null; + const nextRect = nextElement ? nextElement.getBoundingClientRect() : null; + + if (isVertical) { + return { + width: previousElement ? previousElement.offsetWidth : nextElement.offsetWidth, + height: nextRect && previousRect ? nextRect.top - previousRect.bottom : 0 + }; + } + + let width = 0; + + if (previousRect && nextRect) { + width = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["isRTL"])() ? previousRect.left - nextRect.right : nextRect.left - previousRect.right; + } + + return { + width, + height: previousElement ? previousElement.offsetHeight : nextElement.offsetHeight + }; + }, [previousElement, nextElement]); + const getAnchorRect = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(() => { + if (!previousElement && !nextElement) { + return {}; + } + + const { + ownerDocument + } = previousElement || nextElement; + const previousRect = previousElement ? previousElement.getBoundingClientRect() : null; + const nextRect = nextElement ? nextElement.getBoundingClientRect() : null; + + if (isVertical) { + if (Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["isRTL"])()) { + return { + top: previousRect ? previousRect.bottom : nextRect.top, + left: previousRect ? previousRect.right : nextRect.right, + right: previousRect ? previousRect.left : nextRect.left, + bottom: nextRect ? nextRect.top : previousRect.bottom, + ownerDocument + }; + } + + return { + top: previousRect ? previousRect.bottom : nextRect.top, + left: previousRect ? previousRect.left : nextRect.left, + right: previousRect ? previousRect.right : nextRect.right, + bottom: nextRect ? nextRect.top : previousRect.bottom, + ownerDocument + }; + } + + if (Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["isRTL"])()) { + return { + top: previousRect ? previousRect.top : nextRect.top, + left: previousRect ? previousRect.left : nextRect.right, + right: nextRect ? nextRect.right : previousRect.left, + bottom: previousRect ? previousRect.bottom : nextRect.bottom, + ownerDocument + }; + } + + return { + top: previousRect ? previousRect.top : nextRect.top, + left: previousRect ? previousRect.right : nextRect.left, + right: nextRect ? nextRect.left : previousRect.right, + bottom: previousRect ? previousRect.bottom : nextRect.bottom, + ownerDocument + }; + }, [previousElement, nextElement]); + const popoverScrollRef = Object(_use_popover_scroll__WEBPACK_IMPORTED_MODULE_9__[/* usePopoverScroll */ "a"])(__unstableContentRef); + const disableMotion = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__["useReducedMotion"])(); + const className = classnames__WEBPACK_IMPORTED_MODULE_1___default()('block-editor-block-list__insertion-point', 'is-' + orientation); + + function onClick(event) { + if (event.target === ref.current && nextClientId) { + selectBlock(nextClientId, -1); + } + } + + function onFocus(event) { + // Only handle click on the wrapper specifically, and not an event + // bubbled from the inserter itself. + if (event.target !== ref.current) { + openRef.current = true; + } + } // Only show the in-between inserter between blocks, so when there's a + // previous and a next element. + + + const showInsertionPointInserter = previousElement && nextElement && isInserterShown; // Define animation variants for the line element. + + const horizontalLine = { + start: { + width: 0, + top: '50%', + bottom: '50%', + x: 0 + }, + rest: { + width: 4, + top: 0, + bottom: 0, + x: -2 + }, + hover: { + width: 4, + top: 0, + bottom: 0, + x: -2 + } + }; + const verticalLine = { + start: { + height: 0, + left: '50%', + right: '50%', + y: 0 + }, + rest: { + height: 4, + left: 0, + right: 0, + y: -2 + }, + hover: { + height: 4, + left: 0, + right: 0, + y: -2 + } + }; + const lineVariants = { + // Initial position starts from the center and invisible. + start: { ...(!isVertical ? horizontalLine.start : verticalLine.start), + opacity: 0 + }, + // The line expands to fill the container. If the inserter is visible it + // is delayed so it appears orchestrated. + rest: { ...(!isVertical ? horizontalLine.rest : verticalLine.rest), + opacity: 1, + borderRadius: '2px', + transition: { + delay: showInsertionPointInserter ? 0.4 : 0 + } + }, + hover: { ...(!isVertical ? horizontalLine.hover : verticalLine.hover), + opacity: 1, + borderRadius: '2px', + transition: { + delay: 0.4 + } + } + }; + const inserterVariants = { + start: { + scale: disableMotion ? 1 : 0 + }, + rest: { + scale: 1, + transition: { + delay: 0.2 + } + } + }; + /* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */ + // While ideally it would be enough to capture the + // bubbling focus event from the Inserter, due to the + // characteristics of click focusing of `button`s in + // Firefox and Safari, it is not reliable. + // + // See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["Popover"], { + ref: popoverScrollRef, + noArrow: true, + animate: false, + getAnchorRect: getAnchorRect, + focusOnMount: false, + className: "block-editor-block-list__insertion-point-popover" // Render in the old slot if needed for backward compatibility, + // otherwise render in place (not in the the default popover slot). + , + __unstableSlotName: __unstablePopoverSlot || null // Forces a remount of the popover when its position changes + // This makes sure the popover doesn't animate from its previous position. + , + key: nextClientId + '--' + rootClientId + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["__unstableMotion"].div, { + layout: !disableMotion, + initial: disableMotion ? 'rest' : 'start', + animate: "rest", + whileHover: "hover", + whileTap: "pressed", + exit: "start", + ref: ref, + tabIndex: -1, + onClick: onClick, + onFocus: onFocus, + className: classnames__WEBPACK_IMPORTED_MODULE_1___default()(className, { + 'is-with-inserter': showInsertionPointInserter + }), + style: style + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["__unstableMotion"].div, { + variants: lineVariants, + className: "block-editor-block-list__insertion-point-indicator" + }), showInsertionPointInserter && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["__unstableMotion"].div, { + variants: inserterVariants, + className: classnames__WEBPACK_IMPORTED_MODULE_1___default()('block-editor-block-list__insertion-point-inserter') + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_inserter__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], { + position: "bottom center", + clientId: nextClientId, + rootClientId: rootClientId, + __experimentalIsQuick: true, + onToggle: isOpen => { + openRef.current = isOpen; + }, + onSelectOrClose: () => { + openRef.current = false; + } + })))); + /* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */ +} + +function InsertionPoint({ + children, + __unstablePopoverSlot, + __unstableContentRef +}) { + const isVisible = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__["useSelect"])(select => { + return select(_store__WEBPACK_IMPORTED_MODULE_7__[/* store */ "a"]).isBlockInsertionPointVisible(); + }, []); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(InsertionPointOpenRef.Provider, { + value: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useRef"])(false) + }, isVisible && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(InsertionPointPopover, { + __unstablePopoverSlot: __unstablePopoverSlot, + __unstableContentRef: __unstableContentRef + }), children); +} + + +/***/ }), + +/***/ "Q2Xw": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useBlockClassNames; }); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("TSYQ"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("HSyU"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("BhPs"); +/** + * 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 Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__["useSelect"])(select => { + const { + isBlockBeingDragged, + isBlockHighlighted, + isBlockSelected, + isBlockMultiSelected, + getBlockName, + getSettings, + hasSelectedInnerBlock, + isTyping, + __experimentalGetActiveBlockIdByBlockNames: getActiveBlockIdByBlockNames + } = select(_store__WEBPACK_IMPORTED_MODULE_3__[/* store */ "a"]); + const { + __experimentalSpotlightEntityBlocks: spotlightEntityBlocks, + 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 activeEntityBlockId = getActiveBlockIdByBlockNames(spotlightEntityBlocks); + return classnames__WEBPACK_IMPORTED_MODULE_0___default()({ + 'is-selected': isSelected, + 'is-highlighted': isBlockHighlighted(clientId), + 'is-multi-selected': isBlockMultiSelected(clientId), + 'is-reusable': Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__["isReusableBlock"])(Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__["getBlockType"])(name)), + 'is-dragging': isDragging, + 'has-child-selected': isAncestorOfSelectedBlock, + 'has-active-entity': activeEntityBlockId, + // Determine if there is an active entity area to spotlight. + 'is-active-entity': activeEntityBlockId === clientId, + 'remove-outline': isSelected && outlineMode && isTyping() + }); + }, [clientId]); } -module.exports = _assertThisInitialized; -module.exports["default"] = module.exports, module.exports.__esModule = true; /***/ }), @@ -1376,6 +26305,244 @@ const plus = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createEleme /* harmony default export */ __webpack_exports__["a"] = (plus); +/***/ }), + +/***/ "QP/w": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _use_setting__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("v5LD"); + + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + +function FontSizePicker(props) { + const fontSizes = Object(_use_setting__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])('typography.fontSizes'); + const disableCustomFontSizes = !Object(_use_setting__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])('typography.customFontSize'); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["FontSizePicker"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, props, { + fontSizes: fontSizes, + disableCustomFontSizes: disableCustomFontSizes + })); +} + +/* harmony default export */ __webpack_exports__["a"] = (FontSizePicker); + + +/***/ }), + +/***/ "REKd": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// UNUSED EXPORTS: BlockPreview + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/provider/index.js + 1 modules +var provider = __webpack_require__("/QNa"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/index.js + 4 modules +var block_list = __webpack_require__("VyCT"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-preview/live.js + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + +function LiveBlockPreview({ + onClick +}) { + return Object(external_wp_element_["createElement"])("div", { + tabIndex: 0, + role: "button", + onClick: onClick, + onKeyPress: onClick + }, Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], null, Object(external_wp_element_["createElement"])(block_list["c" /* default */], null))); +} + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/iframe/index.js +var iframe = __webpack_require__("hHnB"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/editor-styles/index.js +var editor_styles = __webpack_require__("KyyN"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-preview/auto.js + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + + // This is used to avoid rendering the block list if the sizes change. + +let MemoizedBlockList; + +function AutoBlockPreview({ + viewportWidth, + __experimentalPadding +}) { + const [containerResizeListener, { + width: containerWidth + }] = Object(external_wp_compose_["useResizeObserver"])(); + const [contentResizeListener, { + height: contentHeight + }] = Object(external_wp_compose_["useResizeObserver"])(); + const styles = Object(external_wp_data_["useSelect"])(select => { + return select(store["a" /* store */]).getSettings().styles; + }, []); // Initialize on render instead of module top level, to avoid circular dependency issues. + + MemoizedBlockList = MemoizedBlockList || Object(external_wp_compose_["pure"])(block_list["c" /* default */]); + const scale = containerWidth / viewportWidth; + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-preview__container" + }, containerResizeListener, Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], { + className: "block-editor-block-preview__content", + style: { + transform: `scale(${scale})`, + height: contentHeight * scale + } + }, Object(external_wp_element_["createElement"])(iframe["a" /* default */], { + head: Object(external_wp_element_["createElement"])(editor_styles["a" /* default */], { + styles: styles + }), + contentRef: Object(external_wp_compose_["useRefEffect"])(bodyElement => { + const { + ownerDocument: { + documentElement + } + } = bodyElement; + documentElement.style.position = 'absolute'; + documentElement.style.width = '100%'; + bodyElement.style.padding = __experimentalPadding + 'px'; + }, []), + "aria-hidden": true, + tabIndex: -1, + style: { + position: 'absolute', + width: viewportWidth, + height: contentHeight, + pointerEvents: 'none' + } + }, contentResizeListener, Object(external_wp_element_["createElement"])(MemoizedBlockList, { + renderAppender: false + })))); +} + +/* harmony default export */ var auto = (AutoBlockPreview); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-preview/index.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + + +function BlockPreview({ + blocks, + __experimentalPadding = 0, + viewportWidth = 1200, + __experimentalLive = false, + __experimentalOnClick +}) { + const originalSettings = Object(external_wp_data_["useSelect"])(select => select(store["a" /* store */]).getSettings(), []); + const settings = Object(external_wp_element_["useMemo"])(() => { + const _settings = { ...originalSettings + }; + _settings.__experimentalBlockPatterns = []; + return _settings; + }, [originalSettings]); + const renderedBlocks = Object(external_wp_element_["useMemo"])(() => Object(external_lodash_["castArray"])(blocks), [blocks]); + + if (!blocks || blocks.length === 0) { + return null; + } + + return Object(external_wp_element_["createElement"])(provider["a" /* default */], { + value: renderedBlocks, + settings: settings + }, __experimentalLive ? Object(external_wp_element_["createElement"])(LiveBlockPreview, { + onClick: __experimentalOnClick + }) : Object(external_wp_element_["createElement"])(auto, { + viewportWidth: viewportWidth, + __experimentalPadding: __experimentalPadding + })); +} +/** + * BlockPreview renders a preview of a block or array of blocks. + * + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-preview/README.md + * + * @param {Object} preview options for how the preview should be shown + * @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. + */ + +/* harmony default export */ var block_preview = __webpack_exports__["a"] = (Object(external_wp_element_["memo"])(BlockPreview)); + + /***/ }), /***/ "RMJe": @@ -1396,7 +26563,7 @@ const check = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElem xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { - d: "M18.3 5.6L9.9 16.9l-4.6-3.4-.9 1.2 5.8 4.3 9.3-12.6z" + 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 */ __webpack_exports__["a"] = (check); @@ -1521,24 +26688,6 @@ module.exports = lineHeight; /***/ }), -/***/ "SksO": -/***/ (function(module, exports) { - -function _setPrototypeOf(o, p) { - module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - module.exports["default"] = module.exports, module.exports.__esModule = true; - return _setPrototypeOf(o, p); -} - -module.exports = _setPrototypeOf; -module.exports["default"] = module.exports, module.exports.__esModule = true; - -/***/ }), - /***/ "TSYQ": /***/ (function(module, exports, __webpack_require__) { @@ -1601,6 +26750,804 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! }()); +/***/ }), + +/***/ "TVFh": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ useWritingFlow; }); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-block-refs.js +var use_block_refs = __webpack_require__("PKbb"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-flow/use-multi-selection.js +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +function toggleRichText(container, toggle) { + Array.from(container.querySelectorAll('.rich-text')).forEach(node => { + if (toggle) { + node.setAttribute('contenteditable', true); + } else { + node.removeAttribute('contenteditable'); + } + }); +} +/** + * Returns for the deepest node at the start or end of a container node. Ignores + * any text nodes that only contain HTML formatting whitespace. + * + * @param {Element} node Container to search. + * @param {string} type 'start' or 'end'. + */ + + +function getDeepestNode(node, type) { + const child = type === 'start' ? 'firstChild' : 'lastChild'; + const sibling = type === 'start' ? 'nextSibling' : 'previousSibling'; + + while (node[child]) { + node = node[child]; + + while (node.nodeType === node.TEXT_NODE && /^[ \t\n]*$/.test(node.data) && node[sibling]) { + node = node[sibling]; + } + } + + return node; +} + +function selector(select) { + const { + isMultiSelecting, + getMultiSelectedBlockClientIds, + hasMultiSelection, + getSelectedBlockClientId + } = select(store["a" /* store */]); + return { + isMultiSelecting: isMultiSelecting(), + multiSelectedBlockClientIds: getMultiSelectedBlockClientIds(), + hasMultiSelection: hasMultiSelection(), + selectedBlockClientId: getSelectedBlockClientId() + }; +} + +function useMultiSelection() { + const { + isMultiSelecting, + multiSelectedBlockClientIds, + hasMultiSelection, + selectedBlockClientId + } = Object(external_wp_data_["useSelect"])(selector, []); + const selectedRef = Object(use_block_refs["b" /* __unstableUseBlockRef */])(selectedBlockClientId); // These must be in the right DOM order. + + const startRef = Object(use_block_refs["b" /* __unstableUseBlockRef */])(Object(external_lodash_["first"])(multiSelectedBlockClientIds)); + const endRef = Object(use_block_refs["b" /* __unstableUseBlockRef */])(Object(external_lodash_["last"])(multiSelectedBlockClientIds)); + /** + * When the component updates, and there is multi selection, we need to + * select the entire block contents. + */ + + return Object(external_wp_compose_["useRefEffect"])(node => { + const { + ownerDocument + } = node; + const { + defaultView + } = ownerDocument; + + if (!hasMultiSelection || isMultiSelecting) { + if (!selectedBlockClientId || isMultiSelecting) { + return; + } + + const selection = defaultView.getSelection(); + + if (selection.rangeCount && !selection.isCollapsed) { + const blockNode = selectedRef.current; + const { + startContainer, + endContainer + } = selection.getRangeAt(0); + + if (!!blockNode && (!blockNode.contains(startContainer) || !blockNode.contains(endContainer))) { + selection.removeAllRanges(); + } + } + + return; + } + + const { + length + } = multiSelectedBlockClientIds; + + if (length < 2) { + return; + } // The block refs might not be immediately available + // when dragging blocks into another block. + + + if (!startRef.current || !endRef.current) { + return; + } // For some browsers, like Safari, it is important that focus happens + // BEFORE selection. + + + node.focus(); + const selection = defaultView.getSelection(); + const range = ownerDocument.createRange(); // These must be in the right DOM order. + // The most stable way to select the whole block contents is to start + // and end at the deepest points. + + const startNode = getDeepestNode(startRef.current, 'start'); + const endNode = getDeepestNode(endRef.current, 'end'); // While rich text will be disabled with a delay when there is a multi + // selection, we must do it immediately because it's not possible to set + // selection across editable hosts. + + toggleRichText(node, false); + range.setStartBefore(startNode); + range.setEndAfter(endNode); + selection.removeAllRanges(); + selection.addRange(range); + }, [hasMultiSelection, isMultiSelecting, multiSelectedBlockClientIds, selectedBlockClientId]); +} + +// EXTERNAL MODULE: external ["wp","dom"] +var external_wp_dom_ = __webpack_require__("1CF3"); + +// EXTERNAL MODULE: external ["wp","keycodes"] +var external_wp_keycodes_ = __webpack_require__("RxS6"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-flow/use-tab-nav.js + + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + +function isFormElement(element) { + const { + tagName + } = element; + return tagName === 'INPUT' || tagName === 'BUTTON' || tagName === 'SELECT' || tagName === 'TEXTAREA'; +} + +function useTabNav() { + const container = Object(external_wp_element_["useRef"])(); + const focusCaptureBeforeRef = Object(external_wp_element_["useRef"])(); + const focusCaptureAfterRef = Object(external_wp_element_["useRef"])(); + const lastFocus = Object(external_wp_element_["useRef"])(); + const { + hasMultiSelection, + getSelectedBlockClientId, + getBlockCount + } = Object(external_wp_data_["useSelect"])(store["a" /* store */]); + const { + setNavigationMode + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const isNavigationMode = Object(external_wp_data_["useSelect"])(select => select(store["a" /* store */]).isNavigationMode(), []); // Don't allow tabbing to this element in Navigation mode. + + const focusCaptureTabIndex = !isNavigationMode ? '0' : undefined; // Reference that holds the a flag for enabling or disabling + // capturing on the focus capture elements. + + const noCapture = Object(external_wp_element_["useRef"])(); + + function onFocusCapture(event) { + // Do not capture incoming focus if set by us in WritingFlow. + if (noCapture.current) { + noCapture.current = null; + } else if (hasMultiSelection()) { + container.current.focus(); + } else if (getSelectedBlockClientId()) { + lastFocus.current.focus(); + } else { + setNavigationMode(true); + const isBefore = // eslint-disable-next-line no-bitwise + event.target.compareDocumentPosition(container.current) & event.target.DOCUMENT_POSITION_FOLLOWING; + const action = isBefore ? 'findNext' : 'findPrevious'; + external_wp_dom_["focus"].tabbable[action](event.target).focus(); + } + } + + const before = Object(external_wp_element_["createElement"])("div", { + ref: focusCaptureBeforeRef, + tabIndex: focusCaptureTabIndex, + onFocus: onFocusCapture + }); + const after = Object(external_wp_element_["createElement"])("div", { + ref: focusCaptureAfterRef, + tabIndex: focusCaptureTabIndex, + onFocus: onFocusCapture + }); + const ref = Object(external_wp_compose_["useRefEffect"])(node => { + function onKeyDown(event) { + if (event.defaultPrevented) { + return; + } + + if (event.keyCode === external_wp_keycodes_["ESCAPE"] && !hasMultiSelection()) { + event.preventDefault(); + setNavigationMode(true); + return; + } // In Edit mode, Tab should focus the first tabbable element after + // the content, which is normally the sidebar (with block controls) + // and Shift+Tab should focus the first tabbable element before the + // content, which is normally the block toolbar. + // Arrow keys can be used, and Tab and arrow keys can be used in + // Navigation mode (press Esc), to navigate through blocks. + + + if (event.keyCode !== external_wp_keycodes_["TAB"]) { + return; + } + + const isShift = event.shiftKey; + const direction = isShift ? 'findPrevious' : 'findNext'; + + if (!hasMultiSelection() && !getSelectedBlockClientId()) { + // Preserve the behaviour of entering navigation mode when + // tabbing into the content without a block selection. + // `onFocusCapture` already did this previously, but we need to + // do it again here because after clearing block selection, + // focus land on the writing flow container and pressing Tab + // will no longer send focus through the focus capture element. + if (event.target === node) setNavigationMode(true); + return; + } // Allow tabbing between form elements rendered in a block, + // such as inside a placeholder. Form elements are generally + // meant to be UI rather than part of the content. Ideally + // these are not rendered in the content and perhaps in the + // future they can be rendered in an iframe or shadow DOM. + + + if (isFormElement(event.target) && isFormElement(external_wp_dom_["focus"].tabbable[direction](event.target))) { + return; + } + + const next = isShift ? focusCaptureBeforeRef : focusCaptureAfterRef; // Disable focus capturing on the focus capture element, so it + // doesn't refocus this block and so it allows default behaviour + // (moving focus to the next tabbable element). + + noCapture.current = true; // Focusing the focus capture element, which is located above and + // below the editor, should not scroll the page all the way up or + // down. + + next.current.focus({ + preventScroll: true + }); + } + + function onFocusOut(event) { + lastFocus.current = event.target; + const { + ownerDocument + } = node; // If focus disappears due to there being no blocks, move focus to + // the writing flow wrapper. + + if (!event.relatedTarget && ownerDocument.activeElement === ownerDocument.body && getBlockCount() === 0) { + node.focus(); + } + } // When tabbing back to an element in block list, this event handler prevents scrolling if the + // focus capture divs (before/after) are outside of the viewport. (For example shift+tab back to a paragraph + // when focus is on a sidebar element. This prevents the scrollable writing area from jumping either to the + // top or bottom of the document. + // + // Note that it isn't possible to disable scrolling in the onFocus event. We need to intercept this + // earlier in the keypress handler, and call focus( { preventScroll: true } ) instead. + // https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus#parameters + + + function preventScrollOnTab(event) { + var _event$target; + + if (event.keyCode !== external_wp_keycodes_["TAB"]) { + return; + } + + if (((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.getAttribute('role')) === 'region') { + return; + } + + if (container.current === event.target) { + return; + } + + const isShift = event.shiftKey; + const direction = isShift ? 'findPrevious' : 'findNext'; + const target = external_wp_dom_["focus"].tabbable[direction](event.target); // only do something when the next tabbable is a focus capture div (before/after) + + if (target === focusCaptureBeforeRef.current || target === focusCaptureAfterRef.current) { + event.preventDefault(); + target.focus({ + preventScroll: true + }); + } + } + + const { + ownerDocument + } = node; + const { + defaultView + } = ownerDocument; + defaultView.addEventListener('keydown', preventScrollOnTab); + node.addEventListener('keydown', onKeyDown); + node.addEventListener('focusout', onFocusOut); + return () => { + defaultView.removeEventListener('keydown', preventScrollOnTab); + node.removeEventListener('keydown', onKeyDown); + node.removeEventListener('focusout', onFocusOut); + }; + }, []); + const mergedRefs = Object(external_wp_compose_["useMergeRefs"])([container, ref]); + return [before, mergedRefs, after]; +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/dom.js +var dom = __webpack_require__("OL6h"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-flow/use-arrow-nav.js +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + +/** + * Returns true if the element should consider edge navigation upon a keyboard + * event of the given directional key code, or false otherwise. + * + * @param {Element} element HTML element to test. + * @param {number} keyCode KeyboardEvent keyCode to test. + * @param {boolean} hasModifier Whether a modifier is pressed. + * + * @return {boolean} Whether element should consider edge navigation. + */ + +function isNavigationCandidate(element, keyCode, hasModifier) { + const isVertical = keyCode === external_wp_keycodes_["UP"] || keyCode === external_wp_keycodes_["DOWN"]; // Currently, all elements support unmodified vertical navigation. + + if (isVertical && !hasModifier) { + return true; + } // Native inputs should not navigate horizontally. + + + const { + tagName + } = element; + return tagName !== 'INPUT' && tagName !== 'TEXTAREA'; +} +/** + * Returns the optimal tab target from the given focused element in the desired + * direction. A preference is made toward text fields, falling back to the block + * focus stop if no other candidates exist for the block. + * + * @param {Element} target Currently focused text field. + * @param {boolean} isReverse True if considering as the first field. + * @param {Element} containerElement Element containing all blocks. + * @param {boolean} onlyVertical Whether to only consider tabbable elements + * that are visually above or under the + * target. + * + * @return {?Element} Optimal tab target, if one exists. + */ + +function getClosestTabbable(target, isReverse, containerElement, onlyVertical) { + // Since the current focus target is not guaranteed to be a text field, find + // all focusables. Tabbability is considered later. + let focusableNodes = external_wp_dom_["focus"].focusable.find(containerElement); + + if (isReverse) { + focusableNodes = Object(external_lodash_["reverse"])(focusableNodes); + } // Consider as candidates those focusables after the current target. It's + // assumed this can only be reached if the target is focusable (on its + // keydown event), so no need to verify it exists in the set. + + + focusableNodes = focusableNodes.slice(focusableNodes.indexOf(target) + 1); + let targetRect; + + if (onlyVertical) { + targetRect = target.getBoundingClientRect(); + } + + function isTabCandidate(node) { + // Not a candidate if the node is not tabbable. + if (!external_wp_dom_["focus"].tabbable.isTabbableIndex(node)) { + return false; + } // Skip focusable elements such as links within content editable nodes. + + + if (node.isContentEditable && node.contentEditable !== 'true') { + return false; + } + + if (onlyVertical) { + const nodeRect = node.getBoundingClientRect(); + + if (nodeRect.left >= targetRect.right || nodeRect.right <= targetRect.left) { + return false; + } + } + + return true; + } + + return Object(external_lodash_["find"])(focusableNodes, isTabCandidate); +} +function useArrowNav() { + const { + getSelectedBlockClientId, + getMultiSelectedBlocksStartClientId, + getMultiSelectedBlocksEndClientId, + getPreviousBlockClientId, + getNextBlockClientId, + getFirstMultiSelectedBlockClientId, + getLastMultiSelectedBlockClientId, + getSettings, + hasMultiSelection + } = Object(external_wp_data_["useSelect"])(store["a" /* store */]); + const { + multiSelect, + selectBlock + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + return Object(external_wp_compose_["useRefEffect"])(node => { + // Here a DOMRect is stored while moving the caret vertically so + // vertical position of the start position can be restored. This is to + // recreate browser behaviour across blocks. + let verticalRect; + + function onMouseDown() { + verticalRect = null; + } + + function expandSelection(isReverse) { + const selectedBlockClientId = getSelectedBlockClientId(); + const selectionStartClientId = getMultiSelectedBlocksStartClientId(); + const selectionEndClientId = getMultiSelectedBlocksEndClientId(); + const selectionBeforeEndClientId = getPreviousBlockClientId(selectionEndClientId || selectedBlockClientId); + const selectionAfterEndClientId = getNextBlockClientId(selectionEndClientId || selectedBlockClientId); + const nextSelectionEndClientId = isReverse ? selectionBeforeEndClientId : selectionAfterEndClientId; + + if (nextSelectionEndClientId) { + if (selectionStartClientId === nextSelectionEndClientId) { + selectBlock(nextSelectionEndClientId); + } else { + multiSelect(selectionStartClientId || selectedBlockClientId, nextSelectionEndClientId); + } + } + } + + function moveSelection(isReverse) { + const selectedFirstClientId = getFirstMultiSelectedBlockClientId(); + const selectedLastClientId = getLastMultiSelectedBlockClientId(); + const focusedBlockClientId = isReverse ? selectedFirstClientId : selectedLastClientId; + + if (focusedBlockClientId) { + selectBlock(focusedBlockClientId); + } + } + /** + * Returns true if the given target field is the last in its block which + * can be considered for tab transition. For example, in a block with + * two text fields, this would return true when reversing from the first + * of the two fields, but false when reversing from the second. + * + * @param {Element} target Currently focused text field. + * @param {boolean} isReverse True if considering as the first field. + * + * @return {boolean} Whether field is at edge for tab transition. + */ + + + function isTabbableEdge(target, isReverse) { + const closestTabbable = getClosestTabbable(target, isReverse, node); + return !closestTabbable || !Object(dom["b" /* isInSameBlock */])(target, closestTabbable); + } + + function onKeyDown(event) { + const { + keyCode, + target + } = event; + const isUp = keyCode === external_wp_keycodes_["UP"]; + const isDown = keyCode === external_wp_keycodes_["DOWN"]; + const isLeft = keyCode === external_wp_keycodes_["LEFT"]; + const isRight = keyCode === external_wp_keycodes_["RIGHT"]; + const isReverse = isUp || isLeft; + const isHorizontal = isLeft || isRight; + const isVertical = isUp || isDown; + const isNav = isHorizontal || isVertical; + const isShift = event.shiftKey; + const hasModifier = isShift || event.ctrlKey || event.altKey || event.metaKey; + const isNavEdge = isVertical ? external_wp_dom_["isVerticalEdge"] : external_wp_dom_["isHorizontalEdge"]; + const { + ownerDocument + } = node; + const { + defaultView + } = ownerDocument; + + if (hasMultiSelection()) { + if (isNav) { + const action = isShift ? expandSelection : moveSelection; + action(isReverse); + event.preventDefault(); + } + + return; + } // When presing any key other than up or down, the initial vertical + // position must ALWAYS be reset. The vertical position is saved so + // it can be restored as well as possible on sebsequent vertical + // arrow key presses. It may not always be possible to restore the + // exact same position (such as at an empty line), so it wouldn't be + // good to compute the position right before any vertical arrow key + // press. + + + if (!isVertical) { + verticalRect = null; + } else if (!verticalRect) { + verticalRect = Object(external_wp_dom_["computeCaretRect"])(defaultView); + } // Abort if navigation has already been handled (e.g. RichText + // inline boundaries). + + + if (event.defaultPrevented) { + return; + } + + if (!isNav) { + return; + } // Abort if our current target is not a candidate for navigation + // (e.g. preserve native input behaviors). + + + if (!isNavigationCandidate(target, keyCode, hasModifier)) { + return; + } // In the case of RTL scripts, right means previous and left means + // next, which is the exact reverse of LTR. + + + const isReverseDir = Object(external_wp_dom_["isRTL"])(target) ? !isReverse : isReverse; + const { + keepCaretInsideBlock + } = getSettings(); + const selectedBlockClientId = getSelectedBlockClientId(); + + if (isShift) { + const selectionEndClientId = getMultiSelectedBlocksEndClientId(); + const selectionBeforeEndClientId = getPreviousBlockClientId(selectionEndClientId || selectedBlockClientId); + const selectionAfterEndClientId = getNextBlockClientId(selectionEndClientId || selectedBlockClientId); + + if ( // Ensure that there is a target block. + (isReverse && selectionBeforeEndClientId || !isReverse && selectionAfterEndClientId) && isTabbableEdge(target, isReverse) && isNavEdge(target, isReverse)) { + // Shift key is down, and there is multi selection or we're + // at the end of the current block. + expandSelection(isReverse); + event.preventDefault(); + } + } else if (isVertical && Object(external_wp_dom_["isVerticalEdge"])(target, isReverse) && !keepCaretInsideBlock) { + const closestTabbable = getClosestTabbable(target, isReverse, node, true); + + if (closestTabbable) { + Object(external_wp_dom_["placeCaretAtVerticalEdge"])(closestTabbable, isReverse, verticalRect); + event.preventDefault(); + } + } else if (isHorizontal && defaultView.getSelection().isCollapsed && Object(external_wp_dom_["isHorizontalEdge"])(target, isReverseDir) && !keepCaretInsideBlock) { + const closestTabbable = getClosestTabbable(target, isReverseDir, node); + Object(external_wp_dom_["placeCaretAtHorizontalEdge"])(closestTabbable, isReverse); + event.preventDefault(); + } + } + + node.addEventListener('mousedown', onMouseDown); + node.addEventListener('keydown', onKeyDown); + return () => { + node.removeEventListener('mousedown', onMouseDown); + node.removeEventListener('keydown', onKeyDown); + }; + }, []); +} + +// EXTERNAL MODULE: external ["wp","keyboardShortcuts"] +var external_wp_keyboardShortcuts_ = __webpack_require__("hF7m"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-flow/use-select-all.js +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + +function useSelectAll() { + const { + getBlockOrder, + getSelectedBlockClientIds, + getBlockRootClientId + } = Object(external_wp_data_["useSelect"])(store["a" /* store */]); + const { + multiSelect + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const isMatch = Object(external_wp_keyboardShortcuts_["__unstableUseShortcutEventMatch"])(); + return Object(external_wp_compose_["useRefEffect"])(node => { + function onKeyDown(event) { + if (!isMatch('core/block-editor/select-all', event)) { + return; + } + + if (!Object(external_wp_dom_["isEntirelySelected"])(event.target)) { + return; + } + + const selectedClientIds = getSelectedBlockClientIds(); + const [firstSelectedClientId] = selectedClientIds; + const rootClientId = getBlockRootClientId(firstSelectedClientId); + let blockClientIds = getBlockOrder(rootClientId); // If we have selected all sibling nested blocks, try selecting up a + // level. See: https://github.com/WordPress/gutenberg/pull/31859/ + + if (selectedClientIds.length === blockClientIds.length) { + blockClientIds = getBlockOrder(getBlockRootClientId(rootClientId)); + } + + const firstClientId = Object(external_lodash_["first"])(blockClientIds); + const lastClientId = Object(external_lodash_["last"])(blockClientIds); + + if (firstClientId === lastClientId) { + return; + } + + multiSelect(firstClientId, lastClientId); + event.preventDefault(); + } + + node.addEventListener('keydown', onKeyDown); + return () => { + node.removeEventListener('keydown', onKeyDown); + }; + }, []); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-flow/index.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + + + +function useWritingFlow() { + const [before, ref, after] = useTabNav(); + const hasMultiSelection = Object(external_wp_data_["useSelect"])(select => select(store["a" /* store */]).hasMultiSelection(), []); + return [before, Object(external_wp_compose_["useMergeRefs"])([ref, useMultiSelection(), useSelectAll(), useArrowNav(), Object(external_wp_compose_["useRefEffect"])(node => { + node.tabIndex = -1; + + if (!hasMultiSelection) { + return; + } + + node.setAttribute('aria-label', Object(external_wp_i18n_["__"])('Multiple selected blocks')); + return () => { + node.removeAttribute('aria-label'); + }; + }, [hasMultiSelection])]), after]; +} + +function WritingFlow({ + children, + ...props +}, forwardedRef) { + const [before, ref, after] = useWritingFlow(); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, before, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, props, { + ref: Object(external_wp_compose_["useMergeRefs"])([ref, forwardedRef]), + className: classnames_default()(props.className, 'block-editor-writing-flow') + }), children), after); +} +/** + * 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. + */ + + +/* harmony default export */ var writing_flow = __webpack_exports__["a"] = (Object(external_wp_element_["forwardRef"])(WritingFlow)); + + /***/ }), /***/ "Tqx9": @@ -1608,6 +27555,43 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! (function() { module.exports = window["wp"]["primitives"]; }()); +/***/ }), + +/***/ "U1WI": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export BlockSettingsMenu */ +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _block_settings_dropdown__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("1eGn"); + + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + +function BlockSettingsMenu({ + clientIds, + ...props +}) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["ToolbarGroup"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["ToolbarItem"], null, toggleProps => Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_block_settings_dropdown__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + clientIds: clientIds, + toggleProps: toggleProps + }, props)))); +} +/* harmony default export */ __webpack_exports__["a"] = (BlockSettingsMenu); + + /***/ }), /***/ "VKE3": @@ -1635,19 +27619,585 @@ const moreVertical = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["cre /***/ }), -/***/ "VbXa": -/***/ (function(module, exports, __webpack_require__) { +/***/ "VrEk": +/***/ (function(module, __webpack_exports__, __webpack_require__) { -var setPrototypeOf = __webpack_require__("SksO"); +"use strict"; +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__); +/** + * WordPress dependencies + */ -function _inheritsLoose(subClass, superClass) { - subClass.prototype = Object.create(superClass.prototype); - subClass.prototype.constructor = subClass; - setPrototypeOf(subClass, superClass); +const InspectorControlsDefault = Object(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__["createSlotFill"])('InspectorControls'); +const InspectorControlsAdvanced = Object(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__["createSlotFill"])('InspectorAdvancedControls'); +const InspectorControlsDimensions = Object(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__["createSlotFill"])('InspectorControlsDimensions'); +const InspectorControlsTypography = Object(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__["createSlotFill"])('InspectorControlsTypography'); +const groups = { + default: InspectorControlsDefault, + advanced: InspectorControlsAdvanced, + dimensions: InspectorControlsDimensions, + typography: InspectorControlsTypography +}; +/* harmony default export */ __webpack_exports__["a"] = (groups); + + +/***/ }), + +/***/ "VyCT": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ IntersectionObserver; }); +__webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ BlockList; }); +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ BlockListItems; }); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/block.js + 6 modules +var block = __webpack_require__("jBNB"); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/default-block-appender/index.js +var default_block_appender = __webpack_require__("5L8O"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/button-block-appender/index.js +var button_block_appender = __webpack_require__("I5Hl"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list-appender/index.js + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + + +function BlockListAppender({ + blockClientIds, + rootClientId, + canInsertDefaultBlock, + isLocked, + renderAppender: CustomAppender, + className, + selectedBlockClientId, + tagName: TagName = 'div' +}) { + if (isLocked || CustomAppender === false) { + return null; + } + + let appender; + + if (CustomAppender) { + // Prefer custom render prop if provided. + appender = Object(external_wp_element_["createElement"])(CustomAppender, null); + } else { + const isDocumentAppender = !rootClientId; + const isParentSelected = selectedBlockClientId === rootClientId; + const isAnotherDefaultAppenderAlreadyDisplayed = selectedBlockClientId && !blockClientIds.includes(selectedBlockClientId); + + if (!isDocumentAppender && !isParentSelected && (!selectedBlockClientId || isAnotherDefaultAppenderAlreadyDisplayed)) { + return null; + } + + if (canInsertDefaultBlock) { + // Render the default block appender when renderAppender has not been + // provided and the context supports use of the default appender. + appender = Object(external_wp_element_["createElement"])(default_block_appender["a" /* default */], { + rootClientId: rootClientId, + lastBlockClientId: Object(external_lodash_["last"])(blockClientIds) + }); + } else { + // Fallback in the case no renderAppender has been provided and the + // default block can't be inserted. + appender = Object(external_wp_element_["createElement"])(button_block_appender["b" /* default */], { + rootClientId: rootClientId, + className: "block-list-appender__toggle" + }); + } + } + + return Object(external_wp_element_["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 + // not emit a focus event, which could cause this event to propagate + // unexpectedly. The `tabIndex` ensures that the interaction is + // captured as a focus, without also adding an extra tab stop. + // + // See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus + , { + tabIndex: -1, + className: classnames_default()('block-list-appender wp-block', className) // The appender exists to let you add the first Paragraph before + // any is inserted. To that end, this appender should visually be + // presented as a block. That means theme CSS should style it as if + // it were an empty paragraph block. That means a `wp-block` class to + // ensure the width is correct, and a [data-block] attribute to ensure + // the correct margin is applied, especially for classic themes which + // have commonly targeted that attribute for margins. + , + "data-block": true + }, appender); +} + +/* harmony default export */ var block_list_appender = (Object(external_wp_data_["withSelect"])((select, { + rootClientId +}) => { + const { + getBlockOrder, + canInsertBlockType, + getTemplateLock, + getSelectedBlockClientId + } = select(store["a" /* store */]); + return { + isLocked: !!getTemplateLock(rootClientId), + blockClientIds: getBlockOrder(rootClientId), + canInsertDefaultBlock: canInsertBlockType(Object(external_wp_blocks_["getDefaultBlockName"])(), rootClientId), + selectedBlockClientId: getSelectedBlockClientId() + }; +})(BlockListAppender)); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/insertion-point.js +var insertion_point = __webpack_require__("PS/H"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-in-between-inserter.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +function useInBetweenInserter() { + const openRef = Object(external_wp_element_["useContext"])(insertion_point["a" /* InsertionPointOpenRef */]); + const hasReducedUI = Object(external_wp_data_["useSelect"])(select => select(store["a" /* store */]).getSettings().hasReducedUI, []); + const { + getBlockListSettings, + getBlockRootClientId, + getBlockIndex, + isBlockInsertionPointVisible, + isMultiSelecting, + getSelectedBlockClientIds, + getTemplateLock + } = Object(external_wp_data_["useSelect"])(store["a" /* store */]); + const { + showInsertionPoint, + hideInsertionPoint + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + return Object(external_wp_compose_["useRefEffect"])(node => { + if (hasReducedUI) { + return; + } + + function onMouseMove(event) { + var _getBlockListSettings, _element$parentElemen; + + if (openRef.current) { + return; + } + + if (isMultiSelecting()) { + return; + } + + if (!event.target.classList.contains('block-editor-block-list__layout')) { + if (isBlockInsertionPointVisible()) { + hideInsertionPoint(); + } + + return; + } + + let rootClientId; + + if (!event.target.classList.contains('is-root-container')) { + const blockElement = !!event.target.getAttribute('data-block') ? event.target : event.target.closest('[data-block]'); + rootClientId = blockElement.getAttribute('data-block'); + } // Don't set the insertion point if the template is locked. + + + if (getTemplateLock(rootClientId)) { + return; + } + + const orientation = ((_getBlockListSettings = getBlockListSettings(rootClientId)) === null || _getBlockListSettings === void 0 ? void 0 : _getBlockListSettings.orientation) || 'vertical'; + const rect = event.target.getBoundingClientRect(); + const offsetTop = event.clientY - rect.top; + const offsetLeft = event.clientX - rect.left; + const children = Array.from(event.target.children); + let element = children.find(blockEl => { + return blockEl.classList.contains('wp-block') && orientation === 'vertical' && blockEl.offsetTop > offsetTop || blockEl.classList.contains('wp-block') && orientation === 'horizontal' && blockEl.offsetLeft > offsetLeft; + }); + + if (!element) { + return; + } // The block may be in an alignment wrapper, so check the first direct + // child if the element has no ID. + + + if (!element.id) { + element = element.firstElementChild; + + if (!element) { + return; + } + } // Don't show the insertion point if a parent block has an "overlay" + // See https://github.com/WordPress/gutenberg/pull/34012#pullrequestreview-727762337 + + + const parentOverlay = (_element$parentElemen = element.parentElement) === null || _element$parentElemen === void 0 ? void 0 : _element$parentElemen.closest('.block-editor-block-content-overlay.overlay-active'); + + if (parentOverlay) { + return; + } + + const clientId = element.id.slice('block-'.length); + + if (!clientId) { + return; + } // Don't show the inserter when hovering above (conflicts with + // block toolbar) or inside selected block(s). + + + if (getSelectedBlockClientIds().includes(clientId)) { + return; + } + + const elementRect = element.getBoundingClientRect(); + + if (orientation === 'horizontal' && (event.clientY > elementRect.bottom || event.clientY < elementRect.top) || orientation === 'vertical' && (event.clientX > elementRect.right || event.clientX < elementRect.left)) { + if (isBlockInsertionPointVisible()) { + hideInsertionPoint(); + } + + return; + } + + const index = getBlockIndex(clientId, rootClientId); // Don't show the in-between inserter before the first block in + // the list (preserves the original behaviour). + + if (index === 0) { + if (isBlockInsertionPointVisible()) { + hideInsertionPoint(); + } + + return; + } + + showInsertionPoint(rootClientId, index, { + __unstableWithInserter: true + }); + } + + node.addEventListener('mousemove', onMouseMove); + return () => { + node.removeEventListener('mousemove', onMouseMove); + }; + }, [openRef, getBlockListSettings, getBlockRootClientId, getBlockIndex, isBlockInsertionPointVisible, isMultiSelecting, showInsertionPoint, hideInsertionPoint, getSelectedBlockClientIds]); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/pre-parse-patterns.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + +const requestIdleCallback = (() => { + if (typeof window === 'undefined') { + return callback => { + setTimeout(() => callback(Date.now()), 0); + }; + } + + return window.requestIdleCallback || window.requestAnimationFrame; +})(); + +const cancelIdleCallback = (() => { + if (typeof window === 'undefined') { + return clearTimeout; + } + + return window.cancelIdleCallback || window.cancelAnimationFrame; +})(); + +function usePreParsePatterns() { + const patterns = Object(external_wp_data_["useSelect"])(_select => _select(store["a" /* store */]).getSettings().__experimentalBlockPatterns, []); + Object(external_wp_element_["useEffect"])(() => { + if (!(patterns !== null && patterns !== void 0 && patterns.length)) { + return; + } + + let handle; + let index = -1; + + const callback = () => { + index++; + + if (index >= patterns.length) { + return; + } + + Object(external_wp_data_["select"])(store["a" /* store */]).__experimentalGetParsedPattern(patterns[index].name); + + handle = requestIdleCallback(callback); + }; + + handle = requestIdleCallback(callback); + return () => cancelIdleCallback(handle); + }, [patterns]); + return null; +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/layout.js +var block_list_layout = __webpack_require__("w8sn"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","deprecated"] +var external_wp_deprecated_ = __webpack_require__("NMb1"); +var external_wp_deprecated_default = /*#__PURE__*/__webpack_require__.n(external_wp_deprecated_); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/block-popover.js + 1 modules +var block_popover = __webpack_require__("xCFn"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/back-compat.js + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +function BlockToolsBackCompat({ + children +}) { + const openRef = Object(external_wp_element_["useContext"])(insertion_point["a" /* InsertionPointOpenRef */]); + const isDisabled = Object(external_wp_element_["useContext"])(external_wp_components_["Disabled"].Context); // If context is set, `BlockTools` is a parent component. + + if (openRef || isDisabled) { + return children; + } + + external_wp_deprecated_default()('wp.components.Popover.Slot name="block-toolbar"', { + alternative: 'wp.blockEditor.BlockTools' + }); + return Object(external_wp_element_["createElement"])(insertion_point["b" /* default */], { + __unstablePopoverSlot: "block-toolbar" + }, Object(external_wp_element_["createElement"])(block_popover["a" /* default */], { + __unstablePopoverSlot: "block-toolbar" + }), children); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-selection-clearer/index.js +var block_selection_clearer = __webpack_require__("zQI6"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/index.js + 7 modules +var inner_blocks = __webpack_require__("p3NJ"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit/context.js +var context = __webpack_require__("ur0x"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/index.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + + + + + + + +const elementContext = Object(external_wp_element_["createContext"])(); +const IntersectionObserver = Object(external_wp_element_["createContext"])(); + +function Root({ + className, + ...settings +}) { + const [element, setElement] = Object(external_wp_element_["useState"])(); + const isLargeViewport = Object(external_wp_compose_["useViewportMatch"])('medium'); + const { + isOutlineMode, + isFocusMode, + isNavigationMode + } = Object(external_wp_data_["useSelect"])(select => { + const { + getSettings, + isNavigationMode: _isNavigationMode + } = select(store["a" /* store */]); + const { + outlineMode, + focusMode + } = getSettings(); + return { + isOutlineMode: outlineMode, + isFocusMode: focusMode, + isNavigationMode: _isNavigationMode() + }; + }, []); + const innerBlocksProps = Object(inner_blocks["b" /* useInnerBlocksProps */])({ + ref: Object(external_wp_compose_["useMergeRefs"])([Object(block_selection_clearer["b" /* useBlockSelectionClearer */])(), useInBetweenInserter(), setElement]), + className: classnames_default()('is-root-container', className, { + 'is-outline-mode': isOutlineMode, + 'is-focus-mode': isFocusMode && isLargeViewport, + 'is-navigate-mode': isNavigationMode + }) + }, settings); + return Object(external_wp_element_["createElement"])(elementContext.Provider, { + value: element + }, Object(external_wp_element_["createElement"])("div", innerBlocksProps)); +} + +function BlockList(settings) { + usePreParsePatterns(); + return Object(external_wp_element_["createElement"])(BlockToolsBackCompat, null, Object(external_wp_element_["createElement"])(context["a" /* BlockEditContextProvider */], { + value: context["b" /* DEFAULT_BLOCK_EDIT_CONTEXT */] + }, Object(external_wp_element_["createElement"])(Root, settings))); +} +BlockList.__unstableElementContext = elementContext; + +function Items({ + placeholder, + rootClientId, + renderAppender, + __experimentalAppenderTagName, + __experimentalLayout: layout = block_list_layout["c" /* defaultLayout */] +}) { + const [intersectingBlocks, setIntersectingBlocks] = Object(external_wp_element_["useState"])(new Set()); + const intersectionObserver = Object(external_wp_element_["useMemo"])(() => { + const { + IntersectionObserver: Observer + } = window; + + if (!Observer) { + return; + } + + return new Observer(entries => { + setIntersectingBlocks(oldIntersectingBlocks => { + const newIntersectingBlocks = new Set(oldIntersectingBlocks); + + for (const entry of entries) { + const clientId = entry.target.getAttribute('data-block'); + const action = entry.isIntersecting ? 'add' : 'delete'; + newIntersectingBlocks[action](clientId); + } + + return newIntersectingBlocks; + }); + }); + }, [setIntersectingBlocks]); + const { + order, + selectedBlocks + } = Object(external_wp_data_["useSelect"])(select => { + const { + getBlockOrder, + getSelectedBlockClientIds + } = select(store["a" /* store */]); + return { + order: getBlockOrder(rootClientId), + selectedBlocks: getSelectedBlockClientIds() + }; + }, [rootClientId]); + return Object(external_wp_element_["createElement"])(block_list_layout["a" /* LayoutProvider */], { + value: layout + }, Object(external_wp_element_["createElement"])(IntersectionObserver.Provider, { + value: intersectionObserver + }, order.map(clientId => Object(external_wp_element_["createElement"])(external_wp_data_["AsyncModeProvider"], { + key: clientId, + value: // Only provide data asynchronously if the block is + // not visible and not selected. + !intersectingBlocks.has(clientId) && !selectedBlocks.includes(clientId) + }, Object(external_wp_element_["createElement"])(block["b" /* default */], { + rootClientId: rootClientId, + clientId: clientId + })))), order.length < 1 && placeholder, Object(external_wp_element_["createElement"])(block_list_appender, { + tagName: __experimentalAppenderTagName, + rootClientId: rootClientId, + renderAppender: renderAppender + })); +} + +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 Object(external_wp_element_["createElement"])(external_wp_data_["AsyncModeProvider"], { + value: false + }, Object(external_wp_element_["createElement"])(Items, props)); } -module.exports = _inheritsLoose; -module.exports["default"] = module.exports, module.exports.__esModule = true; /***/ }), @@ -1669,6 +28219,527 @@ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; module.exports = ReactPropTypesSecret; +/***/ }), + +/***/ "Wg7J": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("gdqT"); +/* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _block_types_list__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("6ZVF"); +/* harmony import */ var _block_patterns_list__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("Fmc1"); +/* harmony import */ var _inserter_menu_extension__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("mlss"); +/* harmony import */ var _panel__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("mdLt"); +/* harmony import */ var _no_results__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("LolH"); +/* harmony import */ var _hooks_use_insertion_point__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("AORF"); +/* harmony import */ var _hooks_use_patterns_state__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__("nQUx"); +/* harmony import */ var _hooks_use_block_types_state__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__("+G0a"); +/* harmony import */ var _search_items__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__("pOGT"); +/* harmony import */ var _inserter_listbox__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__("wiT/"); + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + + + + + + + + +const INITIAL_INSERTER_RESULTS = 9; +/** + * Shared reference to an empty array for cases where it is important to avoid + * returning a new array reference on every invocation and rerendering the component. + * + * @type {Array} + */ + +const EMPTY_ARRAY = []; + +function InserterSearchResults({ + filterValue, + onSelect, + onHover, + rootClientId, + clientId, + isAppender, + __experimentalInsertionIndex, + maxBlockPatterns, + maxBlockTypes, + showBlockDirectory = false, + isDraggable = true, + shouldFocusBlock = true +}) { + const debouncedSpeak = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__["useDebounce"])(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_5__["speak"], 500); + const [destinationRootClientId, onInsertBlocks] = Object(_hooks_use_insertion_point__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"])({ + onSelect, + rootClientId, + clientId, + isAppender, + insertionIndex: __experimentalInsertionIndex, + shouldFocusBlock + }); + const [blockTypes, blockTypeCategories, blockTypeCollections, onSelectBlockType] = Object(_hooks_use_block_types_state__WEBPACK_IMPORTED_MODULE_13__[/* default */ "a"])(destinationRootClientId, onInsertBlocks); + const [patterns,, onSelectBlockPattern] = Object(_hooks_use_patterns_state__WEBPACK_IMPORTED_MODULE_12__[/* default */ "a"])(onInsertBlocks, destinationRootClientId); + const filteredBlockTypes = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(() => { + const results = Object(_search_items__WEBPACK_IMPORTED_MODULE_14__[/* searchBlockItems */ "a"])(Object(lodash__WEBPACK_IMPORTED_MODULE_1__["orderBy"])(blockTypes, ['frecency'], ['desc']), blockTypeCategories, blockTypeCollections, filterValue); + return maxBlockTypes !== undefined ? results.slice(0, maxBlockTypes) : results; + }, [filterValue, blockTypes, blockTypeCategories, blockTypeCollections, maxBlockTypes]); + const filteredBlockPatterns = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(() => { + const results = Object(_search_items__WEBPACK_IMPORTED_MODULE_14__[/* searchItems */ "b"])(patterns, filterValue); + return maxBlockPatterns !== undefined ? results.slice(0, maxBlockPatterns) : results; + }, [filterValue, patterns, maxBlockPatterns]); // Announce search results on change + + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => { + if (!filterValue) { + return; + } + + const count = filteredBlockTypes.length + filteredBlockPatterns.length; + const resultsFoundMessage = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["sprintf"])( + /* translators: %d: number of results. */ + Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["_n"])('%d result found.', '%d results found.', count), count); + debouncedSpeak(resultsFoundMessage); + }, [filterValue, debouncedSpeak]); + const currentShownBlockTypes = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__["useAsyncList"])(filteredBlockTypes, { + step: INITIAL_INSERTER_RESULTS + }); + const currentShownPatterns = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__["useAsyncList"])(currentShownBlockTypes.length === filteredBlockTypes.length ? filteredBlockPatterns : EMPTY_ARRAY); + const hasItems = !Object(lodash__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(filteredBlockTypes) || !Object(lodash__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(filteredBlockPatterns); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_inserter_listbox__WEBPACK_IMPORTED_MODULE_15__[/* default */ "a"], null, !showBlockDirectory && !hasItems && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_no_results__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"], null), !!filteredBlockTypes.length && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_panel__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"], { + title: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["VisuallyHidden"], null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Blocks')) + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_block_types_list__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], { + items: currentShownBlockTypes, + onSelect: onSelectBlockType, + onHover: onHover, + label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Blocks'), + isDraggable: isDraggable + })), !!filteredBlockTypes.length && !!filteredBlockPatterns.length && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", { + className: "block-editor-inserter__quick-inserter-separator" + }), !!filteredBlockPatterns.length && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_panel__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"], { + title: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["VisuallyHidden"], null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Block Patterns')) + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", { + className: "block-editor-inserter__quick-inserter-patterns" + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_block_patterns_list__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"], { + shownPatterns: currentShownPatterns, + blockPatterns: filteredBlockPatterns, + onClickPattern: onSelectBlockPattern, + isDraggable: isDraggable + }))), showBlockDirectory && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_inserter_menu_extension__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"].Slot, { + fillProps: { + onSelect: onSelectBlockType, + onHover, + filterValue, + hasItems, + rootClientId: destinationRootClientId + } + }, fills => { + if (fills.length) { + return fills; + } + + if (!hasItems) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_no_results__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"], null); + } + + return null; + })); +} + +/* harmony default export */ __webpack_exports__["a"] = (InserterSearchResults); + + +/***/ }), + +/***/ "Wy3j": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ BorderRadiusControl; }); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// 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 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 in the radius values. + * Falls back to `px` as a default unit. + * + * @param {Object|string} values Radius values. + * @return {string} Most common CSS unit in values. Default: `px`. + */ + +function getAllUnit(values = {}) { + if (typeof values === 'string') { + const [, unit] = Object(external_wp_components_["__experimentalParseUnit"])(values); + return unit || 'px'; + } + + const allUnits = Object.values(values).map(value => { + const [, unit] = Object(external_wp_components_["__experimentalParseUnit"])(value); + return unit; + }); + return mode(allUnits) || '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 parsedValues = Object.values(values).map(value => Object(external_wp_components_["__experimentalParseUnit"])(value)); + const allValues = parsedValues.map(value => value[0]); + const allUnits = parsedValues.map(value => value[1]); + const value = allValues.every(v => v === allValues[0]) ? allValues[0] : ''; + const unit = mode(allUnits); + const allValue = value === 0 || value ? `${value}${unit}` : null; + 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 = 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, + values, + ...props +}) { + const allValue = getAllValue(values); + const hasValues = hasDefinedValues(values); + const isMixed = hasValues && hasMixedValues(values); + const allPlaceholder = isMixed ? Object(external_wp_i18n_["__"])('Mixed') : null; + return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalUnitControl"], Object(esm_extends["a" /* default */])({}, props, { + "aria-label": Object(external_wp_i18n_["__"])('Border radius'), + disableUnits: isMixed, + isOnly: true, + value: allValue, + onChange: onChange, + placeholder: allPlaceholder + })); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-radius-control/input-controls.js + + + +/** + * WordPress dependencies + */ + + +const CORNERS = { + topLeft: Object(external_wp_i18n_["__"])('Top left'), + topRight: Object(external_wp_i18n_["__"])('Top right'), + bottomLeft: Object(external_wp_i18n_["__"])('Bottom left'), + bottomRight: Object(external_wp_i18n_["__"])('Bottom right') +}; +function BoxInputControls({ + onChange, + values: valuesProp, + ...props +}) { + const createHandleOnChange = corner => next => { + if (!onChange) { + return; + } + + onChange({ ...values, + [corner]: next ? next : undefined + }); + }; // 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. + + return Object(external_wp_element_["createElement"])("div", { + className: "components-border-radius-control__input-controls-wrapper" + }, Object.entries(CORNERS).map(([key, label]) => Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalUnitControl"], Object(esm_extends["a" /* default */])({}, props, { + key: key, + "aria-label": label, + value: values[key], + onChange: createHandleOnChange(key) + })))); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/link.js +var library_link = __webpack_require__("Bpkj"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/link-off.js +var link_off = __webpack_require__("Mp0b"); + +// 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 ? Object(external_wp_i18n_["__"])('Unlink Radii') : Object(external_wp_i18n_["__"])('Link Radii'); + return Object(external_wp_element_["createElement"])(external_wp_components_["Tooltip"], { + text: label + }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({}, props, { + className: "component-border-radius-control__linked-button", + isPrimary: isLinked, + isSecondary: !isLinked, + isSmall: true, + icon: isLinked ? library_link["a" /* default */] : link_off["a" /* default */], + iconSize: 16, + "aria-label": label + }))); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-setting/index.js +var use_setting = __webpack_require__("v5LD"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-radius-control/index.js + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + + + +const DEFAULT_VALUES = { + topLeft: null, + topRight: null, + bottomLeft: null, + bottomRight: null +}; +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] = Object(external_wp_element_["useState"])(!hasDefinedValues(values) || !hasMixedValues(values)); + const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ + availableUnits: Object(use_setting["a" /* default */])('spacing.units') || ['px', 'em', 'rem'] + }); + const unit = getAllUnit(values); + const unitConfig = units && units.find(item => item.value === unit); + const step = (unitConfig === null || unitConfig === void 0 ? void 0 : unitConfig.step) || 1; + const [allValue] = Object(external_wp_components_["__experimentalParseUnit"])(getAllValue(values)); + + const toggleLinked = () => setIsLinked(!isLinked); + + const handleSliderChange = next => { + onChange(next !== undefined ? `${next}${unit}` : undefined); + }; + + return Object(external_wp_element_["createElement"])("fieldset", { + className: "components-border-radius-control" + }, Object(external_wp_element_["createElement"])("legend", null, Object(external_wp_i18n_["__"])('Radius')), Object(external_wp_element_["createElement"])("div", { + className: "components-border-radius-control__wrapper" + }, isLinked ? Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(AllInputControl, { + className: "components-border-radius-control__unit-control", + values: values, + min: MIN_BORDER_RADIUS_VALUE, + onChange: onChange, + unit: unit, + units: units + }), Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { + className: "components-border-radius-control__range-control", + value: allValue, + min: MIN_BORDER_RADIUS_VALUE, + max: MAX_BORDER_RADIUS_VALUES[unit], + initialPosition: 0, + withInputField: false, + onChange: handleSliderChange, + step: step + })) : Object(external_wp_element_["createElement"])(BoxInputControls, { + min: MIN_BORDER_RADIUS_VALUE, + onChange: onChange, + values: values || DEFAULT_VALUES, + units: units + }), Object(external_wp_element_["createElement"])(LinkedButton, { + onClick: toggleLinked, + isLinked: isLinked + }))); +} + + +/***/ }), + +/***/ "XNw2": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const stretchFullWidth = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { + d: "M5 4v11h14V4H5zm3 15.8h8v-1.5H8v1.5z" +})); +/* harmony default export */ __webpack_exports__["a"] = (stretchFullWidth); + + /***/ }), /***/ "XgzB": @@ -1694,6 +28765,190 @@ const chevronUp = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["create /* harmony default export */ __webpack_exports__["a"] = (chevronUp); +/***/ }), + +/***/ "Xkls": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _react_spring_web__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("+DUQ"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("1CF3"); +/* harmony import */ var _wordpress_dom__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_dom__WEBPACK_IMPORTED_MODULE_3__); +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + +/** + * Simple reducer used to increment a counter. + * + * @param {number} state Previous counter value. + * @return {number} New state value. + */ + +const counterReducer = state => state + 1; + +const getAbsolutePosition = element => { + return { + top: element.offsetTop, + left: element.offsetLeft + }; +}; +/** + * Hook used to compute the styles required to move a div into a new position. + * + * The way this animation works is the following: + * - It first renders the element as if there was no animation. + * - It takes a snapshot of the position of the block to use it + * as a destination point for the animation. + * - It restores the element to the previous position using a CSS transform + * - 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. + */ + + +function useMovingAnimation({ + isSelected, + adjustScrolling, + enableAnimation, + triggerAnimationOnChange +}) { + const ref = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useRef"])(); + const prefersReducedMotion = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_2__["useReducedMotion"])() || !enableAnimation; + const [triggeredAnimation, triggerAnimation] = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useReducer"])(counterReducer, 0); + const [finishedAnimation, endAnimation] = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useReducer"])(counterReducer, 0); + const [transform, setTransform] = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useState"])({ + x: 0, + y: 0 + }); + const previous = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(() => ref.current ? getAbsolutePosition(ref.current) : null, [triggerAnimationOnChange]); // Calculate the previous position of the block relative to the viewport and + // return a function to maintain that position by scrolling. + + const preserveScrollPosition = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(() => { + if (!adjustScrolling || !ref.current) { + return () => {}; + } + + const scrollContainer = Object(_wordpress_dom__WEBPACK_IMPORTED_MODULE_3__["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]); + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useLayoutEffect"])(() => { + if (triggeredAnimation) { + endAnimation(); + } + }, [triggeredAnimation]); + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useLayoutEffect"])(() => { + if (!previous) { + return; + } + + if (prefersReducedMotion) { + // if the animation is disabled and the scroll needs to be adjusted, + // just move directly to the final scroll position. + preserveScrollPosition(); + return; + } + + ref.current.style.transform = ''; + const destination = getAbsolutePosition(ref.current); + triggerAnimation(); + setTransform({ + x: Math.round(previous.left - destination.left), + y: Math.round(previous.top - destination.top) + }); + }, [triggerAnimationOnChange]); // Only called when either the x or y value changes. + + function onFrameChange({ + x, + y + }) { + if (!ref.current) { + return; + } + + const isMoving = x === 0 && y === 0; + ref.current.style.transformOrigin = isMoving ? '' : 'center'; + ref.current.style.transform = isMoving ? '' : `translate3d(${x}px,${y}px,0)`; + ref.current.style.zIndex = !isSelected || isMoving ? '' : '1'; + preserveScrollPosition(); + } // Called for every frame computed by useSpring. + + + function onChange({ + value + }) { + let { + x, + y + } = value; + x = Math.round(x); + y = Math.round(y); + + if (x !== onChange.x || y !== onChange.y) { + onFrameChange({ + x, + y + }); + onChange.x = x; + onChange.y = y; + } + } + + onChange.x = 0; + onChange.y = 0; + Object(_react_spring_web__WEBPACK_IMPORTED_MODULE_0__["useSpring"])({ + from: { + x: transform.x, + y: transform.y + }, + to: { + x: 0, + y: 0 + }, + reset: triggeredAnimation !== finishedAnimation, + config: { + mass: 5, + tension: 2000, + friction: 200 + }, + immediate: prefersReducedMotion, + onChange + }); + return ref; +} + +/* harmony default export */ __webpack_exports__["a"] = (useMovingAnimation); + + /***/ }), /***/ "YLtl": @@ -1703,3535 +28958,415 @@ const chevronUp = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["create /***/ }), -/***/ "ZO3Q": -/***/ (function(module, exports, __webpack_require__) { +/***/ "YZt4": +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useBlockDefaultClassName; }); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("HSyU"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("BhPs"); +/** + * WordPress dependencies + */ -Object.defineProperty(exports, '__esModule', { value: true }); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var _extends = _interopDefault(__webpack_require__("pVnL")); -var _objectWithoutPropertiesLoose = _interopDefault(__webpack_require__("8OQS")); -var React = __webpack_require__("cDcd"); -var React__default = _interopDefault(React); -var _inheritsLoose = _interopDefault(__webpack_require__("VbXa")); -var _assertThisInitialized = _interopDefault(__webpack_require__("PJYZ")); - -var is = { - arr: Array.isArray, - obj: function obj(a) { - return Object.prototype.toString.call(a) === '[object Object]'; - }, - fun: function fun(a) { - return typeof a === 'function'; - }, - str: function str(a) { - return typeof a === 'string'; - }, - num: function num(a) { - return typeof a === 'number'; - }, - und: function und(a) { - return a === void 0; - }, - nul: function nul(a) { - return a === null; - }, - set: function set(a) { - return a instanceof Set; - }, - map: function map(a) { - return a instanceof Map; - }, - equ: function equ(a, b) { - if (typeof a !== typeof b) return false; - if (is.str(a) || is.num(a)) return a === b; - if (is.obj(a) && is.obj(b) && Object.keys(a).length + Object.keys(b).length === 0) return true; - var i; - - for (i in a) { - if (!(i in b)) return false; - } - - for (i in b) { - if (a[i] !== b[i]) return false; - } - - return is.und(i) ? a === b : true; - } -}; -function merge(target, lowercase) { - if (lowercase === void 0) { - lowercase = true; - } - - return function (object) { - return (is.arr(object) ? object : Object.keys(object)).reduce(function (acc, element) { - var key = lowercase ? element[0].toLowerCase() + element.substring(1) : element; - acc[key] = target(key); - return acc; - }, target); - }; -} -function useForceUpdate() { - var _useState = React.useState(false), - f = _useState[1]; - - var forceUpdate = React.useCallback(function () { - return f(function (v) { - return !v; - }); - }, []); - return forceUpdate; -} -function withDefault(value, defaultValue) { - return is.und(value) || is.nul(value) ? defaultValue : value; -} -function toArray(a) { - return !is.und(a) ? is.arr(a) ? a : [a] : []; -} -function callProp(obj) { - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - return is.fun(obj) ? obj.apply(void 0, args) : obj; -} - -function getForwardProps(props) { - var to = props.to, - from = props.from, - config = props.config, - onStart = props.onStart, - onRest = props.onRest, - onFrame = props.onFrame, - children = props.children, - reset = props.reset, - reverse = props.reverse, - force = props.force, - immediate = props.immediate, - delay = props.delay, - attach = props.attach, - destroyed = props.destroyed, - interpolateTo = props.interpolateTo, - ref = props.ref, - lazy = props.lazy, - forward = _objectWithoutPropertiesLoose(props, ["to", "from", "config", "onStart", "onRest", "onFrame", "children", "reset", "reverse", "force", "immediate", "delay", "attach", "destroyed", "interpolateTo", "ref", "lazy"]); - - return forward; -} - -function interpolateTo(props) { - var forward = getForwardProps(props); - if (is.und(forward)) return _extends({ - to: forward - }, props); - var rest = Object.keys(props).reduce(function (a, k) { - var _extends2; - - return !is.und(forward[k]) ? a : _extends({}, a, (_extends2 = {}, _extends2[k] = props[k], _extends2)); - }, {}); - return _extends({ - to: forward - }, rest); -} -function handleRef(ref, forward) { - if (forward) { - // If it's a function, assume it's a ref callback - if (is.fun(forward)) forward(ref);else if (is.obj(forward)) { - forward.current = ref; - } - } - - return ref; -} - -var Animated = -/*#__PURE__*/ -function () { - function Animated() { - this.payload = void 0; - this.children = []; - } - - var _proto = Animated.prototype; - - _proto.getAnimatedValue = function getAnimatedValue() { - return this.getValue(); - }; - - _proto.getPayload = function getPayload() { - return this.payload || this; - }; - - _proto.attach = function attach() {}; - - _proto.detach = function detach() {}; - - _proto.getChildren = function getChildren() { - return this.children; - }; - - _proto.addChild = function addChild(child) { - if (this.children.length === 0) this.attach(); - this.children.push(child); - }; - - _proto.removeChild = function removeChild(child) { - var index = this.children.indexOf(child); - this.children.splice(index, 1); - if (this.children.length === 0) this.detach(); - }; - - return Animated; -}(); -var AnimatedArray = -/*#__PURE__*/ -function (_Animated) { - _inheritsLoose(AnimatedArray, _Animated); - - function AnimatedArray() { - var _this; - - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - _this = _Animated.call.apply(_Animated, [this].concat(args)) || this; - _this.payload = []; - - _this.attach = function () { - return _this.payload.forEach(function (p) { - return p instanceof Animated && p.addChild(_assertThisInitialized(_this)); - }); - }; - - _this.detach = function () { - return _this.payload.forEach(function (p) { - return p instanceof Animated && p.removeChild(_assertThisInitialized(_this)); - }); - }; - - return _this; - } - - return AnimatedArray; -}(Animated); -var AnimatedObject = -/*#__PURE__*/ -function (_Animated2) { - _inheritsLoose(AnimatedObject, _Animated2); - - function AnimatedObject() { - var _this2; - - for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { - args[_key3] = arguments[_key3]; - } - - _this2 = _Animated2.call.apply(_Animated2, [this].concat(args)) || this; - _this2.payload = {}; - - _this2.attach = function () { - return Object.values(_this2.payload).forEach(function (s) { - return s instanceof Animated && s.addChild(_assertThisInitialized(_this2)); - }); - }; - - _this2.detach = function () { - return Object.values(_this2.payload).forEach(function (s) { - return s instanceof Animated && s.removeChild(_assertThisInitialized(_this2)); - }); - }; - - return _this2; - } - - var _proto2 = AnimatedObject.prototype; - - _proto2.getValue = function getValue(animated) { - if (animated === void 0) { - animated = false; - } - - var payload = {}; - - for (var _key4 in this.payload) { - var value = this.payload[_key4]; - if (animated && !(value instanceof Animated)) continue; - payload[_key4] = value instanceof Animated ? value[animated ? 'getAnimatedValue' : 'getValue']() : value; - } - - return payload; - }; - - _proto2.getAnimatedValue = function getAnimatedValue() { - return this.getValue(true); - }; - - return AnimatedObject; -}(Animated); - -var applyAnimatedValues; -function injectApplyAnimatedValues(fn, transform) { - applyAnimatedValues = { - fn: fn, - transform: transform - }; -} -var colorNames; -function injectColorNames(names) { - colorNames = names; -} -var requestFrame = function requestFrame(cb) { - return typeof window !== 'undefined' ? window.requestAnimationFrame(cb) : -1; -}; -var cancelFrame = function cancelFrame(id) { - typeof window !== 'undefined' && window.cancelAnimationFrame(id); -}; -function injectFrame(raf, caf) { - requestFrame = raf; - cancelFrame = caf; -} -var interpolation; -function injectStringInterpolator(fn) { - interpolation = fn; -} -var now = function now() { - return Date.now(); -}; -function injectNow(nowFn) { - now = nowFn; -} -var defaultElement; -function injectDefaultElement(el) { - defaultElement = el; -} -var animatedApi = function animatedApi(node) { - return node.current; -}; -function injectAnimatedApi(fn) { - animatedApi = fn; -} -var createAnimatedStyle; -function injectCreateAnimatedStyle(factory) { - createAnimatedStyle = factory; -} -var manualFrameloop; -function injectManualFrameloop(callback) { - manualFrameloop = callback; -} - -var Globals = /*#__PURE__*/Object.freeze({ - get applyAnimatedValues () { return applyAnimatedValues; }, - injectApplyAnimatedValues: injectApplyAnimatedValues, - get colorNames () { return colorNames; }, - injectColorNames: injectColorNames, - get requestFrame () { return requestFrame; }, - get cancelFrame () { return cancelFrame; }, - injectFrame: injectFrame, - get interpolation () { return interpolation; }, - injectStringInterpolator: injectStringInterpolator, - get now () { return now; }, - injectNow: injectNow, - get defaultElement () { return defaultElement; }, - injectDefaultElement: injectDefaultElement, - get animatedApi () { return animatedApi; }, - injectAnimatedApi: injectAnimatedApi, - get createAnimatedStyle () { return createAnimatedStyle; }, - injectCreateAnimatedStyle: injectCreateAnimatedStyle, - get manualFrameloop () { return manualFrameloop; }, - injectManualFrameloop: injectManualFrameloop -}); - /** - * Wraps the `style` property with `AnimatedStyle`. + * Internal dependencies */ -var AnimatedProps = -/*#__PURE__*/ -function (_AnimatedObject) { - _inheritsLoose(AnimatedProps, _AnimatedObject); - - function AnimatedProps(props, callback) { - var _this; - - _this = _AnimatedObject.call(this) || this; - _this.update = void 0; - _this.payload = !props.style ? props : _extends({}, props, { - style: createAnimatedStyle(props.style) - }); - _this.update = callback; - - _this.attach(); - - return _this; - } - - return AnimatedProps; -}(AnimatedObject); - -var isFunctionComponent = function isFunctionComponent(val) { - return is.fun(val) && !(val.prototype instanceof React__default.Component); -}; - -var createAnimatedComponent = function createAnimatedComponent(Component) { - var AnimatedComponent = React.forwardRef(function (props, ref) { - var forceUpdate = useForceUpdate(); - var mounted = React.useRef(true); - var propsAnimated = React.useRef(null); - var node = React.useRef(null); - var attachProps = React.useCallback(function (props) { - var oldPropsAnimated = propsAnimated.current; - - var callback = function callback() { - var didUpdate = false; - - if (node.current) { - didUpdate = applyAnimatedValues.fn(node.current, propsAnimated.current.getAnimatedValue()); - } - - if (!node.current || didUpdate === false) { - // If no referenced node has been found, or the update target didn't have a - // native-responder, then forceUpdate the animation ... - forceUpdate(); - } - }; - - propsAnimated.current = new AnimatedProps(props, callback); - oldPropsAnimated && oldPropsAnimated.detach(); - }, []); - React.useEffect(function () { - return function () { - mounted.current = false; - propsAnimated.current && propsAnimated.current.detach(); - }; - }, []); - React.useImperativeHandle(ref, function () { - return animatedApi(node, mounted, forceUpdate); - }); - attachProps(props); - - var _getValue = propsAnimated.current.getValue(), - scrollTop = _getValue.scrollTop, - scrollLeft = _getValue.scrollLeft, - animatedProps = _objectWithoutPropertiesLoose(_getValue, ["scrollTop", "scrollLeft"]); // Functions cannot have refs, see: - // See: https://github.com/react-spring/react-spring/issues/569 - - - var refFn = isFunctionComponent(Component) ? undefined : function (childRef) { - return node.current = handleRef(childRef, ref); - }; - return React__default.createElement(Component, _extends({}, animatedProps, { - ref: refFn - })); - }); - return AnimatedComponent; -}; - -var active = false; -var controllers = new Set(); - -var update = function update() { - if (!active) return false; - var time = now(); - - for (var _iterator = controllers, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - var controller = _ref; - var isActive = false; - - for (var configIdx = 0; configIdx < controller.configs.length; configIdx++) { - var config = controller.configs[configIdx]; - var endOfAnimation = void 0, - lastTime = void 0; - - for (var valIdx = 0; valIdx < config.animatedValues.length; valIdx++) { - var animation = config.animatedValues[valIdx]; // If an animation is done, skip, until all of them conclude - - if (animation.done) continue; - var from = config.fromValues[valIdx]; - var to = config.toValues[valIdx]; - var position = animation.lastPosition; - var isAnimated = to instanceof Animated; - var velocity = Array.isArray(config.initialVelocity) ? config.initialVelocity[valIdx] : config.initialVelocity; - if (isAnimated) to = to.getValue(); // Conclude animation if it's either immediate, or from-values match end-state - - if (config.immediate) { - animation.setValue(to); - animation.done = true; - continue; - } // Break animation when string values are involved - - - if (typeof from === 'string' || typeof to === 'string') { - animation.setValue(to); - animation.done = true; - continue; - } - - if (config.duration !== void 0) { - /** Duration easing */ - position = from + config.easing((time - animation.startTime) / config.duration) * (to - from); - endOfAnimation = time >= animation.startTime + config.duration; - } else if (config.decay) { - /** Decay easing */ - position = from + velocity / (1 - 0.998) * (1 - Math.exp(-(1 - 0.998) * (time - animation.startTime))); - endOfAnimation = Math.abs(animation.lastPosition - position) < 0.1; - if (endOfAnimation) to = position; - } else { - /** Spring easing */ - lastTime = animation.lastTime !== void 0 ? animation.lastTime : time; - velocity = animation.lastVelocity !== void 0 ? animation.lastVelocity : config.initialVelocity; // If we lost a lot of frames just jump to the end. - - if (time > lastTime + 64) lastTime = time; // http://gafferongames.com/game-physics/fix-your-timestep/ - - var numSteps = Math.floor(time - lastTime); - - for (var i = 0; i < numSteps; ++i) { - var force = -config.tension * (position - to); - var damping = -config.friction * velocity; - var acceleration = (force + damping) / config.mass; - velocity = velocity + acceleration * 1 / 1000; - position = position + velocity * 1 / 1000; - } // Conditions for stopping the spring animation - - - var isOvershooting = config.clamp && config.tension !== 0 ? from < to ? position > to : position < to : false; - var isVelocity = Math.abs(velocity) <= config.precision; - var isDisplacement = config.tension !== 0 ? Math.abs(to - position) <= config.precision : true; - endOfAnimation = isOvershooting || isVelocity && isDisplacement; - animation.lastVelocity = velocity; - animation.lastTime = time; - } // Trails aren't done until their parents conclude - - - if (isAnimated && !config.toValues[valIdx].done) endOfAnimation = false; - - if (endOfAnimation) { - // Ensure that we end up with a round value - if (animation.value !== to) position = to; - animation.done = true; - } else isActive = true; - - animation.setValue(position); - animation.lastPosition = position; - } // Keep track of updated values only when necessary - - - if (controller.props.onFrame) controller.values[config.name] = config.interpolation.getValue(); - } // Update callbacks in the end of the frame - - - if (controller.props.onFrame) controller.props.onFrame(controller.values); // Either call onEnd or next frame - - if (!isActive) { - controllers.delete(controller); - controller.stop(true); - } - } // Loop over as long as there are controllers ... - - - if (controllers.size) { - if (manualFrameloop) manualFrameloop();else requestFrame(update); - } else { - active = false; - } - - return active; -}; - -var start = function start(controller) { - if (!controllers.has(controller)) controllers.add(controller); - - if (!active) { - active = true; - if (manualFrameloop) requestFrame(manualFrameloop);else requestFrame(update); - } -}; - -var stop = function stop(controller) { - if (controllers.has(controller)) controllers.delete(controller); -}; - -function createInterpolator(range, output, extrapolate) { - if (typeof range === 'function') { - return range; - } - - if (Array.isArray(range)) { - return createInterpolator({ - range: range, - output: output, - extrapolate: extrapolate - }); - } - - if (interpolation && typeof range.output[0] === 'string') { - return interpolation(range); - } - - var config = range; - var outputRange = config.output; - var inputRange = config.range || [0, 1]; - var extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend'; - var extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend'; - - var easing = config.easing || function (t) { - return t; - }; - - return function (input) { - var range = findRange(input, inputRange); - return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map); - }; -} - -function interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) { - var result = map ? map(input) : input; // Extrapolate - - if (result < inputMin) { - if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin; - } - - if (result > inputMax) { - if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax; - } - - if (outputMin === outputMax) return outputMin; - if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax; // Input Range - - if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin); // Easing - - result = easing(result); // Output Range - - if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin; - return result; -} - -function findRange(input, inputRange) { - for (var i = 1; i < inputRange.length - 1; ++i) { - if (inputRange[i] >= input) break; - } - - return i - 1; -} - -var AnimatedInterpolation = -/*#__PURE__*/ -function (_AnimatedArray) { - _inheritsLoose(AnimatedInterpolation, _AnimatedArray); - - function AnimatedInterpolation(parents, range, output, extrapolate) { - var _this; - - _this = _AnimatedArray.call(this) || this; - _this.calc = void 0; - _this.payload = parents instanceof AnimatedArray && !(parents instanceof AnimatedInterpolation) ? parents.getPayload() : Array.isArray(parents) ? parents : [parents]; - _this.calc = createInterpolator(range, output, extrapolate); - return _this; - } - - var _proto = AnimatedInterpolation.prototype; - - _proto.getValue = function getValue() { - return this.calc.apply(this, this.payload.map(function (value) { - return value.getValue(); - })); - }; - - _proto.updateConfig = function updateConfig(range, output, extrapolate) { - this.calc = createInterpolator(range, output, extrapolate); - }; - - _proto.interpolate = function interpolate(range, output, extrapolate) { - return new AnimatedInterpolation(this, range, output, extrapolate); - }; - - return AnimatedInterpolation; -}(AnimatedArray); - -var interpolate$1 = function interpolate(parents, range, output) { - return parents && new AnimatedInterpolation(parents, range, output); -}; - -var config = { - default: { - tension: 170, - friction: 26 - }, - gentle: { - tension: 120, - friction: 14 - }, - wobbly: { - tension: 180, - friction: 12 - }, - stiff: { - tension: 210, - friction: 20 - }, - slow: { - tension: 280, - friction: 60 - }, - molasses: { - tension: 280, - friction: 120 - } -}; - -/** API - * useChain(references, timeSteps, timeFrame) - */ - -function useChain(refs, timeSteps, timeFrame) { - if (timeFrame === void 0) { - timeFrame = 1000; - } - - var previous = React.useRef(); - React.useEffect(function () { - if (is.equ(refs, previous.current)) refs.forEach(function (_ref) { - var current = _ref.current; - return current && current.start(); - });else if (timeSteps) { - refs.forEach(function (_ref2, index) { - var current = _ref2.current; - - if (current) { - var ctrls = current.controllers; - - if (ctrls.length) { - var t = timeFrame * timeSteps[index]; - ctrls.forEach(function (ctrl) { - ctrl.queue = ctrl.queue.map(function (e) { - return _extends({}, e, { - delay: e.delay + t - }); - }); - ctrl.start(); - }); - } - } - }); - } else refs.reduce(function (q, _ref3, rI) { - var current = _ref3.current; - return q = q.then(function () { - return current.start(); - }); - }, Promise.resolve()); - previous.current = refs; - }); -} /** - * Animated works by building a directed acyclic graph of dependencies - * transparently when you render your Animated components. + * Returns the default class name if the block is a light block and it supports + * `className`. * - * new Animated.Value(0) - * .interpolate() .interpolate() new Animated.Value(1) - * opacity translateY scale - * style transform - * View#234 style - * View#123 + * @param {string} clientId The block client ID. * - * A) Top Down phase - * When an AnimatedValue is updated, we recursively go down through this - * graph in order to find leaf nodes: the views that we flag as needing - * an update. - * - * B) Bottom Up phase - * When a view is flagged as needing an update, we recursively go back up - * in order to build the new value that it needs. The reason why we need - * this two-phases process is to deal with composite props such as - * transform which can receive values from multiple parents. - */ -function addAnimatedStyles(node, styles) { - if ('update' in node) { - styles.add(node); - } else { - node.getChildren().forEach(function (child) { - return addAnimatedStyles(child, styles); - }); - } -} - -var AnimatedValue = -/*#__PURE__*/ -function (_Animated) { - _inheritsLoose(AnimatedValue, _Animated); - - function AnimatedValue(_value) { - var _this; - - _this = _Animated.call(this) || this; - _this.animatedStyles = new Set(); - _this.value = void 0; - _this.startPosition = void 0; - _this.lastPosition = void 0; - _this.lastVelocity = void 0; - _this.startTime = void 0; - _this.lastTime = void 0; - _this.done = false; - - _this.setValue = function (value, flush) { - if (flush === void 0) { - flush = true; - } - - _this.value = value; - if (flush) _this.flush(); - }; - - _this.value = _value; - _this.startPosition = _value; - _this.lastPosition = _value; - return _this; - } - - var _proto = AnimatedValue.prototype; - - _proto.flush = function flush() { - if (this.animatedStyles.size === 0) { - addAnimatedStyles(this, this.animatedStyles); - } - - this.animatedStyles.forEach(function (animatedStyle) { - return animatedStyle.update(); - }); - }; - - _proto.clearStyles = function clearStyles() { - this.animatedStyles.clear(); - }; - - _proto.getValue = function getValue() { - return this.value; - }; - - _proto.interpolate = function interpolate(range, output, extrapolate) { - return new AnimatedInterpolation(this, range, output, extrapolate); - }; - - return AnimatedValue; -}(Animated); - -var AnimatedValueArray = -/*#__PURE__*/ -function (_AnimatedArray) { - _inheritsLoose(AnimatedValueArray, _AnimatedArray); - - function AnimatedValueArray(values) { - var _this; - - _this = _AnimatedArray.call(this) || this; - _this.payload = values.map(function (n) { - return new AnimatedValue(n); - }); - return _this; - } - - var _proto = AnimatedValueArray.prototype; - - _proto.setValue = function setValue(value, flush) { - var _this2 = this; - - if (flush === void 0) { - flush = true; - } - - if (Array.isArray(value)) { - if (value.length === this.payload.length) { - value.forEach(function (v, i) { - return _this2.payload[i].setValue(v, flush); - }); - } - } else { - this.payload.forEach(function (p) { - return p.setValue(value, flush); - }); - } - }; - - _proto.getValue = function getValue() { - return this.payload.map(function (v) { - return v.getValue(); - }); - }; - - _proto.interpolate = function interpolate(range, output) { - return new AnimatedInterpolation(this, range, output); - }; - - return AnimatedValueArray; -}(AnimatedArray); - -var G = 0; - -var Controller = -/*#__PURE__*/ -function () { - function Controller() { - var _this = this; - - this.id = void 0; - this.idle = true; - this.hasChanged = false; - this.guid = 0; - this.local = 0; - this.props = {}; - this.merged = {}; - this.animations = {}; - this.interpolations = {}; - this.values = {}; - this.configs = []; - this.listeners = []; - this.queue = []; - this.localQueue = void 0; - - this.getValues = function () { - return _this.interpolations; - }; - - this.id = G++; - } - /** update(props) - * This function filters input props and creates an array of tasks which are executed in .start() - * Each task is allowed to carry a delay, which means it can execute asnychroneously */ - - - var _proto = Controller.prototype; - - _proto.update = function update$$1(args) { - //this._id = n + this.id - if (!args) return this; // Extract delay and the to-prop from props - - var _ref = interpolateTo(args), - _ref$delay = _ref.delay, - delay = _ref$delay === void 0 ? 0 : _ref$delay, - to = _ref.to, - props = _objectWithoutPropertiesLoose(_ref, ["delay", "to"]); - - if (is.arr(to) || is.fun(to)) { - // If config is either a function or an array queue it up as is - this.queue.push(_extends({}, props, { - delay: delay, - to: to - })); - } else if (to) { - // Otherwise go through each key since it could be delayed individually - var ops = {}; - Object.entries(to).forEach(function (_ref2) { - var _to; - - var k = _ref2[0], - v = _ref2[1]; - - // Fetch delay and create an entry, consisting of the to-props, the delay, and basic props - var entry = _extends({ - to: (_to = {}, _to[k] = v, _to), - delay: callProp(delay, k) - }, props); - - var previous = ops[entry.delay] && ops[entry.delay].to; - ops[entry.delay] = _extends({}, ops[entry.delay], entry, { - to: _extends({}, previous, entry.to) - }); - }); - this.queue = Object.values(ops); - } // Sort queue, so that async calls go last - - - this.queue = this.queue.sort(function (a, b) { - return a.delay - b.delay; - }); // Diff the reduced props immediately (they'll contain the from-prop and some config) - - this.diff(props); - return this; - } - /** start(onEnd) - * This function either executes a queue, if present, or starts the frameloop, which animates */ - ; - - _proto.start = function start$$1(onEnd) { - var _this2 = this; - - // If a queue is present we must excecute it - if (this.queue.length) { - this.idle = false; // Updates can interrupt trailing queues, in that case we just merge values - - if (this.localQueue) { - this.localQueue.forEach(function (_ref3) { - var _ref3$from = _ref3.from, - from = _ref3$from === void 0 ? {} : _ref3$from, - _ref3$to = _ref3.to, - to = _ref3$to === void 0 ? {} : _ref3$to; - if (is.obj(from)) _this2.merged = _extends({}, from, _this2.merged); - if (is.obj(to)) _this2.merged = _extends({}, _this2.merged, to); - }); - } // The guid helps us tracking frames, a new queue over an old one means an override - // We discard async calls in that caseÍ - - - var local = this.local = ++this.guid; - var queue = this.localQueue = this.queue; - this.queue = []; // Go through each entry and execute it - - queue.forEach(function (_ref4, index) { - var delay = _ref4.delay, - props = _objectWithoutPropertiesLoose(_ref4, ["delay"]); - - var cb = function cb(finished) { - if (index === queue.length - 1 && local === _this2.guid && finished) { - _this2.idle = true; - if (_this2.props.onRest) _this2.props.onRest(_this2.merged); - } - - if (onEnd) onEnd(); - }; // Entries can be delayed, ansyc or immediate - - - var async = is.arr(props.to) || is.fun(props.to); - - if (delay) { - setTimeout(function () { - if (local === _this2.guid) { - if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb); - } - }, delay); - } else if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb); - }); - } // Otherwise we kick of the frameloop - else { - if (is.fun(onEnd)) this.listeners.push(onEnd); - if (this.props.onStart) this.props.onStart(); - - start(this); - } - - return this; - }; - - _proto.stop = function stop$$1(finished) { - this.listeners.forEach(function (onEnd) { - return onEnd(finished); - }); - this.listeners = []; - return this; - } - /** Pause sets onEnd listeners free, but also removes the controller from the frameloop */ - ; - - _proto.pause = function pause(finished) { - this.stop(true); - if (finished) stop(this); - return this; - }; - - _proto.runAsync = function runAsync(_ref5, onEnd) { - var _this3 = this; - - var delay = _ref5.delay, - props = _objectWithoutPropertiesLoose(_ref5, ["delay"]); - - var local = this.local; // If "to" is either a function or an array it will be processed async, therefor "to" should be empty right now - // If the view relies on certain values "from" has to be present - - var queue = Promise.resolve(undefined); - - if (is.arr(props.to)) { - var _loop = function _loop(i) { - var index = i; - - var fresh = _extends({}, props, interpolateTo(props.to[index])); - - if (is.arr(fresh.config)) fresh.config = fresh.config[index]; - queue = queue.then(function () { - //this.stop() - if (local === _this3.guid) return new Promise(function (r) { - return _this3.diff(fresh).start(r); - }); - }); - }; - - for (var i = 0; i < props.to.length; i++) { - _loop(i); - } - } else if (is.fun(props.to)) { - var index = 0; - var last; - queue = queue.then(function () { - return props.to( // next(props) - function (p) { - var fresh = _extends({}, props, interpolateTo(p)); - - if (is.arr(fresh.config)) fresh.config = fresh.config[index]; - index++; //this.stop() - - if (local === _this3.guid) return last = new Promise(function (r) { - return _this3.diff(fresh).start(r); - }); - return; - }, // cancel() - function (finished) { - if (finished === void 0) { - finished = true; - } - - return _this3.stop(finished); - }).then(function () { - return last; - }); - }); - } - - queue.then(onEnd); - }; - - _proto.diff = function diff(props) { - var _this4 = this; - - this.props = _extends({}, this.props, props); - var _this$props = this.props, - _this$props$from = _this$props.from, - from = _this$props$from === void 0 ? {} : _this$props$from, - _this$props$to = _this$props.to, - to = _this$props$to === void 0 ? {} : _this$props$to, - _this$props$config = _this$props.config, - config = _this$props$config === void 0 ? {} : _this$props$config, - reverse = _this$props.reverse, - attach = _this$props.attach, - reset = _this$props.reset, - immediate = _this$props.immediate; // Reverse values when requested - - if (reverse) { - var _ref6 = [to, from]; - from = _ref6[0]; - to = _ref6[1]; - } // This will collect all props that were ever set, reset merged props when necessary - - - this.merged = _extends({}, from, this.merged, to); - this.hasChanged = false; // Attachment handling, trailed springs can "attach" themselves to a previous spring - - var target = attach && attach(this); // Reduces input { name: value } pairs into animated values - - this.animations = Object.entries(this.merged).reduce(function (acc, _ref7) { - var name = _ref7[0], - value = _ref7[1]; - // Issue cached entries, except on reset - var entry = acc[name] || {}; // Figure out what the value is supposed to be - - var isNumber = is.num(value); - var isString = is.str(value) && !value.startsWith('#') && !/\d/.test(value) && !colorNames[value]; - var isArray = is.arr(value); - var isInterpolation = !isNumber && !isArray && !isString; - var fromValue = !is.und(from[name]) ? from[name] : value; - var toValue = isNumber || isArray ? value : isString ? value : 1; - var toConfig = callProp(config, name); - if (target) toValue = target.animations[name].parent; - var parent = entry.parent, - interpolation$$1 = entry.interpolation, - toValues = toArray(target ? toValue.getPayload() : toValue), - animatedValues; - var newValue = value; - if (isInterpolation) newValue = interpolation({ - range: [0, 1], - output: [value, value] - })(1); - var currentValue = interpolation$$1 && interpolation$$1.getValue(); // Change detection flags - - var isFirst = is.und(parent); - var isActive = !isFirst && entry.animatedValues.some(function (v) { - return !v.done; - }); - var currentValueDiffersFromGoal = !is.equ(newValue, currentValue); - var hasNewGoal = !is.equ(newValue, entry.previous); - var hasNewConfig = !is.equ(toConfig, entry.config); // Change animation props when props indicate a new goal (new value differs from previous one) - // and current values differ from it. Config changes trigger a new update as well (though probably shouldn't?) - - if (reset || hasNewGoal && currentValueDiffersFromGoal || hasNewConfig) { - var _extends2; - - // Convert regular values into animated values, ALWAYS re-use if possible - if (isNumber || isString) parent = interpolation$$1 = entry.parent || new AnimatedValue(fromValue);else if (isArray) parent = interpolation$$1 = entry.parent || new AnimatedValueArray(fromValue);else if (isInterpolation) { - var prev = entry.interpolation && entry.interpolation.calc(entry.parent.value); - prev = prev !== void 0 && !reset ? prev : fromValue; - - if (entry.parent) { - parent = entry.parent; - parent.setValue(0, false); - } else parent = new AnimatedValue(0); - - var range = { - output: [prev, value] - }; - - if (entry.interpolation) { - interpolation$$1 = entry.interpolation; - entry.interpolation.updateConfig(range); - } else interpolation$$1 = parent.interpolate(range); - } - toValues = toArray(target ? toValue.getPayload() : toValue); - animatedValues = toArray(parent.getPayload()); - if (reset && !isInterpolation) parent.setValue(fromValue, false); - _this4.hasChanged = true; // Reset animated values - - animatedValues.forEach(function (value) { - value.startPosition = value.value; - value.lastPosition = value.value; - value.lastVelocity = isActive ? value.lastVelocity : undefined; - value.lastTime = isActive ? value.lastTime : undefined; - value.startTime = now(); - value.done = false; - value.animatedStyles.clear(); - }); // Set immediate values - - if (callProp(immediate, name)) { - parent.setValue(isInterpolation ? toValue : value, false); - } - - return _extends({}, acc, (_extends2 = {}, _extends2[name] = _extends({}, entry, { - name: name, - parent: parent, - interpolation: interpolation$$1, - animatedValues: animatedValues, - toValues: toValues, - previous: newValue, - config: toConfig, - fromValues: toArray(parent.getValue()), - immediate: callProp(immediate, name), - initialVelocity: withDefault(toConfig.velocity, 0), - clamp: withDefault(toConfig.clamp, false), - precision: withDefault(toConfig.precision, 0.01), - tension: withDefault(toConfig.tension, 170), - friction: withDefault(toConfig.friction, 26), - mass: withDefault(toConfig.mass, 1), - duration: toConfig.duration, - easing: withDefault(toConfig.easing, function (t) { - return t; - }), - decay: toConfig.decay - }), _extends2)); - } else { - if (!currentValueDiffersFromGoal) { - var _extends3; - - // So ... the current target value (newValue) appears to be different from the previous value, - // which normally constitutes an update, but the actual value (currentValue) matches the target! - // In order to resolve this without causing an animation update we silently flag the animation as done, - // which it technically is. Interpolations also needs a config update with their target set to 1. - if (isInterpolation) { - parent.setValue(1, false); - interpolation$$1.updateConfig({ - output: [newValue, newValue] - }); - } - - parent.done = true; - _this4.hasChanged = true; - return _extends({}, acc, (_extends3 = {}, _extends3[name] = _extends({}, acc[name], { - previous: newValue - }), _extends3)); - } - - return acc; - } - }, this.animations); - - if (this.hasChanged) { - // Make animations available to frameloop - this.configs = Object.values(this.animations); - this.values = {}; - this.interpolations = {}; - - for (var key in this.animations) { - this.interpolations[key] = this.animations[key].interpolation; - this.values[key] = this.animations[key].interpolation.getValue(); - } - } - - return this; - }; - - _proto.destroy = function destroy() { - this.stop(); - this.props = {}; - this.merged = {}; - this.animations = {}; - this.interpolations = {}; - this.values = {}; - this.configs = []; - this.local = 0; - }; - - return Controller; -}(); - -/** API - * const props = useSprings(number, [{ ... }, { ... }, ...]) - * const [props, set] = useSprings(number, (i, controller) => ({ ... })) + * @return {string} The class name, e.g. `wp-block-paragraph`. */ -var useSprings = function useSprings(length, props) { - var mounted = React.useRef(false); - var ctrl = React.useRef(); - var isFn = is.fun(props); // The controller maintains the animation values, starts and stops animations +function useBlockDefaultClassName(clientId) { + return Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__["useSelect"])(select => { + const name = select(_store__WEBPACK_IMPORTED_MODULE_2__[/* store */ "a"]).getBlockName(clientId); + const blockType = Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__["getBlockType"])(name); + const hasLightBlockWrapper = (blockType === null || blockType === void 0 ? void 0 : blockType.apiVersion) > 1; - var _useMemo = React.useMemo(function () { - // Remove old controllers - if (ctrl.current) { - ctrl.current.map(function (c) { - return c.destroy(); - }); - ctrl.current = undefined; + if (!hasLightBlockWrapper) { + return; } - var ref; - return [new Array(length).fill().map(function (_, i) { - var ctrl = new Controller(); - var newProps = isFn ? callProp(props, i, ctrl) : props[i]; - if (i === 0) ref = newProps.ref; - ctrl.update(newProps); - if (!ref) ctrl.start(); - return ctrl; - }), ref]; - }, [length]), - controllers = _useMemo[0], - ref = _useMemo[1]; - - ctrl.current = controllers; // The hooks reference api gets defined here ... - - var api = React.useImperativeHandle(ref, function () { - return { - start: function start() { - return Promise.all(ctrl.current.map(function (c) { - return new Promise(function (r) { - return c.start(r); - }); - })); - }, - stop: function stop(finished) { - return ctrl.current.forEach(function (c) { - return c.stop(finished); - }); - }, - - get controllers() { - return ctrl.current; - } - - }; - }); // This function updates the controllers - - var updateCtrl = React.useMemo(function () { - return function (updateProps) { - return ctrl.current.map(function (c, i) { - c.update(isFn ? callProp(updateProps, i, c) : updateProps[i]); - if (!ref) c.start(); - }); - }; - }, [length]); // Update controller if props aren't functional - - React.useEffect(function () { - if (mounted.current) { - if (!isFn) updateCtrl(props); - } else if (!ref) ctrl.current.forEach(function (c) { - return c.start(); - }); - }); // Update mounted flag and destroy controller on unmount - - React.useEffect(function () { - return mounted.current = true, function () { - return ctrl.current.forEach(function (c) { - return c.destroy(); - }); - }; - }, []); // Return animated props, or, anim-props + the update-setter above - - var propValues = ctrl.current.map(function (c) { - return c.getValues(); - }); - return isFn ? [propValues, updateCtrl, function (finished) { - return ctrl.current.forEach(function (c) { - return c.pause(finished); - }); - }] : propValues; -}; - -/** API - * const props = useSpring({ ... }) - * const [props, set] = useSpring(() => ({ ... })) - */ - -var useSpring = function useSpring(props) { - var isFn = is.fun(props); - - var _useSprings = useSprings(1, isFn ? props : [props]), - result = _useSprings[0], - set = _useSprings[1], - pause = _useSprings[2]; - - return isFn ? [result[0], set, pause] : result; -}; - -/** API - * const trails = useTrail(number, { ... }) - * const [trails, set] = useTrail(number, () => ({ ... })) - */ - -var useTrail = function useTrail(length, props) { - var mounted = React.useRef(false); - var isFn = is.fun(props); - var updateProps = callProp(props); - var instances = React.useRef(); - - var _useSprings = useSprings(length, function (i, ctrl) { - if (i === 0) instances.current = []; - instances.current.push(ctrl); - return _extends({}, updateProps, { - config: callProp(updateProps.config, i), - attach: i > 0 && function () { - return instances.current[i - 1]; - } - }); - }), - result = _useSprings[0], - set = _useSprings[1], - pause = _useSprings[2]; // Set up function to update controller - - - var updateCtrl = React.useMemo(function () { - return function (props) { - return set(function (i, ctrl) { - var last = props.reverse ? i === 0 : length - 1 === i; - var attachIdx = props.reverse ? i + 1 : i - 1; - var attachController = instances.current[attachIdx]; - return _extends({}, props, { - config: callProp(props.config || updateProps.config, i), - attach: attachController && function () { - return attachController; - } - }); - }); - }; - }, [length, updateProps.reverse]); // Update controller if props aren't functional - - React.useEffect(function () { - return void (mounted.current && !isFn && updateCtrl(props)); - }); // Update mounted flag and destroy controller on unmount - - React.useEffect(function () { - return void (mounted.current = true); - }, []); - return isFn ? [result, updateCtrl, pause] : result; -}; - -/** API - * const transitions = useTransition(items, itemKeys, { ... }) - * const [transitions, update] = useTransition(items, itemKeys, () => ({ ... })) - */ - -var guid = 0; -var ENTER = 'enter'; -var LEAVE = 'leave'; -var UPDATE = 'update'; - -var mapKeys = function mapKeys(items, keys) { - return (typeof keys === 'function' ? items.map(keys) : toArray(keys)).map(String); -}; - -var get = function get(props) { - var items = props.items, - _props$keys = props.keys, - keys = _props$keys === void 0 ? function (item) { - return item; - } : _props$keys, - rest = _objectWithoutPropertiesLoose(props, ["items", "keys"]); - - items = toArray(items !== void 0 ? items : null); - return _extends({ - items: items, - keys: mapKeys(items, keys) - }, rest); -}; - -function useTransition(input, keyTransform, config) { - var props = _extends({ - items: input, - keys: keyTransform || function (i) { - return i; - } - }, config); - - var _get = get(props), - _get$lazy = _get.lazy, - lazy = _get$lazy === void 0 ? false : _get$lazy, - _get$unique = _get.unique, - _get$reset = _get.reset, - reset = _get$reset === void 0 ? false : _get$reset, - enter = _get.enter, - leave = _get.leave, - update = _get.update, - onDestroyed = _get.onDestroyed, - keys = _get.keys, - items = _get.items, - onFrame = _get.onFrame, - _onRest = _get.onRest, - onStart = _get.onStart, - ref = _get.ref, - extra = _objectWithoutPropertiesLoose(_get, ["lazy", "unique", "reset", "enter", "leave", "update", "onDestroyed", "keys", "items", "onFrame", "onRest", "onStart", "ref"]); - - var forceUpdate = useForceUpdate(); - var mounted = React.useRef(false); - var state = React.useRef({ - mounted: false, - first: true, - deleted: [], - current: {}, - transitions: [], - prevProps: {}, - paused: !!props.ref, - instances: !mounted.current && new Map(), - forceUpdate: forceUpdate - }); - React.useImperativeHandle(props.ref, function () { - return { - start: function start() { - return Promise.all(Array.from(state.current.instances).map(function (_ref) { - var c = _ref[1]; - return new Promise(function (r) { - return c.start(r); - }); - })); - }, - stop: function stop(finished) { - return Array.from(state.current.instances).forEach(function (_ref2) { - var c = _ref2[1]; - return c.stop(finished); - }); - }, - - get controllers() { - return Array.from(state.current.instances).map(function (_ref3) { - var c = _ref3[1]; - return c; - }); - } - - }; - }); // Update state - - state.current = diffItems(state.current, props); - - if (state.current.changed) { - // Update state - state.current.transitions.forEach(function (transition) { - var slot = transition.slot, - from = transition.from, - to = transition.to, - config = transition.config, - trail = transition.trail, - key = transition.key, - item = transition.item; - if (!state.current.instances.has(key)) state.current.instances.set(key, new Controller()); // update the map object - - var ctrl = state.current.instances.get(key); - - var newProps = _extends({}, extra, { - to: to, - from: from, - config: config, - ref: ref, - onRest: function onRest(values) { - if (state.current.mounted) { - if (transition.destroyed) { - // If no ref is given delete destroyed items immediately - if (!ref && !lazy) cleanUp(state, key); - if (onDestroyed) onDestroyed(item); - } // A transition comes to rest once all its springs conclude - - - var curInstances = Array.from(state.current.instances); - var active = curInstances.some(function (_ref4) { - var c = _ref4[1]; - return !c.idle; - }); - if (!active && (ref || lazy) && state.current.deleted.length > 0) cleanUp(state); - if (_onRest) _onRest(item, slot, values); - } - }, - onStart: onStart && function () { - return onStart(item, slot); - }, - onFrame: onFrame && function (values) { - return onFrame(item, slot, values); - }, - delay: trail, - reset: reset && slot === ENTER // Update controller - - }); - - ctrl.update(newProps); - if (!state.current.paused) ctrl.start(); - }); - } - - React.useEffect(function () { - state.current.mounted = mounted.current = true; - return function () { - state.current.mounted = mounted.current = false; - Array.from(state.current.instances).map(function (_ref5) { - var c = _ref5[1]; - return c.destroy(); - }); - state.current.instances.clear(); - }; - }, []); - return state.current.transitions.map(function (_ref6) { - var item = _ref6.item, - slot = _ref6.slot, - key = _ref6.key; - return { - item: item, - key: key, - state: slot, - props: state.current.instances.get(key).getValues() - }; - }); + return Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__["getBlockDefaultClassName"])(name); + }, [clientId]); } -function cleanUp(state, filterKey) { - var deleted = state.current.deleted; - - var _loop = function _loop() { - if (_isArray) { - if (_i >= _iterator.length) return "break"; - _ref8 = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) return "break"; - _ref8 = _i.value; - } - - var _ref7 = _ref8; - var key = _ref7.key; - - var filter = function filter(t) { - return t.key !== key; - }; - - if (is.und(filterKey) || filterKey === key) { - state.current.instances.delete(key); - state.current.transitions = state.current.transitions.filter(filter); - state.current.deleted = state.current.deleted.filter(filter); - } - }; - - for (var _iterator = deleted, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref8; - - var _ret = _loop(); - - if (_ret === "break") break; - } - - state.current.forceUpdate(); -} - -function diffItems(_ref9, props) { - var first = _ref9.first, - prevProps = _ref9.prevProps, - state = _objectWithoutPropertiesLoose(_ref9, ["first", "prevProps"]); - - var _get2 = get(props), - items = _get2.items, - keys = _get2.keys, - initial = _get2.initial, - from = _get2.from, - enter = _get2.enter, - leave = _get2.leave, - update = _get2.update, - _get2$trail = _get2.trail, - trail = _get2$trail === void 0 ? 0 : _get2$trail, - unique = _get2.unique, - config = _get2.config, - _get2$order = _get2.order, - order = _get2$order === void 0 ? [ENTER, LEAVE, UPDATE] : _get2$order; - - var _get3 = get(prevProps), - _keys = _get3.keys, - _items = _get3.items; - - var current = _extends({}, state.current); - - var deleted = [].concat(state.deleted); // Compare next keys with current keys - - var currentKeys = Object.keys(current); - var currentSet = new Set(currentKeys); - var nextSet = new Set(keys); - var added = keys.filter(function (item) { - return !currentSet.has(item); - }); - var removed = state.transitions.filter(function (item) { - return !item.destroyed && !nextSet.has(item.originalKey); - }).map(function (i) { - return i.originalKey; - }); - var updated = keys.filter(function (item) { - return currentSet.has(item); - }); - var delay = -trail; - - while (order.length) { - var changeType = order.shift(); - - switch (changeType) { - case ENTER: - { - added.forEach(function (key, index) { - // In unique mode, remove fading out transitions if their key comes in again - if (unique && deleted.find(function (d) { - return d.originalKey === key; - })) deleted = deleted.filter(function (t) { - return t.originalKey !== key; - }); - var keyIndex = keys.indexOf(key); - var item = items[keyIndex]; - var slot = first && initial !== void 0 ? 'initial' : ENTER; - current[key] = { - slot: slot, - originalKey: key, - key: unique ? String(key) : guid++, - item: item, - trail: delay = delay + trail, - config: callProp(config, item, slot), - from: callProp(first ? initial !== void 0 ? initial || {} : from : from, item), - to: callProp(enter, item) - }; - }); - break; - } - - case LEAVE: - { - removed.forEach(function (key) { - var keyIndex = _keys.indexOf(key); - - var item = _items[keyIndex]; - var slot = LEAVE; - deleted.unshift(_extends({}, current[key], { - slot: slot, - destroyed: true, - left: _keys[Math.max(0, keyIndex - 1)], - right: _keys[Math.min(_keys.length, keyIndex + 1)], - trail: delay = delay + trail, - config: callProp(config, item, slot), - to: callProp(leave, item) - })); - delete current[key]; - }); - break; - } - - case UPDATE: - { - updated.forEach(function (key) { - var keyIndex = keys.indexOf(key); - var item = items[keyIndex]; - var slot = UPDATE; - current[key] = _extends({}, current[key], { - item: item, - slot: slot, - trail: delay = delay + trail, - config: callProp(config, item, slot), - to: callProp(update, item) - }); - }); - break; - } - } - } - - var out = keys.map(function (key) { - return current[key]; - }); // This tries to restore order for deleted items by finding their last known siblings - // only using the left sibling to keep order placement consistent for all deleted items - - deleted.forEach(function (_ref10) { - var left = _ref10.left, - right = _ref10.right, - item = _objectWithoutPropertiesLoose(_ref10, ["left", "right"]); - - var pos; // Was it the element on the left, if yes, move there ... - - if ((pos = out.findIndex(function (t) { - return t.originalKey === left; - })) !== -1) pos += 1; // And if nothing else helps, move it to the start ¯\_(ツ)_/¯ - - pos = Math.max(0, pos); - out = [].concat(out.slice(0, pos), [item], out.slice(pos)); - }); - return _extends({}, state, { - changed: added.length || removed.length || updated.length, - first: first && added.length === 0, - transitions: out, - current: current, - deleted: deleted, - prevProps: props - }); -} - -var AnimatedStyle = -/*#__PURE__*/ -function (_AnimatedObject) { - _inheritsLoose(AnimatedStyle, _AnimatedObject); - - function AnimatedStyle(style) { - var _this; - - if (style === void 0) { - style = {}; - } - - _this = _AnimatedObject.call(this) || this; - - if (style.transform && !(style.transform instanceof Animated)) { - style = applyAnimatedValues.transform(style); - } - - _this.payload = style; - return _this; - } - - return AnimatedStyle; -}(AnimatedObject); - -// http://www.w3.org/TR/css3-color/#svg-color -var colors = { - transparent: 0x00000000, - aliceblue: 0xf0f8ffff, - antiquewhite: 0xfaebd7ff, - aqua: 0x00ffffff, - aquamarine: 0x7fffd4ff, - azure: 0xf0ffffff, - beige: 0xf5f5dcff, - bisque: 0xffe4c4ff, - black: 0x000000ff, - blanchedalmond: 0xffebcdff, - blue: 0x0000ffff, - blueviolet: 0x8a2be2ff, - brown: 0xa52a2aff, - burlywood: 0xdeb887ff, - burntsienna: 0xea7e5dff, - cadetblue: 0x5f9ea0ff, - chartreuse: 0x7fff00ff, - chocolate: 0xd2691eff, - coral: 0xff7f50ff, - cornflowerblue: 0x6495edff, - cornsilk: 0xfff8dcff, - crimson: 0xdc143cff, - cyan: 0x00ffffff, - darkblue: 0x00008bff, - darkcyan: 0x008b8bff, - darkgoldenrod: 0xb8860bff, - darkgray: 0xa9a9a9ff, - darkgreen: 0x006400ff, - darkgrey: 0xa9a9a9ff, - darkkhaki: 0xbdb76bff, - darkmagenta: 0x8b008bff, - darkolivegreen: 0x556b2fff, - darkorange: 0xff8c00ff, - darkorchid: 0x9932ccff, - darkred: 0x8b0000ff, - darksalmon: 0xe9967aff, - darkseagreen: 0x8fbc8fff, - darkslateblue: 0x483d8bff, - darkslategray: 0x2f4f4fff, - darkslategrey: 0x2f4f4fff, - darkturquoise: 0x00ced1ff, - darkviolet: 0x9400d3ff, - deeppink: 0xff1493ff, - deepskyblue: 0x00bfffff, - dimgray: 0x696969ff, - dimgrey: 0x696969ff, - dodgerblue: 0x1e90ffff, - firebrick: 0xb22222ff, - floralwhite: 0xfffaf0ff, - forestgreen: 0x228b22ff, - fuchsia: 0xff00ffff, - gainsboro: 0xdcdcdcff, - ghostwhite: 0xf8f8ffff, - gold: 0xffd700ff, - goldenrod: 0xdaa520ff, - gray: 0x808080ff, - green: 0x008000ff, - greenyellow: 0xadff2fff, - grey: 0x808080ff, - honeydew: 0xf0fff0ff, - hotpink: 0xff69b4ff, - indianred: 0xcd5c5cff, - indigo: 0x4b0082ff, - ivory: 0xfffff0ff, - khaki: 0xf0e68cff, - lavender: 0xe6e6faff, - lavenderblush: 0xfff0f5ff, - lawngreen: 0x7cfc00ff, - lemonchiffon: 0xfffacdff, - lightblue: 0xadd8e6ff, - lightcoral: 0xf08080ff, - lightcyan: 0xe0ffffff, - lightgoldenrodyellow: 0xfafad2ff, - lightgray: 0xd3d3d3ff, - lightgreen: 0x90ee90ff, - lightgrey: 0xd3d3d3ff, - lightpink: 0xffb6c1ff, - lightsalmon: 0xffa07aff, - lightseagreen: 0x20b2aaff, - lightskyblue: 0x87cefaff, - lightslategray: 0x778899ff, - lightslategrey: 0x778899ff, - lightsteelblue: 0xb0c4deff, - lightyellow: 0xffffe0ff, - lime: 0x00ff00ff, - limegreen: 0x32cd32ff, - linen: 0xfaf0e6ff, - magenta: 0xff00ffff, - maroon: 0x800000ff, - mediumaquamarine: 0x66cdaaff, - mediumblue: 0x0000cdff, - mediumorchid: 0xba55d3ff, - mediumpurple: 0x9370dbff, - mediumseagreen: 0x3cb371ff, - mediumslateblue: 0x7b68eeff, - mediumspringgreen: 0x00fa9aff, - mediumturquoise: 0x48d1ccff, - mediumvioletred: 0xc71585ff, - midnightblue: 0x191970ff, - mintcream: 0xf5fffaff, - mistyrose: 0xffe4e1ff, - moccasin: 0xffe4b5ff, - navajowhite: 0xffdeadff, - navy: 0x000080ff, - oldlace: 0xfdf5e6ff, - olive: 0x808000ff, - olivedrab: 0x6b8e23ff, - orange: 0xffa500ff, - orangered: 0xff4500ff, - orchid: 0xda70d6ff, - palegoldenrod: 0xeee8aaff, - palegreen: 0x98fb98ff, - paleturquoise: 0xafeeeeff, - palevioletred: 0xdb7093ff, - papayawhip: 0xffefd5ff, - peachpuff: 0xffdab9ff, - peru: 0xcd853fff, - pink: 0xffc0cbff, - plum: 0xdda0ddff, - powderblue: 0xb0e0e6ff, - purple: 0x800080ff, - rebeccapurple: 0x663399ff, - red: 0xff0000ff, - rosybrown: 0xbc8f8fff, - royalblue: 0x4169e1ff, - saddlebrown: 0x8b4513ff, - salmon: 0xfa8072ff, - sandybrown: 0xf4a460ff, - seagreen: 0x2e8b57ff, - seashell: 0xfff5eeff, - sienna: 0xa0522dff, - silver: 0xc0c0c0ff, - skyblue: 0x87ceebff, - slateblue: 0x6a5acdff, - slategray: 0x708090ff, - slategrey: 0x708090ff, - snow: 0xfffafaff, - springgreen: 0x00ff7fff, - steelblue: 0x4682b4ff, - tan: 0xd2b48cff, - teal: 0x008080ff, - thistle: 0xd8bfd8ff, - tomato: 0xff6347ff, - turquoise: 0x40e0d0ff, - violet: 0xee82eeff, - wheat: 0xf5deb3ff, - white: 0xffffffff, - whitesmoke: 0xf5f5f5ff, - yellow: 0xffff00ff, - yellowgreen: 0x9acd32ff -}; - -// const INTEGER = '[-+]?\\d+'; -var NUMBER = '[-+]?\\d*\\.?\\d+'; -var PERCENTAGE = NUMBER + '%'; - -function call() { - for (var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++) { - parts[_key] = arguments[_key]; - } - - return '\\(\\s*(' + parts.join(')\\s*,\\s*(') + ')\\s*\\)'; -} - -var rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER)); -var rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER)); -var hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)); -var hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER)); -var hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/; -var hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/; -var hex6 = /^#([0-9a-fA-F]{6})$/; -var hex8 = /^#([0-9a-fA-F]{8})$/; - -/* -https://github.com/react-community/normalize-css-color - -BSD 3-Clause License - -Copyright (c) 2016, React Community -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ -function normalizeColor(color) { - var match; - - if (typeof color === 'number') { - return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null; - } // Ordered based on occurrences on Facebook codebase - - - if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0; - if (colors.hasOwnProperty(color)) return colors[color]; - - if (match = rgb.exec(color)) { - return (parse255(match[1]) << 24 | // r - parse255(match[2]) << 16 | // g - parse255(match[3]) << 8 | // b - 0x000000ff) >>> // a - 0; - } - - if (match = rgba.exec(color)) { - return (parse255(match[1]) << 24 | // r - parse255(match[2]) << 16 | // g - parse255(match[3]) << 8 | // b - parse1(match[4])) >>> // a - 0; - } - - if (match = hex3.exec(color)) { - return parseInt(match[1] + match[1] + // r - match[2] + match[2] + // g - match[3] + match[3] + // b - 'ff', // a - 16) >>> 0; - } // https://drafts.csswg.org/css-color-4/#hex-notation - - - if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0; - - if (match = hex4.exec(color)) { - return parseInt(match[1] + match[1] + // r - match[2] + match[2] + // g - match[3] + match[3] + // b - match[4] + match[4], // a - 16) >>> 0; - } - - if (match = hsl.exec(color)) { - return (hslToRgb(parse360(match[1]), // h - parsePercentage(match[2]), // s - parsePercentage(match[3]) // l - ) | 0x000000ff) >>> // a - 0; - } - - if (match = hsla.exec(color)) { - return (hslToRgb(parse360(match[1]), // h - parsePercentage(match[2]), // s - parsePercentage(match[3]) // l - ) | parse1(match[4])) >>> // a - 0; - } - - return null; -} - -function hue2rgb(p, q, t) { - if (t < 0) t += 1; - if (t > 1) t -= 1; - if (t < 1 / 6) return p + (q - p) * 6 * t; - if (t < 1 / 2) return q; - if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6; - return p; -} - -function hslToRgb(h, s, l) { - var q = l < 0.5 ? l * (1 + s) : l + s - l * s; - var p = 2 * l - q; - var r = hue2rgb(p, q, h + 1 / 3); - var g = hue2rgb(p, q, h); - var b = hue2rgb(p, q, h - 1 / 3); - return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8; -} - -function parse255(str) { - var int = parseInt(str, 10); - if (int < 0) return 0; - if (int > 255) return 255; - return int; -} - -function parse360(str) { - var int = parseFloat(str); - return (int % 360 + 360) % 360 / 360; -} - -function parse1(str) { - var num = parseFloat(str); - if (num < 0) return 0; - if (num > 1) return 255; - return Math.round(num * 255); -} - -function parsePercentage(str) { - // parseFloat conveniently ignores the final % - var int = parseFloat(str); - if (int < 0) return 0; - if (int > 100) return 1; - return int / 100; -} - -function colorToRgba(input) { - var int32Color = normalizeColor(input); - if (int32Color === null) return input; - int32Color = int32Color || 0; - var r = (int32Color & 0xff000000) >>> 24; - var g = (int32Color & 0x00ff0000) >>> 16; - var b = (int32Color & 0x0000ff00) >>> 8; - var a = (int32Color & 0x000000ff) / 255; - return "rgba(" + r + ", " + g + ", " + b + ", " + a + ")"; -} // Problem: https://github.com/animatedjs/animated/pull/102 -// Solution: https://stackoverflow.com/questions/638565/parsing-scientific-notation-sensibly/658662 - - -var stringShapeRegex = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g; // Covers rgb, rgba, hsl, hsla -// Taken from https://gist.github.com/olmokramer/82ccce673f86db7cda5e - -var colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi; // Covers color names (transparent, blue, etc.) - -var colorNamesRegex = new RegExp("(" + Object.keys(colors).join('|') + ")", 'g'); -/** - * Supports string shapes by extracting numbers so new values can be computed, - * and recombines those values into new strings of the same shape. Supports - * things like: - * - * rgba(123, 42, 99, 0.36) // colors - * -45deg // values with units - * 0 2px 2px 0px rgba(0, 0, 0, 0.12) // box shadows - */ - -var createStringInterpolator = function createStringInterpolator(config) { - // Replace colors with rgba - var outputRange = config.output.map(function (rangeValue) { - return rangeValue.replace(colorRegex, colorToRgba); - }).map(function (rangeValue) { - return rangeValue.replace(colorNamesRegex, colorToRgba); - }); - var outputRanges = outputRange[0].match(stringShapeRegex).map(function () { - return []; - }); - outputRange.forEach(function (value) { - value.match(stringShapeRegex).forEach(function (number, i) { - return outputRanges[i].push(+number); - }); - }); - var interpolations = outputRange[0].match(stringShapeRegex).map(function (_value, i) { - return createInterpolator(_extends({}, config, { - output: outputRanges[i] - })); - }); - return function (input) { - var i = 0; - return outputRange[0] // 'rgba(0, 100, 200, 0)' - // -> - // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...' - .replace(stringShapeRegex, function () { - return interpolations[i++](input); - }) // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to - // round the opacity (4th column). - .replace(/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, function (_, p1, p2, p3, p4) { - return "rgba(" + Math.round(p1) + ", " + Math.round(p2) + ", " + Math.round(p3) + ", " + p4 + ")"; - }); - }; -}; - -var isUnitlessNumber = { - animationIterationCount: true, - borderImageOutset: true, - borderImageSlice: true, - borderImageWidth: true, - boxFlex: true, - boxFlexGroup: true, - boxOrdinalGroup: true, - columnCount: true, - columns: true, - flex: true, - flexGrow: true, - flexPositive: true, - flexShrink: true, - flexNegative: true, - flexOrder: true, - gridRow: true, - gridRowEnd: true, - gridRowSpan: true, - gridRowStart: true, - gridColumn: true, - gridColumnEnd: true, - gridColumnSpan: true, - gridColumnStart: true, - fontWeight: true, - lineClamp: true, - lineHeight: true, - opacity: true, - order: true, - orphans: true, - tabSize: true, - widows: true, - zIndex: true, - zoom: true, - // SVG-related properties - fillOpacity: true, - floodOpacity: true, - stopOpacity: true, - strokeDasharray: true, - strokeDashoffset: true, - strokeMiterlimit: true, - strokeOpacity: true, - strokeWidth: true -}; - -var prefixKey = function prefixKey(prefix, key) { - return prefix + key.charAt(0).toUpperCase() + key.substring(1); -}; - -var prefixes = ['Webkit', 'Ms', 'Moz', 'O']; -isUnitlessNumber = Object.keys(isUnitlessNumber).reduce(function (acc, prop) { - prefixes.forEach(function (prefix) { - return acc[prefixKey(prefix, prop)] = acc[prop]; - }); - return acc; -}, isUnitlessNumber); - -function dangerousStyleValue(name, value, isCustomProperty) { - if (value == null || typeof value === 'boolean' || value === '') return ''; - if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers - - return ('' + value).trim(); -} - -var attributeCache = {}; -injectCreateAnimatedStyle(function (style) { - return new AnimatedStyle(style); -}); -injectDefaultElement('div'); -injectStringInterpolator(createStringInterpolator); -injectColorNames(colors); -injectApplyAnimatedValues(function (instance, props) { - if (instance.nodeType && instance.setAttribute !== undefined) { - var style = props.style, - children = props.children, - scrollTop = props.scrollTop, - scrollLeft = props.scrollLeft, - attributes = _objectWithoutPropertiesLoose(props, ["style", "children", "scrollTop", "scrollLeft"]); - - var filter = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter'; - if (scrollTop !== void 0) instance.scrollTop = scrollTop; - if (scrollLeft !== void 0) instance.scrollLeft = scrollLeft; // Set textContent, if children is an animatable value - - if (children !== void 0) instance.textContent = children; // Set styles ... - - for (var styleName in style) { - if (!style.hasOwnProperty(styleName)) continue; - var isCustomProperty = styleName.indexOf('--') === 0; - var styleValue = dangerousStyleValue(styleName, style[styleName], isCustomProperty); - if (styleName === 'float') styleName = 'cssFloat'; - if (isCustomProperty) instance.style.setProperty(styleName, styleValue);else instance.style[styleName] = styleValue; - } // Set attributes ... - - - for (var name in attributes) { - // Attributes are written in dash case - var dashCase = filter ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, function (n) { - return '-' + n.toLowerCase(); - })); - if (typeof instance.getAttribute(dashCase) !== 'undefined') instance.setAttribute(dashCase, attributes[name]); - } - - return; - } else return false; -}, function (style) { - return style; -}); - -var domElements = ['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', // SVG -'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan']; -// Extend animated with all the available THREE elements -var apply = merge(createAnimatedComponent, false); -var extendedAnimated = apply(domElements); - -exports.apply = apply; -exports.config = config; -exports.update = update; -exports.animated = extendedAnimated; -exports.a = extendedAnimated; -exports.interpolate = interpolate$1; -exports.Globals = Globals; -exports.useSpring = useSpring; -exports.useTrail = useTrail; -exports.useTransition = useTransition; -exports.useChain = useChain; -exports.useSprings = useSprings; - /***/ }), -/***/ "Zss7": -/***/ (function(module, exports, __webpack_require__) { +/***/ "Z23Y": +/***/ (function(module, exports) { -var __WEBPACK_AMD_DEFINE_RESULT__;// TinyColor v1.4.2 -// https://github.com/bgrins/TinyColor -// Brian Grinstead, MIT License +(function() { module.exports = window["wp"]["warning"]; }()); -(function(Math) { +/***/ }), -var trimLeft = /^\s+/, - trimRight = /\s+$/, - tinyCounter = 0, - mathRound = Math.round, - mathMin = Math.min, - mathMax = Math.max, - mathRandom = Math.random; +/***/ "ZAjO": +/***/ (function(module, __webpack_exports__, __webpack_require__) { -function tinycolor (color, opts) { +"use strict"; - color = (color) ? color : ''; - opts = opts || { }; +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); - // If input is already a tinycolor, return itself - if (color instanceof tinycolor) { - return color; +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-draggable/draggable-chip.js +var draggable_chip = __webpack_require__("q3tz"); + +// EXTERNAL MODULE: external ["wp","dom"] +var external_wp_dom_ = __webpack_require__("1CF3"); + +// 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 = Object(external_wp_element_["useRef"])(null); + const velocityY = Object(external_wp_element_["useRef"])(null); + const scrollParentY = Object(external_wp_element_["useRef"])(null); + const scrollEditorInterval = Object(external_wp_element_["useRef"])(null); // Clear interval when unmounting. + + Object(external_wp_element_["useEffect"])(() => () => { + if (scrollEditorInterval.current) { + clearInterval(scrollEditorInterval.current); + scrollEditorInterval.current = null; } - // If we are called as a function, call using new instead - if (!(this instanceof tinycolor)) { - return new tinycolor(color, opts); + }, []); + const startScrolling = Object(external_wp_element_["useCallback"])(event => { + dragStartY.current = event.clientY; // Find nearest parent(s) to scroll. + + scrollParentY.current = Object(external_wp_dom_["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 = Object(external_wp_element_["useCallback"])(event => { + if (!scrollParentY.current) { + return; } - var rgb = inputToRGB(color); - this._originalInput = color, - this._r = rgb.r, - this._g = rgb.g, - this._b = rgb.b, - this._a = rgb.a, - this._roundA = mathRound(100*this._a) / 100, - this._format = opts.format || rgb.format; - this._gradientType = opts.gradientType; + const scrollParentHeight = scrollParentY.current.offsetHeight; + const offsetDragStartPosition = dragStartY.current - scrollParentY.current.offsetTop; + const offsetDragPosition = event.clientY - scrollParentY.current.offsetTop; - // Don't let the range of [0,255] come back in [0,1]. - // Potentially lose a little bit of precision here, but will fix issues where - // .5 gets interpreted as half of the total, instead of half of 1 - // If it was supposed to be 128, this was already taken care of by `inputToRgb` - if (this._r < 1) { this._r = mathRound(this._r); } - if (this._g < 1) { this._g = mathRound(this._g); } - if (this._b < 1) { this._b = mathRound(this._b); } + 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 = 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 = dragDistance / moveableDistance; + velocityY.current = -VELOCITY_MULTIPLIER * distancePercentage; + } else { + velocityY.current = 0; + } + }, []); - this._ok = rgb.ok; - this._tc_id = tinyCounter++; + const stopScrolling = () => { + dragStartY.current = null; + scrollParentY.current = null; + + if (scrollEditorInterval.current) { + clearInterval(scrollEditorInterval.current); + scrollEditorInterval.current = null; + } + }; + + return [startScrolling, scrollOnDragOver, stopScrolling]; } -tinycolor.prototype = { - isDark: function() { - return this.getBrightness() < 128; - }, - isLight: function() { - return !this.isDark(); - }, - isValid: function() { - return this._ok; - }, - getOriginalInput: function() { - return this._originalInput; - }, - getFormat: function() { - return this._format; - }, - getAlpha: function() { - return this._a; - }, - getBrightness: function() { - //http://www.w3.org/TR/AERT#color-contrast - var rgb = this.toRgb(); - return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000; - }, - getLuminance: function() { - //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef - var rgb = this.toRgb(); - var RsRGB, GsRGB, BsRGB, R, G, B; - RsRGB = rgb.r/255; - GsRGB = rgb.g/255; - BsRGB = rgb.b/255; +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); - if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);} - if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);} - if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);} - return (0.2126 * R) + (0.7152 * G) + (0.0722 * B); - }, - setAlpha: function(value) { - this._a = boundAlpha(value); - this._roundA = mathRound(100*this._a) / 100; - return this; - }, - toHsv: function() { - var hsv = rgbToHsv(this._r, this._g, this._b); - return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a }; - }, - toHsvString: function() { - var hsv = rgbToHsv(this._r, this._g, this._b); - var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100); - return (this._a == 1) ? - "hsv(" + h + ", " + s + "%, " + v + "%)" : - "hsva(" + h + ", " + s + "%, " + v + "%, "+ this._roundA + ")"; - }, - toHsl: function() { - var hsl = rgbToHsl(this._r, this._g, this._b); - return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a }; - }, - toHslString: function() { - var hsl = rgbToHsl(this._r, this._g, this._b); - var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100); - return (this._a == 1) ? - "hsl(" + h + ", " + s + "%, " + l + "%)" : - "hsla(" + h + ", " + s + "%, " + l + "%, "+ this._roundA + ")"; - }, - toHex: function(allow3Char) { - return rgbToHex(this._r, this._g, this._b, allow3Char); - }, - toHexString: function(allow3Char) { - return '#' + this.toHex(allow3Char); - }, - toHex8: function(allow4Char) { - return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char); - }, - toHex8String: function(allow4Char) { - return '#' + this.toHex8(allow4Char); - }, - toRgb: function() { - return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a }; - }, - toRgbString: function() { - return (this._a == 1) ? - "rgb(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" : - "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")"; - }, - toPercentageRgb: function() { - return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a }; - }, - toPercentageRgbString: function() { - return (this._a == 1) ? - "rgb(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" : - "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")"; - }, - toName: function() { - if (this._a === 0) { - return "transparent"; - } +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-draggable/index.js - if (this._a < 1) { - return false; - } - return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false; - }, - toFilter: function(secondColor) { - var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a); - var secondHex8String = hex8String; - var gradientType = this._gradientType ? "GradientType = 1, " : ""; +/** + * WordPress dependencies + */ - if (secondColor) { - var s = tinycolor(secondColor); - secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a); - } - return "progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")"; - }, - toString: function(format) { - var formatSet = !!format; - format = format || this._format; - var formattedString = false; - var hasAlpha = this._a < 1 && this._a >= 0; - var needsAlphaFormat = !formatSet && hasAlpha && (format === "hex" || format === "hex6" || format === "hex3" || format === "hex4" || format === "hex8" || format === "name"); - if (needsAlphaFormat) { - // Special case for "transparent", all other non-alpha formats - // will return rgba when there is transparency. - if (format === "name" && this._a === 0) { - return this.toName(); - } - return this.toRgbString(); - } - if (format === "rgb") { - formattedString = this.toRgbString(); - } - if (format === "prgb") { - formattedString = this.toPercentageRgbString(); - } - if (format === "hex" || format === "hex6") { - formattedString = this.toHexString(); - } - if (format === "hex3") { - formattedString = this.toHexString(true); - } - if (format === "hex4") { - formattedString = this.toHex8String(true); - } - if (format === "hex8") { - formattedString = this.toHex8String(); - } - if (format === "name") { - formattedString = this.toName(); - } - if (format === "hsl") { - formattedString = this.toHslString(); - } - if (format === "hsv") { - formattedString = this.toHsvString(); - } +/** + * Internal dependencies + */ - return formattedString || this.toHexString(); - }, - clone: function() { - return tinycolor(this.toString()); - }, - _applyModification: function(fn, args) { - var color = fn.apply(null, [this].concat([].slice.call(args))); - this._r = color._r; - this._g = color._g; - this._b = color._b; - this.setAlpha(color._a); - return this; - }, - lighten: function() { - return this._applyModification(lighten, arguments); - }, - brighten: function() { - return this._applyModification(brighten, arguments); - }, - darken: function() { - return this._applyModification(darken, arguments); - }, - desaturate: function() { - return this._applyModification(desaturate, arguments); - }, - saturate: function() { - return this._applyModification(saturate, arguments); - }, - greyscale: function() { - return this._applyModification(greyscale, arguments); - }, - spin: function() { - return this._applyModification(spin, arguments); - }, - _applyCombination: function(fn, args) { - return fn.apply(null, [this].concat([].slice.call(args))); - }, - analogous: function() { - return this._applyCombination(analogous, arguments); - }, - complement: function() { - return this._applyCombination(complement, arguments); - }, - monochromatic: function() { - return this._applyCombination(monochromatic, arguments); - }, - splitcomplement: function() { - return this._applyCombination(splitcomplement, arguments); - }, - triad: function() { - return this._applyCombination(triad, arguments); - }, - tetrad: function() { - return this._applyCombination(tetrad, arguments); - } -}; -// If input is an object, force 1 into "1.0" to handle ratios properly -// String input requires "1.0" as input, so 1 will be treated as 1 -tinycolor.fromRatio = function(color, opts) { - if (typeof color == "object") { - var newColor = {}; - for (var i in color) { - if (color.hasOwnProperty(i)) { - if (i === "a") { - newColor[i] = color[i]; - } - else { - newColor[i] = convertToPercentage(color[i]); - } - } - } - color = newColor; - } - return tinycolor(color, opts); -}; - -// Given a string or object, convert that input to RGB -// Possible string inputs: -// -// "red" -// "#f00" or "f00" -// "#ff0000" or "ff0000" -// "#ff000000" or "ff000000" -// "rgb 255 0 0" or "rgb (255, 0, 0)" -// "rgb 1.0 0 0" or "rgb (1, 0, 0)" -// "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1" -// "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1" -// "hsl(0, 100%, 50%)" or "hsl 0 100% 50%" -// "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1" -// "hsv(0, 100%, 100%)" or "hsv 0 100% 100%" -// -function inputToRGB(color) { - - var rgb = { r: 0, g: 0, b: 0 }; - var a = 1; - var s = null; - var v = null; - var l = null; - var ok = false; - var format = false; - - if (typeof color == "string") { - color = stringInputToObject(color); - } - - if (typeof color == "object") { - if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) { - rgb = rgbToRgb(color.r, color.g, color.b); - ok = true; - format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb"; - } - else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) { - s = convertToPercentage(color.s); - v = convertToPercentage(color.v); - rgb = hsvToRgb(color.h, s, v); - ok = true; - format = "hsv"; - } - else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) { - s = convertToPercentage(color.s); - l = convertToPercentage(color.l); - rgb = hslToRgb(color.h, s, l); - ok = true; - format = "hsl"; - } - - if (color.hasOwnProperty("a")) { - a = color.a; - } - } - - a = boundAlpha(a); +const BlockDraggable = ({ + children, + clientIds, + cloneClassname, + onDragStart, + onDragEnd +}) => { + const { + srcRootClientId, + isDraggable, + icon + } = Object(external_wp_data_["useSelect"])(select => { + var _getBlockType; + const { + getBlockRootClientId, + getTemplateLock, + getBlockName + } = select(store["a" /* store */]); + const rootClientId = getBlockRootClientId(clientIds[0]); + const templateLock = rootClientId ? getTemplateLock(rootClientId) : null; + const blockName = getBlockName(clientIds[0]); return { - ok: ok, - format: color.format || format, - r: mathMin(255, mathMax(rgb.r, 0)), - g: mathMin(255, mathMax(rgb.g, 0)), - b: mathMin(255, mathMax(rgb.b, 0)), - a: a + srcRootClientId: rootClientId, + isDraggable: 'all' !== templateLock, + icon: (_getBlockType = Object(external_wp_blocks_["getBlockType"])(blockName)) === null || _getBlockType === void 0 ? void 0 : _getBlockType.icon }; -} + }, [clientIds]); + const isDragging = Object(external_wp_element_["useRef"])(false); + const [startScrolling, scrollOnDragOver, stopScrolling] = useScrollWhenDragging(); + const { + startDraggingBlocks, + stopDraggingBlocks + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); // Stop dragging blocks if the block draggable is unmounted - -// Conversion Functions -// -------------------- - -// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from: -// - -// `rgbToRgb` -// Handle bounds / percentage checking to conform to CSS color spec -// -// *Assumes:* r, g, b in [0, 255] or [0, 1] -// *Returns:* { r, g, b } in [0, 255] -function rgbToRgb(r, g, b){ - return { - r: bound01(r, 255) * 255, - g: bound01(g, 255) * 255, - b: bound01(b, 255) * 255 + Object(external_wp_element_["useEffect"])(() => { + return () => { + if (isDragging.current) { + stopDraggingBlocks(); + } }; -} + }, []); -// `rgbToHsl` -// Converts an RGB color value to HSL. -// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1] -// *Returns:* { h, s, l } in [0,1] -function rgbToHsl(r, g, b) { - - r = bound01(r, 255); - g = bound01(g, 255); - b = bound01(b, 255); - - var max = mathMax(r, g, b), min = mathMin(r, g, b); - var h, s, l = (max + min) / 2; - - if(max == min) { - h = s = 0; // achromatic - } - else { - var d = max - min; - s = l > 0.5 ? d / (2 - max - min) : d / (max + min); - switch(max) { - case r: h = (g - b) / d + (g < b ? 6 : 0); break; - case g: h = (b - r) / d + 2; break; - case b: h = (r - g) / d + 4; break; - } - - h /= 6; - } - - return { h: h, s: s, l: l }; -} - -// `hslToRgb` -// Converts an HSL color value to RGB. -// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100] -// *Returns:* { r, g, b } in the set [0, 255] -function hslToRgb(h, s, l) { - var r, g, b; - - h = bound01(h, 360); - s = bound01(s, 100); - l = bound01(l, 100); - - function hue2rgb(p, q, t) { - if(t < 0) t += 1; - if(t > 1) t -= 1; - if(t < 1/6) return p + (q - p) * 6 * t; - if(t < 1/2) return q; - if(t < 2/3) return p + (q - p) * (2/3 - t) * 6; - return p; - } - - if(s === 0) { - r = g = b = l; // achromatic - } - else { - var q = l < 0.5 ? l * (1 + s) : l + s - l * s; - var p = 2 * l - q; - r = hue2rgb(p, q, h + 1/3); - g = hue2rgb(p, q, h); - b = hue2rgb(p, q, h - 1/3); - } - - return { r: r * 255, g: g * 255, b: b * 255 }; -} - -// `rgbToHsv` -// Converts an RGB color value to HSV -// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1] -// *Returns:* { h, s, v } in [0,1] -function rgbToHsv(r, g, b) { - - r = bound01(r, 255); - g = bound01(g, 255); - b = bound01(b, 255); - - var max = mathMax(r, g, b), min = mathMin(r, g, b); - var h, s, v = max; - - var d = max - min; - s = max === 0 ? 0 : d / max; - - if(max == min) { - h = 0; // achromatic - } - else { - switch(max) { - case r: h = (g - b) / d + (g < b ? 6 : 0); break; - case g: h = (b - r) / d + 2; break; - case b: h = (r - g) / d + 4; break; - } - h /= 6; - } - return { h: h, s: s, v: v }; -} - -// `hsvToRgb` -// Converts an HSV color value to RGB. -// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100] -// *Returns:* { r, g, b } in the set [0, 255] - function hsvToRgb(h, s, v) { - - h = bound01(h, 360) * 6; - s = bound01(s, 100); - v = bound01(v, 100); - - var i = Math.floor(h), - f = h - i, - p = v * (1 - s), - q = v * (1 - f * s), - t = v * (1 - (1 - f) * s), - mod = i % 6, - r = [v, q, p, p, t, v][mod], - g = [t, v, v, q, p, p][mod], - b = [p, p, t, v, v, q][mod]; - - return { r: r * 255, g: g * 255, b: b * 255 }; -} - -// `rgbToHex` -// Converts an RGB color to hex -// Assumes r, g, and b are contained in the set [0, 255] -// Returns a 3 or 6 character hex -function rgbToHex(r, g, b, allow3Char) { - - var hex = [ - pad2(mathRound(r).toString(16)), - pad2(mathRound(g).toString(16)), - pad2(mathRound(b).toString(16)) - ]; - - // Return a 3 character hex if possible - if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) { - return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0); - } - - return hex.join(""); -} - -// `rgbaToHex` -// Converts an RGBA color plus alpha transparency to hex -// Assumes r, g, b are contained in the set [0, 255] and -// a in [0, 1]. Returns a 4 or 8 character rgba hex -function rgbaToHex(r, g, b, a, allow4Char) { - - var hex = [ - pad2(mathRound(r).toString(16)), - pad2(mathRound(g).toString(16)), - pad2(mathRound(b).toString(16)), - pad2(convertDecimalToHex(a)) - ]; - - // Return a 4 character hex if possible - if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) { - return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0); - } - - return hex.join(""); -} - -// `rgbaToArgbHex` -// Converts an RGBA color to an ARGB Hex8 string -// Rarely used, but required for "toFilter()" -function rgbaToArgbHex(r, g, b, a) { - - var hex = [ - pad2(convertDecimalToHex(a)), - pad2(mathRound(r).toString(16)), - pad2(mathRound(g).toString(16)), - pad2(mathRound(b).toString(16)) - ]; - - return hex.join(""); -} - -// `equals` -// Can be called with any tinycolor input -tinycolor.equals = function (color1, color2) { - if (!color1 || !color2) { return false; } - return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString(); -}; - -tinycolor.random = function() { - return tinycolor.fromRatio({ - r: mathRandom(), - g: mathRandom(), - b: mathRandom() + if (!isDraggable) { + return children({ + isDraggable: false }); + } + + const transferData = { + type: 'block', + srcClientIds: clientIds, + srcRootClientId + }; + return Object(external_wp_element_["createElement"])(external_wp_components_["Draggable"], { + cloneClassname: cloneClassname, + __experimentalTransferDataType: "wp-blocks", + transferData: transferData, + onDragStart: event => { + startDraggingBlocks(clientIds); + isDragging.current = true; + startScrolling(event); + + if (onDragStart) { + onDragStart(); + } + }, + onDragOver: scrollOnDragOver, + onDragEnd: () => { + stopDraggingBlocks(); + isDragging.current = false; + stopScrolling(); + + if (onDragEnd) { + onDragEnd(); + } + }, + __experimentalDragComponent: Object(external_wp_element_["createElement"])(draggable_chip["a" /* default */], { + count: clientIds.length, + icon: icon + }) + }, ({ + onDraggableStart, + onDraggableEnd + }) => { + return children({ + draggable: true, + onDragStart: onDraggableStart, + onDragEnd: onDraggableEnd + }); + }); }; +/* harmony default export */ var block_draggable = __webpack_exports__["a"] = (BlockDraggable); -// Modification Functions -// ---------------------- -// Thanks to less.js for some of the basics here -// -function desaturate(color, amount) { - amount = (amount === 0) ? 0 : (amount || 10); - var hsl = tinycolor(color).toHsl(); - hsl.s -= amount / 100; - hsl.s = clamp01(hsl.s); - return tinycolor(hsl); +/***/ }), + +/***/ "Zzu2": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: external ["wp","primitives"] +var external_wp_primitives_ = __webpack_require__("Tqx9"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/more-horizontal.js + + +/** + * WordPress dependencies + */ + +const moreHorizontal = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M11 13h2v-2h-2v2zm-6 0h2v-2H5v2zm12-2v2h2v-2h-2z" +})); +/* harmony default export */ var more_horizontal = (moreHorizontal); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/warning/index.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + +function Warning({ + className, + actions, + children, + secondaryActions +}) { + return Object(external_wp_element_["createElement"])("div", { + className: classnames_default()(className, 'block-editor-warning') + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-warning__contents" + }, Object(external_wp_element_["createElement"])("p", { + className: "block-editor-warning__message" + }, children), (external_wp_element_["Children"].count(actions) > 0 || secondaryActions) && Object(external_wp_element_["createElement"])("div", { + className: "block-editor-warning__actions" + }, external_wp_element_["Children"].count(actions) > 0 && external_wp_element_["Children"].map(actions, (action, i) => Object(external_wp_element_["createElement"])("span", { + key: i, + className: "block-editor-warning__action" + }, action)), secondaryActions && Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { + className: "block-editor-warning__secondary", + icon: more_horizontal, + label: Object(external_wp_i18n_["__"])('More options'), + popoverProps: { + position: 'bottom left', + className: 'block-editor-warning__dropdown' + }, + noIcons: true + }, () => Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, secondaryActions.map((item, pos) => Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + onClick: item.onClick, + key: pos + }, item.title))))))); } +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/warning/README.md + */ -function saturate(color, amount) { - amount = (amount === 0) ? 0 : (amount || 10); - var hsl = tinycolor(color).toHsl(); - hsl.s += amount / 100; - hsl.s = clamp01(hsl.s); - return tinycolor(hsl); + +/* harmony default export */ var warning = __webpack_exports__["a"] = (Warning); + + +/***/ }), + +/***/ "abaT": +/***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = (function(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));u - -function complement(color) { - var hsl = tinycolor(color).toHsl(); - hsl.h = (hsl.h + 180) % 360; - return tinycolor(hsl); -} - -function triad(color) { - var hsl = tinycolor(color).toHsl(); - var h = hsl.h; - return [ - tinycolor(color), - tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }), - tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l }) - ]; -} - -function tetrad(color) { - var hsl = tinycolor(color).toHsl(); - var h = hsl.h; - return [ - tinycolor(color), - tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }), - tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }), - tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l }) - ]; -} - -function splitcomplement(color) { - var hsl = tinycolor(color).toHsl(); - var h = hsl.h; - return [ - tinycolor(color), - tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}), - tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l}) - ]; -} - -function analogous(color, results, slices) { - results = results || 6; - slices = slices || 30; - - var hsl = tinycolor(color).toHsl(); - var part = 360 / slices; - var ret = [tinycolor(color)]; - - for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) { - hsl.h = (hsl.h + part) % 360; - ret.push(tinycolor(hsl)); - } - return ret; -} - -function monochromatic(color, results) { - results = results || 6; - var hsv = tinycolor(color).toHsv(); - var h = hsv.h, s = hsv.s, v = hsv.v; - var ret = []; - var modification = 1 / results; - - while (results--) { - ret.push(tinycolor({ h: h, s: s, v: v})); - v = (v + modification) % 1; - } - - return ret; -} - -// Utility Functions -// --------------------- - -tinycolor.mix = function(color1, color2, amount) { - amount = (amount === 0) ? 0 : (amount || 50); - - var rgb1 = tinycolor(color1).toRgb(); - var rgb2 = tinycolor(color2).toRgb(); - - var p = amount / 100; - - var rgba = { - r: ((rgb2.r - rgb1.r) * p) + rgb1.r, - g: ((rgb2.g - rgb1.g) * p) + rgb1.g, - b: ((rgb2.b - rgb1.b) * p) + rgb1.b, - a: ((rgb2.a - rgb1.a) * p) + rgb1.a - }; - - return tinycolor(rgba); -}; - - -// Readability Functions -// --------------------- -// false -// tinycolor.isReadable("#000", "#111",{level:"AA",size:"large"}) => false -tinycolor.isReadable = function(color1, color2, wcag2) { - var readability = tinycolor.readability(color1, color2); - var wcag2Parms, out; - - out = false; - - wcag2Parms = validateWCAG2Parms(wcag2); - switch (wcag2Parms.level + wcag2Parms.size) { - case "AAsmall": - case "AAAlarge": - out = readability >= 4.5; - break; - case "AAlarge": - out = readability >= 3; - break; - case "AAAsmall": - out = readability >= 7; - break; - } - return out; - -}; - -// `mostReadable` -// Given a base color and a list of possible foreground or background -// colors for that base, returns the most readable color. -// Optionally returns Black or White if the most readable color is unreadable. -// *Example* -// tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:false}).toHexString(); // "#112255" -// tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:true}).toHexString(); // "#ffffff" -// tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"large"}).toHexString(); // "#faf3f3" -// tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"small"}).toHexString(); // "#ffffff" -tinycolor.mostReadable = function(baseColor, colorList, args) { - var bestColor = null; - var bestScore = 0; - var readability; - var includeFallbackColors, level, size ; - args = args || {}; - includeFallbackColors = args.includeFallbackColors ; - level = args.level; - size = args.size; - - for (var i= 0; i < colorList.length ; i++) { - readability = tinycolor.readability(baseColor, colorList[i]); - if (readability > bestScore) { - bestScore = readability; - bestColor = tinycolor(colorList[i]); - } - } - - if (tinycolor.isReadable(baseColor, bestColor, {"level":level,"size":size}) || !includeFallbackColors) { - return bestColor; - } - else { - args.includeFallbackColors=false; - return tinycolor.mostReadable(baseColor,["#fff", "#000"],args); - } -}; - - -// Big List of Colors -// ------------------ -// -var names = tinycolor.names = { - aliceblue: "f0f8ff", - antiquewhite: "faebd7", - aqua: "0ff", - aquamarine: "7fffd4", - azure: "f0ffff", - beige: "f5f5dc", - bisque: "ffe4c4", - black: "000", - blanchedalmond: "ffebcd", - blue: "00f", - blueviolet: "8a2be2", - brown: "a52a2a", - burlywood: "deb887", - burntsienna: "ea7e5d", - cadetblue: "5f9ea0", - chartreuse: "7fff00", - chocolate: "d2691e", - coral: "ff7f50", - cornflowerblue: "6495ed", - cornsilk: "fff8dc", - crimson: "dc143c", - cyan: "0ff", - darkblue: "00008b", - darkcyan: "008b8b", - darkgoldenrod: "b8860b", - darkgray: "a9a9a9", - darkgreen: "006400", - darkgrey: "a9a9a9", - darkkhaki: "bdb76b", - darkmagenta: "8b008b", - darkolivegreen: "556b2f", - darkorange: "ff8c00", - darkorchid: "9932cc", - darkred: "8b0000", - darksalmon: "e9967a", - darkseagreen: "8fbc8f", - darkslateblue: "483d8b", - darkslategray: "2f4f4f", - darkslategrey: "2f4f4f", - darkturquoise: "00ced1", - darkviolet: "9400d3", - deeppink: "ff1493", - deepskyblue: "00bfff", - dimgray: "696969", - dimgrey: "696969", - dodgerblue: "1e90ff", - firebrick: "b22222", - floralwhite: "fffaf0", - forestgreen: "228b22", - fuchsia: "f0f", - gainsboro: "dcdcdc", - ghostwhite: "f8f8ff", - gold: "ffd700", - goldenrod: "daa520", - gray: "808080", - green: "008000", - greenyellow: "adff2f", - grey: "808080", - honeydew: "f0fff0", - hotpink: "ff69b4", - indianred: "cd5c5c", - indigo: "4b0082", - ivory: "fffff0", - khaki: "f0e68c", - lavender: "e6e6fa", - lavenderblush: "fff0f5", - lawngreen: "7cfc00", - lemonchiffon: "fffacd", - lightblue: "add8e6", - lightcoral: "f08080", - lightcyan: "e0ffff", - lightgoldenrodyellow: "fafad2", - lightgray: "d3d3d3", - lightgreen: "90ee90", - lightgrey: "d3d3d3", - lightpink: "ffb6c1", - lightsalmon: "ffa07a", - lightseagreen: "20b2aa", - lightskyblue: "87cefa", - lightslategray: "789", - lightslategrey: "789", - lightsteelblue: "b0c4de", - lightyellow: "ffffe0", - lime: "0f0", - limegreen: "32cd32", - linen: "faf0e6", - magenta: "f0f", - maroon: "800000", - mediumaquamarine: "66cdaa", - mediumblue: "0000cd", - mediumorchid: "ba55d3", - mediumpurple: "9370db", - mediumseagreen: "3cb371", - mediumslateblue: "7b68ee", - mediumspringgreen: "00fa9a", - mediumturquoise: "48d1cc", - mediumvioletred: "c71585", - midnightblue: "191970", - mintcream: "f5fffa", - mistyrose: "ffe4e1", - moccasin: "ffe4b5", - navajowhite: "ffdead", - navy: "000080", - oldlace: "fdf5e6", - olive: "808000", - olivedrab: "6b8e23", - orange: "ffa500", - orangered: "ff4500", - orchid: "da70d6", - palegoldenrod: "eee8aa", - palegreen: "98fb98", - paleturquoise: "afeeee", - palevioletred: "db7093", - papayawhip: "ffefd5", - peachpuff: "ffdab9", - peru: "cd853f", - pink: "ffc0cb", - plum: "dda0dd", - powderblue: "b0e0e6", - purple: "800080", - rebeccapurple: "663399", - red: "f00", - rosybrown: "bc8f8f", - royalblue: "4169e1", - saddlebrown: "8b4513", - salmon: "fa8072", - sandybrown: "f4a460", - seagreen: "2e8b57", - seashell: "fff5ee", - sienna: "a0522d", - silver: "c0c0c0", - skyblue: "87ceeb", - slateblue: "6a5acd", - slategray: "708090", - slategrey: "708090", - snow: "fffafa", - springgreen: "00ff7f", - steelblue: "4682b4", - tan: "d2b48c", - teal: "008080", - thistle: "d8bfd8", - tomato: "ff6347", - turquoise: "40e0d0", - violet: "ee82ee", - wheat: "f5deb3", - white: "fff", - whitesmoke: "f5f5f5", - yellow: "ff0", - yellowgreen: "9acd32" -}; - -// Make it easy to access colors via `hexNames[hex]` -var hexNames = tinycolor.hexNames = flip(names); - - -// Utilities -// --------- - -// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }` -function flip(o) { - var flipped = { }; - for (var i in o) { - if (o.hasOwnProperty(i)) { - flipped[o[i]] = i; - } - } - return flipped; -} - -// Return a valid alpha value [0,1] with all invalid values being set to 1 -function boundAlpha(a) { - a = parseFloat(a); - - if (isNaN(a) || a < 0 || a > 1) { - a = 1; - } - - return a; -} - -// Take input from [0, n] and return it as [0, 1] -function bound01(n, max) { - if (isOnePointZero(n)) { n = "100%"; } - - var processPercent = isPercentage(n); - n = mathMin(max, mathMax(0, parseFloat(n))); - - // Automatically convert percentage into number - if (processPercent) { - n = parseInt(n * max, 10) / 100; - } - - // Handle floating point rounding errors - if ((Math.abs(n - max) < 0.000001)) { - return 1; - } - - // Convert into [0, 1] range if it isn't already - return (n % max) / parseFloat(max); -} - -// Force a number between 0 and 1 -function clamp01(val) { - return mathMin(1, mathMax(0, val)); -} - -// Parse a base-16 hex value into a base-10 integer -function parseIntFromHex(val) { - return parseInt(val, 16); -} - -// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1 -// -function isOnePointZero(n) { - return typeof n == "string" && n.indexOf('.') != -1 && parseFloat(n) === 1; -} - -// Check to see if string passed in is a percentage -function isPercentage(n) { - return typeof n === "string" && n.indexOf('%') != -1; -} - -// Force a hex value to have 2 characters -function pad2(c) { - return c.length == 1 ? '0' + c : '' + c; -} - -// Replace a decimal with it's percentage value -function convertToPercentage(n) { - if (n <= 1) { - n = (n * 100) + "%"; - } - - return n; -} - -// Converts a decimal to a hex value -function convertDecimalToHex(d) { - return Math.round(parseFloat(d) * 255).toString(16); -} -// Converts a hex value to a decimal -function convertHexToDecimal(h) { - return (parseIntFromHex(h) / 255); -} - -var matchers = (function() { - - // - var CSS_INTEGER = "[-\\+]?\\d+%?"; - - // - var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?"; - - // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome. - var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")"; - - // Actual matching. - // Parentheses and commas are optional, but not required. - // Whitespace can take the place of commas or opening paren - var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; - var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; - - return { - CSS_UNIT: new RegExp(CSS_UNIT), - rgb: new RegExp("rgb" + PERMISSIVE_MATCH3), - rgba: new RegExp("rgba" + PERMISSIVE_MATCH4), - hsl: new RegExp("hsl" + PERMISSIVE_MATCH3), - hsla: new RegExp("hsla" + PERMISSIVE_MATCH4), - hsv: new RegExp("hsv" + PERMISSIVE_MATCH3), - hsva: new RegExp("hsva" + PERMISSIVE_MATCH4), - hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, - hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, - hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, - hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/ - }; -})(); - -// `isValidCSSUnit` -// Take in a single string / number and check to see if it looks like a CSS unit -// (see `matchers` above for definition). -function isValidCSSUnit(color) { - return !!matchers.CSS_UNIT.exec(color); -} - -// `stringInputToObject` -// Permissive string parsing. Take in a number of formats, and output an object -// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}` -function stringInputToObject(color) { - - color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase(); - var named = false; - if (names[color]) { - color = names[color]; - named = true; - } - else if (color == 'transparent') { - return { r: 0, g: 0, b: 0, a: 0, format: "name" }; - } - - // Try to match string input using regular expressions. - // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360] - // Just return an object and let the conversion functions handle that. - // This way the result will be the same whether the tinycolor is initialized with string or object. - var match; - if ((match = matchers.rgb.exec(color))) { - return { r: match[1], g: match[2], b: match[3] }; - } - if ((match = matchers.rgba.exec(color))) { - return { r: match[1], g: match[2], b: match[3], a: match[4] }; - } - if ((match = matchers.hsl.exec(color))) { - return { h: match[1], s: match[2], l: match[3] }; - } - if ((match = matchers.hsla.exec(color))) { - return { h: match[1], s: match[2], l: match[3], a: match[4] }; - } - if ((match = matchers.hsv.exec(color))) { - return { h: match[1], s: match[2], v: match[3] }; - } - if ((match = matchers.hsva.exec(color))) { - return { h: match[1], s: match[2], v: match[3], a: match[4] }; - } - if ((match = matchers.hex8.exec(color))) { - return { - r: parseIntFromHex(match[1]), - g: parseIntFromHex(match[2]), - b: parseIntFromHex(match[3]), - a: convertHexToDecimal(match[4]), - format: named ? "name" : "hex8" - }; - } - if ((match = matchers.hex6.exec(color))) { - return { - r: parseIntFromHex(match[1]), - g: parseIntFromHex(match[2]), - b: parseIntFromHex(match[3]), - format: named ? "name" : "hex" - }; - } - if ((match = matchers.hex4.exec(color))) { - return { - r: parseIntFromHex(match[1] + '' + match[1]), - g: parseIntFromHex(match[2] + '' + match[2]), - b: parseIntFromHex(match[3] + '' + match[3]), - a: convertHexToDecimal(match[4] + '' + match[4]), - format: named ? "name" : "hex8" - }; - } - if ((match = matchers.hex3.exec(color))) { - return { - r: parseIntFromHex(match[1] + '' + match[1]), - g: parseIntFromHex(match[2] + '' + match[2]), - b: parseIntFromHex(match[3] + '' + match[3]), - format: named ? "name" : "hex" - }; - } - - return false; -} - -function validateWCAG2Parms(parms) { - // return valid WCAG2 parms for isReadable. - // If input parms are invalid, return {"level":"AA", "size":"small"} - var level, size; - parms = parms || {"level":"AA", "size":"small"}; - level = (parms.level || "AA").toUpperCase(); - size = (parms.size || "small").toLowerCase(); - if (level !== "AA" && level !== "AAA") { - level = "AA"; - } - if (size !== "small" && size !== "large") { - size = "small"; - } - return {"level":level, "size":size}; -} - -// Node: Export function -if ( true && module.exports) { - module.exports = tinycolor; -} -// AMD/requirejs: Define the module -else if (true) { - !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {return tinycolor;}).call(exports, __webpack_require__, exports, module), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); -} -// Browser: Expose to window -else {} - -})(Math); - /***/ }), @@ -5262,7 +29397,7 @@ const grid = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createEleme /***/ }), -/***/ "bWcr": +/***/ "bTSr": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5276,13 +29411,165 @@ const grid = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createEleme * WordPress dependencies */ -const closeSmall = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { +const justifySpaceBetween = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["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" + d: "M9 15h6V9H9v6zm-5 5h1.5V4H4v16zM18.5 4v16H20V4h-1.5z" })); -/* harmony default export */ __webpack_exports__["a"] = (closeSmall); +/* harmony default export */ __webpack_exports__["a"] = (justifySpaceBetween); + + +/***/ }), + +/***/ "bVTw": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const lineSolid = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + width: "24", + height: "24", + fill: "none" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { + d: "M5 11.25h14v1.5H5z" +})); +/* harmony default export */ __webpack_exports__["a"] = (lineSolid); + + +/***/ }), + +/***/ "bVpQ": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getColorObjectByAttributeValues; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getColorObjectByColorValue; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getColorClassName; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getMostReadableColor; }); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var colord__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("fHnH"); +/* harmony import */ var colord_plugins_names__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("abaT"); +/* harmony import */ var colord_plugins_a11y__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("7bKH"); +/** + * External dependencies + */ + + + + +Object(colord__WEBPACK_IMPORTED_MODULE_1__[/* extend */ "b"])([colord_plugins_names__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], colord_plugins_a11y__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"]]); +/** + * 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 = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["find"])(colors, { + 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 Object(lodash__WEBPACK_IMPORTED_MODULE_0__["find"])(colors, { + 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-${Object(lodash__WEBPACK_IMPORTED_MODULE_0__["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 = Object(colord__WEBPACK_IMPORTED_MODULE_1__[/* colord */ "a"])(colorValue); + return Object(lodash__WEBPACK_IMPORTED_MODULE_0__["maxBy"])(colors, ({ + color + }) => colordColor.contrast(color)).color; +} + + +/***/ }), + +/***/ "beZb": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const stretchWide = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { + d: "M5 9v6h14V9H5zm11-4.8H8v1.5h8V4.2zM8 19.8h8v-1.5H8v1.5z" +})); +/* harmony default export */ __webpack_exports__["a"] = (stretchWide); /***/ }), @@ -5310,6 +29597,89 @@ const keyboardReturn = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["c /* harmony default export */ __webpack_exports__["a"] = (keyboardReturn); +/***/ }), + +/***/ "c1Zz": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BlockSupportToolsPanel; }); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("BhPs"); +/* harmony import */ var _hooks_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("715p"); + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + +function BlockSupportToolsPanel({ + children, + group, + label +}) { + const { + clientId, + attributes + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__["useSelect"])(select => { + const { + getBlockAttributes, + getSelectedBlockClientId + } = select(_store__WEBPACK_IMPORTED_MODULE_3__[/* store */ "a"]); + const selectedBlockClientId = getSelectedBlockClientId(); + return { + clientId: selectedBlockClientId, + attributes: getBlockAttributes(selectedBlockClientId) + }; + }, []); + const { + updateBlockAttributes + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__["useDispatch"])(_store__WEBPACK_IMPORTED_MODULE_3__[/* store */ "a"]); + + const resetAll = (resetFilters = []) => { + const { + style + } = attributes; + let newAttributes = { + style + }; + resetFilters.forEach(resetFilter => { + newAttributes = { ...newAttributes, + ...resetFilter(newAttributes) + }; + }); // Enforce a cleaned style object. + + newAttributes = { ...newAttributes, + style: Object(_hooks_utils__WEBPACK_IMPORTED_MODULE_4__[/* cleanEmptyObject */ "a"])(newAttributes.style) + }; + updateBlockAttributes(clientId, newAttributes); + }; + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["__experimentalToolsPanel"], { + className: `${group}-block-support-panel`, + label: label, + resetAll: resetAll, + key: clientId, + panelId: clientId, + hasInnerWrapper: true, + shouldRenderPlaceholderItems: true // Required to maintain fills ordering. + + }, children); +} + + /***/ }), /***/ "cDcd": @@ -5317,6 +29687,36 @@ const keyboardReturn = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["c (function() { module.exports = window["React"]; }()); +/***/ }), + +/***/ "cDhi": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BlockRefs; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return BlockRefsProvider; }); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); + + +/** + * WordPress dependencies + */ + +const BlockRefs = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createContext"])(); +function BlockRefsProvider({ + children +}) { + const value = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(() => ({ + refs: new Map(), + callbacks: new Map() + }), []); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(BlockRefs.Provider, { + value: value + }, children); +} + + /***/ }), /***/ "cGtP": @@ -5367,6 +29767,397 @@ const arrowLeft = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["create /* harmony default export */ __webpack_exports__["a"] = (arrowLeft); +/***/ }), + +/***/ "dfZa": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export Animated */ +/* unused harmony export AnimatedArray */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AnimatedObject; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return AnimatedString; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return AnimatedValue; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return createHost; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getAnimated; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getAnimatedType; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getPayload; }); +/* unused harmony export isAnimated */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return setAnimated; }); +/* harmony import */ var _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("nEW0"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("cDcd"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); + + + + +const $node = Symbol.for('Animated:node'); +const isAnimated = value => !!value && value[$node] === value; +const getAnimated = owner => owner && owner[$node]; +const setAnimated = (owner, node) => Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* defineHidden */ "h"])(owner, $node, node); +const getPayload = owner => owner && owner[$node] && owner[$node].getPayload(); +class Animated { + constructor() { + this.payload = void 0; + setAnimated(this, this); + } + + getPayload() { + return this.payload || []; + } + +} + +class AnimatedValue extends Animated { + constructor(_value) { + super(); + this.done = true; + this.elapsedTime = void 0; + this.lastPosition = void 0; + this.lastVelocity = void 0; + this.v0 = void 0; + this.durationProgress = 0; + this._value = _value; + + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].num(this._value)) { + this.lastPosition = this._value; + } + } + + static create(value) { + return new AnimatedValue(value); + } + + getPayload() { + return [this]; + } + + getValue() { + return this._value; + } + + setValue(value, step) { + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].num(value)) { + this.lastPosition = value; + + if (step) { + value = Math.round(value / step) * step; + + if (this.done) { + this.lastPosition = value; + } + } + } + + if (this._value === value) { + return false; + } + + this._value = value; + return true; + } + + reset() { + const { + done + } = this; + this.done = false; + + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].num(this._value)) { + this.elapsedTime = 0; + this.durationProgress = 0; + this.lastPosition = this._value; + if (done) this.lastVelocity = null; + this.v0 = null; + } + } + +} + +class AnimatedString extends AnimatedValue { + constructor(value) { + super(0); + this._string = null; + this._toString = void 0; + this._toString = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* createInterpolator */ "f"])({ + output: [value, value] + }); + } + + static create(value) { + return new AnimatedString(value); + } + + getValue() { + let value = this._string; + return value == null ? this._string = this._toString(this._value) : value; + } + + setValue(value) { + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].str(value)) { + if (value == this._string) { + return false; + } + + this._string = value; + this._value = 1; + } else if (super.setValue(value)) { + this._string = null; + } else { + return false; + } + + return true; + } + + reset(goal) { + if (goal) { + this._toString = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* createInterpolator */ "f"])({ + output: [this.getValue(), goal] + }); + } + + this._value = 0; + super.reset(); + } + +} + +const TreeContext = { + dependencies: null +}; + +class AnimatedObject extends Animated { + constructor(source) { + super(); + this.source = source; + this.setValue(source); + } + + getValue(animated) { + const values = {}; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* eachProp */ "l"])(this.source, (source, key) => { + if (isAnimated(source)) { + values[key] = source.getValue(animated); + } else if (Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* hasFluidValue */ "r"])(source)) { + values[key] = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* getFluidValue */ "q"])(source); + } else if (!animated) { + values[key] = source; + } + }); + return values; + } + + setValue(source) { + this.source = source; + this.payload = this._makePayload(source); + } + + reset() { + if (this.payload) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(this.payload, node => node.reset()); + } + } + + _makePayload(source) { + if (source) { + const payload = new Set(); + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* eachProp */ "l"])(source, this._addToPayload, payload); + return Array.from(payload); + } + } + + _addToPayload(source) { + if (TreeContext.dependencies && Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* hasFluidValue */ "r"])(source)) { + TreeContext.dependencies.add(source); + } + + const payload = getPayload(source); + + if (payload) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(payload, node => this.add(node)); + } + } + +} + +class AnimatedArray extends AnimatedObject { + constructor(source) { + super(source); + } + + static create(source) { + return new AnimatedArray(source); + } + + getValue() { + return this.source.map(node => node.getValue()); + } + + setValue(source) { + const payload = this.getPayload(); + + if (source.length == payload.length) { + return payload.map((node, i) => node.setValue(source[i])).some(Boolean); + } + + super.setValue(source.map(makeAnimated)); + return true; + } + +} + +function makeAnimated(value) { + const nodeType = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* isAnimatedString */ "t"])(value) ? AnimatedString : AnimatedValue; + return nodeType.create(value); +} + +function getAnimatedType(value) { + const parentNode = getAnimated(value); + return parentNode ? parentNode.constructor : _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].arr(value) ? AnimatedArray : Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* isAnimatedString */ "t"])(value) ? AnimatedString : AnimatedValue; +} + +function _extends() { + _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + return _extends.apply(this, arguments); +} + +const withAnimated = (Component, host) => { + const hasInstance = !_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(Component) || Component.prototype && Component.prototype.isReactComponent; + return Object(react__WEBPACK_IMPORTED_MODULE_1__["forwardRef"])((givenProps, givenRef) => { + const instanceRef = Object(react__WEBPACK_IMPORTED_MODULE_1__["useRef"])(null); + const ref = hasInstance && Object(react__WEBPACK_IMPORTED_MODULE_1__["useCallback"])(value => { + instanceRef.current = updateRef(givenRef, value); + }, [givenRef]); + const [props, deps] = getAnimatedState(givenProps, host); + const forceUpdate = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useForceUpdate */ "z"])(); + + const callback = () => { + const instance = instanceRef.current; + + if (hasInstance && !instance) { + return; + } + + const didUpdate = instance ? host.applyAnimatedValues(instance, props.getValue(true)) : false; + + if (didUpdate === false) { + forceUpdate(); + } + }; + + const observer = new PropsObserver(callback, deps); + const observerRef = Object(react__WEBPACK_IMPORTED_MODULE_1__["useRef"])(); + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => { + const lastObserver = observerRef.current; + observerRef.current = observer; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(deps, dep => Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* addFluidObserver */ "c"])(dep, observer)); + + if (lastObserver) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(lastObserver.deps, dep => Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* removeFluidObserver */ "x"])(dep, lastObserver)); + _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* raf */ "w"].cancel(lastObserver.update); + } + }); + Object(react__WEBPACK_IMPORTED_MODULE_1__["useEffect"])(callback, []); + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useOnce */ "C"])(() => () => { + const observer = observerRef.current; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(observer.deps, dep => Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* removeFluidObserver */ "x"])(dep, observer)); + }); + const usedProps = host.getComponentProps(props.getValue()); + return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](Component, _extends({}, usedProps, { + ref: ref + })); + }); +}; + +class PropsObserver { + constructor(update, deps) { + this.update = update; + this.deps = deps; + } + + eventObserved(event) { + if (event.type == 'change') { + _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* raf */ "w"].write(this.update); + } + } + +} + +function getAnimatedState(props, host) { + const dependencies = new Set(); + TreeContext.dependencies = dependencies; + if (props.style) props = _extends({}, props, { + style: host.createAnimatedStyle(props.style) + }); + props = new AnimatedObject(props); + TreeContext.dependencies = null; + return [props, dependencies]; +} + +function updateRef(ref, value) { + if (ref) { + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(ref)) ref(value);else ref.current = value; + } + + return value; +} + +const cacheKey = Symbol.for('AnimatedComponent'); +const createHost = (components, { + applyAnimatedValues: _applyAnimatedValues = () => false, + createAnimatedStyle: _createAnimatedStyle = style => new AnimatedObject(style), + getComponentProps: _getComponentProps = props => props +} = {}) => { + const hostConfig = { + applyAnimatedValues: _applyAnimatedValues, + createAnimatedStyle: _createAnimatedStyle, + getComponentProps: _getComponentProps + }; + + const animated = Component => { + const displayName = getDisplayName(Component) || 'Anonymous'; + + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].str(Component)) { + Component = animated[Component] || (animated[Component] = withAnimated(Component, hostConfig)); + } else { + Component = Component[cacheKey] || (Component[cacheKey] = withAnimated(Component, hostConfig)); + } + + Component.displayName = `Animated(${displayName})`; + return Component; + }; + + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* eachProp */ "l"])(components, (Component, key) => { + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].arr(components)) { + key = getDisplayName(Component); + } + + animated[key] = animated(Component); + }); + return { + animated + }; +}; + +const getDisplayName = arg => _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].str(arg) ? arg : arg && _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].str(arg.displayName) ? arg.displayName : _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(arg) && arg.name || null; + + + + /***/ }), /***/ "eGrx": @@ -5688,6 +30479,396 @@ var hasOwnProperty = Object.hasOwnProperty || function (obj, key) { }; +/***/ }), + +/***/ "ez49": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright 2013-2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule isEventSupported + */ + + + +var ExecutionEnvironment = __webpack_require__("o97j"); + +var useHasFeature; +if (ExecutionEnvironment.canUseDOM) { + useHasFeature = + document.implementation && + document.implementation.hasFeature && + // always returns true in newer browsers as per the standard. + // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature + document.implementation.hasFeature('', '') !== true; +} + +/** + * Checks if an event is supported in the current execution environment. + * + * NOTE: This will not work correctly for non-generic events such as `change`, + * `reset`, `load`, `error`, and `select`. + * + * Borrows from Modernizr. + * + * @param {string} eventNameSuffix Event name, e.g. "click". + * @param {?boolean} capture Check if the capture phase is supported. + * @return {boolean} True if the event is supported. + * @internal + * @license Modernizr 3.0.0pre (Custom Build) | MIT + */ +function isEventSupported(eventNameSuffix, capture) { + if (!ExecutionEnvironment.canUseDOM || + capture && !('addEventListener' in document)) { + return false; + } + + var eventName = 'on' + eventNameSuffix; + var isSupported = eventName in document; + + if (!isSupported) { + var element = document.createElement('div'); + element.setAttribute(eventName, 'return;'); + isSupported = typeof element[eventName] === 'function'; + } + + if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') { + // This is the only way to test support for the `wheel` event in IE9+. + isSupported = document.implementation.hasFeature('Events.wheel', '3.0'); + } + + return isSupported; +} + +module.exports = isEventSupported; + + +/***/ }), + +/***/ "f8JO": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BlockTitle; }); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("HSyU"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _use_block_display_information__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("wC17"); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("BhPs"); +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * 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. + * + * @return {?string} Block title. + */ + +function BlockTitle({ + clientId +}) { + const { + attributes, + name, + reusableBlockTitle + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__["useSelect"])(select => { + if (!clientId) { + return {}; + } + + const { + getBlockName, + getBlockAttributes, + __experimentalGetReusableBlockTitle + } = select(_store__WEBPACK_IMPORTED_MODULE_4__[/* store */ "a"]); + const blockName = getBlockName(clientId); + + if (!blockName) { + return {}; + } + + const isReusable = Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__["isReusableBlock"])(Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__["getBlockType"])(blockName)); + return { + attributes: getBlockAttributes(clientId), + name: blockName, + reusableBlockTitle: isReusable && __experimentalGetReusableBlockTitle(getBlockAttributes(clientId).ref) + }; + }, [clientId]); + const blockInformation = Object(_use_block_display_information__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(clientId); + if (!name || !blockInformation) return null; + const blockType = Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__["getBlockType"])(name); + const blockLabel = blockType ? Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__["__experimentalGetBlockLabel"])(blockType, attributes) : 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 possible + // possible block variation title match. + + if (label && label !== blockType.title) { + return Object(lodash__WEBPACK_IMPORTED_MODULE_0__["truncate"])(label, { + length: 35 + }); + } + + return blockInformation.title; +} + + +/***/ }), + +/***/ "fHnH": +/***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export Colord */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return w; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return k; }); +/* unused harmony export getFormat */ +/* unused harmony export random */ +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()})}; + + +/***/ }), + +/***/ "fOYa": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ BlockFormatControls; }); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/groups.js +/** + * WordPress dependencies + */ + +const BlockControlsDefault = Object(external_wp_components_["createSlotFill"])('BlockControls'); +const BlockControlsBlock = Object(external_wp_components_["createSlotFill"])('BlockControlsBlock'); +const BlockControlsInline = Object(external_wp_components_["createSlotFill"])('BlockFormatControls'); +const BlockControlsOther = Object(external_wp_components_["createSlotFill"])('BlockControlsOther'); +const BlockControlsParent = Object(external_wp_components_["createSlotFill"])('BlockControlsParent'); +const groups = { + default: BlockControlsDefault, + block: BlockControlsBlock, + inline: BlockControlsInline, + other: BlockControlsOther, + parent: BlockControlsParent +}; +/* harmony default export */ var block_controls_groups = (groups); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit/context.js +var context = __webpack_require__("ur0x"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-display-block-controls/index.js +var use_display_block_controls = __webpack_require__("HgtZ"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/hook.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + + +function useBlockControlsFill(group, shareWithChildBlocks) { + const isDisplayed = Object(use_display_block_controls["a" /* default */])(); + const { + clientId + } = Object(context["c" /* useBlockEditContext */])(); + const isParentDisplayed = Object(external_wp_data_["useSelect"])(select => { + const { + getBlockName, + hasSelectedInnerBlock + } = select(store["a" /* store */]); + const { + hasBlockSupport + } = select(external_wp_blocks_["store"]); + return shareWithChildBlocks && hasBlockSupport(getBlockName(clientId), '__experimentalExposeControlsToChildren', false) && hasSelectedInnerBlock(clientId); + }, [shareWithChildBlocks, clientId]); + + if (isDisplayed) { + var _groups$group; + + return (_groups$group = block_controls_groups[group]) === null || _groups$group === void 0 ? void 0 : _groups$group.Fill; + } + + if (isParentDisplayed) { + return block_controls_groups.parent.Fill; + } + + return null; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/fill.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +function BlockControlsFill({ + group = 'default', + controls, + children, + __experimentalShareWithChildBlocks = false +}) { + const Fill = useBlockControlsFill(group, __experimentalShareWithChildBlocks); + + if (!Fill) { + return null; + } + + return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalStyleProvider"], { + document: document + }, Object(external_wp_element_["createElement"])(Fill, null, fillProps => { + // Children passed to BlockControlsFill will not have access to any + // React Context whose Provider is part of the BlockControlsSlot tree. + // So we re-create the Provider in this subtree. + const value = !Object(external_lodash_["isEmpty"])(fillProps) ? fillProps : null; + return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolbarContext"].Provider, { + value: value + }, group === 'default' && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], { + controls: controls + }), children); + })); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/slot.js + + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +function BlockControlsSlot({ + group = 'default', + ...props +}) { + const accessibleToolbarState = Object(external_wp_element_["useContext"])(external_wp_components_["__experimentalToolbarContext"]); + const Slot = block_controls_groups[group].Slot; + const slot = Object(external_wp_components_["__experimentalUseSlot"])(Slot.__unstableName); + const hasFills = Boolean(slot.fills && slot.fills.length); + + if (!hasFills) { + return null; + } + + if (group === 'default') { + return Object(external_wp_element_["createElement"])(Slot, Object(esm_extends["a" /* default */])({}, props, { + bubblesVirtually: true, + fillProps: accessibleToolbarState + })); + } + + return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(Slot, Object(esm_extends["a" /* default */])({}, props, { + bubblesVirtually: true, + fillProps: accessibleToolbarState + }))); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/index.js + + + +/** + * Internal dependencies + */ + + +const BlockControls = BlockControlsFill; +BlockControls.Slot = BlockControlsSlot; // This is just here for backward compatibility + +const BlockFormatControls = props => { + return Object(external_wp_element_["createElement"])(BlockControlsFill, Object(esm_extends["a" /* default */])({ + group: "inline" + }, props)); +}; + +BlockFormatControls.Slot = props => { + return Object(external_wp_element_["createElement"])(BlockControlsSlot, Object(esm_extends["a" /* default */])({ + group: "inline" + }, props)); +}; + +/* harmony default export */ var block_controls = __webpack_exports__["b"] = (BlockControls); + + /***/ }), /***/ "fPbg": @@ -5713,6 +30894,119 @@ const alignLeft = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["create /* harmony default export */ __webpack_exports__["a"] = (alignLeft); +/***/ }), + +/***/ "faye": +/***/ (function(module, exports) { + +(function() { module.exports = window["ReactDOM"]; }()); + +/***/ }), + +/***/ "felP": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useEventHandlers; }); +/* harmony import */ var _wordpress_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1CF3"); +/* harmony import */ var _wordpress_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_dom__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("RxS6"); +/* harmony import */ var _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("BhPs"); +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +/** + * Adds block behaviour: + * - Removes the block on BACKSPACE. + * - Inserts a default block on ENTER. + * - Disables dragging of block contents. + * + * @param {string} clientId Block client ID. + */ + +function useEventHandlers(clientId) { + const isSelected = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__["useSelect"])(select => select(_store__WEBPACK_IMPORTED_MODULE_4__[/* store */ "a"]).isBlockSelected(clientId), [clientId]); + const { + getBlockRootClientId, + getBlockIndex + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__["useSelect"])(_store__WEBPACK_IMPORTED_MODULE_4__[/* store */ "a"]); + const { + insertDefaultBlock, + removeBlock + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__["useDispatch"])(_store__WEBPACK_IMPORTED_MODULE_4__[/* store */ "a"]); + return Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__["useRefEffect"])(node => { + if (!isSelected) { + return; + } + /** + * Interprets keydown event intent to remove or insert after block if + * key event occurs on wrapper node. This can occur when the block has + * no text fields of its own, particularly after initial insertion, to + * allow for easy deletion and continuous writing flow to add additional + * content. + * + * @param {KeyboardEvent} event Keydown event. + */ + + + function onKeyDown(event) { + const { + keyCode, + target + } = event; + + if (keyCode !== _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1__["ENTER"] && keyCode !== _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1__["BACKSPACE"] && keyCode !== _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1__["DELETE"]) { + return; + } + + if (target !== node || Object(_wordpress_dom__WEBPACK_IMPORTED_MODULE_0__["isTextField"])(target)) { + return; + } + + event.preventDefault(); + + if (keyCode === _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1__["ENTER"]) { + insertDefaultBlock({}, getBlockRootClientId(clientId), getBlockIndex(clientId) + 1); + } else { + removeBlock(clientId); + } + } + /** + * Prevents default dragging behavior within a block. To do: we must + * handle this in the future and clean up the drag target. + * + * @param {DragEvent} event Drag event. + */ + + + function onDragStart(event) { + event.preventDefault(); + } + + node.addEventListener('keydown', onKeyDown); + node.addEventListener('dragstart', onDragStart); + return () => { + node.removeEventListener('keydown', onKeyDown); + node.removeEventListener('dragstart', onDragStart); + }; + }, [clientId, isSelected, getBlockRootClientId, getBlockIndex, insertDefaultBlock, removeBlock]); +} + + /***/ }), /***/ "g56x": @@ -5734,6 +31028,633 @@ const alignLeft = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["create (function() { module.exports = window["wp"]["keyboardShortcuts"]; }()); +/***/ }), + +/***/ "hHnB": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("TSYQ"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _block_selection_clearer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("zQI6"); +/* harmony import */ var _writing_flow__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("TVFh"); + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + +const BODY_CLASS_NAME = 'editor-styles-wrapper'; +const BLOCK_PREFIX = 'wp-block'; +/** + * Clones stylesheets targetting the editor canvas to the given document. A + * stylesheet is considered targetting the editor a canvas if it contains the + * `editor-styles-wrapper`, `wp-block`, or `wp-block-*` class selectors. + * + * Ideally, this hook should be removed in the future and styles should be added + * explicitly as editor styles. + * + * @param {Document} doc The document to append cloned stylesheets to. + */ + +function styleSheetsCompat(doc) { + // Search the document for stylesheets targetting the editor canvas. + Array.from(document.styleSheets).forEach(styleSheet => { + try { + // May fail for external styles. + // eslint-disable-next-line no-unused-expressions + styleSheet.cssRules; + } catch (e) { + return; + } + + const { + ownerNode, + cssRules + } = styleSheet; + + if (!cssRules) { + return; + } // Generally, ignore inline styles. We add inline styles belonging to a + // stylesheet later, which may or may not match the selectors. + + + if (ownerNode.tagName !== 'LINK') { + return; + } // 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; + } + + const isMatch = Array.from(cssRules).find(({ + selectorText + }) => selectorText && (selectorText.includes(`.${BODY_CLASS_NAME}`) || selectorText.includes(`.${BLOCK_PREFIX}`))); + + if (isMatch && !doc.getElementById(ownerNode.id)) { + // eslint-disable-next-line no-console + console.warn(`Stylesheet ${ownerNode.id} was not properly added. +For blocks, use the block API's style (https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#style) or editorStyle (https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#editor-style). +For themes, use add_editor_style (https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-support/#editor-styles).`, ownerNode.outerHTML); + doc.head.appendChild(ownerNode.cloneNode(true)); // Add inline styles belonging to the stylesheet. + + const inlineCssId = ownerNode.id.replace('-css', '-inline-css'); + const inlineCssElement = document.getElementById(inlineCssId); + + if (inlineCssElement) { + doc.head.appendChild(inlineCssElement.cloneNode(true)); + } + } + }); +} +/** + * Bubbles some event types (keydown, keypress, and dragover) to parent document + * document to ensure that the keyboard shortcuts and drag and drop work. + * + * Ideally, we should remove event bubbling in the future. Keyboard shortcuts + * should be context dependent, e.g. actions on blocks like Cmd+A should not + * work globally outside the block editor. + * + * @param {Document} doc Document to attach listeners to. + */ + + +function bubbleEvents(doc) { + const { + defaultView + } = doc; + const { + frameElement + } = defaultView; + + function bubbleEvent(event) { + const prototype = Object.getPrototypeOf(event); + const constructorName = prototype.constructor.name; + const Constructor = window[constructorName]; + const init = {}; + + for (const key in event) { + init[key] = event[key]; + } + + if (event instanceof defaultView.MouseEvent) { + const rect = frameElement.getBoundingClientRect(); + init.clientX += rect.left; + init.clientY += rect.top; + } + + const newEvent = new Constructor(event.type, init); + const cancelled = !frameElement.dispatchEvent(newEvent); + + if (cancelled) { + event.preventDefault(); + } + } + + const eventTypes = ['dragover']; + + for (const name of eventTypes) { + doc.addEventListener(name, bubbleEvent); + } +} + +function useParsedAssets(html) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(() => { + const doc = document.implementation.createHTMLDocument(''); + doc.body.innerHTML = html; + return Array.from(doc.body.children); + }, [html]); +} + +async function loadScript(head, { + id, + src +}) { + return new Promise((resolve, reject) => { + const script = head.ownerDocument.createElement('script'); + script.id = id; + + if (src) { + script.src = src; + + script.onload = () => resolve(); + + script.onerror = () => reject(); + } else { + resolve(); + } + + head.appendChild(script); + }); +} + +function Iframe({ + contentRef, + children, + head, + tabIndex = 0, + ...props +}, ref) { + var _window$__editorAsset, _window$__editorAsset2; + + const [, forceRender] = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useReducer"])(() => ({})); + const [iframeDocument, setIframeDocument] = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useState"])(); + const [bodyClasses, setBodyClasses] = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useState"])([]); + const styles = useParsedAssets((_window$__editorAsset = window.__editorAssets) === null || _window$__editorAsset === void 0 ? void 0 : _window$__editorAsset.styles); + const scripts = useParsedAssets((_window$__editorAsset2 = window.__editorAssets) === null || _window$__editorAsset2 === void 0 ? void 0 : _window$__editorAsset2.scripts); + const clearerRef = Object(_block_selection_clearer__WEBPACK_IMPORTED_MODULE_6__[/* useBlockSelectionClearer */ "b"])(); + const [before, writingFlowRef, after] = Object(_writing_flow__WEBPACK_IMPORTED_MODULE_7__[/* useWritingFlow */ "b"])(); + const setRef = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__["useRefEffect"])(node => { + function setDocumentIfReady() { + const { + contentDocument, + ownerDocument + } = node; + const { + readyState, + documentElement + } = contentDocument; + + if (readyState !== 'interactive' && readyState !== 'complete') { + return false; + } + + bubbleEvents(contentDocument); + setIframeDocument(contentDocument); + clearerRef(documentElement); // Ideally ALL classes that are added through get_body_class should + // be added in the editor too, which we'll somehow have to get from + // the server in the future (which will run the PHP filters). + + setBodyClasses(Array.from(ownerDocument.body.classList).filter(name => name.startsWith('admin-color-') || name === 'wp-embed-responsive')); + contentDocument.dir = ownerDocument.dir; + documentElement.removeChild(contentDocument.head); + documentElement.removeChild(contentDocument.body); + return true; + } + + if (setDocumentIfReady()) { + return; + } // Document is not immediately loaded in Firefox. + + + node.addEventListener('load', () => { + setDocumentIfReady(); + }); + }, []); + const headRef = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__["useRefEffect"])(element => { + scripts.reduce((promise, script) => promise.then(() => loadScript(element, script)), Promise.resolve()).finally(() => { + // When script are loaded, re-render blocks to allow them + // to initialise. + forceRender(); + }); + }, []); + const bodyRef = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__["useMergeRefs"])([contentRef, clearerRef, writingFlowRef]); + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useEffect"])(() => { + if (iframeDocument) { + styleSheetsCompat(iframeDocument); + } + }, [iframeDocument]); + head = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("style", null, 'body{margin:0}'), styles.map(({ + tagName, + href, + id, + rel, + media, + textContent + }) => { + const TagName = tagName.toLowerCase(); + + if (TagName === 'style') { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(TagName, { + id, + key: id + }, textContent); + } + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(TagName, { + href, + id, + rel, + media, + key: id + }); + }), head); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null, tabIndex >= 0 && before, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("iframe", Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, props, { + ref: Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__["useMergeRefs"])([ref, setRef]), + tabIndex: tabIndex, + title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Editor canvas') + }), iframeDocument && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createPortal"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("head", { + ref: headRef + }, head), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("body", { + ref: bodyRef, + className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(BODY_CLASS_NAME, ...bodyClasses) + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__["__experimentalStyleProvider"], { + document: iframeDocument + }, children))), iframeDocument.documentElement)), tabIndex >= 0 && after); +} + +/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["forwardRef"])(Iframe)); + + +/***/ }), + +/***/ "hMaJ": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("TSYQ"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _use_setting__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("v5LD"); + + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +const colorsAndGradientKeys = ['colors', 'disableCustomColors', 'gradients', 'disableCustomGradients']; + +function ColorGradientControlInner({ + colors, + gradients, + disableCustomColors, + disableCustomGradients, + __experimentalHasMultipleOrigins, + className, + label, + onColorChange, + onGradientChange, + colorValue, + gradientValue, + clearable, + showTitle = true +}) { + const canChooseAColor = onColorChange && (!Object(lodash__WEBPACK_IMPORTED_MODULE_3__["isEmpty"])(colors) || !disableCustomColors); + const canChooseAGradient = onGradientChange && (!Object(lodash__WEBPACK_IMPORTED_MODULE_3__["isEmpty"])(gradients) || !disableCustomGradients); + const [currentTab, setCurrentTab] = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useState"])(gradientValue ? 'gradient' : !!canChooseAColor && 'color'); + + if (!canChooseAColor && !canChooseAGradient) { + return null; + } + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__["BaseControl"], { + className: classnames__WEBPACK_IMPORTED_MODULE_2___default()('block-editor-color-gradient-control', className) + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("fieldset", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__["__experimentalVStack"], { + spacing: 1 + }, showTitle && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("legend", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("div", { + className: "block-editor-color-gradient-control__color-indicator" + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__["BaseControl"].VisualLabel, null, label))), canChooseAColor && canChooseAGradient && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__["__experimentalToggleGroupControl"], { + value: currentTab, + onChange: setCurrentTab, + label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('Select color type'), + hideLabelFromVision: true, + isBlock: true + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__["__experimentalToggleGroupControlOption"], { + value: "color", + label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('Solid') + }), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__["__experimentalToggleGroupControlOption"], { + value: "gradient", + label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('Gradient') + })), (currentTab === 'color' || !canChooseAGradient) && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__["ColorPalette"], { + value: colorValue, + onChange: canChooseAGradient ? newColor => { + onColorChange(newColor); + onGradientChange(); + } : onColorChange, + colors, + disableCustomColors, + __experimentalHasMultipleOrigins: __experimentalHasMultipleOrigins, + clearable: clearable + }), (currentTab === 'gradient' || !canChooseAColor) && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__["GradientPicker"], { + value: gradientValue, + onChange: canChooseAColor ? newGradient => { + onGradientChange(newGradient); + onColorChange(); + } : onGradientChange, + gradients, + disableCustomGradients, + __experimentalHasMultipleOrigins: __experimentalHasMultipleOrigins, + clearable: clearable + })))); +} + +function ColorGradientControlSelect(props) { + const colorGradientSettings = {}; + colorGradientSettings.colors = Object(_use_setting__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])('color.palette'); + colorGradientSettings.gradients = Object(_use_setting__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])('color.gradients'); + colorGradientSettings.disableCustomColors = !Object(_use_setting__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])('color.custom'); + colorGradientSettings.disableCustomGradients = !Object(_use_setting__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])('color.customGradient'); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(ColorGradientControlInner, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, colorGradientSettings, props)); +} + +function ColorGradientControl(props) { + if (Object(lodash__WEBPACK_IMPORTED_MODULE_3__["every"])(colorsAndGradientKeys, key => props.hasOwnProperty(key))) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(ColorGradientControlInner, props); + } + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(ColorGradientControlSelect, props); +} + +/* harmony default export */ __webpack_exports__["a"] = (ColorGradientControl); + + +/***/ }), + +/***/ "hw9B": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useMultiSelection; }); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("BhPs"); +/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("OL6h"); +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + +function toggleRichText(container, toggle) { + Array.from(container.closest('.is-root-container').querySelectorAll('.rich-text')).forEach(node => { + if (toggle) { + node.setAttribute('contenteditable', true); + } else { + node.removeAttribute('contenteditable'); + } + }); +} +/** + * Sets a multi-selection based on the native selection across blocks. + * + * @param {string} clientId Block client ID. + */ + + +function useMultiSelection(clientId) { + const { + startMultiSelect, + stopMultiSelect, + multiSelect, + selectBlock + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__["useDispatch"])(_store__WEBPACK_IMPORTED_MODULE_2__[/* store */ "a"]); + const { + isSelectionEnabled, + isBlockSelected, + getBlockParents, + getBlockSelectionStart, + hasMultiSelection + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__["useSelect"])(_store__WEBPACK_IMPORTED_MODULE_2__[/* store */ "a"]); + return Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_1__["useRefEffect"])(node => { + const { + ownerDocument + } = node; + const { + defaultView + } = ownerDocument; + let anchorElement; + let rafId; + + function onSelectionChange({ + isSelectionEnd + }) { + const selection = defaultView.getSelection(); // If no selection is found, end multi selection and enable all rich + // text areas. + + if (!selection.rangeCount || selection.isCollapsed) { + toggleRichText(node, true); + return; + } + + const endClientId = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_3__[/* getBlockClientId */ "a"])(selection.focusNode); + const isSingularSelection = clientId === endClientId; + + if (isSingularSelection) { + selectBlock(clientId); // If the selection is complete (on mouse up), and no + // multiple blocks have been selected, set focus back to the + // anchor element. if the anchor element contains the + // selection. Additionally, rich text elements that were + // previously disabled can now be enabled again. + + if (isSelectionEnd) { + toggleRichText(node, true); + + if (selection.rangeCount) { + const { + commonAncestorContainer + } = selection.getRangeAt(0); + + if (anchorElement.contains(commonAncestorContainer)) { + anchorElement.focus(); + } + } + } + } else { + const startPath = [...getBlockParents(clientId), clientId]; + const endPath = [...getBlockParents(endClientId), endClientId]; + const depth = Math.min(startPath.length, endPath.length) - 1; + multiSelect(startPath[depth], endPath[depth]); + } + } + + function onSelectionEnd() { + ownerDocument.removeEventListener('selectionchange', onSelectionChange); // Equivalent to attaching the listener once. + + defaultView.removeEventListener('mouseup', onSelectionEnd); // The browser selection won't have updated yet at this point, + // so wait until the next animation frame to get the browser + // selection. + + rafId = defaultView.requestAnimationFrame(() => { + onSelectionChange({ + isSelectionEnd: true + }); + stopMultiSelect(); + }); + } + + function onMouseLeave({ + buttons + }) { + // The primary button must be pressed to initiate selection. + // See https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons + if (buttons !== 1) { + return; + } + + if (!isSelectionEnabled() || !isBlockSelected(clientId)) { + return; + } + + anchorElement = ownerDocument.activeElement; + startMultiSelect(); // `onSelectionStart` is called after `mousedown` and + // `mouseleave` (from a block). The selection ends when + // `mouseup` happens anywhere in the window. + + ownerDocument.addEventListener('selectionchange', onSelectionChange); + defaultView.addEventListener('mouseup', onSelectionEnd); // Removing the contenteditable attributes within the block + // editor is essential for selection to work across editable + // areas. The edible hosts are removed, allowing selection to be + // extended outside the DOM element. `startMultiSelect` sets a + // flag in the store so the rich text components are updated, + // but the rerender may happen very slowly, especially in Safari + // for the blocks that are asynchonously rendered. To ensure the + // browser instantly removes the selection boundaries, we remove + // the contenteditable attributes manually. + + toggleRichText(node, false); + } + + function onMouseDown(event) { + // The main button. + // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button + if (!isSelectionEnabled() || event.button !== 0) { + return; + } + + if (event.shiftKey) { + const blockSelectionStart = getBlockSelectionStart(); // By checking `blockSelectionStart` to be set, we handle the + // case where we select a single block. We also have to check + // the selectionEnd (clientId) not to be included in the + // `blockSelectionStart`'s parents because the click event is + // propagated. + + const startParents = getBlockParents(blockSelectionStart); + + if (blockSelectionStart && blockSelectionStart !== clientId && !(startParents !== null && startParents !== void 0 && startParents.includes(clientId))) { + const startPath = [...startParents, blockSelectionStart]; + const endPath = [...getBlockParents(clientId), clientId]; + const depth = Math.min(startPath.length, endPath.length) - 1; + const start = startPath[depth]; + const end = endPath[depth]; // Handle the case of having selected a parent block and + // then sfift+click on a child. + + if (start !== end) { + toggleRichText(node, false); + multiSelect(start, end); + event.preventDefault(); + } + } + } else if (hasMultiSelection()) { + // Allow user to escape out of a multi-selection to a + // singular selection of a block via click. This is handled + // here since focus handling excludes blocks when there is + // multiselection, as focus can be incurred by starting a + // multiselection (focus moved to first block's multi- + // controls). + selectBlock(clientId); + } + } + + node.addEventListener('mousedown', onMouseDown); + node.addEventListener('mouseleave', onMouseLeave); + return () => { + node.removeEventListener('mousedown', onMouseDown); + node.removeEventListener('mouseleave', onMouseLeave); + ownerDocument.removeEventListener('selectionchange', onSelectionChange); + defaultView.removeEventListener('mouseup', onSelectionEnd); + defaultView.cancelAnimationFrame(rafId); + }; + }, [clientId, startMultiSelect, stopMultiSelect, multiSelect, selectBlock, isSelectionEnabled, isBlockSelected, getBlockParents]); +} + + /***/ }), /***/ "iA5R": @@ -5817,6 +31738,61 @@ function Icon({ /* harmony default export */ __webpack_exports__["a"] = (Icon); +/***/ }), + +/***/ "j6zP": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _block_draggable_draggable_chip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("q3tz"); + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + +const InserterDraggableBlocks = ({ + isEnabled, + blocks, + icon, + children +}) => { + const transferData = { + type: 'inserter', + blocks + }; + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["Draggable"], { + __experimentalTransferDataType: "wp-blocks", + transferData: transferData, + __experimentalDragComponent: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_block_draggable_draggable_chip__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], { + count: blocks.length, + icon: icon + }) + }, ({ + onDraggableStart, + onDraggableEnd + }) => { + return children({ + draggable: isEnabled, + onDragStart: isEnabled ? onDraggableStart : undefined, + onDragEnd: isEnabled ? onDraggableEnd : undefined + }); + }); +}; + +/* harmony default export */ __webpack_exports__["a"] = (InserterDraggableBlocks); + + /***/ }), /***/ "jB5C": @@ -6263,6 +32239,704 @@ module.exports = _extends({ viewportHeight: 0 }, domUtils); +/***/ }), + +/***/ "jBNB": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ BlockListBlockContext; }); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// EXTERNAL MODULE: external ["wp","dom"] +var external_wp_dom_ = __webpack_require__("1CF3"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit/index.js + 1 modules +var block_edit = __webpack_require__("JRTi"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/warning/index.js + 1 modules +var warning = __webpack_require__("Zzu2"); + +// EXTERNAL MODULE: ./node_modules/diff/lib/diff/character.js +var character = __webpack_require__("iA5R"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-compare/block-view.js + + +/** + * WordPress dependencies + */ + + + +function BlockView({ + title, + rawContent, + renderedContent, + action, + actionText, + className +}) { + return Object(external_wp_element_["createElement"])("div", { + className: className + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-compare__content" + }, Object(external_wp_element_["createElement"])("h2", { + className: "block-editor-block-compare__heading" + }, title), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-compare__html" + }, rawContent), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-compare__preview edit-post-visual-editor" + }, Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, Object(external_wp_dom_["safeHTML"])(renderedContent)))), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-compare__action" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + variant: "secondary", + tabIndex: "0", + onClick: action + }, actionText))); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-compare/index.js + + +/** + * External dependencies + */ + + // diff doesn't tree-shake correctly, so we import from the individual +// module here, to avoid including too much of the library + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +function BlockCompare({ + block, + onKeep, + onConvert, + convertor, + convertButtonText +}) { + function getDifference(originalContent, newContent) { + const difference = Object(character["diffChars"])(originalContent, newContent); + return difference.map((item, pos) => { + const classes = classnames_default()({ + 'block-editor-block-compare__added': item.added, + 'block-editor-block-compare__removed': item.removed + }); + return Object(external_wp_element_["createElement"])("span", { + key: pos, + className: classes + }, item.value); + }); + } + + function getConvertedContent(convertedBlock) { + // The convertor may return an array of items or a single item + const newBlocks = Object(external_lodash_["castArray"])(convertedBlock); // Get converted block details + + const newContent = newBlocks.map(item => Object(external_wp_blocks_["getSaveContent"])(item.name, item.attributes, item.innerBlocks)); + return newContent.join(''); + } + + const converted = getConvertedContent(convertor(block)); + const difference = getDifference(block.originalContent, converted); + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-compare__wrapper" + }, Object(external_wp_element_["createElement"])(BlockView, { + title: Object(external_wp_i18n_["__"])('Current'), + className: "block-editor-block-compare__current", + action: onKeep, + actionText: Object(external_wp_i18n_["__"])('Convert to HTML'), + rawContent: block.originalContent, + renderedContent: block.originalContent + }), Object(external_wp_element_["createElement"])(BlockView, { + title: Object(external_wp_i18n_["__"])('After Conversion'), + className: "block-editor-block-compare__converted", + action: onConvert, + actionText: convertButtonText, + rawContent: difference, + renderedContent: converted + })); +} + +/* harmony default export */ var block_compare = (BlockCompare); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/block-invalid-warning.js + + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + + +function BlockInvalidWarning({ + convertToHTML, + convertToBlocks, + convertToClassic, + attemptBlockRecovery, + block +}) { + const hasHTMLBlock = !!Object(external_wp_blocks_["getBlockType"])('core/html'); + const [compare, setCompare] = Object(external_wp_element_["useState"])(false); + const onCompare = Object(external_wp_element_["useCallback"])(() => setCompare(true), []); + const onCompareClose = Object(external_wp_element_["useCallback"])(() => setCompare(false), []); // We memo the array here to prevent the children components from being updated unexpectedly + + const hiddenActions = Object(external_wp_element_["useMemo"])(() => [{ + // translators: Button to fix block content + title: Object(external_wp_i18n_["_x"])('Resolve', 'imperative verb'), + onClick: onCompare + }, hasHTMLBlock && { + title: Object(external_wp_i18n_["__"])('Convert to HTML'), + onClick: convertToHTML + }, { + title: Object(external_wp_i18n_["__"])('Convert to Classic Block'), + onClick: convertToClassic + }].filter(Boolean), [onCompare, convertToHTML, convertToClassic]); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(warning["a" /* default */], { + actions: [Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + key: "recover", + onClick: attemptBlockRecovery, + variant: "primary" + }, Object(external_wp_i18n_["__"])('Attempt Block Recovery'))], + secondaryActions: hiddenActions + }, Object(external_wp_i18n_["__"])('This block contains unexpected or invalid content.')), compare && Object(external_wp_element_["createElement"])(external_wp_components_["Modal"], { + title: // translators: Dialog title to fix block content + Object(external_wp_i18n_["__"])('Resolve Block'), + onRequestClose: onCompareClose, + className: "block-editor-block-compare" + }, Object(external_wp_element_["createElement"])(block_compare, { + block: block, + onKeep: convertToHTML, + onConvert: convertToBlocks, + convertor: blockToBlocks, + convertButtonText: Object(external_wp_i18n_["__"])('Convert to Blocks') + }))); +} + +const blockToClassic = block => Object(external_wp_blocks_["createBlock"])('core/freeform', { + content: block.originalContent +}); + +const blockToHTML = block => Object(external_wp_blocks_["createBlock"])('core/html', { + content: block.originalContent +}); + +const blockToBlocks = block => Object(external_wp_blocks_["rawHandler"])({ + HTML: block.originalContent +}); + +const recoverBlock = ({ + name, + attributes, + innerBlocks +}) => Object(external_wp_blocks_["createBlock"])(name, attributes, innerBlocks); + +/* harmony default export */ var block_invalid_warning = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withSelect"])((select, { + clientId +}) => ({ + block: select(store["a" /* store */]).getBlock(clientId) +})), Object(external_wp_data_["withDispatch"])((dispatch, { + block +}) => { + const { + replaceBlock + } = dispatch(store["a" /* store */]); + return { + convertToClassic() { + replaceBlock(block.clientId, blockToClassic(block)); + }, + + convertToHTML() { + replaceBlock(block.clientId, blockToHTML(block)); + }, + + convertToBlocks() { + replaceBlock(block.clientId, blockToBlocks(block)); + }, + + attemptBlockRecovery() { + replaceBlock(block.clientId, recoverBlock(block)); + } + + }; +})])(BlockInvalidWarning)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/block-crash-warning.js + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + +const block_crash_warning_warning = Object(external_wp_element_["createElement"])(warning["a" /* default */], { + className: "block-editor-block-list__block-crash-warning" +}, Object(external_wp_i18n_["__"])('This block has encountered an error and cannot be previewed.')); +/* harmony default export */ var block_crash_warning = (() => block_crash_warning_warning); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/block-crash-boundary.js +/** + * WordPress dependencies + */ + + +class block_crash_boundary_BlockCrashBoundary extends external_wp_element_["Component"] { + constructor() { + super(...arguments); + this.state = { + hasError: false + }; + } + + componentDidCatch() { + this.setState({ + hasError: true + }); + } + + render() { + if (this.state.hasError) { + return this.props.fallback; + } + + return this.props.children; + } + +} + +/* harmony default export */ var block_crash_boundary = (block_crash_boundary_BlockCrashBoundary); + +// EXTERNAL MODULE: ./node_modules/react-autosize-textarea/lib/index.js +var lib = __webpack_require__("O6Fj"); +var lib_default = /*#__PURE__*/__webpack_require__.n(lib); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/block-html.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + +function BlockHTML({ + clientId +}) { + const [html, setHtml] = Object(external_wp_element_["useState"])(''); + const block = Object(external_wp_data_["useSelect"])(select => select(store["a" /* store */]).getBlock(clientId), [clientId]); + const { + updateBlock + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + + const onChange = () => { + const blockType = Object(external_wp_blocks_["getBlockType"])(block.name); + + if (!blockType) { + return; + } + + const attributes = Object(external_wp_blocks_["getBlockAttributes"])(blockType, html, block.attributes); // If html is empty we reset the block to the default HTML and mark it as valid to avoid triggering an error + + const content = html ? html : Object(external_wp_blocks_["getSaveContent"])(blockType, attributes); + const isValid = html ? Object(external_wp_blocks_["isValidBlockContent"])(blockType, attributes, content) : true; + updateBlock(clientId, { + attributes, + originalContent: content, + isValid + }); // Ensure the state is updated if we reset so it displays the default content + + if (!html) { + setHtml({ + content + }); + } + }; + + Object(external_wp_element_["useEffect"])(() => { + setHtml(Object(external_wp_blocks_["getBlockContent"])(block)); + }, [block]); + return Object(external_wp_element_["createElement"])(lib_default.a, { + className: "block-editor-block-list__block-html-textarea", + value: html, + onBlur: onChange, + onChange: event => setHtml(event.target.value) + }); +} + +/* harmony default export */ var block_html = (BlockHTML); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/index.js +var use_block_props = __webpack_require__("nlh6"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/block.js + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + +/** + * Internal dependencies + */ + + + + + + + + +const BlockListBlockContext = Object(external_wp_element_["createContext"])(); +/** + * Merges wrapper props with special handling for classNames and styles. + * + * @param {Object} propsA + * @param {Object} propsB + * + * @return {Object} Merged props. + */ + +function mergeWrapperProps(propsA, propsB) { + const newProps = { ...propsA, + ...propsB + }; + + if (propsA && propsB && propsA.className && propsB.className) { + newProps.className = classnames_default()(propsA.className, propsB.className); + } + + if (propsA && propsB && propsA.style && propsB.style) { + newProps.style = { ...propsA.style, + ...propsB.style + }; + } + + return newProps; +} + +function Block({ + children, + isHtml, + ...props +}) { + return Object(external_wp_element_["createElement"])("div", Object(use_block_props["a" /* useBlockProps */])(props, { + __unstableIsHtml: isHtml + }), children); +} + +function BlockListBlock({ + mode, + isLocked, + canRemove, + clientId, + isSelected, + isSelectionEnabled, + className, + name, + isValid, + attributes, + wrapperProps, + setAttributes, + onReplace, + onInsertBlocksAfter, + onMerge, + toggleSelection +}) { + const { + removeBlock + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const onRemove = Object(external_wp_element_["useCallback"])(() => removeBlock(clientId), [clientId]); // We wrap the BlockEdit component in a div that hides it when editing in + // 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 = Object(external_wp_element_["createElement"])(block_edit["a" /* default */], { + name: name, + isSelected: isSelected, + attributes: attributes, + setAttributes: setAttributes, + insertBlocksAfter: isLocked ? undefined : onInsertBlocksAfter, + onReplace: canRemove ? onReplace : undefined, + onRemove: canRemove ? onRemove : undefined, + mergeBlocks: canRemove ? onMerge : undefined, + clientId: clientId, + isSelectionEnabled: isSelectionEnabled, + toggleSelection: toggleSelection + }); + const blockType = Object(external_wp_blocks_["getBlockType"])(name); // Determine whether the block has props to apply to the wrapper. + + if (blockType !== null && blockType !== void 0 && blockType.getEditWrapperProps) { + wrapperProps = mergeWrapperProps(wrapperProps, blockType.getEditWrapperProps(attributes)); + } + + const isAligned = wrapperProps && !!wrapperProps['data-align']; // For aligned blocks, provide a wrapper element so the block can be + // positioned relative to the block column. + + if (isAligned) { + blockEdit = Object(external_wp_element_["createElement"])("div", { + className: "wp-block", + "data-align": wrapperProps['data-align'] + }, blockEdit); + } + + let block; + + if (!isValid) { + const saveContent = Object(external_wp_blocks_["getSaveContent"])(blockType, attributes); + block = Object(external_wp_element_["createElement"])(Block, { + className: "has-warning" + }, Object(external_wp_element_["createElement"])(block_invalid_warning, { + clientId: clientId + }), Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, Object(external_wp_dom_["safeHTML"])(saveContent))); + } else if (mode === 'html') { + // Render blockEdit so the inspector controls don't disappear. + // See #8969. + block = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", { + style: { + display: 'none' + } + }, blockEdit), Object(external_wp_element_["createElement"])(Block, { + isHtml: true + }, Object(external_wp_element_["createElement"])(block_html, { + clientId: clientId + }))); + } else if ((blockType === null || blockType === void 0 ? void 0 : blockType.apiVersion) > 1) { + block = blockEdit; + } else { + block = Object(external_wp_element_["createElement"])(Block, wrapperProps, blockEdit); + } + + const value = { + clientId, + className, + wrapperProps: Object(external_lodash_["omit"])(wrapperProps, ['data-align']), + isAligned + }; + const memoizedValue = Object(external_wp_element_["useMemo"])(() => value, Object.values(value)); + return Object(external_wp_element_["createElement"])(BlockListBlockContext.Provider, { + value: memoizedValue + }, Object(external_wp_element_["createElement"])(block_crash_boundary, { + fallback: Object(external_wp_element_["createElement"])(Block, { + className: "has-warning" + }, Object(external_wp_element_["createElement"])(block_crash_warning, null)) + }, block)); +} + +const applyWithSelect = Object(external_wp_data_["withSelect"])((select, { + clientId, + rootClientId +}) => { + const { + isBlockSelected, + getBlockMode, + isSelectionEnabled, + getTemplateLock, + __unstableGetBlockWithoutInnerBlocks, + canRemoveBlock, + canMoveBlock + } = select(store["a" /* 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 = Object(external_wp_data_["withDispatch"])((dispatch, ownProps, { + select +}) => { + const { + updateBlockAttributes, + insertBlocks, + mergeBlocks, + replaceBlocks, + toggleSelection, + __unstableMarkLastChangeAsPersistent + } = dispatch(store["a" /* store */]); // Do not add new properties here, use `useDispatch` instead to avoid + // leaking new props to the public API (editor.BlockListBlock filter). + + return { + setAttributes(newAttributes) { + const { + getMultiSelectedBlockClientIds + } = select(store["a" /* store */]); + const multiSelectedBlockClientIds = getMultiSelectedBlockClientIds(); + const { + clientId + } = ownProps; + const clientIds = multiSelectedBlockClientIds.length ? multiSelectedBlockClientIds : [clientId]; + updateBlockAttributes(clientIds, newAttributes); + }, + + onInsertBlocks(blocks, index) { + const { + rootClientId + } = ownProps; + insertBlocks(blocks, index, rootClientId); + }, + + onInsertBlocksAfter(blocks) { + const { + clientId, + rootClientId + } = ownProps; + const { + getBlockIndex + } = select(store["a" /* store */]); + const index = getBlockIndex(clientId, rootClientId); + insertBlocks(blocks, index + 1, rootClientId); + }, + + onMerge(forward) { + const { + clientId + } = ownProps; + const { + getPreviousBlockClientId, + getNextBlockClientId + } = select(store["a" /* store */]); + + if (forward) { + const nextBlockClientId = getNextBlockClientId(clientId); + + if (nextBlockClientId) { + mergeBlocks(clientId, nextBlockClientId); + } + } else { + const previousBlockClientId = getPreviousBlockClientId(clientId); + + if (previousBlockClientId) { + mergeBlocks(previousBlockClientId, clientId); + } + } + }, + + onReplace(blocks, indexToSelect, initialPosition) { + if (blocks.length && !Object(external_wp_blocks_["isUnmodifiedDefaultBlock"])(blocks[blocks.length - 1])) { + __unstableMarkLastChangeAsPersistent(); + } + + replaceBlocks([ownProps.clientId], blocks, indexToSelect, initialPosition); + }, + + toggleSelection(selectionEnabled) { + toggleSelection(selectionEnabled); + } + + }; +}); +/* harmony default export */ var block_list_block = __webpack_exports__["b"] = (Object(external_wp_compose_["compose"])(external_wp_compose_["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 +Object(external_wp_compose_["ifCondition"])(({ + block +}) => !!block), Object(external_wp_components_["withFilters"])('editor.BlockListBlock'))(BlockListBlock)); + + /***/ }), /***/ "jTPX": @@ -6297,6 +32971,3040 @@ var computedStyle = function (el, prop, getComputedStyle) { module.exports = computedStyle; +/***/ }), + +/***/ "jrfk": +/***/ (function(module, exports) { + +/** + * Copyright 2004-present Facebook. All Rights Reserved. + * + * @providesModule UserAgent_DEPRECATED + */ + +/** + * Provides entirely client-side User Agent and OS detection. You should prefer + * the non-deprecated UserAgent module when possible, which exposes our + * authoritative server-side PHP-based detection to the client. + * + * Usage is straightforward: + * + * if (UserAgent_DEPRECATED.ie()) { + * // IE + * } + * + * You can also do version checks: + * + * if (UserAgent_DEPRECATED.ie() >= 7) { + * // IE7 or better + * } + * + * The browser functions will return NaN if the browser does not match, so + * you can also do version compares the other way: + * + * if (UserAgent_DEPRECATED.ie() < 7) { + * // IE6 or worse + * } + * + * Note that the version is a float and may include a minor version number, + * so you should always use range operators to perform comparisons, not + * strict equality. + * + * **Note:** You should **strongly** prefer capability detection to browser + * version detection where it's reasonable: + * + * http://www.quirksmode.org/js/support.html + * + * Further, we have a large number of mature wrapper functions and classes + * which abstract away many browser irregularities. Check the documentation, + * grep for things, or ask on javascript@lists.facebook.com before writing yet + * another copy of "event || window.event". + * + */ + +var _populated = false; + +// Browsers +var _ie, _firefox, _opera, _webkit, _chrome; + +// Actual IE browser for compatibility mode +var _ie_real_version; + +// Platforms +var _osx, _windows, _linux, _android; + +// Architectures +var _win64; + +// Devices +var _iphone, _ipad, _native; + +var _mobile; + +function _populate() { + if (_populated) { + return; + } + + _populated = true; + + // To work around buggy JS libraries that can't handle multi-digit + // version numbers, Opera 10's user agent string claims it's Opera + // 9, then later includes a Version/X.Y field: + // + // Opera/9.80 (foo) Presto/2.2.15 Version/10.10 + var uas = navigator.userAgent; + var agent = /(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(uas); + var os = /(Mac OS X)|(Windows)|(Linux)/.exec(uas); + + _iphone = /\b(iPhone|iP[ao]d)/.exec(uas); + _ipad = /\b(iP[ao]d)/.exec(uas); + _android = /Android/i.exec(uas); + _native = /FBAN\/\w+;/i.exec(uas); + _mobile = /Mobile/i.exec(uas); + + // Note that the IE team blog would have you believe you should be checking + // for 'Win64; x64'. But MSDN then reveals that you can actually be coming + // from either x64 or ia64; so ultimately, you should just check for Win64 + // as in indicator of whether you're in 64-bit IE. 32-bit IE on 64-bit + // Windows will send 'WOW64' instead. + _win64 = !!(/Win64/.exec(uas)); + + if (agent) { + _ie = agent[1] ? parseFloat(agent[1]) : ( + agent[5] ? parseFloat(agent[5]) : NaN); + // IE compatibility mode + if (_ie && document && document.documentMode) { + _ie = document.documentMode; + } + // grab the "true" ie version from the trident token if available + var trident = /(?:Trident\/(\d+.\d+))/.exec(uas); + _ie_real_version = trident ? parseFloat(trident[1]) + 4 : _ie; + + _firefox = agent[2] ? parseFloat(agent[2]) : NaN; + _opera = agent[3] ? parseFloat(agent[3]) : NaN; + _webkit = agent[4] ? parseFloat(agent[4]) : NaN; + if (_webkit) { + // We do not add the regexp to the above test, because it will always + // match 'safari' only since 'AppleWebKit' appears before 'Chrome' in + // the userAgent string. + agent = /(?:Chrome\/(\d+\.\d+))/.exec(uas); + _chrome = agent && agent[1] ? parseFloat(agent[1]) : NaN; + } else { + _chrome = NaN; + } + } else { + _ie = _firefox = _opera = _chrome = _webkit = NaN; + } + + if (os) { + if (os[1]) { + // Detect OS X version. If no version number matches, set _osx to true. + // Version examples: 10, 10_6_1, 10.7 + // Parses version number as a float, taking only first two sets of + // digits. If only one set of digits is found, returns just the major + // version number. + var ver = /(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(uas); + + _osx = ver ? parseFloat(ver[1].replace('_', '.')) : true; + } else { + _osx = false; + } + _windows = !!os[2]; + _linux = !!os[3]; + } else { + _osx = _windows = _linux = false; + } +} + +var UserAgent_DEPRECATED = { + + /** + * Check if the UA is Internet Explorer. + * + * + * @return float|NaN Version number (if match) or NaN. + */ + ie: function() { + return _populate() || _ie; + }, + + /** + * Check if we're in Internet Explorer compatibility mode. + * + * @return bool true if in compatibility mode, false if + * not compatibility mode or not ie + */ + ieCompatibilityMode: function() { + return _populate() || (_ie_real_version > _ie); + }, + + + /** + * Whether the browser is 64-bit IE. Really, this is kind of weak sauce; we + * only need this because Skype can't handle 64-bit IE yet. We need to remove + * this when we don't need it -- tracked by #601957. + */ + ie64: function() { + return UserAgent_DEPRECATED.ie() && _win64; + }, + + /** + * Check if the UA is Firefox. + * + * + * @return float|NaN Version number (if match) or NaN. + */ + firefox: function() { + return _populate() || _firefox; + }, + + + /** + * Check if the UA is Opera. + * + * + * @return float|NaN Version number (if match) or NaN. + */ + opera: function() { + return _populate() || _opera; + }, + + + /** + * Check if the UA is WebKit. + * + * + * @return float|NaN Version number (if match) or NaN. + */ + webkit: function() { + return _populate() || _webkit; + }, + + /** + * For Push + * WILL BE REMOVED VERY SOON. Use UserAgent_DEPRECATED.webkit + */ + safari: function() { + return UserAgent_DEPRECATED.webkit(); + }, + + /** + * Check if the UA is a Chrome browser. + * + * + * @return float|NaN Version number (if match) or NaN. + */ + chrome : function() { + return _populate() || _chrome; + }, + + + /** + * Check if the user is running Windows. + * + * @return bool `true' if the user's OS is Windows. + */ + windows: function() { + return _populate() || _windows; + }, + + + /** + * Check if the user is running Mac OS X. + * + * @return float|bool Returns a float if a version number is detected, + * otherwise true/false. + */ + osx: function() { + return _populate() || _osx; + }, + + /** + * Check if the user is running Linux. + * + * @return bool `true' if the user's OS is some flavor of Linux. + */ + linux: function() { + return _populate() || _linux; + }, + + /** + * Check if the user is running on an iPhone or iPod platform. + * + * @return bool `true' if the user is running some flavor of the + * iPhone OS. + */ + iphone: function() { + return _populate() || _iphone; + }, + + mobile: function() { + return _populate() || (_iphone || _ipad || _android || _mobile); + }, + + nativeApp: function() { + // webviews inside of the native apps + return _populate() || _native; + }, + + android: function() { + return _populate() || _android; + }, + + ipad: function() { + return _populate() || _ipad; + } +}; + +module.exports = UserAgent_DEPRECATED; + + +/***/ }), + +/***/ "jwne": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return InspectorControlsSlot; }); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("Z23Y"); +/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_warning__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _block_support_tools_panel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("c1Zz"); +/* harmony import */ var _block_support_slot_container__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("asom"); +/* harmony import */ var _groups__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("VrEk"); + + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + +function InspectorControlsSlot({ + __experimentalGroup: group = 'default', + bubblesVirtually = true, + label, + ...props +}) { + var _groups$group; + + const Slot = (_groups$group = _groups__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"][group]) === null || _groups$group === void 0 ? void 0 : _groups$group.Slot; + const slot = Object(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["__experimentalUseSlot"])(Slot === null || Slot === void 0 ? void 0 : Slot.__unstableName); + + if (!Slot || !slot) { + typeof process !== "undefined" && process.env && "production" !== "production" ? _wordpress_warning__WEBPACK_IMPORTED_MODULE_3___default()(`Unknown InspectorControl group "${group}" provided.`) : void 0; + return null; + } + + const hasFills = Boolean(slot.fills && slot.fills.length); + + if (!hasFills) { + return null; + } + + if (label) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_block_support_tools_panel__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], { + group: group, + label: label + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_block_support_slot_container__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, props, { + bubblesVirtually: bubblesVirtually, + Slot: Slot + }))); + } + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(Slot, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, props, { + bubblesVirtually: bubblesVirtually + })); +} + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("8oxB"))) + +/***/ }), + +/***/ "kBLm": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useIsHovered; }); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("BhPs"); +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + +function listener(event) { + if (event.defaultPrevented) { + return; + } + + const action = event.type === 'mouseover' ? 'add' : 'remove'; + event.preventDefault(); + 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 = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__["useSelect"])(select => { + const { + isNavigationMode, + getSettings + } = select(_store__WEBPACK_IMPORTED_MODULE_2__[/* store */ "a"]); + return isNavigationMode() || getSettings().outlineMode; + }, []); + return Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_1__["useRefEffect"])(node => { + if (isEnabled) { + node.addEventListener('mouseout', listener); + node.addEventListener('mouseover', listener); + return () => { + node.removeEventListener('mouseout', listener); + node.removeEventListener('mouseover', listener); // Remove class in case it lingers. + + node.classList.remove('is-hovered'); + }; + } + }, [isEnabled]); +} + + +/***/ }), + +/***/ "kVRd": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ TextDecorationControl; }); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","primitives"] +var external_wp_primitives_ = __webpack_require__("Tqx9"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-underline.js + + +/** + * WordPress dependencies + */ + +const formatUnderline = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/format-strikethrough.js +var format_strikethrough = __webpack_require__("Crq9"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/text-decoration-control/index.js + + +/** + * WordPress dependencies + */ + + + +const TEXT_DECORATIONS = [{ + name: Object(external_wp_i18n_["__"])('Underline'), + value: 'underline', + icon: format_underline +}, { + name: Object(external_wp_i18n_["__"])('Strikethrough'), + value: 'line-through', + icon: format_strikethrough["a" /* default */] +}]; +/** + * 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. + * + * @return {WPElement} Text decoration control. + */ + +function TextDecorationControl({ + value, + onChange +}) { + return Object(external_wp_element_["createElement"])("fieldset", { + className: "block-editor-text-decoration-control" + }, Object(external_wp_element_["createElement"])("legend", null, Object(external_wp_i18n_["__"])('Decoration')), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-text-decoration-control__buttons" + }, TEXT_DECORATIONS.map(textDecoration => { + return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + key: textDecoration.value, + icon: textDecoration.icon, + isSmall: true, + isPressed: textDecoration.value === value, + onClick: () => onChange(textDecoration.value === value ? undefined : textDecoration.value), + "aria-label": textDecoration.name + }); + }))); +} + + +/***/ }), + +/***/ "kWXm": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const justifyLeft = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { + d: "M9 9v6h11V9H9zM4 20h1.5V4H4v16z" +})); +/* harmony default export */ __webpack_exports__["a"] = (justifyLeft); + + +/***/ }), + +/***/ "kaUp": +/***/ (function(module, exports) { + + + +/***/ }), + +/***/ "kmrn": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export BailSignal */ +/* unused harmony export Controller */ +/* unused harmony export FrameValue */ +/* unused harmony export Interpolation */ +/* unused harmony export Spring */ +/* unused harmony export SpringContext */ +/* unused harmony export SpringRef */ +/* unused harmony export SpringValue */ +/* unused harmony export Trail */ +/* unused harmony export Transition */ +/* unused harmony export config */ +/* unused harmony export inferTo */ +/* unused harmony export interpolate */ +/* unused harmony export to */ +/* unused harmony export update */ +/* unused harmony export useChain */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useSpring", function() { return useSpring; }); +/* unused harmony export useSpringRef */ +/* unused harmony export useSprings */ +/* unused harmony export useTrail */ +/* unused harmony export useTransition */ +/* harmony import */ var _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("nEW0"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Globals", function() { return _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__["b"]; }); + +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("cDcd"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _react_spring_animated__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("dfZa"); +/* harmony import */ var _react_spring_types_animated__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("kaUp"); +/* harmony import */ var _react_spring_types_animated__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_react_spring_types_animated__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _react_spring_types_interpolation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("v8Ku"); +/* harmony import */ var _react_spring_types_interpolation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_react_spring_types_interpolation__WEBPACK_IMPORTED_MODULE_4__); + + + + + + + + +function _extends() { + _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + return _extends.apply(this, arguments); +} + +function callProp(value, ...args) { + return _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(value) ? value(...args) : value; +} +const matchProp = (value, key) => value === true || !!(key && value && (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(value) ? value(key) : Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* toArray */ "y"])(value).includes(key))); +const resolveProp = (prop, key) => _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].obj(prop) ? key && prop[key] : prop; +const getDefaultProp = (props, key) => props.default === true ? props[key] : props.default ? props.default[key] : undefined; + +const noopTransform = value => value; + +const getDefaultProps = (props, transform = noopTransform) => { + let keys = DEFAULT_PROPS; + + if (props.default && props.default !== true) { + props = props.default; + keys = Object.keys(props); + } + + const defaults = {}; + + for (const key of keys) { + const value = transform(props[key], key); + + if (!_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(value)) { + defaults[key] = value; + } + } + + return defaults; +}; +const DEFAULT_PROPS = ['config', 'onProps', 'onStart', 'onChange', 'onPause', 'onResume', 'onRest']; +const RESERVED_PROPS = { + 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 getForwardProps(props) { + const forward = {}; + let count = 0; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* eachProp */ "l"])(props, (value, prop) => { + if (!RESERVED_PROPS[prop]) { + forward[prop] = value; + count++; + } + }); + + if (count) { + return forward; + } +} + +function inferTo(props) { + const to = getForwardProps(props); + + if (to) { + const out = { + to + }; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* eachProp */ "l"])(props, (val, key) => key in to || (out[key] = val)); + return out; + } + + return _extends({}, props); +} +function computeGoal(value) { + value = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* getFluidValue */ "q"])(value); + return _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].arr(value) ? value.map(computeGoal) : Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* isAnimatedString */ "t"])(value) ? _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* Globals */ "b"].createStringInterpolator({ + range: [0, 1], + output: [value, value] + })(1) : value; +} +function hasProps(props) { + for (const _ in props) return true; + + return false; +} +function isAsyncTo(to) { + return _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(to) || _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].arr(to) && _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].obj(to[0]); +} +function detachRefs(ctrl, ref) { + var _ctrl$ref; + + (_ctrl$ref = ctrl.ref) == null ? void 0 : _ctrl$ref.delete(ctrl); + ref == null ? void 0 : ref.delete(ctrl); +} +function replaceRef(ctrl, ref) { + if (ref && ctrl.ref !== ref) { + var _ctrl$ref2; + + (_ctrl$ref2 = ctrl.ref) == null ? void 0 : _ctrl$ref2.delete(ctrl); + ref.add(ctrl); + ctrl.ref = ref; + } +} + +function useChain(refs, timeSteps, timeFrame = 1000) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => { + if (timeSteps) { + let prevDelay = 0; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(refs, (ref, i) => { + const controllers = ref.current; + + if (controllers.length) { + let delay = timeFrame * timeSteps[i]; + if (isNaN(delay)) delay = prevDelay;else prevDelay = delay; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(controllers, ctrl => { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(ctrl.queue, props => { + const memoizedDelayProp = props.delay; + + props.delay = key => delay + callProp(memoizedDelayProp || 0, key); + }); + ctrl.start(); + }); + } + }); + } else { + let p = Promise.resolve(); + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(refs, ref => { + const controllers = ref.current; + + if (controllers.length) { + const queues = controllers.map(ctrl => { + const q = ctrl.queue; + ctrl.queue = []; + return q; + }); + p = p.then(() => { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(controllers, (ctrl, i) => Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(queues[i] || [], update => ctrl.queue.push(update))); + return Promise.all(ref.start()); + }); + } + }); + } + }); +} + +const config = { + default: { + tension: 170, + friction: 26 + }, + gentle: { + tension: 120, + friction: 14 + }, + wobbly: { + tension: 180, + friction: 12 + }, + stiff: { + tension: 210, + friction: 20 + }, + slow: { + tension: 280, + friction: 60 + }, + molasses: { + tension: 280, + friction: 120 + } +}; + +const linear = t => t; + +const defaults = _extends({}, config.default, { + mass: 1, + damping: 1, + easing: linear, + clamp: false +}); + +class AnimationConfig { + constructor() { + this.tension = void 0; + this.friction = void 0; + this.frequency = void 0; + this.damping = void 0; + this.mass = void 0; + this.velocity = 0; + this.restVelocity = void 0; + this.precision = void 0; + this.progress = void 0; + this.duration = void 0; + this.easing = void 0; + this.clamp = void 0; + this.bounce = void 0; + this.decay = void 0; + this.round = void 0; + Object.assign(this, defaults); + } + +} +function mergeConfig(config, newConfig, defaultConfig) { + if (defaultConfig) { + defaultConfig = _extends({}, defaultConfig); + sanitizeConfig(defaultConfig, newConfig); + newConfig = _extends({}, defaultConfig, newConfig); + } + + sanitizeConfig(config, newConfig); + Object.assign(config, newConfig); + + for (const key in defaults) { + if (config[key] == null) { + config[key] = defaults[key]; + } + } + + let { + mass, + frequency, + damping + } = config; + + if (!_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(frequency)) { + if (frequency < 0.01) frequency = 0.01; + if (damping < 0) damping = 0; + config.tension = Math.pow(2 * Math.PI / frequency, 2) * mass; + config.friction = 4 * Math.PI * damping * mass / frequency; + } + + return config; +} + +function sanitizeConfig(config, props) { + if (!_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(props.decay)) { + config.duration = undefined; + } else { + const isTensionConfig = !_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(props.tension) || !_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(props.friction); + + if (isTensionConfig || !_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(props.frequency) || !_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(props.damping) || !_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(props.mass)) { + config.duration = undefined; + config.decay = undefined; + } + + if (isTensionConfig) { + config.frequency = undefined; + } + } +} + +const emptyArray = []; +class Animation { + constructor() { + this.changed = false; + this.values = emptyArray; + this.toValues = null; + this.fromValues = emptyArray; + this.to = void 0; + this.from = void 0; + this.config = new AnimationConfig(); + this.immediate = false; + } + +} + +function scheduleProps(callId, { + key, + props, + defaultProps, + state, + actions +}) { + return new Promise((resolve, reject) => { + var _props$cancel; + + let delay; + let timeout; + let cancel = matchProp((_props$cancel = props.cancel) != null ? _props$cancel : defaultProps == null ? void 0 : defaultProps.cancel, key); + + if (cancel) { + onStart(); + } else { + if (!_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(props.pause)) { + state.paused = matchProp(props.pause, key); + } + + let pause = defaultProps == null ? void 0 : defaultProps.pause; + + if (pause !== true) { + pause = state.paused || matchProp(pause, key); + } + + delay = callProp(props.delay || 0, key); + + if (pause) { + state.resumeQueue.add(onResume); + actions.pause(); + } else { + actions.resume(); + onResume(); + } + } + + function onPause() { + state.resumeQueue.add(onResume); + state.timeouts.delete(timeout); + timeout.cancel(); + delay = timeout.time - _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* raf */ "w"].now(); + } + + function onResume() { + if (delay > 0) { + timeout = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* raf */ "w"].setTimeout(onStart, delay); + state.pauseQueue.add(onPause); + state.timeouts.add(timeout); + } else { + onStart(); + } + } + + function onStart() { + state.pauseQueue.delete(onPause); + state.timeouts.delete(timeout); + + if (callId <= (state.cancelId || 0)) { + cancel = true; + } + + try { + actions.start(_extends({}, props, { + callId, + cancel + }), resolve); + } catch (err) { + reject(err); + } + } + }); +} + +const getCombinedResult = (target, results) => results.length == 1 ? results[0] : results.some(result => result.cancelled) ? getCancelledResult(target.get()) : results.every(result => result.noop) ? getNoopResult(target.get()) : getFinishedResult(target.get(), results.every(result => result.finished)); +const getNoopResult = value => ({ + value, + noop: true, + finished: true, + cancelled: false +}); +const getFinishedResult = (value, finished, cancelled = false) => ({ + value, + finished, + cancelled +}); +const getCancelledResult = value => ({ + value, + cancelled: true, + finished: false +}); + +function runAsync(to, props, state, target) { + const { + callId, + parentId, + onRest + } = props; + const { + asyncTo: prevTo, + promise: prevPromise + } = state; + + if (!parentId && to === prevTo && !props.reset) { + return prevPromise; + } + + return state.promise = (async () => { + state.asyncId = callId; + state.asyncTo = to; + const defaultProps = getDefaultProps(props, (value, key) => key === 'onRest' ? undefined : value); + let preventBail; + let bail; + const bailPromise = new Promise((resolve, reject) => (preventBail = resolve, bail = reject)); + + const bailIfEnded = bailSignal => { + const bailResult = callId <= (state.cancelId || 0) && getCancelledResult(target) || callId !== state.asyncId && getFinishedResult(target, false); + + if (bailResult) { + bailSignal.result = bailResult; + bail(bailSignal); + throw bailSignal; + } + }; + + const animate = (arg1, arg2) => { + const bailSignal = new BailSignal(); + const skipAnimationSignal = new SkipAniamtionSignal(); + return (async () => { + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* Globals */ "b"].skipAnimation) { + stopAsync(state); + skipAnimationSignal.result = getFinishedResult(target, false); + bail(skipAnimationSignal); + throw skipAnimationSignal; + } + + bailIfEnded(bailSignal); + const props = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, { + to: arg1 + }); + props.parentId = callId; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* eachProp */ "l"])(defaultProps, (value, key) => { + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(props[key])) { + props[key] = value; + } + }); + const result = await target.start(props); + bailIfEnded(bailSignal); + + if (state.paused) { + await new Promise(resume => { + state.resumeQueue.add(resume); + }); + } + + return result; + })(); + }; + + let result; + + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* Globals */ "b"].skipAnimation) { + stopAsync(state); + return getFinishedResult(target, false); + } + + try { + let animating; + + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].arr(to)) { + animating = (async queue => { + for (const props of queue) { + await animate(props); + } + })(to); + } else { + animating = Promise.resolve(to(animate, target.stop.bind(target))); + } + + await Promise.all([animating.then(preventBail), bailPromise]); + result = getFinishedResult(target.get(), true, false); + } catch (err) { + if (err instanceof BailSignal) { + result = err.result; + } else if (err instanceof SkipAniamtionSignal) { + result = err.result; + } else { + throw err; + } + } finally { + if (callId == state.asyncId) { + state.asyncId = parentId; + state.asyncTo = parentId ? prevTo : undefined; + state.promise = parentId ? prevPromise : undefined; + } + } + + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(onRest)) { + _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* raf */ "w"].batchedUpdates(() => { + onRest(result, target, target.item); + }); + } + + return result; + })(); +} +function stopAsync(state, cancelId) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* flush */ "m"])(state.timeouts, t => t.cancel()); + state.pauseQueue.clear(); + state.resumeQueue.clear(); + state.asyncId = state.asyncTo = state.promise = undefined; + if (cancelId) state.cancelId = cancelId; +} +class BailSignal 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.'); + this.result = void 0; + } + +} +class SkipAniamtionSignal extends Error { + constructor() { + super('SkipAnimationSignal'); + this.result = void 0; + } + +} + +const isFrameValue = value => value instanceof FrameValue; +let nextId$1 = 1; +class FrameValue extends _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* FluidValue */ "a"] { + constructor(...args) { + super(...args); + this.id = nextId$1++; + this.key = void 0; + this._priority = 0; + } + + get priority() { + return this._priority; + } + + set priority(priority) { + if (this._priority != priority) { + this._priority = priority; + + this._onPriorityChange(priority); + } + } + + get() { + const node = Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* getAnimated */ "e"])(this); + return node && node.getValue(); + } + + to(...args) { + return _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* Globals */ "b"].to(this, args); + } + + interpolate(...args) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* deprecateInterpolate */ "j"])(); + return _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* Globals */ "b"].to(this, args); + } + + toJSON() { + return this.get(); + } + + observerAdded(count) { + if (count == 1) this._attach(); + } + + observerRemoved(count) { + if (count == 0) this._detach(); + } + + _attach() {} + + _detach() {} + + _onChange(value, idle = false) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* callFluidObservers */ "d"])(this, { + type: 'change', + parent: this, + value, + idle + }); + } + + _onPriorityChange(priority) { + if (!this.idle) { + _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* frameLoop */ "o"].sort(this); + } + + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* callFluidObservers */ "d"])(this, { + type: 'priority', + parent: this, + priority + }); + } + +} + +const $P = Symbol.for('SpringPhase'); +const HAS_ANIMATED = 1; +const IS_ANIMATING = 2; +const IS_PAUSED = 4; +const hasAnimated = target => (target[$P] & HAS_ANIMATED) > 0; +const isAnimating = target => (target[$P] & IS_ANIMATING) > 0; +const isPaused = target => (target[$P] & IS_PAUSED) > 0; +const setActiveBit = (target, active) => active ? target[$P] |= IS_ANIMATING | HAS_ANIMATED : target[$P] &= ~IS_ANIMATING; +const setPausedBit = (target, paused) => paused ? target[$P] |= IS_PAUSED : target[$P] &= ~IS_PAUSED; + +class SpringValue extends FrameValue { + constructor(arg1, arg2) { + super(); + this.key = void 0; + this.animation = new Animation(); + this.queue = void 0; + this.defaultProps = {}; + this._state = { + paused: false, + pauseQueue: new Set(), + resumeQueue: new Set(), + timeouts: new Set() + }; + this._pendingCalls = new Set(); + this._lastCallId = 0; + this._lastToId = 0; + this._memoizedDuration = 0; + + if (!_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(arg1) || !_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(arg2)) { + const props = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, { + from: arg1 + }); + + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(props.default)) { + props.default = true; + } + + this.start(props); + } + } + + get idle() { + return !(isAnimating(this) || this._state.asyncTo) || isPaused(this); + } + + get goal() { + return Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* getFluidValue */ "q"])(this.animation.to); + } + + get velocity() { + const node = Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* getAnimated */ "e"])(this); + return node instanceof _react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* AnimatedValue */ "c"] ? node.lastVelocity || 0 : node.getPayload().map(node => node.lastVelocity || 0); + } + + get hasAnimated() { + return hasAnimated(this); + } + + get isAnimating() { + return isAnimating(this); + } + + get isPaused() { + return isPaused(this); + } + + advance(dt) { + let idle = true; + let changed = false; + const anim = this.animation; + let { + config, + toValues + } = anim; + const payload = Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* getPayload */ "g"])(anim.to); + + if (!payload && Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* hasFluidValue */ "r"])(anim.to)) { + toValues = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* toArray */ "y"])(Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* getFluidValue */ "q"])(anim.to)); + } + + anim.values.forEach((node, i) => { + if (node.done) return; + const to = node.constructor == _react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* AnimatedString */ "b"] ? 1 : payload ? payload[i].lastPosition : toValues[i]; + let finished = anim.immediate; + let position = to; + + if (!finished) { + position = node.lastPosition; + + if (config.tension <= 0) { + node.done = true; + return; + } + + let elapsed = node.elapsedTime += dt; + const from = anim.fromValues[i]; + const v0 = node.v0 != null ? node.v0 : node.v0 = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].arr(config.velocity) ? config.velocity[i] : config.velocity; + let velocity; + + if (!_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(config.duration)) { + let p = 1; + + if (config.duration > 0) { + if (this._memoizedDuration !== config.duration) { + this._memoizedDuration = config.duration; + + if (node.durationProgress > 0) { + node.elapsedTime = config.duration * node.durationProgress; + elapsed = node.elapsedTime += dt; + } + } + + p = (config.progress || 0) + elapsed / this._memoizedDuration; + p = p > 1 ? 1 : p < 0 ? 0 : p; + node.durationProgress = p; + } + + position = from + config.easing(p) * (to - from); + velocity = (position - node.lastPosition) / dt; + finished = p == 1; + } else if (config.decay) { + const decay = config.decay === true ? 0.998 : config.decay; + const e = Math.exp(-(1 - decay) * elapsed); + position = from + v0 / (1 - decay) * (1 - e); + finished = Math.abs(node.lastPosition - position) < 0.1; + velocity = v0 * e; + } else { + velocity = node.lastVelocity == null ? v0 : node.lastVelocity; + const precision = config.precision || (from == to ? 0.005 : Math.min(1, Math.abs(to - from) * 0.001)); + const restVelocity = config.restVelocity || precision / 10; + const bounceFactor = config.clamp ? 0 : config.bounce; + const canBounce = !_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(bounceFactor); + const isGrowing = from == to ? node.v0 > 0 : from < to; + let isMoving; + let isBouncing = false; + const step = 1; + const numSteps = Math.ceil(dt / step); + + for (let n = 0; n < numSteps; ++n) { + isMoving = Math.abs(velocity) > restVelocity; + + if (!isMoving) { + finished = Math.abs(to - position) <= precision; + + if (finished) { + break; + } + } + + if (canBounce) { + isBouncing = position == to || position > to == isGrowing; + + if (isBouncing) { + velocity = -velocity * bounceFactor; + position = to; + } + } + + const springForce = -config.tension * 0.000001 * (position - to); + const dampingForce = -config.friction * 0.001 * velocity; + const acceleration = (springForce + dampingForce) / config.mass; + velocity = velocity + acceleration * step; + position = position + velocity * step; + } + } + + node.lastVelocity = velocity; + + if (Number.isNaN(position)) { + console.warn(`Got NaN while animating:`, this); + finished = true; + } + } + + if (payload && !payload[i].done) { + finished = false; + } + + if (finished) { + node.done = true; + } else { + idle = false; + } + + if (node.setValue(position, config.round)) { + changed = true; + } + }); + const node = Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* getAnimated */ "e"])(this); + const currVal = node.getValue(); + + if (idle) { + const finalVal = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* getFluidValue */ "q"])(anim.to); + + if ((currVal !== finalVal || changed) && !config.decay) { + node.setValue(finalVal); + + this._onChange(finalVal); + } else if (changed && config.decay) { + this._onChange(currVal); + } + + this._stop(); + } else if (changed) { + this._onChange(currVal); + } + } + + set(value) { + _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* raf */ "w"].batchedUpdates(() => { + this._stop(); + + this._focus(value); + + this._set(value); + }); + return this; + } + + pause() { + this._update({ + pause: true + }); + } + + resume() { + this._update({ + pause: false + }); + } + + finish() { + if (isAnimating(this)) { + const { + to, + config + } = this.animation; + _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* raf */ "w"].batchedUpdates(() => { + this._onStart(); + + if (!config.decay) { + this._set(to, false); + } + + this._stop(); + }); + } + + return this; + } + + update(props) { + const queue = this.queue || (this.queue = []); + queue.push(props); + return this; + } + + start(to, arg2) { + let queue; + + if (!_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(to)) { + queue = [_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].obj(to) ? to : _extends({}, arg2, { + to + })]; + } else { + queue = this.queue || []; + this.queue = []; + } + + return Promise.all(queue.map(props => this._update(props))).then(results => getCombinedResult(this, results)); + } + + stop(cancel) { + const { + to + } = this.animation; + + this._focus(this.get()); + + stopAsync(this._state, cancel && this._lastCallId); + _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* raf */ "w"].batchedUpdates(() => this._stop(to, cancel)); + return this; + } + + reset() { + this._update({ + reset: true + }); + } + + eventObserved(event) { + if (event.type == 'change') { + this._start(); + } else if (event.type == 'priority') { + this.priority = event.priority + 1; + } + } + + _prepareNode(props) { + const key = this.key || ''; + let { + to, + from + } = props; + to = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].obj(to) ? to[key] : to; + + if (to == null || isAsyncTo(to)) { + to = undefined; + } + + from = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].obj(from) ? from[key] : from; + + if (from == null) { + from = undefined; + } + + const range = { + to, + from + }; + + if (!hasAnimated(this)) { + if (props.reverse) [to, from] = [from, to]; + from = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* getFluidValue */ "q"])(from); + + if (!_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(from)) { + this._set(from); + } else if (!Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* getAnimated */ "e"])(this)) { + this._set(to); + } + } + + return range; + } + + _update(_ref, isLoop) { + let props = _extends({}, _ref); + + const { + key, + defaultProps + } = this; + if (props.default) Object.assign(defaultProps, getDefaultProps(props, (value, prop) => /^on/.test(prop) ? resolveProp(value, key) : value)); + mergeActiveFn(this, props, 'onProps'); + sendEvent(this, 'onProps', props, this); + + const range = this._prepareNode(props); + + 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 state = this._state; + return scheduleProps(++this._lastCallId, { + key, + props, + defaultProps, + state, + actions: { + pause: () => { + if (!isPaused(this)) { + setPausedBit(this, true); + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* flushCalls */ "n"])(state.pauseQueue); + sendEvent(this, 'onPause', getFinishedResult(this, checkFinished(this, this.animation.to)), this); + } + }, + resume: () => { + if (isPaused(this)) { + setPausedBit(this, false); + + if (isAnimating(this)) { + this._resume(); + } + + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* flushCalls */ "n"])(state.resumeQueue); + sendEvent(this, 'onResume', getFinishedResult(this, checkFinished(this, this.animation.to)), this); + } + }, + start: this._merge.bind(this, range) + } + }).then(result => { + if (props.loop && result.finished && !(isLoop && result.noop)) { + const nextProps = createLoopUpdate(props); + + if (nextProps) { + return this._update(nextProps, true); + } + } + + return result; + }); + } + + _merge(range, props, resolve) { + if (props.cancel) { + this.stop(true); + return resolve(getCancelledResult(this)); + } + + const hasToProp = !_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(range.to); + const hasFromProp = !_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(range.from); + + if (hasToProp || hasFromProp) { + if (props.callId > this._lastToId) { + this._lastToId = props.callId; + } else { + return resolve(getCancelledResult(this)); + } + } + + const { + key, + defaultProps, + animation: anim + } = this; + const { + to: prevTo, + from: prevFrom + } = anim; + let { + to = prevTo, + from = prevFrom + } = range; + + if (hasFromProp && !hasToProp && (!props.default || _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(to))) { + to = from; + } + + if (props.reverse) [to, from] = [from, to]; + const hasFromChanged = !Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* isEqual */ "u"])(from, prevFrom); + + if (hasFromChanged) { + anim.from = from; + } + + from = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* getFluidValue */ "q"])(from); + const hasToChanged = !Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* isEqual */ "u"])(to, prevTo); + + if (hasToChanged) { + this._focus(to); + } + + const hasAsyncTo = isAsyncTo(props.to); + const { + config + } = anim; + const { + decay, + velocity + } = config; + + if (hasToProp || hasFromProp) { + config.velocity = 0; + } + + if (props.config && !hasAsyncTo) { + mergeConfig(config, callProp(props.config, key), props.config !== defaultProps.config ? callProp(defaultProps.config, key) : void 0); + } + + let node = Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* getAnimated */ "e"])(this); + + if (!node || _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(to)) { + return resolve(getFinishedResult(this, true)); + } + + const reset = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(props.reset) ? hasFromProp && !props.default : !_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(from) && matchProp(props.reset, key); + const value = reset ? from : this.get(); + const goal = computeGoal(to); + const isAnimatable = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].num(goal) || _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].arr(goal) || Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* isAnimatedString */ "t"])(goal); + const immediate = !hasAsyncTo && (!isAnimatable || matchProp(defaultProps.immediate || props.immediate, key)); + + if (hasToChanged) { + const nodeType = Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* getAnimatedType */ "f"])(to); + + if (nodeType !== node.constructor) { + if (immediate) { + node = this._set(goal); + } else throw Error(`Cannot animate between ${node.constructor.name} and ${nodeType.name}, as the "to" prop suggests`); + } + } + + const goalType = node.constructor; + let started = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* hasFluidValue */ "r"])(to); + let finished = false; + + if (!started) { + const hasValueChanged = reset || !hasAnimated(this) && hasFromChanged; + + if (hasToChanged || hasValueChanged) { + finished = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* isEqual */ "u"])(computeGoal(value), goal); + started = !finished; + } + + if (!Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* isEqual */ "u"])(anim.immediate, immediate) && !immediate || !Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* isEqual */ "u"])(config.decay, decay) || !Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* isEqual */ "u"])(config.velocity, velocity)) { + started = true; + } + } + + if (finished && isAnimating(this)) { + if (anim.changed && !reset) { + started = true; + } else if (!started) { + this._stop(prevTo); + } + } + + if (!hasAsyncTo) { + if (started || Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* hasFluidValue */ "r"])(prevTo)) { + anim.values = node.getPayload(); + anim.toValues = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* hasFluidValue */ "r"])(to) ? null : goalType == _react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* AnimatedString */ "b"] ? [1] : Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* toArray */ "y"])(goal); + } + + if (anim.immediate != immediate) { + anim.immediate = immediate; + + if (!immediate && !reset) { + this._set(prevTo); + } + } + + if (started) { + const { + onRest + } = anim; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(ACTIVE_EVENTS, type => mergeActiveFn(this, props, type)); + const result = getFinishedResult(this, checkFinished(this, prevTo)); + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* flushCalls */ "n"])(this._pendingCalls, result); + + this._pendingCalls.add(resolve); + + if (anim.changed) _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* raf */ "w"].batchedUpdates(() => { + anim.changed = !reset; + onRest == null ? void 0 : onRest(result, this); + + if (reset) { + callProp(defaultProps.onRest, result); + } else { + anim.onStart == null ? void 0 : anim.onStart(result, this); + } + }); + } + } + + if (reset) { + this._set(value); + } + + if (hasAsyncTo) { + resolve(runAsync(props.to, props, this._state, this)); + } else if (started) { + this._start(); + } else if (isAnimating(this) && !hasToChanged) { + this._pendingCalls.add(resolve); + } else { + resolve(getNoopResult(value)); + } + } + + _focus(value) { + const anim = this.animation; + + if (value !== anim.to) { + if (Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* getFluidObservers */ "p"])(this)) { + this._detach(); + } + + anim.to = value; + + if (Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* getFluidObservers */ "p"])(this)) { + this._attach(); + } + } + } + + _attach() { + let priority = 0; + const { + to + } = this.animation; + + if (Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* hasFluidValue */ "r"])(to)) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* addFluidObserver */ "c"])(to, this); + + if (isFrameValue(to)) { + priority = to.priority + 1; + } + } + + this.priority = priority; + } + + _detach() { + const { + to + } = this.animation; + + if (Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* hasFluidValue */ "r"])(to)) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* removeFluidObserver */ "x"])(to, this); + } + } + + _set(arg, idle = true) { + const value = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* getFluidValue */ "q"])(arg); + + if (!_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(value)) { + const oldNode = Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* getAnimated */ "e"])(this); + + if (!oldNode || !Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* isEqual */ "u"])(value, oldNode.getValue())) { + const nodeType = Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* getAnimatedType */ "f"])(value); + + if (!oldNode || oldNode.constructor != nodeType) { + Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* setAnimated */ "h"])(this, nodeType.create(value)); + } else { + oldNode.setValue(value); + } + + if (oldNode) { + _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* raf */ "w"].batchedUpdates(() => { + this._onChange(value, idle); + }); + } + } + } + + return Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* getAnimated */ "e"])(this); + } + + _onStart() { + const anim = this.animation; + + if (!anim.changed) { + anim.changed = true; + sendEvent(this, 'onStart', getFinishedResult(this, checkFinished(this, anim.to)), this); + } + } + + _onChange(value, idle) { + if (!idle) { + this._onStart(); + + callProp(this.animation.onChange, value, this); + } + + callProp(this.defaultProps.onChange, value, this); + + super._onChange(value, idle); + } + + _start() { + const anim = this.animation; + Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* getAnimated */ "e"])(this).reset(Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* getFluidValue */ "q"])(anim.to)); + + if (!anim.immediate) { + anim.fromValues = anim.values.map(node => node.lastPosition); + } + + if (!isAnimating(this)) { + setActiveBit(this, true); + + if (!isPaused(this)) { + this._resume(); + } + } + } + + _resume() { + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* Globals */ "b"].skipAnimation) { + this.finish(); + } else { + _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* frameLoop */ "o"].start(this); + } + } + + _stop(goal, cancel) { + if (isAnimating(this)) { + setActiveBit(this, false); + const anim = this.animation; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(anim.values, node => { + node.done = true; + }); + + if (anim.toValues) { + anim.onChange = anim.onPause = anim.onResume = undefined; + } + + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* callFluidObservers */ "d"])(this, { + type: 'idle', + parent: this + }); + const result = cancel ? getCancelledResult(this.get()) : getFinishedResult(this.get(), checkFinished(this, goal != null ? goal : anim.to)); + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* flushCalls */ "n"])(this._pendingCalls, result); + + if (anim.changed) { + anim.changed = false; + sendEvent(this, 'onRest', result, this); + } + } + } + +} + +function checkFinished(target, to) { + const goal = computeGoal(to); + const value = computeGoal(target.get()); + return Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* isEqual */ "u"])(value, goal); +} + +function createLoopUpdate(props, loop = props.loop, to = props.to) { + let loopRet = callProp(loop); + + if (loopRet) { + const overrides = loopRet !== true && inferTo(loopRet); + const reverse = (overrides || props).reverse; + const reset = !overrides || overrides.reset; + return createUpdate(_extends({}, props, { + loop, + default: false, + pause: undefined, + to: !reverse || isAsyncTo(to) ? to : undefined, + from: reset ? props.from : undefined, + reset + }, overrides)); + } +} +function createUpdate(props) { + const { + to, + from + } = props = inferTo(props); + const keys = new Set(); + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].obj(to)) findDefined(to, keys); + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].obj(from)) findDefined(from, keys); + props.keys = keys.size ? Array.from(keys) : null; + return props; +} +function declareUpdate(props) { + const update = createUpdate(props); + + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(update.default)) { + update.default = getDefaultProps(update); + } + + return update; +} + +function findDefined(values, keys) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* eachProp */ "l"])(values, (value, key) => value != null && keys.add(key)); +} + +const ACTIVE_EVENTS = ['onStart', 'onRest', 'onChange', 'onPause', 'onResume']; + +function mergeActiveFn(target, props, type) { + target.animation[type] = props[type] !== getDefaultProp(props, type) ? resolveProp(props[type], target.key) : undefined; +} + +function sendEvent(target, type, ...args) { + var _target$animation$typ, _target$animation, _target$defaultProps$, _target$defaultProps; + + (_target$animation$typ = (_target$animation = target.animation)[type]) == null ? void 0 : _target$animation$typ.call(_target$animation, ...args); + (_target$defaultProps$ = (_target$defaultProps = target.defaultProps)[type]) == null ? void 0 : _target$defaultProps$.call(_target$defaultProps, ...args); +} + +const BATCHED_EVENTS = ['onStart', 'onChange', 'onRest']; +let nextId = 1; +class Controller { + constructor(props, flush) { + this.id = nextId++; + this.springs = {}; + this.queue = []; + this.ref = void 0; + this._flush = void 0; + this._initialProps = void 0; + this._lastAsyncId = 0; + this._active = new Set(); + this._changed = new Set(); + this._started = false; + this._item = void 0; + this._state = { + paused: false, + 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); + + if (flush) { + this._flush = flush; + } + + if (props) { + this.start(_extends({ + default: true + }, props)); + } + } + + get idle() { + return !this._state.asyncTo && Object.values(this.springs).every(spring => spring.idle); + } + + get item() { + return this._item; + } + + set item(item) { + this._item = item; + } + + get() { + const values = {}; + this.each((spring, key) => values[key] = spring.get()); + return values; + } + + set(values) { + for (const key in values) { + const value = values[key]; + + if (!_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(value)) { + this.springs[key].set(value); + } + } + } + + update(props) { + if (props) { + this.queue.push(createUpdate(props)); + } + + return this; + } + + start(props) { + let { + queue + } = this; + + if (props) { + queue = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* toArray */ "y"])(props).map(createUpdate); + } else { + this.queue = []; + } + + if (this._flush) { + return this._flush(this, queue); + } + + prepareKeys(this, queue); + return flushUpdateQueue(this, queue); + } + + stop(arg, keys) { + if (arg !== !!arg) { + keys = arg; + } + + if (keys) { + const springs = this.springs; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* toArray */ "y"])(keys), key => springs[key].stop(!!arg)); + } else { + stopAsync(this._state, this._lastAsyncId); + this.each(spring => spring.stop(!!arg)); + } + + return this; + } + + pause(keys) { + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(keys)) { + this.start({ + pause: true + }); + } else { + const springs = this.springs; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* toArray */ "y"])(keys), key => springs[key].pause()); + } + + return this; + } + + resume(keys) { + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(keys)) { + this.start({ + pause: false + }); + } else { + const springs = this.springs; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* toArray */ "y"])(keys), key => springs[key].resume()); + } + + return this; + } + + each(iterator) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* eachProp */ "l"])(this.springs, iterator); + } + + _onFrame() { + const { + onStart, + onChange, + onRest + } = this._events; + const active = this._active.size > 0; + const changed = this._changed.size > 0; + + if (active && !this._started || changed && !this._started) { + this._started = true; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* flush */ "m"])(onStart, ([onStart, result]) => { + result.value = this.get(); + onStart(result, this, this._item); + }); + } + + const idle = !active && this._started; + const values = changed || idle && onRest.size ? this.get() : null; + + if (changed && onChange.size) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* flush */ "m"])(onChange, ([onChange, result]) => { + result.value = values; + onChange(result, this, this._item); + }); + } + + if (idle) { + this._started = false; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* flush */ "m"])(onRest, ([onRest, result]) => { + result.value = values; + onRest(result, this, this._item); + }); + } + } + + eventObserved(event) { + if (event.type == 'change') { + this._changed.add(event.parent); + + if (!event.idle) { + this._active.add(event.parent); + } + } else if (event.type == 'idle') { + this._active.delete(event.parent); + } else return; + + _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* raf */ "w"].onFrame(this._onFrame); + } + +} +function flushUpdateQueue(ctrl, queue) { + return Promise.all(queue.map(props => flushUpdate(ctrl, props))).then(results => getCombinedResult(ctrl, results)); +} +async function flushUpdate(ctrl, props, isLoop) { + const { + keys, + to, + from, + loop, + onRest, + onResolve + } = props; + const defaults = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].obj(props.default) && props.default; + + if (loop) { + props.loop = false; + } + + if (to === false) props.to = null; + if (from === false) props.from = null; + const asyncTo = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].arr(to) || _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(to) ? to : undefined; + + if (asyncTo) { + props.to = undefined; + props.onRest = undefined; + + if (defaults) { + defaults.onRest = undefined; + } + } else { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(BATCHED_EVENTS, key => { + const handler = props[key]; + + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(handler)) { + const queue = ctrl['_events'][key]; + + props[key] = ({ + finished, + cancelled + }) => { + const result = queue.get(handler); + + if (result) { + if (!finished) result.finished = false; + if (cancelled) result.cancelled = true; + } else { + queue.set(handler, { + value: null, + finished: finished || false, + cancelled: cancelled || false + }); + } + }; + + if (defaults) { + defaults[key] = props[key]; + } + } + }); + } + + const state = ctrl['_state']; + + if (props.pause === !state.paused) { + state.paused = props.pause; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* flushCalls */ "n"])(props.pause ? state.pauseQueue : state.resumeQueue); + } else if (state.paused) { + props.pause = true; + } + + const promises = (keys || Object.keys(ctrl.springs)).map(key => ctrl.springs[key].start(props)); + const cancel = props.cancel === true || getDefaultProp(props, 'cancel') === true; + + if (asyncTo || cancel && state.asyncId) { + promises.push(scheduleProps(++ctrl['_lastAsyncId'], { + props, + state, + actions: { + pause: _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* noop */ "v"], + resume: _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* noop */ "v"], + + start(props, resolve) { + if (cancel) { + stopAsync(state, ctrl['_lastAsyncId']); + resolve(getCancelledResult(ctrl)); + } else { + props.onRest = onRest; + resolve(runAsync(asyncTo, props, state, ctrl)); + } + } + + } + })); + } + + if (state.paused) { + await new Promise(resume => { + state.resumeQueue.add(resume); + }); + } + + const result = getCombinedResult(ctrl, await Promise.all(promises)); + + if (loop && result.finished && !(isLoop && result.noop)) { + const nextProps = createLoopUpdate(props, loop, to); + + if (nextProps) { + prepareKeys(ctrl, [nextProps]); + return flushUpdate(ctrl, nextProps, true); + } + } + + if (onResolve) { + _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* raf */ "w"].batchedUpdates(() => onResolve(result, ctrl, ctrl.item)); + } + + return result; +} +function getSprings(ctrl, props) { + const springs = _extends({}, ctrl.springs); + + if (props) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* toArray */ "y"])(props), props => { + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(props.keys)) { + props = createUpdate(props); + } + + if (!_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].obj(props.to)) { + props = _extends({}, props, { + to: undefined + }); + } + + prepareSprings(springs, props, key => { + return createSpring(key); + }); + }); + } + + setSprings(ctrl, springs); + return springs; +} +function setSprings(ctrl, springs) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* eachProp */ "l"])(springs, (spring, key) => { + if (!ctrl.springs[key]) { + ctrl.springs[key] = spring; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* addFluidObserver */ "c"])(spring, ctrl); + } + }); +} + +function createSpring(key, observer) { + const spring = new SpringValue(); + spring.key = key; + + if (observer) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* addFluidObserver */ "c"])(spring, observer); + } + + return spring; +} + +function prepareSprings(springs, props, create) { + if (props.keys) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(props.keys, key => { + const spring = springs[key] || (springs[key] = create(key)); + spring['_prepareNode'](props); + }); + } +} + +function prepareKeys(ctrl, queue) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(queue, props => { + prepareSprings(ctrl.springs, props, key => { + return createSpring(key, ctrl); + }); + }); +} + +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; +} + +const _excluded$3 = ["children"]; +const SpringContext = _ref => { + let { + children + } = _ref, + props = _objectWithoutPropertiesLoose(_ref, _excluded$3); + + const inherited = Object(react__WEBPACK_IMPORTED_MODULE_1__["useContext"])(ctx); + const pause = props.pause || !!inherited.pause, + immediate = props.immediate || !!inherited.immediate; + props = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useMemoOne */ "B"])(() => ({ + pause, + immediate + }), [pause, immediate]); + const { + Provider + } = ctx; + return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](Provider, { + value: props + }, children); +}; +const ctx = makeContext(SpringContext, {}); +SpringContext.Provider = ctx.Provider; +SpringContext.Consumer = ctx.Consumer; + +function makeContext(target, init) { + Object.assign(target, react__WEBPACK_IMPORTED_MODULE_1__["createContext"](init)); + target.Provider._context = target; + target.Consumer._context = target; + return target; +} + +const SpringRef = () => { + const current = []; + + const SpringRef = function SpringRef(props) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* deprecateDirectCall */ "i"])(); + const results = []; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(current, (ctrl, i) => { + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(props)) { + results.push(ctrl.start()); + } else { + const update = _getProps(props, ctrl, i); + + if (update) { + results.push(ctrl.start(update)); + } + } + }); + return results; + }; + + SpringRef.current = current; + + SpringRef.add = function (ctrl) { + if (!current.includes(ctrl)) { + current.push(ctrl); + } + }; + + SpringRef.delete = function (ctrl) { + const i = current.indexOf(ctrl); + if (~i) current.splice(i, 1); + }; + + SpringRef.pause = function () { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(current, ctrl => ctrl.pause(...arguments)); + return this; + }; + + SpringRef.resume = function () { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(current, ctrl => ctrl.resume(...arguments)); + return this; + }; + + SpringRef.set = function (values) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(current, ctrl => ctrl.set(values)); + }; + + SpringRef.start = function (props) { + const results = []; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(current, (ctrl, i) => { + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(props)) { + results.push(ctrl.start()); + } else { + const update = this._getProps(props, ctrl, i); + + if (update) { + results.push(ctrl.start(update)); + } + } + }); + return results; + }; + + SpringRef.stop = function () { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(current, ctrl => ctrl.stop(...arguments)); + return this; + }; + + SpringRef.update = function (props) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(current, (ctrl, i) => ctrl.update(this._getProps(props, ctrl, i))); + return this; + }; + + const _getProps = function _getProps(arg, ctrl, index) { + return _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(arg) ? arg(index, ctrl) : arg; + }; + + SpringRef._getProps = _getProps; + return SpringRef; +}; + +function useSprings(length, props, deps) { + const propsFn = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(props) && props; + if (propsFn && !deps) deps = []; + const ref = Object(react__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(() => propsFn || arguments.length == 3 ? SpringRef() : void 0, []); + const layoutId = Object(react__WEBPACK_IMPORTED_MODULE_1__["useRef"])(0); + const forceUpdate = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useForceUpdate */ "z"])(); + const state = Object(react__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(() => ({ + ctrls: [], + queue: [], + + flush(ctrl, updates) { + const springs = getSprings(ctrl, updates); + const canFlushSync = layoutId.current > 0 && !state.queue.length && !Object.keys(springs).some(key => !ctrl.springs[key]); + return canFlushSync ? flushUpdateQueue(ctrl, updates) : new Promise(resolve => { + setSprings(ctrl, springs); + state.queue.push(() => { + resolve(flushUpdateQueue(ctrl, updates)); + }); + forceUpdate(); + }); + } + + }), []); + const ctrls = Object(react__WEBPACK_IMPORTED_MODULE_1__["useRef"])([...state.ctrls]); + const updates = []; + const prevLength = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* usePrev */ "D"])(length) || 0; + Object(react__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(() => { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(ctrls.current.slice(length, prevLength), ctrl => { + detachRefs(ctrl, ref); + ctrl.stop(true); + }); + ctrls.current.length = length; + declareUpdates(prevLength, length); + }, [length]); + Object(react__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(() => { + declareUpdates(0, Math.min(prevLength, length)); + }, deps); + + function declareUpdates(startIndex, endIndex) { + for (let i = startIndex; i < endIndex; i++) { + const ctrl = ctrls.current[i] || (ctrls.current[i] = new Controller(null, state.flush)); + const update = propsFn ? propsFn(i, ctrl) : props[i]; + + if (update) { + updates[i] = declareUpdate(update); + } + } + } + + const springs = ctrls.current.map((ctrl, i) => getSprings(ctrl, updates[i])); + const context = Object(react__WEBPACK_IMPORTED_MODULE_1__["useContext"])(SpringContext); + const prevContext = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* usePrev */ "D"])(context); + const hasContext = context !== prevContext && hasProps(context); + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => { + layoutId.current++; + state.ctrls = ctrls.current; + const { + queue + } = state; + + if (queue.length) { + state.queue = []; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(queue, cb => cb()); + } + + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(ctrls.current, (ctrl, i) => { + ref == null ? void 0 : ref.add(ctrl); + + if (hasContext) { + ctrl.start({ + default: context + }); + } + + const update = updates[i]; + + if (update) { + replaceRef(ctrl, update.ref); + + if (ctrl.ref) { + ctrl.queue.push(update); + } else { + ctrl.start(update); + } + } + }); + }); + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useOnce */ "C"])(() => () => { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(state.ctrls, ctrl => ctrl.stop(true)); + }); + const values = springs.map(x => _extends({}, x)); + return ref ? [values, ref] : values; +} + +function useSpring(props, deps) { + const isFn = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(props); + const [[values], ref] = useSprings(1, isFn ? props : [props], isFn ? deps || [] : deps); + return isFn || arguments.length == 2 ? [values, ref] : values; +} + +const initSpringRef = () => SpringRef(); + +const useSpringRef = () => Object(react__WEBPACK_IMPORTED_MODULE_1__["useState"])(initSpringRef)[0]; + +function useTrail(length, propsArg, deps) { + const propsFn = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(propsArg) && propsArg; + if (propsFn && !deps) deps = []; + let reverse = true; + const result = useSprings(length, (i, ctrl) => { + const props = propsFn ? propsFn(i, ctrl) : propsArg; + reverse = reverse && props.reverse; + return props; + }, deps || [{}]); + const ref = result[1]; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(ref.current, (ctrl, i) => { + const parent = ref.current[i + (reverse ? 1 : -1)]; + if (parent) ctrl.start({ + to: parent.springs + }); + }); + }, deps); + + if (propsFn || arguments.length == 3) { + ref['_getProps'] = (propsArg, ctrl, i) => { + const props = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(propsArg) ? propsArg(i, ctrl) : propsArg; + + if (props) { + const parent = ref.current[i + (props.reverse ? 1 : -1)]; + if (parent) props.to = parent.springs; + return props; + } + }; + + return result; + } + + return result[0]; +} + +let TransitionPhase; + +(function (TransitionPhase) { + TransitionPhase["MOUNT"] = "mount"; + TransitionPhase["ENTER"] = "enter"; + TransitionPhase["UPDATE"] = "update"; + TransitionPhase["LEAVE"] = "leave"; +})(TransitionPhase || (TransitionPhase = {})); + +function useTransition(data, props, deps) { + const propsFn = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(props) && props; + const { + reset, + sort, + trail = 0, + expires = true, + onDestroyed, + ref: propsRef, + config: propsConfig + } = propsFn ? propsFn() : props; + const ref = Object(react__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(() => propsFn || arguments.length == 3 ? SpringRef() : void 0, []); + const items = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* toArray */ "y"])(data); + const transitions = []; + const usedTransitions = Object(react__WEBPACK_IMPORTED_MODULE_1__["useRef"])(null); + const prevTransitions = reset ? null : usedTransitions.current; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => { + usedTransitions.current = transitions; + }); + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useOnce */ "C"])(() => () => Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(usedTransitions.current, t => { + if (t.expired) { + clearTimeout(t.expirationId); + } + + detachRefs(t.ctrl, ref); + t.ctrl.stop(true); + })); + const keys = getKeys(items, propsFn ? propsFn() : props, prevTransitions); + const expired = reset && usedTransitions.current || []; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(expired, ({ + ctrl, + item, + key + }) => { + detachRefs(ctrl, ref); + callProp(onDestroyed, item, key); + })); + const reused = []; + if (prevTransitions) Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(prevTransitions, (t, i) => { + if (t.expired) { + clearTimeout(t.expirationId); + expired.push(t); + } else { + i = reused[i] = keys.indexOf(t.key); + if (~i) transitions[i] = t; + } + }); + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(items, (item, i) => { + if (!transitions[i]) { + transitions[i] = { + key: keys[i], + item, + phase: TransitionPhase.MOUNT, + ctrl: new Controller() + }; + transitions[i].ctrl.item = item; + } + }); + + if (reused.length) { + let i = -1; + const { + leave + } = propsFn ? propsFn() : props; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(reused, (keyIndex, prevIndex) => { + const t = prevTransitions[prevIndex]; + + if (~keyIndex) { + i = transitions.indexOf(t); + transitions[i] = _extends({}, t, { + item: items[keyIndex] + }); + } else if (leave) { + transitions.splice(++i, 0, t); + } + }); + } + + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(sort)) { + transitions.sort((a, b) => sort(a.item, b.item)); + } + + let delay = -trail; + const forceUpdate = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useForceUpdate */ "z"])(); + const defaultProps = getDefaultProps(props); + const changes = new Map(); + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(transitions, (t, i) => { + const key = t.key; + const prevPhase = t.phase; + const p = propsFn ? propsFn() : props; + let to; + let phase; + let propsDelay = callProp(p.delay || 0, key); + + if (prevPhase == TransitionPhase.MOUNT) { + to = p.enter; + phase = TransitionPhase.ENTER; + } else { + const isLeave = keys.indexOf(key) < 0; + + if (prevPhase != TransitionPhase.LEAVE) { + if (isLeave) { + to = p.leave; + phase = TransitionPhase.LEAVE; + } else if (to = p.update) { + phase = TransitionPhase.UPDATE; + } else return; + } else if (!isLeave) { + to = p.enter; + phase = TransitionPhase.ENTER; + } else return; + } + + to = callProp(to, t.item, i); + to = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].obj(to) ? inferTo(to) : { + to + }; + + if (!to.config) { + const config = propsConfig || defaultProps.config; + to.config = callProp(config, t.item, i, phase); + } + + delay += trail; + + const payload = _extends({}, defaultProps, { + delay: propsDelay + delay, + ref: propsRef, + immediate: p.immediate, + reset: false + }, to); + + if (phase == TransitionPhase.ENTER && _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(payload.from)) { + const _p = propsFn ? propsFn() : props; + + const from = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(_p.initial) || prevTransitions ? _p.from : _p.initial; + payload.from = callProp(from, t.item, i); + } + + const { + onResolve + } = payload; + + payload.onResolve = result => { + callProp(onResolve, result); + const transitions = usedTransitions.current; + const t = transitions.find(t => t.key === key); + if (!t) return; + + if (result.cancelled && t.phase != TransitionPhase.UPDATE) { + return; + } + + if (t.ctrl.idle) { + const idle = transitions.every(t => t.ctrl.idle); + + if (t.phase == TransitionPhase.LEAVE) { + const expiry = callProp(expires, t.item); + + if (expiry !== false) { + const expiryMs = expiry === true ? 0 : expiry; + t.expired = true; + + if (!idle && expiryMs > 0) { + if (expiryMs <= 0x7fffffff) t.expirationId = setTimeout(forceUpdate, expiryMs); + return; + } + } + } + + if (idle && transitions.some(t => t.expired)) { + forceUpdate(); + } + } + }; + + const springs = getSprings(t.ctrl, payload); + changes.set(t, { + phase, + springs, + payload + }); + }); + const context = Object(react__WEBPACK_IMPORTED_MODULE_1__["useContext"])(SpringContext); + const prevContext = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* usePrev */ "D"])(context); + const hasContext = context !== prevContext && hasProps(context); + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => { + if (hasContext) Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(transitions, t => { + t.ctrl.start({ + default: context + }); + }); + }, [context]); + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(changes, ({ + phase, + payload + }, t) => { + const { + ctrl + } = t; + t.phase = phase; + ref == null ? void 0 : ref.add(ctrl); + + if (hasContext && phase == TransitionPhase.ENTER) { + ctrl.start({ + default: context + }); + } + + if (payload) { + replaceRef(ctrl, payload.ref); + + if (ctrl.ref) { + ctrl.update(payload); + } else { + ctrl.start(payload); + } + } + }); + }, reset ? void 0 : deps); + + const renderTransitions = render => react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null, transitions.map((t, i) => { + const { + springs + } = changes.get(t) || t.ctrl; + const elem = render(_extends({}, springs), t.item, t, i); + return elem && elem.type ? react__WEBPACK_IMPORTED_MODULE_1__["createElement"](elem.type, _extends({}, elem.props, { + key: _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].str(t.key) || _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].num(t.key) ? t.key : t.ctrl.id, + ref: elem.ref + })) : elem; + })); + + return ref ? [renderTransitions, ref] : renderTransitions; +} +let nextKey = 1; + +function getKeys(items, { + key, + keys = key +}, prevTransitions) { + if (keys === null) { + const reused = new Set(); + return items.map(item => { + const t = prevTransitions && prevTransitions.find(t => t.item === item && t.phase !== TransitionPhase.LEAVE && !reused.has(t)); + + if (t) { + reused.add(t); + return t.key; + } + + return nextKey++; + }); + } + + return _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].und(keys) ? items : _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(keys) ? items.map(keys) : Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* toArray */ "y"])(keys); +} + +const _excluded$2 = ["children"]; +function Spring(_ref) { + let { + children + } = _ref, + props = _objectWithoutPropertiesLoose(_ref, _excluded$2); + + return children(useSpring(props)); +} + +const _excluded$1 = ["items", "children"]; +function Trail(_ref) { + let { + items, + children + } = _ref, + props = _objectWithoutPropertiesLoose(_ref, _excluded$1); + + const trails = useTrail(items.length, props); + return items.map((item, index) => { + const result = children(item, index); + return _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(result) ? result(trails[index]) : result; + }); +} + +const _excluded = ["items", "children"]; +function Transition(_ref) { + let { + items, + children + } = _ref, + props = _objectWithoutPropertiesLoose(_ref, _excluded); + + return useTransition(items, props)(children); +} + +class Interpolation extends FrameValue { + constructor(source, args) { + super(); + this.key = void 0; + this.idle = true; + this.calc = void 0; + this._active = new Set(); + this.source = source; + this.calc = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* createInterpolator */ "f"])(...args); + + const value = this._get(); + + const nodeType = Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* getAnimatedType */ "f"])(value); + Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* setAnimated */ "h"])(this, nodeType.create(value)); + } + + advance(_dt) { + const value = this._get(); + + const oldValue = this.get(); + + if (!Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* isEqual */ "u"])(value, oldValue)) { + Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* getAnimated */ "e"])(this).setValue(value); + + this._onChange(value, this.idle); + } + + if (!this.idle && checkIdle(this._active)) { + becomeIdle(this); + } + } + + _get() { + const inputs = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].arr(this.source) ? this.source.map(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* getFluidValue */ "q"]) : Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* toArray */ "y"])(Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* getFluidValue */ "q"])(this.source)); + return this.calc(...inputs); + } + + _start() { + if (this.idle && !checkIdle(this._active)) { + this.idle = false; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* getPayload */ "g"])(this), node => { + node.done = false; + }); + + if (_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* Globals */ "b"].skipAnimation) { + _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* raf */ "w"].batchedUpdates(() => this.advance()); + becomeIdle(this); + } else { + _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* frameLoop */ "o"].start(this); + } + } + } + + _attach() { + let priority = 1; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* toArray */ "y"])(this.source), source => { + if (Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* hasFluidValue */ "r"])(source)) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* addFluidObserver */ "c"])(source, this); + } + + if (isFrameValue(source)) { + if (!source.idle) { + this._active.add(source); + } + + priority = Math.max(priority, source.priority + 1); + } + }); + this.priority = priority; + + this._start(); + } + + _detach() { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* toArray */ "y"])(this.source), source => { + if (Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* hasFluidValue */ "r"])(source)) { + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* removeFluidObserver */ "x"])(source, this); + } + }); + + this._active.clear(); + + becomeIdle(this); + } + + eventObserved(event) { + if (event.type == 'change') { + if (event.idle) { + this.advance(); + } else { + this._active.add(event.parent); + + this._start(); + } + } else if (event.type == 'idle') { + this._active.delete(event.parent); + } else if (event.type == 'priority') { + this.priority = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* toArray */ "y"])(this.source).reduce((highest, parent) => Math.max(highest, (isFrameValue(parent) ? parent.priority : 0) + 1), 0); + } + } + +} + +function isIdle(source) { + return source.idle !== false; +} + +function checkIdle(active) { + return !active.size || Array.from(active).every(isIdle); +} + +function becomeIdle(self) { + if (!self.idle) { + self.idle = true; + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(Object(_react_spring_animated__WEBPACK_IMPORTED_MODULE_2__[/* getPayload */ "g"])(self), node => { + node.done = true; + }); + Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* callFluidObservers */ "d"])(self, { + type: 'idle', + parent: self + }); + } +} + +const to = (source, ...args) => new Interpolation(source, args); +const interpolate = (source, ...args) => (Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* deprecateInterpolate */ "j"])(), new Interpolation(source, args)); + +_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* Globals */ "b"].assign({ + createStringInterpolator: _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* createStringInterpolator */ "g"], + to: (source, args) => new Interpolation(source, args) +}); +const update = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* frameLoop */ "o"].advance; + + + + /***/ }), /***/ "l3Sj": @@ -6304,6 +36012,1570 @@ module.exports = computedStyle; (function() { module.exports = window["wp"]["i18n"]; }()); +/***/ }), + +/***/ "lJLt": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PREFERENCES_DEFAULTS; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return SETTINGS_DEFAULTS; }); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__); +/** + * WordPress dependencies + */ + +const PREFERENCES_DEFAULTS = { + insertUsage: {} +}; +/** + * The default editor settings + * + * @typedef {Object} SETTINGS_DEFAULT + * @property {boolean} alignWide Enable/Disable Wide/Full Alignments + * @property {boolean} supportsLayout Enable/disable layouts support in container blocks. + * @property {boolean} imageEditing Image Editing settings set to false to disable. + * @property {Array} imageSizes Available image sizes + * @property {number} maxWidth Max width to constraint resizing + * @property {boolean|Array} allowedBlockTypes Allowed block types + * @property {boolean} hasFixedToolbar Whether or not the editor toolbar is fixed + * @property {boolean} focusMode Whether the focus mode is enabled or not + * @property {Array} styles Editor Styles + * @property {boolean} keepCaretInsideBlock Whether caret should move between blocks in edit mode + * @property {string} bodyPlaceholder Empty post placeholder + * @property {string} titlePlaceholder Empty title placeholder + * @property {boolean} codeEditingEnabled Whether or not the user can switch to the code editor + * @property {boolean} __experimentalCanUserUseUnfilteredHTML Whether the user should be able to use unfiltered HTML or the HTML should be filtered e.g., to remove elements considered insecure like iframes. + * @property {boolean} __experimentalBlockDirectory Whether the user has enabled the Block Directory + * @property {Array} __experimentalBlockPatterns Array of objects representing the block patterns + * @property {Array} __experimentalBlockPatternCategories Array of objects representing the block pattern categories + * @property {boolean} __unstableGalleryWithImageBlocks Whether the user has enabled the refactored gallery block which uses InnerBlocks + */ + +const SETTINGS_DEFAULTS = { + alignWide: false, + supportsLayout: true, + // colors setting is not used anymore now defaults are passed from theme.json on the server and core has its own defaults. + // The setting is only kept for backward compatibility purposes. + colors: [{ + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Black'), + slug: 'black', + color: '#000000' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Cyan bluish gray'), + slug: 'cyan-bluish-gray', + color: '#abb8c3' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('White'), + slug: 'white', + color: '#ffffff' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Pale pink'), + slug: 'pale-pink', + color: '#f78da7' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Vivid red'), + slug: 'vivid-red', + color: '#cf2e2e' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Luminous vivid orange'), + slug: 'luminous-vivid-orange', + color: '#ff6900' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Luminous vivid amber'), + slug: 'luminous-vivid-amber', + color: '#fcb900' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Light green cyan'), + slug: 'light-green-cyan', + color: '#7bdcb5' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Vivid green cyan'), + slug: 'vivid-green-cyan', + color: '#00d084' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Pale cyan blue'), + slug: 'pale-cyan-blue', + color: '#8ed1fc' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Vivid cyan blue'), + slug: 'vivid-cyan-blue', + color: '#0693e3' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Vivid purple'), + slug: 'vivid-purple', + color: '#9b51e0' + }], + // fontSizes setting is not used anymore now defaults are passed from theme.json on the server and core has its own defaults. + // The setting is only kept for backward compatibility purposes. + fontSizes: [{ + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Small', 'font size name'), + size: 13, + slug: 'small' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Normal', 'font size name'), + size: 16, + slug: 'normal' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Medium', 'font size name'), + size: 20, + slug: 'medium' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Large', 'font size name'), + size: 36, + slug: 'large' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["_x"])('Huge', 'font size name'), + size: 42, + slug: 'huge' + }], + // Image default size slug. + imageDefaultSize: 'large', + imageSizes: [{ + slug: 'thumbnail', + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Thumbnail') + }, { + slug: 'medium', + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Medium') + }, { + slug: 'large', + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Large') + }, { + slug: 'full', + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Full Size') + }], + // Allow plugin to disable Image Editor if need be + imageEditing: true, + // This is current max width of the block inner area + // It's used to constraint image resizing and this value could be overridden later by themes + maxWidth: 580, + // Allowed block types for the editor, defaulting to true (all supported). + allowedBlockTypes: true, + // Maximum upload size in bytes allowed for the site. + maxUploadFileSize: 0, + // List of allowed mime types and file extensions. + allowedMimeTypes: null, + __experimentalCanUserUseUnfilteredHTML: false, + __experimentalBlockDirectory: false, + __mobileEnablePageTemplates: false, + __experimentalBlockPatterns: [], + __experimentalBlockPatternCategories: [], + __experimentalSpotlightEntityBlocks: [], + __unstableGalleryWithImageBlocks: false, + // gradients setting is not used anymore now defaults are passed from theme.json on the server and core has its own defaults. + // The setting is only kept for backward compatibility purposes. + gradients: [{ + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Vivid cyan blue to vivid purple'), + gradient: 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)', + slug: 'vivid-cyan-blue-to-vivid-purple' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Light green cyan to vivid green cyan'), + gradient: 'linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%)', + slug: 'light-green-cyan-to-vivid-green-cyan' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Luminous vivid amber to luminous vivid orange'), + gradient: 'linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%)', + slug: 'luminous-vivid-amber-to-luminous-vivid-orange' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Luminous vivid orange to vivid red'), + gradient: 'linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%)', + slug: 'luminous-vivid-orange-to-vivid-red' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Very light gray to cyan bluish gray'), + gradient: 'linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%)', + slug: 'very-light-gray-to-cyan-bluish-gray' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Cool to warm spectrum'), + gradient: 'linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%)', + slug: 'cool-to-warm-spectrum' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Blush light purple'), + gradient: 'linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%)', + slug: 'blush-light-purple' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Blush bordeaux'), + gradient: 'linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%)', + slug: 'blush-bordeaux' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Luminous dusk'), + gradient: 'linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%)', + slug: 'luminous-dusk' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Pale ocean'), + gradient: 'linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%)', + slug: 'pale-ocean' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Electric grass'), + gradient: 'linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%)', + slug: 'electric-grass' + }, { + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Midnight'), + gradient: 'linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%)', + slug: 'midnight' + }] +}; + + +/***/ }), + +/***/ "mdLt": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + + +function InserterPanel({ + title, + icon, + children +}) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", { + className: "block-editor-inserter__panel-header" + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("h2", { + className: "block-editor-inserter__panel-title" + }, title), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["Icon"], { + icon: icon + })), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", { + className: "block-editor-inserter__panel-content" + }, children)); +} + +/* harmony default export */ __webpack_exports__["a"] = (InserterPanel); + + +/***/ }), + +/***/ "mlss": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__); +/** + * WordPress dependencies + */ + +const { + Fill: __unstableInserterMenuExtension, + Slot +} = Object(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__["createSlotFill"])('__unstableInserterMenuExtension'); +__unstableInserterMenuExtension.Slot = Slot; +/* harmony default export */ __webpack_exports__["a"] = (__unstableInserterMenuExtension); + + +/***/ }), + +/***/ "nEW0": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "w", function() { return /* reexport */ raf; }); +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ FluidValue; }); +__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ react_spring_shared_esm_globals; }); +__webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ addFluidObserver; }); +__webpack_require__.d(__webpack_exports__, "d", function() { return /* binding */ callFluidObservers; }); +__webpack_require__.d(__webpack_exports__, "e", function() { return /* binding */ colors; }); +__webpack_require__.d(__webpack_exports__, "f", function() { return /* binding */ createInterpolator; }); +__webpack_require__.d(__webpack_exports__, "g", function() { return /* binding */ createStringInterpolator; }); +__webpack_require__.d(__webpack_exports__, "h", function() { return /* binding */ defineHidden; }); +__webpack_require__.d(__webpack_exports__, "i", function() { return /* binding */ deprecateDirectCall; }); +__webpack_require__.d(__webpack_exports__, "j", function() { return /* binding */ deprecateInterpolate; }); +__webpack_require__.d(__webpack_exports__, "k", function() { return /* binding */ each; }); +__webpack_require__.d(__webpack_exports__, "l", function() { return /* binding */ eachProp; }); +__webpack_require__.d(__webpack_exports__, "m", function() { return /* binding */ flush; }); +__webpack_require__.d(__webpack_exports__, "n", function() { return /* binding */ flushCalls; }); +__webpack_require__.d(__webpack_exports__, "o", function() { return /* binding */ frameLoop; }); +__webpack_require__.d(__webpack_exports__, "p", function() { return /* binding */ getFluidObservers; }); +__webpack_require__.d(__webpack_exports__, "q", function() { return /* binding */ getFluidValue; }); +__webpack_require__.d(__webpack_exports__, "r", function() { return /* binding */ hasFluidValue; }); +__webpack_require__.d(__webpack_exports__, "s", function() { return /* binding */ is; }); +__webpack_require__.d(__webpack_exports__, "t", function() { return /* binding */ isAnimatedString; }); +__webpack_require__.d(__webpack_exports__, "u", function() { return /* binding */ isEqual; }); +__webpack_require__.d(__webpack_exports__, "v", function() { return /* binding */ noop; }); +__webpack_require__.d(__webpack_exports__, "x", function() { return /* binding */ removeFluidObserver; }); +__webpack_require__.d(__webpack_exports__, "y", function() { return /* binding */ toArray; }); +__webpack_require__.d(__webpack_exports__, "z", function() { return /* binding */ useForceUpdate; }); +__webpack_require__.d(__webpack_exports__, "A", function() { return /* binding */ useLayoutEffect; }); +__webpack_require__.d(__webpack_exports__, "B", function() { return /* binding */ useMemoOne; }); +__webpack_require__.d(__webpack_exports__, "C", function() { return /* binding */ useOnce; }); +__webpack_require__.d(__webpack_exports__, "D", function() { return /* binding */ usePrev; }); + +// UNUSED EXPORTS: callFluidObserver, colorToRgba, hex3, hex4, hex6, hex8, hsl, hsla, rgb, rgba, setFluidGetter + +// CONCATENATED MODULE: ./node_modules/@react-spring/rafz/dist/react-spring-rafz.esm.js +let updateQueue = makeQueue(); +const raf = fn => schedule(fn, updateQueue); +let writeQueue = makeQueue(); + +raf.write = fn => schedule(fn, writeQueue); + +let onStartQueue = makeQueue(); + +raf.onStart = fn => schedule(fn, onStartQueue); + +let onFrameQueue = makeQueue(); + +raf.onFrame = fn => schedule(fn, onFrameQueue); + +let onFinishQueue = makeQueue(); + +raf.onFinish = fn => schedule(fn, onFinishQueue); + +let timeouts = []; + +raf.setTimeout = (handler, ms) => { + let time = raf.now() + ms; + + let cancel = () => { + let i = timeouts.findIndex(t => t.cancel == cancel); + if (~i) timeouts.splice(i, 1); + __raf.count -= ~i ? 1 : 0; + }; + + let timeout = { + time, + handler, + cancel + }; + timeouts.splice(findTimeout(time), 0, timeout); + __raf.count += 1; + start(); + return timeout; +}; + +let findTimeout = time => ~(~timeouts.findIndex(t => t.time > time) || ~timeouts.length); + +raf.cancel = fn => { + updateQueue.delete(fn); + writeQueue.delete(fn); +}; + +raf.sync = fn => { + sync = true; + raf.batchedUpdates(fn); + sync = false; +}; + +raf.throttle = fn => { + let lastArgs; + + function queuedFn() { + try { + fn(...lastArgs); + } finally { + lastArgs = null; + } + } + + function throttled(...args) { + lastArgs = args; + raf.onStart(queuedFn); + } + + throttled.handler = fn; + + throttled.cancel = () => { + onStartQueue.delete(queuedFn); + lastArgs = null; + }; + + return throttled; +}; + +let nativeRaf = typeof window != 'undefined' ? window.requestAnimationFrame : () => {}; + +raf.use = impl => nativeRaf = impl; + +raf.now = typeof performance != 'undefined' ? () => performance.now() : Date.now; + +raf.batchedUpdates = fn => fn(); + +raf.catch = console.error; +raf.frameLoop = 'always'; + +raf.advance = () => { + if (raf.frameLoop !== 'demand') { + console.warn('Cannot call the manual advancement of rafz whilst frameLoop is not set as demand'); + } else { + react_spring_rafz_esm_update(); + } +}; + +let ts = -1; +let sync = false; + +function schedule(fn, queue) { + if (sync) { + queue.delete(fn); + fn(0); + } else { + queue.add(fn); + start(); + } +} + +function start() { + if (ts < 0) { + ts = 0; + + if (raf.frameLoop !== 'demand') { + nativeRaf(loop); + } + } +} + +function loop() { + if (~ts) { + nativeRaf(loop); + raf.batchedUpdates(react_spring_rafz_esm_update); + } +} + +function react_spring_rafz_esm_update() { + let prevTs = ts; + ts = raf.now(); + let count = findTimeout(ts); + + if (count) { + eachSafely(timeouts.splice(0, count), t => t.handler()); + __raf.count -= count; + } + + onStartQueue.flush(); + updateQueue.flush(prevTs ? Math.min(64, ts - prevTs) : 16.667); + onFrameQueue.flush(); + writeQueue.flush(); + onFinishQueue.flush(); +} + +function makeQueue() { + let next = new Set(); + let current = next; + return { + add(fn) { + __raf.count += current == next && !next.has(fn) ? 1 : 0; + next.add(fn); + }, + + delete(fn) { + __raf.count -= current == next && next.has(fn) ? 1 : 0; + return next.delete(fn); + }, + + flush(arg) { + if (current.size) { + next = new Set(); + __raf.count -= current.size; + eachSafely(current, fn => fn(arg) && next.add(fn)); + __raf.count += next.size; + current = next; + } + } + + }; +} + +function eachSafely(values, each) { + values.forEach(value => { + try { + each(value); + } catch (e) { + raf.catch(e); + } + }); +} + +const __raf = { + count: 0, + + clear() { + ts = -1; + timeouts = []; + onStartQueue = makeQueue(); + updateQueue = makeQueue(); + onFrameQueue = makeQueue(); + writeQueue = makeQueue(); + onFinishQueue = makeQueue(); + __raf.count = 0; + } + +}; + + + +// EXTERNAL MODULE: external "React" +var external_React_ = __webpack_require__("cDcd"); + +// CONCATENATED MODULE: ./node_modules/@react-spring/shared/dist/react-spring-shared.esm.js + + + + + +function noop() {} +const defineHidden = (obj, key, value) => Object.defineProperty(obj, key, { + value, + writable: true, + configurable: true +}); +const is = { + arr: Array.isArray, + obj: a => !!a && a.constructor.name === 'Object', + fun: a => typeof a === 'function', + str: a => typeof a === 'string', + num: a => typeof a === 'number', + und: a => a === undefined +}; +function isEqual(a, b) { + if (is.arr(a)) { + if (!is.arr(b) || a.length !== b.length) return false; + + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) return false; + } + + return true; + } + + return a === b; +} +const each = (obj, fn) => obj.forEach(fn); +function eachProp(obj, fn, ctx) { + if (is.arr(obj)) { + for (let i = 0; i < obj.length; i++) { + fn.call(ctx, obj[i], `${i}`); + } + + return; + } + + for (const key in obj) { + if (obj.hasOwnProperty(key)) { + fn.call(ctx, obj[key], key); + } + } +} +const toArray = a => is.und(a) ? [] : is.arr(a) ? a : [a]; +function flush(queue, iterator) { + if (queue.size) { + const items = Array.from(queue); + queue.clear(); + each(items, iterator); + } +} +const flushCalls = (queue, ...args) => flush(queue, fn => fn(...args)); + +let createStringInterpolator$1; +let to; +let colors$1 = null; +let skipAnimation = false; +let willAdvance = noop; +const react_spring_shared_esm_assign = globals => { + if (globals.to) to = globals.to; + if (globals.now) raf.now = globals.now; + if (globals.colors !== undefined) colors$1 = globals.colors; + if (globals.skipAnimation != null) skipAnimation = globals.skipAnimation; + if (globals.createStringInterpolator) createStringInterpolator$1 = globals.createStringInterpolator; + if (globals.requestAnimationFrame) raf.use(globals.requestAnimationFrame); + if (globals.batchedUpdates) raf.batchedUpdates = globals.batchedUpdates; + if (globals.willAdvance) willAdvance = globals.willAdvance; + if (globals.frameLoop) raf.frameLoop = globals.frameLoop; +}; + +var react_spring_shared_esm_globals = /*#__PURE__*/Object.freeze({ + __proto__: null, + get createStringInterpolator () { return createStringInterpolator$1; }, + get to () { return to; }, + get colors () { return colors$1; }, + get skipAnimation () { return skipAnimation; }, + get willAdvance () { return willAdvance; }, + assign: react_spring_shared_esm_assign +}); + +const startQueue = new Set(); +let currentFrame = []; +let prevFrame = []; +let priority = 0; +const frameLoop = { + get idle() { + return !startQueue.size && !currentFrame.length; + }, + + start(animation) { + if (priority > animation.priority) { + startQueue.add(animation); + raf.onStart(flushStartQueue); + } else { + startSafely(animation); + raf(advance); + } + }, + + advance, + + sort(animation) { + if (priority) { + raf.onFrame(() => frameLoop.sort(animation)); + } else { + const prevIndex = currentFrame.indexOf(animation); + + if (~prevIndex) { + currentFrame.splice(prevIndex, 1); + startUnsafely(animation); + } + } + }, + + clear() { + currentFrame = []; + startQueue.clear(); + } + +}; + +function flushStartQueue() { + startQueue.forEach(startSafely); + startQueue.clear(); + raf(advance); +} + +function startSafely(animation) { + if (!currentFrame.includes(animation)) startUnsafely(animation); +} + +function startUnsafely(animation) { + currentFrame.splice(findIndex(currentFrame, other => other.priority > animation.priority), 0, animation); +} + +function advance(dt) { + const nextFrame = prevFrame; + + for (let i = 0; i < currentFrame.length; i++) { + const animation = currentFrame[i]; + priority = animation.priority; + + if (!animation.idle) { + willAdvance(animation); + animation.advance(dt); + + if (!animation.idle) { + nextFrame.push(animation); + } + } + } + + priority = 0; + prevFrame = currentFrame; + prevFrame.length = 0; + currentFrame = nextFrame; + return currentFrame.length > 0; +} + +function findIndex(arr, test) { + const index = arr.findIndex(test); + return index < 0 ? arr.length : index; +} + +const colors = { + transparent: 0x00000000, + aliceblue: 0xf0f8ffff, + antiquewhite: 0xfaebd7ff, + aqua: 0x00ffffff, + aquamarine: 0x7fffd4ff, + azure: 0xf0ffffff, + beige: 0xf5f5dcff, + bisque: 0xffe4c4ff, + black: 0x000000ff, + blanchedalmond: 0xffebcdff, + blue: 0x0000ffff, + blueviolet: 0x8a2be2ff, + brown: 0xa52a2aff, + burlywood: 0xdeb887ff, + burntsienna: 0xea7e5dff, + cadetblue: 0x5f9ea0ff, + chartreuse: 0x7fff00ff, + chocolate: 0xd2691eff, + coral: 0xff7f50ff, + cornflowerblue: 0x6495edff, + cornsilk: 0xfff8dcff, + crimson: 0xdc143cff, + cyan: 0x00ffffff, + darkblue: 0x00008bff, + darkcyan: 0x008b8bff, + darkgoldenrod: 0xb8860bff, + darkgray: 0xa9a9a9ff, + darkgreen: 0x006400ff, + darkgrey: 0xa9a9a9ff, + darkkhaki: 0xbdb76bff, + darkmagenta: 0x8b008bff, + darkolivegreen: 0x556b2fff, + darkorange: 0xff8c00ff, + darkorchid: 0x9932ccff, + darkred: 0x8b0000ff, + darksalmon: 0xe9967aff, + darkseagreen: 0x8fbc8fff, + darkslateblue: 0x483d8bff, + darkslategray: 0x2f4f4fff, + darkslategrey: 0x2f4f4fff, + darkturquoise: 0x00ced1ff, + darkviolet: 0x9400d3ff, + deeppink: 0xff1493ff, + deepskyblue: 0x00bfffff, + dimgray: 0x696969ff, + dimgrey: 0x696969ff, + dodgerblue: 0x1e90ffff, + firebrick: 0xb22222ff, + floralwhite: 0xfffaf0ff, + forestgreen: 0x228b22ff, + fuchsia: 0xff00ffff, + gainsboro: 0xdcdcdcff, + ghostwhite: 0xf8f8ffff, + gold: 0xffd700ff, + goldenrod: 0xdaa520ff, + gray: 0x808080ff, + green: 0x008000ff, + greenyellow: 0xadff2fff, + grey: 0x808080ff, + honeydew: 0xf0fff0ff, + hotpink: 0xff69b4ff, + indianred: 0xcd5c5cff, + indigo: 0x4b0082ff, + ivory: 0xfffff0ff, + khaki: 0xf0e68cff, + lavender: 0xe6e6faff, + lavenderblush: 0xfff0f5ff, + lawngreen: 0x7cfc00ff, + lemonchiffon: 0xfffacdff, + lightblue: 0xadd8e6ff, + lightcoral: 0xf08080ff, + lightcyan: 0xe0ffffff, + lightgoldenrodyellow: 0xfafad2ff, + lightgray: 0xd3d3d3ff, + lightgreen: 0x90ee90ff, + lightgrey: 0xd3d3d3ff, + lightpink: 0xffb6c1ff, + lightsalmon: 0xffa07aff, + lightseagreen: 0x20b2aaff, + lightskyblue: 0x87cefaff, + lightslategray: 0x778899ff, + lightslategrey: 0x778899ff, + lightsteelblue: 0xb0c4deff, + lightyellow: 0xffffe0ff, + lime: 0x00ff00ff, + limegreen: 0x32cd32ff, + linen: 0xfaf0e6ff, + magenta: 0xff00ffff, + maroon: 0x800000ff, + mediumaquamarine: 0x66cdaaff, + mediumblue: 0x0000cdff, + mediumorchid: 0xba55d3ff, + mediumpurple: 0x9370dbff, + mediumseagreen: 0x3cb371ff, + mediumslateblue: 0x7b68eeff, + mediumspringgreen: 0x00fa9aff, + mediumturquoise: 0x48d1ccff, + mediumvioletred: 0xc71585ff, + midnightblue: 0x191970ff, + mintcream: 0xf5fffaff, + mistyrose: 0xffe4e1ff, + moccasin: 0xffe4b5ff, + navajowhite: 0xffdeadff, + navy: 0x000080ff, + oldlace: 0xfdf5e6ff, + olive: 0x808000ff, + olivedrab: 0x6b8e23ff, + orange: 0xffa500ff, + orangered: 0xff4500ff, + orchid: 0xda70d6ff, + palegoldenrod: 0xeee8aaff, + palegreen: 0x98fb98ff, + paleturquoise: 0xafeeeeff, + palevioletred: 0xdb7093ff, + papayawhip: 0xffefd5ff, + peachpuff: 0xffdab9ff, + peru: 0xcd853fff, + pink: 0xffc0cbff, + plum: 0xdda0ddff, + powderblue: 0xb0e0e6ff, + purple: 0x800080ff, + rebeccapurple: 0x663399ff, + red: 0xff0000ff, + rosybrown: 0xbc8f8fff, + royalblue: 0x4169e1ff, + saddlebrown: 0x8b4513ff, + salmon: 0xfa8072ff, + sandybrown: 0xf4a460ff, + seagreen: 0x2e8b57ff, + seashell: 0xfff5eeff, + sienna: 0xa0522dff, + silver: 0xc0c0c0ff, + skyblue: 0x87ceebff, + slateblue: 0x6a5acdff, + slategray: 0x708090ff, + slategrey: 0x708090ff, + snow: 0xfffafaff, + springgreen: 0x00ff7fff, + steelblue: 0x4682b4ff, + tan: 0xd2b48cff, + teal: 0x008080ff, + thistle: 0xd8bfd8ff, + tomato: 0xff6347ff, + turquoise: 0x40e0d0ff, + violet: 0xee82eeff, + wheat: 0xf5deb3ff, + white: 0xffffffff, + whitesmoke: 0xf5f5f5ff, + yellow: 0xffff00ff, + yellowgreen: 0x9acd32ff +}; + +const NUMBER = '[-+]?\\d*\\.?\\d+'; +const PERCENTAGE = NUMBER + '%'; + +function call(...parts) { + return '\\(\\s*(' + parts.join(')\\s*,\\s*(') + ')\\s*\\)'; +} + +const rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER)); +const rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER)); +const hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)); +const hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER)); +const hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/; +const hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/; +const hex6 = /^#([0-9a-fA-F]{6})$/; +const hex8 = /^#([0-9a-fA-F]{8})$/; + +function normalizeColor(color) { + let match; + + if (typeof color === 'number') { + return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null; + } + + if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0; + + if (colors$1 && colors$1[color] !== undefined) { + return colors$1[color]; + } + + if (match = rgb.exec(color)) { + return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | 0x000000ff) >>> 0; + } + + if (match = rgba.exec(color)) { + return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | parse1(match[4])) >>> 0; + } + + if (match = hex3.exec(color)) { + return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + 'ff', 16) >>> 0; + } + + if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0; + + if (match = hex4.exec(color)) { + return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + match[4] + match[4], 16) >>> 0; + } + + if (match = hsl.exec(color)) { + return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | 0x000000ff) >>> 0; + } + + if (match = hsla.exec(color)) { + return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | parse1(match[4])) >>> 0; + } + + return null; +} + +function hue2rgb(p, q, t) { + if (t < 0) t += 1; + if (t > 1) t -= 1; + if (t < 1 / 6) return p + (q - p) * 6 * t; + if (t < 1 / 2) return q; + if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6; + return p; +} + +function hslToRgb(h, s, l) { + const q = l < 0.5 ? l * (1 + s) : l + s - l * s; + const p = 2 * l - q; + const r = hue2rgb(p, q, h + 1 / 3); + const g = hue2rgb(p, q, h); + const b = hue2rgb(p, q, h - 1 / 3); + return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8; +} + +function parse255(str) { + const int = parseInt(str, 10); + if (int < 0) return 0; + if (int > 255) return 255; + return int; +} + +function parse360(str) { + const int = parseFloat(str); + return (int % 360 + 360) % 360 / 360; +} + +function parse1(str) { + const num = parseFloat(str); + if (num < 0) return 0; + if (num > 1) return 255; + return Math.round(num * 255); +} + +function parsePercentage(str) { + const int = parseFloat(str); + if (int < 0) return 0; + if (int > 100) return 1; + return int / 100; +} + +function colorToRgba(input) { + let int32Color = normalizeColor(input); + if (int32Color === null) return input; + int32Color = int32Color || 0; + let r = (int32Color & 0xff000000) >>> 24; + let g = (int32Color & 0x00ff0000) >>> 16; + let b = (int32Color & 0x0000ff00) >>> 8; + let a = (int32Color & 0x000000ff) / 255; + return `rgba(${r}, ${g}, ${b}, ${a})`; +} + +const createInterpolator = (range, output, extrapolate) => { + if (is.fun(range)) { + return range; + } + + if (is.arr(range)) { + return createInterpolator({ + range, + output: output, + extrapolate + }); + } + + if (is.str(range.output[0])) { + return createStringInterpolator$1(range); + } + + const config = range; + const outputRange = config.output; + const inputRange = config.range || [0, 1]; + const extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend'; + const extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend'; + + const easing = config.easing || (t => t); + + return input => { + const range = findRange(input, inputRange); + return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map); + }; +}; + +function interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) { + let result = map ? map(input) : input; + + if (result < inputMin) { + if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin; + } + + if (result > inputMax) { + if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax; + } + + if (outputMin === outputMax) return outputMin; + if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax; + if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin); + result = easing(result); + if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin; + return result; +} + +function findRange(input, inputRange) { + for (var i = 1; i < inputRange.length - 1; ++i) if (inputRange[i] >= input) break; + + return i - 1; +} + +function _extends() { + _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + return _extends.apply(this, arguments); +} + +const $get = Symbol.for('FluidValue.get'); +const $observers = Symbol.for('FluidValue.observers'); + +const hasFluidValue = arg => Boolean(arg && arg[$get]); + +const getFluidValue = arg => arg && arg[$get] ? arg[$get]() : arg; + +const getFluidObservers = target => target[$observers] || null; + +function callFluidObserver(observer, event) { + if (observer.eventObserved) { + observer.eventObserved(event); + } else { + observer(event); + } +} + +function callFluidObservers(target, event) { + let observers = target[$observers]; + + if (observers) { + observers.forEach(observer => { + callFluidObserver(observer, event); + }); + } +} + +class FluidValue { + constructor(get) { + this[$get] = void 0; + this[$observers] = void 0; + + if (!get && !(get = this.get)) { + throw Error('Unknown getter'); + } + + setFluidGetter(this, get); + } + +} + +const setFluidGetter = (target, get) => setHidden(target, $get, get); + +function addFluidObserver(target, observer) { + if (target[$get]) { + let observers = target[$observers]; + + if (!observers) { + setHidden(target, $observers, observers = new Set()); + } + + if (!observers.has(observer)) { + observers.add(observer); + + if (target.observerAdded) { + target.observerAdded(observers.size, observer); + } + } + } + + return observer; +} + +function removeFluidObserver(target, observer) { + let observers = target[$observers]; + + if (observers && observers.has(observer)) { + const count = observers.size - 1; + + if (count) { + observers.delete(observer); + } else { + target[$observers] = null; + } + + if (target.observerRemoved) { + target.observerRemoved(count, observer); + } + } +} + +const setHidden = (target, key, value) => Object.defineProperty(target, key, { + value, + writable: true, + configurable: true +}); + +const numberRegex = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g; +const colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi; +const unitRegex = new RegExp(`(${numberRegex.source})(%|[a-z]+)`, 'i'); +let namedColorRegex; +const rgbaRegex = /rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi; + +const rgbaRound = (_, p1, p2, p3, p4) => `rgba(${Math.round(p1)}, ${Math.round(p2)}, ${Math.round(p3)}, ${p4})`; + +const createStringInterpolator = config => { + if (!namedColorRegex) namedColorRegex = colors$1 ? new RegExp(`(${Object.keys(colors$1).join('|')})(?!\\w)`, 'g') : /^\b$/; + const output = config.output.map(value => getFluidValue(value).replace(colorRegex, colorToRgba).replace(namedColorRegex, colorToRgba)); + const keyframes = output.map(value => value.match(numberRegex).map(Number)); + const outputRanges = keyframes[0].map((_, i) => keyframes.map(values => { + if (!(i in values)) { + throw Error('The arity of each "output" value must be equal'); + } + + return values[i]; + })); + const interpolators = outputRanges.map(output => createInterpolator(_extends({}, config, { + output + }))); + return input => { + var _output$find; + + const missingUnit = !unitRegex.test(output[0]) && ((_output$find = output.find(value => unitRegex.test(value))) == null ? void 0 : _output$find.replace(numberRegex, '')); + let i = 0; + return output[0].replace(numberRegex, () => `${interpolators[i++](input)}${missingUnit || ''}`).replace(rgbaRegex, rgbaRound); + }; +}; + +const prefix = 'react-spring: '; + +const once = fn => { + const func = fn; + let called = false; + + if (typeof func != 'function') { + throw new TypeError(`${prefix}once requires a function parameter`); + } + + return (...args) => { + if (!called) { + func(...args); + called = true; + } + }; +}; + +const warnInterpolate = once(console.warn); +function deprecateInterpolate() { + warnInterpolate(`${prefix}The "interpolate" function is deprecated in v9 (use "to" instead)`); +} +const warnDirectCall = once(console.warn); +function deprecateDirectCall() { + warnDirectCall(`${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`); +} + +function isAnimatedString(value) { + return is.str(value) && (value[0] == '#' || /\d/.test(value) || value in (colors$1 || {})); +} + +const useOnce = effect => Object(external_React_["useEffect"])(effect, emptyDeps); +const emptyDeps = []; + +function useForceUpdate() { + const update = Object(external_React_["useState"])()[1]; + const mounted = Object(external_React_["useState"])(makeMountedRef)[0]; + useOnce(mounted.unmount); + return () => { + if (mounted.current) { + update({}); + } + }; +} + +function makeMountedRef() { + const mounted = { + current: true, + unmount: () => () => { + mounted.current = false; + } + }; + return mounted; +} + +function useMemoOne(getResult, inputs) { + const [initial] = Object(external_React_["useState"])(() => ({ + inputs, + result: getResult() + })); + const committed = Object(external_React_["useRef"])(); + const prevCache = committed.current; + let cache = prevCache; + + if (cache) { + const useCache = Boolean(inputs && cache.inputs && areInputsEqual(inputs, cache.inputs)); + + if (!useCache) { + cache = { + inputs, + result: getResult() + }; + } + } else { + cache = initial; + } + + Object(external_React_["useEffect"])(() => { + committed.current = cache; + + if (prevCache == initial) { + initial.inputs = initial.result = undefined; + } + }, [cache]); + return cache.result; +} + +function areInputsEqual(next, prev) { + if (next.length !== prev.length) { + return false; + } + + for (let i = 0; i < next.length; i++) { + if (next[i] !== prev[i]) { + return false; + } + } + + return true; +} + +function usePrev(value) { + const prevRef = Object(external_React_["useRef"])(); + Object(external_React_["useEffect"])(() => { + prevRef.current = value; + }); + return prevRef.current; +} + +const useLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? external_React_["useLayoutEffect"] : external_React_["useEffect"]; + + + + +/***/ }), + +/***/ "nQUx": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("HSyU"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _wordpress_notices__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("onLe"); +/* harmony import */ var _wordpress_notices__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_notices__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("BhPs"); +/** + * External dependencies + */ + +/** + * 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 + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_3__["useSelect"])(select => { + const { + __experimentalGetAllowedPatterns, + getSettings + } = select(_store__WEBPACK_IMPORTED_MODULE_6__[/* store */ "a"]); + return { + patterns: __experimentalGetAllowedPatterns(rootClientId), + patternCategories: getSettings().__experimentalBlockPatternCategories + }; + }, [rootClientId]); + const { + createSuccessNotice + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_3__["useDispatch"])(_wordpress_notices__WEBPACK_IMPORTED_MODULE_5__["store"]); + const onClickPattern = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useCallback"])((pattern, blocks) => { + onInsert(Object(lodash__WEBPACK_IMPORTED_MODULE_0__["map"])(blocks, block => Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__["cloneBlock"])(block)), pattern.name); + createSuccessNotice(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["sprintf"])( + /* translators: %s: block pattern title. */ + Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Block pattern "%s" inserted.'), pattern.title), { + type: 'snackbar' + }); + }, []); + return [patterns, patternCategories, onClickPattern]; +}; + +/* harmony default export */ __webpack_exports__["a"] = (usePatternsState); + + +/***/ }), + +/***/ "nlh6": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useBlockProps; }); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("TSYQ"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("HSyU"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("Z23Y"); +/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_warning__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _use_moving_animation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("Xkls"); +/* harmony import */ var _block__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("jBNB"); +/* harmony import */ var _use_focus_first_element__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("z+q2"); +/* harmony import */ var _use_is_hovered__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("kBLm"); +/* harmony import */ var _block_edit_context__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("ur0x"); +/* harmony import */ var _use_block_class_names__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__("Q2Xw"); +/* harmony import */ var _use_block_default_class_name__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__("YZt4"); +/* harmony import */ var _use_block_custom_class_name__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__("ERVc"); +/* harmony import */ var _use_block_moving_mode_class_names__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__("+6d5"); +/* harmony import */ var _use_focus_handler__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__("6jxZ"); +/* harmony import */ var _use_selected_block_event_handlers__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__("felP"); +/* harmony import */ var _use_nav_mode_exit__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__("JDWi"); +/* harmony import */ var _use_scroll_into_view__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__("G4zt"); +/* harmony import */ var _use_block_refs__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__("PKbb"); +/* harmony import */ var _use_multi_selection__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__("hw9B"); +/* harmony import */ var _use_intersection_observer__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__("rHRV"); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__("BhPs"); +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + + +/** + * Internal dependencies + */ + + + + + + + + + + + + + + + + + + +/** + * 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 + * returned props to the element to mark as a block. If you define a ref for the + * element, it is important to pass the ref to this hook, which the hook in turn + * will pass to the component through the props it returns. Optionally, you can + * also pass any other props through this hook, and they will be merged and + * returned. + * + * @param {Object} props Optional. Props to pass to the element. Must contain + * the ref if one is defined. + * @param {Object} options Options for internal use only. + * @param {boolean} options.__unstableIsHtml + * + * @return {Object} Props to pass to the element to mark as a block. + */ + +function useBlockProps(props = {}, { + __unstableIsHtml +} = {}) { + const { + clientId, + className, + wrapperProps = {}, + isAligned + } = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useContext"])(_block__WEBPACK_IMPORTED_MODULE_8__[/* BlockListBlockContext */ "a"]); + const { + index, + mode, + name, + blockApiVersion, + blockTitle, + isPartOfSelection, + adjustScrolling, + enableAnimation + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_5__["useSelect"])(select => { + const { + getBlockRootClientId, + getBlockIndex, + getBlockMode, + getBlockName, + isTyping, + getGlobalBlockCount, + isBlockSelected, + isBlockMultiSelected, + isAncestorMultiSelected, + isFirstMultiSelectedBlock + } = select(_store__WEBPACK_IMPORTED_MODULE_23__[/* store */ "a"]); + const isSelected = isBlockSelected(clientId); + const isPartOfMultiSelection = isBlockMultiSelected(clientId) || isAncestorMultiSelected(clientId); + const blockName = getBlockName(clientId); + const rootClientId = getBlockRootClientId(clientId); + const blockType = Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_3__["getBlockType"])(blockName); + return { + index: getBlockIndex(clientId, rootClientId), + mode: getBlockMode(clientId), + name: blockName, + blockApiVersion: (blockType === null || blockType === void 0 ? void 0 : blockType.apiVersion) || 1, + blockTitle: blockType === null || blockType === void 0 ? void 0 : blockType.title, + isPartOfSelection: isSelected || isPartOfMultiSelection, + adjustScrolling: isSelected || isFirstMultiSelectedBlock(clientId), + enableAnimation: !isTyping() && getGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD + }; + }, [clientId]); // translators: %s: Type of block (i.e. Text, Image etc) + + const blockLabel = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["sprintf"])(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Block: %s'), blockTitle); + const htmlSuffix = mode === 'html' && !__unstableIsHtml ? '-visual' : ''; + const mergedRefs = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__["useMergeRefs"])([props.ref, Object(_use_focus_first_element__WEBPACK_IMPORTED_MODULE_9__[/* useFocusFirstElement */ "a"])(clientId), // Must happen after focus because we check for focus in the block. + Object(_use_scroll_into_view__WEBPACK_IMPORTED_MODULE_19__[/* useScrollIntoView */ "a"])(clientId), Object(_use_block_refs__WEBPACK_IMPORTED_MODULE_20__[/* useBlockRefProvider */ "c"])(clientId), Object(_use_focus_handler__WEBPACK_IMPORTED_MODULE_16__[/* useFocusHandler */ "a"])(clientId), Object(_use_multi_selection__WEBPACK_IMPORTED_MODULE_21__[/* useMultiSelection */ "a"])(clientId), Object(_use_selected_block_event_handlers__WEBPACK_IMPORTED_MODULE_17__[/* useEventHandlers */ "a"])(clientId), Object(_use_nav_mode_exit__WEBPACK_IMPORTED_MODULE_18__[/* useNavModeExit */ "a"])(clientId), Object(_use_is_hovered__WEBPACK_IMPORTED_MODULE_10__[/* useIsHovered */ "a"])(), Object(_use_intersection_observer__WEBPACK_IMPORTED_MODULE_22__[/* useIntersectionObserver */ "a"])(), Object(_use_moving_animation__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"])({ + isSelected: isPartOfSelection, + adjustScrolling, + enableAnimation, + triggerAnimationOnChange: index + })]); + const blockEditContext = Object(_block_edit_context__WEBPACK_IMPORTED_MODULE_11__[/* useBlockEditContext */ "c"])(); // Ensures it warns only inside the `edit` implementation for the block. + + if (blockApiVersion < 2 && clientId === blockEditContext.clientId) { + typeof process !== "undefined" && process.env && "production" !== "production" ? _wordpress_warning__WEBPACK_IMPORTED_MODULE_6___default()(`Block type "${name}" must support API version 2 or higher to work correctly with "useBlockProps" method.`) : void 0; + } + + return { ...wrapperProps, + ...props, + ref: mergedRefs, + id: `block-${clientId}${htmlSuffix}`, + tabIndex: 0, + role: 'document', + 'aria-label': blockLabel, + 'data-block': clientId, + 'data-type': name, + 'data-title': blockTitle, + className: classnames__WEBPACK_IMPORTED_MODULE_0___default()( // The wp-block className is important for editor styles. + classnames__WEBPACK_IMPORTED_MODULE_0___default()('block-editor-block-list__block', { + 'wp-block': !isAligned + }), className, props.className, wrapperProps.className, Object(_use_block_class_names__WEBPACK_IMPORTED_MODULE_12__[/* useBlockClassNames */ "a"])(clientId), Object(_use_block_default_class_name__WEBPACK_IMPORTED_MODULE_13__[/* useBlockDefaultClassName */ "a"])(clientId), Object(_use_block_custom_class_name__WEBPACK_IMPORTED_MODULE_14__[/* useBlockCustomClassName */ "a"])(clientId), Object(_use_block_moving_mode_class_names__WEBPACK_IMPORTED_MODULE_15__[/* useBlockMovingModeClassNames */ "a"])(clientId)), + style: { ...wrapperProps.style, + ...props.style + } + }; +} +/** + * Call within a save function to get the props for the block wrapper. + * + * @param {Object} props Optional. Props to pass to the element. + */ + +useBlockProps.save = _wordpress_blocks__WEBPACK_IMPORTED_MODULE_3__["__unstableGetBlockProps"]; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("8oxB"))) + +/***/ }), + +/***/ "o97j": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright (c) 2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ExecutionEnvironment + */ + +/*jslint evil: true */ + + + +var canUseDOM = !!( + typeof window !== 'undefined' && + window.document && + window.document.createElement +); + +/** + * Simple, lightweight module assisting with the detection and context of + * Worker. Helps avoid circular dependencies and allows code to reason about + * whether or not they are in a Worker, even if they never include the main + * `ReactWorker` dependency. + */ +var ExecutionEnvironment = { + + canUseDOM: canUseDOM, + + canUseWorkers: typeof Worker !== 'undefined', + + canUseEventListeners: + canUseDOM && !!(window.addEventListener || window.attachEvent), + + canUseViewport: canUseDOM && !!window.screen, + + isInWorker: !canUseDOM // For now, this is true - might change in the future. + +}; + +module.exports = ExecutionEnvironment; + + /***/ }), /***/ "onLe": @@ -6311,6 +37583,846 @@ module.exports = computedStyle; (function() { module.exports = window["wp"]["notices"]; }()); +/***/ }), + +/***/ "p3NJ": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ useInnerBlocksProps; }); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/button-block-appender/index.js +var button_block_appender = __webpack_require__("I5Hl"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit/context.js +var block_edit_context = __webpack_require__("ur0x"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/with-client-id.js + + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + +const withClientId = Object(external_wp_compose_["createHigherOrderComponent"])(WrappedComponent => props => { + const { + clientId + } = Object(block_edit_context["c" /* useBlockEditContext */])(); + return Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, props, { + clientId: clientId + })); +}, 'withClientId'); +/* harmony default export */ var with_client_id = (withClientId); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/button-block-appender.js + + +/** + * External dependencies + */ + +/** + * Internal dependencies + */ + + + +const ButtonBlockAppender = ({ + clientId, + showSeparator, + isFloating, + onAddBlock, + isToggle +}) => { + return Object(external_wp_element_["createElement"])(button_block_appender["b" /* default */], { + className: classnames_default()({ + 'block-list-appender__toggle': isToggle + }), + rootClientId: clientId, + showSeparator: showSeparator, + isFloating: isFloating, + onAddBlock: onAddBlock + }); +}; +/* harmony default export */ var inner_blocks_button_block_appender = (with_client_id(ButtonBlockAppender)); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/default-block-appender/index.js +var default_block_appender = __webpack_require__("5L8O"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/default-block-appender.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +const DefaultBlockAppender = ({ + clientId, + lastBlockClientId +}) => { + return Object(external_wp_element_["createElement"])(default_block_appender["a" /* default */], { + rootClientId: clientId, + lastBlockClientId: lastBlockClientId + }); +}; +/* harmony default export */ var inner_blocks_default_block_appender = (Object(external_wp_compose_["compose"])([with_client_id, Object(external_wp_data_["withSelect"])((select, { + clientId +}) => { + const { + getBlockOrder + } = select(store["a" /* store */]); + const blockClientIds = getBlockOrder(clientId); + return { + lastBlockClientId: Object(external_lodash_["last"])(blockClientIds) + }; +})])(DefaultBlockAppender)); + +// EXTERNAL MODULE: external ["wp","isShallowEqual"] +var external_wp_isShallowEqual_ = __webpack_require__("rl8x"); +var external_wp_isShallowEqual_default = /*#__PURE__*/__webpack_require__.n(external_wp_isShallowEqual_); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/layouts/index.js + 5 modules +var layouts = __webpack_require__("PPMp"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/use-nested-settings-update.js +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +/** + * This hook is a side effect which updates the block-editor store when changes + * happen to inner block settings. The given props are transformed into a + * settings object, and if that is different from the current settings object in + * the block-editor store, then the store is updated with the new settings which + * came from props. + * + * @param {string} clientId The client ID of the block to update. + * @param {string[]} allowedBlocks An array of block names which are permitted + * in inner blocks. + * @param {?Array} __experimentalDefaultBlock The default block to insert: [ blockName, { blockAttributes } ]. + * @param {?Function|boolean} __experimentalDirectInsert If a default block should be inserted directly by the + * appender. + * @param {string} [templateLock] The template lock specified for the inner + * blocks component. (e.g. "all") + * @param {boolean} captureToolbars Whether or children toolbars should be shown + * in the inner blocks component rather than on + * the child block. + * @param {string} orientation The direction in which the block + * should face. + * @param {Object} layout The layout object for the block container. + */ + +function useNestedSettingsUpdate(clientId, allowedBlocks, __experimentalDefaultBlock, __experimentalDirectInsert, templateLock, captureToolbars, orientation, layout) { + const { + updateBlockListSettings + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const { + blockListSettings, + parentLock + } = Object(external_wp_data_["useSelect"])(select => { + const rootClientId = select(store["a" /* store */]).getBlockRootClientId(clientId); + return { + blockListSettings: select(store["a" /* store */]).getBlockListSettings(clientId), + parentLock: select(store["a" /* store */]).getTemplateLock(rootClientId) + }; + }, [clientId]); // Memoize as inner blocks implementors often pass a new array on every + // render. + + const _allowedBlocks = Object(external_wp_element_["useMemo"])(() => allowedBlocks, allowedBlocks); + + Object(external_wp_element_["useLayoutEffect"])(() => { + const newSettings = { + allowedBlocks: _allowedBlocks, + templateLock: templateLock === undefined ? parentLock : templateLock + }; // These values are not defined for RN, so only include them if they + // are defined. + + if (captureToolbars !== undefined) { + newSettings.__experimentalCaptureToolbars = captureToolbars; + } // Orientation depends on layout, + // ideally the separate orientation prop should be deprecated. + + + if (orientation !== undefined) { + newSettings.orientation = orientation; + } else { + const layoutType = Object(layouts["a" /* getLayoutType */])(layout === null || layout === void 0 ? void 0 : layout.type); + newSettings.orientation = layoutType.getOrientation(layout); + } + + if (__experimentalDefaultBlock !== undefined) { + newSettings.__experimentalDefaultBlock = __experimentalDefaultBlock; + } + + if (__experimentalDirectInsert !== undefined) { + newSettings.__experimentalDirectInsert = __experimentalDirectInsert; + } + + if (!external_wp_isShallowEqual_default()(blockListSettings, newSettings)) { + updateBlockListSettings(clientId, newSettings); + } + }, [clientId, blockListSettings, _allowedBlocks, __experimentalDefaultBlock, __experimentalDirectInsert, templateLock, parentLock, captureToolbars, orientation, updateBlockListSettings, layout]); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/use-inner-block-template-sync.js +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +/** + * This hook makes sure that a block's inner blocks stay in sync with the given + * block "template". The template is a block hierarchy to which inner blocks must + * conform. If the blocks get "out of sync" with the template and the template + * is meant to be locked (e.g. templateLock = "all"), then we replace the inner + * blocks with the correct value after synchronizing it with the template. + * + * @param {string} clientId The block client ID. + * @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", + * then the inner blocks will stay in sync with the + * template. If not defined or set to false, then + * the inner blocks will not be synchronized with + * the given template. + * @param {boolean} templateInsertUpdatesSelection Whether or not to update the + * block-editor selection state when inner blocks + * are replaced after template synchronization. + */ + +function useInnerBlockTemplateSync(clientId, template, templateLock, templateInsertUpdatesSelection) { + const { + getSelectedBlocksInitialCaretPosition + } = Object(external_wp_data_["useSelect"])(store["a" /* store */]); + const { + replaceInnerBlocks + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const innerBlocks = Object(external_wp_data_["useSelect"])(select => select(store["a" /* store */]).getBlocks(clientId), [clientId]); // Maintain a reference to the previous value so we can do a deep equality check. + + const existingTemplate = Object(external_wp_element_["useRef"])(null); + Object(external_wp_element_["useLayoutEffect"])(() => { + // Only synchronize innerBlocks with template if innerBlocks are empty or + // a locking all exists directly on the block. + if (innerBlocks.length === 0 || templateLock === 'all') { + const hasTemplateChanged = !Object(external_lodash_["isEqual"])(template, existingTemplate.current); + + if (hasTemplateChanged) { + existingTemplate.current = template; + const nextBlocks = Object(external_wp_blocks_["synchronizeBlocksWithTemplate"])(innerBlocks, template); + + if (!Object(external_lodash_["isEqual"])(nextBlocks, innerBlocks)) { + replaceInnerBlocks(clientId, nextBlocks, innerBlocks.length === 0 && templateInsertUpdatesSelection && nextBlocks.length !== 0, // This ensures the "initialPosition" doesn't change when applying the template + // If we're supposed to focus the block, we'll focus the first inner block + // otherwise, we won't apply any auto-focus. + // This ensures for instance that the focus stays in the inserter when inserting the "buttons" block. + getSelectedBlocksInitialCaretPosition()); + } + } + } + }, [innerBlocks, template, templateLock, clientId]); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/get-block-context.js +/** + * External dependencies + */ + +/** + * Block context cache, implemented as a WeakMap mapping block types to a + * WeakMap mapping attributes object to context value. + * + * @type {WeakMap>} + */ + +const BLOCK_CONTEXT_CACHE = new WeakMap(); +/** + * Returns a cached context object value for a given set of attributes for the + * block type. + * + * @param {Record} attributes Block attributes object. + * @param {WPBlockType} blockType Block type settings. + * + * @return {Record} Context value. + */ + +function getBlockContext(attributes, blockType) { + if (!BLOCK_CONTEXT_CACHE.has(blockType)) { + BLOCK_CONTEXT_CACHE.set(blockType, new WeakMap()); + } + + const blockTypeCache = BLOCK_CONTEXT_CACHE.get(blockType); + + if (!blockTypeCache.has(attributes)) { + const context = Object(external_lodash_["mapValues"])(blockType.providesContext, attributeName => attributes[attributeName]); + blockTypeCache.set(attributes, context); + } + + return blockTypeCache.get(attributes); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/index.js + 4 modules +var block_list = __webpack_require__("VyCT"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-context/index.js +var block_context = __webpack_require__("uoCR"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/provider/use-block-sync.js +var use_block_sync = __webpack_require__("JGYp"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-on-block-drop/index.js +var use_on_block_drop = __webpack_require__("/lNF"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/math.js +var math = __webpack_require__("vIlp"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-block-drop-zone/index.js +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + +/** @typedef {import('../../utils/math').WPPoint} WPPoint */ + +/** + * The orientation of a block list. + * + * @typedef {'horizontal'|'vertical'|undefined} WPBlockListOrientation + */ + +/** + * Given a list of block DOM elements finds the index that a block should be dropped + * at. + * + * @param {Element[]} elements Array of DOM elements that represent each block in a block list. + * @param {WPPoint} position The position of the item being dragged. + * @param {WPBlockListOrientation} orientation The orientation of a block list. + * + * @return {number|undefined} The block index that's closest to the drag position. + */ + +function getNearestBlockIndex(elements, position, orientation) { + const allowedEdges = orientation === 'horizontal' ? ['left', 'right'] : ['top', 'bottom']; + const isRightToLeft = Object(external_wp_i18n_["isRTL"])(); + let candidateIndex; + let candidateDistance; + elements.forEach((element, index) => { + const rect = element.getBoundingClientRect(); + const [distance, edge] = Object(math["a" /* getDistanceToNearestEdge */])(position, rect, allowedEdges); + + if (candidateDistance === undefined || distance < candidateDistance) { + // If the user is dropping to the trailing edge of the block + // add 1 to the index to represent dragging after. + // Take RTL languages into account where the left edge is + // the trailing edge. + const isTrailingEdge = edge === 'bottom' || !isRightToLeft && edge === 'right' || isRightToLeft && edge === 'left'; + const offset = isTrailingEdge ? 1 : 0; // Update the currently known best candidate. + + candidateDistance = distance; + candidateIndex = index + offset; + } + }); + return candidateIndex; +} +/** + * @typedef {Object} WPBlockDropZoneConfig + * @property {string} rootClientId The root client id for the block list. + */ + +/** + * A React hook that can be used to make a block list handle drag and drop. + * + * @param {WPBlockDropZoneConfig} dropZoneConfig configuration data for the drop zone. + */ + +function useBlockDropZone({ + // 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 = '' +} = {}) { + const [targetBlockIndex, setTargetBlockIndex] = Object(external_wp_element_["useState"])(null); + const isLockedAll = Object(external_wp_data_["useSelect"])(select => { + const { + getTemplateLock + } = select(store["a" /* store */]); + return getTemplateLock(targetRootClientId) === 'all'; + }, [targetRootClientId]); + const { + getBlockListSettings + } = Object(external_wp_data_["useSelect"])(store["a" /* store */]); + const { + showInsertionPoint, + hideInsertionPoint + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const onBlockDrop = Object(use_on_block_drop["a" /* default */])(targetRootClientId, targetBlockIndex); + const throttled = Object(external_wp_compose_["useThrottle"])(Object(external_wp_element_["useCallback"])((event, currentTarget) => { + var _getBlockListSettings; + + const blockElements = Array.from(currentTarget.children).filter( // Ensure the element is a block. It should have the `wp-block` class. + element => element.classList.contains('wp-block')); + const targetIndex = getNearestBlockIndex(blockElements, { + x: event.clientX, + y: event.clientY + }, (_getBlockListSettings = getBlockListSettings(targetRootClientId)) === null || _getBlockListSettings === void 0 ? void 0 : _getBlockListSettings.orientation); + setTargetBlockIndex(targetIndex === undefined ? 0 : targetIndex); + + if (targetIndex !== null) { + showInsertionPoint(targetRootClientId, targetIndex); + } + }, []), 200); + return Object(external_wp_compose_["__experimentalUseDropZone"])({ + isDisabled: isLockedAll, + onDrop: onBlockDrop, + + 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); + }, + + onDragLeave() { + throttled.cancel(); + hideInsertionPoint(); + setTargetBlockIndex(null); + }, + + onDragEnd() { + throttled.cancel(); + hideInsertionPoint(); + setTargetBlockIndex(null); + } + + }); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/index.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + + + + + + + + + +/** + * InnerBlocks is a component which allows a single block to have multiple blocks + * as children. The UncontrolledInnerBlocks component is used whenever the inner + * blocks are not controlled by another entity. In other words, it is normally + * used for inner blocks in the post editor + * + * @param {Object} props The component props. + */ + +function UncontrolledInnerBlocks(props) { + const { + clientId, + allowedBlocks, + __experimentalDefaultBlock, + __experimentalDirectInsert, + template, + templateLock, + wrapperRef, + templateInsertUpdatesSelection, + __experimentalCaptureToolbars: captureToolbars, + __experimentalAppenderTagName, + renderAppender, + orientation, + placeholder, + __experimentalLayout + } = props; + useNestedSettingsUpdate(clientId, allowedBlocks, __experimentalDefaultBlock, __experimentalDirectInsert, templateLock, captureToolbars, orientation, __experimentalLayout); + useInnerBlockTemplateSync(clientId, template, templateLock, templateInsertUpdatesSelection); + const context = Object(external_wp_data_["useSelect"])(select => { + const block = select(store["a" /* store */]).getBlock(clientId); + const blockType = Object(external_wp_blocks_["getBlockType"])(block.name); + + if (!blockType || !blockType.providesContext) { + return; + } + + return getBlockContext(block.attributes, blockType); + }, [clientId]); // This component needs to always be synchronous as it's the one changing + // the async mode depending on the block selection. + + return Object(external_wp_element_["createElement"])(block_context["a" /* BlockContextProvider */], { + value: context + }, Object(external_wp_element_["createElement"])(block_list["a" /* BlockListItems */], { + rootClientId: clientId, + renderAppender: renderAppender, + __experimentalAppenderTagName: __experimentalAppenderTagName, + __experimentalLayout: __experimentalLayout, + wrapperRef: wrapperRef, + placeholder: placeholder + })); +} +/** + * The controlled inner blocks component wraps the uncontrolled inner blocks + * component with the blockSync hook. This keeps the innerBlocks of the block in + * the block-editor store in sync with the blocks of the controlling entity. An + * example of an inner block controller is a template part block, which provides + * its own blocks from the template part entity data source. + * + * @param {Object} props The component props. + */ + + +function ControlledInnerBlocks(props) { + Object(use_block_sync["a" /* default */])(props); + return Object(external_wp_element_["createElement"])(UncontrolledInnerBlocks, props); +} + +const ForwardedInnerBlocks = Object(external_wp_element_["forwardRef"])((props, ref) => { + const innerBlocksProps = useInnerBlocksProps({ + ref + }, props); + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-inner-blocks" + }, Object(external_wp_element_["createElement"])("div", innerBlocksProps)); +}); +/** + * This hook is used to lightly mark an element as an inner blocks wrapper + * element. Call this hook and pass the returned props to the element to mark as + * an inner blocks wrapper, automatically rendering inner blocks as children. If + * you define a ref for the element, it is important to pass the ref to this + * hook, which the hook in turn will pass to the component through the props it + * returns. Optionally, you can also pass any other props through this hook, and + * they will be merged and returned. + * + * @param {Object} props Optional. Props to pass to the element. Must contain + * the ref if one is defined. + * @param {Object} options Optional. Inner blocks options. + * + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md + */ + +function useInnerBlocksProps(props = {}, options = {}) { + const { + clientId + } = Object(block_edit_context["c" /* useBlockEditContext */])(); + const isSmallScreen = Object(external_wp_compose_["useViewportMatch"])('medium', '<'); + const { + __experimentalCaptureToolbars, + hasOverlay + } = Object(external_wp_data_["useSelect"])(select => { + if (!clientId) { + return {}; + } + + const { + getBlockName, + isBlockSelected, + hasSelectedInnerBlock, + isNavigationMode + } = select(store["a" /* store */]); + const blockName = getBlockName(clientId); + const enableClickThrough = isNavigationMode() || isSmallScreen; + return { + __experimentalCaptureToolbars: select(external_wp_blocks_["store"]).hasBlockSupport(blockName, '__experimentalExposeControlsToChildren', false), + hasOverlay: blockName !== 'core/template' && !isBlockSelected(clientId) && !hasSelectedInnerBlock(clientId, true) && enableClickThrough + }; + }, [clientId, isSmallScreen]); + const ref = Object(external_wp_compose_["useMergeRefs"])([props.ref, useBlockDropZone({ + rootClientId: clientId + })]); + const innerBlocksProps = { + __experimentalCaptureToolbars, + ...options + }; + const InnerBlocks = innerBlocksProps.value && innerBlocksProps.onChange ? ControlledInnerBlocks : UncontrolledInnerBlocks; + return { ...props, + ref, + className: classnames_default()(props.className, 'block-editor-block-list__layout', { + 'has-overlay': hasOverlay + }), + children: clientId ? Object(external_wp_element_["createElement"])(InnerBlocks, Object(esm_extends["a" /* default */])({}, innerBlocksProps, { + clientId: clientId + })) : Object(external_wp_element_["createElement"])(block_list["a" /* BlockListItems */], options) + }; +} +useInnerBlocksProps.save = external_wp_blocks_["__unstableGetInnerBlocksProps"]; // Expose default appender placeholders as components. + +ForwardedInnerBlocks.DefaultBlockAppender = inner_blocks_default_block_appender; +ForwardedInnerBlocks.ButtonBlockAppender = inner_blocks_button_block_appender; + +ForwardedInnerBlocks.Content = () => useInnerBlocksProps.save().children; +/** + * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md + */ + + +/* harmony default export */ var inner_blocks = __webpack_exports__["a"] = (ForwardedInnerBlocks); + + +/***/ }), + +/***/ "pOGT": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export getNormalizedSearchTerms */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return searchBlockItems; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return searchItems; }); +/* unused harmony export getItemSearchRank */ +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__); +/** + * 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; +/** + * 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 = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["deburr"])(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 = '') => { + // Extract words. + return Object(lodash__WEBPACK_IMPORTED_MODULE_0__["words"])(normalizeSearchInput(input)); +}; + +const removeMatchingTerms = (unmatchedTerms, unprocessedTerms) => { + return Object(lodash__WEBPACK_IMPORTED_MODULE_0__["differenceWith"])(unmatchedTerms, getNormalizedSearchTerms(unprocessedTerms), (unmatchedTerm, unprocessedTerm) => unprocessedTerm.includes(unmatchedTerm)); +}; + +const searchBlockItems = (items, categories, collections, searchInput) => { + const normalizedSearchTerms = getNormalizedSearchTerms(searchInput); + + if (normalizedSearchTerms.length === 0) { + return items; + } + + const config = { + getCategory: item => { + var _find; + + return (_find = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["find"])(categories, { + slug: item.category + })) === null || _find === void 0 ? void 0 : _find.title; + }, + getCollection: item => { + var _collections$item$nam; + + return (_collections$item$nam = collections[item.name.split('/')[0]]) === null || _collections$item$nam === void 0 ? void 0 : _collections$item$nam.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 = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["words"])(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/')) { + rank++; + } + + return rank; +} + + /***/ }), /***/ "pPDe": @@ -6595,30 +38707,271 @@ function isShallowEqual( a, b, fromIndex ) { /***/ }), -/***/ "pVnL": -/***/ (function(module, exports) { +/***/ "pXCJ": +/***/ (function(module, __webpack_exports__, __webpack_require__) { -function _extends() { - module.exports = _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; +"use strict"; - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); - return target; +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// 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. + * + * @return {ConvertToGroupButtonProps} Returns the properties needed by `ConvertToGroupButton`. + */ + +function useConvertToGroupButtonProps() { + const { + clientIds, + isGroupable, + isUngroupable, + blocksSelection, + groupingBlockName + } = Object(external_wp_data_["useSelect"])(select => { + var _blocksSelection$; + + const { + getBlockRootClientId, + getBlocksByClientId, + canInsertBlockType, + getSelectedBlockClientIds + } = select(store["a" /* store */]); + const { + getGroupingBlockName + } = select(external_wp_blocks_["store"]); + + const _clientIds = getSelectedBlockClientIds(); + + const _groupingBlockName = getGroupingBlockName(); + + const rootClientId = !!(_clientIds !== null && _clientIds !== void 0 && _clientIds.length) ? getBlockRootClientId(_clientIds[0]) : undefined; + const groupingBlockAvailable = canInsertBlockType(_groupingBlockName, rootClientId); + + const _blocksSelection = getBlocksByClientId(_clientIds); + + const isSingleGroupingBlock = _blocksSelection.length === 1 && ((_blocksSelection$ = _blocksSelection[0]) === null || _blocksSelection$ === void 0 ? void 0 : _blocksSelection$.name) === _groupingBlockName; // Do we have + // 1. Grouping block available to be inserted? + // 2. One or more blocks selected + // (we allow single Blocks to become groups unless + // they are a soltiary group block themselves) + + const _isGroupable = groupingBlockAvailable && _blocksSelection.length && !isSingleGroupingBlock; // Do we have a single Group Block selected and does that group have inner blocks? + + + const _isUngroupable = isSingleGroupingBlock && !!_blocksSelection[0].innerBlocks.length; + + return { + clientIds: _clientIds, + isGroupable: _isGroupable, + isUngroupable: _isUngroupable, + blocksSelection: _blocksSelection, + groupingBlockName: _groupingBlockName + }; + }, []); + return { + clientIds, + isGroupable, + isUngroupable, + blocksSelection, + groupingBlockName }; - - module.exports["default"] = module.exports, module.exports.__esModule = true; - return _extends.apply(this, arguments); } -module.exports = _extends; -module.exports["default"] = module.exports, module.exports.__esModule = true; +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// 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, + blocksSelection, + groupingBlockName, + onClose = () => {} +}) { + const { + replaceBlocks + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + + const onConvertToGroup = () => { + // Activate the `transform` on the Grouping Block which does the conversion + const newBlocks = Object(external_wp_blocks_["switchToBlockType"])(blocksSelection, groupingBlockName); + + if (newBlocks) { + replaceBlocks(clientIds, newBlocks); + } + }; + + const onConvertFromGroup = () => { + const innerBlocks = blocksSelection[0].innerBlocks; + + if (!innerBlocks.length) { + return; + } + + replaceBlocks(clientIds, innerBlocks); + }; + + if (!isGroupable && !isUngroupable) { + return null; + } + + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, isGroupable && Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + onClick: () => { + onConvertToGroup(); + onClose(); + } + }, Object(external_wp_i18n_["_x"])('Group', 'verb')), isUngroupable && Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + onClick: () => { + onConvertFromGroup(); + onClose(); + } + }, Object(external_wp_i18n_["_x"])('Ungroup', 'Ungrouping blocks from within a Group block back into individual blocks within the Editor '))); +} + + + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu-controls/index.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + +const { + Fill, + Slot +} = Object(external_wp_components_["createSlotFill"])('BlockSettingsMenuControls'); + +const BlockSettingsMenuControlsSlot = ({ + fillProps, + clientIds = null +}) => { + const { + selectedBlocks, + selectedClientIds + } = Object(external_wp_data_["useSelect"])(select => { + const { + getBlocksByClientId, + getSelectedBlockClientIds + } = select(store["a" /* store */]); + const ids = clientIds !== null ? clientIds : getSelectedBlockClientIds(); + return { + selectedBlocks: Object(external_lodash_["map"])(Object(external_lodash_["compact"])(getBlocksByClientId(ids)), block => block.name), + selectedClientIds: ids + }; + }, [clientIds]); // Check if current selection of blocks is Groupable or Ungroupable + // and pass this props down to ConvertToGroupButton. + + const convertToGroupButtonProps = useConvertToGroupButtonProps(); + const { + isGroupable, + isUngroupable + } = convertToGroupButtonProps; + const showConvertToGroupButton = isGroupable || isUngroupable; + return Object(external_wp_element_["createElement"])(Slot, { + fillProps: { ...fillProps, + selectedBlocks, + selectedClientIds + } + }, fills => { + if ((fills === null || fills === void 0 ? void 0 : fills.length) > 0 || showConvertToGroupButton) { + return Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, fills, Object(external_wp_element_["createElement"])(ConvertToGroupButton, Object(esm_extends["a" /* default */])({}, convertToGroupButtonProps, { + onClose: fillProps === null || fillProps === void 0 ? void 0 : 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 Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalStyleProvider"], { + document: document + }, Object(external_wp_element_["createElement"])(Fill, props)); +} + +BlockSettingsMenuControls.Slot = BlockSettingsMenuControlsSlot; +/* harmony default export */ var block_settings_menu_controls = __webpack_exports__["a"] = (BlockSettingsMenuControls); + /***/ }), @@ -6645,6 +38998,55 @@ const alignCenter = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["crea /* harmony default export */ __webpack_exports__["a"] = (alignCenter); +/***/ }), + +/***/ "q3tz": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BlockDraggableChip; }); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("xN+R"); +/* harmony import */ var _block_icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("7SSY"); + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + +function BlockDraggableChip({ + count, + icon +}) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", { + className: "block-editor-block-draggable-chip-wrapper" + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", { + className: "block-editor-block-draggable-chip" + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["Flex"], { + justify: "center", + className: "block-editor-block-draggable-chip__content" + }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["FlexItem"], null, icon ? Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_block_icon__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], { + icon: icon + }) : Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["sprintf"])( + /* translators: %d: Number of blocks. */ + Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["_n"])('%d block', '%d blocks', count), count)), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["FlexItem"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_block_icon__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], { + icon: _wordpress_icons__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"] + }))))); +} + + /***/ }), /***/ "qRz9": @@ -6652,6 +39054,476 @@ const alignCenter = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["crea (function() { module.exports = window["wp"]["richText"]; }()); +/***/ }), + +/***/ "qrxh": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// EXTERNAL MODULE: external ["wp","a11y"] +var external_wp_a11y_ = __webpack_require__("gdqT"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/plus.js +var plus = __webpack_require__("Q4Sy"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/menu.js + 10 modules +var menu = __webpack_require__("xZzQ"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/search-results.js +var search_results = __webpack_require__("Wg7J"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-insertion-point.js +var use_insertion_point = __webpack_require__("AORF"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-patterns-state.js +var use_patterns_state = __webpack_require__("nQUx"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-block-types-state.js +var use_block_types_state = __webpack_require__("+G0a"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/quick-inserter.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + + + +const SEARCH_THRESHOLD = 6; +const SHOWN_BLOCK_TYPES = 6; +const SHOWN_BLOCK_PATTERNS = 2; +function QuickInserter({ + onSelect, + rootClientId, + clientId, + isAppender +}) { + const [filterValue, setFilterValue] = Object(external_wp_element_["useState"])(''); + const [destinationRootClientId, onInsertBlocks] = Object(use_insertion_point["a" /* default */])({ + onSelect, + rootClientId, + clientId, + isAppender + }); + const [blockTypes] = Object(use_block_types_state["a" /* default */])(destinationRootClientId, onInsertBlocks); + const [patterns] = Object(use_patterns_state["a" /* default */])(onInsertBlocks, destinationRootClientId); + const showPatterns = patterns.length && !!filterValue; + const showSearch = showPatterns && patterns.length > SEARCH_THRESHOLD || blockTypes.length > SEARCH_THRESHOLD; + const { + setInserterIsOpened, + insertionIndex + } = Object(external_wp_data_["useSelect"])(select => { + const { + getSettings, + getBlockIndex, + getBlockCount + } = select(store["a" /* store */]); + const index = getBlockIndex(clientId, rootClientId); + return { + setInserterIsOpened: getSettings().__experimentalSetIsInserterOpened, + insertionIndex: index === -1 ? getBlockCount() : index + }; + }, [clientId, rootClientId]); + Object(external_wp_element_["useEffect"])(() => { + if (setInserterIsOpened) { + setInserterIsOpened(false); + } + }, [setInserterIsOpened]); // When clicking Browse All select the appropriate block so as + // the insertion point can work as expected + + const onBrowseAll = () => { + setInserterIsOpened({ + rootClientId, + insertionIndex, + filterValue + }); + }; + + return Object(external_wp_element_["createElement"])("div", { + className: classnames_default()('block-editor-inserter__quick-inserter', { + 'has-search': showSearch, + 'has-expand': setInserterIsOpened + }) + }, showSearch && Object(external_wp_element_["createElement"])(external_wp_components_["SearchControl"], { + className: "block-editor-inserter__search", + value: filterValue, + onChange: value => { + setFilterValue(value); + }, + label: Object(external_wp_i18n_["__"])('Search for blocks and patterns'), + placeholder: Object(external_wp_i18n_["__"])('Search') + }), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-inserter__quick-inserter-results" + }, Object(external_wp_element_["createElement"])(search_results["a" /* default */], { + filterValue: filterValue, + onSelect: onSelect, + rootClientId: rootClientId, + clientId: clientId, + isAppender: isAppender, + maxBlockPatterns: showPatterns ? SHOWN_BLOCK_PATTERNS : 0, + maxBlockTypes: SHOWN_BLOCK_TYPES, + isDraggable: false + })), setInserterIsOpened && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + className: "block-editor-inserter__quick-inserter-expand", + onClick: onBrowseAll, + "aria-label": Object(external_wp_i18n_["__"])('Browse all. This will open the main inserter panel in the editor toolbar.') + }, Object(external_wp_i18n_["__"])('Browse all'))); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/index.js + + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + + + +/** + * Internal dependencies + */ + + + + + +const defaultRenderToggle = ({ + onToggle, + disabled, + isOpen, + blockTitle, + hasSingleBlockType, + toggleProps = {} +}) => { + let label; + + if (hasSingleBlockType) { + label = Object(external_wp_i18n_["sprintf"])( // translators: %s: the name of the block when there is only one + Object(external_wp_i18n_["_x"])('Add %s', 'directly add the only allowed block'), blockTitle); + } else { + label = Object(external_wp_i18n_["_x"])('Add block', 'Generic label for block inserter button'); + } + + const { + onClick, + ...rest + } = toggleProps; // Handle both onClick functions from the toggle and the parent component + + function handleClick(event) { + if (onToggle) { + onToggle(event); + } + + if (onClick) { + onClick(event); + } + } + + return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({ + icon: plus["a" /* default */], + label: label, + tooltipPosition: "bottom", + onClick: handleClick, + className: "block-editor-inserter__toggle", + "aria-haspopup": !hasSingleBlockType ? 'true' : false, + "aria-expanded": !hasSingleBlockType ? isOpen : false, + disabled: disabled + }, rest)); +}; + +class inserter_Inserter extends external_wp_element_["Component"] { + constructor() { + super(...arguments); + this.onToggle = this.onToggle.bind(this); + this.renderToggle = this.renderToggle.bind(this); + this.renderContent = this.renderContent.bind(this); + } + + onToggle(isOpen) { + const { + onToggle + } = this.props; // Surface toggle callback to parent component + + if (onToggle) { + onToggle(isOpen); + } + } + /** + * Render callback to display Dropdown toggle element. + * + * @param {Object} options + * @param {Function} options.onToggle Callback to invoke when toggle is + * pressed. + * @param {boolean} options.isOpen Whether dropdown is currently open. + * + * @return {WPElement} Dropdown toggle element. + */ + + + renderToggle({ + onToggle, + isOpen + }) { + const { + disabled, + blockTitle, + hasSingleBlockType, + directInsertBlock, + toggleProps, + hasItems, + renderToggle = defaultRenderToggle + } = this.props; + return renderToggle({ + onToggle, + isOpen, + disabled: disabled || !hasItems, + blockTitle, + hasSingleBlockType, + directInsertBlock, + toggleProps + }); + } + /** + * Render callback to display Dropdown content element. + * + * @param {Object} options + * @param {Function} options.onClose Callback to invoke when dropdown is + * closed. + * + * @return {WPElement} Dropdown content element. + */ + + + renderContent({ + onClose + }) { + const { + rootClientId, + clientId, + isAppender, + showInserterHelpPanel, + // This prop is experimental to give some time for the quick inserter to mature + // Feel free to make them stable after a few releases. + __experimentalIsQuick: isQuick + } = this.props; + + if (isQuick) { + return Object(external_wp_element_["createElement"])(QuickInserter, { + onSelect: () => { + onClose(); + }, + rootClientId: rootClientId, + clientId: clientId, + isAppender: isAppender + }); + } + + return Object(external_wp_element_["createElement"])(menu["a" /* default */], { + onSelect: () => { + onClose(); + }, + rootClientId: rootClientId, + clientId: clientId, + isAppender: isAppender, + showInserterHelpPanel: showInserterHelpPanel + }); + } + + render() { + const { + position, + hasSingleBlockType, + directInsertBlock, + insertOnlyAllowedBlock, + __experimentalIsQuick: isQuick, + onSelectOrClose + } = this.props; + + if (hasSingleBlockType || directInsertBlock !== null && directInsertBlock !== void 0 && directInsertBlock.length) { + return this.renderToggle({ + onToggle: insertOnlyAllowedBlock + }); + } + + return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { + className: "block-editor-inserter", + contentClassName: classnames_default()('block-editor-inserter__popover', { + 'is-quick': isQuick + }), + position: position, + onToggle: this.onToggle, + expandOnMobile: true, + headerTitle: Object(external_wp_i18n_["__"])('Add a block'), + renderToggle: this.renderToggle, + renderContent: this.renderContent, + onClose: onSelectOrClose + }); + } + +} + +/* harmony default export */ var inserter = __webpack_exports__["a"] = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withSelect"])((select, { + clientId, + rootClientId +}) => { + const { + getBlockRootClientId, + hasInserterItems, + __experimentalGetAllowedBlocks, + __experimentalGetDirectInsertBlock + } = select(store["a" /* store */]); + const { + getBlockVariations + } = select(external_wp_blocks_["store"]); + rootClientId = rootClientId || getBlockRootClientId(clientId) || undefined; + + const allowedBlocks = __experimentalGetAllowedBlocks(rootClientId); + + const directInsertBlock = __experimentalGetDirectInsertBlock(rootClientId); + + const hasSingleBlockType = Object(external_lodash_["size"])(allowedBlocks) === 1 && Object(external_lodash_["size"])(getBlockVariations(allowedBlocks[0].name, 'inserter')) === 0; + let allowedBlockType = false; + + if (hasSingleBlockType) { + allowedBlockType = allowedBlocks[0]; + } + + return { + hasItems: hasInserterItems(rootClientId), + hasSingleBlockType, + blockTitle: allowedBlockType ? allowedBlockType.title : '', + allowedBlockType, + directInsertBlock, + rootClientId + }; +}), Object(external_wp_data_["withDispatch"])((dispatch, ownProps, { + select +}) => { + return { + insertOnlyAllowedBlock() { + const { + rootClientId, + clientId, + isAppender, + hasSingleBlockType, + allowedBlockType, + directInsertBlock, + onSelectOrClose + } = ownProps; + + if (!hasSingleBlockType && !(directInsertBlock !== null && directInsertBlock !== void 0 && directInsertBlock.length)) { + return; + } + + function getInsertionIndex() { + const { + getBlockIndex, + getBlockSelectionEnd, + getBlockOrder, + getBlockRootClientId + } = select(store["a" /* store */]); // If the clientId is defined, we insert at the position of the block. + + if (clientId) { + return getBlockIndex(clientId, rootClientId); + } // If there a selected block, we insert after the selected block. + + + const end = getBlockSelectionEnd(); + + if (!isAppender && end && getBlockRootClientId(end) === rootClientId) { + return getBlockIndex(end, rootClientId) + 1; + } // Otherwise, we insert at the end of the current rootClientId + + + return getBlockOrder(rootClientId).length; + } + + const { + insertBlock + } = dispatch(store["a" /* store */]); + const blockToInsert = directInsertBlock !== null && directInsertBlock !== void 0 && directInsertBlock.length ? Object(external_wp_blocks_["createBlock"])(...directInsertBlock) : Object(external_wp_blocks_["createBlock"])(allowedBlockType.name); + insertBlock(blockToInsert, getInsertionIndex(), rootClientId); + + if (onSelectOrClose) { + onSelectOrClose(); + } + + const message = Object(external_wp_i18n_["sprintf"])( // translators: %s: the name of the block that has been added + Object(external_wp_i18n_["__"])('%s block added'), allowedBlockType.title); + Object(external_wp_a11y_["speak"])(message); + } + + }; +}), // The global inserter should always be visible, we are using ( ! isAppender && ! rootClientId && ! clientId ) as +// a way to detect the global Inserter. +Object(external_wp_compose_["ifCondition"])(({ + hasItems, + isAppender, + rootClientId, + clientId +}) => hasItems || !isAppender && !rootClientId && !clientId)])(inserter_Inserter)); + + /***/ }), /***/ "rH4q": @@ -6677,6 +39549,41 @@ const media = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElem /* harmony default export */ __webpack_exports__["a"] = (media); +/***/ }), + +/***/ "rHRV": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useIntersectionObserver; }); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("VyCT"); +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +function useIntersectionObserver() { + const observer = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useContext"])(___WEBPACK_IMPORTED_MODULE_2__[/* IntersectionObserver */ "b"]); + return Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_0__["useRefEffect"])(node => { + if (observer) { + observer.observe(node); + return () => { + observer.unobserve(node); + }; + } + }, [observer]); +} + + /***/ }), /***/ "rl8x": @@ -7002,6 +39909,31 @@ function clonePath(path) { } +/***/ }), + +/***/ "suLj": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const justifyRight = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { + d: "M4 15h11V9H4v6zM18.5 4v16H20V4h-1.5z" +})); +/* harmony default export */ __webpack_exports__["a"] = (justifyRight); + + /***/ }), /***/ "tI+e": @@ -7024,292 +39956,169 @@ __webpack_require__.d(__webpack_exports__, "__experimentalUseBorderProps", funct __webpack_require__.d(__webpack_exports__, "__experimentalGetColorClassesAndStyles", function() { return /* reexport */ getColorClassesAndStyles; }); __webpack_require__.d(__webpack_exports__, "__experimentalUseColorProps", function() { return /* reexport */ useColorProps; }); __webpack_require__.d(__webpack_exports__, "__experimentalUseCustomSides", function() { return /* reexport */ useCustomSides; }); -__webpack_require__.d(__webpack_exports__, "getColorClassName", function() { return /* reexport */ getColorClassName; }); -__webpack_require__.d(__webpack_exports__, "getColorObjectByAttributeValues", function() { return /* reexport */ getColorObjectByAttributeValues; }); -__webpack_require__.d(__webpack_exports__, "getColorObjectByColorValue", function() { return /* reexport */ getColorObjectByColorValue; }); -__webpack_require__.d(__webpack_exports__, "createCustomColorsHOC", function() { return /* reexport */ createCustomColorsHOC; }); -__webpack_require__.d(__webpack_exports__, "withColors", function() { return /* reexport */ withColors; }); -__webpack_require__.d(__webpack_exports__, "__experimentalUseColors", function() { return /* reexport */ __experimentalUseColors; }); -__webpack_require__.d(__webpack_exports__, "__experimentalGetGradientClass", function() { return /* reexport */ __experimentalGetGradientClass; }); -__webpack_require__.d(__webpack_exports__, "getGradientValueBySlug", function() { return /* reexport */ getGradientValueBySlug; }); -__webpack_require__.d(__webpack_exports__, "__experimentalGetGradientObjectByGradientValue", function() { return /* reexport */ __experimentalGetGradientObjectByGradientValue; }); -__webpack_require__.d(__webpack_exports__, "getGradientSlugByValue", function() { return /* reexport */ getGradientSlugByValue; }); -__webpack_require__.d(__webpack_exports__, "__experimentalUseGradient", function() { return /* reexport */ __experimentalUseGradient; }); -__webpack_require__.d(__webpack_exports__, "getFontSize", function() { return /* reexport */ getFontSize; }); -__webpack_require__.d(__webpack_exports__, "getFontSizeClass", function() { return /* reexport */ getFontSizeClass; }); -__webpack_require__.d(__webpack_exports__, "getFontSizeObjectByValue", function() { return /* reexport */ getFontSizeObjectByValue; }); -__webpack_require__.d(__webpack_exports__, "FontSizePicker", function() { return /* reexport */ font_size_picker; }); -__webpack_require__.d(__webpack_exports__, "withFontSizes", function() { return /* reexport */ with_font_sizes; }); -__webpack_require__.d(__webpack_exports__, "AlignmentControl", function() { return /* reexport */ AlignmentControl; }); -__webpack_require__.d(__webpack_exports__, "AlignmentToolbar", function() { return /* reexport */ AlignmentToolbar; }); -__webpack_require__.d(__webpack_exports__, "Autocomplete", function() { return /* reexport */ autocomplete; }); -__webpack_require__.d(__webpack_exports__, "BlockAlignmentControl", function() { return /* reexport */ BlockAlignmentControl; }); -__webpack_require__.d(__webpack_exports__, "BlockAlignmentToolbar", function() { return /* reexport */ BlockAlignmentToolbar; }); -__webpack_require__.d(__webpack_exports__, "__experimentalBlockFullHeightAligmentControl", function() { return /* reexport */ block_full_height_alignment_control; }); -__webpack_require__.d(__webpack_exports__, "__experimentalBlockAlignmentMatrixControl", function() { return /* reexport */ block_alignment_matrix_control; }); -__webpack_require__.d(__webpack_exports__, "BlockBreadcrumb", function() { return /* reexport */ block_breadcrumb; }); -__webpack_require__.d(__webpack_exports__, "BlockContextProvider", function() { return /* reexport */ BlockContextProvider; }); -__webpack_require__.d(__webpack_exports__, "BlockControls", function() { return /* reexport */ block_controls; }); -__webpack_require__.d(__webpack_exports__, "BlockFormatControls", function() { return /* reexport */ BlockFormatControls; }); -__webpack_require__.d(__webpack_exports__, "BlockColorsStyleSelector", function() { return /* reexport */ color_style_selector; }); -__webpack_require__.d(__webpack_exports__, "BlockEdit", function() { return /* reexport */ block_edit_BlockEdit; }); -__webpack_require__.d(__webpack_exports__, "useBlockEditContext", function() { return /* reexport */ useBlockEditContext; }); -__webpack_require__.d(__webpack_exports__, "BlockIcon", function() { return /* reexport */ BlockIcon; }); -__webpack_require__.d(__webpack_exports__, "BlockNavigationDropdown", function() { return /* reexport */ dropdown; }); -__webpack_require__.d(__webpack_exports__, "__experimentalBlockNavigationBlockFill", function() { return /* reexport */ BlockNavigationBlockFill; }); -__webpack_require__.d(__webpack_exports__, "__experimentalBlockNavigationEditor", function() { return /* reexport */ BlockNavigationEditor; }); -__webpack_require__.d(__webpack_exports__, "__experimentalBlockNavigationTree", function() { return /* reexport */ BlockNavigationTree; }); -__webpack_require__.d(__webpack_exports__, "__experimentalBlockVariationPicker", function() { return /* reexport */ block_variation_picker; }); -__webpack_require__.d(__webpack_exports__, "__experimentalBlockPatternSetup", function() { return /* reexport */ block_pattern_setup; }); -__webpack_require__.d(__webpack_exports__, "__experimentalBlockVariationTransforms", function() { return /* reexport */ block_variation_transforms; }); -__webpack_require__.d(__webpack_exports__, "BlockVerticalAlignmentToolbar", function() { return /* reexport */ BlockVerticalAlignmentToolbar; }); -__webpack_require__.d(__webpack_exports__, "BlockVerticalAlignmentControl", function() { return /* reexport */ BlockVerticalAlignmentControl; }); -__webpack_require__.d(__webpack_exports__, "__experimentalBorderStyleControl", function() { return /* reexport */ BorderStyleControl; }); -__webpack_require__.d(__webpack_exports__, "ButtonBlockerAppender", function() { return /* reexport */ ButtonBlockerAppender; }); -__webpack_require__.d(__webpack_exports__, "ButtonBlockAppender", function() { return /* reexport */ button_block_appender; }); -__webpack_require__.d(__webpack_exports__, "ColorPalette", function() { return /* reexport */ color_palette; }); -__webpack_require__.d(__webpack_exports__, "ColorPaletteControl", function() { return /* reexport */ ColorPaletteControl; }); -__webpack_require__.d(__webpack_exports__, "ContrastChecker", function() { return /* reexport */ contrast_checker; }); -__webpack_require__.d(__webpack_exports__, "__experimentalDuotoneControl", function() { return /* reexport */ duotone_control; }); -__webpack_require__.d(__webpack_exports__, "__experimentalGradientPicker", function() { return /* reexport */ gradient_picker; }); -__webpack_require__.d(__webpack_exports__, "__experimentalGradientPickerControl", function() { return /* reexport */ GradientPickerControl; }); -__webpack_require__.d(__webpack_exports__, "__experimentalGradientPickerPanel", function() { return /* reexport */ GradientPanel; }); -__webpack_require__.d(__webpack_exports__, "__experimentalFontAppearanceControl", function() { return /* reexport */ FontAppearanceControl; }); -__webpack_require__.d(__webpack_exports__, "__experimentalFontFamilyControl", function() { return /* reexport */ FontFamilyControl; }); -__webpack_require__.d(__webpack_exports__, "__experimentalColorGradientControl", function() { return /* reexport */ control; }); -__webpack_require__.d(__webpack_exports__, "__experimentalPanelColorGradientSettings", function() { return /* reexport */ panel_color_gradient_settings; }); -__webpack_require__.d(__webpack_exports__, "__experimentalImageSizeControl", function() { return /* reexport */ ImageSizeControl; }); -__webpack_require__.d(__webpack_exports__, "InnerBlocks", function() { return /* reexport */ inner_blocks; }); -__webpack_require__.d(__webpack_exports__, "__experimentalUseInnerBlocksProps", function() { return /* reexport */ useInnerBlocksProps; }); -__webpack_require__.d(__webpack_exports__, "InspectorAdvancedControls", function() { return /* reexport */ inspector_advanced_controls; }); -__webpack_require__.d(__webpack_exports__, "InspectorControls", function() { return /* reexport */ inspector_controls; }); -__webpack_require__.d(__webpack_exports__, "JustifyToolbar", function() { return /* reexport */ JustifyToolbar; }); -__webpack_require__.d(__webpack_exports__, "JustifyContentControl", function() { return /* reexport */ JustifyContentControl; }); -__webpack_require__.d(__webpack_exports__, "__experimentalLinkControl", function() { return /* reexport */ link_control; }); -__webpack_require__.d(__webpack_exports__, "__experimentalLinkControlSearchInput", function() { return /* reexport */ search_input; }); -__webpack_require__.d(__webpack_exports__, "__experimentalLinkControlSearchResults", function() { return /* reexport */ LinkControlSearchResults; }); -__webpack_require__.d(__webpack_exports__, "__experimentalLinkControlSearchItem", function() { return /* reexport */ search_item; }); -__webpack_require__.d(__webpack_exports__, "LineHeightControl", function() { return /* reexport */ LineHeightControl; }); -__webpack_require__.d(__webpack_exports__, "MediaReplaceFlow", function() { return /* reexport */ media_replace_flow; }); -__webpack_require__.d(__webpack_exports__, "MediaPlaceholder", function() { return /* reexport */ media_placeholder; }); -__webpack_require__.d(__webpack_exports__, "MediaUpload", function() { return /* reexport */ media_upload; }); -__webpack_require__.d(__webpack_exports__, "MediaUploadCheck", function() { return /* reexport */ check; }); -__webpack_require__.d(__webpack_exports__, "PanelColorSettings", function() { return /* reexport */ panel_color_settings; }); -__webpack_require__.d(__webpack_exports__, "PlainText", function() { return /* reexport */ plain_text; }); -__webpack_require__.d(__webpack_exports__, "__experimentalResponsiveBlockControl", function() { return /* reexport */ responsive_block_control; }); -__webpack_require__.d(__webpack_exports__, "RichText", function() { return /* reexport */ rich_text; }); -__webpack_require__.d(__webpack_exports__, "RichTextShortcut", function() { return /* reexport */ RichTextShortcut; }); -__webpack_require__.d(__webpack_exports__, "RichTextToolbarButton", function() { return /* reexport */ RichTextToolbarButton; }); -__webpack_require__.d(__webpack_exports__, "__unstableRichTextInputEvent", function() { return /* reexport */ input_event_unstableRichTextInputEvent; }); -__webpack_require__.d(__webpack_exports__, "ToolSelector", function() { return /* reexport */ tool_selector; }); -__webpack_require__.d(__webpack_exports__, "__experimentalUnitControl", function() { return /* reexport */ UnitControl; }); -__webpack_require__.d(__webpack_exports__, "URLInput", function() { return /* reexport */ url_input; }); -__webpack_require__.d(__webpack_exports__, "URLInputButton", function() { return /* reexport */ url_input_button; }); -__webpack_require__.d(__webpack_exports__, "URLPopover", function() { return /* reexport */ url_popover; }); -__webpack_require__.d(__webpack_exports__, "__experimentalImageURLInputUI", function() { return /* reexport */ ImageURLInputUI; }); -__webpack_require__.d(__webpack_exports__, "withColorContext", function() { return /* reexport */ with_color_context; }); -__webpack_require__.d(__webpack_exports__, "__unstableBlockSettingsMenuFirstItem", function() { return /* reexport */ block_settings_menu_first_item; }); -__webpack_require__.d(__webpack_exports__, "__unstableInserterMenuExtension", function() { return /* reexport */ inserter_menu_extension; }); -__webpack_require__.d(__webpack_exports__, "__experimentalPreviewOptions", function() { return /* reexport */ PreviewOptions; }); -__webpack_require__.d(__webpack_exports__, "__experimentalUseResizeCanvas", function() { return /* reexport */ useResizeCanvas; }); -__webpack_require__.d(__webpack_exports__, "BlockInspector", function() { return /* reexport */ block_inspector; }); -__webpack_require__.d(__webpack_exports__, "BlockList", function() { return /* reexport */ BlockList; }); -__webpack_require__.d(__webpack_exports__, "useBlockProps", function() { return /* reexport */ useBlockProps; }); -__webpack_require__.d(__webpack_exports__, "__experimentalLayoutStyle", function() { return /* reexport */ LayoutStyle; }); -__webpack_require__.d(__webpack_exports__, "BlockMover", function() { return /* reexport */ block_mover; }); -__webpack_require__.d(__webpack_exports__, "BlockPreview", function() { return /* reexport */ block_preview; }); -__webpack_require__.d(__webpack_exports__, "BlockSelectionClearer", function() { return /* reexport */ BlockSelectionClearer; }); -__webpack_require__.d(__webpack_exports__, "__unstableUseBlockSelectionClearer", function() { return /* reexport */ useBlockSelectionClearer; }); -__webpack_require__.d(__webpack_exports__, "BlockSettingsMenu", function() { return /* reexport */ block_settings_menu; }); -__webpack_require__.d(__webpack_exports__, "BlockSettingsMenuControls", function() { return /* reexport */ block_settings_menu_controls; }); -__webpack_require__.d(__webpack_exports__, "BlockTitle", function() { return /* reexport */ BlockTitle; }); -__webpack_require__.d(__webpack_exports__, "BlockToolbar", function() { return /* reexport */ BlockToolbar; }); -__webpack_require__.d(__webpack_exports__, "BlockTools", function() { return /* reexport */ BlockTools; }); -__webpack_require__.d(__webpack_exports__, "CopyHandler", function() { return /* reexport */ copy_handler; }); -__webpack_require__.d(__webpack_exports__, "__unstableUseClipboardHandler", function() { return /* reexport */ useClipboardHandler; }); -__webpack_require__.d(__webpack_exports__, "DefaultBlockAppender", function() { return /* reexport */ default_block_appender; }); -__webpack_require__.d(__webpack_exports__, "__unstableEditorStyles", function() { return /* reexport */ EditorStyles; }); -__webpack_require__.d(__webpack_exports__, "Inserter", function() { return /* reexport */ inserter; }); -__webpack_require__.d(__webpack_exports__, "__experimentalLibrary", function() { return /* reexport */ library; }); -__webpack_require__.d(__webpack_exports__, "__experimentalSearchForm", function() { return /* reexport */ search_form; }); -__webpack_require__.d(__webpack_exports__, "BlockEditorKeyboardShortcuts", function() { return /* reexport */ keyboard_shortcuts; }); -__webpack_require__.d(__webpack_exports__, "MultiSelectScrollIntoView", function() { return /* reexport */ MultiSelectScrollIntoView; }); -__webpack_require__.d(__webpack_exports__, "NavigableToolbar", function() { return /* reexport */ navigable_toolbar; }); -__webpack_require__.d(__webpack_exports__, "ObserveTyping", function() { return /* reexport */ observe_typing; }); -__webpack_require__.d(__webpack_exports__, "__unstableUseTypingObserver", function() { return /* reexport */ useTypingObserver; }); -__webpack_require__.d(__webpack_exports__, "__unstableUseMouseMoveTypingReset", function() { return /* reexport */ useMouseMoveTypingReset; }); -__webpack_require__.d(__webpack_exports__, "PreserveScrollInReorder", function() { return /* reexport */ PreserveScrollInReorder; }); -__webpack_require__.d(__webpack_exports__, "SkipToSelectedBlock", function() { return /* reexport */ skip_to_selected_block; }); -__webpack_require__.d(__webpack_exports__, "Typewriter", function() { return /* reexport */ typewriter; }); -__webpack_require__.d(__webpack_exports__, "__unstableUseTypewriter", function() { return /* reexport */ useTypewriter; }); -__webpack_require__.d(__webpack_exports__, "Warning", function() { return /* reexport */ warning; }); -__webpack_require__.d(__webpack_exports__, "WritingFlow", function() { return /* reexport */ writing_flow; }); -__webpack_require__.d(__webpack_exports__, "__unstableUseCanvasClickRedirect", function() { return /* reexport */ useCanvasClickRedirect; }); -__webpack_require__.d(__webpack_exports__, "useBlockDisplayInformation", function() { return /* reexport */ useBlockDisplayInformation; }); -__webpack_require__.d(__webpack_exports__, "__unstableIframe", function() { return /* reexport */ iframe; }); -__webpack_require__.d(__webpack_exports__, "__experimentalUseNoRecursiveRenders", function() { return /* reexport */ useNoRecursiveRenders; }); -__webpack_require__.d(__webpack_exports__, "BlockEditorProvider", function() { return /* reexport */ provider; }); -__webpack_require__.d(__webpack_exports__, "__experimentalUseSimulatedMediaQuery", function() { return /* reexport */ useSimulatedMediaQuery; }); -__webpack_require__.d(__webpack_exports__, "useSetting", function() { return /* reexport */ useSetting; }); -__webpack_require__.d(__webpack_exports__, "transformStyles", function() { return /* reexport */ transform_styles; }); -__webpack_require__.d(__webpack_exports__, "validateThemeColors", function() { return /* reexport */ validateThemeColors; }); -__webpack_require__.d(__webpack_exports__, "validateThemeGradients", function() { return /* reexport */ validateThemeGradients; }); -__webpack_require__.d(__webpack_exports__, "__experimentalGetMatchingVariation", function() { return /* reexport */ __experimentalGetMatchingVariation; }); -__webpack_require__.d(__webpack_exports__, "storeConfig", function() { return /* reexport */ storeConfig; }); -__webpack_require__.d(__webpack_exports__, "store", function() { return /* reexport */ store; }); -__webpack_require__.d(__webpack_exports__, "SETTINGS_DEFAULTS", function() { return /* reexport */ SETTINGS_DEFAULTS; }); +__webpack_require__.d(__webpack_exports__, "__experimentalGetSpacingClassesAndStyles", function() { return /* reexport */ getSpacingClassesAndStyles; }); +__webpack_require__.d(__webpack_exports__, "useCachedTruthy", function() { return /* reexport */ useCachedTruthy; }); +__webpack_require__.d(__webpack_exports__, "getColorClassName", function() { return /* reexport */ components["gc" /* getColorClassName */]; }); +__webpack_require__.d(__webpack_exports__, "getColorObjectByAttributeValues", function() { return /* reexport */ components["hc" /* getColorObjectByAttributeValues */]; }); +__webpack_require__.d(__webpack_exports__, "getColorObjectByColorValue", function() { return /* reexport */ components["ic" /* getColorObjectByColorValue */]; }); +__webpack_require__.d(__webpack_exports__, "createCustomColorsHOC", function() { return /* reexport */ components["fc" /* createCustomColorsHOC */]; }); +__webpack_require__.d(__webpack_exports__, "withColors", function() { return /* reexport */ components["uc" /* withColors */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalGetGradientClass", function() { return /* reexport */ components["xb" /* __experimentalGetGradientClass */]; }); +__webpack_require__.d(__webpack_exports__, "getGradientValueBySlug", function() { return /* reexport */ components["nc" /* getGradientValueBySlug */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalGetGradientObjectByGradientValue", function() { return /* reexport */ components["yb" /* __experimentalGetGradientObjectByGradientValue */]; }); +__webpack_require__.d(__webpack_exports__, "getGradientSlugByValue", function() { return /* reexport */ components["mc" /* getGradientSlugByValue */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalUseGradient", function() { return /* reexport */ components["Rb" /* __experimentalUseGradient */]; }); +__webpack_require__.d(__webpack_exports__, "getFontSize", function() { return /* reexport */ components["jc" /* getFontSize */]; }); +__webpack_require__.d(__webpack_exports__, "getFontSizeClass", function() { return /* reexport */ components["kc" /* getFontSizeClass */]; }); +__webpack_require__.d(__webpack_exports__, "getFontSizeObjectByValue", function() { return /* reexport */ components["lc" /* getFontSizeObjectByValue */]; }); +__webpack_require__.d(__webpack_exports__, "FontSizePicker", function() { return /* reexport */ components["I" /* FontSizePicker */]; }); +__webpack_require__.d(__webpack_exports__, "withFontSizes", function() { return /* reexport */ components["vc" /* withFontSizes */]; }); +__webpack_require__.d(__webpack_exports__, "AlignmentControl", function() { return /* reexport */ components["a" /* AlignmentControl */]; }); +__webpack_require__.d(__webpack_exports__, "AlignmentToolbar", function() { return /* reexport */ components["b" /* AlignmentToolbar */]; }); +__webpack_require__.d(__webpack_exports__, "Autocomplete", function() { return /* reexport */ components["c" /* Autocomplete */]; }); +__webpack_require__.d(__webpack_exports__, "BlockAlignmentControl", function() { return /* reexport */ components["d" /* BlockAlignmentControl */]; }); +__webpack_require__.d(__webpack_exports__, "BlockAlignmentToolbar", function() { return /* reexport */ components["e" /* BlockAlignmentToolbar */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalBlockFullHeightAligmentControl", function() { return /* reexport */ components["nb" /* __experimentalBlockFullHeightAligmentControl */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalBlockAlignmentMatrixControl", function() { return /* reexport */ components["lb" /* __experimentalBlockAlignmentMatrixControl */]; }); +__webpack_require__.d(__webpack_exports__, "BlockBreadcrumb", function() { return /* reexport */ components["f" /* BlockBreadcrumb */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalBlockContentOverlay", function() { return /* reexport */ components["mb" /* __experimentalBlockContentOverlay */]; }); +__webpack_require__.d(__webpack_exports__, "BlockContextProvider", function() { return /* reexport */ components["h" /* BlockContextProvider */]; }); +__webpack_require__.d(__webpack_exports__, "BlockControls", function() { return /* reexport */ components["i" /* BlockControls */]; }); +__webpack_require__.d(__webpack_exports__, "BlockFormatControls", function() { return /* reexport */ components["m" /* BlockFormatControls */]; }); +__webpack_require__.d(__webpack_exports__, "BlockColorsStyleSelector", function() { return /* reexport */ components["g" /* BlockColorsStyleSelector */]; }); +__webpack_require__.d(__webpack_exports__, "BlockEdit", function() { return /* reexport */ components["j" /* BlockEdit */]; }); +__webpack_require__.d(__webpack_exports__, "useBlockEditContext", function() { return /* reexport */ components["pc" /* useBlockEditContext */]; }); +__webpack_require__.d(__webpack_exports__, "BlockIcon", function() { return /* reexport */ components["n" /* BlockIcon */]; }); +__webpack_require__.d(__webpack_exports__, "BlockNavigationDropdown", function() { return /* reexport */ components["r" /* BlockNavigationDropdown */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalBlockVariationPicker", function() { return /* reexport */ components["pb" /* __experimentalBlockVariationPicker */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalBlockPatternSetup", function() { return /* reexport */ components["ob" /* __experimentalBlockPatternSetup */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalBlockVariationTransforms", function() { return /* reexport */ components["qb" /* __experimentalBlockVariationTransforms */]; }); +__webpack_require__.d(__webpack_exports__, "BlockVerticalAlignmentToolbar", function() { return /* reexport */ components["A" /* BlockVerticalAlignmentToolbar */]; }); +__webpack_require__.d(__webpack_exports__, "BlockVerticalAlignmentControl", function() { return /* reexport */ components["z" /* BlockVerticalAlignmentControl */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalBorderRadiusControl", function() { return /* reexport */ components["rb" /* __experimentalBorderRadiusControl */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalBorderStyleControl", function() { return /* reexport */ components["sb" /* __experimentalBorderStyleControl */]; }); +__webpack_require__.d(__webpack_exports__, "ButtonBlockerAppender", function() { return /* reexport */ components["C" /* ButtonBlockerAppender */]; }); +__webpack_require__.d(__webpack_exports__, "ButtonBlockAppender", function() { return /* reexport */ components["B" /* ButtonBlockAppender */]; }); +__webpack_require__.d(__webpack_exports__, "ColorPalette", function() { return /* reexport */ components["D" /* ColorPalette */]; }); +__webpack_require__.d(__webpack_exports__, "ColorPaletteControl", function() { return /* reexport */ components["E" /* ColorPaletteControl */]; }); +__webpack_require__.d(__webpack_exports__, "ContrastChecker", function() { return /* reexport */ components["F" /* ContrastChecker */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalDuotoneControl", function() { return /* reexport */ components["ub" /* __experimentalDuotoneControl */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalFontAppearanceControl", function() { return /* reexport */ components["vb" /* __experimentalFontAppearanceControl */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalFontFamilyControl", function() { return /* reexport */ components["wb" /* __experimentalFontFamilyControl */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalLetterSpacingControl", function() { return /* reexport */ components["Eb" /* __experimentalLetterSpacingControl */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalTextDecorationControl", function() { return /* reexport */ components["Ob" /* __experimentalTextDecorationControl */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalTextTransformControl", function() { return /* reexport */ components["Pb" /* __experimentalTextTransformControl */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalColorGradientControl", function() { return /* reexport */ components["tb" /* __experimentalColorGradientControl */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalPanelColorGradientSettings", function() { return /* reexport */ components["Lb" /* __experimentalPanelColorGradientSettings */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalImageEditor", function() { return /* reexport */ components["Ab" /* __experimentalImageEditor */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalImageEditingProvider", function() { return /* reexport */ components["zb" /* __experimentalImageEditingProvider */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalImageSizeControl", function() { return /* reexport */ components["Bb" /* __experimentalImageSizeControl */]; }); +__webpack_require__.d(__webpack_exports__, "InnerBlocks", function() { return /* reexport */ components["J" /* InnerBlocks */]; }); +__webpack_require__.d(__webpack_exports__, "useInnerBlocksProps", function() { return /* reexport */ components["rc" /* useInnerBlocksProps */]; }); +__webpack_require__.d(__webpack_exports__, "InspectorControls", function() { return /* reexport */ components["M" /* InspectorControls */]; }); +__webpack_require__.d(__webpack_exports__, "InspectorAdvancedControls", function() { return /* reexport */ components["L" /* InspectorAdvancedControls */]; }); +__webpack_require__.d(__webpack_exports__, "JustifyToolbar", function() { return /* reexport */ components["O" /* JustifyToolbar */]; }); +__webpack_require__.d(__webpack_exports__, "JustifyContentControl", function() { return /* reexport */ components["N" /* JustifyContentControl */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalLinkControl", function() { return /* reexport */ components["Gb" /* __experimentalLinkControl */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalLinkControlSearchInput", function() { return /* reexport */ components["Hb" /* __experimentalLinkControlSearchInput */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalLinkControlSearchResults", function() { return /* reexport */ components["Jb" /* __experimentalLinkControlSearchResults */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalLinkControlSearchItem", function() { return /* reexport */ components["Ib" /* __experimentalLinkControlSearchItem */]; }); +__webpack_require__.d(__webpack_exports__, "LineHeightControl", function() { return /* reexport */ components["P" /* LineHeightControl */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalListView", function() { return /* reexport */ components["Kb" /* __experimentalListView */]; }); +__webpack_require__.d(__webpack_exports__, "MediaReplaceFlow", function() { return /* reexport */ components["R" /* MediaReplaceFlow */]; }); +__webpack_require__.d(__webpack_exports__, "MediaPlaceholder", function() { return /* reexport */ components["Q" /* MediaPlaceholder */]; }); +__webpack_require__.d(__webpack_exports__, "MediaUpload", function() { return /* reexport */ components["S" /* MediaUpload */]; }); +__webpack_require__.d(__webpack_exports__, "MediaUploadCheck", function() { return /* reexport */ components["T" /* MediaUploadCheck */]; }); +__webpack_require__.d(__webpack_exports__, "PanelColorSettings", function() { return /* reexport */ components["X" /* PanelColorSettings */]; }); +__webpack_require__.d(__webpack_exports__, "PlainText", function() { return /* reexport */ components["Y" /* PlainText */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalResponsiveBlockControl", function() { return /* reexport */ components["Nb" /* __experimentalResponsiveBlockControl */]; }); +__webpack_require__.d(__webpack_exports__, "RichText", function() { return /* reexport */ components["ab" /* RichText */]; }); +__webpack_require__.d(__webpack_exports__, "RichTextShortcut", function() { return /* reexport */ components["bb" /* RichTextShortcut */]; }); +__webpack_require__.d(__webpack_exports__, "RichTextToolbarButton", function() { return /* reexport */ components["cb" /* RichTextToolbarButton */]; }); +__webpack_require__.d(__webpack_exports__, "__unstableRichTextInputEvent", function() { return /* reexport */ components["Yb" /* __unstableRichTextInputEvent */]; }); +__webpack_require__.d(__webpack_exports__, "ToolSelector", function() { return /* reexport */ components["eb" /* ToolSelector */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalUnitControl", function() { return /* reexport */ components["Qb" /* __experimentalUnitControl */]; }); +__webpack_require__.d(__webpack_exports__, "URLInput", function() { return /* reexport */ components["gb" /* URLInput */]; }); +__webpack_require__.d(__webpack_exports__, "URLInputButton", function() { return /* reexport */ components["hb" /* URLInputButton */]; }); +__webpack_require__.d(__webpack_exports__, "URLPopover", function() { return /* reexport */ components["ib" /* URLPopover */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalImageURLInputUI", function() { return /* reexport */ components["Cb" /* __experimentalImageURLInputUI */]; }); +__webpack_require__.d(__webpack_exports__, "withColorContext", function() { return /* reexport */ components["tc" /* withColorContext */]; }); +__webpack_require__.d(__webpack_exports__, "__unstableBlockSettingsMenuFirstItem", function() { return /* reexport */ components["Ub" /* __unstableBlockSettingsMenuFirstItem */]; }); +__webpack_require__.d(__webpack_exports__, "__unstableInserterMenuExtension", function() { return /* reexport */ components["Xb" /* __unstableInserterMenuExtension */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalPreviewOptions", function() { return /* reexport */ components["Mb" /* __experimentalPreviewOptions */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalUseResizeCanvas", function() { return /* reexport */ components["Tb" /* __experimentalUseResizeCanvas */]; }); +__webpack_require__.d(__webpack_exports__, "BlockInspector", function() { return /* reexport */ components["o" /* BlockInspector */]; }); +__webpack_require__.d(__webpack_exports__, "BlockList", function() { return /* reexport */ components["p" /* BlockList */]; }); +__webpack_require__.d(__webpack_exports__, "useBlockProps", function() { return /* reexport */ components["qc" /* useBlockProps */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalLayoutStyle", function() { return /* reexport */ components["Db" /* __experimentalLayoutStyle */]; }); +__webpack_require__.d(__webpack_exports__, "BlockMover", function() { return /* reexport */ components["q" /* BlockMover */]; }); +__webpack_require__.d(__webpack_exports__, "BlockPreview", function() { return /* reexport */ components["s" /* BlockPreview */]; }); +__webpack_require__.d(__webpack_exports__, "BlockSelectionClearer", function() { return /* reexport */ components["t" /* BlockSelectionClearer */]; }); +__webpack_require__.d(__webpack_exports__, "__unstableUseBlockSelectionClearer", function() { return /* reexport */ components["Zb" /* __unstableUseBlockSelectionClearer */]; }); +__webpack_require__.d(__webpack_exports__, "BlockSettingsMenu", function() { return /* reexport */ components["u" /* BlockSettingsMenu */]; }); +__webpack_require__.d(__webpack_exports__, "BlockSettingsMenuControls", function() { return /* reexport */ components["v" /* BlockSettingsMenuControls */]; }); +__webpack_require__.d(__webpack_exports__, "BlockTitle", function() { return /* reexport */ components["w" /* BlockTitle */]; }); +__webpack_require__.d(__webpack_exports__, "BlockToolbar", function() { return /* reexport */ components["x" /* BlockToolbar */]; }); +__webpack_require__.d(__webpack_exports__, "BlockTools", function() { return /* reexport */ components["y" /* BlockTools */]; }); +__webpack_require__.d(__webpack_exports__, "CopyHandler", function() { return /* reexport */ components["G" /* CopyHandler */]; }); +__webpack_require__.d(__webpack_exports__, "__unstableUseClipboardHandler", function() { return /* reexport */ components["bc" /* __unstableUseClipboardHandler */]; }); +__webpack_require__.d(__webpack_exports__, "DefaultBlockAppender", function() { return /* reexport */ components["H" /* DefaultBlockAppender */]; }); +__webpack_require__.d(__webpack_exports__, "__unstableEditorStyles", function() { return /* reexport */ components["Vb" /* __unstableEditorStyles */]; }); +__webpack_require__.d(__webpack_exports__, "Inserter", function() { return /* reexport */ components["K" /* Inserter */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalLibrary", function() { return /* reexport */ components["Fb" /* __experimentalLibrary */]; }); +__webpack_require__.d(__webpack_exports__, "BlockEditorKeyboardShortcuts", function() { return /* reexport */ components["k" /* BlockEditorKeyboardShortcuts */]; }); +__webpack_require__.d(__webpack_exports__, "MultiSelectScrollIntoView", function() { return /* reexport */ components["U" /* MultiSelectScrollIntoView */]; }); +__webpack_require__.d(__webpack_exports__, "NavigableToolbar", function() { return /* reexport */ components["V" /* NavigableToolbar */]; }); +__webpack_require__.d(__webpack_exports__, "ObserveTyping", function() { return /* reexport */ components["W" /* ObserveTyping */]; }); +__webpack_require__.d(__webpack_exports__, "__unstableUseTypingObserver", function() { return /* reexport */ components["ec" /* __unstableUseTypingObserver */]; }); +__webpack_require__.d(__webpack_exports__, "__unstableUseMouseMoveTypingReset", function() { return /* reexport */ components["cc" /* __unstableUseMouseMoveTypingReset */]; }); +__webpack_require__.d(__webpack_exports__, "PreserveScrollInReorder", function() { return /* reexport */ components["Z" /* PreserveScrollInReorder */]; }); +__webpack_require__.d(__webpack_exports__, "SkipToSelectedBlock", function() { return /* reexport */ components["db" /* SkipToSelectedBlock */]; }); +__webpack_require__.d(__webpack_exports__, "Typewriter", function() { return /* reexport */ components["fb" /* Typewriter */]; }); +__webpack_require__.d(__webpack_exports__, "__unstableUseTypewriter", function() { return /* reexport */ components["dc" /* __unstableUseTypewriter */]; }); +__webpack_require__.d(__webpack_exports__, "Warning", function() { return /* reexport */ components["jb" /* Warning */]; }); +__webpack_require__.d(__webpack_exports__, "WritingFlow", function() { return /* reexport */ components["kb" /* WritingFlow */]; }); +__webpack_require__.d(__webpack_exports__, "__unstableUseCanvasClickRedirect", function() { return /* reexport */ components["ac" /* __unstableUseCanvasClickRedirect */]; }); +__webpack_require__.d(__webpack_exports__, "useBlockDisplayInformation", function() { return /* reexport */ components["oc" /* useBlockDisplayInformation */]; }); +__webpack_require__.d(__webpack_exports__, "__unstableIframe", function() { return /* reexport */ components["Wb" /* __unstableIframe */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalUseNoRecursiveRenders", function() { return /* reexport */ components["Sb" /* __experimentalUseNoRecursiveRenders */]; }); +__webpack_require__.d(__webpack_exports__, "BlockEditorProvider", function() { return /* reexport */ components["l" /* BlockEditorProvider */]; }); +__webpack_require__.d(__webpack_exports__, "useSetting", function() { return /* reexport */ components["sc" /* useSetting */]; }); +__webpack_require__.d(__webpack_exports__, "transformStyles", function() { return /* reexport */ build_module_utils["c" /* transformStyles */]; }); +__webpack_require__.d(__webpack_exports__, "validateThemeColors", function() { return /* reexport */ build_module_utils["d" /* validateThemeColors */]; }); +__webpack_require__.d(__webpack_exports__, "validateThemeGradients", function() { return /* reexport */ build_module_utils["e" /* validateThemeGradients */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalGetMatchingVariation", function() { return /* reexport */ build_module_utils["a" /* __experimentalGetMatchingVariation */]; }); +__webpack_require__.d(__webpack_exports__, "getPxFromCssUnit", function() { return /* reexport */ build_module_utils["b" /* getPxFromCssUnit */]; }); +__webpack_require__.d(__webpack_exports__, "storeConfig", function() { return /* reexport */ store["b" /* storeConfig */]; }); +__webpack_require__.d(__webpack_exports__, "store", function() { return /* reexport */ store["a" /* store */]; }); +__webpack_require__.d(__webpack_exports__, "SETTINGS_DEFAULTS", function() { return /* reexport */ defaults["b" /* SETTINGS_DEFAULTS */]; }); -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-editor/build-module/store/selectors.js -var selectors_namespaceObject = {}; -__webpack_require__.r(selectors_namespaceObject); -__webpack_require__.d(selectors_namespaceObject, "getBlockName", function() { return selectors_getBlockName; }); -__webpack_require__.d(selectors_namespaceObject, "isBlockValid", function() { return selectors_isBlockValid; }); -__webpack_require__.d(selectors_namespaceObject, "getBlockAttributes", function() { return selectors_getBlockAttributes; }); -__webpack_require__.d(selectors_namespaceObject, "getBlock", function() { return selectors_getBlock; }); -__webpack_require__.d(selectors_namespaceObject, "__unstableGetBlockWithoutInnerBlocks", function() { return selectors_unstableGetBlockWithoutInnerBlocks; }); -__webpack_require__.d(selectors_namespaceObject, "getBlocks", function() { return selectors_getBlocks; }); -__webpack_require__.d(selectors_namespaceObject, "__unstableGetBlockWithBlockTree", function() { return __unstableGetBlockWithBlockTree; }); -__webpack_require__.d(selectors_namespaceObject, "__unstableGetBlockTree", function() { return __unstableGetBlockTree; }); -__webpack_require__.d(selectors_namespaceObject, "__unstableGetClientIdWithClientIdsTree", function() { return selectors_unstableGetClientIdWithClientIdsTree; }); -__webpack_require__.d(selectors_namespaceObject, "__unstableGetClientIdsTree", function() { return selectors_unstableGetClientIdsTree; }); -__webpack_require__.d(selectors_namespaceObject, "getClientIdsOfDescendants", function() { return selectors_getClientIdsOfDescendants; }); -__webpack_require__.d(selectors_namespaceObject, "getClientIdsWithDescendants", function() { return getClientIdsWithDescendants; }); -__webpack_require__.d(selectors_namespaceObject, "getGlobalBlockCount", function() { return selectors_getGlobalBlockCount; }); -__webpack_require__.d(selectors_namespaceObject, "getBlocksByClientId", function() { return selectors_getBlocksByClientId; }); -__webpack_require__.d(selectors_namespaceObject, "getBlockCount", function() { return selectors_getBlockCount; }); -__webpack_require__.d(selectors_namespaceObject, "getSelectionStart", function() { return selectors_getSelectionStart; }); -__webpack_require__.d(selectors_namespaceObject, "getSelectionEnd", function() { return selectors_getSelectionEnd; }); -__webpack_require__.d(selectors_namespaceObject, "getBlockSelectionStart", function() { return selectors_getBlockSelectionStart; }); -__webpack_require__.d(selectors_namespaceObject, "getBlockSelectionEnd", function() { return selectors_getBlockSelectionEnd; }); -__webpack_require__.d(selectors_namespaceObject, "getSelectedBlockCount", function() { return selectors_getSelectedBlockCount; }); -__webpack_require__.d(selectors_namespaceObject, "hasSelectedBlock", function() { return selectors_hasSelectedBlock; }); -__webpack_require__.d(selectors_namespaceObject, "getSelectedBlockClientId", function() { return selectors_getSelectedBlockClientId; }); -__webpack_require__.d(selectors_namespaceObject, "getSelectedBlock", function() { return selectors_getSelectedBlock; }); -__webpack_require__.d(selectors_namespaceObject, "getBlockRootClientId", function() { return selectors_getBlockRootClientId; }); -__webpack_require__.d(selectors_namespaceObject, "getBlockParents", function() { return selectors_getBlockParents; }); -__webpack_require__.d(selectors_namespaceObject, "getBlockParentsByBlockName", function() { return getBlockParentsByBlockName; }); -__webpack_require__.d(selectors_namespaceObject, "getBlockHierarchyRootClientId", function() { return selectors_getBlockHierarchyRootClientId; }); -__webpack_require__.d(selectors_namespaceObject, "getLowestCommonAncestorWithSelectedBlock", function() { return getLowestCommonAncestorWithSelectedBlock; }); -__webpack_require__.d(selectors_namespaceObject, "getAdjacentBlockClientId", function() { return getAdjacentBlockClientId; }); -__webpack_require__.d(selectors_namespaceObject, "getPreviousBlockClientId", function() { return selectors_getPreviousBlockClientId; }); -__webpack_require__.d(selectors_namespaceObject, "getNextBlockClientId", function() { return selectors_getNextBlockClientId; }); -__webpack_require__.d(selectors_namespaceObject, "getSelectedBlocksInitialCaretPosition", function() { return selectors_getSelectedBlocksInitialCaretPosition; }); -__webpack_require__.d(selectors_namespaceObject, "getSelectedBlockClientIds", function() { return selectors_getSelectedBlockClientIds; }); -__webpack_require__.d(selectors_namespaceObject, "getMultiSelectedBlockClientIds", function() { return selectors_getMultiSelectedBlockClientIds; }); -__webpack_require__.d(selectors_namespaceObject, "getMultiSelectedBlocks", function() { return selectors_getMultiSelectedBlocks; }); -__webpack_require__.d(selectors_namespaceObject, "getFirstMultiSelectedBlockClientId", function() { return selectors_getFirstMultiSelectedBlockClientId; }); -__webpack_require__.d(selectors_namespaceObject, "getLastMultiSelectedBlockClientId", function() { return selectors_getLastMultiSelectedBlockClientId; }); -__webpack_require__.d(selectors_namespaceObject, "isFirstMultiSelectedBlock", function() { return selectors_isFirstMultiSelectedBlock; }); -__webpack_require__.d(selectors_namespaceObject, "isBlockMultiSelected", function() { return selectors_isBlockMultiSelected; }); -__webpack_require__.d(selectors_namespaceObject, "isAncestorMultiSelected", function() { return selectors_isAncestorMultiSelected; }); -__webpack_require__.d(selectors_namespaceObject, "getMultiSelectedBlocksStartClientId", function() { return selectors_getMultiSelectedBlocksStartClientId; }); -__webpack_require__.d(selectors_namespaceObject, "getMultiSelectedBlocksEndClientId", function() { return selectors_getMultiSelectedBlocksEndClientId; }); -__webpack_require__.d(selectors_namespaceObject, "getBlockOrder", function() { return selectors_getBlockOrder; }); -__webpack_require__.d(selectors_namespaceObject, "getBlockIndex", function() { return selectors_getBlockIndex; }); -__webpack_require__.d(selectors_namespaceObject, "isBlockSelected", function() { return selectors_isBlockSelected; }); -__webpack_require__.d(selectors_namespaceObject, "hasSelectedInnerBlock", function() { return selectors_hasSelectedInnerBlock; }); -__webpack_require__.d(selectors_namespaceObject, "isBlockWithinSelection", function() { return isBlockWithinSelection; }); -__webpack_require__.d(selectors_namespaceObject, "hasMultiSelection", function() { return selectors_hasMultiSelection; }); -__webpack_require__.d(selectors_namespaceObject, "isMultiSelecting", function() { return selectors_isMultiSelecting; }); -__webpack_require__.d(selectors_namespaceObject, "isSelectionEnabled", function() { return selectors_isSelectionEnabled; }); -__webpack_require__.d(selectors_namespaceObject, "getBlockMode", function() { return selectors_getBlockMode; }); -__webpack_require__.d(selectors_namespaceObject, "isTyping", function() { return selectors_isTyping; }); -__webpack_require__.d(selectors_namespaceObject, "isDraggingBlocks", function() { return isDraggingBlocks; }); -__webpack_require__.d(selectors_namespaceObject, "getDraggedBlockClientIds", function() { return selectors_getDraggedBlockClientIds; }); -__webpack_require__.d(selectors_namespaceObject, "isBlockBeingDragged", function() { return selectors_isBlockBeingDragged; }); -__webpack_require__.d(selectors_namespaceObject, "isAncestorBeingDragged", function() { return selectors_isAncestorBeingDragged; }); -__webpack_require__.d(selectors_namespaceObject, "isCaretWithinFormattedText", function() { return selectors_isCaretWithinFormattedText; }); -__webpack_require__.d(selectors_namespaceObject, "getBlockInsertionPoint", function() { return selectors_getBlockInsertionPoint; }); -__webpack_require__.d(selectors_namespaceObject, "isBlockInsertionPointVisible", function() { return selectors_isBlockInsertionPointVisible; }); -__webpack_require__.d(selectors_namespaceObject, "isValidTemplate", function() { return selectors_isValidTemplate; }); -__webpack_require__.d(selectors_namespaceObject, "getTemplate", function() { return getTemplate; }); -__webpack_require__.d(selectors_namespaceObject, "getTemplateLock", function() { return selectors_getTemplateLock; }); -__webpack_require__.d(selectors_namespaceObject, "canInsertBlockType", function() { return selectors_canInsertBlockType; }); -__webpack_require__.d(selectors_namespaceObject, "canInsertBlocks", function() { return selectors_canInsertBlocks; }); -__webpack_require__.d(selectors_namespaceObject, "getInserterItems", function() { return selectors_getInserterItems; }); -__webpack_require__.d(selectors_namespaceObject, "getBlockTransformItems", function() { return selectors_getBlockTransformItems; }); -__webpack_require__.d(selectors_namespaceObject, "hasInserterItems", function() { return selectors_hasInserterItems; }); -__webpack_require__.d(selectors_namespaceObject, "__experimentalGetAllowedBlocks", function() { return selectors_experimentalGetAllowedBlocks; }); -__webpack_require__.d(selectors_namespaceObject, "__experimentalGetParsedPattern", function() { return __experimentalGetParsedPattern; }); -__webpack_require__.d(selectors_namespaceObject, "__experimentalGetAllowedPatterns", function() { return selectors_experimentalGetAllowedPatterns; }); -__webpack_require__.d(selectors_namespaceObject, "__experimentalGetPatternsByBlockTypes", function() { return selectors_experimentalGetPatternsByBlockTypes; }); -__webpack_require__.d(selectors_namespaceObject, "__experimentalGetPatternTransformItems", function() { return selectors_experimentalGetPatternTransformItems; }); -__webpack_require__.d(selectors_namespaceObject, "getBlockListSettings", function() { return selectors_getBlockListSettings; }); -__webpack_require__.d(selectors_namespaceObject, "getSettings", function() { return selectors_getSettings; }); -__webpack_require__.d(selectors_namespaceObject, "isLastBlockChangePersistent", function() { return selectors_isLastBlockChangePersistent; }); -__webpack_require__.d(selectors_namespaceObject, "__experimentalGetBlockListSettingsForBlocks", function() { return selectors_experimentalGetBlockListSettingsForBlocks; }); -__webpack_require__.d(selectors_namespaceObject, "__experimentalGetParsedReusableBlock", function() { return __experimentalGetParsedReusableBlock; }); -__webpack_require__.d(selectors_namespaceObject, "__experimentalGetReusableBlockTitle", function() { return selectors_experimentalGetReusableBlockTitle; }); -__webpack_require__.d(selectors_namespaceObject, "__unstableIsLastBlockChangeIgnored", function() { return selectors_unstableIsLastBlockChangeIgnored; }); -__webpack_require__.d(selectors_namespaceObject, "__experimentalGetLastBlockAttributeChanges", function() { return __experimentalGetLastBlockAttributeChanges; }); -__webpack_require__.d(selectors_namespaceObject, "isNavigationMode", function() { return selectors_isNavigationMode; }); -__webpack_require__.d(selectors_namespaceObject, "hasBlockMovingClientId", function() { return selectors_hasBlockMovingClientId; }); -__webpack_require__.d(selectors_namespaceObject, "didAutomaticChange", function() { return selectors_didAutomaticChange; }); -__webpack_require__.d(selectors_namespaceObject, "isBlockHighlighted", function() { return selectors_isBlockHighlighted; }); -__webpack_require__.d(selectors_namespaceObject, "areInnerBlocksControlled", function() { return areInnerBlocksControlled; }); -__webpack_require__.d(selectors_namespaceObject, "__experimentalGetActiveBlockIdByBlockNames", function() { return __experimentalGetActiveBlockIdByBlockNames; }); -__webpack_require__.d(selectors_namespaceObject, "wasBlockJustInserted", function() { return wasBlockJustInserted; }); +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-editor/build-module/store/actions.js -var actions_namespaceObject = {}; -__webpack_require__.r(actions_namespaceObject); -__webpack_require__.d(actions_namespaceObject, "resetBlocks", function() { return actions_resetBlocks; }); -__webpack_require__.d(actions_namespaceObject, "validateBlocksToTemplate", function() { return validateBlocksToTemplate; }); -__webpack_require__.d(actions_namespaceObject, "resetSelection", function() { return actions_resetSelection; }); -__webpack_require__.d(actions_namespaceObject, "receiveBlocks", function() { return receiveBlocks; }); -__webpack_require__.d(actions_namespaceObject, "updateBlockAttributes", function() { return actions_updateBlockAttributes; }); -__webpack_require__.d(actions_namespaceObject, "updateBlock", function() { return actions_updateBlock; }); -__webpack_require__.d(actions_namespaceObject, "selectBlock", function() { return actions_selectBlock; }); -__webpack_require__.d(actions_namespaceObject, "selectPreviousBlock", function() { return selectPreviousBlock; }); -__webpack_require__.d(actions_namespaceObject, "selectNextBlock", function() { return selectNextBlock; }); -__webpack_require__.d(actions_namespaceObject, "startMultiSelect", function() { return actions_startMultiSelect; }); -__webpack_require__.d(actions_namespaceObject, "stopMultiSelect", function() { return actions_stopMultiSelect; }); -__webpack_require__.d(actions_namespaceObject, "multiSelect", function() { return actions_multiSelect; }); -__webpack_require__.d(actions_namespaceObject, "clearSelectedBlock", function() { return actions_clearSelectedBlock; }); -__webpack_require__.d(actions_namespaceObject, "toggleSelection", function() { return actions_toggleSelection; }); -__webpack_require__.d(actions_namespaceObject, "replaceBlocks", function() { return actions_replaceBlocks; }); -__webpack_require__.d(actions_namespaceObject, "replaceBlock", function() { return actions_replaceBlock; }); -__webpack_require__.d(actions_namespaceObject, "moveBlocksDown", function() { return actions_moveBlocksDown; }); -__webpack_require__.d(actions_namespaceObject, "moveBlocksUp", function() { return actions_moveBlocksUp; }); -__webpack_require__.d(actions_namespaceObject, "moveBlocksToPosition", function() { return actions_moveBlocksToPosition; }); -__webpack_require__.d(actions_namespaceObject, "moveBlockToPosition", function() { return actions_moveBlockToPosition; }); -__webpack_require__.d(actions_namespaceObject, "insertBlock", function() { return actions_insertBlock; }); -__webpack_require__.d(actions_namespaceObject, "insertBlocks", function() { return actions_insertBlocks; }); -__webpack_require__.d(actions_namespaceObject, "showInsertionPoint", function() { return actions_showInsertionPoint; }); -__webpack_require__.d(actions_namespaceObject, "hideInsertionPoint", function() { return actions_hideInsertionPoint; }); -__webpack_require__.d(actions_namespaceObject, "setTemplateValidity", function() { return setTemplateValidity; }); -__webpack_require__.d(actions_namespaceObject, "synchronizeTemplate", function() { return synchronizeTemplate; }); -__webpack_require__.d(actions_namespaceObject, "mergeBlocks", function() { return actions_mergeBlocks; }); -__webpack_require__.d(actions_namespaceObject, "removeBlocks", function() { return actions_removeBlocks; }); -__webpack_require__.d(actions_namespaceObject, "removeBlock", function() { return actions_removeBlock; }); -__webpack_require__.d(actions_namespaceObject, "replaceInnerBlocks", function() { return actions_replaceInnerBlocks; }); -__webpack_require__.d(actions_namespaceObject, "toggleBlockMode", function() { return toggleBlockMode; }); -__webpack_require__.d(actions_namespaceObject, "startTyping", function() { return actions_startTyping; }); -__webpack_require__.d(actions_namespaceObject, "stopTyping", function() { return actions_stopTyping; }); -__webpack_require__.d(actions_namespaceObject, "startDraggingBlocks", function() { return actions_startDraggingBlocks; }); -__webpack_require__.d(actions_namespaceObject, "stopDraggingBlocks", function() { return actions_stopDraggingBlocks; }); -__webpack_require__.d(actions_namespaceObject, "enterFormattedText", function() { return actions_enterFormattedText; }); -__webpack_require__.d(actions_namespaceObject, "exitFormattedText", function() { return actions_exitFormattedText; }); -__webpack_require__.d(actions_namespaceObject, "selectionChange", function() { return actions_selectionChange; }); -__webpack_require__.d(actions_namespaceObject, "insertDefaultBlock", function() { return actions_insertDefaultBlock; }); -__webpack_require__.d(actions_namespaceObject, "updateBlockListSettings", function() { return actions_updateBlockListSettings; }); -__webpack_require__.d(actions_namespaceObject, "updateSettings", function() { return actions_updateSettings; }); -__webpack_require__.d(actions_namespaceObject, "__unstableSaveReusableBlock", function() { return __unstableSaveReusableBlock; }); -__webpack_require__.d(actions_namespaceObject, "__unstableMarkLastChangeAsPersistent", function() { return actions_unstableMarkLastChangeAsPersistent; }); -__webpack_require__.d(actions_namespaceObject, "__unstableMarkNextChangeAsNotPersistent", function() { return actions_unstableMarkNextChangeAsNotPersistent; }); -__webpack_require__.d(actions_namespaceObject, "__unstableMarkAutomaticChange", function() { return actions_unstableMarkAutomaticChange; }); -__webpack_require__.d(actions_namespaceObject, "__unstableMarkAutomaticChangeFinal", function() { return __unstableMarkAutomaticChangeFinal; }); -__webpack_require__.d(actions_namespaceObject, "setNavigationMode", function() { return actions_setNavigationMode; }); -__webpack_require__.d(actions_namespaceObject, "setBlockMovingClientId", function() { return actions_setBlockMovingClientId; }); -__webpack_require__.d(actions_namespaceObject, "duplicateBlocks", function() { return actions_duplicateBlocks; }); -__webpack_require__.d(actions_namespaceObject, "insertBeforeBlock", function() { return actions_insertBeforeBlock; }); -__webpack_require__.d(actions_namespaceObject, "insertAfterBlock", function() { return actions_insertAfterBlock; }); -__webpack_require__.d(actions_namespaceObject, "toggleBlockHighlight", function() { return actions_toggleBlockHighlight; }); -__webpack_require__.d(actions_namespaceObject, "flashBlock", function() { return actions_flashBlock; }); -__webpack_require__.d(actions_namespaceObject, "setHasControlledInnerBlocks", function() { return actions_setHasControlledInnerBlocks; }); +// EXTERNAL MODULE: external ["wp","hooks"] +var external_wp_hooks_ = __webpack_require__("g56x"); -// EXTERNAL MODULE: external ["wp","richText"] -var external_wp_richText_ = __webpack_require__("qRz9"); +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/compat.js +/** + * WordPress dependencies + */ + + + +function migrateLightBlockWrapper(settings) { + const { + apiVersion = 1 + } = settings; + + if (apiVersion < 2 && Object(external_wp_blocks_["hasBlockSupport"])(settings, 'lightBlockWrapper', false)) { + settings.apiVersion = 2; + } + + return settings; +} + +Object(external_wp_hooks_["addFilter"])('blocks.registerBlockType', 'core/compat/migrateLightBlockWrapper', migrateLightBlockWrapper); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js var esm_extends = __webpack_require__("wx14"); @@ -7327,5582 +40136,14 @@ var external_lodash_ = __webpack_require__("YLtl"); // EXTERNAL MODULE: external ["wp","compose"] var external_wp_compose_ = __webpack_require__("K9lf"); -// EXTERNAL MODULE: external ["wp","hooks"] -var external_wp_hooks_ = __webpack_require__("g56x"); +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/index.js + 4 modules +var block_controls = __webpack_require__("fOYa"); -// EXTERNAL MODULE: external ["wp","blocks"] -var external_wp_blocks_ = __webpack_require__("HSyU"); +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-alignment-control/index.js + 4 modules +var block_alignment_control = __webpack_require__("vtO0"); -// EXTERNAL MODULE: external ["wp","components"] -var external_wp_components_ = __webpack_require__("tI+e"); - -// EXTERNAL MODULE: external ["wp","data"] -var external_wp_data_ = __webpack_require__("1ZqX"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit/context.js -/** - * WordPress dependencies - */ - -const Context = Object(external_wp_element_["createContext"])({ - name: '', - isSelected: false, - clientId: null -}); -const { - Provider: context_Provider -} = Context; - -/** - * A hook that returns the block edit context. - * - * @return {Object} Block edit context - */ - -function useBlockEditContext() { - return Object(external_wp_element_["useContext"])(Context); -} - -// EXTERNAL MODULE: external ["wp","i18n"] -var external_wp_i18n_ = __webpack_require__("l3Sj"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/defaults.js -/** - * WordPress dependencies - */ - -const PREFERENCES_DEFAULTS = { - insertUsage: {} -}; -/** - * The default editor settings - * - * @typedef {Object} SETTINGS_DEFAULT - * @property {boolean} alignWide Enable/Disable Wide/Full Alignments - * @property {boolean} supportsLayout Enable/disable layouts support in container blocks. - * @property {boolean} imageEditing Image Editing settings set to false to disable. - * @property {Array} imageSizes Available image sizes - * @property {number} maxWidth Max width to constraint resizing - * @property {boolean|Array} allowedBlockTypes Allowed block types - * @property {boolean} hasFixedToolbar Whether or not the editor toolbar is fixed - * @property {boolean} focusMode Whether the focus mode is enabled or not - * @property {Array} styles Editor Styles - * @property {boolean} keepCaretInsideBlock Whether caret should move between blocks in edit mode - * @property {string} bodyPlaceholder Empty post placeholder - * @property {string} titlePlaceholder Empty title placeholder - * @property {boolean} codeEditingEnabled Whether or not the user can switch to the code editor - * @property {boolean} __experimentalCanUserUseUnfilteredHTML Whether the user should be able to use unfiltered HTML or the HTML should be filtered e.g., to remove elements considered insecure like iframes. - * @property {boolean} __experimentalBlockDirectory Whether the user has enabled the Block Directory - * @property {Array} __experimentalBlockPatterns Array of objects representing the block patterns - * @property {Array} __experimentalBlockPatternCategories Array of objects representing the block pattern categories - */ - -const SETTINGS_DEFAULTS = { - alignWide: false, - supportsLayout: true, - // colors setting is not used anymore now defaults are passed from theme.json on the server and core has its own defaults. - // The setting is only kept for backward compatibility purposes. - colors: [{ - name: Object(external_wp_i18n_["__"])('Black'), - slug: 'black', - color: '#000000' - }, { - name: Object(external_wp_i18n_["__"])('Cyan bluish gray'), - slug: 'cyan-bluish-gray', - color: '#abb8c3' - }, { - name: Object(external_wp_i18n_["__"])('White'), - slug: 'white', - color: '#ffffff' - }, { - name: Object(external_wp_i18n_["__"])('Pale pink'), - slug: 'pale-pink', - color: '#f78da7' - }, { - name: Object(external_wp_i18n_["__"])('Vivid red'), - slug: 'vivid-red', - color: '#cf2e2e' - }, { - name: Object(external_wp_i18n_["__"])('Luminous vivid orange'), - slug: 'luminous-vivid-orange', - color: '#ff6900' - }, { - name: Object(external_wp_i18n_["__"])('Luminous vivid amber'), - slug: 'luminous-vivid-amber', - color: '#fcb900' - }, { - name: Object(external_wp_i18n_["__"])('Light green cyan'), - slug: 'light-green-cyan', - color: '#7bdcb5' - }, { - name: Object(external_wp_i18n_["__"])('Vivid green cyan'), - slug: 'vivid-green-cyan', - color: '#00d084' - }, { - name: Object(external_wp_i18n_["__"])('Pale cyan blue'), - slug: 'pale-cyan-blue', - color: '#8ed1fc' - }, { - name: Object(external_wp_i18n_["__"])('Vivid cyan blue'), - slug: 'vivid-cyan-blue', - color: '#0693e3' - }, { - name: Object(external_wp_i18n_["__"])('Vivid purple'), - slug: 'vivid-purple', - color: '#9b51e0' - }], - // fontSizes setting is not used anymore now defaults are passed from theme.json on the server and core has its own defaults. - // The setting is only kept for backward compatibility purposes. - fontSizes: [{ - name: Object(external_wp_i18n_["_x"])('Small', 'font size name'), - size: 13, - slug: 'small' - }, { - name: Object(external_wp_i18n_["_x"])('Normal', 'font size name'), - size: 16, - slug: 'normal' - }, { - name: Object(external_wp_i18n_["_x"])('Medium', 'font size name'), - size: 20, - slug: 'medium' - }, { - name: Object(external_wp_i18n_["_x"])('Large', 'font size name'), - size: 36, - slug: 'large' - }, { - name: Object(external_wp_i18n_["_x"])('Huge', 'font size name'), - size: 42, - slug: 'huge' - }], - // Image default size slug. - imageDefaultSize: 'large', - imageSizes: [{ - slug: 'thumbnail', - name: Object(external_wp_i18n_["__"])('Thumbnail') - }, { - slug: 'medium', - name: Object(external_wp_i18n_["__"])('Medium') - }, { - slug: 'large', - name: Object(external_wp_i18n_["__"])('Large') - }, { - slug: 'full', - name: Object(external_wp_i18n_["__"])('Full Size') - }], - // Allow plugin to disable Image Editor if need be - imageEditing: true, - // This is current max width of the block inner area - // It's used to constraint image resizing and this value could be overridden later by themes - maxWidth: 580, - // Allowed block types for the editor, defaulting to true (all supported). - allowedBlockTypes: true, - // Maximum upload size in bytes allowed for the site. - maxUploadFileSize: 0, - // List of allowed mime types and file extensions. - allowedMimeTypes: null, - __experimentalCanUserUseUnfilteredHTML: false, - __experimentalBlockDirectory: false, - __mobileEnablePageTemplates: false, - __experimentalBlockPatterns: [], - __experimentalBlockPatternCategories: [], - __experimentalSpotlightEntityBlocks: [], - // gradients setting is not used anymore now defaults are passed from theme.json on the server and core has its own defaults. - // The setting is only kept for backward compatibility purposes. - gradients: [{ - name: Object(external_wp_i18n_["__"])('Vivid cyan blue to vivid purple'), - gradient: 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)', - slug: 'vivid-cyan-blue-to-vivid-purple' - }, { - name: Object(external_wp_i18n_["__"])('Light green cyan to vivid green cyan'), - gradient: 'linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%)', - slug: 'light-green-cyan-to-vivid-green-cyan' - }, { - name: Object(external_wp_i18n_["__"])('Luminous vivid amber to luminous vivid orange'), - gradient: 'linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%)', - slug: 'luminous-vivid-amber-to-luminous-vivid-orange' - }, { - name: Object(external_wp_i18n_["__"])('Luminous vivid orange to vivid red'), - gradient: 'linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%)', - slug: 'luminous-vivid-orange-to-vivid-red' - }, { - name: Object(external_wp_i18n_["__"])('Very light gray to cyan bluish gray'), - gradient: 'linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%)', - slug: 'very-light-gray-to-cyan-bluish-gray' - }, { - name: Object(external_wp_i18n_["__"])('Cool to warm spectrum'), - gradient: 'linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%)', - slug: 'cool-to-warm-spectrum' - }, { - name: Object(external_wp_i18n_["__"])('Blush light purple'), - gradient: 'linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%)', - slug: 'blush-light-purple' - }, { - name: Object(external_wp_i18n_["__"])('Blush bordeaux'), - gradient: 'linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%)', - slug: 'blush-bordeaux' - }, { - name: Object(external_wp_i18n_["__"])('Luminous dusk'), - gradient: 'linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%)', - slug: 'luminous-dusk' - }, { - name: Object(external_wp_i18n_["__"])('Pale ocean'), - gradient: 'linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%)', - slug: 'pale-ocean' - }, { - name: Object(external_wp_i18n_["__"])('Electric grass'), - gradient: 'linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%)', - slug: 'electric-grass' - }, { - name: Object(external_wp_i18n_["__"])('Midnight'), - gradient: 'linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%)', - slug: 'midnight' - }] -}; - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/array.js -/** - * External dependencies - */ - -/** - * Insert one or multiple elements into a given position of an array. - * - * @param {Array} array Source array. - * @param {*} elements Elements to insert. - * @param {number} index Insert Position. - * - * @return {Array} Result. - */ - -function insertAt(array, elements, index) { - return [...array.slice(0, index), ...Object(external_lodash_["castArray"])(elements), ...array.slice(index)]; -} -/** - * Moves an element in an array. - * - * @param {Array} array Source array. - * @param {number} from Source index. - * @param {number} to Destination index. - * @param {number} count Number of elements to move. - * - * @return {Array} Result. - */ - -function moveTo(array, from, to, count = 1) { - const withoutMovedElements = [...array]; - withoutMovedElements.splice(from, count); - return insertAt(withoutMovedElements, array.slice(from, from + count), to); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/reducer.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -/** - * Given an array of blocks, returns an object where each key is a nesting - * context, the value of which is an array of block client IDs existing within - * that nesting context. - * - * @param {Array} blocks Blocks to map. - * @param {?string} rootClientId Assumed root client ID. - * - * @return {Object} Block order map object. - */ - -function mapBlockOrder(blocks, rootClientId = '') { - const result = { - [rootClientId]: [] - }; - blocks.forEach(block => { - const { - clientId, - innerBlocks - } = block; - result[rootClientId].push(clientId); - Object.assign(result, mapBlockOrder(innerBlocks, clientId)); - }); - return result; -} -/** - * Given an array of blocks, returns an object where each key contains - * the clientId of the block and the value is the parent of the block. - * - * @param {Array} blocks Blocks to map. - * @param {?string} rootClientId Assumed root client ID. - * - * @return {Object} Block order map object. - */ - - -function mapBlockParents(blocks, rootClientId = '') { - return blocks.reduce((result, block) => Object.assign(result, { - [block.clientId]: rootClientId - }, mapBlockParents(block.innerBlocks, block.clientId)), {}); -} -/** - * Helper method to iterate through all blocks, recursing into inner blocks, - * applying a transformation function to each one. - * Returns a flattened object with the transformed blocks. - * - * @param {Array} blocks Blocks to flatten. - * @param {Function} transform Transforming function to be applied to each block. - * - * @return {Object} Flattened object. - */ - - -function flattenBlocks(blocks, transform = external_lodash_["identity"]) { - const result = {}; - const stack = [...blocks]; - - while (stack.length) { - const { - innerBlocks, - ...block - } = stack.shift(); - stack.push(...innerBlocks); - result[block.clientId] = transform(block); - } - - return result; -} -/** - * Given an array of blocks, returns an object containing all blocks, without - * attributes, recursing into inner blocks. Keys correspond to the block client - * ID, the value of which is the attributes object. - * - * @param {Array} blocks Blocks to flatten. - * - * @return {Object} Flattened block attributes object. - */ - - -function getFlattenedBlocksWithoutAttributes(blocks) { - return flattenBlocks(blocks, block => Object(external_lodash_["omit"])(block, 'attributes')); -} -/** - * Given an array of blocks, returns an object containing all block attributes, - * recursing into inner blocks. Keys correspond to the block client ID, the - * value of which is the attributes object. - * - * @param {Array} blocks Blocks to flatten. - * - * @return {Object} Flattened block attributes object. - */ - - -function getFlattenedBlockAttributes(blocks) { - return flattenBlocks(blocks, block => block.attributes); -} -/** - * Given a block order map object, returns *all* of the block client IDs that are - * a descendant of the given root client ID. - * - * Calling this with `rootClientId` set to `''` results in a list of client IDs - * that are in the post. That is, it excludes blocks like fetched reusable - * blocks which are stored into state but not visible. It also excludes - * InnerBlocks controllers, like template parts. - * - * It is important to exclude the full inner block controller and not just the - * inner blocks because in many cases, we need to persist the previous value of - * an inner block controller. To do so, it must be excluded from the list of - * client IDs which are considered to be part of the top-level entity. - * - * @param {Object} blocksOrder Object that maps block client IDs to a list of - * nested block client IDs. - * @param {?string} rootClientId The root client ID to search. Defaults to ''. - * @param {?Object} controlledInnerBlocks The InnerBlocks controller state. - * - * @return {Array} List of descendant client IDs. - */ - - -function getNestedBlockClientIds(blocksOrder, rootClientId = '', controlledInnerBlocks = {}) { - return Object(external_lodash_["reduce"])(blocksOrder[rootClientId], (result, clientId) => { - if (!!controlledInnerBlocks[clientId]) { - return result; - } - - return [...result, clientId, ...getNestedBlockClientIds(blocksOrder, clientId)]; - }, []); -} -/** - * Returns an object against which it is safe to perform mutating operations, - * given the original object and its current working copy. - * - * @param {Object} original Original object. - * @param {Object} working Working object. - * - * @return {Object} Mutation-safe object. - */ - - -function getMutateSafeObject(original, working) { - if (original === working) { - return { ...original - }; - } - - return working; -} -/** - * Returns true if the two object arguments have the same keys, or false - * otherwise. - * - * @param {Object} a First object. - * @param {Object} b Second object. - * - * @return {boolean} Whether the two objects have the same keys. - */ - - -function hasSameKeys(a, b) { - return Object(external_lodash_["isEqual"])(Object(external_lodash_["keys"])(a), Object(external_lodash_["keys"])(b)); -} -/** - * Returns true if, given the currently dispatching action and the previously - * dispatched action, the two actions are updating the same block attribute, or - * false otherwise. - * - * @param {Object} action Currently dispatching action. - * @param {Object} lastAction Previously dispatched action. - * - * @return {boolean} Whether actions are updating the same block attribute. - */ - -function isUpdatingSameBlockAttribute(action, lastAction) { - return action.type === 'UPDATE_BLOCK_ATTRIBUTES' && lastAction !== undefined && lastAction.type === 'UPDATE_BLOCK_ATTRIBUTES' && Object(external_lodash_["isEqual"])(action.clientIds, lastAction.clientIds) && hasSameKeys(action.attributes, lastAction.attributes); -} -/** - * Utility returning an object with an empty object value for each key. - * - * @param {Array} objectKeys Keys to fill. - * @return {Object} Object filled with empty object as values for each clientId. - */ - -const fillKeysWithEmptyObject = objectKeys => { - return objectKeys.reduce((result, key) => { - result[key] = {}; - return result; - }, {}); -}; -/** - * Higher-order reducer intended to compute a cache key for each block in the post. - * A new instance of the cache key (empty object) is created each time the block object - * needs to be refreshed (for any change in the block or its children). - * - * @param {Function} reducer Original reducer function. - * - * @return {Function} Enhanced reducer function. - */ - - -const withBlockCache = reducer => (state = {}, action) => { - const newState = reducer(state, action); - - if (newState === state) { - return state; - } - - newState.cache = state.cache ? state.cache : {}; - /** - * For each clientId provided, traverses up parents, adding the provided clientIds - * and each parent's clientId to the returned array. - * - * When calling this function consider that it uses the old state, so any state - * modifications made by the `reducer` will not be present. - * - * @param {Array} clientIds an Array of block clientIds. - * - * @return {Array} The provided clientIds and all of their parent clientIds. - */ - - const getBlocksWithParentsClientIds = clientIds => { - return clientIds.reduce((result, clientId) => { - let current = clientId; - - do { - result.push(current); - current = state.parents[current]; - } while (current && !state.controlledInnerBlocks[current]); - - return result; - }, []); - }; - - switch (action.type) { - case 'RESET_BLOCKS': - newState.cache = Object(external_lodash_["mapValues"])(flattenBlocks(action.blocks), () => ({})); - break; - - case 'RECEIVE_BLOCKS': - case 'INSERT_BLOCKS': - { - const updatedBlockUids = Object(external_lodash_["keys"])(flattenBlocks(action.blocks)); - - if (action.rootClientId && !state.controlledInnerBlocks[action.rootClientId]) { - updatedBlockUids.push(action.rootClientId); - } - - newState.cache = { ...newState.cache, - ...fillKeysWithEmptyObject(getBlocksWithParentsClientIds(updatedBlockUids)) - }; - break; - } - - case 'UPDATE_BLOCK': - newState.cache = { ...newState.cache, - ...fillKeysWithEmptyObject(getBlocksWithParentsClientIds([action.clientId])) - }; - break; - - case 'UPDATE_BLOCK_ATTRIBUTES': - newState.cache = { ...newState.cache, - ...fillKeysWithEmptyObject(getBlocksWithParentsClientIds(action.clientIds)) - }; - break; - - case 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN': - const parentClientIds = fillKeysWithEmptyObject(getBlocksWithParentsClientIds(action.replacedClientIds)); - newState.cache = { ...Object(external_lodash_["omit"])(newState.cache, action.replacedClientIds), - ...Object(external_lodash_["omit"])(parentClientIds, action.replacedClientIds), - ...fillKeysWithEmptyObject(Object(external_lodash_["keys"])(flattenBlocks(action.blocks))) - }; - break; - - case 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN': - newState.cache = { ...Object(external_lodash_["omit"])(newState.cache, action.removedClientIds), - ...fillKeysWithEmptyObject(Object(external_lodash_["difference"])(getBlocksWithParentsClientIds(action.clientIds), action.clientIds)) - }; - break; - - case 'MOVE_BLOCKS_TO_POSITION': - { - const updatedBlockUids = [...action.clientIds]; - - if (action.fromRootClientId) { - updatedBlockUids.push(action.fromRootClientId); - } - - if (action.toRootClientId) { - updatedBlockUids.push(action.toRootClientId); - } - - newState.cache = { ...newState.cache, - ...fillKeysWithEmptyObject(getBlocksWithParentsClientIds(updatedBlockUids)) - }; - break; - } - - case 'MOVE_BLOCKS_UP': - case 'MOVE_BLOCKS_DOWN': - { - const updatedBlockUids = []; - - if (action.rootClientId) { - updatedBlockUids.push(action.rootClientId); - } - - newState.cache = { ...newState.cache, - ...fillKeysWithEmptyObject(getBlocksWithParentsClientIds(updatedBlockUids)) - }; - break; - } - - case 'SAVE_REUSABLE_BLOCK_SUCCESS': - { - const updatedBlockUids = Object(external_lodash_["keys"])(Object(external_lodash_["omitBy"])(newState.attributes, (attributes, clientId) => { - return newState.byClientId[clientId].name !== 'core/block' || attributes.ref !== action.updatedId; - })); - newState.cache = { ...newState.cache, - ...fillKeysWithEmptyObject(getBlocksWithParentsClientIds(updatedBlockUids)) - }; - } - } - - return newState; -}; -/** - * Higher-order reducer intended to augment the blocks reducer, assigning an - * `isPersistentChange` property value corresponding to whether a change in - * state can be considered as persistent. All changes are considered persistent - * except when updating the same block attribute as in the previous action. - * - * @param {Function} reducer Original reducer function. - * - * @return {Function} Enhanced reducer function. - */ - - -function withPersistentBlockChange(reducer) { - let lastAction; - let markNextChangeAsNotPersistent = false; - return (state, action) => { - let nextState = reducer(state, action); - 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; - - markNextChangeAsNotPersistent = action.type === 'MARK_NEXT_CHANGE_AS_NOT_PERSISTENT'; - const nextIsPersistentChange = (_state$isPersistentCh = state === null || state === void 0 ? void 0 : state.isPersistentChange) !== null && _state$isPersistentCh !== void 0 ? _state$isPersistentCh : true; - - if (state.isPersistentChange === nextIsPersistentChange) { - return state; - } - - return { ...nextState, - isPersistentChange: nextIsPersistentChange - }; - } - - nextState = { ...nextState, - isPersistentChange: isExplicitPersistentChange ? !markNextChangeAsNotPersistent : !isUpdatingSameBlockAttribute(action, lastAction) - }; // In comparing against the previous action, consider only those which - // would have qualified as one which would have been ignored or not - // have resulted in a changed state. - - lastAction = action; - markNextChangeAsNotPersistent = action.type === 'MARK_NEXT_CHANGE_AS_NOT_PERSISTENT'; - return nextState; - }; -} -/** - * Higher-order reducer intended to augment the blocks reducer, assigning an - * `isIgnoredChange` property value corresponding to whether a change in state - * can be considered as ignored. A change is considered ignored when the result - * of an action not incurred by direct user interaction. - * - * @param {Function} reducer Original reducer function. - * - * @return {Function} Enhanced reducer function. - */ - - -function withIgnoredBlockChange(reducer) { - /** - * Set of action types for which a blocks state change should be ignored. - * - * @type {Set} - */ - const IGNORED_ACTION_TYPES = new Set(['RECEIVE_BLOCKS']); - return (state, action) => { - const nextState = reducer(state, action); - - if (nextState !== state) { - nextState.isIgnoredChange = IGNORED_ACTION_TYPES.has(action.type); - } - - return nextState; - }; -} -/** - * Higher-order reducer targeting the combined blocks reducer, augmenting - * block client IDs in remove action to include cascade of inner blocks. - * - * @param {Function} reducer Original reducer function. - * - * @return {Function} Enhanced reducer function. - */ - - -const withInnerBlocksRemoveCascade = reducer => (state, action) => { - // Gets all children which need to be removed. - const getAllChildren = clientIds => { - let result = clientIds; - - for (let i = 0; i < result.length; i++) { - if (!state.order[result[i]] || action.keepControlledInnerBlocks && action.keepControlledInnerBlocks[result[i]]) { - continue; - } - - if (result === clientIds) { - result = [...result]; - } - - result.push(...state.order[result[i]]); - } - - return result; - }; - - if (state) { - switch (action.type) { - case 'REMOVE_BLOCKS': - action = { ...action, - type: 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN', - removedClientIds: getAllChildren(action.clientIds) - }; - break; - - case 'REPLACE_BLOCKS': - action = { ...action, - type: 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN', - replacedClientIds: getAllChildren(action.clientIds) - }; - break; - } - } - - return reducer(state, action); -}; -/** - * Higher-order reducer which targets the combined blocks reducer and handles - * the `RESET_BLOCKS` action. When dispatched, this action will replace all - * blocks that exist in the post, leaving blocks that exist only in state (e.g. - * reusable blocks and blocks controlled by inner blocks controllers) alone. - * - * @param {Function} reducer Original reducer function. - * - * @return {Function} Enhanced reducer function. - */ - - -const withBlockReset = reducer => (state, action) => { - if (state && action.type === 'RESET_BLOCKS') { - /** - * A list of client IDs associated with the top level entity (like a - * post or template). It excludes the client IDs of blocks associated - * with other entities, like inner block controllers or reusable blocks. - */ - const visibleClientIds = getNestedBlockClientIds(state.order, '', state.controlledInnerBlocks); // pickBy returns only the truthy values from controlledInnerBlocks - - const controlledInnerBlocks = Object.keys(Object(external_lodash_["pickBy"])(state.controlledInnerBlocks)); - /** - * Each update operation consists of a few parts: - * 1. First, the client IDs associated with the top level entity are - * removed from the existing state key, leaving in place controlled - * blocks (like reusable blocks and inner block controllers). - * 2. Second, the blocks from the reset action are used to calculate the - * individual state keys. This will re-populate the clientIDs which - * were removed in step 1. - * 3. In some cases, we remove the recalculated inner block controllers, - * letting their old values persist. We need to do this because the - * reset block action from a top-level entity is not aware of any - * inner blocks inside InnerBlock controllers. So if the new values - * were used, it would not take into account the existing InnerBlocks - * which already exist in the state for inner block controllers. For - * example, `attributes` uses the newly computed value for controllers - * since attributes are stored in the top-level entity. But `order` - * uses the previous value for the controllers since the new value - * does not include the order of controlled inner blocks. So if the - * new value was used, template parts would disappear from the editor - * whenever you try to undo a change in the top level entity. - */ - - return { ...state, - byClientId: { ...Object(external_lodash_["omit"])(state.byClientId, visibleClientIds), - ...getFlattenedBlocksWithoutAttributes(action.blocks) - }, - attributes: { ...Object(external_lodash_["omit"])(state.attributes, visibleClientIds), - ...getFlattenedBlockAttributes(action.blocks) - }, - order: { ...Object(external_lodash_["omit"])(state.order, visibleClientIds), - ...Object(external_lodash_["omit"])(mapBlockOrder(action.blocks), controlledInnerBlocks) - }, - parents: { ...Object(external_lodash_["omit"])(state.parents, visibleClientIds), - ...mapBlockParents(action.blocks) - }, - cache: { ...Object(external_lodash_["omit"])(state.cache, visibleClientIds), - ...Object(external_lodash_["omit"])(Object(external_lodash_["mapValues"])(flattenBlocks(action.blocks), () => ({})), controlledInnerBlocks) - } - }; - } - - return reducer(state, action); -}; -/** - * Higher-order reducer which targets the combined blocks reducer and handles - * the `REPLACE_INNER_BLOCKS` action. When dispatched, this action the state - * should become equivalent to the execution of a `REMOVE_BLOCKS` action - * containing all the child's of the root block followed by the execution of - * `INSERT_BLOCKS` with the new blocks. - * - * @param {Function} reducer Original reducer function. - * - * @return {Function} Enhanced reducer function. - */ - - -const withReplaceInnerBlocks = reducer => (state, action) => { - if (action.type !== 'REPLACE_INNER_BLOCKS') { - return reducer(state, action); - } // Finds every nested inner block controller. We must check the action blocks - // and not just the block parent state because some inner block controllers - // should be deleted if specified, whereas others should not be deleted. If - // a controlled should not be deleted, then we need to avoid deleting its - // inner blocks from the block state because its inner blocks will not be - // attached to the block in the action. - - - const nestedControllers = {}; - - if (Object.keys(state.controlledInnerBlocks).length) { - const stack = [...action.blocks]; - - while (stack.length) { - const { - innerBlocks, - ...block - } = stack.shift(); - stack.push(...innerBlocks); - - if (!!state.controlledInnerBlocks[block.clientId]) { - nestedControllers[block.clientId] = true; - } - } - } // The `keepControlledInnerBlocks` prop will keep the inner blocks of the - // marked block in the block state so that they can be reattached to the - // marked block when we re-insert everything a few lines below. - - - let stateAfterBlocksRemoval = state; - - if (state.order[action.rootClientId]) { - stateAfterBlocksRemoval = reducer(stateAfterBlocksRemoval, { - type: 'REMOVE_BLOCKS', - keepControlledInnerBlocks: nestedControllers, - clientIds: state.order[action.rootClientId] - }); - } - - let stateAfterInsert = stateAfterBlocksRemoval; - - if (action.blocks.length) { - stateAfterInsert = reducer(stateAfterInsert, { ...action, - type: 'INSERT_BLOCKS', - index: 0 - }); // We need to re-attach the block order of the controlled inner blocks. - // Otherwise, an inner block controller's blocks will be deleted entirely - // from its entity.. - - stateAfterInsert.order = { ...stateAfterInsert.order, - ...Object(external_lodash_["reduce"])(nestedControllers, (result, value, key) => { - if (state.order[key]) { - result[key] = state.order[key]; - } - - return result; - }, {}) - }; - } - - return stateAfterInsert; -}; -/** - * Higher-order reducer which targets the combined blocks reducer and handles - * the `SAVE_REUSABLE_BLOCK_SUCCESS` action. This action can't be handled by - * regular reducers and needs a higher-order reducer since it needs access to - * both `byClientId` and `attributes` simultaneously. - * - * @param {Function} reducer Original reducer function. - * - * @return {Function} Enhanced reducer function. - */ - - -const withSaveReusableBlock = reducer => (state, action) => { - if (state && action.type === 'SAVE_REUSABLE_BLOCK_SUCCESS') { - const { - id, - updatedId - } = action; // If a temporary reusable block is saved, we swap the temporary id with the final one - - if (id === updatedId) { - return state; - } - - state = { ...state - }; - state.attributes = Object(external_lodash_["mapValues"])(state.attributes, (attributes, clientId) => { - const { - name - } = state.byClientId[clientId]; - - if (name === 'core/block' && attributes.ref === id) { - return { ...attributes, - ref: updatedId - }; - } - - return attributes; - }); - } - - return reducer(state, action); -}; -/** - * Reducer returning the blocks state. - * - * @param {Object} state Current state. - * @param {Object} action Dispatched action. - * - * @return {Object} Updated state. - */ - - -const reducer_blocks = Object(external_lodash_["flow"])(external_wp_data_["combineReducers"], withSaveReusableBlock, // needs to be before withBlockCache -withBlockCache, // needs to be before withInnerBlocksRemoveCascade -withInnerBlocksRemoveCascade, withReplaceInnerBlocks, // needs to be after withInnerBlocksRemoveCascade -withBlockReset, withPersistentBlockChange, withIgnoredBlockChange)({ - byClientId(state = {}, action) { - switch (action.type) { - case 'RESET_BLOCKS': - return getFlattenedBlocksWithoutAttributes(action.blocks); - - case 'RECEIVE_BLOCKS': - case 'INSERT_BLOCKS': - return { ...state, - ...getFlattenedBlocksWithoutAttributes(action.blocks) - }; - - case 'UPDATE_BLOCK': - // Ignore updates if block isn't known - if (!state[action.clientId]) { - return state; - } // Do nothing if only attributes change. - - - const changes = Object(external_lodash_["omit"])(action.updates, 'attributes'); - - if (Object(external_lodash_["isEmpty"])(changes)) { - return state; - } - - return { ...state, - [action.clientId]: { ...state[action.clientId], - ...changes - } - }; - - case 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN': - if (!action.blocks) { - return state; - } - - return { ...Object(external_lodash_["omit"])(state, action.replacedClientIds), - ...getFlattenedBlocksWithoutAttributes(action.blocks) - }; - - case 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN': - return Object(external_lodash_["omit"])(state, action.removedClientIds); - } - - return state; - }, - - attributes(state = {}, action) { - switch (action.type) { - case 'RESET_BLOCKS': - return getFlattenedBlockAttributes(action.blocks); - - case 'RECEIVE_BLOCKS': - case 'INSERT_BLOCKS': - return { ...state, - ...getFlattenedBlockAttributes(action.blocks) - }; - - case 'UPDATE_BLOCK': - // Ignore updates if block isn't known or there are no attribute changes. - if (!state[action.clientId] || !action.updates.attributes) { - return state; - } - - return { ...state, - [action.clientId]: { ...state[action.clientId], - ...action.updates.attributes - } - }; - - case 'UPDATE_BLOCK_ATTRIBUTES': - { - // Avoid a state change if none of the block IDs are known. - if (action.clientIds.every(id => !state[id])) { - return state; - } - - const next = action.clientIds.reduce((accumulator, id) => ({ ...accumulator, - [id]: Object(external_lodash_["reduce"])(action.uniqueByBlock ? action.attributes[id] : action.attributes, (result, value, key) => { - // Consider as updates only changed values. - if (value !== result[key]) { - result = getMutateSafeObject(state[id], result); - result[key] = value; - } - - return result; - }, state[id]) - }), {}); - - if (action.clientIds.every(id => next[id] === state[id])) { - return state; - } - - return { ...state, - ...next - }; - } - - case 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN': - if (!action.blocks) { - return state; - } - - return { ...Object(external_lodash_["omit"])(state, action.replacedClientIds), - ...getFlattenedBlockAttributes(action.blocks) - }; - - case 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN': - return Object(external_lodash_["omit"])(state, action.removedClientIds); - } - - return state; - }, - - order(state = {}, action) { - switch (action.type) { - case 'RESET_BLOCKS': - return mapBlockOrder(action.blocks); - - case 'RECEIVE_BLOCKS': - return { ...state, - ...Object(external_lodash_["omit"])(mapBlockOrder(action.blocks), '') - }; - - case 'INSERT_BLOCKS': - { - const { - rootClientId = '' - } = action; - const subState = state[rootClientId] || []; - const mappedBlocks = mapBlockOrder(action.blocks, rootClientId); - const { - index = subState.length - } = action; - return { ...state, - ...mappedBlocks, - [rootClientId]: insertAt(subState, mappedBlocks[rootClientId], index) - }; - } - - case 'MOVE_BLOCKS_TO_POSITION': - { - const { - fromRootClientId = '', - toRootClientId = '', - clientIds - } = action; - const { - index = state[toRootClientId].length - } = action; // Moving inside the same parent block - - if (fromRootClientId === toRootClientId) { - const subState = state[toRootClientId]; - const fromIndex = subState.indexOf(clientIds[0]); - return { ...state, - [toRootClientId]: moveTo(state[toRootClientId], fromIndex, index, clientIds.length) - }; - } // Moving from a parent block to another - - - return { ...state, - [fromRootClientId]: Object(external_lodash_["without"])(state[fromRootClientId], ...clientIds), - [toRootClientId]: insertAt(state[toRootClientId], clientIds, index) - }; - } - - case 'MOVE_BLOCKS_UP': - { - const { - clientIds, - rootClientId = '' - } = action; - const firstClientId = Object(external_lodash_["first"])(clientIds); - const subState = state[rootClientId]; - - if (!subState.length || firstClientId === Object(external_lodash_["first"])(subState)) { - return state; - } - - const firstIndex = subState.indexOf(firstClientId); - return { ...state, - [rootClientId]: moveTo(subState, firstIndex, firstIndex - 1, clientIds.length) - }; - } - - case 'MOVE_BLOCKS_DOWN': - { - const { - clientIds, - rootClientId = '' - } = action; - const firstClientId = Object(external_lodash_["first"])(clientIds); - const lastClientId = Object(external_lodash_["last"])(clientIds); - const subState = state[rootClientId]; - - if (!subState.length || lastClientId === Object(external_lodash_["last"])(subState)) { - return state; - } - - const firstIndex = subState.indexOf(firstClientId); - return { ...state, - [rootClientId]: moveTo(subState, firstIndex, firstIndex + 1, clientIds.length) - }; - } - - case 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN': - { - const { - clientIds - } = action; - - if (!action.blocks) { - return state; - } - - const mappedBlocks = mapBlockOrder(action.blocks); - return Object(external_lodash_["flow"])([nextState => Object(external_lodash_["omit"])(nextState, action.replacedClientIds), nextState => ({ ...nextState, - ...Object(external_lodash_["omit"])(mappedBlocks, '') - }), nextState => Object(external_lodash_["mapValues"])(nextState, subState => Object(external_lodash_["reduce"])(subState, (result, clientId) => { - if (clientId === clientIds[0]) { - return [...result, ...mappedBlocks['']]; - } - - if (clientIds.indexOf(clientId) === -1) { - result.push(clientId); - } - - return result; - }, []))])(state); - } - - case 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN': - return Object(external_lodash_["flow"])([// Remove inner block ordering for removed blocks - nextState => Object(external_lodash_["omit"])(nextState, action.removedClientIds), // Remove deleted blocks from other blocks' orderings - nextState => Object(external_lodash_["mapValues"])(nextState, subState => Object(external_lodash_["without"])(subState, ...action.removedClientIds))])(state); - } - - return state; - }, - - // While technically redundant data as the inverse of `order`, it serves as - // an optimization for the selectors which derive the ancestry of a block. - parents(state = {}, action) { - switch (action.type) { - case 'RESET_BLOCKS': - return mapBlockParents(action.blocks); - - case 'RECEIVE_BLOCKS': - return { ...state, - ...mapBlockParents(action.blocks) - }; - - case 'INSERT_BLOCKS': - return { ...state, - ...mapBlockParents(action.blocks, action.rootClientId || '') - }; - - case 'MOVE_BLOCKS_TO_POSITION': - { - return { ...state, - ...action.clientIds.reduce((accumulator, id) => { - accumulator[id] = action.toRootClientId || ''; - return accumulator; - }, {}) - }; - } - - case 'REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN': - return { ...Object(external_lodash_["omit"])(state, action.replacedClientIds), - ...mapBlockParents(action.blocks, state[action.clientIds[0]]) - }; - - case 'REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN': - return Object(external_lodash_["omit"])(state, action.removedClientIds); - } - - return state; - }, - - controlledInnerBlocks(state = {}, { - type, - clientId, - hasControlledInnerBlocks - }) { - if (type === 'SET_HAS_CONTROLLED_INNER_BLOCKS') { - return { ...state, - [clientId]: hasControlledInnerBlocks - }; - } - - return state; - } - -}); -/** - * Reducer returning typing state. - * - * @param {boolean} state Current state. - * @param {Object} action Dispatched action. - * - * @return {boolean} Updated state. - */ - -function reducer_isTyping(state = false, action) { - switch (action.type) { - case 'START_TYPING': - return true; - - case 'STOP_TYPING': - return false; - } - - return state; -} -/** - * Reducer returning dragged block client id. - * - * @param {string[]} state Current state. - * @param {Object} action Dispatched action. - * - * @return {string[]} Updated state. - */ - -function draggedBlocks(state = [], action) { - switch (action.type) { - case 'START_DRAGGING_BLOCKS': - return action.clientIds; - - case 'STOP_DRAGGING_BLOCKS': - return []; - } - - return state; -} -/** - * Reducer returning whether the caret is within formatted text. - * - * @param {boolean} state Current state. - * @param {Object} action Dispatched action. - * - * @return {boolean} Updated state. - */ - -function reducer_isCaretWithinFormattedText(state = false, action) { - switch (action.type) { - case 'ENTER_FORMATTED_TEXT': - return true; - - case 'EXIT_FORMATTED_TEXT': - return false; - } - - return state; -} -/** - * Internal helper reducer for selectionStart and selectionEnd. Can hold a block - * selection, represented by an object with property clientId. - * - * @param {Object} state Current state. - * @param {Object} action Dispatched action. - * - * @return {Object} Updated state. - */ - -function selectionHelper(state = {}, action) { - switch (action.type) { - case 'CLEAR_SELECTED_BLOCK': - { - if (state.clientId) { - return {}; - } - - return state; - } - - case 'SELECT_BLOCK': - if (action.clientId === state.clientId) { - return state; - } - - return { - clientId: action.clientId - }; - - case 'REPLACE_INNER_BLOCKS': - case 'INSERT_BLOCKS': - { - if (!action.updateSelection || !action.blocks.length) { - return state; - } - - return { - clientId: action.blocks[0].clientId - }; - } - - case 'REMOVE_BLOCKS': - if (!action.clientIds || !action.clientIds.length || action.clientIds.indexOf(state.clientId) === -1) { - return state; - } - - return {}; - - case 'REPLACE_BLOCKS': - { - if (action.clientIds.indexOf(state.clientId) === -1) { - return state; - } - - const indexToSelect = action.indexToSelect || action.blocks.length - 1; - const blockToSelect = action.blocks[indexToSelect]; - - if (!blockToSelect) { - return {}; - } - - if (blockToSelect.clientId === state.clientId) { - return state; - } - - return { - clientId: blockToSelect.clientId - }; - } - } - - return state; -} -/** - * Reducer returning the selection state. - * - * @param {boolean} state Current state. - * @param {Object} action Dispatched action. - * - * @return {boolean} Updated state. - */ - - -function reducer_selection(state = {}, action) { - var _state$selectionStart, _state$selectionEnd; - - switch (action.type) { - case 'SELECTION_CHANGE': - return { - selectionStart: { - clientId: action.clientId, - attributeKey: action.attributeKey, - offset: action.startOffset - }, - selectionEnd: { - clientId: action.clientId, - attributeKey: action.attributeKey, - offset: action.endOffset - } - }; - - case 'RESET_SELECTION': - const { - selectionStart, - selectionEnd - } = action; - return { - selectionStart, - selectionEnd - }; - - case 'MULTI_SELECT': - const { - start, - end - } = action; - return { - selectionStart: { - clientId: start - }, - selectionEnd: { - clientId: end - } - }; - - case 'RESET_BLOCKS': - const startClientId = state === null || state === void 0 ? void 0 : (_state$selectionStart = state.selectionStart) === null || _state$selectionStart === void 0 ? void 0 : _state$selectionStart.clientId; - const endClientId = state === null || state === void 0 ? void 0 : (_state$selectionEnd = state.selectionEnd) === null || _state$selectionEnd === void 0 ? void 0 : _state$selectionEnd.clientId; // Do nothing if there's no selected block. - - if (!startClientId && !endClientId) { - return state; - } // If the start of the selection won't exist after reset, remove selection. - - - if (!action.blocks.some(block => block.clientId === startClientId)) { - return { - selectionStart: {}, - selectionEnd: {} - }; - } // If the end of the selection won't exist after reset, collapse selection. - - - if (!action.blocks.some(block => block.clientId === endClientId)) { - return { ...state, - selectionEnd: state.selectionStart - }; - } - - } - - return { - selectionStart: selectionHelper(state.selectionStart, action), - selectionEnd: selectionHelper(state.selectionEnd, action) - }; -} -/** - * Reducer returning whether the user is multi-selecting. - * - * @param {boolean} state Current state. - * @param {Object} action Dispatched action. - * - * @return {boolean} Updated state. - */ - -function reducer_isMultiSelecting(state = false, action) { - switch (action.type) { - case 'START_MULTI_SELECT': - return true; - - case 'STOP_MULTI_SELECT': - return false; - } - - return state; -} -/** - * Reducer returning whether selection is enabled. - * - * @param {boolean} state Current state. - * @param {Object} action Dispatched action. - * - * @return {boolean} Updated state. - */ - -function reducer_isSelectionEnabled(state = true, action) { - switch (action.type) { - case 'TOGGLE_SELECTION': - return action.isSelectionEnabled; - } - - return state; -} -/** - * Reducer returning the intial block selection. - * - * Currently this in only used to restore the selection after block deletion and - * pasting new content.This reducer should eventually be removed in favour of setting - * selection directly. - * - * @param {boolean} state Current state. - * @param {Object} action Dispatched action. - * - * @return {number|null} Initial position: 0, -1 or null. - */ - -function reducer_initialPosition(state = null, action) { - if (action.type === 'REPLACE_BLOCKS' && action.initialPosition !== undefined) { - return action.initialPosition; - } else if (['SELECT_BLOCK', 'RESET_SELECTION', 'INSERT_BLOCKS', 'REPLACE_INNER_BLOCKS'].includes(action.type)) { - return action.initialPosition; - } - - return state; -} -function blocksMode(state = {}, action) { - if (action.type === 'TOGGLE_BLOCK_MODE') { - const { - clientId - } = action; - return { ...state, - [clientId]: state[clientId] && state[clientId] === 'html' ? 'visual' : 'html' - }; - } - - return state; -} -/** - * Reducer returning the block insertion point visibility, either null if there - * is not an explicit insertion point assigned, or an object of its `index` and - * `rootClientId`. - * - * @param {Object} state Current state. - * @param {Object} action Dispatched action. - * - * @return {Object} Updated state. - */ - -function reducer_insertionPoint(state = null, action) { - switch (action.type) { - case 'SHOW_INSERTION_POINT': - const { - rootClientId, - index, - __unstableWithInserter - } = action; - return { - rootClientId, - index, - __unstableWithInserter - }; - - case 'HIDE_INSERTION_POINT': - return null; - } - - return state; -} -/** - * Reducer returning whether the post blocks match the defined template or not. - * - * @param {Object} state Current state. - * @param {Object} action Dispatched action. - * - * @return {boolean} Updated state. - */ - -function reducer_template(state = { - isValid: true -}, action) { - switch (action.type) { - case 'SET_TEMPLATE_VALIDITY': - return { ...state, - isValid: action.isValid - }; - } - - return state; -} -/** - * Reducer returning the editor setting. - * - * @param {Object} state Current state. - * @param {Object} action Dispatched action. - * - * @return {Object} Updated state. - */ - -function reducer_settings(state = SETTINGS_DEFAULTS, action) { - switch (action.type) { - case 'UPDATE_SETTINGS': - return { ...state, - ...action.settings - }; - } - - return state; -} -/** - * Reducer returning the user preferences. - * - * @param {Object} state Current state. - * @param {Object} action Dispatched action. - * - * @return {string} Updated state. - */ - -function preferences(state = PREFERENCES_DEFAULTS, action) { - switch (action.type) { - case 'INSERT_BLOCKS': - case 'REPLACE_BLOCKS': - return action.blocks.reduce((prevState, block) => { - const { - attributes, - name: blockName - } = block; - const match = Object(external_wp_data_["select"])(external_wp_blocks_["store"]).getActiveBlockVariation(blockName, attributes); // If a block variation match is found change the name to be the same with the - // one that is used for block variations in the Inserter (`getItemFromVariation`). - - let id = match !== null && match !== void 0 && match.name ? `${blockName}/${match.name}` : blockName; - const insert = { - name: id - }; - - if (blockName === 'core/block') { - insert.ref = attributes.ref; - id += '/' + attributes.ref; - } - - return { ...prevState, - insertUsage: { ...prevState.insertUsage, - [id]: { - time: action.time, - count: prevState.insertUsage[id] ? prevState.insertUsage[id].count + 1 : 1, - insert - } - } - }; - }, state); - } - - return state; -} -/** - * Reducer returning an object where each key is a block client ID, its value - * representing the settings for its nested blocks. - * - * @param {Object} state Current state. - * @param {Object} action Dispatched action. - * - * @return {Object} Updated state. - */ - -const reducer_blockListSettings = (state = {}, action) => { - switch (action.type) { - // Even if the replaced blocks have the same client ID, our logic - // should correct the state. - case 'REPLACE_BLOCKS': - case 'REMOVE_BLOCKS': - { - return Object(external_lodash_["omit"])(state, action.clientIds); - } - - case 'UPDATE_BLOCK_LIST_SETTINGS': - { - const { - clientId - } = action; - - if (!action.settings) { - if (state.hasOwnProperty(clientId)) { - return Object(external_lodash_["omit"])(state, clientId); - } - - return state; - } - - if (Object(external_lodash_["isEqual"])(state[clientId], action.settings)) { - return state; - } - - return { ...state, - [clientId]: action.settings - }; - } - } - - return state; -}; -/** - * Reducer returning whether the navigation mode is enabled or not. - * - * @param {string} state Current state. - * @param {Object} action Dispatched action. - * - * @return {string} Updated state. - */ - -function reducer_isNavigationMode(state = false, action) { - // Let inserting block always trigger Edit mode. - if (action.type === 'INSERT_BLOCKS') { - return false; - } - - if (action.type === 'SET_NAVIGATION_MODE') { - return action.isNavigationMode; - } - - return state; -} -/** - * Reducer returning whether the block moving mode is enabled or not. - * - * @param {string|null} state Current state. - * @param {Object} action Dispatched action. - * - * @return {string|null} Updated state. - */ - -function reducer_hasBlockMovingClientId(state = null, action) { - // Let inserting block always trigger Edit mode. - if (action.type === 'SET_BLOCK_MOVING_MODE') { - return action.hasBlockMovingClientId; - } - - if (action.type === 'SET_NAVIGATION_MODE') { - return null; - } - - return state; -} -/** - * Reducer return an updated state representing the most recent block attribute - * update. The state is structured as an object where the keys represent the - * client IDs of blocks, the values a subset of attributes from the most recent - * block update. The state is always reset to null if the last action is - * anything other than an attributes update. - * - * @param {Object} state Current state. - * @param {Object} action Action object. - * - * @return {[string,Object]} Updated state. - */ - -function lastBlockAttributesChange(state, action) { - switch (action.type) { - case 'UPDATE_BLOCK': - if (!action.updates.attributes) { - break; - } - - return { - [action.clientId]: action.updates.attributes - }; - - case 'UPDATE_BLOCK_ATTRIBUTES': - return action.clientIds.reduce((accumulator, id) => ({ ...accumulator, - [id]: action.uniqueByBlock ? action.attributes[id] : action.attributes - }), {}); - } - - return null; -} -/** - * Reducer returning automatic change state. - * - * @param {boolean} state Current state. - * @param {Object} action Dispatched action. - * - * @return {string} Updated state. - */ - -function automaticChangeStatus(state, action) { - switch (action.type) { - case 'MARK_AUTOMATIC_CHANGE': - return 'pending'; - - case 'MARK_AUTOMATIC_CHANGE_FINAL': - if (state === 'pending') { - return 'final'; - } - - return; - - case 'SELECTION_CHANGE': - // As long as the state is not final, ignore any selection changes. - if (state !== 'final') { - return state; - } - - return; - // Undoing an automatic change should still be possible after mouse - // move. - - case 'START_TYPING': - case 'STOP_TYPING': - return state; - } // Reset the state by default (for any action not handled). - -} -/** - * Reducer returning current highlighted block. - * - * @param {boolean} state Current highlighted block. - * @param {Object} action Dispatched action. - * - * @return {string} Updated state. - */ - -function highlightedBlock(state, action) { - switch (action.type) { - case 'TOGGLE_BLOCK_HIGHLIGHT': - const { - clientId, - isHighlighted - } = action; - - if (isHighlighted) { - return clientId; - } else if (state === clientId) { - return null; - } - - return state; - - case 'SELECT_BLOCK': - if (action.clientId !== state) { - return null; - } - - } - - return state; -} -/** - * Reducer returning the block insertion event list state. - * - * @param {Object} state Current state. - * @param {Object} action Dispatched action. - * - * @return {Object} Updated state. - */ - -function lastBlockInserted(state = {}, action) { - var _action$meta; - - switch (action.type) { - case 'INSERT_BLOCKS': - if (!action.blocks.length) { - return state; - } - - const clientId = action.blocks[0].clientId; - const source = (_action$meta = action.meta) === null || _action$meta === void 0 ? void 0 : _action$meta.source; - return { - clientId, - source - }; - - case 'RESET_BLOCKS': - return {}; - } - - return state; -} -/* harmony default export */ var store_reducer = (Object(external_wp_data_["combineReducers"])({ - blocks: reducer_blocks, - isTyping: reducer_isTyping, - draggedBlocks, - isCaretWithinFormattedText: reducer_isCaretWithinFormattedText, - selection: reducer_selection, - isMultiSelecting: reducer_isMultiSelecting, - isSelectionEnabled: reducer_isSelectionEnabled, - initialPosition: reducer_initialPosition, - blocksMode, - blockListSettings: reducer_blockListSettings, - insertionPoint: reducer_insertionPoint, - template: reducer_template, - settings: reducer_settings, - preferences, - lastBlockAttributesChange, - isNavigationMode: reducer_isNavigationMode, - hasBlockMovingClientId: reducer_hasBlockMovingClientId, - automaticChangeStatus, - highlightedBlock, - lastBlockInserted -})); - -// EXTERNAL MODULE: ./node_modules/rememo/es/rememo.js -var rememo = __webpack_require__("pPDe"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/selectors.js - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - -/** - * A block selection object. - * - * @typedef {Object} WPBlockSelection - * - * @property {string} clientId A block client ID. - * @property {string} attributeKey A block attribute key. - * @property {number} offset An attribute value offset, based on the rich - * text value. See `wp.richText.create`. - */ -// Module constants - -const MILLISECONDS_PER_HOUR = 3600 * 1000; -const MILLISECONDS_PER_DAY = 24 * 3600 * 1000; -const MILLISECONDS_PER_WEEK = 7 * 24 * 3600 * 1000; -const templateIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { - x: "0", - fill: "none", - width: "24", - height: "24" -}), Object(external_wp_element_["createElement"])(external_wp_components_["G"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { - d: "M19 3H5c-1.105 0-2 .895-2 2v14c0 1.105.895 2 2 2h14c1.105 0 2-.895 2-2V5c0-1.105-.895-2-2-2zM6 6h5v5H6V6zm4.5 13C9.12 19 8 17.88 8 16.5S9.12 14 10.5 14s2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5zm3-6l3-5 3 5h-6z" -}))); -/** - * Shared reference to an empty array for cases where it is important to avoid - * returning a new array reference on every invocation, as in a connected or - * other pure component which performs `shouldComponentUpdate` check on props. - * This should be used as a last resort, since the normalized data should be - * maintained by the reducer result in state. - * - * @type {Array} - */ - -const EMPTY_ARRAY = []; -/** - * Returns a block's name given its client ID, or null if no block exists with - * the client ID. - * - * @param {Object} state Editor state. - * @param {string} clientId Block client ID. - * - * @return {string} Block name. - */ - -function selectors_getBlockName(state, clientId) { - const block = state.blocks.byClientId[clientId]; - const socialLinkName = 'core/social-link'; - - if (external_wp_element_["Platform"].OS !== 'web' && (block === null || block === void 0 ? void 0 : block.name) === socialLinkName) { - const attributes = state.blocks.attributes[clientId]; - const { - service - } = attributes; - return service ? `${socialLinkName}-${service}` : socialLinkName; - } - - return block ? block.name : null; -} -/** - * Returns whether a block is valid or not. - * - * @param {Object} state Editor state. - * @param {string} clientId Block client ID. - * - * @return {boolean} Is Valid. - */ - -function selectors_isBlockValid(state, clientId) { - const block = state.blocks.byClientId[clientId]; - return !!block && block.isValid; -} -/** - * Returns a block's attributes given its client ID, or null if no block exists with - * the client ID. - * - * @param {Object} state Editor state. - * @param {string} clientId Block client ID. - * - * @return {Object?} Block attributes. - */ - -function selectors_getBlockAttributes(state, clientId) { - const block = state.blocks.byClientId[clientId]; - - if (!block) { - return null; - } - - return state.blocks.attributes[clientId]; -} -/** - * Returns a block given its client ID. This is a parsed copy of the block, - * containing its `blockName`, `clientId`, and current `attributes` state. This - * is not the block's registration settings, which must be retrieved from the - * blocks module registration store. - * - * getBlock recurses through its inner blocks until all its children blocks have - * been retrieved. Note that getBlock will not return the child inner blocks of - * an inner block controller. This is because an inner block controller syncs - * itself with its own entity, and should therefore not be included with the - * blocks of a different entity. For example, say you call `getBlocks( TP )` to - * get the blocks of a template part. If another template part is a child of TP, - * then the nested template part's child blocks will not be returned. This way, - * the template block itself is considered part of the parent, but the children - * are not. - * - * @param {Object} state Editor state. - * @param {string} clientId Block client ID. - * - * @return {Object} Parsed block object. - */ - -const selectors_getBlock = Object(rememo["a" /* default */])((state, clientId) => { - const block = state.blocks.byClientId[clientId]; - - if (!block) { - return null; - } - - return { ...block, - attributes: selectors_getBlockAttributes(state, clientId), - innerBlocks: areInnerBlocksControlled(state, clientId) ? EMPTY_ARRAY : selectors_getBlocks(state, clientId) - }; -}, (state, clientId) => [// Normally, we'd have both `getBlockAttributes` dependencies and -// `getBlocks` (children) dependencies here but for performance reasons -// we use a denormalized cache key computed in the reducer that takes both -// the attributes and inner blocks into account. The value of the cache key -// is being changed whenever one of these dependencies is out of date. -state.blocks.cache[clientId]]); -const selectors_unstableGetBlockWithoutInnerBlocks = Object(rememo["a" /* default */])((state, clientId) => { - const block = state.blocks.byClientId[clientId]; - - if (!block) { - return null; - } - - return { ...block, - attributes: selectors_getBlockAttributes(state, clientId) - }; -}, (state, clientId) => [state.blocks.byClientId[clientId], state.blocks.attributes[clientId]]); -/** - * Returns all block objects for the current post being edited as an array in - * the order they appear in the post. Note that this will exclude child blocks - * of nested inner block controllers. - * - * Note: It's important to memoize this selector to avoid return a new instance - * on each call. We use the block cache state for each top-level block of the - * given clientID. This way, the selector only refreshes on changes to blocks - * associated with the given entity, and does not refresh when changes are made - * to blocks which are part of different inner block controllers. - * - * @param {Object} state Editor state. - * @param {?string} rootClientId Optional root client ID of block list. - * - * @return {Object[]} Post blocks. - */ - -const selectors_getBlocks = Object(rememo["a" /* default */])((state, rootClientId) => { - return Object(external_lodash_["map"])(selectors_getBlockOrder(state, rootClientId), clientId => selectors_getBlock(state, clientId)); -}, (state, rootClientId) => Object(external_lodash_["map"])(state.blocks.order[rootClientId || ''], id => state.blocks.cache[id])); -/** - * Similar to getBlock, except it will include the entire nested block tree as - * inner blocks. The normal getBlock selector will exclude sections of the block - * tree which belong to different entities. - * - * @param {Object} state Editor state. - * @param {string} clientId Client ID of the block to get. - * - * @return {Object} The block with all - */ - -const __unstableGetBlockWithBlockTree = Object(rememo["a" /* default */])((state, clientId) => { - const block = state.blocks.byClientId[clientId]; - - if (!block) { - return null; - } - - return { ...block, - attributes: selectors_getBlockAttributes(state, clientId), - innerBlocks: __unstableGetBlockTree(state, clientId) - }; -}, state => [state.blocks.byClientId, state.blocks.order, state.blocks.attributes]); -/** - * Similar to getBlocks, except this selector returns the entire block tree - * represented in the block-editor store from the given root regardless of any - * inner block controllers. - * - * @param {Object} state Editor state. - * @param {?string} rootClientId Optional root client ID of block list. - * - * @return {Object[]} Post blocks. - */ - -const __unstableGetBlockTree = Object(rememo["a" /* default */])((state, rootClientId = '') => Object(external_lodash_["map"])(selectors_getBlockOrder(state, rootClientId), clientId => __unstableGetBlockWithBlockTree(state, clientId)), state => [state.blocks.byClientId, state.blocks.order, state.blocks.attributes]); -/** - * Returns a stripped down block object containing only its client ID, - * and its inner blocks' client IDs. - * - * @param {Object} state Editor state. - * @param {string} clientId Client ID of the block to get. - * - * @return {Object} Client IDs of the post blocks. - */ - -const selectors_unstableGetClientIdWithClientIdsTree = Object(rememo["a" /* default */])((state, clientId) => ({ - clientId, - innerBlocks: selectors_unstableGetClientIdsTree(state, clientId) -}), state => [state.blocks.order]); -/** - * Returns the block tree represented in the block-editor store from the - * given root, consisting of stripped down block objects containing only - * their client IDs, and their inner blocks' client IDs. - * - * @param {Object} state Editor state. - * @param {?string} rootClientId Optional root client ID of block list. - * - * @return {Object[]} Client IDs of the post blocks. - */ - -const selectors_unstableGetClientIdsTree = Object(rememo["a" /* default */])((state, rootClientId = '') => Object(external_lodash_["map"])(selectors_getBlockOrder(state, rootClientId), clientId => selectors_unstableGetClientIdWithClientIdsTree(state, clientId)), state => [state.blocks.order]); -/** - * Returns an array containing the clientIds of all descendants - * of the blocks given. - * - * @param {Object} state Global application state. - * @param {Array} clientIds Array of blocks to inspect. - * - * @return {Array} ids of descendants. - */ - -const selectors_getClientIdsOfDescendants = (state, clientIds) => Object(external_lodash_["flatMap"])(clientIds, clientId => { - const descendants = selectors_getBlockOrder(state, clientId); - return [...descendants, ...selectors_getClientIdsOfDescendants(state, descendants)]; -}); -/** - * Returns an array containing the clientIds of the top-level blocks - * and their descendants of any depth (for nested blocks). - * - * @param {Object} state Global application state. - * - * @return {Array} ids of top-level and descendant blocks. - */ - -const getClientIdsWithDescendants = Object(rememo["a" /* default */])(state => { - const topLevelIds = selectors_getBlockOrder(state); - return [...topLevelIds, ...selectors_getClientIdsOfDescendants(state, topLevelIds)]; -}, state => [state.blocks.order]); -/** - * Returns the total number of blocks, or the total number of blocks with a specific name in a post. - * The number returned includes nested blocks. - * - * @param {Object} state Global application state. - * @param {?string} blockName Optional block name, if specified only blocks of that type will be counted. - * - * @return {number} Number of blocks in the post, or number of blocks with name equal to blockName. - */ - -const selectors_getGlobalBlockCount = Object(rememo["a" /* default */])((state, blockName) => { - const clientIds = getClientIdsWithDescendants(state); - - if (!blockName) { - return clientIds.length; - } - - return Object(external_lodash_["reduce"])(clientIds, (accumulator, clientId) => { - const block = state.blocks.byClientId[clientId]; - return block.name === blockName ? accumulator + 1 : accumulator; - }, 0); -}, state => [state.blocks.order, state.blocks.byClientId]); -/** - * Given an array of block client IDs, returns the corresponding array of block - * objects. - * - * @param {Object} state Editor state. - * @param {string[]} clientIds Client IDs for which blocks are to be returned. - * - * @return {WPBlock[]} Block objects. - */ - -const selectors_getBlocksByClientId = Object(rememo["a" /* default */])((state, clientIds) => Object(external_lodash_["map"])(Object(external_lodash_["castArray"])(clientIds), clientId => selectors_getBlock(state, clientId)), state => [state.blocks.byClientId, state.blocks.order, state.blocks.attributes]); -/** - * Returns the number of blocks currently present in the post. - * - * @param {Object} state Editor state. - * @param {?string} rootClientId Optional root client ID of block list. - * - * @return {number} Number of blocks in the post. - */ - -function selectors_getBlockCount(state, rootClientId) { - return selectors_getBlockOrder(state, rootClientId).length; -} -/** - * Returns the current selection start block client ID, attribute key and text - * offset. - * - * @param {Object} state Block editor state. - * - * @return {WPBlockSelection} Selection start information. - */ - -function selectors_getSelectionStart(state) { - return state.selection.selectionStart; -} -/** - * Returns the current selection end block client ID, attribute key and text - * offset. - * - * @param {Object} state Block editor state. - * - * @return {WPBlockSelection} Selection end information. - */ - -function selectors_getSelectionEnd(state) { - return state.selection.selectionEnd; -} -/** - * Returns the current block selection start. This value may be null, and it - * may represent either a singular block selection or multi-selection start. - * A selection is singular if its start and end match. - * - * @param {Object} state Global application state. - * - * @return {?string} Client ID of block selection start. - */ - -function selectors_getBlockSelectionStart(state) { - return state.selection.selectionStart.clientId; -} -/** - * Returns the current block selection end. This value may be null, and it - * may represent either a singular block selection or multi-selection end. - * A selection is singular if its start and end match. - * - * @param {Object} state Global application state. - * - * @return {?string} Client ID of block selection end. - */ - -function selectors_getBlockSelectionEnd(state) { - return state.selection.selectionEnd.clientId; -} -/** - * Returns the number of blocks currently selected in the post. - * - * @param {Object} state Global application state. - * - * @return {number} Number of blocks selected in the post. - */ - -function selectors_getSelectedBlockCount(state) { - const multiSelectedBlockCount = selectors_getMultiSelectedBlockClientIds(state).length; - - if (multiSelectedBlockCount) { - return multiSelectedBlockCount; - } - - return state.selection.selectionStart.clientId ? 1 : 0; -} -/** - * Returns true if there is a single selected block, or false otherwise. - * - * @param {Object} state Editor state. - * - * @return {boolean} Whether a single block is selected. - */ - -function selectors_hasSelectedBlock(state) { - const { - selectionStart, - selectionEnd - } = state.selection; - return !!selectionStart.clientId && selectionStart.clientId === selectionEnd.clientId; -} -/** - * Returns the currently selected block client ID, or null if there is no - * selected block. - * - * @param {Object} state Editor state. - * - * @return {?string} Selected block client ID. - */ - -function selectors_getSelectedBlockClientId(state) { - const { - selectionStart, - selectionEnd - } = state.selection; - const { - clientId - } = selectionStart; - - if (!clientId || clientId !== selectionEnd.clientId) { - return null; - } - - return clientId; -} -/** - * Returns the currently selected block, or null if there is no selected block. - * - * @param {Object} state Global application state. - * - * @return {?Object} Selected block. - */ - -function selectors_getSelectedBlock(state) { - const clientId = selectors_getSelectedBlockClientId(state); - return clientId ? selectors_getBlock(state, clientId) : null; -} -/** - * Given a block client ID, returns the root block from which the block is - * nested, an empty string for top-level blocks, or null if the block does not - * exist. - * - * @param {Object} state Editor state. - * @param {string} clientId Block from which to find root client ID. - * - * @return {?string} Root client ID, if exists - */ - -function selectors_getBlockRootClientId(state, clientId) { - return state.blocks.parents[clientId] !== undefined ? state.blocks.parents[clientId] : null; -} -/** - * Given a block client ID, returns the list of all its parents from top to bottom. - * - * @param {Object} state Editor state. - * @param {string} clientId Block from which to find root client ID. - * @param {boolean} ascending Order results from bottom to top (true) or top to bottom (false). - * - * @return {Array} ClientIDs of the parent blocks. - */ - -const selectors_getBlockParents = Object(rememo["a" /* default */])((state, clientId, ascending = false) => { - const parents = []; - let current = clientId; - - while (!!state.blocks.parents[current]) { - current = state.blocks.parents[current]; - parents.push(current); - } - - return ascending ? parents : parents.reverse(); -}, state => [state.blocks.parents]); -/** - * Given a block client ID and a block name, returns the list of all its parents - * from top to bottom, filtered by the given name(s). For example, if passed - * 'core/group' as the blockName, it will only return parents which are group - * blocks. If passed `[ 'core/group', 'core/cover']`, as the blockName, it will - * return parents which are group blocks and parents which are cover blocks. - * - * @param {Object} state Editor state. - * @param {string} clientId Block from which to find root client ID. - * @param {string|string[]} blockName Block name(s) to filter. - * @param {boolean} ascending Order results from bottom to top (true) or top to bottom (false). - * - * @return {Array} ClientIDs of the parent blocks. - */ - -const getBlockParentsByBlockName = Object(rememo["a" /* default */])((state, clientId, blockName, ascending = false) => { - const parents = selectors_getBlockParents(state, clientId, ascending); - return Object(external_lodash_["map"])(Object(external_lodash_["filter"])(Object(external_lodash_["map"])(parents, id => ({ - id, - name: selectors_getBlockName(state, id) - })), ({ - name - }) => { - if (Array.isArray(blockName)) { - return blockName.includes(name); - } - - return name === blockName; - }), ({ - id - }) => id); -}, state => [state.blocks.parents]); -/** - * Given a block client ID, returns the root of the hierarchy from which the block is nested, return the block itself for root level blocks. - * - * @param {Object} state Editor state. - * @param {string} clientId Block from which to find root client ID. - * - * @return {string} Root client ID - */ - -function selectors_getBlockHierarchyRootClientId(state, clientId) { - let current = clientId; - let parent; - - do { - parent = current; - current = state.blocks.parents[current]; - } while (current); - - return parent; -} -/** - * Given a block client ID, returns the lowest common ancestor with selected client ID. - * - * @param {Object} state Editor state. - * @param {string} clientId Block from which to find common ancestor client ID. - * - * @return {string} Common ancestor client ID or undefined - */ - -function getLowestCommonAncestorWithSelectedBlock(state, clientId) { - const selectedId = selectors_getSelectedBlockClientId(state); - const clientParents = [...selectors_getBlockParents(state, clientId), clientId]; - const selectedParents = [...selectors_getBlockParents(state, selectedId), selectedId]; - let lowestCommonAncestor; - const maxDepth = Math.min(clientParents.length, selectedParents.length); - - for (let index = 0; index < maxDepth; index++) { - if (clientParents[index] === selectedParents[index]) { - lowestCommonAncestor = clientParents[index]; - } else { - break; - } - } - - return lowestCommonAncestor; -} -/** - * Returns the client ID of the block adjacent one at the given reference - * startClientId and modifier directionality. Defaults start startClientId to - * the selected block, and direction as next block. Returns null if there is no - * adjacent block. - * - * @param {Object} state Editor state. - * @param {?string} startClientId Optional client ID of block from which to - * search. - * @param {?number} modifier Directionality multiplier (1 next, -1 - * previous). - * - * @return {?string} Return the client ID of the block, or null if none exists. - */ - -function getAdjacentBlockClientId(state, startClientId, modifier = 1) { - // Default to selected block. - if (startClientId === undefined) { - startClientId = selectors_getSelectedBlockClientId(state); - } // Try multi-selection starting at extent based on modifier. - - - if (startClientId === undefined) { - if (modifier < 0) { - startClientId = selectors_getFirstMultiSelectedBlockClientId(state); - } else { - startClientId = selectors_getLastMultiSelectedBlockClientId(state); - } - } // Validate working start client ID. - - - if (!startClientId) { - return null; - } // Retrieve start block root client ID, being careful to allow the falsey - // empty string top-level root by explicitly testing against null. - - - const rootClientId = selectors_getBlockRootClientId(state, startClientId); - - if (rootClientId === null) { - return null; - } - - const { - order - } = state.blocks; - const orderSet = order[rootClientId]; - const index = orderSet.indexOf(startClientId); - const nextIndex = index + 1 * modifier; // Block was first in set and we're attempting to get previous. - - if (nextIndex < 0) { - return null; - } // Block was last in set and we're attempting to get next. - - - if (nextIndex === orderSet.length) { - return null; - } // Assume incremented index is within the set. - - - return orderSet[nextIndex]; -} -/** - * Returns the previous block's client ID from the given reference start ID. - * Defaults start to the selected block. Returns null if there is no previous - * block. - * - * @param {Object} state Editor state. - * @param {?string} startClientId Optional client ID of block from which to - * search. - * - * @return {?string} Adjacent block's client ID, or null if none exists. - */ - -function selectors_getPreviousBlockClientId(state, startClientId) { - return getAdjacentBlockClientId(state, startClientId, -1); -} -/** - * Returns the next block's client ID from the given reference start ID. - * Defaults start to the selected block. Returns null if there is no next - * block. - * - * @param {Object} state Editor state. - * @param {?string} startClientId Optional client ID of block from which to - * search. - * - * @return {?string} Adjacent block's client ID, or null if none exists. - */ - -function selectors_getNextBlockClientId(state, startClientId) { - return getAdjacentBlockClientId(state, startClientId, 1); -} -/** - * Returns the initial caret position for the selected block. - * This position is to used to position the caret properly when the selected block changes. - * If the current block is not a RichText, having initial position set to 0 means "focus block" - * - * @param {Object} state Global application state. - * - * @return {0|-1|null} Initial position. - */ - -function selectors_getSelectedBlocksInitialCaretPosition(state) { - return state.initialPosition; -} -/** - * Returns the current selection set of block client IDs (multiselection or single selection). - * - * @param {Object} state Editor state. - * - * @return {Array} Multi-selected block client IDs. - */ - -const selectors_getSelectedBlockClientIds = Object(rememo["a" /* default */])(state => { - const { - selectionStart, - selectionEnd - } = state.selection; - - if (selectionStart.clientId === undefined || selectionEnd.clientId === undefined) { - return EMPTY_ARRAY; - } - - if (selectionStart.clientId === selectionEnd.clientId) { - return [selectionStart.clientId]; - } // Retrieve root client ID to aid in retrieving relevant nested block - // order, being careful to allow the falsey empty string top-level root - // by explicitly testing against null. - - - const rootClientId = selectors_getBlockRootClientId(state, selectionStart.clientId); - - if (rootClientId === null) { - return EMPTY_ARRAY; - } - - const blockOrder = selectors_getBlockOrder(state, rootClientId); - const startIndex = blockOrder.indexOf(selectionStart.clientId); - const endIndex = blockOrder.indexOf(selectionEnd.clientId); - - if (startIndex > endIndex) { - return blockOrder.slice(endIndex, startIndex + 1); - } - - return blockOrder.slice(startIndex, endIndex + 1); -}, state => [state.blocks.order, state.selection.selectionStart.clientId, state.selection.selectionEnd.clientId]); -/** - * Returns the current multi-selection set of block client IDs, or an empty - * array if there is no multi-selection. - * - * @param {Object} state Editor state. - * - * @return {Array} Multi-selected block client IDs. - */ - -function selectors_getMultiSelectedBlockClientIds(state) { - const { - selectionStart, - selectionEnd - } = state.selection; - - if (selectionStart.clientId === selectionEnd.clientId) { - return EMPTY_ARRAY; - } - - return selectors_getSelectedBlockClientIds(state); -} -/** - * Returns the current multi-selection set of blocks, or an empty array if - * there is no multi-selection. - * - * @param {Object} state Editor state. - * - * @return {Array} Multi-selected block objects. - */ - -const selectors_getMultiSelectedBlocks = Object(rememo["a" /* default */])(state => { - const multiSelectedBlockClientIds = selectors_getMultiSelectedBlockClientIds(state); - - if (!multiSelectedBlockClientIds.length) { - return EMPTY_ARRAY; - } - - return multiSelectedBlockClientIds.map(clientId => selectors_getBlock(state, clientId)); -}, state => [...selectors_getSelectedBlockClientIds.getDependants(state), state.blocks.byClientId, state.blocks.order, state.blocks.attributes]); -/** - * Returns the client ID of the first block in the multi-selection set, or null - * if there is no multi-selection. - * - * @param {Object} state Editor state. - * - * @return {?string} First block client ID in the multi-selection set. - */ - -function selectors_getFirstMultiSelectedBlockClientId(state) { - return Object(external_lodash_["first"])(selectors_getMultiSelectedBlockClientIds(state)) || null; -} -/** - * Returns the client ID of the last block in the multi-selection set, or null - * if there is no multi-selection. - * - * @param {Object} state Editor state. - * - * @return {?string} Last block client ID in the multi-selection set. - */ - -function selectors_getLastMultiSelectedBlockClientId(state) { - return Object(external_lodash_["last"])(selectors_getMultiSelectedBlockClientIds(state)) || null; -} -/** - * Returns true if a multi-selection exists, and the block corresponding to the - * specified client ID is the first block of the multi-selection set, or false - * otherwise. - * - * @param {Object} state Editor state. - * @param {string} clientId Block client ID. - * - * @return {boolean} Whether block is first in multi-selection. - */ - -function selectors_isFirstMultiSelectedBlock(state, clientId) { - return selectors_getFirstMultiSelectedBlockClientId(state) === clientId; -} -/** - * Returns true if the client ID occurs within the block multi-selection, or - * false otherwise. - * - * @param {Object} state Editor state. - * @param {string} clientId Block client ID. - * - * @return {boolean} Whether block is in multi-selection set. - */ - -function selectors_isBlockMultiSelected(state, clientId) { - return selectors_getMultiSelectedBlockClientIds(state).indexOf(clientId) !== -1; -} -/** - * Returns true if an ancestor of the block is multi-selected, or false - * otherwise. - * - * @param {Object} state Editor state. - * @param {string} clientId Block client ID. - * - * @return {boolean} Whether an ancestor of the block is in multi-selection - * set. - */ - -const selectors_isAncestorMultiSelected = Object(rememo["a" /* default */])((state, clientId) => { - let ancestorClientId = clientId; - let isMultiSelected = false; - - while (ancestorClientId && !isMultiSelected) { - ancestorClientId = selectors_getBlockRootClientId(state, ancestorClientId); - isMultiSelected = selectors_isBlockMultiSelected(state, ancestorClientId); - } - - return isMultiSelected; -}, state => [state.blocks.order, state.selection.selectionStart.clientId, state.selection.selectionEnd.clientId]); -/** - * Returns the client ID of the block which begins the multi-selection set, or - * null if there is no multi-selection. - * - * This is not necessarily the first client ID in the selection. - * - * @see getFirstMultiSelectedBlockClientId - * - * @param {Object} state Editor state. - * - * @return {?string} Client ID of block beginning multi-selection. - */ - -function selectors_getMultiSelectedBlocksStartClientId(state) { - const { - selectionStart, - selectionEnd - } = state.selection; - - if (selectionStart.clientId === selectionEnd.clientId) { - return null; - } - - return selectionStart.clientId || null; -} -/** - * Returns the client ID of the block which ends the multi-selection set, or - * null if there is no multi-selection. - * - * This is not necessarily the last client ID in the selection. - * - * @see getLastMultiSelectedBlockClientId - * - * @param {Object} state Editor state. - * - * @return {?string} Client ID of block ending multi-selection. - */ - -function selectors_getMultiSelectedBlocksEndClientId(state) { - const { - selectionStart, - selectionEnd - } = state.selection; - - if (selectionStart.clientId === selectionEnd.clientId) { - return null; - } - - return selectionEnd.clientId || null; -} -/** - * Returns an array containing all block client IDs in the editor in the order - * they appear. Optionally accepts a root client ID of the block list for which - * the order should be returned, defaulting to the top-level block order. - * - * @param {Object} state Editor state. - * @param {?string} rootClientId Optional root client ID of block list. - * - * @return {Array} Ordered client IDs of editor blocks. - */ - -function selectors_getBlockOrder(state, rootClientId) { - return state.blocks.order[rootClientId || ''] || EMPTY_ARRAY; -} -/** - * Returns the index at which the block corresponding to the specified client - * ID occurs within the block order, or `-1` if the block does not exist. - * - * @param {Object} state Editor state. - * @param {string} clientId Block client ID. - * @param {?string} rootClientId Optional root client ID of block list. - * - * @return {number} Index at which block exists in order. - */ - -function selectors_getBlockIndex(state, clientId, rootClientId) { - return selectors_getBlockOrder(state, rootClientId).indexOf(clientId); -} -/** - * Returns true if the block corresponding to the specified client ID is - * currently selected and no multi-selection exists, or false otherwise. - * - * @param {Object} state Editor state. - * @param {string} clientId Block client ID. - * - * @return {boolean} Whether block is selected and multi-selection exists. - */ - -function selectors_isBlockSelected(state, clientId) { - const { - selectionStart, - selectionEnd - } = state.selection; - - if (selectionStart.clientId !== selectionEnd.clientId) { - return false; - } - - return selectionStart.clientId === clientId; -} -/** - * Returns true if one of the block's inner blocks is selected. - * - * @param {Object} state Editor state. - * @param {string} clientId Block client ID. - * @param {boolean} deep Perform a deep check. - * - * @return {boolean} Whether the block as an inner block selected - */ - -function selectors_hasSelectedInnerBlock(state, clientId, deep = false) { - return Object(external_lodash_["some"])(selectors_getBlockOrder(state, clientId), innerClientId => selectors_isBlockSelected(state, innerClientId) || selectors_isBlockMultiSelected(state, innerClientId) || deep && selectors_hasSelectedInnerBlock(state, innerClientId, deep)); -} -/** - * Returns true if the block corresponding to the specified client ID is - * currently selected but isn't the last of the selected blocks. Here "last" - * refers to the block sequence in the document, _not_ the sequence of - * multi-selection, which is why `state.selectionEnd` isn't used. - * - * @param {Object} state Editor state. - * @param {string} clientId Block client ID. - * - * @return {boolean} Whether block is selected and not the last in the - * selection. - */ - -function isBlockWithinSelection(state, clientId) { - if (!clientId) { - return false; - } - - const clientIds = selectors_getMultiSelectedBlockClientIds(state); - const index = clientIds.indexOf(clientId); - return index > -1 && index < clientIds.length - 1; -} -/** - * Returns true if a multi-selection has been made, or false otherwise. - * - * @param {Object} state Editor state. - * - * @return {boolean} Whether multi-selection has been made. - */ - -function selectors_hasMultiSelection(state) { - const { - selectionStart, - selectionEnd - } = state.selection; - return selectionStart.clientId !== selectionEnd.clientId; -} -/** - * Whether in the process of multi-selecting or not. This flag is only true - * while the multi-selection is being selected (by mouse move), and is false - * once the multi-selection has been settled. - * - * @see hasMultiSelection - * - * @param {Object} state Global application state. - * - * @return {boolean} True if multi-selecting, false if not. - */ - -function selectors_isMultiSelecting(state) { - return state.isMultiSelecting; -} -/** - * Selector that returns if multi-selection is enabled or not. - * - * @param {Object} state Global application state. - * - * @return {boolean} True if it should be possible to multi-select blocks, false if multi-selection is disabled. - */ - -function selectors_isSelectionEnabled(state) { - return state.isSelectionEnabled; -} -/** - * Returns the block's editing mode, defaulting to "visual" if not explicitly - * assigned. - * - * @param {Object} state Editor state. - * @param {string} clientId Block client ID. - * - * @return {Object} Block editing mode. - */ - -function selectors_getBlockMode(state, clientId) { - return state.blocksMode[clientId] || 'visual'; -} -/** - * Returns true if the user is typing, or false otherwise. - * - * @param {Object} state Global application state. - * - * @return {boolean} Whether user is typing. - */ - -function selectors_isTyping(state) { - return state.isTyping; -} -/** - * Returns true if the user is dragging blocks, or false otherwise. - * - * @param {Object} state Global application state. - * - * @return {boolean} Whether user is dragging blocks. - */ - -function isDraggingBlocks(state) { - return !!state.draggedBlocks.length; -} -/** - * Returns the client ids of any blocks being directly dragged. - * - * This does not include children of a parent being dragged. - * - * @param {Object} state Global application state. - * - * @return {string[]} Array of dragged block client ids. - */ - -function selectors_getDraggedBlockClientIds(state) { - return state.draggedBlocks; -} -/** - * Returns whether the block is being dragged. - * - * Only returns true if the block is being directly dragged, - * not if the block is a child of a parent being dragged. - * See `isAncestorBeingDragged` for child blocks. - * - * @param {Object} state Global application state. - * @param {string} clientId Client id for block to check. - * - * @return {boolean} Whether the block is being dragged. - */ - -function selectors_isBlockBeingDragged(state, clientId) { - return state.draggedBlocks.includes(clientId); -} -/** - * Returns whether a parent/ancestor of the block is being dragged. - * - * @param {Object} state Global application state. - * @param {string} clientId Client id for block to check. - * - * @return {boolean} Whether the block's ancestor is being dragged. - */ - -function selectors_isAncestorBeingDragged(state, clientId) { - // Return early if no blocks are being dragged rather than - // the more expensive check for parents. - if (!isDraggingBlocks(state)) { - return false; - } - - const parents = selectors_getBlockParents(state, clientId); - return Object(external_lodash_["some"])(parents, parentClientId => selectors_isBlockBeingDragged(state, parentClientId)); -} -/** - * Returns true if the caret is within formatted text, or false otherwise. - * - * @param {Object} state Global application state. - * - * @return {boolean} Whether the caret is within formatted text. - */ - -function selectors_isCaretWithinFormattedText(state) { - return state.isCaretWithinFormattedText; -} -/** - * Returns the insertion point, the index at which the new inserted block would - * be placed. Defaults to the last index. - * - * @param {Object} state Editor state. - * - * @return {Object} Insertion point object with `rootClientId`, `index`. - */ - -function selectors_getBlockInsertionPoint(state) { - let rootClientId, index; - const { - insertionPoint, - selection: { - selectionEnd - } - } = state; - - if (insertionPoint !== null) { - return insertionPoint; - } - - const { - clientId - } = selectionEnd; - - if (clientId) { - rootClientId = selectors_getBlockRootClientId(state, clientId) || undefined; - index = selectors_getBlockIndex(state, selectionEnd.clientId, rootClientId) + 1; - } else { - index = selectors_getBlockOrder(state).length; - } - - return { - rootClientId, - index - }; -} -/** - * Returns true if we should show the block insertion point. - * - * @param {Object} state Global application state. - * - * @return {?boolean} Whether the insertion point is visible or not. - */ - -function selectors_isBlockInsertionPointVisible(state) { - return state.insertionPoint !== null; -} -/** - * Returns whether the blocks matches the template or not. - * - * @param {boolean} state - * @return {?boolean} Whether the template is valid or not. - */ - -function selectors_isValidTemplate(state) { - return state.template.isValid; -} -/** - * Returns the defined block template - * - * @param {boolean} state - * @return {?Array} Block Template - */ - -function getTemplate(state) { - return state.settings.template; -} -/** - * Returns the defined block template lock. Optionally accepts a root block - * client ID as context, otherwise defaulting to the global context. - * - * @param {Object} state Editor state. - * @param {?string} rootClientId Optional block root client ID. - * - * @return {?string} Block Template Lock - */ - -function selectors_getTemplateLock(state, rootClientId) { - if (!rootClientId) { - return state.settings.templateLock; - } - - const blockListSettings = selectors_getBlockListSettings(state, rootClientId); - - if (!blockListSettings) { - return null; - } - - return blockListSettings.templateLock; -} - -const checkAllowList = (list, item, defaultResult = null) => { - if (Object(external_lodash_["isBoolean"])(list)) { - return list; - } - - if (Object(external_lodash_["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. - * This function is not exported and not memoized because using a memoized selector - * inside another memoized selector is just a waste of time. - * - * @param {Object} state Editor state. - * @param {string|Object} blockName The block type object, e.g., the response - * from the block directory; or a string name of - * an installed block type, e.g.' core/paragraph'. - * @param {?string} rootClientId Optional root client ID of block list. - * - * @return {boolean} Whether the given block type is allowed to be inserted. - */ - - -const canInsertBlockTypeUnmemoized = (state, blockName, rootClientId = null) => { - let blockType; - - if (blockName && 'object' === typeof blockName) { - blockType = blockName; - blockName = blockType.name; - } else { - blockType = Object(external_wp_blocks_["getBlockType"])(blockName); - } - - if (!blockType) { - return false; - } - - const { - allowedBlockTypes - } = selectors_getSettings(state); - const isBlockAllowedInEditor = checkAllowList(allowedBlockTypes, blockName, true); - - if (!isBlockAllowedInEditor) { - return false; - } - - const isLocked = !!selectors_getTemplateLock(state, rootClientId); - - if (isLocked) { - return false; - } - - const parentBlockListSettings = selectors_getBlockListSettings(state, rootClientId); // The parent block doesn't have settings indicating it doesn't support - // inner blocks, return false. - - if (rootClientId && parentBlockListSettings === undefined) { - return false; - } - - const parentAllowedBlocks = parentBlockListSettings === null || parentBlockListSettings === void 0 ? void 0 : parentBlockListSettings.allowedBlocks; - const hasParentAllowedBlock = checkAllowList(parentAllowedBlocks, blockName); - const blockAllowedParentBlocks = blockType.parent; - const parentName = selectors_getBlockName(state, rootClientId); - const hasBlockAllowedParent = checkAllowList(blockAllowedParentBlocks, parentName); - - if (hasParentAllowedBlock !== null && hasBlockAllowedParent !== null) { - return hasParentAllowedBlock || hasBlockAllowedParent; - } else if (hasParentAllowedBlock !== null) { - return hasParentAllowedBlock; - } else if (hasBlockAllowedParent !== null) { - return hasBlockAllowedParent; - } - - return true; -}; -/** - * Determines if the given block type is allowed to be inserted into the block list. - * - * @param {Object} state Editor state. - * @param {string} blockName The name of the block type, e.g.' core/paragraph'. - * @param {?string} rootClientId Optional root client ID of block list. - * - * @return {boolean} Whether the given block type is allowed to be inserted. - */ - - -const selectors_canInsertBlockType = Object(rememo["a" /* default */])(canInsertBlockTypeUnmemoized, (state, blockName, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId[rootClientId], state.settings.allowedBlockTypes, state.settings.templateLock]); -/** - * Determines if the given blocks are allowed to be inserted into the block - * list. - * - * @param {Object} state Editor state. - * @param {string} clientIds The block client IDs to be inserted. - * @param {?string} rootClientId Optional root client ID of block list. - * - * @return {boolean} Whether the given blocks are allowed to be inserted. - */ - -function selectors_canInsertBlocks(state, clientIds, rootClientId = null) { - return clientIds.every(id => selectors_canInsertBlockType(state, selectors_getBlockName(state, id), rootClientId)); -} -/** - * Returns information about how recently and frequently a block has been inserted. - * - * @param {Object} state Global application state. - * @param {string} id A string which identifies the insert, e.g. 'core/block/12' - * - * @return {?{ time: number, count: number }} An object containing `time` which is when the last - * insert occurred as a UNIX epoch, and `count` which is - * the number of inserts that have occurred. - */ - -function getInsertUsage(state, id) { - var _state$preferences$in, _state$preferences$in2; - - return (_state$preferences$in = (_state$preferences$in2 = state.preferences.insertUsage) === null || _state$preferences$in2 === void 0 ? void 0 : _state$preferences$in2[id]) !== null && _state$preferences$in !== void 0 ? _state$preferences$in : null; -} -/** - * Returns whether we can show a block type in the inserter - * - * @param {Object} state Global State - * @param {Object} blockType BlockType - * @param {?string} rootClientId Optional root client ID of block list. - * - * @return {boolean} Whether the given block type is allowed to be shown in the inserter. - */ - - -const canIncludeBlockTypeInInserter = (state, blockType, rootClientId) => { - if (!Object(external_wp_blocks_["hasBlockSupport"])(blockType, 'inserter', true)) { - return false; - } - - return canInsertBlockTypeUnmemoized(state, blockType.name, rootClientId); -}; -/** - * Return a function to be used to tranform a block variation to an inserter item - * - * @param {Object} state Global State - * @param {Object} item Denormalized inserter item - * @return {Function} Function to transform a block variation to inserter item - */ - - -const getItemFromVariation = (state, item) => variation => { - const variationId = `${item.id}/${variation.name}`; - const { - time, - count = 0 - } = getInsertUsage(state, variationId) || {}; - return { ...item, - id: variationId, - icon: variation.icon || item.icon, - title: variation.title || item.title, - description: variation.description || item.description, - category: variation.category || item.category, - // If `example` is explicitly undefined for the variation, the preview will not be shown. - example: variation.hasOwnProperty('example') ? variation.example : item.example, - initialAttributes: { ...item.initialAttributes, - ...variation.attributes - }, - innerBlocks: variation.innerBlocks, - keywords: variation.keywords || item.keywords, - frecency: calculateFrecency(time, count) - }; -}; -/** - * Returns the calculated frecency. - * - * 'frecency' is a heuristic (https://en.wikipedia.org/wiki/Frecency) - * that combines block usage frequenty and recency. - * - * @param {number} time When the last insert occurred as a UNIX epoch - * @param {number} count The number of inserts that have occurred. - * - * @return {number} The calculated frecency. - */ - - -const calculateFrecency = (time, count) => { - if (!time) { - return count; - } // The selector is cached, which means Date.now() is the last time that the - // relevant state changed. This suits our needs. - - - const duration = Date.now() - time; - - switch (true) { - case duration < MILLISECONDS_PER_HOUR: - return count * 4; - - case duration < MILLISECONDS_PER_DAY: - return count * 2; - - case duration < MILLISECONDS_PER_WEEK: - return count / 2; - - default: - return count / 4; - } -}; -/** - * Returns a function that accepts a block type and builds an item to be shown - * in a specific context. It's used for building items for Inserter and available - * block Transfroms list. - * - * @param {Object} state Editor state. - * @param {Object} options Options object for handling the building of a block type. - * @param {string} options.buildScope The scope for which the item is going to be used. - * @return {Function} Function returns an item to be shown in a specific context (Inserter|Transforms list). - */ - - -const buildBlockTypeItem = (state, { - buildScope = 'inserter' -}) => blockType => { - const id = blockType.name; - let isDisabled = false; - - if (!Object(external_wp_blocks_["hasBlockSupport"])(blockType.name, 'multiple', true)) { - isDisabled = Object(external_lodash_["some"])(selectors_getBlocksByClientId(state, getClientIdsWithDescendants(state)), { - name: blockType.name - }); - } - - const { - time, - count = 0 - } = getInsertUsage(state, id) || {}; - const blockItemBase = { - id, - name: blockType.name, - title: blockType.title, - icon: blockType.icon, - isDisabled, - frecency: calculateFrecency(time, count) - }; - if (buildScope === 'transform') return blockItemBase; - const inserterVariations = blockType.variations.filter(({ - scope - }) => !scope || scope.includes('inserter')); - return { ...blockItemBase, - initialAttributes: {}, - description: blockType.description, - category: blockType.category, - keywords: blockType.keywords, - variations: inserterVariations, - example: blockType.example, - utility: 1 // deprecated - - }; -}; -/** - * Determines the items that appear in the inserter. Includes both static - * items (e.g. a regular block type) and dynamic items (e.g. a reusable block). - * - * Each item object contains what's necessary to display a button in the - * inserter and handle its selection. - * - * The 'frecency' property is a heuristic (https://en.wikipedia.org/wiki/Frecency) - * that combines block usage frequenty and recency. - * - * Items are returned ordered descendingly by their 'utility' and 'frecency'. - * - * @param {Object} state Editor state. - * @param {?string} rootClientId Optional root client ID of block list. - * - * @return {WPEditorInserterItem[]} Items that appear in inserter. - * - * @typedef {Object} WPEditorInserterItem - * @property {string} id Unique identifier for the item. - * @property {string} name The type of block to create. - * @property {Object} initialAttributes Attributes to pass to the newly created block. - * @property {string} title Title of the item, as it appears in the inserter. - * @property {string} icon Dashicon for the item, as it appears in the inserter. - * @property {string} category Block category that the item is associated with. - * @property {string[]} keywords Keywords that can be searched to find this item. - * @property {boolean} isDisabled Whether or not the user should be prevented from inserting - * this item. - * @property {number} frecency Heuristic that combines frequency and recency. - */ - - -const selectors_getInserterItems = Object(rememo["a" /* default */])((state, rootClientId = null) => { - const buildBlockTypeInserterItem = buildBlockTypeItem(state, { - buildScope: 'inserter' - }); - - const buildReusableBlockInserterItem = reusableBlock => { - const id = `core/block/${reusableBlock.id}`; - - const referencedBlocks = __experimentalGetParsedReusableBlock(state, reusableBlock.id); - - let referencedBlockType; - - if (referencedBlocks.length === 1) { - referencedBlockType = Object(external_wp_blocks_["getBlockType"])(referencedBlocks[0].name); - } - - const { - time, - count = 0 - } = getInsertUsage(state, id) || {}; - const frecency = calculateFrecency(time, count); - return { - id, - name: 'core/block', - initialAttributes: { - ref: reusableBlock.id - }, - title: reusableBlock.title.raw, - icon: referencedBlockType ? referencedBlockType.icon : templateIcon, - category: 'reusable', - keywords: [], - isDisabled: false, - utility: 1, - // deprecated - frecency - }; - }; - - const blockTypeInserterItems = Object(external_wp_blocks_["getBlockTypes"])().filter(blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId)).map(buildBlockTypeInserterItem); - const reusableBlockInserterItems = canInsertBlockTypeUnmemoized(state, 'core/block', rootClientId) ? getReusableBlocks(state).map(buildReusableBlockInserterItem) : []; // Exclude any block type item that is to be replaced by a default - // variation. - - const visibleBlockTypeInserterItems = blockTypeInserterItems.filter(({ - variations = [] - }) => !variations.some(({ - isDefault - }) => isDefault)); - const blockVariations = []; // Show all available blocks with variations - - for (const item of blockTypeInserterItems) { - const { - variations = [] - } = item; - - if (variations.length) { - const variationMapper = getItemFromVariation(state, item); - blockVariations.push(...variations.map(variationMapper)); - } - } // Prioritize core blocks's display in inserter. - - - const prioritizeCoreBlocks = (a, b) => { - const coreBlockNamePrefix = 'core/'; - const firstIsCoreBlock = a.name.startsWith(coreBlockNamePrefix); - const secondIsCoreBlock = b.name.startsWith(coreBlockNamePrefix); - - if (firstIsCoreBlock && secondIsCoreBlock) { - return 0; - } - - return firstIsCoreBlock && !secondIsCoreBlock ? -1 : 1; - }; // Ensure core blocks are prioritized in the returned results, - // because third party blocks can be registered earlier than - // the core blocks (usually by using the `init` action), - // thus affecting the display order. - // We don't sort reusable blocks as they are handled differently. - - - const sortedBlockTypes = [...visibleBlockTypeInserterItems, ...blockVariations].sort(prioritizeCoreBlocks); - return [...sortedBlockTypes, ...reusableBlockInserterItems]; -}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.blocks.order, state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), Object(external_wp_blocks_["getBlockTypes"])()]); -/** - * Determines the items that appear in the available block transforms list. - * - * Each item object contains what's necessary to display a menu item in the - * transform list and handle its selection. - * - * The 'frecency' property is a heuristic (https://en.wikipedia.org/wiki/Frecency) - * that combines block usage frequenty and recency. - * - * Items are returned ordered descendingly by their 'frecency'. - * - * @param {Object} state Editor state. - * @param {?string} rootClientId Optional root client ID of block list. - * - * @return {WPEditorTransformItem[]} Items that appear in inserter. - * - * @typedef {Object} WPEditorTransformItem - * @property {string} id Unique identifier for the item. - * @property {string} name The type of block to create. - * @property {string} title Title of the item, as it appears in the inserter. - * @property {string} icon Dashicon for the item, as it appears in the inserter. - * @property {boolean} isDisabled Whether or not the user should be prevented from inserting - * this item. - * @property {number} frecency Heuristic that combines frequency and recency. - */ - -const selectors_getBlockTransformItems = Object(rememo["a" /* default */])((state, blocks, rootClientId = null) => { - const buildBlockTypeTransformItem = buildBlockTypeItem(state, { - buildScope: 'transform' - }); - const blockTypeTransformItems = Object(external_wp_blocks_["getBlockTypes"])().filter(blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId)).map(buildBlockTypeTransformItem); - const itemsByName = Object(external_lodash_["mapKeys"])(blockTypeTransformItems, ({ - name - }) => name); - const possibleTransforms = Object(external_wp_blocks_["getPossibleBlockTransformations"])(blocks).reduce((accumulator, block) => { - if (itemsByName[block === null || block === void 0 ? void 0 : block.name]) { - accumulator.push(itemsByName[block.name]); - } - - return accumulator; - }, []); - const possibleBlockTransformations = Object(external_lodash_["orderBy"])(possibleTransforms, block => itemsByName[block.name].frecency, 'desc'); - return possibleBlockTransformations; -}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, Object(external_wp_blocks_["getBlockTypes"])()]); -/** - * Determines whether there are items to show in the inserter. - * - * @param {Object} state Editor state. - * @param {?string} rootClientId Optional root client ID of block list. - * - * @return {boolean} Items that appear in inserter. - */ - -const selectors_hasInserterItems = Object(rememo["a" /* default */])((state, rootClientId = null) => { - const hasBlockType = Object(external_lodash_["some"])(Object(external_wp_blocks_["getBlockTypes"])(), blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId)); - - if (hasBlockType) { - return true; - } - - 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), Object(external_wp_blocks_["getBlockTypes"])()]); -/** - * Returns the list of allowed inserter blocks for inner blocks children - * - * @param {Object} state Editor state. - * @param {?string} rootClientId Optional root client ID of block list. - * - * @return {Array?} The list of allowed block types. - */ - -const selectors_experimentalGetAllowedBlocks = Object(rememo["a" /* default */])((state, rootClientId = null) => { - if (!rootClientId) { - return; - } - - return Object(external_lodash_["filter"])(Object(external_wp_blocks_["getBlockTypes"])(), blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId)); -}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.settings.allowedBlockTypes, state.settings.templateLock, Object(external_wp_blocks_["getBlockTypes"])()]); - -const checkAllowListRecursive = (blocks, allowedBlockTypes) => { - if (Object(external_lodash_["isBoolean"])(allowedBlockTypes)) { - return allowedBlockTypes; - } - - const blocksQueue = [...blocks]; - - while (blocksQueue.length > 0) { - var _block$innerBlocks; - - const block = blocksQueue.shift(); - const isAllowed = checkAllowList(allowedBlockTypes, block.name || block.blockName, true); - - if (!isAllowed) { - return false; - } - - (_block$innerBlocks = block.innerBlocks) === null || _block$innerBlocks === void 0 ? void 0 : _block$innerBlocks.forEach(innerBlock => { - blocksQueue.push(innerBlock); - }); - } - - return true; -}; - -const __experimentalGetParsedPattern = Object(rememo["a" /* default */])((state, patternName) => { - const patterns = state.settings.__experimentalBlockPatterns; - const pattern = patterns.find(({ - name - }) => name === patternName); - - if (!pattern) { - return null; - } - - return { ...pattern, - blocks: Object(external_wp_blocks_["parse"])(pattern.content) - }; -}, state => [state.settings.__experimentalBlockPatterns]); -const getAllAllowedPatterns = Object(rememo["a" /* default */])(state => { - const patterns = state.settings.__experimentalBlockPatterns; - const { - allowedBlockTypes - } = selectors_getSettings(state); - const parsedPatterns = patterns.map(({ - name - }) => __experimentalGetParsedPattern(state, name)); - const allowedPatterns = parsedPatterns.filter(({ - blocks - }) => checkAllowListRecursive(blocks, allowedBlockTypes)); - return allowedPatterns; -}, state => [state.settings.__experimentalBlockPatterns, state.settings.allowedBlockTypes]); -/** - * Returns the list of allowed patterns for inner blocks children. - * - * @param {Object} state Editor state. - * @param {?string} rootClientId Optional target root client ID. - * - * @return {Array?} The list of allowed patterns. - */ - -const selectors_experimentalGetAllowedPatterns = Object(rememo["a" /* default */])((state, rootClientId = null) => { - const availableParsedPatterns = getAllAllowedPatterns(state); - const patternsAllowed = Object(external_lodash_["filter"])(availableParsedPatterns, ({ - blocks - }) => blocks.every(({ - name - }) => selectors_canInsertBlockType(state, name, rootClientId))); - return patternsAllowed; -}, (state, rootClientId) => [state.settings.__experimentalBlockPatterns, state.settings.allowedBlockTypes, state.settings.templateLock, state.blockListSettings[rootClientId], state.blocks.byClientId[rootClientId]]); -/** - * Returns the list of patterns based on their declared `blockTypes` - * and a block's name. - * Patterns can use `blockTypes` to integrate in work flows like - * suggesting appropriate patterns in a Placeholder state(during insertion) - * or blocks transformations. - * - * @param {Object} state Editor state. - * @param {string|string[]} blockNames Block's name or array of block names to find matching pattens. - * @param {?string} rootClientId Optional target root client ID. - * - * @return {Array} The list of matched block patterns based on declared `blockTypes` and block name. - */ - -const selectors_experimentalGetPatternsByBlockTypes = Object(rememo["a" /* default */])((state, blockNames, rootClientId = null) => { - if (!blockNames) return EMPTY_ARRAY; - - const patterns = selectors_experimentalGetAllowedPatterns(state, rootClientId); - - const normalizedBlockNames = Array.isArray(blockNames) ? blockNames : [blockNames]; - return patterns.filter(pattern => { - var _pattern$blockTypes, _pattern$blockTypes$s; - - return pattern === null || pattern === void 0 ? void 0 : (_pattern$blockTypes = pattern.blockTypes) === null || _pattern$blockTypes === void 0 ? void 0 : (_pattern$blockTypes$s = _pattern$blockTypes.some) === null || _pattern$blockTypes$s === void 0 ? void 0 : _pattern$blockTypes$s.call(_pattern$blockTypes, blockName => normalizedBlockNames.includes(blockName)); - }); -}, (state, rootClientId) => [...selectors_experimentalGetAllowedPatterns.getDependants(state, rootClientId)]); -/** - * Determines the items that appear in the available pattern transforms list. - * - * For now we only handle blocks without InnerBlocks and take into account - * the `__experimentalRole` property of blocks' attributes for the transformation. - * - * We return the first set of possible eligible block patterns, - * by checking the `blockTypes` property. We still have to recurse through - * 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. - * - * @param {Object} state Editor state. - * @param {Object[]} blocks The selected blocks. - * @param {?string} rootClientId Optional root client ID of block list. - * - * @return {WPBlockPattern[]} Items that are eligible for a pattern transformation. - */ - -const selectors_experimentalGetPatternTransformItems = Object(rememo["a" /* default */])((state, blocks, rootClientId = null) => { - if (!blocks) return EMPTY_ARRAY; - /** - * For now we only handle blocks without InnerBlocks and take into account - * the `__experimentalRole` property of blocks' attributes for the transformation. - * Note that the blocks have been retrieved through `getBlock`, which doesn't - * return the inner blocks of an inner block controller, so we still need - * to check for this case too. - */ - - if (blocks.some(({ - clientId, - innerBlocks - }) => innerBlocks.length || areInnerBlocksControlled(state, clientId))) { - return EMPTY_ARRAY; - } // Create a Set of the selected block names that is used in patterns filtering. - - - const selectedBlockNames = Array.from(new Set(blocks.map(({ - name - }) => name))); - /** - * Here we will return first set of possible eligible block patterns, - * by checking the `blockTypes` property. We still have to recurse through - * 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 selectors_experimentalGetPatternsByBlockTypes(state, selectedBlockNames, rootClientId); -}, (state, rootClientId) => [...selectors_experimentalGetPatternsByBlockTypes.getDependants(state, rootClientId)]); -/** - * Returns the Block List settings of a block, if any exist. - * - * @param {Object} state Editor state. - * @param {?string} clientId Block client ID. - * - * @return {?Object} Block settings of the block if set. - */ - -function selectors_getBlockListSettings(state, clientId) { - return state.blockListSettings[clientId]; -} -/** - * Returns the editor settings. - * - * @param {Object} state Editor state. - * - * @return {Object} The editor settings object. - */ - -function selectors_getSettings(state) { - return state.settings; -} -/** - * Returns true if the most recent block change is be considered persistent, or - * false otherwise. A persistent change is one committed by BlockEditorProvider - * via its `onChange` callback, in addition to `onInput`. - * - * @param {Object} state Block editor state. - * - * @return {boolean} Whether the most recent block change was persistent. - */ - -function selectors_isLastBlockChangePersistent(state) { - return state.blocks.isPersistentChange; -} -/** - * Returns the block list settings for an array of blocks, if any exist. - * - * @param {Object} state Editor state. - * @param {Array} clientIds Block client IDs. - * - * @return {Object} An object where the keys are client ids and the values are - * a block list setting object. - */ - -const selectors_experimentalGetBlockListSettingsForBlocks = Object(rememo["a" /* default */])((state, clientIds = []) => { - return clientIds.reduce((blockListSettingsForBlocks, clientId) => { - if (!state.blockListSettings[clientId]) { - return blockListSettingsForBlocks; - } - - return { ...blockListSettingsForBlocks, - [clientId]: state.blockListSettings[clientId] - }; - }, {}); -}, state => [state.blockListSettings]); -/** - * Returns the parsed block saved as shared block with the given ID. - * - * @param {Object} state Global application state. - * @param {number|string} ref The shared block's ID. - * - * @return {Object} The parsed block. - */ - -const __experimentalGetParsedReusableBlock = Object(rememo["a" /* default */])((state, ref) => { - const reusableBlock = Object(external_lodash_["find"])(getReusableBlocks(state), block => block.id === ref); - - if (!reusableBlock) { - return null; - } // Only reusableBlock.content.raw should be used here, `reusableBlock.content` is a - // workaround until #22127 is fixed. - - - return Object(external_wp_blocks_["parse"])(typeof reusableBlock.content.raw === 'string' ? reusableBlock.content.raw : reusableBlock.content); -}, state => [getReusableBlocks(state)]); -/** - * Returns the title of a given reusable block - * - * @param {Object} state Global application state. - * @param {number|string} ref The shared block's ID. - * - * @return {string} The reusable block saved title. - */ - -const selectors_experimentalGetReusableBlockTitle = Object(rememo["a" /* default */])((state, ref) => { - var _reusableBlock$title; - - const reusableBlock = Object(external_lodash_["find"])(getReusableBlocks(state), block => block.id === ref); - - if (!reusableBlock) { - return null; - } - - return (_reusableBlock$title = reusableBlock.title) === null || _reusableBlock$title === void 0 ? void 0 : _reusableBlock$title.raw; -}, state => [getReusableBlocks(state)]); -/** - * Returns true if the most recent block change is be considered ignored, or - * false otherwise. An ignored change is one not to be committed by - * BlockEditorProvider, neither via `onChange` nor `onInput`. - * - * @param {Object} state Block editor state. - * - * @return {boolean} Whether the most recent block change was ignored. - */ - -function selectors_unstableIsLastBlockChangeIgnored(state) { - // TODO: Removal Plan: Changes incurred by RECEIVE_BLOCKS should not be - // ignored if in-fact they result in a change in blocks state. The current - // need to ignore changes not a result of user interaction should be - // accounted for in the refactoring of reusable blocks as occurring within - // their own separate block editor / state (#7119). - return state.blocks.isIgnoredChange; -} -/** - * Returns the block attributes changed as a result of the last dispatched - * action. - * - * @param {Object} state Block editor state. - * - * @return {Object} Subsets of block attributes changed, keyed - * by block client ID. - */ - -function __experimentalGetLastBlockAttributeChanges(state) { - return state.lastBlockAttributesChange; -} -/** - * Returns the available reusable blocks - * - * @param {Object} state Global application state. - * - * @return {Array} Reusable blocks - */ - -function getReusableBlocks(state) { - var _state$settings$__exp, _state$settings; - - return (_state$settings$__exp = state === null || state === void 0 ? void 0 : (_state$settings = state.settings) === null || _state$settings === void 0 ? void 0 : _state$settings.__experimentalReusableBlocks) !== null && _state$settings$__exp !== void 0 ? _state$settings$__exp : EMPTY_ARRAY; -} -/** - * Returns whether the navigation mode is enabled. - * - * @param {Object} state Editor state. - * - * @return {boolean} Is navigation mode enabled. - */ - - -function selectors_isNavigationMode(state) { - return state.isNavigationMode; -} -/** - * Returns whether block moving mode is enabled. - * - * @param {Object} state Editor state. - * - * @return {string} Client Id of moving block. - */ - -function selectors_hasBlockMovingClientId(state) { - return state.hasBlockMovingClientId; -} -/** - * Returns true if the last change was an automatic change, false otherwise. - * - * @param {Object} state Global application state. - * - * @return {boolean} Whether the last change was automatic. - */ - -function selectors_didAutomaticChange(state) { - return !!state.automaticChangeStatus; -} -/** - * Returns true if the current highlighted block matches the block clientId. - * - * @param {Object} state Global application state. - * @param {string} clientId The block to check. - * - * @return {boolean} Whether the block is currently highlighted. - */ - -function selectors_isBlockHighlighted(state, clientId) { - return state.highlightedBlock === clientId; -} -/** - * Checks if a given block has controlled inner blocks. - * - * @param {Object} state Global application state. - * @param {string} clientId The block to check. - * - * @return {boolean} True if the block has controlled inner blocks. - */ - -function areInnerBlocksControlled(state, clientId) { - return !!state.blocks.controlledInnerBlocks[clientId]; -} -/** - * Returns the clientId for the first 'active' block of a given array of block names. - * A block is 'active' if it (or a child) is the selected block. - * Returns the first match moving up the DOM from the selected block. - * - * @param {Object} state Global application state. - * @param {string[]} validBlocksNames The names of block types to check for. - * - * @return {string} The matching block's clientId. - */ - -const __experimentalGetActiveBlockIdByBlockNames = Object(rememo["a" /* default */])((state, validBlockNames) => { - if (!validBlockNames.length) { - return null; - } // Check if selected block is a valid entity area. - - - const selectedBlockClientId = selectors_getSelectedBlockClientId(state); - - if (validBlockNames.includes(selectors_getBlockName(state, selectedBlockClientId))) { - return selectedBlockClientId; - } // Check if first selected block is a child of a valid entity area. - - - const multiSelectedBlockClientIds = selectors_getMultiSelectedBlockClientIds(state); - const entityAreaParents = getBlockParentsByBlockName(state, selectedBlockClientId || multiSelectedBlockClientIds[0], validBlockNames); - - if (entityAreaParents) { - // Last parent closest/most interior. - return Object(external_lodash_["last"])(entityAreaParents); - } - - return null; -}, (state, validBlockNames) => [state.selection.selectionStart.clientId, state.selection.selectionEnd.clientId, validBlockNames]); -/** - * Tells if the block with the passed clientId was just inserted. - * - * @param {Object} state Global application state. - * @param {Object} clientId Client Id of the block. - * @param {?string} source Optional insertion source of the block. - * @return {boolean} True if the block matches the last block inserted from the specified source. - */ - -function wasBlockJustInserted(state, clientId, source) { - const { - lastBlockInserted - } = state; - return lastBlockInserted.clientId === clientId && lastBlockInserted.source === source; -} - -// EXTERNAL MODULE: external ["wp","a11y"] -var external_wp_a11y_ = __webpack_require__("gdqT"); - -// EXTERNAL MODULE: external ["wp","deprecated"] -var external_wp_deprecated_ = __webpack_require__("NMb1"); -var external_wp_deprecated_default = /*#__PURE__*/__webpack_require__.n(external_wp_deprecated_); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/controls.js -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - -const __unstableMarkAutomaticChangeFinalControl = function () { - return { - type: 'MARK_AUTOMATIC_CHANGE_FINAL_CONTROL' - }; -}; -const controls_controls = { - SLEEP({ - duration - }) { - return new Promise(resolve => { - setTimeout(resolve, duration); - }); - }, - - MARK_AUTOMATIC_CHANGE_FINAL_CONTROL: Object(external_wp_data_["createRegistryControl"])(registry => () => { - const { - requestIdleCallback = callback => setTimeout(callback, 100) - } = window; - requestIdleCallback(() => registry.dispatch(store).__unstableMarkAutomaticChangeFinal()); - }) -}; -/* harmony default export */ var store_controls = (controls_controls); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/constants.js -const STORE_NAME = 'core/block-editor'; - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/actions.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - - -/** - * Internal dependencies - */ - - - -/** - * Generator which will yield a default block insert action if there - * are no other blocks at the root of the editor. This generator should be used - * in actions which may result in no blocks remaining in the editor (removal, - * replacement, etc). - */ - -function* ensureDefaultBlock() { - const count = yield external_wp_data_["controls"].select(STORE_NAME, 'getBlockCount'); // To avoid a focus loss when removing the last block, assure there is - // always a default block if the last of the blocks have been removed. - - if (count === 0) { - const { - __unstableHasCustomAppender - } = yield external_wp_data_["controls"].select(STORE_NAME, 'getSettings'); // If there's an custom appender, don't insert default block. - // We have to remember to manually move the focus elsewhere to - // prevent it from being lost though. - - if (__unstableHasCustomAppender) { - return; - } - - return yield actions_insertDefaultBlock(); - } -} -/** - * Returns an action object used in signalling that blocks state should be - * reset to the specified array of blocks, taking precedence over any other - * content reflected as an edit in state. - * - * @param {Array} blocks Array of blocks. - */ - - -function* actions_resetBlocks(blocks) { - yield { - type: 'RESET_BLOCKS', - blocks - }; - return yield* validateBlocksToTemplate(blocks); -} -/** - * Block validity is a function of blocks state (at the point of a - * reset) and the template setting. As a compromise to its placement - * across distinct parts of state, it is implemented here as a side- - * effect of the block reset action. - * - * @param {Array} blocks Array of blocks. - */ - -function* validateBlocksToTemplate(blocks) { - const template = yield external_wp_data_["controls"].select(STORE_NAME, 'getTemplate'); - const templateLock = yield external_wp_data_["controls"].select(STORE_NAME, 'getTemplateLock'); // Unlocked templates are considered always valid because they act - // as default values only. - - const isBlocksValidToTemplate = !template || templateLock !== 'all' || Object(external_wp_blocks_["doBlocksMatchTemplate"])(blocks, template); // Update if validity has changed. - - const isValidTemplate = yield external_wp_data_["controls"].select(STORE_NAME, 'isValidTemplate'); - - if (isBlocksValidToTemplate !== isValidTemplate) { - yield setTemplateValidity(isBlocksValidToTemplate); - return isBlocksValidToTemplate; - } -} -/** - * A block selection object. - * - * @typedef {Object} WPBlockSelection - * - * @property {string} clientId A block client ID. - * @property {string} attributeKey A block attribute key. - * @property {number} offset An attribute value offset, based on the rich - * text value. See `wp.richText.create`. - */ - -/** - * Returns an action object used in signalling that selection state should be - * reset to the specified selection. - * - * @param {WPBlockSelection} selectionStart The selection start. - * @param {WPBlockSelection} selectionEnd The selection end. - * @param {0|-1|null} initialPosition Initial block position. - * - * @return {Object} Action object. - */ - -function actions_resetSelection(selectionStart, selectionEnd, initialPosition) { - return { - type: 'RESET_SELECTION', - selectionStart, - selectionEnd, - initialPosition - }; -} -/** - * Returns an action object used in signalling that blocks have been received. - * Unlike resetBlocks, these should be appended to the existing known set, not - * replacing. - * - * @param {Object[]} blocks Array of block objects. - * - * @return {Object} Action object. - */ - -function receiveBlocks(blocks) { - return { - type: 'RECEIVE_BLOCKS', - blocks - }; -} -/** - * Returns an action object used in signalling that the multiple blocks' - * attributes with the specified client IDs have been updated. - * - * @param {string|string[]} clientIds Block client IDs. - * @param {Object} attributes Block attributes to be merged. Should be keyed by clientIds if - * uniqueByBlock is true. - * @param {boolean} uniqueByBlock true if each block in clientIds array has a unique set of attributes - * @return {Object} Action object. - */ - -function actions_updateBlockAttributes(clientIds, attributes, uniqueByBlock = false) { - return { - type: 'UPDATE_BLOCK_ATTRIBUTES', - clientIds: Object(external_lodash_["castArray"])(clientIds), - attributes, - uniqueByBlock - }; -} -/** - * Returns an action object used in signalling that the block with the - * specified client ID has been updated. - * - * @param {string} clientId Block client ID. - * @param {Object} updates Block attributes to be merged. - * - * @return {Object} Action object. - */ - -function actions_updateBlock(clientId, updates) { - return { - type: 'UPDATE_BLOCK', - clientId, - updates - }; -} -/** - * Returns an action object used in signalling that the block with the - * specified client ID has been selected, optionally accepting a position - * value reflecting its selection directionality. An initialPosition of -1 - * reflects a reverse selection. - * - * @param {string} clientId Block client ID. - * @param {0|-1|null} initialPosition Optional initial position. Pass as -1 to - * reflect reverse selection. - * - * @return {Object} Action object. - */ - -function actions_selectBlock(clientId, initialPosition = 0) { - return { - type: 'SELECT_BLOCK', - initialPosition, - clientId - }; -} -/** - * Yields action objects used in signalling that the block preceding the given - * clientId should be selected. - * - * @param {string} clientId Block client ID. - */ - -function* selectPreviousBlock(clientId) { - const previousBlockClientId = yield external_wp_data_["controls"].select(STORE_NAME, 'getPreviousBlockClientId', clientId); - - if (previousBlockClientId) { - yield actions_selectBlock(previousBlockClientId, -1); - return [previousBlockClientId]; - } -} -/** - * Yields action objects used in signalling that the block following the given - * clientId should be selected. - * - * @param {string} clientId Block client ID. - */ - -function* selectNextBlock(clientId) { - const nextBlockClientId = yield external_wp_data_["controls"].select(STORE_NAME, 'getNextBlockClientId', clientId); - - if (nextBlockClientId) { - yield actions_selectBlock(nextBlockClientId); - return [nextBlockClientId]; - } -} -/** - * Returns an action object used in signalling that a block multi-selection has started. - * - * @return {Object} Action object. - */ - -function actions_startMultiSelect() { - return { - type: 'START_MULTI_SELECT' - }; -} -/** - * Returns an action object used in signalling that block multi-selection stopped. - * - * @return {Object} Action object. - */ - -function actions_stopMultiSelect() { - return { - type: 'STOP_MULTI_SELECT' - }; -} -/** - * Returns an action object used in signalling that block multi-selection changed. - * - * @param {string} start First block of the multi selection. - * @param {string} end Last block of the multiselection. - */ - -function* actions_multiSelect(start, end) { - const startBlockRootClientId = yield external_wp_data_["controls"].select(STORE_NAME, 'getBlockRootClientId', start); - const endBlockRootClientId = yield external_wp_data_["controls"].select(STORE_NAME, 'getBlockRootClientId', end); // Only allow block multi-selections at the same level. - - if (startBlockRootClientId !== endBlockRootClientId) { - return; - } - - yield { - type: 'MULTI_SELECT', - start, - end - }; - const blockCount = yield external_wp_data_["controls"].select(STORE_NAME, 'getSelectedBlockCount'); - Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["sprintf"])( - /* translators: %s: number of selected blocks */ - Object(external_wp_i18n_["_n"])('%s block selected.', '%s blocks selected.', blockCount), blockCount), 'assertive'); -} -/** - * Returns an action object used in signalling that the block selection is cleared. - * - * @return {Object} Action object. - */ - -function actions_clearSelectedBlock() { - return { - type: 'CLEAR_SELECTED_BLOCK' - }; -} -/** - * Returns an action object that enables or disables block selection. - * - * @param {boolean} [isSelectionEnabled=true] Whether block selection should - * be enabled. - * - * @return {Object} Action object. - */ - -function actions_toggleSelection(isSelectionEnabled = true) { - return { - type: 'TOGGLE_SELECTION', - isSelectionEnabled - }; -} - -function getBlocksWithDefaultStylesApplied(blocks, blockEditorSettings) { - var _blockEditorSettings$, _blockEditorSettings$2; - - const preferredStyleVariations = (_blockEditorSettings$ = blockEditorSettings === null || blockEditorSettings === void 0 ? void 0 : (_blockEditorSettings$2 = blockEditorSettings.__experimentalPreferredStyleVariations) === null || _blockEditorSettings$2 === void 0 ? void 0 : _blockEditorSettings$2.value) !== null && _blockEditorSettings$ !== void 0 ? _blockEditorSettings$ : {}; - return blocks.map(block => { - var _block$attributes; - - const blockName = block.name; - - if (!Object(external_wp_blocks_["hasBlockSupport"])(blockName, 'defaultStylePicker', true)) { - return block; - } - - if (!preferredStyleVariations[blockName]) { - return block; - } - - const className = (_block$attributes = block.attributes) === null || _block$attributes === void 0 ? void 0 : _block$attributes.className; - - if (className !== null && className !== void 0 && className.includes('is-style-')) { - return block; - } - - const { - attributes = {} - } = block; - const blockStyle = preferredStyleVariations[blockName]; - return { ...block, - attributes: { ...attributes, - className: `${className || ''} is-style-${blockStyle}`.trim() - } - }; - }); -} -/** - * Returns an action object signalling that a blocks should be replaced with - * one or more replacement blocks. - * - * @param {(string|string[])} clientIds Block client ID(s) to replace. - * @param {(Object|Object[])} blocks Replacement block(s). - * @param {number} indexToSelect Index of replacement block to select. - * @param {0|-1|null} initialPosition Index of caret after in the selected block after the operation. - * @param {?Object} meta Optional Meta values to be passed to the action object. - * - * @yield {Object} Action object. - */ - - -function* actions_replaceBlocks(clientIds, blocks, indexToSelect, initialPosition = 0, meta) { - clientIds = Object(external_lodash_["castArray"])(clientIds); - blocks = getBlocksWithDefaultStylesApplied(Object(external_lodash_["castArray"])(blocks), yield external_wp_data_["controls"].select(STORE_NAME, 'getSettings')); - const rootClientId = yield external_wp_data_["controls"].select(STORE_NAME, 'getBlockRootClientId', Object(external_lodash_["first"])(clientIds)); // Replace is valid if the new blocks can be inserted in the root block. - - for (let index = 0; index < blocks.length; index++) { - const block = blocks[index]; - const canInsertBlock = yield external_wp_data_["controls"].select(STORE_NAME, 'canInsertBlockType', block.name, rootClientId); - - if (!canInsertBlock) { - return; - } - } - - yield { - type: 'REPLACE_BLOCKS', - clientIds, - blocks, - time: Date.now(), - indexToSelect, - initialPosition, - meta - }; - yield* ensureDefaultBlock(); -} -/** - * Returns an action object signalling that a single block should be replaced - * with one or more replacement blocks. - * - * @param {(string|string[])} clientId Block client ID to replace. - * @param {(Object|Object[])} block Replacement block(s). - * - * @return {Object} Action object. - */ - -function actions_replaceBlock(clientId, block) { - return actions_replaceBlocks(clientId, block); -} -/** - * Higher-order action creator which, given the action type to dispatch creates - * an action creator for managing block movement. - * - * @param {string} type Action type to dispatch. - * - * @return {Function} Action creator. - */ - -function createOnMove(type) { - return (clientIds, rootClientId) => { - return { - clientIds: Object(external_lodash_["castArray"])(clientIds), - type, - rootClientId - }; - }; -} - -const actions_moveBlocksDown = createOnMove('MOVE_BLOCKS_DOWN'); -const actions_moveBlocksUp = createOnMove('MOVE_BLOCKS_UP'); -/** - * Returns an action object signalling that the given blocks should be moved to - * a new position. - * - * @param {?string} clientIds The client IDs of the blocks. - * @param {?string} fromRootClientId Root client ID source. - * @param {?string} toRootClientId Root client ID destination. - * @param {number} index The index to move the blocks to. - * - * @yield {Object} Action object. - */ - -function* actions_moveBlocksToPosition(clientIds, fromRootClientId = '', toRootClientId = '', index) { - const templateLock = yield external_wp_data_["controls"].select(STORE_NAME, 'getTemplateLock', fromRootClientId); // If locking is equal to all on the original clientId (fromRootClientId), - // it is not possible to move the block to any other position. - - if (templateLock === 'all') { - return; - } - - const action = { - type: 'MOVE_BLOCKS_TO_POSITION', - fromRootClientId, - toRootClientId, - clientIds, - index - }; // If moving inside the same root block the move is always possible. - - if (fromRootClientId === toRootClientId) { - yield action; - return; - } // If templateLock is insert we can not remove the block from the parent. - // Given that here we know that we are moving the block to a different - // parent, the move should not be possible if the condition is true. - - - if (templateLock === 'insert') { - return; - } - - const canInsertBlocks = yield external_wp_data_["controls"].select(STORE_NAME, 'canInsertBlocks', clientIds, toRootClientId); // If moving to other parent block, the move is possible if we can insert a block of the same type inside the new parent block. - - if (canInsertBlocks) { - yield action; - } -} -/** - * Returns an action object signalling that the given block should be moved to a - * new position. - * - * @param {?string} clientId The client ID of the block. - * @param {?string} fromRootClientId Root client ID source. - * @param {?string} toRootClientId Root client ID destination. - * @param {number} index The index to move the block to. - * - * @yield {Object} Action object. - */ - -function* actions_moveBlockToPosition(clientId, fromRootClientId = '', toRootClientId = '', index) { - yield actions_moveBlocksToPosition([clientId], fromRootClientId, toRootClientId, index); -} -/** - * Returns an action object used in signalling that a single block should be - * inserted, optionally at a specific index respective a root block list. - * - * @param {Object} block Block object to insert. - * @param {?number} index Index at which block should be inserted. - * @param {?string} rootClientId Optional root client ID of block list on which to insert. - * @param {?boolean} updateSelection If true block selection will be updated. If false, block selection will not change. Defaults to true. - * @param {?Object} meta Optional Meta values to be passed to the action object. - * - * @return {Object} Action object. - */ - -function actions_insertBlock(block, index, rootClientId, updateSelection = true, meta) { - return actions_insertBlocks([block], index, rootClientId, updateSelection, 0, meta); -} -/** - * Returns an action object used in signalling that an array of blocks should - * be inserted, optionally at a specific index respective a root block list. - * - * @param {Object[]} blocks Block objects to insert. - * @param {?number} index Index at which block should be inserted. - * @param {?string} rootClientId Optional root client ID of block list on which to insert. - * @param {?boolean} updateSelection If true block selection will be updated. If false, block selection will not change. Defaults to true. - * @param {0|-1|null} initialPosition Initial focus position. Setting it to null prevent focusing the inserted block. - * @param {?Object} meta Optional Meta values to be passed to the action object. - * @return {Object} Action object. - */ - -function* actions_insertBlocks(blocks, index, rootClientId, updateSelection = true, initialPosition = 0, meta) { - if (Object(external_lodash_["isObject"])(initialPosition)) { - meta = initialPosition; - initialPosition = 0; - external_wp_deprecated_default()("meta argument in wp.data.dispatch('core/block-editor')", { - since: '10.1', - plugin: 'Gutenberg', - hint: 'The meta argument is now the 6th argument of the function' - }); - } - - blocks = getBlocksWithDefaultStylesApplied(Object(external_lodash_["castArray"])(blocks), yield external_wp_data_["controls"].select(STORE_NAME, 'getSettings')); - const allowedBlocks = []; - - for (const block of blocks) { - const isValid = yield external_wp_data_["controls"].select(STORE_NAME, 'canInsertBlockType', block.name, rootClientId); - - if (isValid) { - allowedBlocks.push(block); - } - } - - if (allowedBlocks.length) { - return { - type: 'INSERT_BLOCKS', - blocks: allowedBlocks, - index, - rootClientId, - time: Date.now(), - updateSelection, - initialPosition: updateSelection ? initialPosition : null, - meta - }; - } -} -/** - * Returns an action object used in signalling that the insertion point should - * be shown. - * - * @param {?string} rootClientId Optional root client ID of block list on - * which to insert. - * @param {?number} index Index at which block should be inserted. - * @param {Object} __unstableOptions Wether or not to show an inserter button. - * - * @return {Object} Action object. - */ - -function actions_showInsertionPoint(rootClientId, index, __unstableOptions = {}) { - const { - __unstableWithInserter - } = __unstableOptions; - return { - type: 'SHOW_INSERTION_POINT', - rootClientId, - index, - __unstableWithInserter - }; -} -/** - * Returns an action object hiding the insertion point. - * - * @return {Object} Action object. - */ - -function actions_hideInsertionPoint() { - return { - type: 'HIDE_INSERTION_POINT' - }; -} -/** - * Returns an action object resetting the template validity. - * - * @param {boolean} isValid template validity flag. - * - * @return {Object} Action object. - */ - -function setTemplateValidity(isValid) { - return { - type: 'SET_TEMPLATE_VALIDITY', - isValid - }; -} -/** - * Returns an action object synchronize the template with the list of blocks - * - * @return {Object} Action object. - */ - -function* synchronizeTemplate() { - yield { - type: 'SYNCHRONIZE_TEMPLATE' - }; - const blocks = yield external_wp_data_["controls"].select(STORE_NAME, 'getBlocks'); - const template = yield external_wp_data_["controls"].select(STORE_NAME, 'getTemplate'); - const updatedBlockList = Object(external_wp_blocks_["synchronizeBlocksWithTemplate"])(blocks, template); - return yield actions_resetBlocks(updatedBlockList); -} -/** - * Returns an action object used in signalling that two blocks should be merged - * - * @param {string} firstBlockClientId Client ID of the first block to merge. - * @param {string} secondBlockClientId Client ID of the second block to merge. - */ - -function* actions_mergeBlocks(firstBlockClientId, secondBlockClientId) { - const blocks = [firstBlockClientId, secondBlockClientId]; - yield { - type: 'MERGE_BLOCKS', - blocks - }; - const [clientIdA, clientIdB] = blocks; - const blockA = yield external_wp_data_["controls"].select(STORE_NAME, 'getBlock', clientIdA); - const blockAType = Object(external_wp_blocks_["getBlockType"])(blockA.name); // Only focus the previous block if it's not mergeable - - if (!blockAType.merge) { - yield actions_selectBlock(blockA.clientId); - return; - } - - const blockB = yield external_wp_data_["controls"].select(STORE_NAME, 'getBlock', clientIdB); - const blockBType = Object(external_wp_blocks_["getBlockType"])(blockB.name); - const { - clientId, - attributeKey, - offset - } = yield external_wp_data_["controls"].select(STORE_NAME, 'getSelectionStart'); - const selectedBlockType = clientId === clientIdA ? blockAType : blockBType; - const attributeDefinition = selectedBlockType.attributes[attributeKey]; - const canRestoreTextSelection = (clientId === clientIdA || clientId === clientIdB) && attributeKey !== undefined && offset !== undefined && // We cannot restore text selection if the RichText identifier - // is not a defined block attribute key. This can be the case if the - // fallback intance ID is used to store selection (and no RichText - // identifier is set), or when the identifier is wrong. - !!attributeDefinition; - - if (!attributeDefinition) { - if (typeof attributeKey === 'number') { - 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 attributeKey}`); - } else { - window.console.error('The RichText identifier prop does not match any attributes defined by the block.'); - } - } // A robust way to retain selection position through various transforms - // is to insert a special character at the position and then recover it. - - - const START_OF_SELECTED_AREA = '\u0086'; // Clone the blocks so we don't insert the character in a "live" block. - - const cloneA = Object(external_wp_blocks_["cloneBlock"])(blockA); - const cloneB = Object(external_wp_blocks_["cloneBlock"])(blockB); - - if (canRestoreTextSelection) { - const selectedBlock = clientId === clientIdA ? cloneA : cloneB; - const html = selectedBlock.attributes[attributeKey]; - const { - multiline: multilineTag, - __unstableMultilineWrapperTags: multilineWrapperTags, - __unstablePreserveWhiteSpace: preserveWhiteSpace - } = attributeDefinition; - const value = Object(external_wp_richText_["insert"])(Object(external_wp_richText_["create"])({ - html, - multilineTag, - multilineWrapperTags, - preserveWhiteSpace - }), START_OF_SELECTED_AREA, offset, offset); - selectedBlock.attributes[attributeKey] = Object(external_wp_richText_["toHTMLString"])({ - value, - multilineTag, - preserveWhiteSpace - }); - } // We can only merge blocks with similar types - // thus, we transform the block to merge first - - - const blocksWithTheSameType = blockA.name === blockB.name ? [cloneB] : Object(external_wp_blocks_["switchToBlockType"])(cloneB, blockA.name); // If the block types can not match, do nothing - - if (!blocksWithTheSameType || !blocksWithTheSameType.length) { - return; - } // Calling the merge to update the attributes and remove the block to be merged - - - const updatedAttributes = blockAType.merge(cloneA.attributes, blocksWithTheSameType[0].attributes); - - if (canRestoreTextSelection) { - const newAttributeKey = Object(external_lodash_["findKey"])(updatedAttributes, v => typeof v === 'string' && v.indexOf(START_OF_SELECTED_AREA) !== -1); - const convertedHtml = updatedAttributes[newAttributeKey]; - const { - multiline: multilineTag, - __unstableMultilineWrapperTags: multilineWrapperTags, - __unstablePreserveWhiteSpace: preserveWhiteSpace - } = blockAType.attributes[newAttributeKey]; - const convertedValue = Object(external_wp_richText_["create"])({ - html: convertedHtml, - multilineTag, - multilineWrapperTags, - preserveWhiteSpace - }); - const newOffset = convertedValue.text.indexOf(START_OF_SELECTED_AREA); - const newValue = Object(external_wp_richText_["remove"])(convertedValue, newOffset, newOffset + 1); - const newHtml = Object(external_wp_richText_["toHTMLString"])({ - value: newValue, - multilineTag, - preserveWhiteSpace - }); - updatedAttributes[newAttributeKey] = newHtml; - yield actions_selectionChange(blockA.clientId, newAttributeKey, newOffset, newOffset); - } - - yield* actions_replaceBlocks([blockA.clientId, blockB.clientId], [{ ...blockA, - attributes: { ...blockA.attributes, - ...updatedAttributes - } - }, ...blocksWithTheSameType.slice(1)]); -} -/** - * Yields action objects used in signalling that the blocks corresponding to - * the set of specified client IDs are to be removed. - * - * @param {string|string[]} clientIds Client IDs of blocks to remove. - * @param {boolean} selectPrevious True if the previous block should be - * selected when a block is removed. - */ - -function* actions_removeBlocks(clientIds, selectPrevious = true) { - if (!clientIds || !clientIds.length) { - return; - } - - clientIds = Object(external_lodash_["castArray"])(clientIds); - const rootClientId = yield external_wp_data_["controls"].select(STORE_NAME, 'getBlockRootClientId', clientIds[0]); - const isLocked = yield external_wp_data_["controls"].select(STORE_NAME, 'getTemplateLock', rootClientId); - - if (isLocked) { - return; - } - - let previousBlockId; - - if (selectPrevious) { - previousBlockId = yield selectPreviousBlock(clientIds[0]); - } else { - previousBlockId = yield external_wp_data_["controls"].select(STORE_NAME, 'getPreviousBlockClientId', clientIds[0]); - } - - yield { - type: 'REMOVE_BLOCKS', - clientIds - }; // To avoid a focus loss when removing the last block, assure there is - // always a default block if the last of the blocks have been removed. - - const defaultBlockId = yield* ensureDefaultBlock(); - return [previousBlockId || defaultBlockId]; -} -/** - * Returns an action object used in signalling that the block with the - * specified client ID is to be removed. - * - * @param {string} clientId Client ID of block to remove. - * @param {boolean} selectPrevious True if the previous block should be - * selected when a block is removed. - * - * @return {Object} Action object. - */ - -function actions_removeBlock(clientId, selectPrevious) { - return actions_removeBlocks([clientId], selectPrevious); -} -/** - * Returns an action object used in signalling that the inner blocks with the - * specified client ID should be replaced. - * - * @param {string} rootClientId Client ID of the block whose InnerBlocks will re replaced. - * @param {Object[]} blocks Block objects to insert as new InnerBlocks - * @param {?boolean} updateSelection If true block selection will be updated. If false, block selection will not change. Defaults to false. - * @param {0|-1|null} initialPosition Initial block position. - * @return {Object} Action object. - */ - -function actions_replaceInnerBlocks(rootClientId, blocks, updateSelection = false, initialPosition = 0) { - return { - type: 'REPLACE_INNER_BLOCKS', - rootClientId, - blocks, - updateSelection, - initialPosition: updateSelection ? initialPosition : null, - time: Date.now() - }; -} -/** - * Returns an action object used to toggle the block editing mode between - * visual and HTML modes. - * - * @param {string} clientId Block client ID. - * - * @return {Object} Action object. - */ - -function toggleBlockMode(clientId) { - return { - type: 'TOGGLE_BLOCK_MODE', - clientId - }; -} -/** - * Returns an action object used in signalling that the user has begun to type. - * - * @return {Object} Action object. - */ - -function actions_startTyping() { - return { - type: 'START_TYPING' - }; -} -/** - * Returns an action object used in signalling that the user has stopped typing. - * - * @return {Object} Action object. - */ - -function actions_stopTyping() { - return { - type: 'STOP_TYPING' - }; -} -/** - * Returns an action object used in signalling that the user has begun to drag blocks. - * - * @param {string[]} clientIds An array of client ids being dragged - * - * @return {Object} Action object. - */ - -function actions_startDraggingBlocks(clientIds = []) { - return { - type: 'START_DRAGGING_BLOCKS', - clientIds - }; -} -/** - * Returns an action object used in signalling that the user has stopped dragging blocks. - * - * @return {Object} Action object. - */ - -function actions_stopDraggingBlocks() { - return { - type: 'STOP_DRAGGING_BLOCKS' - }; -} -/** - * Returns an action object used in signalling that the caret has entered formatted text. - * - * @return {Object} Action object. - */ - -function actions_enterFormattedText() { - return { - type: 'ENTER_FORMATTED_TEXT' - }; -} -/** - * Returns an action object used in signalling that the user caret has exited formatted text. - * - * @return {Object} Action object. - */ - -function actions_exitFormattedText() { - return { - type: 'EXIT_FORMATTED_TEXT' - }; -} -/** - * Returns an action object used in signalling that the user caret has changed - * position. - * - * @param {string} clientId The selected block client ID. - * @param {string} attributeKey The selected block attribute key. - * @param {number} startOffset The start offset. - * @param {number} endOffset The end offset. - * - * @return {Object} Action object. - */ - -function actions_selectionChange(clientId, attributeKey, startOffset, endOffset) { - return { - type: 'SELECTION_CHANGE', - clientId, - attributeKey, - startOffset, - endOffset - }; -} -/** - * Returns an action object used in signalling that a new block of the default - * type should be added to the block list. - * - * @param {?Object} attributes Optional attributes of the block to assign. - * @param {?string} rootClientId Optional root client ID of block list on which - * to append. - * @param {?number} index Optional index where to insert the default block - * - * @return {Object} Action object - */ - -function actions_insertDefaultBlock(attributes, rootClientId, index) { - // Abort if there is no default block type (if it has been unregistered). - const defaultBlockName = Object(external_wp_blocks_["getDefaultBlockName"])(); - - if (!defaultBlockName) { - return; - } - - const block = Object(external_wp_blocks_["createBlock"])(defaultBlockName, attributes); - return actions_insertBlock(block, index, rootClientId); -} -/** - * Returns an action object that changes the nested settings of a given block. - * - * @param {string} clientId Client ID of the block whose nested setting are - * being received. - * @param {Object} settings Object with the new settings for the nested block. - * - * @return {Object} Action object - */ - -function actions_updateBlockListSettings(clientId, settings) { - return { - type: 'UPDATE_BLOCK_LIST_SETTINGS', - clientId, - settings - }; -} -/** - * Returns an action object used in signalling that the block editor settings have been updated. - * - * @param {Object} settings Updated settings - * - * @return {Object} Action object - */ - -function actions_updateSettings(settings) { - return { - type: 'UPDATE_SETTINGS', - settings - }; -} -/** - * Returns an action object used in signalling that a temporary reusable blocks have been saved - * in order to switch its temporary id with the real id. - * - * @param {string} id Reusable block's id. - * @param {string} updatedId Updated block's id. - * - * @return {Object} Action object. - */ - -function __unstableSaveReusableBlock(id, updatedId) { - return { - type: 'SAVE_REUSABLE_BLOCK_SUCCESS', - id, - updatedId - }; -} -/** - * Returns an action object used in signalling that the last block change should be marked explicitly as persistent. - * - * @return {Object} Action object. - */ - -function actions_unstableMarkLastChangeAsPersistent() { - return { - type: 'MARK_LAST_CHANGE_AS_PERSISTENT' - }; -} -/** - * Returns an action object used in signalling that the next block change should be marked explicitly as not persistent. - * - * @return {Object} Action object. - */ - -function actions_unstableMarkNextChangeAsNotPersistent() { - return { - type: 'MARK_NEXT_CHANGE_AS_NOT_PERSISTENT' - }; -} -/** - * Returns an action object used in signalling that the last block change is - * an automatic change, meaning it was not performed by the user, and can be - * undone using the `Escape` and `Backspace` keys. This action must be called - * after the change was made, and any actions that are a consequence of it, so - * it is recommended to be called at the next idle period to ensure all - * selection changes have been recorded. - */ - -function* actions_unstableMarkAutomaticChange() { - yield { - type: 'MARK_AUTOMATIC_CHANGE' - }; - yield __unstableMarkAutomaticChangeFinalControl(); -} -function __unstableMarkAutomaticChangeFinal() { - return { - type: 'MARK_AUTOMATIC_CHANGE_FINAL' - }; -} -/** - * Generators that triggers an action used to enable or disable the navigation mode. - * - * @param {string} isNavigationMode Enable/Disable navigation mode. - */ - -function* actions_setNavigationMode(isNavigationMode = true) { - yield { - type: 'SET_NAVIGATION_MODE', - isNavigationMode - }; - - if (isNavigationMode) { - Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('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.')); - } else { - Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('You are currently in edit mode. To return to the navigation mode, press Escape.')); - } -} -/** - * Generator that triggers an action used to enable or disable the block moving mode. - * - * @param {string|null} hasBlockMovingClientId Enable/Disable block moving mode. - */ - -function* actions_setBlockMovingClientId(hasBlockMovingClientId = null) { - yield { - type: 'SET_BLOCK_MOVING_MODE', - hasBlockMovingClientId - }; - - if (hasBlockMovingClientId) { - Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('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.')); - } -} -/** - * Generator that triggers an action used to duplicate a list of blocks. - * - * @param {string[]} clientIds - * @param {boolean} updateSelection - */ - -function* actions_duplicateBlocks(clientIds, updateSelection = true) { - if (!clientIds && !clientIds.length) { - return; - } - - const blocks = yield external_wp_data_["controls"].select(STORE_NAME, 'getBlocksByClientId', clientIds); - const rootClientId = yield external_wp_data_["controls"].select(STORE_NAME, 'getBlockRootClientId', clientIds[0]); // Return early if blocks don't exist. - - if (Object(external_lodash_["some"])(blocks, block => !block)) { - return; - } - - const blockNames = blocks.map(block => block.name); // Return early if blocks don't support multiple usage. - - if (Object(external_lodash_["some"])(blockNames, blockName => !Object(external_wp_blocks_["hasBlockSupport"])(blockName, 'multiple', true))) { - return; - } - - const lastSelectedIndex = yield external_wp_data_["controls"].select(STORE_NAME, 'getBlockIndex', Object(external_lodash_["last"])(Object(external_lodash_["castArray"])(clientIds)), rootClientId); - const clonedBlocks = blocks.map(block => Object(external_wp_blocks_["__experimentalCloneSanitizedBlock"])(block)); - yield actions_insertBlocks(clonedBlocks, lastSelectedIndex + 1, rootClientId, updateSelection); - - if (clonedBlocks.length > 1 && updateSelection) { - yield actions_multiSelect(Object(external_lodash_["first"])(clonedBlocks).clientId, Object(external_lodash_["last"])(clonedBlocks).clientId); - } - - return clonedBlocks.map(block => block.clientId); -} -/** - * Generator used to insert an empty block after a given block. - * - * @param {string} clientId - */ - -function* actions_insertBeforeBlock(clientId) { - if (!clientId) { - return; - } - - const rootClientId = yield external_wp_data_["controls"].select(STORE_NAME, 'getBlockRootClientId', clientId); - const isLocked = yield external_wp_data_["controls"].select(STORE_NAME, 'getTemplateLock', rootClientId); - - if (isLocked) { - return; - } - - const firstSelectedIndex = yield external_wp_data_["controls"].select(STORE_NAME, 'getBlockIndex', clientId, rootClientId); - return yield actions_insertDefaultBlock({}, rootClientId, firstSelectedIndex); -} -/** - * Generator used to insert an empty block before a given block. - * - * @param {string} clientId - */ - -function* actions_insertAfterBlock(clientId) { - if (!clientId) { - return; - } - - const rootClientId = yield external_wp_data_["controls"].select(STORE_NAME, 'getBlockRootClientId', clientId); - const isLocked = yield external_wp_data_["controls"].select(STORE_NAME, 'getTemplateLock', rootClientId); - - if (isLocked) { - return; - } - - const firstSelectedIndex = yield external_wp_data_["controls"].select(STORE_NAME, 'getBlockIndex', clientId, rootClientId); - return yield actions_insertDefaultBlock({}, rootClientId, firstSelectedIndex + 1); -} -/** - * Returns an action object that toggles the highlighted block state. - * - * @param {string} clientId The block's clientId. - * @param {boolean} isHighlighted The highlight state. - */ - -function actions_toggleBlockHighlight(clientId, isHighlighted) { - return { - type: 'TOGGLE_BLOCK_HIGHLIGHT', - clientId, - isHighlighted - }; -} -/** - * Yields action objects used in signalling that the block corresponding to the - * given clientId should appear to "flash" by rhythmically highlighting it. - * - * @param {string} clientId Target block client ID. - */ - -function* actions_flashBlock(clientId) { - yield actions_toggleBlockHighlight(clientId, true); - yield { - type: 'SLEEP', - duration: 150 - }; - yield actions_toggleBlockHighlight(clientId, false); -} -/** - * Returns an action object that sets whether the block has controlled innerblocks. - * - * @param {string} clientId The block's clientId. - * @param {boolean} hasControlledInnerBlocks True if the block's inner blocks are controlled. - */ - -function actions_setHasControlledInnerBlocks(clientId, hasControlledInnerBlocks) { - return { - type: 'SET_HAS_CONTROLLED_INNER_BLOCKS', - hasControlledInnerBlocks, - clientId - }; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - - - - -/** - * Block editor data store configuration. - * - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#registerStore - * - * @type {Object} - */ - -const storeConfig = { - reducer: store_reducer, - selectors: selectors_namespaceObject, - actions: actions_namespaceObject, - controls: store_controls -}; -/** - * Store definition for the block editor namespace. - * - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore - * - * @type {Object} - */ - -const store = Object(external_wp_data_["createReduxStore"])(STORE_NAME, { ...storeConfig, - persist: ['preferences'] -}); // Ideally we'd use register instead of register stores. - -Object(external_wp_data_["registerStore"])(STORE_NAME, { ...storeConfig, - persist: ['preferences'] -}); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-display-block-controls/index.js -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - -function useDisplayBlockControls() { - const { - isSelected, - clientId, - name - } = useBlockEditContext(); - const isFirstAndSameTypeMultiSelected = Object(external_wp_data_["useSelect"])(select => { - // Don't bother checking, see OR statement below. - if (isSelected) { - return; - } - - const { - getBlockName, - isFirstMultiSelectedBlock, - getMultiSelectedBlockClientIds - } = select(store); - - if (!isFirstMultiSelectedBlock(clientId)) { - return false; - } - - return getMultiSelectedBlockClientIds().every(id => getBlockName(id) === name); - }, [clientId, isSelected, name]); - return isSelected || isFirstAndSameTypeMultiSelected; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/groups.js -/** - * WordPress dependencies - */ - -const BlockControlsDefault = Object(external_wp_components_["createSlotFill"])('BlockControls'); -const BlockControlsBlock = Object(external_wp_components_["createSlotFill"])('BlockControlsBlock'); -const BlockControlsInline = Object(external_wp_components_["createSlotFill"])('BlockFormatControls'); -const BlockControlsOther = Object(external_wp_components_["createSlotFill"])('BlockControlsOther'); -const groups = { - default: BlockControlsDefault, - block: BlockControlsBlock, - inline: BlockControlsInline, - other: BlockControlsOther -}; -/* harmony default export */ var block_controls_groups = (groups); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/fill.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - -function BlockControlsFill({ - group = 'default', - controls, - children -}) { - if (!useDisplayBlockControls()) { - return null; - } - - const Fill = block_controls_groups[group].Fill; - return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalStyleProvider"], { - document: document - }, Object(external_wp_element_["createElement"])(Fill, null, fillProps => { - // Children passed to BlockControlsFill will not have access to any - // React Context whose Provider is part of the BlockControlsSlot tree. - // So we re-create the Provider in this subtree. - const value = !Object(external_lodash_["isEmpty"])(fillProps) ? fillProps : null; - return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolbarContext"].Provider, { - value: value - }, group === 'default' && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], { - controls: controls - }), children); - })); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/slot.js - - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -function BlockControlsSlot({ - group = 'default', - ...props -}) { - const accessibleToolbarState = Object(external_wp_element_["useContext"])(external_wp_components_["__experimentalToolbarContext"]); - const Slot = block_controls_groups[group].Slot; - const slot = Object(external_wp_components_["__experimentalUseSlot"])(Slot.__unstableName); - const hasFills = Boolean(slot.fills && slot.fills.length); - - if (!hasFills) { - return null; - } - - if (group === 'default') { - return Object(external_wp_element_["createElement"])(Slot, Object(esm_extends["a" /* default */])({}, props, { - bubblesVirtually: true, - fillProps: accessibleToolbarState - })); - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(Slot, Object(esm_extends["a" /* default */])({}, props, { - bubblesVirtually: true, - fillProps: accessibleToolbarState - }))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-controls/index.js - - - -/** - * Internal dependencies - */ - - -const BlockControls = BlockControlsFill; -BlockControls.Slot = BlockControlsSlot; // This is just here for backward compatibility - -const BlockFormatControls = props => { - return Object(external_wp_element_["createElement"])(BlockControlsFill, Object(esm_extends["a" /* default */])({ - group: "inline" - }, props)); -}; - -BlockFormatControls.Slot = props => { - return Object(external_wp_element_["createElement"])(BlockControlsSlot, Object(esm_extends["a" /* default */])({ - group: "inline" - }, props)); -}; - -/* harmony default export */ var block_controls = (BlockControls); - -// EXTERNAL MODULE: external ["wp","primitives"] -var external_wp_primitives_ = __webpack_require__("Tqx9"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/position-left.js - - -/** - * WordPress dependencies - */ - -const positionLeft = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M4 9v6h14V9H4zm8-4.8H4v1.5h8V4.2zM4 19.8h8v-1.5H4v1.5z" -})); -/* harmony default export */ var position_left = (positionLeft); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/position-center.js - - -/** - * WordPress dependencies - */ - -const positionCenter = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M5 15h14V9H5v6zm0 4.8h14v-1.5H5v1.5zM5 4.2v1.5h14V4.2H5z" -})); -/* harmony default export */ var position_center = (positionCenter); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/position-right.js - - -/** - * WordPress dependencies - */ - -const positionRight = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M6 15h14V9H6v6zm6-10.8v1.5h8V4.2h-8zm0 15.6h8v-1.5h-8v1.5z" -})); -/* harmony default export */ var position_right = (positionRight); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/stretch-wide.js - - -/** - * WordPress dependencies - */ - -const stretchWide = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M5 9v6h14V9H5zm11-4.8H8v1.5h8V4.2zM8 19.8h8v-1.5H8v1.5z" -})); -/* harmony default export */ var stretch_wide = (stretchWide); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/stretch-full-width.js - - -/** - * WordPress dependencies - */ - -const stretchFullWidth = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M5 4v11h14V4H5zm3 15.8h8v-1.5H8v1.5z" -})); -/* harmony default export */ var stretch_full_width = (stretchFullWidth); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/layout.js - - -/** - * WordPress dependencies - */ - -const layout_defaultLayout = { - type: 'default' -}; -const Layout = Object(external_wp_element_["createContext"])(layout_defaultLayout); - -function appendSelectors(selectors, append) { - // Ideally we shouldn't need the `.editor-styles-wrapper` increased specificity here - // The problem though is that we have a `.editor-styles-wrapper p { margin: reset; }` style - // it's used to reset the default margin added by wp-admin to paragraphs - // so we need this to be higher speficity otherwise, it won't be applied to paragraphs inside containers - // When the post editor is fully iframed, this extra classname could be removed. - return selectors.split(',').map(subselector => `.editor-styles-wrapper ${subselector} ${append}`).join(','); -} -/** - * Allows to define the layout. - */ - - -const LayoutProvider = Layout.Provider; -/** - * React hook used to retrieve the layout config. - */ - -function useLayout() { - return Object(external_wp_element_["useContext"])(Layout); -} -function LayoutStyle({ - selector, - layout = {} -}) { - const { - contentSize, - wideSize - } = layout; - let style = !!contentSize || !!wideSize ? ` - ${appendSelectors(selector, '> *')} { - max-width: ${contentSize !== null && contentSize !== void 0 ? contentSize : wideSize}; - margin-left: auto !important; - margin-right: auto !important; - } - - ${appendSelectors(selector, '> [data-align="wide"]')} { - max-width: ${wideSize !== null && wideSize !== void 0 ? wideSize : contentSize}; - } - - ${appendSelectors(selector, '> [data-align="full"]')} { - max-width: none; - } - ` : ''; - style += ` - ${appendSelectors(selector, '> [data-align="left"]')} { - float: left; - margin-right: 2em; - } - - ${appendSelectors(selector, '> [data-align="right"]')} { - float: right; - margin-left: 2em; - } - `; - return Object(external_wp_element_["createElement"])("style", null, style); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-alignment-control/use-available-alignments.js -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - -const DEFAULT_CONTROLS = ['left', 'center', 'right', 'wide', 'full']; -const WIDE_CONTROLS = ['wide', 'full']; -function useAvailableAlignments(controls = DEFAULT_CONTROLS) { - const { - wideControlsEnabled = false - } = Object(external_wp_data_["useSelect"])(select => { - const { - getSettings - } = select(store); - const settings = getSettings(); - return { - wideControlsEnabled: settings.alignWide - }; - }, []); - const layout = useLayout(); - const supportsAlignments = layout.type === 'default'; - - if (!supportsAlignments) { - return []; - } - - const { - alignments: availableAlignments = 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)); - return enabledControls; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-alignment-control/ui.js - - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -const BLOCK_ALIGNMENTS_CONTROLS = { - left: { - icon: position_left, - title: Object(external_wp_i18n_["__"])('Align left') - }, - center: { - icon: position_center, - title: Object(external_wp_i18n_["__"])('Align center') - }, - right: { - icon: position_right, - title: Object(external_wp_i18n_["__"])('Align right') - }, - wide: { - icon: stretch_wide, - title: Object(external_wp_i18n_["__"])('Wide width') - }, - full: { - icon: stretch_full_width, - title: Object(external_wp_i18n_["__"])('Full width') - } -}; -const DEFAULT_CONTROL = 'center'; -const ui_POPOVER_PROPS = { - isAlternate: true -}; - -function BlockAlignmentUI({ - value, - onChange, - controls, - isToolbar, - isCollapsed = true -}) { - const enabledControls = useAvailableAlignments(controls); - - if (enabledControls.length === 0) { - return null; - } - - function applyOrUnset(align) { - return () => onChange(value === align ? undefined : align); - } - - const activeAlignmentControl = BLOCK_ALIGNMENTS_CONTROLS[value]; - const defaultAlignmentControl = BLOCK_ALIGNMENTS_CONTROLS[DEFAULT_CONTROL]; - const UIComponent = isToolbar ? external_wp_components_["ToolbarGroup"] : external_wp_components_["ToolbarDropdownMenu"]; - const extraProps = isToolbar ? { - isCollapsed - } : {}; - return Object(external_wp_element_["createElement"])(UIComponent, Object(esm_extends["a" /* default */])({ - popoverProps: ui_POPOVER_PROPS, - icon: activeAlignmentControl ? activeAlignmentControl.icon : defaultAlignmentControl.icon, - label: Object(external_wp_i18n_["__"])('Align'), - toggleProps: { - describedBy: Object(external_wp_i18n_["__"])('Change alignment') - }, - controls: enabledControls.map(control => { - return { ...BLOCK_ALIGNMENTS_CONTROLS[control], - isActive: value === control, - role: isCollapsed ? 'menuitemradio' : undefined, - onClick: applyOrUnset(control) - }; - }) - }, extraProps)); -} - -/* harmony default export */ var ui = (BlockAlignmentUI); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-alignment-control/index.js - - - -/** - * Internal dependencies - */ - -function BlockAlignmentControl(props) { - return Object(external_wp_element_["createElement"])(ui, Object(esm_extends["a" /* default */])({}, props, { - isToolbar: false - })); -} -function BlockAlignmentToolbar(props) { - return Object(external_wp_element_["createElement"])(ui, Object(esm_extends["a" /* default */])({}, props, { - isToolbar: true - })); -} +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-alignment-control/use-available-alignments.js +var use_available_alignments = __webpack_require__("K/rC"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/align.js @@ -12964,7 +40205,7 @@ function getValidAlignments(blockAlign, hasWideBlockSupport = true, hasWideEnabl validAlignments = ALL_ALIGNMENTS.filter(value => blockAlign.includes(value)); } else if (blockAlign === true) { // `true` includes all alignments... - validAlignments = ALL_ALIGNMENTS; + validAlignments = [...ALL_ALIGNMENTS]; } else { validAlignments = []; } @@ -12978,8 +40219,9 @@ function getValidAlignments(blockAlign, hasWideBlockSupport = true, hasWideEnabl /** * Filters registered block settings, extending attributes to include `align`. * - * @param {Object} settings Original block settings - * @return {Object} Filtered block settings + * @param {Object} settings Original block settings. + * + * @return {Object} Filtered block settings. */ function addAttribute(settings) { @@ -13006,27 +40248,30 @@ function addAttribute(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 + * @param {Function} BlockEdit Original component. + * + * @return {Function} Wrapped component. */ const withToolbarControls = Object(external_wp_compose_["createHigherOrderComponent"])(BlockEdit => props => { const { name: blockName - } = props; // Compute the block allowed alignments without taking into account, - // if the theme supports wide alignments or not - // and without checking the layout for availble alignments. - // BlockAlignmentToolbar takes both of these into account. + } = props; // 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 + // Slot. const blockAllowedAlignments = getValidAlignments(Object(external_wp_blocks_["getBlockSupport"])(blockName, 'align'), Object(external_wp_blocks_["hasBlockSupport"])(blockName, 'alignWide', true)); - const validAlignments = useAvailableAlignments(blockAllowedAlignments); + const validAlignments = Object(use_available_alignments["a" /* default */])(blockAllowedAlignments).map(({ + name + }) => name); const updateAlignment = nextAlign => { if (!nextAlign) { var _blockType$attributes, _blockType$attributes2; const blockType = Object(external_wp_blocks_["getBlockType"])(props.name); - const blockDefaultAlign = (_blockType$attributes = blockType.attributes) === null || _blockType$attributes === void 0 ? void 0 : (_blockType$attributes2 = _blockType$attributes.align) === null || _blockType$attributes2 === void 0 ? void 0 : _blockType$attributes2.default; + const blockDefaultAlign = blockType === null || blockType === void 0 ? void 0 : (_blockType$attributes = blockType.attributes) === null || _blockType$attributes === void 0 ? void 0 : (_blockType$attributes2 = _blockType$attributes.align) === null || _blockType$attributes2 === void 0 ? void 0 : _blockType$attributes2.default; if (blockDefaultAlign) { nextAlign = ''; @@ -13038,22 +40283,21 @@ const withToolbarControls = Object(external_wp_compose_["createHigherOrderCompon }); }; - return [validAlignments.length > 0 && props.isSelected && Object(external_wp_element_["createElement"])(block_controls, { - key: "align-controls", - group: "block" - }, Object(external_wp_element_["createElement"])(BlockAlignmentControl, { + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, !!validAlignments.length && Object(external_wp_element_["createElement"])(block_controls["b" /* default */], { + group: "block", + __experimentalShareWithChildBlocks: true + }, Object(external_wp_element_["createElement"])(block_alignment_control["a" /* BlockAlignmentControl */], { value: props.attributes.align, onChange: updateAlignment, controls: validAlignments - })), Object(external_wp_element_["createElement"])(BlockEdit, Object(esm_extends["a" /* default */])({ - key: "edit" - }, props))]; + })), Object(external_wp_element_["createElement"])(BlockEdit, props)); }, 'withToolbarControls'); /** * Override the default block element to add alignment wrapper props. * - * @param {Function} BlockListBlock Original component - * @return {Function} Wrapped component + * @param {Function} BlockListBlock Original component. + * + * @return {Function} Wrapped component. */ const withDataAlign = Object(external_wp_compose_["createHigherOrderComponent"])(BlockListBlock => props => { @@ -13065,7 +40309,7 @@ const withDataAlign = Object(external_wp_compose_["createHigherOrderComponent"]) align } = attributes; const blockAllowedAlignments = getValidAlignments(Object(external_wp_blocks_["getBlockSupport"])(name, 'align'), Object(external_wp_blocks_["hasBlockSupport"])(name, 'alignWide', true)); - const validAlignments = useAvailableAlignments(blockAllowedAlignments); // If an alignment is not assigned, there's no need to go through the + const validAlignments = Object(use_available_alignments["a" /* default */])(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) { @@ -13074,7 +40318,7 @@ const withDataAlign = Object(external_wp_compose_["createHigherOrderComponent"]) let wrapperProps = props.wrapperProps; - if (validAlignments.includes(align)) { + if (validAlignments.some(alignment => alignment.name === align)) { wrapperProps = { ...wrapperProps, 'data-align': align }; @@ -13088,10 +40332,11 @@ const withDataAlign = Object(external_wp_compose_["createHigherOrderComponent"]) * Override props assigned to save component to inject alignment class name if * block supports it. * - * @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 + * @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 addAssignedAlign(props, blockType, attributes) { @@ -13116,74 +40361,48 @@ Object(external_wp_hooks_["addFilter"])('editor.BlockListBlock', 'core/editor/al Object(external_wp_hooks_["addFilter"])('editor.BlockEdit', 'core/editor/align/with-toolbar-controls', withToolbarControls); Object(external_wp_hooks_["addFilter"])('blocks.getSaveContent.extraProps', 'core/align/addAssignedAlign', addAssignedAlign); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inspector-advanced-controls/index.js - +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/lock.js +/** + * External dependencies + */ /** * WordPress dependencies */ + /** - * Internal dependencies + * Filters registered block settings, extending attributes to include `lock`. + * + * @param {Object} settings Original block settings. + * + * @return {Object} Filtered block settings. */ +function lock_addAttribute(settings) { + // allow blocks to specify their own attribute definition with default values if needed. + if (Object(external_lodash_["has"])(settings.attributes, ['lock', 'type'])) { + return settings; + } // Gracefully handle if settings.attributes is undefined. -const inspector_advanced_controls_name = 'InspectorAdvancedControls'; -const { - Fill: inspector_advanced_controls_Fill, - Slot: inspector_advanced_controls_Slot -} = Object(external_wp_components_["createSlotFill"])(inspector_advanced_controls_name); -function InspectorAdvancedControls({ - children -}) { - const { - isSelected - } = useBlockEditContext(); - return isSelected ? Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalStyleProvider"], { - document: document - }, Object(external_wp_element_["createElement"])(inspector_advanced_controls_Fill, null, children)) : null; + settings.attributes = { ...settings.attributes, + lock: { + type: 'object' + } + }; + return settings; } +Object(external_wp_hooks_["addFilter"])('blocks.registerBlockType', 'core/lock/addAttribute', lock_addAttribute); -InspectorAdvancedControls.slotName = inspector_advanced_controls_name; -InspectorAdvancedControls.Slot = inspector_advanced_controls_Slot; -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inspector-advanced-controls/README.md - */ +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); -/* harmony default export */ var inspector_advanced_controls = (InspectorAdvancedControls); +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inspector-controls/index.js - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - -const { - Fill: inspector_controls_Fill, - Slot: inspector_controls_Slot -} = Object(external_wp_components_["createSlotFill"])('InspectorControls'); - -function InspectorControls({ - children -}) { - return useDisplayBlockControls() ? Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalStyleProvider"], { - document: document - }, Object(external_wp_element_["createElement"])(inspector_controls_Fill, null, children)) : null; -} - -InspectorControls.Slot = inspector_controls_Slot; -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inspector-controls/README.md - */ - -/* harmony default export */ var inspector_controls = (InspectorControls); +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inspector-controls/index.js +var inspector_controls = __webpack_require__("1oY3"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/anchor.js @@ -13261,8 +40480,8 @@ const withInspectorControl = Object(external_wp_compose_["createHigherOrderCompo const textControl = Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { className: "html-anchor-control", label: Object(external_wp_i18n_["__"])('HTML anchor'), - help: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_i18n_["__"])('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.'), Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { - href: 'https://wordpress.org/support/article/page-jumps/' + help: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_i18n_["__"])('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 && Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { + href: Object(external_wp_i18n_["__"])('https://wordpress.org/support/article/page-jumps/') }, Object(external_wp_i18n_["__"])('Learn more about anchors'))), value: props.attributes.anchor || '', placeholder: !isWeb ? Object(external_wp_i18n_["__"])('Add an anchor') : null, @@ -13275,7 +40494,9 @@ const withInspectorControl = Object(external_wp_compose_["createHigherOrderCompo autoCapitalize: "none", autoComplete: "off" }); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(BlockEdit, props), isWeb && Object(external_wp_element_["createElement"])(inspector_advanced_controls, null, textControl), !isWeb && props.name === 'core/heading' && Object(external_wp_element_["createElement"])(inspector_controls, null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(BlockEdit, props), isWeb && Object(external_wp_element_["createElement"])(inspector_controls["b" /* default */], { + __experimentalGroup: "advanced" + }, textControl), !isWeb && props.name === 'core/heading' && Object(external_wp_element_["createElement"])(inspector_controls["b" /* default */], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Heading settings') }, textControl))); } @@ -13313,7 +40534,6 @@ Object(external_wp_hooks_["addFilter"])('blocks.getSaveContent.extraProps', 'cor * External dependencies */ - /** * WordPress dependencies */ @@ -13363,7 +40583,9 @@ const custom_class_name_withInspectorControl = Object(external_wp_compose_["crea const hasCustomClassName = Object(external_wp_blocks_["hasBlockSupport"])(props.name, 'customClassName', true); if (hasCustomClassName && props.isSelected) { - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(BlockEdit, props), Object(external_wp_element_["createElement"])(inspector_advanced_controls, null, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(BlockEdit, props), Object(external_wp_element_["createElement"])(inspector_controls["b" /* default */], { + __experimentalGroup: "advanced" + }, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { autoComplete: "off", label: Object(external_wp_i18n_["__"])('Additional CSS class(es)'), value: props.attributes.className || '', @@ -13398,63 +40620,9 @@ function custom_class_name_addSaveProps(extraProps, blockType, attributes) { return extraProps; } -/** - * Given an HTML string, returns an array of class names assigned to the root - * element in the markup. - * - * @param {string} innerHTML Markup string from which to extract classes. - * - * @return {string[]} Array of class names assigned to the root element. - */ - -function getHTMLRootElementClasses(innerHTML) { - innerHTML = `
    ${innerHTML}
    `; - const parsed = Object(external_wp_blocks_["parseWithAttributeSchema"])(innerHTML, { - type: 'string', - source: 'attribute', - selector: '[data-custom-class-name] > *', - attribute: 'class' - }); - return parsed ? parsed.trim().split(/\s+/) : []; -} -/** - * Given a parsed set of block attributes, if the block supports custom class - * names and an unknown class (per the block's serialization behavior) is - * found, the unknown classes are treated as custom classes. This prevents the - * block from being considered as invalid. - * - * @param {Object} blockAttributes Original block attributes. - * @param {Object} blockType Block type settings. - * @param {string} innerHTML Original block markup. - * - * @return {Object} Filtered block attributes. - */ - -function addParsedDifference(blockAttributes, blockType, innerHTML) { - if (Object(external_wp_blocks_["hasBlockSupport"])(blockType, 'customClassName', true)) { - // To determine difference, serialize block given the known set of - // attributes, with the exception of `className`. This will determine - // the default set of classes. From there, any difference in innerHTML - // can be considered as custom classes. - const attributesSansClassName = Object(external_lodash_["omit"])(blockAttributes, ['className']); - const serialized = Object(external_wp_blocks_["getSaveContent"])(blockType, attributesSansClassName); - const defaultClasses = getHTMLRootElementClasses(serialized); - const actualClasses = getHTMLRootElementClasses(innerHTML); - const customClasses = Object(external_lodash_["difference"])(actualClasses, defaultClasses); - - if (customClasses.length) { - blockAttributes.className = customClasses.join(' '); - } else if (serialized) { - delete blockAttributes.className; - } - } - - return blockAttributes; -} Object(external_wp_hooks_["addFilter"])('blocks.registerBlockType', 'core/custom-class-name/attribute', custom_class_name_addAttribute); Object(external_wp_hooks_["addFilter"])('editor.BlockEdit', 'core/editor/custom-class-name/with-inspector-control', custom_class_name_withInspectorControl); Object(external_wp_hooks_["addFilter"])('blocks.getSaveContent.extraProps', 'core/custom-class-name/save-props', custom_class_name_addSaveProps); -Object(external_wp_hooks_["addFilter"])('blocks.getBlockAttributes', 'core/custom-class-name/addParsedDifference', addParsedDifference); // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/generated-class-name.js /** @@ -13496,463 +40664,20 @@ function addGeneratedClassName(extraProps, blockType) { } Object(external_wp_hooks_["addFilter"])('blocks.getSaveContent.extraProps', 'core/generated-class-name/save-props', addGeneratedClassName); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-setting/index.js -/** - * External dependencies - */ +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/index.js + 4 modules +var block_list = __webpack_require__("VyCT"); -/** - * WordPress dependencies - */ +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-setting/index.js +var use_setting = __webpack_require__("v5LD"); +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors-gradients/control.js +var control = __webpack_require__("hMaJ"); -/** - * Internal dependencies - */ +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors/utils.js +var utils = __webpack_require__("bVpQ"); - - -const deprecatedFlags = { - 'color.palette': settings => settings.colors === undefined ? undefined : settings.colors, - 'color.gradients': settings => settings.gradients === undefined ? undefined : 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 === undefined ? undefined : settings.fontSizes, - 'typography.customFontSize': settings => settings.disableCustomFontSizes === undefined ? undefined : !settings.disableCustomFontSizes, - 'typography.customLineHeight': 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.customPadding': settings => settings.enableCustomSpacing -}; -const PATHS_WITH_MERGE = { - 'color.gradients': true, - 'color.palette': true, - 'typography.fontFamilies': true, - 'typography.fontSizes': true -}; -/** - * Hook that retrieves the editor setting. - * It works with nested objects using by finding the value at path. - * - * @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 useSetting(path) { - const { - name: blockName - } = useBlockEditContext(); - const setting = Object(external_wp_data_["useSelect"])(select => { - var _get; - - const settings = select(store).getSettings(); // 1 - Use __experimental features, if available. - // We cascade to the all value if the block one is not available. - - const defaultsPath = `__experimentalFeatures.${path}`; - const blockPath = `__experimentalFeatures.blocks.${blockName}.${path}`; - const experimentalFeaturesResult = (_get = Object(external_lodash_["get"])(settings, blockPath)) !== null && _get !== void 0 ? _get : Object(external_lodash_["get"])(settings, defaultsPath); - - if (experimentalFeaturesResult !== undefined) { - if (PATHS_WITH_MERGE[path]) { - var _ref, _experimentalFeatures; - - return (_ref = (_experimentalFeatures = experimentalFeaturesResult.user) !== null && _experimentalFeatures !== void 0 ? _experimentalFeatures : experimentalFeaturesResult.theme) !== null && _ref !== void 0 ? _ref : experimentalFeaturesResult.core; - } - - return experimentalFeaturesResult; - } // 2 - Use deprecated settings, otherwise. - - - const deprecatedSettingsValue = deprecatedFlags[path] ? deprecatedFlags[path](settings) : undefined; - - if (deprecatedSettingsValue !== undefined) { - return deprecatedSettingsValue; - } // 3 - Fall back 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 path === 'typography.dropCap' ? true : undefined; - }, [blockName, path]); - return setting; -} - -// EXTERNAL MODULE: ./node_modules/tinycolor2/tinycolor.js -var tinycolor = __webpack_require__("Zss7"); -var tinycolor_default = /*#__PURE__*/__webpack_require__.n(tinycolor); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors/utils.js -/** - * External dependencies - */ - - -/** - * 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 = Object(external_lodash_["find"])(colors, { - 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 Object(external_lodash_["find"])(colors, { - 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-${Object(external_lodash_["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) { - return tinycolor_default.a.mostReadable(colorValue, Object(external_lodash_["map"])(colors, 'color')).toHexString(); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/gradients/use-gradient.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - - -const use_gradient_EMPTY_ARRAY = []; -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 = Object(external_lodash_["find"])(gradients, ['slug', slug]); - return gradient && gradient.gradient; -} -function __experimentalGetGradientObjectByGradientValue(gradients, value) { - const gradient = Object(external_lodash_["find"])(gradients, ['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 gradients = useSetting('color.gradients') || use_gradient_EMPTY_ARRAY; - const { - gradient, - customGradient - } = Object(external_wp_data_["useSelect"])(select => { - const { - getBlockAttributes - } = select(store); - const attributes = getBlockAttributes(clientId) || {}; - return { - customGradient: attributes[customGradientAttribute], - gradient: attributes[gradientAttribute] - }; - }, [clientId, gradientAttribute, customGradientAttribute]); - const { - updateBlockAttributes - } = Object(external_wp_data_["useDispatch"])(store); - const setGradient = Object(external_wp_element_["useCallback"])(newGradientValue => { - const slug = getGradientSlugByValue(gradients, newGradientValue); - - if (slug) { - updateBlockAttributes(clientId, { - [gradientAttribute]: slug, - [customGradientAttribute]: undefined - }); - return; - } - - updateBlockAttributes(clientId, { - [gradientAttribute]: undefined, - [customGradientAttribute]: newGradientValue - }); - }, [gradients, clientId, updateBlockAttributes]); - - const gradientClass = __experimentalGetGradientClass(gradient); - - let gradientValue; - - if (gradient) { - gradientValue = getGradientValueBySlug(gradients, 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 - */ - - - - // translators: first %s: the color name or value (e.g. red or #ff0000) - -const colorIndicatorAriaLabel = Object(external_wp_i18n_["__"])('(Color: %s)'); // translators: first %s: the gradient name or value (e.g. red to green or linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%) - - -const gradientIndicatorAriaLabel = Object(external_wp_i18n_["__"])('(Gradient: %s)'); - -const colorsAndGradientKeys = ['colors', 'disableCustomColors', 'gradients', 'disableCustomGradients']; - -function VisualLabel({ - colors, - gradients, - label, - currentTab, - colorValue, - gradientValue -}) { - let value, ariaLabel; - - if (currentTab === 'color') { - if (colorValue) { - value = colorValue; - const colorObject = getColorObjectByColorValue(colors, value); - const colorName = colorObject && colorObject.name; - ariaLabel = Object(external_wp_i18n_["sprintf"])(colorIndicatorAriaLabel, colorName || value); - } - } else if (currentTab === 'gradient' && gradientValue) { - value = gradientValue; - - const gradientObject = __experimentalGetGradientObjectByGradientValue(gradients, value); - - const gradientName = gradientObject && gradientObject.name; - ariaLabel = Object(external_wp_i18n_["sprintf"])(gradientIndicatorAriaLabel, gradientName || value); - } - - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, label, !!value && Object(external_wp_element_["createElement"])(external_wp_components_["ColorIndicator"], { - colorValue: value, - "aria-label": ariaLabel - })); -} - -function ColorGradientControlInner({ - colors, - gradients, - disableCustomColors, - disableCustomGradients, - className, - label, - onColorChange, - onGradientChange, - colorValue, - gradientValue, - clearable -}) { - const canChooseAColor = onColorChange && (!Object(external_lodash_["isEmpty"])(colors) || !disableCustomColors); - const canChooseAGradient = onGradientChange && (!Object(external_lodash_["isEmpty"])(gradients) || !disableCustomGradients); - const [currentTab, setCurrentTab] = Object(external_wp_element_["useState"])(gradientValue ? 'gradient' : !!canChooseAColor && 'color'); - - if (!canChooseAColor && !canChooseAGradient) { - return null; - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], { - className: classnames_default()('block-editor-color-gradient-control', className) - }, Object(external_wp_element_["createElement"])("fieldset", null, Object(external_wp_element_["createElement"])("legend", null, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-color-gradient-control__color-indicator" - }, Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"].VisualLabel, null, Object(external_wp_element_["createElement"])(VisualLabel, { - currentTab: currentTab, - label: label, - colorValue: colorValue, - gradientValue: gradientValue - })))), canChooseAColor && canChooseAGradient && Object(external_wp_element_["createElement"])(external_wp_components_["ButtonGroup"], { - className: "block-editor-color-gradient-control__button-tabs" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - isSmall: true, - isPressed: currentTab === 'color', - onClick: () => setCurrentTab('color') - }, Object(external_wp_i18n_["__"])('Solid')), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - isSmall: true, - isPressed: currentTab === 'gradient', - onClick: () => setCurrentTab('gradient') - }, Object(external_wp_i18n_["__"])('Gradient'))), (currentTab === 'color' || !canChooseAGradient) && Object(external_wp_element_["createElement"])(external_wp_components_["ColorPalette"], { - value: colorValue, - onChange: canChooseAGradient ? newColor => { - onColorChange(newColor); - onGradientChange(); - } : onColorChange, - colors, - disableCustomColors, - clearable: clearable - }), (currentTab === 'gradient' || !canChooseAColor) && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalGradientPicker"], { - value: gradientValue, - onChange: canChooseAColor ? newGradient => { - onGradientChange(newGradient); - onColorChange(); - } : onGradientChange, - gradients, - disableCustomGradients, - clearable: clearable - }))); -} - -function ColorGradientControlSelect(props) { - const colorGradientSettings = {}; - colorGradientSettings.colors = useSetting('color.palette'); - colorGradientSettings.gradients = useSetting('color.gradients'); - colorGradientSettings.disableCustomColors = !useSetting('color.custom'); - colorGradientSettings.disableCustomGradients = !useSetting('color.customGradient'); - return Object(external_wp_element_["createElement"])(ColorGradientControlInner, Object(esm_extends["a" /* default */])({}, colorGradientSettings, props)); -} - -function ColorGradientControl(props) { - if (Object(external_lodash_["every"])(colorsAndGradientKeys, key => props.hasOwnProperty(key))) { - return Object(external_wp_element_["createElement"])(ColorGradientControlInner, props); - } - - return Object(external_wp_element_["createElement"])(ColorGradientControlSelect, props); -} - -/* harmony default export */ var control = (ColorGradientControl); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/utils.js -/** - * External dependencies - */ - -/** - * Removed falsy values from nested object. - * - * @param {*} object - * @return {*} Object cleaned from falsy values - */ - -const cleanEmptyObject = object => { - if (!Object(external_lodash_["isObject"])(object) || Array.isArray(object)) { - return object; - } - - const cleanedNestedObjects = Object(external_lodash_["pickBy"])(Object(external_lodash_["mapValues"])(object, cleanEmptyObject), external_lodash_["identity"]); - return Object(external_lodash_["isEmpty"])(cleanedNestedObjects) ? undefined : cleanedNestedObjects; -}; +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/utils.js +var hooks_utils = __webpack_require__("715p"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/border-color.js @@ -13969,6 +40694,7 @@ const cleanEmptyObject = object => { + /** * Internal dependencies */ @@ -13980,7 +40706,7 @@ const cleanEmptyObject = object => { // Defining empty array here instead of inline avoids unnecessary re-renders of // color control. -const border_color_EMPTY_ARRAY = []; +const EMPTY_ARRAY = []; /** * Inspector control panel containing the border color related configuration. * @@ -13990,13 +40716,12 @@ const border_color_EMPTY_ARRAY = []; * inspector controls. If they share the same block attributes it should not * matter. * - * @param {Object} props Block properties. - * @return {WPElement} Border color edit element. + * @param {Object} props Block properties. + * + * @return {WPElement} Border color edit element. */ function BorderColorEdit(props) { - var _style$border; - const { attributes: { borderColor, @@ -14004,12 +40729,18 @@ function BorderColorEdit(props) { }, setAttributes } = props; - const colors = useSetting('color.palette') || border_color_EMPTY_ARRAY; - const disableCustomColors = !useSetting('color.custom'); - const disableCustomGradients = !useSetting('color.customGradient'); + const colors = Object(use_setting["a" /* default */])('color.palette') || EMPTY_ARRAY; + const disableCustomColors = !Object(use_setting["a" /* default */])('color.custom'); + const disableCustomGradients = !Object(use_setting["a" /* default */])('color.customGradient'); + const [colorValue, setColorValue] = Object(external_wp_element_["useState"])(() => { + var _getColorObjectByAttr, _style$border; + + return (_getColorObjectByAttr = Object(utils["b" /* getColorObjectByAttributeValues */])(colors, borderColor, style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.color)) === null || _getColorObjectByAttr === void 0 ? void 0 : _getColorObjectByAttr.color; + }); const onChangeColor = value => { - const colorObject = getColorObjectByColorValue(colors, value); + setColorValue(value); + const colorObject = Object(utils["c" /* getColorObjectByColorValue */])(colors, value); const newStyle = { ...style, border: { ...(style === null || style === void 0 ? void 0 : style.border), color: colorObject !== null && colorObject !== void 0 && colorObject.slug ? undefined : value @@ -14018,14 +40749,14 @@ function BorderColorEdit(props) { const newNamedColor = colorObject !== null && colorObject !== void 0 && colorObject.slug ? colorObject.slug : undefined; setAttributes({ - style: cleanEmptyObject(newStyle), + style: Object(hooks_utils["a" /* cleanEmptyObject */])(newStyle), borderColor: newNamedColor }); }; - return Object(external_wp_element_["createElement"])(control, { - label: Object(external_wp_i18n_["__"])('Border color'), - value: borderColor || (style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.color), + return Object(external_wp_element_["createElement"])(control["a" /* default */], { + label: Object(external_wp_i18n_["__"])('Color'), + colorValue: colorValue, colors: colors, gradients: undefined, disableCustomColors: disableCustomColors, @@ -14037,8 +40768,9 @@ function BorderColorEdit(props) { * Filters registered block settings, extending attributes to include * `borderColor` if needed. * - * @param {Object} settings Original block settings. - * @return {Object} Updated block settings. + * @param {Object} settings Original block settings. + * + * @return {Object} Updated block settings. */ function addAttributes(settings) { @@ -14063,10 +40795,11 @@ function addAttributes(settings) { /** * 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. + * @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. */ @@ -14081,7 +40814,7 @@ function border_color_addSaveProps(props, blockType, attributes) { borderColor, style } = attributes; - const borderColorClass = getColorClassName('border-color', borderColor); + const borderColorClass = Object(utils["a" /* getColorClassName */])('border-color', borderColor); const newClassName = classnames_default()(props.className, { 'has-border-color': borderColor || (style === null || style === void 0 ? void 0 : (_style$border2 = style.border) === null || _style$border2 === void 0 ? void 0 : _style$border2.color), [borderColorClass]: !!borderColorClass @@ -14096,7 +40829,8 @@ function border_color_addSaveProps(props, blockType, attributes) { * classnames to the block edit wrapper. * * @param {Object} settings Original block settings. - * @return {Object} Filtered block settings. + * + * @return {Object} Filtered block settings. */ @@ -14123,13 +40857,14 @@ function addEditProps(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 + * @param {Function} BlockListBlock Original component. + * + * @return {Function} Wrapped component. */ const withBorderColorPaletteStyles = Object(external_wp_compose_["createHigherOrderComponent"])(BlockListBlock => props => { - var _getColorObjectByAttr, _props$wrapperProps; + var _getColorObjectByAttr2, _props$wrapperProps; const { name, @@ -14138,14 +40873,14 @@ const withBorderColorPaletteStyles = Object(external_wp_compose_["createHigherOr const { borderColor } = attributes; - const colors = useSetting('color.palette') || border_color_EMPTY_ARRAY; + const colors = Object(use_setting["a" /* default */])('color.palette') || EMPTY_ARRAY; if (!hasBorderSupport(name, 'color') || shouldSkipSerialization(name)) { return Object(external_wp_element_["createElement"])(BlockListBlock, props); } const extraStyles = { - borderColor: borderColor ? (_getColorObjectByAttr = getColorObjectByAttributeValues(colors, borderColor)) === null || _getColorObjectByAttr === void 0 ? void 0 : _getColorObjectByAttr.color : undefined + borderColor: borderColor ? (_getColorObjectByAttr2 = Object(utils["b" /* getColorObjectByAttributeValues */])(colors, borderColor)) === null || _getColorObjectByAttr2 === void 0 ? void 0 : _getColorObjectByAttr2.color : undefined }; let wrapperProps = props.wrapperProps; wrapperProps = { ...props.wrapperProps, @@ -14162,26 +40897,23 @@ Object(external_wp_hooks_["addFilter"])('blocks.getSaveContent.extraProps', 'cor Object(external_wp_hooks_["addFilter"])('blocks.registerBlockType', 'core/border/addEditProps', addEditProps); Object(external_wp_hooks_["addFilter"])('editor.BlockListBlock', 'core/border/with-border-color-palette-styles', withBorderColorPaletteStyles); +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-radius-control/index.js + 4 modules +var border_radius_control = __webpack_require__("Wy3j"); + // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/border-radius.js -/** - * WordPress dependencies - */ - - /** * Internal dependencies */ -const MIN_BORDER_RADIUS_VALUE = 0; -const MAX_BORDER_RADIUS_VALUE = 50; /** * Inspector control panel containing the border radius related configuration. * - * @param {Object} props Block properties. - * @return {WPElement} Border radius edit element. + * @param {Object} props Block properties. + * + * @return {WPElement} Border radius edit element. */ function BorderRadiusEdit(props) { @@ -14201,8 +40933,8 @@ function BorderRadiusEdit(props) { } }; - if (newRadius === undefined) { - newStyle = cleanEmptyObject(newStyle); + if (newRadius === undefined || newRadius === '') { + newStyle = Object(hooks_utils["a" /* cleanEmptyObject */])(newStyle); } setAttributes({ @@ -14210,84 +40942,14 @@ function BorderRadiusEdit(props) { }); }; - return Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { - value: style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius, - label: Object(external_wp_i18n_["__"])('Border radius'), - min: MIN_BORDER_RADIUS_VALUE, - max: MAX_BORDER_RADIUS_VALUE, - initialPosition: 0, - allowReset: true, + return Object(external_wp_element_["createElement"])(border_radius_control["a" /* default */], { + values: style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius, onChange: onChange }); } -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-style-control/index.js - - -/** - * WordPress dependencies - */ - - -const DEFAULT_STYLE = { - key: 'default', - name: Object(external_wp_i18n_["__"])('Default'), - style: { - borderStyle: undefined - } -}; -const BORDER_STYLES = [DEFAULT_STYLE, { - key: 'none', - name: Object(external_wp_i18n_["__"])('None'), - style: { - borderStyle: 'none' - } -}, { - key: 'solid', - name: Object(external_wp_i18n_["__"])('Solid'), - style: { - borderStyle: 'solid' - } -}, { - key: 'dashed', - name: Object(external_wp_i18n_["__"])('Dashed'), - style: { - borderStyle: 'dashed' - } -}, { - key: 'dotted', - name: Object(external_wp_i18n_["__"])('Dotted'), - style: { - borderStyle: 'dotted' - } -}]; -/** - * Control to display border style options. - * - * @param {Object} props Component props. - * @param {Object} props.onChange Handler for changing border style selection. - * @param {Object} props.value Currently selected border style value. - * - * @return {WPElement} Custom border style select control. - */ - -function BorderStyleControl({ - onChange, - value -}) { - const style = BORDER_STYLES.find(option => option.key === value); - return Object(external_wp_element_["createElement"])("fieldset", { - className: "components-border-style-control" - }, Object(external_wp_element_["createElement"])(external_wp_components_["CustomSelectControl"], { - className: "components-border-style-control__select", - label: Object(external_wp_i18n_["__"])('Border style'), - options: BORDER_STYLES, - value: style || DEFAULT_STYLE, - onChange: ({ - selectedItem - }) => selectedItem.key === 'default' ? onChange(undefined) : onChange(selectedItem.key) - })); -} +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/border-style-control/index.js + 2 modules +var border_style_control = __webpack_require__("2YCo"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/border-style.js @@ -14300,8 +40962,9 @@ function BorderStyleControl({ /** * Inspector control for configuring border style property. * - * @param {Object} props Block properties. - * @return {WPElement} Border style edit element. + * @param {Object} props Block properties. + * + * @return {WPElement} Border style edit element. */ const BorderStyleEdit = props => { @@ -14321,11 +40984,11 @@ const BorderStyleEdit = props => { } }; setAttributes({ - style: cleanEmptyObject(newStyleAttributes) + style: Object(hooks_utils["a" /* cleanEmptyObject */])(newStyleAttributes) }); }; - return Object(external_wp_element_["createElement"])(BorderStyleControl, { + return Object(external_wp_element_["createElement"])(border_style_control["a" /* default */], { value: style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.style, onChange: onChange }); @@ -14339,49 +41002,105 @@ const BorderStyleEdit = props => { */ + /** * Internal dependencies */ + const MIN_BORDER_WIDTH = 0; -const MAX_BORDER_WIDTH = 50; /** * Inspector control for configuring border width property. * - * @param {Object} props Block properties. - * @return {WPElement} Border width edit element. + * @param {Object} props Block properties. + * + * @return {WPElement} Border width edit element. */ const BorderWidthEdit = props => { - var _style$border; - const { attributes: { + borderColor, style }, setAttributes } = props; + const { + width, + color: customBorderColor, + style: borderStyle + } = (style === null || style === void 0 ? void 0 : style.border) || {}; + const [styleSelection, setStyleSelection] = Object(external_wp_element_["useState"])(); + const [colorSelection, setColorSelection] = Object(external_wp_element_["useState"])(); // Temporarily track previous border color & style selections to be able to + // restore them when border width changes from zero value. + + Object(external_wp_element_["useEffect"])(() => { + if (borderStyle !== 'none') { + setStyleSelection(borderStyle); + } + }, [borderStyle]); + Object(external_wp_element_["useEffect"])(() => { + if (borderColor || customBorderColor) { + setColorSelection({ + name: !!borderColor ? borderColor : undefined, + color: !!customBorderColor ? customBorderColor : undefined + }); + } + }, [borderColor, customBorderColor]); const onChange = newWidth => { - const newStyle = { ...style, + let newStyle = { ...style, border: { ...(style === null || style === void 0 ? void 0 : style.border), width: newWidth } - }; + }; // Used to clear named border color attribute. + + let borderPaletteColor = borderColor; + const hasZeroWidth = parseFloat(newWidth) === 0; // Setting the border width explicitly to zero will also set the + // border style to `none` and clear border color attributes. + + if (hasZeroWidth) { + borderPaletteColor = undefined; + newStyle.border.color = undefined; + newStyle.border.style = 'none'; + } // Restore previous border style selection if width is now not zero and + // border style was 'none'. This is to support changes to the UI which + // change the border style UI to a segmented control without a "none" + // option. + + + if (!hasZeroWidth && borderStyle === 'none') { + newStyle.border.style = styleSelection; + } // Restore previous border color selection if width is no longer zero + // and current border color is undefined. + + + if (!hasZeroWidth && borderColor === undefined) { + borderPaletteColor = colorSelection === null || colorSelection === void 0 ? void 0 : colorSelection.name; + newStyle.border.color = colorSelection === null || colorSelection === void 0 ? void 0 : colorSelection.color; + } // If width was reset, clean out undefined styles. + + + if (newWidth === undefined || newWidth === '') { + newStyle = Object(hooks_utils["a" /* cleanEmptyObject */])(newStyle); + } + setAttributes({ - style: cleanEmptyObject(newStyle) + borderColor: borderPaletteColor, + style: newStyle }); }; - return Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { - value: style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.width, - label: Object(external_wp_i18n_["__"])('Border width'), + const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ + availableUnits: Object(use_setting["a" /* default */])('spacing.units') || ['px', 'em', 'rem'] + }); + return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalUnitControl"], { + value: width, + label: Object(external_wp_i18n_["__"])('Width'), min: MIN_BORDER_WIDTH, - max: MAX_BORDER_WIDTH, - initialPosition: 0, - allowReset: true, - onChange: onChange + onChange: onChange, + units: units }); }; @@ -14409,26 +41128,30 @@ const BORDER_SUPPORT_KEY = '__experimentalBorder'; function BorderPanel(props) { const isDisabled = useIsBorderDisabled(props); const isSupported = hasBorderSupport(props.name); - const isColorSupported = useSetting('border.customColor') && hasBorderSupport(props.name, 'color'); - const isRadiusSupported = useSetting('border.customRadius') && hasBorderSupport(props.name, 'radius'); - const isStyleSupported = useSetting('border.customStyle') && hasBorderSupport(props.name, 'style'); - const isWidthSupported = useSetting('border.customWidth') && hasBorderSupport(props.name, 'width'); + const isColorSupported = Object(use_setting["a" /* default */])('border.color') && hasBorderSupport(props.name, 'color'); + const isRadiusSupported = Object(use_setting["a" /* default */])('border.radius') && hasBorderSupport(props.name, 'radius'); + const isStyleSupported = Object(use_setting["a" /* default */])('border.style') && hasBorderSupport(props.name, 'style'); + const isWidthSupported = Object(use_setting["a" /* default */])('border.width') && hasBorderSupport(props.name, 'width'); if (isDisabled || !isSupported) { return null; } - return Object(external_wp_element_["createElement"])(inspector_controls, null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { - title: Object(external_wp_i18n_["__"])('Border settings'), + return Object(external_wp_element_["createElement"])(inspector_controls["b" /* default */], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { + className: "block-editor-hooks__border-controls", + title: Object(external_wp_i18n_["__"])('Border'), initialOpen: false - }, isStyleSupported && Object(external_wp_element_["createElement"])(BorderStyleEdit, props), isWidthSupported && Object(external_wp_element_["createElement"])(BorderWidthEdit, props), isRadiusSupported && Object(external_wp_element_["createElement"])(BorderRadiusEdit, props), isColorSupported && Object(external_wp_element_["createElement"])(BorderColorEdit, props))); + }, (isWidthSupported || isStyleSupported) && Object(external_wp_element_["createElement"])("div", { + className: "block-editor-hooks__border-controls-row" + }, isWidthSupported && Object(external_wp_element_["createElement"])(BorderWidthEdit, props), isStyleSupported && Object(external_wp_element_["createElement"])(BorderStyleEdit, props)), isColorSupported && Object(external_wp_element_["createElement"])(BorderColorEdit, props), isRadiusSupported && Object(external_wp_element_["createElement"])(BorderRadiusEdit, props))); } /** * 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. + * @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') { @@ -14451,8 +41174,9 @@ function hasBorderSupport(blockName, feature = 'any') { /** * Check whether serialization of border classes and styles should be skipped. * - * @param {string|Object} blockType Block name or block type object. - * @return {boolean} Whether serialization of border properties should occur. + * @param {string|Object} blockType Block name or block type object. + * + * @return {boolean} Whether serialization of border properties should occur. */ function shouldSkipSerialization(blockType) { @@ -14466,332 +41190,21 @@ function shouldSkipSerialization(blockType) { */ const useIsBorderDisabled = () => { - const configs = [!useSetting('border.customColor'), !useSetting('border.customRadius'), !useSetting('border.customStyle'), !useSetting('border.customWidth')]; + const configs = [!Object(use_setting["a" /* default */])('border.color'), !Object(use_setting["a" /* default */])('border.radius'), !Object(use_setting["a" /* default */])('border.style'), !Object(use_setting["a" /* default */])('border.width')]; return configs.every(Boolean); }; -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors-gradients/panel-color-gradient-settings.js - - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - - - // translators: first %s: The type of color or gradient (e.g. background, overlay...), second %s: the color name or value (e.g. red or #ff0000) - -const panel_color_gradient_settings_colorIndicatorAriaLabel = Object(external_wp_i18n_["__"])('(%s: color %s)'); // translators: first %s: The type of color or gradient (e.g. background, overlay...), second %s: the color name or value (e.g. red or #ff0000) - - -const panel_color_gradient_settings_gradientIndicatorAriaLabel = Object(external_wp_i18n_["__"])('(%s: gradient %s)'); - -const panel_color_gradient_settings_colorsAndGradientKeys = ['colors', 'disableCustomColors', 'gradients', 'disableCustomGradients']; - -const Indicators = ({ - colors, - gradients, - settings -}) => { - return settings.map(({ - colorValue, - gradientValue, - label, - colors: availableColors, - gradients: availableGradients - }, index) => { - if (!colorValue && !gradientValue) { - return null; - } - - let ariaLabel; - - if (colorValue) { - const colorObject = getColorObjectByColorValue(availableColors || colors, colorValue); - ariaLabel = Object(external_wp_i18n_["sprintf"])(panel_color_gradient_settings_colorIndicatorAriaLabel, label.toLowerCase(), colorObject && colorObject.name || colorValue); - } else { - const gradientObject = __experimentalGetGradientObjectByGradientValue(availableGradients || gradients, colorValue); - - ariaLabel = Object(external_wp_i18n_["sprintf"])(panel_color_gradient_settings_gradientIndicatorAriaLabel, label.toLowerCase(), gradientObject && gradientObject.name || gradientValue); - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["ColorIndicator"], { - key: index, - colorValue: colorValue || gradientValue, - "aria-label": ariaLabel - }); - }); -}; - -const PanelColorGradientSettingsInner = ({ - className, - colors, - gradients, - disableCustomColors, - disableCustomGradients, - children, - settings, - title, - ...props -}) => { - if (Object(external_lodash_["isEmpty"])(colors) && Object(external_lodash_["isEmpty"])(gradients) && disableCustomColors && disableCustomGradients && Object(external_lodash_["every"])(settings, setting => Object(external_lodash_["isEmpty"])(setting.colors) && Object(external_lodash_["isEmpty"])(setting.gradients) && (setting.disableCustomColors === undefined || setting.disableCustomColors) && (setting.disableCustomGradients === undefined || setting.disableCustomGradients))) { - return null; - } - - const titleElement = Object(external_wp_element_["createElement"])("span", { - className: "block-editor-panel-color-gradient-settings__panel-title" - }, title, Object(external_wp_element_["createElement"])(Indicators, { - colors: colors, - gradients: gradients, - settings: settings - })); - return Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], Object(esm_extends["a" /* default */])({ - className: classnames_default()('block-editor-panel-color-gradient-settings', className), - title: titleElement - }, props), settings.map((setting, index) => Object(external_wp_element_["createElement"])(control, Object(esm_extends["a" /* default */])({ - key: index, - colors, - gradients, - disableCustomColors, - disableCustomGradients - }, setting))), children); -}; - -const PanelColorGradientSettingsSelect = props => { - const colorGradientSettings = {}; - colorGradientSettings.colors = useSetting('color.palette'); - colorGradientSettings.gradients = useSetting('color.gradients'); - colorGradientSettings.disableCustomColors = !useSetting('color.custom'); - colorGradientSettings.disableCustomGradients = !useSetting('color.customGradient'); - return Object(external_wp_element_["createElement"])(PanelColorGradientSettingsInner, Object(esm_extends["a" /* default */])({}, colorGradientSettings, props)); -}; - -const PanelColorGradientSettings = props => { - if (Object(external_lodash_["every"])(panel_color_gradient_settings_colorsAndGradientKeys, key => props.hasOwnProperty(key))) { - return Object(external_wp_element_["createElement"])(PanelColorGradientSettingsInner, props); - } - - return Object(external_wp_element_["createElement"])(PanelColorGradientSettingsSelect, props); -}; - -/* harmony default export */ var panel_color_gradient_settings = (PanelColorGradientSettings); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/contrast-checker/index.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - -function ContrastCheckerMessage({ - tinyBackgroundColor, - tinyTextColor, - backgroundColor, - textColor -}) { - const msg = tinyBackgroundColor.getBrightness() < tinyTextColor.getBrightness() ? Object(external_wp_i18n_["__"])('This color combination may be hard for people to read. Try using a darker background color and/or a brighter text color.') : Object(external_wp_i18n_["__"])('This color combination may be hard for people to read. Try using a brighter background color and/or a darker text color.'); // 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. - - Object(external_wp_element_["useEffect"])(() => { - Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('This color combination may be hard for people to read.')); - }, [backgroundColor, textColor]); - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-contrast-checker" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Notice"], { - spokenMessage: null, - status: "warning", - isDismissible: false - }, msg)); -} - -function ContrastChecker({ - backgroundColor, - fallbackBackgroundColor, - fallbackTextColor, - fontSize, - // font size value in pixels - isLargeText, - textColor -}) { - if (!(backgroundColor || fallbackBackgroundColor) || !(textColor || fallbackTextColor)) { - return null; - } - - const tinyBackgroundColor = tinycolor_default()(backgroundColor || fallbackBackgroundColor); - const tinyTextColor = tinycolor_default()(textColor || fallbackTextColor); - const hasTransparency = tinyBackgroundColor.getAlpha() !== 1 || tinyTextColor.getAlpha() !== 1; - - if (hasTransparency || tinycolor_default.a.isReadable(tinyBackgroundColor, tinyTextColor, { - level: 'AA', - size: isLargeText || isLargeText !== false && fontSize >= 24 ? 'large' : 'small' - })) { - return null; - } - - return Object(external_wp_element_["createElement"])(ContrastCheckerMessage, { - backgroundColor: backgroundColor, - textColor: textColor, - tinyBackgroundColor: tinyBackgroundColor, - tinyTextColor: tinyTextColor - }); -} - -/* 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 = Object(external_wp_element_["createContext"])(); -function BlockRefsProvider({ - children -}) { - const value = Object(external_wp_element_["useMemo"])(() => ({ - refs: new Map(), - callbacks: new Map() - }), []); - return Object(external_wp_element_["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 - } = Object(external_wp_element_["useContext"])(BlockRefs); - const ref = Object(external_wp_element_["useRef"])(); - Object(external_wp_element_["useLayoutEffect"])(() => { - refs.set(ref, clientId); - return () => { - refs.delete(ref); - }; - }, [clientId]); - return Object(external_wp_compose_["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 - } = Object(external_wp_element_["useContext"])(BlockRefs); - const freshClientId = Object(external_wp_element_["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 Object(external_wp_element_["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 - } = Object(external_wp_element_["useContext"])(BlockRefs); - const ref = useBlockRef(clientId); - const [element, setElement] = Object(external_wp_element_["useState"])(null); - Object(external_wp_element_["useLayoutEffect"])(() => { - if (!clientId) { - return; - } - - callbacks.set(setElement, clientId); - return () => { - callbacks.delete(setElement); - }; - }, [clientId]); - return ref.current || element; -} +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/gradients/use-gradient.js +var use_gradient = __webpack_require__("Cn0l"); +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors-gradients/panel-color-gradient-settings.js +var panel_color_gradient_settings = __webpack_require__("yU1v"); +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/contrast-checker/index.js +var contrast_checker = __webpack_require__("6c9H"); +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-block-refs.js +var use_block_refs = __webpack_require__("PKbb"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/color-panel.js @@ -14817,11 +41230,12 @@ function getComputedStyle(node) { function ColorPanel({ settings, clientId, - enableContrastChecking = true + enableContrastChecking = true, + showTitle = true }) { const [detectedBackgroundColor, setDetectedBackgroundColor] = Object(external_wp_element_["useState"])(); const [detectedColor, setDetectedColor] = Object(external_wp_element_["useState"])(); - const ref = useBlockRef(clientId); + const ref = Object(use_block_refs["b" /* __unstableUseBlockRef */])(clientId); Object(external_wp_element_["useEffect"])(() => { if (!enableContrastChecking) { return; @@ -14842,11 +41256,13 @@ function ColorPanel({ setDetectedBackgroundColor(backgroundColor); }); - return Object(external_wp_element_["createElement"])(inspector_controls, null, Object(external_wp_element_["createElement"])(panel_color_gradient_settings, { + return Object(external_wp_element_["createElement"])(inspector_controls["b" /* default */], null, Object(external_wp_element_["createElement"])(panel_color_gradient_settings["a" /* default */], { title: Object(external_wp_i18n_["__"])('Color'), initialOpen: false, - settings: settings - }, enableContrastChecking && Object(external_wp_element_["createElement"])(contrast_checker, { + settings: settings, + showTitle: showTitle, + __experimentalHasMultipleOrigins: true + }, enableContrastChecking && Object(external_wp_element_["createElement"])(contrast_checker["a" /* default */], { backgroundColor: detectedBackgroundColor, textColor: detectedColor }))); @@ -14902,10 +41318,6 @@ const hasLinkColorSupport = blockType => { }; const hasGradientSupport = blockType => { - if (external_wp_element_["Platform"].OS !== 'web') { - return false; - } - const colorSupport = Object(external_wp_blocks_["getBlockSupport"])(blockType, COLOR_SUPPORT_KEY); return Object(external_lodash_["isObject"])(colorSupport) && !!colorSupport.gradients; }; @@ -14923,8 +41335,9 @@ const hasTextColorSupport = blockType => { * Filters registered block settings, extending attributes to include * `backgroundColor` and `textColor` attribute. * - * @param {Object} settings Original block settings - * @return {Object} Filtered block settings + * @param {Object} settings Original block settings. + * + * @return {Object} Filtered block settings. */ @@ -14963,10 +41376,11 @@ function color_addAttributes(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 + * @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. */ @@ -14985,11 +41399,11 @@ function color_addSaveProps(props, blockType, attributes) { gradient, style } = attributes; - const backgroundClass = getColorClassName('background-color', backgroundColor); + const backgroundClass = Object(utils["a" /* getColorClassName */])('background-color', backgroundColor); - const gradientClass = __experimentalGetGradientClass(gradient); + const gradientClass = Object(use_gradient["a" /* __experimentalGetGradientClass */])(gradient); - const textClass = getColorClassName('color', textColor); + const textClass = Object(utils["a" /* getColorClassName */])('color', textColor); const newClassName = classnames_default()(props.className, textClass, gradientClass, { // Don't apply the background class if there's a custom gradient [backgroundClass]: (!hasGradient || !(style !== null && style !== void 0 && (_style$color = style.color) !== null && _style$color !== void 0 && _style$color.gradient)) && !!backgroundClass, @@ -15004,8 +41418,9 @@ function color_addSaveProps(props, blockType, attributes) { * Filters registered block settings to extand the block edit wrapper * to apply the desired styles and classnames properly. * - * @param {Object} settings Original block settings - * @return {Object} Filtered block settings + * @param {Object} settings Original block settings. + * + * @return {Object} Filtered block settings. */ function color_addEditProps(settings) { @@ -15032,7 +41447,7 @@ const getLinkColorFromAttributeValue = (colors, value) => { const attributeParsed = /var:preset\|color\|(.+)/.exec(value); if (attributeParsed && attributeParsed[1]) { - return getColorObjectByAttributeValues(colors, attributeParsed[1]).color; + return Object(utils["b" /* getColorObjectByAttributeValues */])(colors, attributeParsed[1]).color; } return value; @@ -15057,11 +41472,13 @@ function ColorEdit(props) { name: blockName, attributes } = props; - const solids = useSetting('color.palette') || color_EMPTY_ARRAY; - const gradients = useSetting('color.gradients') || color_EMPTY_ARRAY; - const areCustomSolidsEnabled = useSetting('color.custom'); - const areCustomGradientsEnabled = useSetting('color.customGradient'); - const isLinkEnabled = useSetting('color.link'); // Shouldn't be needed but right now the ColorGradientsPanel + const solids = Object(use_setting["a" /* default */])('color.palette') || color_EMPTY_ARRAY; + const gradients = Object(use_setting["a" /* default */])('color.gradients') || color_EMPTY_ARRAY; + const areCustomSolidsEnabled = Object(use_setting["a" /* default */])('color.custom'); + const areCustomGradientsEnabled = Object(use_setting["a" /* default */])('color.customGradient'); + const isLinkEnabled = Object(use_setting["a" /* default */])('color.link'); + const isTextEnabled = Object(use_setting["a" /* default */])('color.text'); + const isBackgroundEnabled = Object(use_setting["a" /* default */])('color.background'); // Shouldn't be needed but right now the ColorGradientsPanel // can trigger both onChangeColor and onChangeBackground // synchronously causing our two callbacks to override changes // from each other. @@ -15071,13 +41488,13 @@ function ColorEdit(props) { localAttributes.current = attributes; }, [attributes]); - if (!hasColorSupport(blockName) || external_wp_element_["Platform"].OS !== 'web') { + if (!hasColorSupport(blockName)) { return null; } const hasLinkColor = hasLinkColorSupport(blockName) && isLinkEnabled && (solids.length > 0 || areCustomSolidsEnabled); - const hasTextColor = hasTextColorSupport(blockName) && (solids.length > 0 || areCustomSolidsEnabled); - const hasBackgroundColor = hasBackgroundColorSupport(blockName) && (solids.length > 0 || areCustomSolidsEnabled); + const hasTextColor = hasTextColorSupport(blockName) && isTextEnabled && (solids.length > 0 || areCustomSolidsEnabled); + const hasBackgroundColor = hasBackgroundColorSupport(blockName) && isBackgroundEnabled && (solids.length > 0 || areCustomSolidsEnabled); const hasGradientColor = hasGradientSupport(blockName) && (gradients.length > 0 || areCustomGradientsEnabled); if (!hasLinkColor && !hasTextColor && !hasBackgroundColor && !hasGradientColor) { @@ -15093,7 +41510,7 @@ function ColorEdit(props) { let gradientValue; if (hasGradientColor && gradient) { - gradientValue = getGradientValueBySlug(gradients, gradient); + gradientValue = Object(use_gradient["e" /* getGradientValueBySlug */])(gradients, gradient); } else if (hasGradientColor) { var _style$color5; @@ -15103,7 +41520,7 @@ function ColorEdit(props) { const onChangeColor = name => value => { var _localAttributes$curr, _localAttributes$curr2; - const colorObject = getColorObjectByColorValue(solids, value); + const colorObject = Object(utils["c" /* getColorObjectByColorValue */])(solids, value); const attributeName = name + 'Color'; const newStyle = { ...localAttributes.current.style, color: { ...((_localAttributes$curr = localAttributes.current) === null || _localAttributes$curr === void 0 ? void 0 : (_localAttributes$curr2 = _localAttributes$curr.style) === null || _localAttributes$curr2 === void 0 ? void 0 : _localAttributes$curr2.color), @@ -15112,7 +41529,7 @@ function ColorEdit(props) { }; const newNamedColor = colorObject !== null && colorObject !== void 0 && colorObject.slug ? colorObject.slug : undefined; const newAttributes = { - style: cleanEmptyObject(newStyle), + style: Object(hooks_utils["a" /* cleanEmptyObject */])(newStyle), [attributeName]: newNamedColor }; props.setAttributes(newAttributes); @@ -15122,7 +41539,7 @@ function ColorEdit(props) { }; const onChangeGradient = value => { - const slug = getGradientSlugByValue(gradients, value); + const slug = Object(use_gradient["d" /* getGradientSlugByValue */])(gradients, value); let newAttributes; if (slug) { @@ -15134,7 +41551,7 @@ function ColorEdit(props) { } }; newAttributes = { - style: cleanEmptyObject(newStyle), + style: Object(hooks_utils["a" /* cleanEmptyObject */])(newStyle), gradient: slug }; } else { @@ -15146,7 +41563,7 @@ function ColorEdit(props) { } }; newAttributes = { - style: cleanEmptyObject(newStyle), + style: Object(hooks_utils["a" /* cleanEmptyObject */])(newStyle), gradient: undefined }; } @@ -15158,9 +41575,9 @@ function ColorEdit(props) { }; const onChangeLinkColor = value => { - const colorObject = getColorObjectByColorValue(solids, value); + const colorObject = Object(utils["c" /* getColorObjectByColorValue */])(solids, value); const newLinkColorValue = colorObject !== null && colorObject !== void 0 && colorObject.slug ? `var:preset|color|${colorObject.slug}` : value; - const newStyle = immutableSet(style, ['elements', 'link', 'color', 'text'], newLinkColorValue); + const newStyle = Object(hooks_utils["a" /* cleanEmptyObject */])(immutableSet(style, ['elements', 'link', 'color', 'text'], newLinkColorValue)); props.setAttributes({ style: newStyle }); @@ -15173,11 +41590,11 @@ function ColorEdit(props) { settings: [...(hasTextColor ? [{ label: Object(external_wp_i18n_["__"])('Text color'), onColorChange: onChangeColor('text'), - colorValue: getColorObjectByAttributeValues(solids, textColor, style === null || style === void 0 ? void 0 : (_style$color7 = style.color) === null || _style$color7 === void 0 ? void 0 : _style$color7.text).color + colorValue: Object(utils["b" /* getColorObjectByAttributeValues */])(solids, textColor, style === null || style === void 0 ? void 0 : (_style$color7 = style.color) === null || _style$color7 === void 0 ? void 0 : _style$color7.text).color }] : []), ...(hasBackgroundColor || hasGradientColor ? [{ label: Object(external_wp_i18n_["__"])('Background color'), onColorChange: hasBackgroundColor ? onChangeColor('background') : undefined, - colorValue: getColorObjectByAttributeValues(solids, backgroundColor, style === null || style === void 0 ? void 0 : (_style$color8 = style.color) === null || _style$color8 === void 0 ? void 0 : _style$color8.background).color, + colorValue: Object(utils["b" /* getColorObjectByAttributeValues */])(solids, backgroundColor, style === null || style === void 0 ? void 0 : (_style$color8 = style.color) === null || _style$color8 === void 0 ? void 0 : _style$color8.background).color, gradientValue, onGradientChange: hasGradientColor ? onChangeGradient : undefined }] : []), ...(hasLinkColor ? [{ @@ -15192,8 +41609,9 @@ function ColorEdit(props) { * 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 + * @param {Function} BlockListBlock Original component. + * + * @return {Function} Wrapped component. */ const withColorPaletteStyles = Object(external_wp_compose_["createHigherOrderComponent"])(BlockListBlock => props => { @@ -15207,15 +41625,15 @@ const withColorPaletteStyles = Object(external_wp_compose_["createHigherOrderCom backgroundColor, textColor } = attributes; - const colors = useSetting('color.palette') || color_EMPTY_ARRAY; + const colors = Object(use_setting["a" /* default */])('color.palette') || color_EMPTY_ARRAY; if (!hasColorSupport(name) || color_shouldSkipSerialization(name)) { return Object(external_wp_element_["createElement"])(BlockListBlock, props); } const extraStyles = { - color: textColor ? (_getColorObjectByAttr = getColorObjectByAttributeValues(colors, textColor)) === null || _getColorObjectByAttr === void 0 ? void 0 : _getColorObjectByAttr.color : undefined, - backgroundColor: backgroundColor ? (_getColorObjectByAttr2 = getColorObjectByAttributeValues(colors, backgroundColor)) === null || _getColorObjectByAttr2 === void 0 ? void 0 : _getColorObjectByAttr2.color : undefined + color: textColor ? (_getColorObjectByAttr = Object(utils["b" /* getColorObjectByAttributeValues */])(colors, textColor)) === null || _getColorObjectByAttr === void 0 ? void 0 : _getColorObjectByAttr.color : undefined, + backgroundColor: backgroundColor ? (_getColorObjectByAttr2 = Object(utils["b" /* getColorObjectByAttributeValues */])(colors, backgroundColor)) === null || _getColorObjectByAttr2 === void 0 ? void 0 : _getColorObjectByAttr2.color : undefined }; let wrapperProps = props.wrapperProps; wrapperProps = { ...props.wrapperProps, @@ -15232,453 +41650,11 @@ Object(external_wp_hooks_["addFilter"])('blocks.getSaveContent.extraProps', 'cor Object(external_wp_hooks_["addFilter"])('blocks.registerBlockType', 'core/color/addEditProps', color_addEditProps); Object(external_wp_hooks_["addFilter"])('editor.BlockListBlock', 'core/color/with-color-palette-styles', withColorPaletteStyles); -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-underline.js +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-appearance-control/index.js +var font_appearance_control = __webpack_require__("Bo0k"); - -/** - * WordPress dependencies - */ - -const formatUnderline = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/format-strikethrough.js -var format_strikethrough = __webpack_require__("Crq9"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/text-decoration-control/index.js - - -/** - * WordPress dependencies - */ - - - -const TEXT_DECORATIONS = [{ - name: Object(external_wp_i18n_["__"])('Underline'), - value: 'underline', - icon: format_underline -}, { - name: Object(external_wp_i18n_["__"])('Strikethrough'), - value: 'line-through', - icon: format_strikethrough["a" /* default */] -}]; -/** - * 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. - * @return {WPElement} Text decoration control. - */ - -function TextDecorationControl({ - value, - onChange -}) { - return Object(external_wp_element_["createElement"])("fieldset", { - className: "block-editor-text-decoration-control" - }, Object(external_wp_element_["createElement"])("legend", null, Object(external_wp_i18n_["__"])('Decoration')), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-text-decoration-control__buttons" - }, TEXT_DECORATIONS.map(textDecoration => { - return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - key: textDecoration.value, - icon: textDecoration.icon, - isSmall: true, - isPressed: textDecoration.value === value, - onClick: () => onChange(textDecoration.value === value ? undefined : textDecoration.value), - "aria-label": textDecoration.name - }); - }))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/text-decoration.js - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - - -/** - * Key within block settings' supports array indicating support for text - * decorations e.g. settings found in `block.json`. - */ - -const TEXT_DECORATION_SUPPORT_KEY = 'typography.__experimentalTextDecoration'; -/** - * Inspector control panel containing the text decoration options. - * - * @param {Object} props Block properties. - * @return {WPElement} Text decoration edit element. - */ - -function TextDecorationEdit(props) { - var _style$typography; - - const { - attributes: { - style - }, - setAttributes - } = props; - const isDisabled = useIsTextDecorationDisabled(props); - - if (isDisabled) { - return null; - } - - function onChange(newDecoration) { - setAttributes({ - style: cleanEmptyObject({ ...style, - typography: { ...(style === null || style === void 0 ? void 0 : style.typography), - textDecoration: newDecoration - } - }) - }); - } - - return Object(external_wp_element_["createElement"])(TextDecorationControl, { - value: style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.textDecoration, - onChange: onChange - }); -} -/** - * Checks if text-decoration settings have been disabled. - * - * @param {string} name Name of the block. - * @return {boolean} Whether or not the setting is disabled. - */ - -function useIsTextDecorationDisabled({ - name: blockName -} = {}) { - const notSupported = !Object(external_wp_blocks_["hasBlockSupport"])(blockName, TEXT_DECORATION_SUPPORT_KEY); - const hasTextDecoration = useSetting('typography.customTextDecorations'); - return notSupported || !hasTextDecoration; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-uppercase.js - - -/** - * WordPress dependencies - */ - -const formatUppercase = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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 = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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 = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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 - - -/** - * WordPress dependencies - */ - - - -const TEXT_TRANSFORMS = [{ - name: Object(external_wp_i18n_["__"])('Uppercase'), - value: 'uppercase', - icon: format_uppercase -}, { - name: Object(external_wp_i18n_["__"])('Lowercase'), - value: 'lowercase', - icon: format_lowercase -}, { - name: Object(external_wp_i18n_["__"])('Capitalize'), - value: 'capitalize', - icon: format_capitalize -}]; -/** - * Control to facilitate text transform selections. - * - * @param {Object} props Component props. - * @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({ - value, - onChange -}) { - return Object(external_wp_element_["createElement"])("fieldset", { - className: "block-editor-text-transform-control" - }, Object(external_wp_element_["createElement"])("legend", null, Object(external_wp_i18n_["__"])('Letter case')), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-text-transform-control__buttons" - }, TEXT_TRANSFORMS.map(textTransform => { - return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - key: textTransform.value, - icon: textTransform.icon, - isSmall: true, - isPressed: value === textTransform.value, - "aria-label": textTransform.name, - onClick: () => onChange(value === textTransform.value ? undefined : textTransform.value) - }); - }))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/text-transform.js - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - - -/** - * Key within block settings' supports array indicating support for text - * transforms e.g. settings found in `block.json`. - */ - -const TEXT_TRANSFORM_SUPPORT_KEY = 'typography.__experimentalTextTransform'; -/** - * Inspector control panel containing the text transform options. - * - * @param {Object} props Block properties. - * @return {WPElement} Text transform edit element. - */ - -function TextTransformEdit(props) { - var _style$typography; - - const { - attributes: { - style - }, - setAttributes - } = props; - const isDisabled = useIsTextTransformDisabled(props); - - if (isDisabled) { - return null; - } - - function onChange(newTransform) { - setAttributes({ - style: cleanEmptyObject({ ...style, - typography: { ...(style === null || style === void 0 ? void 0 : style.typography), - textTransform: newTransform - } - }) - }); - } - - return Object(external_wp_element_["createElement"])(TextTransformControl, { - value: style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.textTransform, - onChange: onChange - }); -} -/** - * Checks if text-transform settings have been disabled. - * - * @param {string} name Name of the block. - * @return {boolean} Whether or not the setting is disabled. - */ - -function useIsTextTransformDisabled({ - name: blockName -} = {}) { - const notSupported = !Object(external_wp_blocks_["hasBlockSupport"])(blockName, TEXT_TRANSFORM_SUPPORT_KEY); - const hasTextTransforms = useSetting('typography.customTextTransforms'); - return notSupported || !hasTextTransforms; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/text-decoration-and-transform/index.js - - -/** - * Internal dependencies - */ - - -/** - * Handles grouping related text decoration and text transform edit components - * so they can be laid out in a more flexible manner within the Typography - * InspectorControls panel. - * - * @param {Object} props Block props to be passed on to individual controls. - * @return {WPElement} Component containing text decoration or transform controls. - */ - -function TextDecorationAndTransformEdit(props) { - const decorationAvailable = !useIsTextDecorationDisabled(props); - const transformAvailable = !useIsTextTransformDisabled(props); - - if (!decorationAvailable && !transformAvailable) { - return null; - } - - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-text-decoration-and-transform" - }, decorationAvailable && Object(external_wp_element_["createElement"])(TextDecorationEdit, props), transformAvailable && Object(external_wp_element_["createElement"])(TextTransformEdit, props)); -} - -// EXTERNAL MODULE: external ["wp","keycodes"] -var external_wp_keycodes_ = __webpack_require__("RxS6"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/line-height-control/utils.js -const BASE_DEFAULT_VALUE = 1.5; -const STEP = 0.1; -/** - * 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 - */ - - -function LineHeightControl({ - value: lineHeight, - onChange -}) { - const isDefined = isLineHeightDefined(lineHeight); - - const handleOnKeyDown = event => { - const { - keyCode - } = event; - - if (keyCode === external_wp_keycodes_["ZERO"] && !isDefined) { - /** - * Prevents the onChange callback from firing, which prevents - * the logic from assuming the change was triggered from - * an input arrow CLICK. - */ - event.preventDefault(); - onChange('0'); - } - }; - - const handleOnChange = nextValue => { - // Set the next value without modification if lineHeight has been defined - if (isDefined) { - onChange(nextValue); - return; - } // Otherwise... - - /** - * The following logic handles the initial up/down arrow CLICK of the - * input element. This is so that the next values (from an undefined value state) - * are more better suited for line-height rendering. - */ - - - let adjustedNextValue = nextValue; - - switch (nextValue) { - case `${STEP}`: - // Increment by step value - adjustedNextValue = BASE_DEFAULT_VALUE + STEP; - break; - - case '0': - // Decrement by step value - adjustedNextValue = BASE_DEFAULT_VALUE - STEP; - break; - } - - onChange(adjustedNextValue); - }; - - const value = isDefined ? lineHeight : RESET_VALUE; - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-line-height-control" - }, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { - autoComplete: "off", - onKeyDown: handleOnKeyDown, - onChange: handleOnChange, - label: Object(external_wp_i18n_["__"])('Line height'), - placeholder: BASE_DEFAULT_VALUE, - step: STEP, - type: "number", - value: value, - min: 0 - })); -} +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/line-height-control/index.js + 1 modules +var line_height_control = __webpack_require__("weEX"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/line-height.js @@ -15709,13 +41685,9 @@ function LineHeightEdit(props) { const { attributes: { style - } + }, + setAttributes } = props; - const isDisabled = useIsLineHeightDisabled(props); - - if (isDisabled) { - return null; - } const onChange = newLineHeightValue => { const newStyle = { ...style, @@ -15723,12 +41695,12 @@ function LineHeightEdit(props) { lineHeight: newLineHeightValue } }; - props.setAttributes({ - style: cleanEmptyObject(newStyle) + setAttributes({ + style: Object(hooks_utils["a" /* cleanEmptyObject */])(newStyle) }); }; - return Object(external_wp_element_["createElement"])(LineHeightControl, { + return Object(external_wp_element_["createElement"])(line_height_control["a" /* default */], { value: style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.lineHeight, onChange: onChange }); @@ -15743,179 +41715,45 @@ function LineHeightEdit(props) { function useIsLineHeightDisabled({ name: blockName } = {}) { - const isDisabled = !useSetting('typography.customLineHeight'); + const isDisabled = !Object(use_setting["a" /* default */])('typography.lineHeight'); return !Object(external_wp_blocks_["hasBlockSupport"])(blockName, LINE_HEIGHT_SUPPORT_KEY) || isDisabled; } - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-appearance-control/index.js - - /** - * WordPress dependencies - */ - - - -const FONT_STYLES = [{ - name: Object(external_wp_i18n_["__"])('Regular'), - value: 'normal' -}, { - name: Object(external_wp_i18n_["__"])('Italic'), - value: 'italic' -}]; -const FONT_WEIGHTS = [{ - name: Object(external_wp_i18n_["__"])('Thin'), - value: '100' -}, { - name: Object(external_wp_i18n_["__"])('Extra Light'), - value: '200' -}, { - name: Object(external_wp_i18n_["__"])('Light'), - value: '300' -}, { - name: Object(external_wp_i18n_["__"])('Regular'), - value: '400' -}, { - name: Object(external_wp_i18n_["__"])('Medium'), - value: '500' -}, { - name: Object(external_wp_i18n_["__"])('Semi Bold'), - value: '600' -}, { - name: Object(external_wp_i18n_["__"])('Bold'), - value: '700' -}, { - name: Object(external_wp_i18n_["__"])('Extra Bold'), - value: '800' -}, { - name: Object(external_wp_i18n_["__"])('Black'), - value: '900' -}]; -/** - * Control to display unified font style and weight options. + * Checks if there is a current value set for the line height block support. * - * @param {Object} props Component props. - * @return {WPElement} Font appearance control. + * @param {Object} props Block props. + * @return {boolean} Whether or not the block has a line height value set. */ -function FontAppearanceControl(props) { +function hasLineHeightValue(props) { + var _props$attributes$sty, _props$attributes$sty2; + + return !!((_props$attributes$sty = props.attributes.style) !== null && _props$attributes$sty !== void 0 && (_props$attributes$sty2 = _props$attributes$sty.typography) !== null && _props$attributes$sty2 !== void 0 && _props$attributes$sty2.lineHeight); +} +/** + * Resets the line height block support attribute. This can be used when + * disabling the line height support controls for a block via a progressive + * discovery panel. + * + * @param {Object} props Block props. + * @param {Object} props.attributes Block's attributes. + * @param {Object} props.setAttributes Function to set block's attributes. + */ + +function resetLineHeight({ + attributes = {}, + setAttributes +}) { const { - onChange, - hasFontStyles = true, - hasFontWeights = true, - value: { - fontStyle, - fontWeight - } - } = props; - const hasStylesOrWeights = hasFontStyles || hasFontWeights; - const defaultOption = { - key: 'default', - name: Object(external_wp_i18n_["__"])('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 : Object(external_wp_i18n_["sprintf"])( - /* translators: 1: Font weight name. 2: Font style name. */ - Object(external_wp_i18n_["__"])('%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 = Object(external_wp_element_["useMemo"])(() => { - if (hasFontStyles && hasFontWeights) { - return combineOptions(); - } - - return hasFontStyles ? styleOptions() : weightOptions(); - }, [props.options]); // Find current selection by comparing font style & weight against options. - - const currentSelection = selectOptions.find(option => option.style.fontStyle === fontStyle && option.style.fontWeight === fontWeight); // Adjusts field label in case either styles or weights are disabled. - - const getLabel = () => { - if (!hasFontStyles) { - return Object(external_wp_i18n_["__"])('Font weight'); - } - - if (!hasFontWeights) { - return Object(external_wp_i18n_["__"])('Font style'); - } - - return Object(external_wp_i18n_["__"])('Appearance'); - }; - - return Object(external_wp_element_["createElement"])("fieldset", { - className: "components-font-appearance-control" - }, hasStylesOrWeights && Object(external_wp_element_["createElement"])(external_wp_components_["CustomSelectControl"], { - className: "components-font-appearance-control__select", - label: getLabel(), - options: selectOptions, - value: currentSelection, - onChange: ({ - selectedItem - }) => onChange(selectedItem.style) - })); + style + } = attributes; + setAttributes({ + style: Object(hooks_utils["a" /* cleanEmptyObject */])({ ...style, + typography: { ...(style === null || style === void 0 ? void 0 : style.typography), + lineHeight: undefined + } + }) + }); } // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/font-appearance.js @@ -15945,8 +41783,9 @@ const FONT_WEIGHT_SUPPORT_KEY = 'typography.__experimentalFontWeight'; /** * Inspector control panel containing the font appearance options. * - * @param {Object} props Block properties. - * @return {WPElement} Font appearance edit element. + * @param {Object} props Block properties. + * + * @return {WPElement} Font appearance edit element. */ function FontAppearanceEdit(props) { @@ -15961,13 +41800,9 @@ function FontAppearanceEdit(props) { const hasFontStyles = !useIsFontStyleDisabled(props); const hasFontWeights = !useIsFontWeightDisabled(props); - if (!hasFontStyles && !hasFontWeights) { - return null; - } - const onChange = newStyles => { setAttributes({ - style: cleanEmptyObject({ ...style, + style: Object(hooks_utils["a" /* cleanEmptyObject */])({ ...style, typography: { ...(style === null || style === void 0 ? void 0 : style.typography), fontStyle: newStyles.fontStyle, fontWeight: newStyles.fontWeight @@ -15978,7 +41813,7 @@ function FontAppearanceEdit(props) { const fontStyle = style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.fontStyle; const fontWeight = style === null || style === void 0 ? void 0 : (_style$typography2 = style.typography) === null || _style$typography2 === void 0 ? void 0 : _style$typography2.fontWeight; - return Object(external_wp_element_["createElement"])(FontAppearanceControl, { + return Object(external_wp_element_["createElement"])(font_appearance_control["a" /* default */], { onChange: onChange, hasFontStyles: hasFontStyles, hasFontWeights: hasFontWeights, @@ -15992,39 +41827,42 @@ function FontAppearanceEdit(props) { * Checks if font style support has been disabled either by not opting in for * support or by failing to provide preset styles. * - * @param {Object} props Block properties. - * @param {string} props.name Name for the block type. - * @return {boolean} Whether font style support has been disabled. + * @param {Object} props Block properties. + * @param {string} props.name Name for the block type. + * + * @return {boolean} Whether font style support has been disabled. */ function useIsFontStyleDisabled({ name: blockName } = {}) { const styleSupport = Object(external_wp_blocks_["hasBlockSupport"])(blockName, FONT_STYLE_SUPPORT_KEY); - const hasFontStyles = useSetting('typography.customFontStyle'); + const hasFontStyles = Object(use_setting["a" /* default */])('typography.fontStyle'); return !styleSupport || !hasFontStyles; } /** * Checks if font weight support has been disabled either by not opting in for * support or by failing to provide preset weights. * - * @param {Object} props Block properties. - * @param {string} props.name Name for the block type. - * @return {boolean} Whether font weight support has been disabled. + * @param {Object} props Block properties. + * @param {string} props.name Name for the block type. + * + * @return {boolean} Whether font weight support has been disabled. */ function useIsFontWeightDisabled({ name: blockName } = {}) { const weightSupport = Object(external_wp_blocks_["hasBlockSupport"])(blockName, FONT_WEIGHT_SUPPORT_KEY); - const hasFontWeights = useSetting('typography.customFontWeight'); + const hasFontWeights = Object(use_setting["a" /* default */])('typography.fontWeight'); return !weightSupport || !hasFontWeights; } /** * Checks if font appearance support has been disabled. * - * @param {Object} props Block properties. - * @return {boolean} Whether font appearance support has been disabled. + * @param {Object} props Block properties. + * + * @return {boolean} Whether font appearance support has been disabled. */ function useIsFontAppearanceDisabled(props) { @@ -16032,62 +41870,56 @@ function useIsFontAppearanceDisabled(props) { const weightsDisabled = useIsFontWeightDisabled(props); return stylesDisabled && weightsDisabled; } - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-family/index.js - - - /** - * External dependencies + * Checks if there is either a font style or weight value set within the + * typography styles. + * + * @param {Object} props Block props. + * @return {boolean} Whether or not the block has a font style or weight. */ -/** - * WordPress dependencies - */ +function hasFontAppearanceValue(props) { + var _props$attributes$sty; - - -/** - * Internal dependencies - */ - - -function FontFamilyControl({ - value = '', - onChange, - fontFamilies, - ...props -}) { - const blockLevelFontFamilies = useSetting('typography.fontFamilies'); - - if (!fontFamilies) { - fontFamilies = blockLevelFontFamilies; - } - - if (Object(external_lodash_["isEmpty"])(fontFamilies)) { - return null; - } - - const options = [{ - value: '', - label: Object(external_wp_i18n_["__"])('Default') - }, ...fontFamilies.map(({ - fontFamily, - name - }) => { - return { - value: fontFamily, - label: name || fontFamily - }; - })]; - return Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], Object(esm_extends["a" /* default */])({ - label: Object(external_wp_i18n_["__"])('Font family'), - options: options, - value: value, - onChange: onChange, - labelPosition: "top" - }, props)); + const { + fontStyle, + fontWeight + } = ((_props$attributes$sty = props.attributes.style) === null || _props$attributes$sty === void 0 ? void 0 : _props$attributes$sty.typography) || {}; + return !!fontStyle || !!fontWeight; } +/** + * Resets the font style and weight block support attributes. This can be used + * when disabling the font appearance support controls for a block via a + * progressive discovery panel. + * + * @param {Object} props Block props. + * @param {Object} props.attributes Block's attributes. + * @param {Object} props.setAttributes Function to set block's attributes. + */ + +function resetFontAppearance({ + attributes = {}, + setAttributes +}) { + const { + style + } = attributes; + setAttributes({ + style: Object(hooks_utils["a" /* cleanEmptyObject */])({ ...style, + typography: { ...(style === null || style === void 0 ? void 0 : style.typography), + fontStyle: undefined, + fontWeight: undefined + } + }) + }); +} + +// EXTERNAL MODULE: external ["wp","tokenList"] +var external_wp_tokenList_ = __webpack_require__("BLeD"); +var external_wp_tokenList_default = /*#__PURE__*/__webpack_require__.n(external_wp_tokenList_); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-family/index.js +var font_family = __webpack_require__("GKUk"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/font-family.js @@ -16101,67 +41933,122 @@ function FontFamilyControl({ */ + + /** * 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 + */ -const getFontFamilyFromAttributeValue = (fontFamilies, value) => { - const attributeParsed = /var:preset\|font-family\|(.+)/.exec(value); +function font_family_addAttributes(settings) { + if (!Object(external_wp_blocks_["hasBlockSupport"])(settings, FONT_FAMILY_SUPPORT_KEY)) { + return settings; + } // Allow blocks to specify a default value if needed. - if (attributeParsed && attributeParsed[1]) { - const fontFamilyObject = Object(external_lodash_["find"])(fontFamilies, ({ - slug - }) => { - return slug === attributeParsed[1]; + + if (!settings.attributes.fontFamily) { + Object.assign(settings.attributes, { + fontFamily: { + type: 'string' + } }); - - if (fontFamilyObject) { - return fontFamilyObject.fontFamily; - } } - return value; -}; + 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 (!Object(external_wp_blocks_["hasBlockSupport"])(blockType, FONT_FAMILY_SUPPORT_KEY)) { + return props; + } + + if (Object(external_wp_blocks_["hasBlockSupport"])(blockType, 'typography.__experimentalSkipSerialization')) { + return props; + } + + if (!(attributes !== null && attributes !== void 0 && attributes.fontFamily)) { + return props; + } // Use TokenList to dedupe classes. + + + const classes = new external_wp_tokenList_default.a(props.className); + classes.add(`has-${Object(external_lodash_["kebabCase"])(attributes === null || attributes === void 0 ? void 0 : 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 (!Object(external_wp_blocks_["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; +} function FontFamilyEdit({ - name, setAttributes, attributes: { - style = {} + fontFamily } }) { - var _style$typography; + var _find; - const fontFamilies = useSetting('typography.fontFamilies'); - const isDisable = useIsFontFamilyDisabled({ - name - }); - - if (isDisable) { - return null; - } - - const value = getFontFamilyFromAttributeValue(fontFamilies, (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.fontFamily); + const fontFamilies = Object(use_setting["a" /* default */])('typography.fontFamilies'); + const value = (_find = Object(external_lodash_["find"])(fontFamilies, ({ + slug + }) => fontFamily === slug)) === null || _find === void 0 ? void 0 : _find.fontFamily; function onChange(newValue) { const predefinedFontFamily = Object(external_lodash_["find"])(fontFamilies, ({ - fontFamily - }) => fontFamily === newValue); + fontFamily: f + }) => f === newValue); setAttributes({ - style: cleanEmptyObject({ ...style, - typography: { ...(style.typography || {}), - fontFamily: predefinedFontFamily ? `var:preset|font-family|${predefinedFontFamily.slug}` : newValue || undefined - } - }) + fontFamily: predefinedFontFamily === null || predefinedFontFamily === void 0 ? void 0 : predefinedFontFamily.slug }); } - return Object(external_wp_element_["createElement"])(FontFamilyControl, { + return Object(external_wp_element_["createElement"])(font_family["a" /* default */], { className: "block-editor-hooks-font-family-control", fontFamilies: fontFamilies, value: value, @@ -16178,109 +42065,44 @@ function FontFamilyEdit({ function useIsFontFamilyDisabled({ name }) { - const fontFamilies = useSetting('typography.fontFamilies'); + const fontFamilies = Object(use_setting["a" /* default */])('typography.fontFamilies'); return !fontFamilies || fontFamilies.length === 0 || !Object(external_wp_blocks_["hasBlockSupport"])(name, FONT_FAMILY_SUPPORT_KEY); } - -// EXTERNAL MODULE: external ["wp","tokenList"] -var external_wp_tokenList_ = __webpack_require__("BLeD"); -var external_wp_tokenList_default = /*#__PURE__*/__webpack_require__.n(external_wp_tokenList_); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/utils.js /** - * External dependencies + * Checks if there is a current value set for the font family block support. + * + * @param {Object} props Block props. + * @return {boolean} Whether or not the block has a font family value set. */ +function hasFontFamilyValue(props) { + return !!props.attributes.fontFamily; +} /** - * 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. + * 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 {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. + * @param {Object} props Block props. + * @param {Object} props.setAttributes Function to set block's attributes. */ -const getFontSize = (fontSizes, fontSizeAttribute, customFontSizeAttribute) => { - if (fontSizeAttribute) { - const fontSizeObject = Object(external_lodash_["find"])(fontSizes, { - 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 getFontSizeObjectByValue(fontSizes, value) { - const fontSizeObject = Object(external_lodash_["find"])(fontSizes, { - size: value +function resetFontFamily({ + setAttributes +}) { + setAttributes({ + fontFamily: undefined }); - - if (fontSizeObject) { - return fontSizeObject; - } - - return { - size: value - }; } -/** - * Returns a class based on fontSizeName. - * - * @param {string} fontSizeSlug Slug of the fontSize. - * - * @return {string} 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'. - */ +Object(external_wp_hooks_["addFilter"])('blocks.registerBlockType', 'core/fontFamily/addAttribute', font_family_addAttributes); +Object(external_wp_hooks_["addFilter"])('blocks.getSaveContent.extraProps', 'core/fontFamily/addSaveProps', font_family_addSaveProps); +Object(external_wp_hooks_["addFilter"])('blocks.registerBlockType', 'core/fontFamily/addEditProps', font_family_addEditProps); -function getFontSizeClass(fontSizeSlug) { - if (!fontSizeSlug) { - return; - } +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/utils.js +var font_sizes_utils = __webpack_require__("NMUH"); - return `has-${Object(external_lodash_["kebabCase"])(fontSizeSlug)}-font-size`; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/font-size-picker.js - - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - -function FontSizePicker(props) { - const fontSizes = useSetting('typography.fontSizes'); - const disableCustomFontSizes = !useSetting('typography.customFontSize'); - return Object(external_wp_element_["createElement"])(external_wp_components_["FontSizePicker"], Object(esm_extends["a" /* default */])({}, props, { - fontSizes: fontSizes, - disableCustomFontSizes: disableCustomFontSizes - })); -} - -/* harmony default export */ var font_size_picker = (FontSizePicker); +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/font-size-picker.js +var font_size_picker = __webpack_require__("QP/w"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/font-size.js @@ -16304,8 +42126,9 @@ 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 + * @param {Object} settings Original block settings. + * + * @return {Object} Filtered block settings. */ function font_size_addAttributes(settings) { @@ -16327,10 +42150,11 @@ function font_size_addAttributes(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 + * @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. */ @@ -16345,7 +42169,7 @@ function font_size_addSaveProps(props, blockType, attributes) { const classes = new external_wp_tokenList_default.a(props.className); - classes.add(getFontSizeClass(attributes.fontSize)); + classes.add(Object(font_sizes_utils["b" /* getFontSizeClass */])(attributes.fontSize)); const newClassName = classes.value; props.className = newClassName ? newClassName : undefined; return props; @@ -16354,8 +42178,9 @@ function font_size_addSaveProps(props, blockType, attributes) { * 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 + * @param {Object} settings Original block settings. + * + * @return {Object} Filtered block settings. */ @@ -16397,13 +42222,12 @@ function FontSizeEdit(props) { }, setAttributes } = props; - const isDisabled = useIsFontSizeDisabled(props); - const fontSizes = useSetting('typography.fontSizes'); + const fontSizes = Object(use_setting["a" /* default */])('typography.fontSizes'); const onChange = value => { - const fontSizeSlug = getFontSizeObjectByValue(fontSizes, value).slug; + const fontSizeSlug = Object(font_sizes_utils["c" /* getFontSizeObjectByValue */])(fontSizes, value).slug; setAttributes({ - style: cleanEmptyObject({ ...style, + style: Object(hooks_utils["a" /* cleanEmptyObject */])({ ...style, typography: { ...(style === null || style === void 0 ? void 0 : style.typography), fontSize: fontSizeSlug ? undefined : value } @@ -16412,15 +42236,54 @@ function FontSizeEdit(props) { }); }; - if (isDisabled) { - return null; - } - - const fontSizeObject = getFontSize(fontSizes, fontSize, style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.fontSize); + const fontSizeObject = Object(font_sizes_utils["a" /* getFontSize */])(fontSizes, fontSize, style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.fontSize); const fontSizeValue = (fontSizeObject === null || fontSizeObject === void 0 ? void 0 : fontSizeObject.size) || (style === null || style === void 0 ? void 0 : (_style$typography2 = style.typography) === null || _style$typography2 === void 0 ? void 0 : _style$typography2.fontSize) || fontSize; - return Object(external_wp_element_["createElement"])(font_size_picker, { + return Object(external_wp_element_["createElement"])(font_size_picker["a" /* default */], { onChange: onChange, - value: fontSizeValue + value: fontSizeValue, + withReset: false + }); +} +/** + * Checks if there is a current value set for the font size block support. + * + * @param {Object} props Block props. + * @return {boolean} Whether or not the block has a font size value set. + */ + +function hasFontSizeValue(props) { + var _style$typography3; + + const { + fontSize, + style + } = props.attributes; + return !!fontSize || !!(style !== null && style !== void 0 && (_style$typography3 = style.typography) !== null && _style$typography3 !== void 0 && _style$typography3.fontSize); +} +/** + * Resets the font size block support attribute. This can be used when + * disabling the font size support controls for a block via a progressive + * discovery panel. + * + * @param {Object} props Block props. + * @param {Object} props.attributes Block's attributes. + * @param {Object} props.setAttributes Function to set block's attributes. + */ + +function resetFontSize({ + attributes = {}, + setAttributes +}) { + const { + style + } = attributes; + setAttributes({ + fontSize: undefined, + style: Object(hooks_utils["a" /* cleanEmptyObject */])({ ...style, + typography: { ...(style === null || style === void 0 ? void 0 : style.typography), + fontSize: undefined + } + }) }); } /** @@ -16433,7 +42296,7 @@ function FontSizeEdit(props) { function useIsFontSizeDisabled({ name: blockName } = {}) { - const fontSizes = useSetting('typography.fontSizes'); + const fontSizes = Object(use_setting["a" /* default */])('typography.fontSizes'); const hasFontSizes = !!(fontSizes !== null && fontSizes !== void 0 && fontSizes.length); return !Object(external_wp_blocks_["hasBlockSupport"])(blockName, FONT_SIZE_SUPPORT_KEY) || !hasFontSizes; } @@ -16442,14 +42305,15 @@ function useIsFontSizeDisabled({ * Ideally, this is not needed and themes load the font-size classes on the * editor. * - * @param {Function} BlockListBlock Original component - * @return {Function} Wrapped component + * @param {Function} BlockListBlock Original component. + * + * @return {Function} Wrapped component. */ const withFontSizeInlineStyles = Object(external_wp_compose_["createHigherOrderComponent"])(BlockListBlock => props => { - var _style$typography3, _style$typography4; + var _style$typography4, _style$typography5; - const fontSizes = useSetting('typography.fontSizes'); + const fontSizes = Object(use_setting["a" /* default */])('typography.fontSizes'); const { name: blockName, attributes: { @@ -16462,11 +42326,11 @@ const withFontSizeInlineStyles = Object(external_wp_compose_["createHigherOrderC // doesn't already have an inline font size, // and does have a class to extract the font size from. - if (!Object(external_wp_blocks_["hasBlockSupport"])(blockName, FONT_SIZE_SUPPORT_KEY) || Object(external_wp_blocks_["hasBlockSupport"])(blockName, 'typography.__experimentalSkipSerialization') || !fontSize || style !== null && style !== void 0 && (_style$typography3 = style.typography) !== null && _style$typography3 !== void 0 && _style$typography3.fontSize) { + if (!Object(external_wp_blocks_["hasBlockSupport"])(blockName, FONT_SIZE_SUPPORT_KEY) || Object(external_wp_blocks_["hasBlockSupport"])(blockName, 'typography.__experimentalSkipSerialization') || !fontSize || style !== null && style !== void 0 && (_style$typography4 = style.typography) !== null && _style$typography4 !== void 0 && _style$typography4.fontSize) { return Object(external_wp_element_["createElement"])(BlockListBlock, props); } - const fontSizeValue = getFontSize(fontSizes, fontSize, style === null || style === void 0 ? void 0 : (_style$typography4 = style.typography) === null || _style$typography4 === void 0 ? void 0 : _style$typography4.fontSize).size; + const fontSizeValue = Object(font_sizes_utils["a" /* getFontSize */])(fontSizes, fontSize, style === null || style === void 0 ? void 0 : (_style$typography5 = style.typography) === null || _style$typography5 === void 0 ? void 0 : _style$typography5.fontSize).size; const newProps = { ...props, wrapperProps: { ...wrapperProps, style: { @@ -16482,7 +42346,10 @@ Object(external_wp_hooks_["addFilter"])('blocks.getSaveContent.extraProps', 'cor Object(external_wp_hooks_["addFilter"])('blocks.registerBlockType', 'core/font/addEditProps', font_size_addEditProps); Object(external_wp_hooks_["addFilter"])('editor.BlockListBlock', 'core/font-size/with-font-size-inline-styles', withFontSizeInlineStyles); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/typography.js +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/text-decoration-control/index.js + 1 modules +var text_decoration_control = __webpack_require__("kVRd"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/text-decoration.js /** @@ -16490,12 +42357,330 @@ Object(external_wp_hooks_["addFilter"])('editor.BlockListBlock', 'core/font-size */ /** - * External dependencies + * Internal dependencies */ +/** + * Key within block settings' supports array indicating support for text + * decorations e.g. settings found in `block.json`. + */ + +const TEXT_DECORATION_SUPPORT_KEY = 'typography.__experimentalTextDecoration'; +/** + * Inspector control panel containing the text decoration options. + * + * @param {Object} props Block properties. + * + * @return {WPElement} Text decoration edit element. + */ + +function TextDecorationEdit(props) { + var _style$typography; + + const { + attributes: { + style + }, + setAttributes + } = props; + + function onChange(newDecoration) { + setAttributes({ + style: Object(hooks_utils["a" /* cleanEmptyObject */])({ ...style, + typography: { ...(style === null || style === void 0 ? void 0 : style.typography), + textDecoration: newDecoration + } + }) + }); + } + + return Object(external_wp_element_["createElement"])(text_decoration_control["a" /* default */], { + value: style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.textDecoration, + onChange: onChange + }); +} +/** + * Checks if text-decoration settings have been disabled. + * + * @param {string} name Name of the block. + * + * @return {boolean} Whether or not the setting is disabled. + */ + +function useIsTextDecorationDisabled({ + name: blockName +} = {}) { + const notSupported = !Object(external_wp_blocks_["hasBlockSupport"])(blockName, TEXT_DECORATION_SUPPORT_KEY); + const hasTextDecoration = Object(use_setting["a" /* default */])('typography.textDecoration'); + return notSupported || !hasTextDecoration; +} +/** + * Checks if there is a current value set for the text decoration block support. + * + * @param {Object} props Block props. + * @return {boolean} Whether or not the block has a text decoration set. + */ + +function hasTextDecorationValue(props) { + var _props$attributes$sty, _props$attributes$sty2; + + return !!((_props$attributes$sty = props.attributes.style) !== null && _props$attributes$sty !== void 0 && (_props$attributes$sty2 = _props$attributes$sty.typography) !== null && _props$attributes$sty2 !== void 0 && _props$attributes$sty2.textDecoration); +} +/** + * Resets the text decoration block support attribute. This can be used when + * disabling the text decoration support controls for a block via a progressive + * discovery panel. + * + * @param {Object} props Block props. + * @param {Object} props.attributes Block's attributes. + * @param {Object} props.setAttributes Function to set block's attributes. + */ + +function resetTextDecoration({ + attributes = {}, + setAttributes +}) { + const { + style + } = attributes; + setAttributes({ + style: Object(hooks_utils["a" /* cleanEmptyObject */])({ ...style, + typography: { ...(style === null || style === void 0 ? void 0 : style.typography), + textDecoration: undefined + } + }) + }); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/text-transform-control/index.js + 3 modules +var text_transform_control = __webpack_require__("/Hvg"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/text-transform.js + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + + +/** + * Key within block settings' supports array indicating support for text + * transforms e.g. settings found in `block.json`. + */ + +const TEXT_TRANSFORM_SUPPORT_KEY = 'typography.__experimentalTextTransform'; +/** + * Inspector control panel containing the text transform options. + * + * @param {Object} props Block properties. + * + * @return {WPElement} Text transform edit element. + */ + +function TextTransformEdit(props) { + var _style$typography; + + const { + attributes: { + style + }, + setAttributes + } = props; + + function onChange(newTransform) { + setAttributes({ + style: Object(hooks_utils["a" /* cleanEmptyObject */])({ ...style, + typography: { ...(style === null || style === void 0 ? void 0 : style.typography), + textTransform: newTransform + } + }) + }); + } + + return Object(external_wp_element_["createElement"])(text_transform_control["a" /* default */], { + value: style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.textTransform, + onChange: onChange + }); +} +/** + * Checks if text-transform settings have been disabled. + * + * @param {string} name Name of the block. + * + * @return {boolean} Whether or not the setting is disabled. + */ + +function useIsTextTransformDisabled({ + name: blockName +} = {}) { + const notSupported = !Object(external_wp_blocks_["hasBlockSupport"])(blockName, TEXT_TRANSFORM_SUPPORT_KEY); + const hasTextTransforms = Object(use_setting["a" /* default */])('typography.textTransform'); + return notSupported || !hasTextTransforms; +} +/** + * Checks if there is a current value set for the text transform block support. + * + * @param {Object} props Block props. + * @return {boolean} Whether or not the block has a text transform set. + */ + +function hasTextTransformValue(props) { + var _props$attributes$sty, _props$attributes$sty2; + + return !!((_props$attributes$sty = props.attributes.style) !== null && _props$attributes$sty !== void 0 && (_props$attributes$sty2 = _props$attributes$sty.typography) !== null && _props$attributes$sty2 !== void 0 && _props$attributes$sty2.textTransform); +} +/** + * Resets the text transform block support attribute. This can be used when + * disabling the text transform support controls for a block via a progressive + * discovery panel. + * + * @param {Object} props Block props. + * @param {Object} props.attributes Block's attributes. + * @param {Object} props.setAttributes Function to set block's attributes. + */ + +function resetTextTransform({ + attributes = {}, + setAttributes +}) { + const { + style + } = attributes; + setAttributes({ + style: Object(hooks_utils["a" /* cleanEmptyObject */])({ ...style, + typography: { ...(style === null || style === void 0 ? void 0 : style.typography), + textTransform: undefined + } + }) + }); +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/letter-spacing-control/index.js +var letter_spacing_control = __webpack_require__("xBDm"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/letter-spacing.js + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + + +/** + * Key within block settings' supports array indicating support for letter-spacing + * e.g. settings found in `block.json`. + */ + +const LETTER_SPACING_SUPPORT_KEY = 'typography.__experimentalLetterSpacing'; +/** + * Inspector control panel containing the letter-spacing options. + * + * @param {Object} props Block properties. + * @return {WPElement} Letter-spacing edit element. + */ + +function LetterSpacingEdit(props) { + var _style$typography; + + const { + attributes: { + style + }, + setAttributes + } = props; + + function onChange(newSpacing) { + setAttributes({ + style: Object(hooks_utils["a" /* cleanEmptyObject */])({ ...style, + typography: { ...(style === null || style === void 0 ? void 0 : style.typography), + letterSpacing: newSpacing + } + }) + }); + } + + return Object(external_wp_element_["createElement"])(letter_spacing_control["a" /* default */], { + value: style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.letterSpacing, + onChange: onChange, + __unstableInputWidth: false + }); +} +/** + * Checks if letter-spacing settings have been disabled. + * + * @param {string} name Name of the block. + * @return {boolean} Whether or not the setting is disabled. + */ + +function useIsLetterSpacingDisabled({ + name: blockName +} = {}) { + const notSupported = !Object(external_wp_blocks_["hasBlockSupport"])(blockName, LETTER_SPACING_SUPPORT_KEY); + const hasLetterSpacing = Object(use_setting["a" /* default */])('typography.letterSpacing'); + return notSupported || !hasLetterSpacing; +} +/** + * Checks if there is a current value set for the letter spacing block support. + * + * @param {Object} props Block props. + * @return {boolean} Whether or not the block has a letter spacing set. + */ + +function hasLetterSpacingValue(props) { + var _props$attributes$sty, _props$attributes$sty2; + + return !!((_props$attributes$sty = props.attributes.style) !== null && _props$attributes$sty !== void 0 && (_props$attributes$sty2 = _props$attributes$sty.typography) !== null && _props$attributes$sty2 !== void 0 && _props$attributes$sty2.letterSpacing); +} +/** + * Resets the letter spacing block support attribute. This can be used when + * disabling the letter spacing support controls for a block via a progressive + * discovery panel. + * + * @param {Object} props Block props. + * @param {Object} props.attributes Block's attributes. + * @param {Object} props.setAttributes Function to set block's attributes. + */ + +function resetLetterSpacing({ + attributes = {}, + setAttributes +}) { + const { + style + } = attributes; + setAttributes({ + style: Object(hooks_utils["a" /* cleanEmptyObject */])({ ...style, + typography: { ...(style === null || style === void 0 ? void 0 : style.typography), + letterSpacing: undefined + } + }) + }); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/typography.js + + +/** + * WordPress dependencies + */ + + + /** * Internal dependencies */ @@ -16508,28 +42693,272 @@ Object(external_wp_hooks_["addFilter"])('editor.BlockListBlock', 'core/font-size + 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_DECORATION_SUPPORT_KEY, TEXT_TRANSFORM_SUPPORT_KEY]; +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_DECORATION_SUPPORT_KEY, TEXT_TRANSFORM_SUPPORT_KEY, LETTER_SPACING_SUPPORT_KEY]; function TypographyPanel(props) { + const { + clientId + } = props; + const isFontFamilyDisabled = useIsFontFamilyDisabled(props); + const isFontSizeDisabled = useIsFontSizeDisabled(props); + const isFontAppearanceDisabled = useIsFontAppearanceDisabled(props); + const isLineHeightDisabled = useIsLineHeightDisabled(props); + const isTextDecorationDisabled = useIsTextDecorationDisabled(props); + const isTextTransformDisabled = useIsTextTransformDisabled(props); + const isLetterSpacingDisabled = useIsLetterSpacingDisabled(props); + const hasFontStyles = !useIsFontStyleDisabled(props); + const hasFontWeights = !useIsFontWeightDisabled(props); const isDisabled = useIsTypographyDisabled(props); const isSupported = hasTypographySupport(props.name); if (isDisabled || !isSupported) return null; - return Object(external_wp_element_["createElement"])(inspector_controls, null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { - title: Object(external_wp_i18n_["__"])('Typography') - }, Object(external_wp_element_["createElement"])(external_wp_components_["__unstableComponentSystemProvider"], { - __unstableNextInclude: ['WPComponentsFontSizePicker'] - }, Object(external_wp_element_["createElement"])(FontFamilyEdit, props), Object(external_wp_element_["createElement"])(FontSizeEdit, props), Object(external_wp_element_["createElement"])(FontAppearanceEdit, props), Object(external_wp_element_["createElement"])(LineHeightEdit, props), Object(external_wp_element_["createElement"])(TextDecorationAndTransformEdit, props)))); + const defaultControls = Object(external_wp_blocks_["getBlockSupport"])(props.name, [TYPOGRAPHY_SUPPORT_KEY, '__experimentalDefaultControls']); + + const createResetAllFilter = attribute => newAttributes => { + var _newAttributes$style; + + return { ...newAttributes, + style: { ...newAttributes.style, + typography: { ...((_newAttributes$style = newAttributes.style) === null || _newAttributes$style === void 0 ? void 0 : _newAttributes$style.typography), + [attribute]: undefined + } + } + }; + }; + + return Object(external_wp_element_["createElement"])(inspector_controls["b" /* default */], { + __experimentalGroup: "typography" + }, !isFontFamilyDisabled && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolsPanelItem"], { + hasValue: () => hasFontFamilyValue(props), + label: Object(external_wp_i18n_["__"])('Font family'), + onDeselect: () => resetFontFamily(props), + isShownByDefault: defaultControls === null || defaultControls === void 0 ? void 0 : defaultControls.fontFamily, + resetAllFilter: newAttributes => ({ ...newAttributes, + fontFamily: undefined + }), + panelId: clientId + }, Object(external_wp_element_["createElement"])(FontFamilyEdit, props)), !isFontSizeDisabled && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolsPanelItem"], { + hasValue: () => hasFontSizeValue(props), + label: Object(external_wp_i18n_["__"])('Font size'), + onDeselect: () => resetFontSize(props), + isShownByDefault: defaultControls === null || defaultControls === void 0 ? void 0 : defaultControls.fontSize, + resetAllFilter: newAttributes => { + var _newAttributes$style2; + + return { ...newAttributes, + fontSize: undefined, + style: { ...newAttributes.style, + typography: { ...((_newAttributes$style2 = newAttributes.style) === null || _newAttributes$style2 === void 0 ? void 0 : _newAttributes$style2.typography), + fontSize: undefined + } + } + }; + }, + panelId: clientId + }, Object(external_wp_element_["createElement"])(FontSizeEdit, props)), !isFontAppearanceDisabled && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolsPanelItem"], { + className: "single-column", + hasValue: () => hasFontAppearanceValue(props), + label: Object(font_appearance_control["b" /* getFontAppearanceLabel */])(hasFontStyles, hasFontWeights), + onDeselect: () => resetFontAppearance(props), + isShownByDefault: defaultControls === null || defaultControls === void 0 ? void 0 : defaultControls.fontAppearance, + resetAllFilter: newAttributes => { + var _newAttributes$style3; + + return { ...newAttributes, + style: { ...newAttributes.style, + typography: { ...((_newAttributes$style3 = newAttributes.style) === null || _newAttributes$style3 === void 0 ? void 0 : _newAttributes$style3.typography), + fontStyle: undefined, + fontWeight: undefined + } + } + }; + }, + panelId: clientId + }, Object(external_wp_element_["createElement"])(FontAppearanceEdit, props)), !isLineHeightDisabled && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolsPanelItem"], { + className: "single-column", + hasValue: () => hasLineHeightValue(props), + label: Object(external_wp_i18n_["__"])('Line height'), + onDeselect: () => resetLineHeight(props), + isShownByDefault: defaultControls === null || defaultControls === void 0 ? void 0 : defaultControls.lineHeight, + resetAllFilter: createResetAllFilter('lineHeight'), + panelId: clientId + }, Object(external_wp_element_["createElement"])(LineHeightEdit, props)), !isTextDecorationDisabled && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolsPanelItem"], { + className: "single-column", + hasValue: () => hasTextDecorationValue(props), + label: Object(external_wp_i18n_["__"])('Decoration'), + onDeselect: () => resetTextDecoration(props), + isShownByDefault: defaultControls === null || defaultControls === void 0 ? void 0 : defaultControls.textDecoration, + resetAllFilter: createResetAllFilter('textDecoration'), + panelId: clientId + }, Object(external_wp_element_["createElement"])(TextDecorationEdit, props)), !isTextTransformDisabled && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolsPanelItem"], { + className: "single-column", + hasValue: () => hasTextTransformValue(props), + label: Object(external_wp_i18n_["__"])('Letter case'), + onDeselect: () => resetTextTransform(props), + isShownByDefault: defaultControls === null || defaultControls === void 0 ? void 0 : defaultControls.textTransform, + resetAllFilter: createResetAllFilter('textTransform'), + panelId: clientId + }, Object(external_wp_element_["createElement"])(TextTransformEdit, props)), !isLetterSpacingDisabled && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolsPanelItem"], { + className: "single-column", + hasValue: () => hasLetterSpacingValue(props), + label: Object(external_wp_i18n_["__"])('Letter-spacing'), + onDeselect: () => resetLetterSpacing(props), + isShownByDefault: defaultControls === null || defaultControls === void 0 ? void 0 : defaultControls.letterSpacing, + resetAllFilter: createResetAllFilter('letterSpacing'), + panelId: clientId + }, Object(external_wp_element_["createElement"])(LetterSpacingEdit, props))); } const hasTypographySupport = blockName => { - return external_wp_element_["Platform"].OS === 'web' && TYPOGRAPHY_SUPPORT_KEYS.some(key => Object(external_wp_blocks_["hasBlockSupport"])(blockName, key)); + return TYPOGRAPHY_SUPPORT_KEYS.some(key => Object(external_wp_blocks_["hasBlockSupport"])(blockName, key)); }; function useIsTypographyDisabled(props = {}) { - const configs = [useIsFontAppearanceDisabled(props), useIsFontSizeDisabled(props), useIsLineHeightDisabled(props), useIsFontFamilyDisabled(props), useIsTextDecorationDisabled(props), useIsTextTransformDisabled(props)]; + const configs = [useIsFontAppearanceDisabled(props), useIsFontSizeDisabled(props), useIsLineHeightDisabled(props), useIsFontFamilyDisabled(props), useIsTextDecorationDisabled(props), useIsTextTransformDisabled(props), useIsLetterSpacingDisabled(props)]; return configs.filter(Boolean).length === configs.length; } +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/gap.js + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + +/** + * Determines if there is gap support. + * + * @param {string|Object} blockType Block name or Block Type object. + * @return {boolean} Whether there is support. + */ + +function hasGapSupport(blockType) { + const support = Object(external_wp_blocks_["getBlockSupport"])(blockType, SPACING_SUPPORT_KEY); + return !!(true === support || support !== null && support !== void 0 && support.blockGap); +} +/** + * Checks if there is a current value in the gap block support attributes. + * + * @param {Object} props Block props. + * @return {boolean} Whether or not the block has a gap value set. + */ + +function hasGapValue(props) { + var _props$attributes$sty, _props$attributes$sty2; + + return ((_props$attributes$sty = props.attributes.style) === null || _props$attributes$sty === void 0 ? void 0 : (_props$attributes$sty2 = _props$attributes$sty.spacing) === null || _props$attributes$sty2 === void 0 ? void 0 : _props$attributes$sty2.blockGap) !== undefined; +} +/** + * Resets the gap block support attribute. This can be used when disabling + * the gap support controls for a block via a progressive discovery panel. + * + * @param {Object} props Block props. + * @param {Object} props.attributes Block's attributes. + * @param {Object} props.setAttributes Function to set block's attributes. + */ + +function resetGap({ + attributes = {}, + setAttributes +}) { + const { + style + } = attributes; + setAttributes({ + style: { ...style, + spacing: { ...(style === null || style === void 0 ? void 0 : style.spacing), + blockGap: undefined + } + } + }); +} +/** + * Custom hook that checks if gap settings have been disabled. + * + * @param {string} name The name of the block. + * @return {boolean} Whether the gap setting is disabled. + */ + +function useIsGapDisabled({ + name: blockName +} = {}) { + const isDisabled = !Object(use_setting["a" /* default */])('spacing.blockGap'); + return !hasGapSupport(blockName) || isDisabled; +} +/** + * Inspector control panel containing the gap related configuration + * + * @param {Object} props + * + * @return {WPElement} Gap edit element. + */ + +function GapEdit(props) { + var _style$spacing; + + const { + clientId, + attributes: { + style + }, + setAttributes + } = props; + const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ + availableUnits: Object(use_setting["a" /* default */])('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'] + }); + const ref = Object(use_block_refs["b" /* __unstableUseBlockRef */])(clientId); + + if (useIsGapDisabled(props)) { + return null; + } + + const onChange = next => { + var _window; + + const newStyle = { ...style, + spacing: { ...(style === null || style === void 0 ? void 0 : style.spacing), + blockGap: next + } + }; + setAttributes({ + style: Object(hooks_utils["a" /* cleanEmptyObject */])(newStyle) + }); // In Safari, changing the `gap` CSS value on its own will not trigger the layout + // to be recalculated / re-rendered. To force the updated gap to re-render, here + // we replace the block's node with itself. + + const isSafari = ((_window = window) === null || _window === void 0 ? void 0 : _window.navigator.userAgent) && window.navigator.userAgent.includes('Safari') && !window.navigator.userAgent.includes('Chrome ') && !window.navigator.userAgent.includes('Chromium '); + + if (ref.current && isSafari) { + var _ref$current$parentNo; + + (_ref$current$parentNo = ref.current.parentNode) === null || _ref$current$parentNo === void 0 ? void 0 : _ref$current$parentNo.replaceChild(ref.current, ref.current); + } + }; + + return external_wp_element_["Platform"].select({ + web: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalUnitControl"], { + label: Object(external_wp_i18n_["__"])('Block spacing'), + __unstableInputWidth: "80px", + min: 0, + onChange: onChange, + units: units, + value: style === null || style === void 0 ? void 0 : (_style$spacing = style.spacing) === null || _style$spacing === void 0 ? void 0 : _style$spacing.blockGap + })), + native: null + }); +} + // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/margin.js @@ -16550,32 +42979,72 @@ function useIsTypographyDisabled(props = {}) { /** * Determines if there is margin support. * - * @param {string|Object} blockType Block name or Block Type object. - * @return {boolean} Whether there is support. + * @param {string|Object} blockType Block name or Block Type object. + * + * @return {boolean} Whether there is support. */ function hasMarginSupport(blockType) { const support = Object(external_wp_blocks_["getBlockSupport"])(blockType, SPACING_SUPPORT_KEY); return !!(true === support || support !== null && support !== void 0 && support.margin); } +/** + * Checks if there is a current value in the margin block support attributes. + * + * @param {Object} props Block props. + * @return {boolean} Whether or not the block has a margin value set. + */ + +function hasMarginValue(props) { + var _props$attributes$sty, _props$attributes$sty2; + + return ((_props$attributes$sty = props.attributes.style) === null || _props$attributes$sty === void 0 ? void 0 : (_props$attributes$sty2 = _props$attributes$sty.spacing) === null || _props$attributes$sty2 === void 0 ? void 0 : _props$attributes$sty2.margin) !== undefined; +} +/** + * Resets the margin block support attributes. This can be used when disabling + * the margin 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 resetMargin({ + attributes = {}, + setAttributes +}) { + const { + style + } = attributes; + setAttributes({ + style: Object(hooks_utils["a" /* cleanEmptyObject */])({ ...style, + spacing: { ...(style === null || style === void 0 ? void 0 : style.spacing), + margin: undefined + } + }) + }); +} /** * Custom hook that checks if margin settings have been disabled. * - * @param {string} name The name of the block. - * @return {boolean} Whether margin setting is disabled. + * @param {string} name The name of the block. + * + * @return {boolean} Whether margin setting is disabled. */ function useIsMarginDisabled({ name: blockName } = {}) { - const isDisabled = !useSetting('spacing.customMargin'); - return !hasMarginSupport(blockName) || isDisabled; + const isDisabled = !Object(use_setting["a" /* default */])('spacing.margin'); + const isInvalid = !useIsDimensionsSupportValid(blockName, 'margin'); + return !hasMarginSupport(blockName) || isDisabled || isInvalid; } /** * Inspector control panel containing the margin related configuration * - * @param {Object} props Block props. - * @return {WPElement} Margin edit element. + * @param {Object} props Block props. + * + * @return {WPElement} Margin edit element. */ function MarginEdit(props) { @@ -16589,9 +43058,10 @@ function MarginEdit(props) { setAttributes } = props; const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ - availableUnits: useSetting('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'] + availableUnits: Object(use_setting["a" /* default */])('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'] }); const sides = useCustomSides(blockName, 'margin'); + const splitOnAxis = sides && sides.some(side => AXIAL_SIDES.includes(side)); if (useIsMarginDisabled(props)) { return null; @@ -16604,7 +43074,7 @@ function MarginEdit(props) { } }; setAttributes({ - style: cleanEmptyObject(newStyle) + style: Object(hooks_utils["a" /* cleanEmptyObject */])(newStyle) }); }; @@ -16615,7 +43085,7 @@ function MarginEdit(props) { } }; setAttributes({ - style: cleanEmptyObject(newStyle) + style: Object(hooks_utils["a" /* cleanEmptyObject */])(newStyle) }); }; @@ -16626,7 +43096,9 @@ function MarginEdit(props) { onChangeShowVisualizer: onChangeShowVisualizer, label: Object(external_wp_i18n_["__"])('Margin'), sides: sides, - units: units + units: units, + allowReset: false, + splitOnAxis: splitOnAxis })), native: null }); @@ -16652,26 +43124,65 @@ function MarginEdit(props) { /** * Determines if there is padding support. * - * @param {string|Object} blockType Block name or Block Type object. - * @return {boolean} Whether there is support. + * @param {string|Object} blockType Block name or Block Type object. + * + * @return {boolean} Whether there is support. */ function hasPaddingSupport(blockType) { const support = Object(external_wp_blocks_["getBlockSupport"])(blockType, SPACING_SUPPORT_KEY); return !!(true === support || support !== null && support !== void 0 && support.padding); } +/** + * Checks if there is a current value in the padding block support attributes. + * + * @param {Object} props Block props. + * @return {boolean} Whether or not the block has a padding value set. + */ + +function hasPaddingValue(props) { + var _props$attributes$sty, _props$attributes$sty2; + + return ((_props$attributes$sty = props.attributes.style) === null || _props$attributes$sty === void 0 ? void 0 : (_props$attributes$sty2 = _props$attributes$sty.spacing) === null || _props$attributes$sty2 === void 0 ? void 0 : _props$attributes$sty2.padding) !== undefined; +} +/** + * Resets the padding block support attributes. This can be used when disabling + * the padding 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 resetPadding({ + attributes = {}, + setAttributes +}) { + const { + style + } = attributes; + setAttributes({ + style: Object(hooks_utils["a" /* cleanEmptyObject */])({ ...style, + spacing: { ...(style === null || style === void 0 ? void 0 : style.spacing), + padding: undefined + } + }) + }); +} /** * Custom hook that checks if padding settings have been disabled. * - * @param {string} name The name of the block. - * @return {boolean} Whether padding setting is disabled. + * @param {string} name The name of the block. + * + * @return {boolean} Whether padding setting is disabled. */ function useIsPaddingDisabled({ name: blockName } = {}) { - const isDisabled = !useSetting('spacing.customPadding'); - return !hasPaddingSupport(blockName) || isDisabled; + const isDisabled = !Object(use_setting["a" /* default */])('spacing.padding'); + const isInvalid = !useIsDimensionsSupportValid(blockName, 'padding'); + return !hasPaddingSupport(blockName) || isDisabled || isInvalid; } /** * Inspector control panel containing the padding related configuration @@ -16692,9 +43203,10 @@ function PaddingEdit(props) { setAttributes } = props; const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ - availableUnits: useSetting('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'] + availableUnits: Object(use_setting["a" /* default */])('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'] }); const sides = useCustomSides(blockName, 'padding'); + const splitOnAxis = sides && sides.some(side => AXIAL_SIDES.includes(side)); if (useIsPaddingDisabled(props)) { return null; @@ -16707,7 +43219,7 @@ function PaddingEdit(props) { } }; setAttributes({ - style: cleanEmptyObject(newStyle) + style: Object(hooks_utils["a" /* cleanEmptyObject */])(newStyle) }); }; @@ -16718,7 +43230,7 @@ function PaddingEdit(props) { } }; setAttributes({ - style: cleanEmptyObject(newStyle) + style: Object(hooks_utils["a" /* cleanEmptyObject */])(newStyle) }); }; @@ -16729,13 +43241,15 @@ function PaddingEdit(props) { onChangeShowVisualizer: onChangeShowVisualizer, label: Object(external_wp_i18n_["__"])('Padding'), sides: sides, - units: units + units: units, + allowReset: false, + splitOnAxis: splitOnAxis })), native: null }); } -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/spacing.js +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/dimensions.js /** @@ -16752,53 +43266,96 @@ function PaddingEdit(props) { + const SPACING_SUPPORT_KEY = 'spacing'; +const ALL_SIDES = ['top', 'right', 'bottom', 'left']; +const AXIAL_SIDES = ['vertical', 'horizontal']; /** - * Inspector controls for spacing support. + * Inspector controls for dimensions support. * - * @param {Object} props Block props. - * @return {WPElement} Inspector controls for spacing support features. + * @param {Object} props Block props. + * + * @return {WPElement} Inspector controls for spacing support features. */ -function SpacingPanel(props) { - const isDisabled = useIsSpacingDisabled(props); - const isSupported = hasSpacingSupport(props.name); +function DimensionsPanel(props) { + const isGapDisabled = useIsGapDisabled(props); + const isPaddingDisabled = useIsPaddingDisabled(props); + const isMarginDisabled = useIsMarginDisabled(props); + const isDisabled = useIsDimensionsDisabled(props); + const isSupported = hasDimensionsSupport(props.name); if (isDisabled || !isSupported) { return null; } - return Object(external_wp_element_["createElement"])(inspector_controls, { - key: "spacing" - }, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { - title: Object(external_wp_i18n_["__"])('Spacing') - }, Object(external_wp_element_["createElement"])(PaddingEdit, props), Object(external_wp_element_["createElement"])(MarginEdit, props))); + const defaultSpacingControls = Object(external_wp_blocks_["getBlockSupport"])(props.name, [SPACING_SUPPORT_KEY, '__experimentalDefaultControls']); + + const createResetAllFilter = attribute => newAttributes => { + var _newAttributes$style; + + return { ...newAttributes, + style: { ...newAttributes.style, + spacing: { ...((_newAttributes$style = newAttributes.style) === null || _newAttributes$style === void 0 ? void 0 : _newAttributes$style.spacing), + [attribute]: undefined + } + } + }; + }; + + return Object(external_wp_element_["createElement"])(inspector_controls["b" /* default */], { + __experimentalGroup: "dimensions" + }, !isPaddingDisabled && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolsPanelItem"], { + hasValue: () => hasPaddingValue(props), + label: Object(external_wp_i18n_["__"])('Padding'), + onDeselect: () => resetPadding(props), + resetAllFilter: createResetAllFilter('padding'), + isShownByDefault: defaultSpacingControls === null || defaultSpacingControls === void 0 ? void 0 : defaultSpacingControls.padding, + panelId: props.clientId + }, Object(external_wp_element_["createElement"])(PaddingEdit, props)), !isMarginDisabled && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolsPanelItem"], { + hasValue: () => hasMarginValue(props), + label: Object(external_wp_i18n_["__"])('Margin'), + onDeselect: () => resetMargin(props), + resetAllFilter: createResetAllFilter('margin'), + isShownByDefault: defaultSpacingControls === null || defaultSpacingControls === void 0 ? void 0 : defaultSpacingControls.margin, + panelId: props.clientId + }, Object(external_wp_element_["createElement"])(MarginEdit, props)), !isGapDisabled && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolsPanelItem"], { + hasValue: () => hasGapValue(props), + label: Object(external_wp_i18n_["__"])('Block spacing'), + onDeselect: () => resetGap(props), + resetAllFilter: createResetAllFilter('blockGap'), + isShownByDefault: defaultSpacingControls === null || defaultSpacingControls === void 0 ? void 0 : defaultSpacingControls.blockGap, + panelId: props.clientId + }, Object(external_wp_element_["createElement"])(GapEdit, props))); } /** - * Determine whether there is block support for padding or margins. + * Determine whether there is dimensions related block support. * * @param {string} blockName Block name. - * @return {boolean} Whether there is support. + * + * @return {boolean} Whether there is support. */ -function hasSpacingSupport(blockName) { +function hasDimensionsSupport(blockName) { if (external_wp_element_["Platform"].OS !== 'web') { return false; } - return hasPaddingSupport(blockName) || hasMarginSupport(blockName); + return hasGapSupport(blockName) || hasPaddingSupport(blockName) || hasMarginSupport(blockName); } /** - * Determines whether spacing support has been disabled. + * Determines whether dimensions support has been disabled. * - * @param {Object} props Block properties. - * @return {boolean} If spacing support is completely disabled. + * @param {Object} props Block properties. + * + * @return {boolean} If spacing support is completely disabled. */ -const useIsSpacingDisabled = (props = {}) => { +const useIsDimensionsDisabled = (props = {}) => { + const gapDisabled = useIsGapDisabled(props); const paddingDisabled = useIsPaddingDisabled(props); const marginDisabled = useIsMarginDisabled(props); - return paddingDisabled && marginDisabled; + return gapDisabled && paddingDisabled && marginDisabled; }; /** * Custom hook to retrieve which padding/margin is supported @@ -16807,21 +43364,47 @@ const useIsSpacingDisabled = (props = {}) => { * Sides are opted into by default. It is only if a specific side is set to * false that it is omitted. * - * @param {string} blockName Block name. - * @param {string} feature The feature custom sides relate to e.g. padding or margins. - * @return {Object} Sides supporting custom margin. + * @param {string} blockName Block name. + * @param {string} feature The feature custom sides relate to e.g. padding or margins. + * + * @return {Object} Sides supporting custom margin. */ function useCustomSides(blockName, feature) { const support = Object(external_wp_blocks_["getBlockSupport"])(blockName, SPACING_SUPPORT_KEY); // Skip when setting is boolean as theme isn't setting arbitrary sides. - if (typeof support[feature] === 'boolean') { + if (!support || typeof support[feature] === 'boolean') { return; } return support[feature]; } +/** + * Custom hook to determine whether the sides configured in the + * block support are valid. A dimension property cannot declare + * support for a mix of axial and individual sides. + * + * @param {string} blockName Block name. + * @param {string} feature The feature custom sides relate to e.g. padding or margins. + * + * @return {boolean} If the feature has a valid configuration of sides. + */ + +function useIsDimensionsSupportValid(blockName, feature) { + const sides = useCustomSides(blockName, feature); + + if (sides && sides.some(side => ALL_SIDES.includes(side)) && sides.some(side => AXIAL_SIDES.includes(side))) { + // eslint-disable-next-line no-console + console.warn(`The ${feature} support for the "${blockName}" block can not be configured to support both axial and arbitrary sides.`); + return false; + } + + return true; +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-display-block-controls/index.js +var use_display_block_controls = __webpack_require__("HgtZ"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/style.js @@ -16839,6 +43422,7 @@ function useCustomSides(blockName, feature) { + /** * Internal dependencies */ @@ -16848,6 +43432,7 @@ function useCustomSides(blockName, feature) { + const styleSupportKeys = [...TYPOGRAPHY_SUPPORT_KEYS, BORDER_SUPPORT_KEY, COLOR_SUPPORT_KEY, SPACING_SUPPORT_KEY]; const hasStyleSupport = blockType => styleSupportKeys.some(key => Object(external_wp_blocks_["hasBlockSupport"])(blockType, key)); @@ -16867,8 +43452,9 @@ function compileStyleValue(uncompiledValue) { /** * Returns the inline styles to add depending on the style object * - * @param {Object} styles Styles configuration - * @return {Object} Flattened CSS variables declaration + * @param {Object} styles Styles configuration. + * + * @return {Object} Flattened CSS variables declaration. */ @@ -16879,9 +43465,18 @@ function getInlineStyles(styles = {}) { const subPaths = external_wp_blocks_["__EXPERIMENTAL_STYLE_PROPERTY"][propKey].properties; // Ignore styles on elements because they are handled on the server. if (Object(external_lodash_["has"])(styles, path) && 'elements' !== Object(external_lodash_["first"])(path)) { - if (!!subPaths) { - subPaths.forEach(suffix => { - output[propKey + Object(external_lodash_["capitalize"])(suffix)] = compileStyleValue(Object(external_lodash_["get"])(styles, [...path, suffix])); + // Checking if style value is a string allows for shorthand css + // option and backwards compatibility for border radius support. + const styleValue = Object(external_lodash_["get"])(styles, path); + + if (!!subPaths && !Object(external_lodash_["isString"])(styleValue)) { + Object.entries(subPaths).forEach(entry => { + const [name, subPath] = entry; + const value = Object(external_lodash_["get"])(styleValue, [subPath]); + + if (value) { + output[name] = compileStyleValue(value); + } }); } else { output[propKey] = compileStyleValue(Object(external_lodash_["get"])(styles, path)); @@ -16896,7 +43491,7 @@ function compileElementsStyles(selector, elements = {}) { const elementStyles = getInlineStyles(styles); if (!Object(external_lodash_["isEmpty"])(elementStyles)) { - return [`.${selector} ${external_wp_blocks_["__EXPERIMENTAL_ELEMENTS"][element]}{`, ...Object(external_lodash_["map"])(elementStyles, (value, property) => `\t${Object(external_lodash_["kebabCase"])(property)}: ${value}${element === 'link' ? '!important' : ''};`), '}'].join('\n'); + return [`.${selector} ${external_wp_blocks_["__EXPERIMENTAL_ELEMENTS"][element]}{`, ...Object(external_lodash_["map"])(elementStyles, (value, property) => `\t${Object(external_lodash_["kebabCase"])(property)}: ${value};`), '}'].join('\n'); } return ''; @@ -16905,8 +43500,9 @@ function compileElementsStyles(selector, elements = {}) { /** * Filters registered block settings, extending attributes to include `style` attribute. * - * @param {Object} settings Original block settings - * @return {Object} Filtered block settings + * @param {Object} settings Original block settings. + * + * @return {Object} Filtered block settings. */ @@ -16926,22 +43522,49 @@ function style_addAttribute(settings) { 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 skipSerializationPaths = { + +const skipSerializationPathsEdit = { [`${BORDER_SUPPORT_KEY}.__experimentalSkipSerialization`]: ['border'], [`${COLOR_SUPPORT_KEY}.__experimentalSkipSerialization`]: [COLOR_SUPPORT_KEY], - [`${TYPOGRAPHY_SUPPORT_KEY}.__experimentalSkipSerialization`]: [TYPOGRAPHY_SUPPORT_KEY] + [`${TYPOGRAPHY_SUPPORT_KEY}.__experimentalSkipSerialization`]: [TYPOGRAPHY_SUPPORT_KEY], + [`${SPACING_SUPPORT_KEY}.__experimentalSkipSerialization`]: ['spacing'] +}; +/** + * 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, + [`${SPACING_SUPPORT_KEY}`]: ['spacing.blockGap'] }; /** * 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 - * @return {Object} Filtered props applied to save element + * @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) { +function style_addSaveProps(props, blockType, attributes, skipPaths = skipSerializationPathsSave) { if (!hasStyleSupport(blockType)) { return props; } @@ -16949,7 +43572,7 @@ function style_addSaveProps(props, blockType, attributes) { let { style } = attributes; - Object(external_lodash_["forEach"])(skipSerializationPaths, (path, indicator) => { + Object(external_lodash_["forEach"])(skipPaths, (path, indicator) => { if (Object(external_wp_blocks_["getBlockSupport"])(blockType, indicator)) { style = Object(external_lodash_["omit"])(style, path); } @@ -16963,8 +43586,9 @@ function style_addSaveProps(props, blockType, attributes) { * 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 + * @param {Object} settings Original block settings. + * + * @return {Object}.Filtered block settings. */ function style_addEditProps(settings) { @@ -16981,7 +43605,7 @@ function style_addEditProps(settings) { props = existingGetEditWrapperProps(attributes); } - return style_addSaveProps(props, settings, attributes); + return style_addSaveProps(props, settings, attributes, skipSerializationPathsEdit); }; return settings; @@ -16990,18 +43614,19 @@ function style_addEditProps(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 + * @param {Function} BlockEdit Original component. + * + * @return {Function} Wrapped component. */ const withBlockControls = Object(external_wp_compose_["createHigherOrderComponent"])(BlockEdit => props => { - const shouldDisplayControls = useDisplayBlockControls(); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, shouldDisplayControls && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(TypographyPanel, props), Object(external_wp_element_["createElement"])(BorderPanel, props), Object(external_wp_element_["createElement"])(ColorEdit, props), Object(external_wp_element_["createElement"])(SpacingPanel, props)), Object(external_wp_element_["createElement"])(BlockEdit, props)); + const shouldDisplayControls = Object(use_display_block_controls["a" /* default */])(); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, shouldDisplayControls && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(ColorEdit, props), Object(external_wp_element_["createElement"])(TypographyPanel, props), Object(external_wp_element_["createElement"])(BorderPanel, props), Object(external_wp_element_["createElement"])(DimensionsPanel, props)), Object(external_wp_element_["createElement"])(BlockEdit, props)); }, 'withToolbarControls'); /** * Override the default block element to include duotone styles. * - * @param {Function} BlockListBlock Original component + * @param {Function} BlockListBlock Original component * @return {Function} Wrapped component */ @@ -17011,11 +43636,12 @@ const withElementsStyles = Object(external_wp_compose_["createHigherOrderCompone const elements = (_props$attributes$sty = props.attributes.style) === null || _props$attributes$sty === void 0 ? void 0 : _props$attributes$sty.elements; const blockElementsContainerIdentifier = `wp-elements-${Object(external_wp_compose_["useInstanceId"])(BlockListBlock)}`; const styles = compileElementsStyles(blockElementsContainerIdentifier, (_props$attributes$sty2 = props.attributes.style) === null || _props$attributes$sty2 === void 0 ? void 0 : _props$attributes$sty2.elements); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, elements && Object(external_wp_element_["createElement"])("style", { + const element = Object(external_wp_element_["useContext"])(block_list["c" /* default */].__unstableElementContext); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, elements && element && Object(external_wp_element_["createPortal"])(Object(external_wp_element_["createElement"])("style", { dangerouslySetInnerHTML: { __html: styles } - }), Object(external_wp_element_["createElement"])(BlockListBlock, Object(esm_extends["a" /* default */])({}, props, { + }), element), Object(external_wp_element_["createElement"])(BlockListBlock, Object(esm_extends["a" /* default */])({}, props, { className: elements ? classnames_default()(props.className, blockElementsContainerIdentifier) : props.className }))); }); @@ -17025,122 +43651,14 @@ Object(external_wp_hooks_["addFilter"])('blocks.registerBlockType', 'core/style/ Object(external_wp_hooks_["addFilter"])('editor.BlockEdit', 'core/style/with-block-controls', withBlockControls); Object(external_wp_hooks_["addFilter"])('editor.BlockListBlock', 'core/editor/with-elements-styles', withElementsStyles); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/duotone-control/duotone-picker-popover.js +// EXTERNAL MODULE: ./node_modules/colord/index.mjs +var colord = __webpack_require__("fHnH"); +// EXTERNAL MODULE: ./node_modules/colord/plugins/names.mjs +var names = __webpack_require__("abaT"); -/** - * WordPress dependencies - */ - - - -function DuotonePickerPopover({ - value, - onChange, - onToggle, - duotonePalette, - colorPalette, - disableCustomColors, - disableCustomDuotone -}) { - return Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { - className: "block-editor-duotone-control__popover", - headerTitle: Object(external_wp_i18n_["__"])('Duotone'), - onFocusOutside: onToggle - }, Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { - label: Object(external_wp_i18n_["__"])('Duotone') - }, Object(external_wp_element_["createElement"])(external_wp_components_["DuotonePicker"], { - colorPalette: colorPalette, - duotonePalette: duotonePalette, - disableCustomColors: disableCustomColors, - disableCustomDuotone: disableCustomDuotone, - value: value, - onChange: onChange - }))); -} - -/* harmony default export */ var duotone_picker_popover = (DuotonePickerPopover); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/duotone-control/index.js - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - -function DuotoneControl({ - colorPalette, - duotonePalette, - disableCustomColors, - disableCustomDuotone, - value, - onChange -}) { - const [isOpen, setIsOpen] = Object(external_wp_element_["useState"])(false); - - const onToggle = () => { - setIsOpen(prev => !prev); - }; - - const openOnArrowDown = event => { - if (!isOpen && event.keyCode === external_wp_keycodes_["DOWN"]) { - event.preventDefault(); - event.stopPropagation(); - onToggle(); - } - }; - - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - showTooltip: true, - onClick: onToggle, - "aria-haspopup": "true", - "aria-expanded": isOpen, - onKeyDown: openOnArrowDown, - label: Object(external_wp_i18n_["__"])('Apply duotone filter'), - icon: Object(external_wp_element_["createElement"])(external_wp_components_["DuotoneSwatch"], { - values: value - }) - }), isOpen && Object(external_wp_element_["createElement"])(duotone_picker_popover, { - value: value, - onChange: onChange, - onToggle: onToggle, - duotonePalette: duotonePalette, - colorPalette: colorPalette, - disableCustomColors: disableCustomColors, - disableCustomDuotone: disableCustomDuotone - })); -} - -/* harmony default export */ var duotone_control = (DuotoneControl); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/head.js - - -/** - * WordPress dependencies - */ - -const head_context = Object(external_wp_element_["createContext"])(); -function Head({ - children -}) { - const [element, setElement] = Object(external_wp_element_["useState"])(); - return Object(external_wp_element_["createElement"])(head_context.Provider, { - value: element - }, Object(external_wp_element_["createElement"])("div", { - ref: setElement - }), children); -} -Head.context = head_context; +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/duotone-control/index.js +var duotone_control = __webpack_require__("1uGa"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/duotone.js @@ -17151,6 +43669,7 @@ Head.context = head_context; */ + /** * WordPress dependencies */ @@ -17167,6 +43686,7 @@ Head.context = head_context; const duotone_EMPTY_ARRAY = []; +Object(colord["b" /* extend */])([names["a" /* default */]]); /** * Convert a list of colors to an object of R, G, and B values. * @@ -17179,14 +43699,15 @@ function getValuesFromColors(colors = []) { const values = { r: [], g: [], - b: [] + b: [], + a: [] }; colors.forEach(color => { - // Access values directly to skip extra rounding that tinycolor.toRgb() does. - const tcolor = tinycolor_default()(color); - values.r.push(tcolor._r / 255); - values.g.push(tcolor._g / 255); - values.b.push(tcolor._b / 255); + const rgbColor = Object(colord["a" /* colord */])(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; } @@ -17197,16 +43718,18 @@ function getValuesFromColors(colors = []) { * @property {number[]} r Red values. * @property {number[]} g Green values. * @property {number[]} b Blue values. + * @property {number[]} a Alpha values. */ /** * SVG and stylesheet needed for rendering the duotone filter. * - * @param {Object} props Duotone props. - * @param {string} props.selector Selector to apply the filter to. - * @param {string} props.id Unique id for this duotone filter. - * @param {Values} props.values R, G, and B values to filter with. - * @return {WPElement} Duotone element. + * @param {Object} props Duotone props. + * @param {string} props.selector Selector to apply the filter to. + * @param {string} props.id Unique id for this duotone filter. + * @param {Values} props.values R, G, B, and A values to filter with. + * + * @return {WPElement} Duotone element. */ function DuotoneFilter({ @@ -17235,10 +43758,11 @@ ${selector} { }, Object(external_wp_element_["createElement"])("defs", null, Object(external_wp_element_["createElement"])("filter", { id: id }, Object(external_wp_element_["createElement"])("feColorMatrix", { + // Use sRGB instead of linearRGB so transparency looks correct. + colorInterpolationFilters: "sRGB", type: "matrix" // Use perceptual brightness to convert to grayscale. - // prettier-ignore , - values: ".299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 0 0 0 1 0" + values: " .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " }), Object(external_wp_element_["createElement"])("feComponentTransfer", { // Use sRGB instead of linearRGB to be consistent with how CSS gradients work. colorInterpolationFilters: "sRGB" @@ -17251,7 +43775,14 @@ ${selector} { }), Object(external_wp_element_["createElement"])("feFuncB", { type: "table", tableValues: values.b.join(' ') - }))))), Object(external_wp_element_["createElement"])("style", { + }), Object(external_wp_element_["createElement"])("feFuncA", { + type: "table", + tableValues: values.a.join(' ') + })), Object(external_wp_element_["createElement"])("feComposite", { + // Re-mask the image with the original transparency since the feColorMatrix above loses that information. + in2: "SourceGraphic", + operator: "in" + })))), Object(external_wp_element_["createElement"])("style", { dangerouslySetInnerHTML: { __html: stylesheet } @@ -17266,18 +43797,19 @@ function DuotonePanel({ const style = attributes === null || attributes === void 0 ? void 0 : attributes.style; const duotone = style === null || style === void 0 ? void 0 : (_style$color = style.color) === null || _style$color === void 0 ? void 0 : _style$color.duotone; - const duotonePalette = useSetting('color.duotone') || duotone_EMPTY_ARRAY; - const colorPalette = useSetting('color.palette') || duotone_EMPTY_ARRAY; - const disableCustomColors = !useSetting('color.custom'); - const disableCustomDuotone = !useSetting('color.customDuotone') || (colorPalette === null || colorPalette === void 0 ? void 0 : colorPalette.length) === 0 && disableCustomColors; + const duotonePalette = Object(use_setting["a" /* default */])('color.duotone') || duotone_EMPTY_ARRAY; + const colorPalette = Object(use_setting["a" /* default */])('color.palette') || duotone_EMPTY_ARRAY; + const disableCustomColors = !Object(use_setting["a" /* default */])('color.custom'); + const disableCustomDuotone = !Object(use_setting["a" /* default */])('color.customDuotone') || (colorPalette === null || colorPalette === void 0 ? void 0 : colorPalette.length) === 0 && disableCustomColors; if ((duotonePalette === null || duotonePalette === void 0 ? void 0 : duotonePalette.length) === 0 && disableCustomDuotone) { return null; } - return Object(external_wp_element_["createElement"])(block_controls, { - group: "block" - }, Object(external_wp_element_["createElement"])(duotone_control, { + return Object(external_wp_element_["createElement"])(block_controls["b" /* default */], { + group: "block", + __experimentalShareWithChildBlocks: true + }, Object(external_wp_element_["createElement"])(duotone_control["a" /* default */], { duotonePalette: duotonePalette, colorPalette: colorPalette, disableCustomDuotone: disableCustomDuotone, @@ -17299,8 +43831,9 @@ function DuotonePanel({ * Filters registered block settings, extending attributes to include * the `duotone` attribute. * - * @param {Object} settings Original block settings - * @return {Object} Filtered block settings + * @param {Object} settings Original block settings. + * + * @return {Object} Filtered block settings. */ @@ -17325,8 +43858,9 @@ function addDuotoneAttributes(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 + * @param {Function} BlockEdit Original component. + * + * @return {Function} Wrapped component. */ @@ -17334,13 +43868,44 @@ const withDuotoneControls = Object(external_wp_compose_["createHigherOrderCompon const hasDuotoneSupport = Object(external_wp_blocks_["hasBlockSupport"])(props.name, 'color.__experimentalDuotone'); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(BlockEdit, props), hasDuotoneSupport && Object(external_wp_element_["createElement"])(DuotonePanel, props)); }, 'withDuotoneControls'); +/** + * 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(', '); +} /** * Override the default block element to include duotone styles. * - * @param {Function} BlockListBlock Original component - * @return {Function} Wrapped component + * @param {Function} BlockListBlock Original component. + * + * @return {Function} Wrapped component. */ + const withDuotoneStyles = Object(external_wp_compose_["createHigherOrderComponent"])(BlockListBlock => props => { var _props$attributes, _props$attributes$sty, _props$attributes$sty2; @@ -17351,12 +43916,13 @@ const withDuotoneStyles = Object(external_wp_compose_["createHigherOrderComponen return Object(external_wp_element_["createElement"])(BlockListBlock, props); } - const id = `wp-duotone-filter-${Object(external_wp_compose_["useInstanceId"])(BlockListBlock)}`; - const selectors = duotoneSupport.split(','); - const selectorsScoped = selectors.map(selector => `.${id} ${selector.trim()}`); - const selectorsGroup = selectorsScoped.join(', '); + const id = `wp-duotone-${Object(external_wp_compose_["useInstanceId"])(BlockListBlock)}`; // 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. + + const selectorsGroup = scopeSelector(`.editor-styles-wrapper .${id}`, duotoneSupport); const className = classnames_default()(props === null || props === void 0 ? void 0 : props.className, id); - const element = Object(external_wp_element_["useContext"])(Head.context); + const element = Object(external_wp_element_["useContext"])(block_list["c" /* default */].__unstableElementContext); return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, element && Object(external_wp_element_["createPortal"])(Object(external_wp_element_["createElement"])(DuotoneFilter, { selector: selectorsGroup, id: id, @@ -17369,8 +43935,17 @@ Object(external_wp_hooks_["addFilter"])('blocks.registerBlockType', 'core/editor Object(external_wp_hooks_["addFilter"])('editor.BlockEdit', 'core/editor/duotone/with-editor-controls', withDuotoneControls); Object(external_wp_hooks_["addFilter"])('editor.BlockListBlock', 'core/editor/duotone/with-styles', withDuotoneStyles); -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/icon/index.js -var build_module_icon = __webpack_require__("iClF"); +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/layout.js +var block_list_layout = __webpack_require__("w8sn"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/layouts/index.js + 5 modules +var layouts = __webpack_require__("PPMp"); // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/layout.js @@ -17392,7 +43967,6 @@ var build_module_icon = __webpack_require__("iClF"); - /** * Internal dependencies */ @@ -17403,36 +43977,65 @@ var build_module_icon = __webpack_require__("iClF"); +const layoutBlockSupportKey = '__experimentalLayout'; + function LayoutPanel({ setAttributes, - attributes + attributes, + name: blockName }) { const { - layout = {} + layout } = attributes; - const { - wideSize, - contentSize, - inherit = false - } = layout; - const defaultLayout = useSetting('layout'); + const defaultThemeLayout = Object(use_setting["a" /* default */])('layout'); const themeSupportsLayout = Object(external_wp_data_["useSelect"])(select => { const { getSettings - } = select(store); + } = select(store["a" /* store */]); return getSettings().supportsLayout; }, []); - const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ - availableUnits: useSetting('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'] - }); + const layoutBlockSupport = Object(external_wp_blocks_["getBlockSupport"])(blockName, layoutBlockSupportKey, {}); + const { + allowSwitching, + allowEditing = true, + allowInheriting = true, + default: defaultBlockLayout + } = layoutBlockSupport; - if (!themeSupportsLayout) { + if (!allowEditing) { return null; } - return Object(external_wp_element_["createElement"])(inspector_controls, null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { + const usedLayout = layout || defaultBlockLayout || {}; + const { + inherit = false, + type = 'default' + } = usedLayout; + /** + * `themeSupportsLayout` is only relevant to the `default/flow` + * layout and it should not be taken into account when other + * `layout` types are used. + */ + + if (type === 'default' && !themeSupportsLayout) { + return null; + } + + const layoutType = Object(layouts["a" /* getLayoutType */])(type); + + const onChangeType = newType => setAttributes({ + layout: { + type: newType + } + }); + + const onChangeLayout = newLayout => setAttributes({ + layout: newLayout + }); + + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(inspector_controls["b" /* default */], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { title: Object(external_wp_i18n_["__"])('Layout') - }, !!defaultLayout && Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + }, allowInheriting && !!defaultThemeLayout && Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Inherit default layout'), checked: !!inherit, onChange: () => setAttributes({ @@ -17440,66 +44043,41 @@ function LayoutPanel({ inherit: !inherit } }) - }), !inherit && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-hooks__layout-controls" - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-hooks__layout-controls-unit" - }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalUnitControl"], { - label: Object(external_wp_i18n_["__"])('Content'), - labelPosition: "top", - __unstableInputWidth: "80px", - value: contentSize || wideSize || '', - onChange: nextWidth => { - nextWidth = 0 > parseFloat(nextWidth) ? '0' : nextWidth; - setAttributes({ - layout: { ...layout, - contentSize: nextWidth - } - }); - }, - units: units - }), Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { - icon: position_center - })), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-hooks__layout-controls-unit" - }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalUnitControl"], { - label: Object(external_wp_i18n_["__"])('Wide'), - labelPosition: "top", - __unstableInputWidth: "80px", - value: wideSize || contentSize || '', - onChange: nextWidth => { - nextWidth = 0 > parseFloat(nextWidth) ? '0' : nextWidth; - setAttributes({ - layout: { ...layout, - wideSize: nextWidth - } - }); - }, - units: units - }), Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { - icon: stretch_wide - }))), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-hooks__layout-controls-reset" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - isSecondary: true, - isSmall: true, - disabled: !contentSize && !wideSize, - onClick: () => setAttributes({ - layout: { - contentSize: undefined, - wideSize: undefined, - inherit: false - } - }) - }, Object(external_wp_i18n_["__"])('Reset')))), Object(external_wp_element_["createElement"])("p", { - className: "block-editor-hooks__layout-controls-helptext" - }, Object(external_wp_i18n_["__"])('Customize the width for all elements that are assigned to the center or wide columns.')))); + }), !inherit && allowSwitching && Object(external_wp_element_["createElement"])(LayoutTypeSwitcher, { + type: type, + onChange: onChangeType + }), !inherit && layoutType && Object(external_wp_element_["createElement"])(layoutType.inspectorControls, { + layout: usedLayout, + onChange: onChangeLayout, + layoutBlockSupport: layoutBlockSupport + }))), !inherit && layoutType && Object(external_wp_element_["createElement"])(layoutType.toolBarControls, { + layout: usedLayout, + onChange: onChangeLayout, + layoutBlockSupport: layoutBlockSupport + })); +} + +function LayoutTypeSwitcher({ + type, + onChange +}) { + return Object(external_wp_element_["createElement"])(external_wp_components_["ButtonGroup"], null, Object(layouts["b" /* getLayoutTypes */])().map(({ + name, + label + }) => { + return Object(external_wp_element_["createElement"])(external_wp_components_["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 + * @param {Object} settings Original block settings. + * + * @return {Object} Filtered block settings. */ @@ -17508,7 +44086,7 @@ function layout_addAttribute(settings) { return settings; } - if (Object(external_wp_blocks_["hasBlockSupport"])(settings, '__experimentalLayout')) { + if (Object(external_wp_blocks_["hasBlockSupport"])(settings, layoutBlockSupportKey)) { settings.attributes = { ...settings.attributes, layout: { type: 'object' @@ -17521,15 +44099,16 @@ function layout_addAttribute(settings) { /** * Override the default edit UI to include layout controls * - * @param {Function} BlockEdit Original component - * @return {Function} Wrapped component + * @param {Function} BlockEdit Original component. + * + * @return {Function} Wrapped component. */ const withInspectorControls = Object(external_wp_compose_["createHigherOrderComponent"])(BlockEdit => props => { const { name: blockName } = props; - const supportLayout = Object(external_wp_blocks_["hasBlockSupport"])(blockName, '__experimentalLayout'); + const supportLayout = Object(external_wp_blocks_["hasBlockSupport"])(blockName, layoutBlockSupportKey); return [supportLayout && Object(external_wp_element_["createElement"])(LayoutPanel, Object(esm_extends["a" /* default */])({ key: "layout" }, props)), Object(external_wp_element_["createElement"])(BlockEdit, Object(esm_extends["a" /* default */])({ @@ -17539,8 +44118,9 @@ const withInspectorControls = Object(external_wp_compose_["createHigherOrderComp /** * Override the default block element to add the layout styles. * - * @param {Function} BlockListBlock Original component - * @return {Function} Wrapped component + * @param {Function} BlockListBlock Original component. + * + * @return {Function} Wrapped component. */ const withLayoutStyles = Object(external_wp_compose_["createHigherOrderComponent"])(BlockListBlock => props => { @@ -17548,21 +44128,21 @@ const withLayoutStyles = Object(external_wp_compose_["createHigherOrderComponent name, attributes } = props; - const supportLayout = Object(external_wp_blocks_["hasBlockSupport"])(name, '__experimentalLayout'); + const shouldRenderLayoutStyles = Object(external_wp_blocks_["hasBlockSupport"])(name, layoutBlockSupportKey); const id = Object(external_wp_compose_["useInstanceId"])(BlockListBlock); - const defaultLayout = useSetting('layout') || {}; - - if (!supportLayout) { - return Object(external_wp_element_["createElement"])(BlockListBlock, props); - } - + const defaultThemeLayout = Object(use_setting["a" /* default */])('layout') || {}; + const element = Object(external_wp_element_["useContext"])(block_list["c" /* default */].__unstableElementContext); const { - layout = {} + layout } = attributes; - const usedLayout = !!layout && layout.inherit ? defaultLayout : layout; - const className = classnames_default()(props === null || props === void 0 ? void 0 : props.className, `wp-container-${id}`); - const element = Object(external_wp_element_["useContext"])(Head.context); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, element && Object(external_wp_element_["createPortal"])(Object(external_wp_element_["createElement"])(LayoutStyle, { + const { + default: defaultBlockLayout + } = Object(external_wp_blocks_["getBlockSupport"])(name, layoutBlockSupportKey) || {}; + const usedLayout = layout !== null && layout !== void 0 && layout.inherit ? defaultThemeLayout : layout || defaultBlockLayout || {}; + const className = classnames_default()(props === null || props === void 0 ? void 0 : props.className, { + [`wp-container-${id}`]: shouldRenderLayoutStyles + }); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, shouldRenderLayoutStyles && element && Object(external_wp_element_["createPortal"])(Object(external_wp_element_["createElement"])(block_list_layout["b" /* LayoutStyle */], { selector: `.wp-container-${id}`, layout: usedLayout }), element), Object(external_wp_element_["createElement"])(BlockListBlock, Object(esm_extends["a" /* default */])({}, props, { @@ -17593,9 +44173,9 @@ const use_border_props_EMPTY_ARRAY = []; * Provides the CSS class names and inline styles for a block's border support * attributes. * - * @param {Object} attributes Block attributes. - * @param {string} attributes.borderColor Selected named border color. - * @param {Object} attributes.style Block's styles attribute. + * @param {Object} attributes Block attributes. + * @param {string} attributes.borderColor Selected named border color. + * @param {Object} attributes.style Block's styles attribute. * * @return {Object} Border block support derived CSS classes & styles. */ @@ -17607,7 +44187,7 @@ function getBorderClassesAndStyles({ var _style$border; const borderStyles = (style === null || style === void 0 ? void 0 : style.border) || {}; - const borderClass = getColorClassName('border-color', borderColor); + const borderClass = Object(utils["a" /* getColorClassName */])('border-color', borderColor); const className = classnames_default()({ [borderClass]: !!borderClass, 'has-border-color': borderColor || (style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.color) @@ -17626,17 +44206,18 @@ function getBorderClassesAndStyles({ * 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. + * @param {Object} attributes Block attributes. + * + * @return {Object} ClassName & style props from border block support. */ function useBorderProps(attributes) { - const colors = useSetting('color.palette') || use_border_props_EMPTY_ARRAY; + const colors = Object(use_setting["a" /* default */])('color.palette') || use_border_props_EMPTY_ARRAY; const borderProps = getBorderClassesAndStyles(attributes); // Force inline style to apply border color when themes do not load their // color stylesheets in the editor. if (attributes.borderColor) { - const borderColorObject = getColorObjectByAttributeValues(colors, attributes.borderColor); + const borderColorObject = Object(utils["b" /* getColorObjectByAttributeValues */])(colors, attributes.borderColor); borderProps.style.borderColor = borderColorObject.color; } @@ -17667,8 +44248,9 @@ const use_color_props_EMPTY_ARRAY = []; * 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. + * @param {Object} attributes Block attributes. + * + * @return {Object} Color block support derived CSS classes & styles. */ function getColorClassesAndStyles(attributes) { @@ -17681,10 +44263,10 @@ function getColorClassesAndStyles(attributes) { style } = attributes; // Collect color CSS classes. - const backgroundClass = getColorClassName('background-color', backgroundColor); - const textClass = getColorClassName('color', textColor); + const backgroundClass = Object(utils["a" /* getColorClassName */])('background-color', backgroundColor); + const textClass = Object(utils["a" /* getColorClassName */])('color', textColor); - const gradientClass = __experimentalGetGradientClass(gradient); + const gradientClass = Object(use_gradient["a" /* __experimentalGetGradientClass */])(gradient); const hasGradient = gradientClass || (style === null || style === void 0 ? void 0 : (_style$color = style.color) === null || _style$color === void 0 ? void 0 : _style$color.gradient); // Determine color CSS class name list. @@ -17712,8 +44294,9 @@ function getColorClassesAndStyles(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. + * @param {Object} attributes Block attributes. + * + * @return {Object} ClassName & style props from colors block support. */ function useColorProps(attributes) { @@ -17722,28 +44305,81 @@ function useColorProps(attributes) { textColor, gradient } = attributes; - const colors = useSetting('color.palette') || use_color_props_EMPTY_ARRAY; - const gradients = useSetting('color.gradients') || use_color_props_EMPTY_ARRAY; + const colors = Object(use_setting["a" /* default */])('color.palette') || use_color_props_EMPTY_ARRAY; + const gradients = Object(use_setting["a" /* default */])('color.gradients') || use_color_props_EMPTY_ARRAY; 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); + const backgroundColorObject = Object(utils["b" /* getColorObjectByAttributeValues */])(colors, backgroundColor); colorProps.style.backgroundColor = backgroundColorObject.color; } if (gradient) { - colorProps.style.background = getGradientValueBySlug(gradients, gradient); + colorProps.style.background = Object(use_gradient["e" /* getGradientValueBySlug */])(gradients, gradient); } if (textColor) { - const textColorObject = getColorObjectByAttributeValues(colors, textColor); + const textColorObject = Object(utils["b" /* 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 === null || style === void 0 ? void 0 : style.spacing) || {}; + const styleProp = getInlineStyles({ + spacing: spacingStyles + }); + return { + style: styleProp + }; +} + +// 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] = Object(external_wp_element_["useState"])(value); + Object(external_wp_element_["useEffect"])(() => { + if (value) { + setCachedValue(value); + } + }, [value]); + return cachedValue; +} + // CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/hooks/index.js /** * Internal dependencies @@ -17762,324 +44398,20 @@ function useColorProps(attributes) { -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors/with-colors.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -const DEFAULT_COLORS = []; -/** - * 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 => Object(external_wp_compose_["createHigherOrderComponent"])(WrappedComponent => props => Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, 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 = () => Object(external_wp_compose_["createHigherOrderComponent"])(WrappedComponent => props => { - const colors = useSetting('color.palette') || DEFAULT_COLORS; - return Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, props, { - colors: colors - })); -}, '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 = Object(external_lodash_["reduce"])(colorTypes, (colorObject, colorType) => { - return { ...colorObject, - ...(Object(external_lodash_["isString"])(colorType) ? { - [colorType]: Object(external_lodash_["kebabCase"])(colorType) - } : colorType) - }; - }, {}); - return Object(external_wp_compose_["compose"])([withColorPalette, WrappedComponent => { - return class extends external_wp_element_["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(external_lodash_["reduce"])(colorMap, (settersAccumulator, colorContext, colorAttributeName) => { - const upperFirstColorAttributeName = Object(external_lodash_["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(external_lodash_["reduce"])(colorMap, (newState, colorContext, colorAttributeName) => { - const colorObject = getColorObjectByAttributeValues(colors, attributes[colorAttributeName], attributes[`custom${Object(external_lodash_["upperFirst"])(colorAttributeName)}`]); - const previousColorObject = previousState[colorAttributeName]; - const previousColor = previousColorObject === null || previousColorObject === void 0 ? void 0 : 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 Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, 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 Object(external_wp_compose_["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 Object(external_wp_compose_["createHigherOrderComponent"])(createColorHOC(colorTypes, withColorPalette), 'withColors'); -} - -// EXTERNAL MODULE: ./node_modules/memize/index.js -var memize = __webpack_require__("4eJC"); -var memize_default = /*#__PURE__*/__webpack_require__.n(memize); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/panel-color-settings/index.js - - - -/** - * Internal dependencies - */ - - -const PanelColorSettings = ({ - colorSettings, - ...props -}) => { - const settings = colorSettings.map(({ - value, - onChange, - ...otherSettings - }) => ({ ...otherSettings, - colorValue: value, - onColorChange: onChange - })); - return Object(external_wp_element_["createElement"])(panel_color_gradient_settings, Object(esm_extends["a" /* default */])({ - settings: settings, - gradients: [], - disableCustomGradients: true - }, props)); -}; - -/* harmony default export */ var panel_color_settings = (PanelColorSettings); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors/color-panel.js - - - -/** - * External dependencies - */ - -/** - * Internal dependencies - */ -const resolveContrastCheckerColor = (color, colorSettings, detectedColor) => { - if (typeof color === 'function') { - return color(colorSettings); - } else if (color === true) { - return detectedColor; - } - - return color; -}; - -function color_panel_ColorPanel({ - title, - colorSettings, - colorPanelProps, - contrastCheckers, - detectedBackgroundColor, - detectedColor, - panelChildren, - initialOpen -}) { - return Object(external_wp_element_["createElement"])(panel_color_settings, Object(esm_extends["a" /* default */])({ - title: title, - initialOpen: initialOpen, - colorSettings: Object.values(colorSettings) - }, colorPanelProps), contrastCheckers && (Array.isArray(contrastCheckers) ? contrastCheckers.map(({ - backgroundColor, - textColor, - ...rest - }) => { - backgroundColor = resolveContrastCheckerColor(backgroundColor, colorSettings, detectedBackgroundColor); - textColor = resolveContrastCheckerColor(textColor, colorSettings, detectedColor); - return Object(external_wp_element_["createElement"])(contrast_checker, Object(esm_extends["a" /* default */])({ - key: `${backgroundColor}-${textColor}`, - backgroundColor: backgroundColor, - textColor: textColor - }, rest)); - }) : Object(external_lodash_["map"])(colorSettings, ({ - value - }) => { - let { - backgroundColor, - textColor - } = contrastCheckers; - backgroundColor = resolveContrastCheckerColor(backgroundColor || value, colorSettings, detectedBackgroundColor); - textColor = resolveContrastCheckerColor(textColor || value, colorSettings, detectedColor); - return Object(external_wp_element_["createElement"])(contrast_checker, Object(esm_extends["a" /* default */])({}, contrastCheckers, { - key: `${backgroundColor}-${textColor}`, - backgroundColor: backgroundColor, - textColor: textColor - })); - })), typeof panelChildren === 'function' ? panelChildren(colorSettings) : panelChildren); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/colors/use-colors.js - - -/** - * External dependencies - */ - - - -/** - * WordPress dependencies - */ - +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/index.js + 119 modules +var components = __webpack_require__("14PQ"); +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/index.js + 2 modules +var build_module_utils = __webpack_require__("BCrt"); +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/defaults.js +var defaults = __webpack_require__("lJLt"); +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/index.js /** * Internal dependencies */ @@ -18090,1241 +44422,16 @@ function color_panel_ColorPanel({ -function use_colors_getComputedStyle(node) { - return node.ownerDocument.defaultView.getComputedStyle(node); -} -const use_colors_DEFAULT_COLORS = []; -const COMMON_COLOR_LABELS = { - textColor: Object(external_wp_i18n_["__"])('Text color'), - backgroundColor: Object(external_wp_i18n_["__"])('Background color') -}; +/***/ }), -const InspectorControlsColorPanel = props => Object(external_wp_element_["createElement"])(inspector_controls, null, Object(external_wp_element_["createElement"])(color_panel_ColorPanel, props)); +/***/ "uoCR": +/***/ (function(module, __webpack_exports__, __webpack_require__) { -function __experimentalUseColors(colorConfigs, { - panelTitle = Object(external_wp_i18n_["__"])('Color'), - colorPanelProps, - contrastCheckers, - panelChildren, - colorDetector: { - targetRef, - backgroundColorTargetRef = targetRef, - textColorTargetRef = targetRef - } = {} -} = { - panelTitle: Object(external_wp_i18n_["__"])('Color') -}, deps = []) { - const { - clientId - } = useBlockEditContext(); - const settingsColors = useSetting('color.palette') || use_colors_DEFAULT_COLORS; - const { - attributes - } = Object(external_wp_data_["useSelect"])(select => { - const { - getBlockAttributes - } = select(store); - return { - attributes: getBlockAttributes(clientId) - }; - }, [clientId]); - const { - updateBlockAttributes - } = Object(external_wp_data_["useDispatch"])(store); - const setAttributes = Object(external_wp_element_["useCallback"])(newAttributes => updateBlockAttributes(clientId, newAttributes), [updateBlockAttributes, clientId]); - const createComponent = Object(external_wp_element_["useMemo"])(() => memize_default()((name, property, className, color, colorValue, customColor) => ({ - children, - className: componentClassName = '', - style: componentStyle = {} - }) => { - let colorStyle = {}; - - if (color) { - colorStyle = { - [property]: colorValue - }; - } else if (customColor) { - colorStyle = { - [property]: customColor - }; - } - - const extraProps = { - className: classnames_default()(componentClassName, { - [`has-${Object(external_lodash_["kebabCase"])(color)}-${Object(external_lodash_["kebabCase"])(property)}`]: color, - [className || `has-${Object(external_lodash_["kebabCase"])(name)}`]: color || customColor - }), - style: { ...colorStyle, - ...componentStyle - } - }; - - if (Object(external_lodash_["isFunction"])(children)) { - return children(extraProps); - } - - return (// Clone children, setting the style property from the color configuration, - // if not already set explicitly through props. - external_wp_element_["Children"].map(children, child => { - return Object(external_wp_element_["cloneElement"])(child, { - className: classnames_default()(child.props.className, extraProps.className), - style: { ...extraProps.style, - ...(child.props.style || {}) - } - }); - }) - ); - }, { - maxSize: colorConfigs.length - }), [colorConfigs.length]); - const createSetColor = Object(external_wp_element_["useMemo"])(() => memize_default()((name, colors) => newColor => { - const color = colors.find(_color => _color.color === newColor); - setAttributes({ - [color ? Object(external_lodash_["camelCase"])(`custom ${name}`) : name]: undefined - }); - setAttributes({ - [color ? name : Object(external_lodash_["camelCase"])(`custom ${name}`)]: color ? color.slug : newColor - }); - }, { - maxSize: colorConfigs.length - }), [setAttributes, colorConfigs.length]); - const [detectedBackgroundColor, setDetectedBackgroundColor] = Object(external_wp_element_["useState"])(); - const [detectedColor, setDetectedColor] = Object(external_wp_element_["useState"])(); - Object(external_wp_element_["useEffect"])(() => { - if (!contrastCheckers) { - return undefined; - } - - let needsBackgroundColor = false; - let needsColor = false; - - for (const { - backgroundColor, - textColor - } of Object(external_lodash_["castArray"])(contrastCheckers)) { - if (!needsBackgroundColor) { - needsBackgroundColor = backgroundColor === true; - } - - if (!needsColor) { - needsColor = textColor === true; - } - - if (needsBackgroundColor && needsColor) { - break; - } - } - - if (needsColor) { - setDetectedColor(use_colors_getComputedStyle(textColorTargetRef.current).color); - } - - if (needsBackgroundColor) { - let backgroundColorNode = backgroundColorTargetRef.current; - let backgroundColor = use_colors_getComputedStyle(backgroundColorNode).backgroundColor; - - while (backgroundColor === 'rgba(0, 0, 0, 0)' && backgroundColorNode.parentNode && backgroundColorNode.parentNode.nodeType === backgroundColorNode.parentNode.ELEMENT_NODE) { - backgroundColorNode = backgroundColorNode.parentNode; - backgroundColor = use_colors_getComputedStyle(backgroundColorNode).backgroundColor; - } - - setDetectedBackgroundColor(backgroundColor); - } - }, [colorConfigs.reduce((acc, colorConfig) => `${acc} | ${attributes[colorConfig.name]} | ${attributes[Object(external_lodash_["camelCase"])(`custom ${colorConfig.name}`)]}`, ''), ...deps]); - return Object(external_wp_element_["useMemo"])(() => { - const colorSettings = {}; - const components = colorConfigs.reduce((acc, colorConfig) => { - if (typeof colorConfig === 'string') { - colorConfig = { - name: colorConfig - }; - } - - const { - name, - // E.g. 'backgroundColor'. - property = name, - // E.g. 'backgroundColor'. - className, - panelLabel = colorConfig.label || COMMON_COLOR_LABELS[name] || Object(external_lodash_["startCase"])(name), - // E.g. 'Background color'. - componentName = Object(external_lodash_["startCase"])(name).replace(/\s/g, ''), - // E.g. 'BackgroundColor'. - color = colorConfig.color, - colors = settingsColors - } = { ...colorConfig, - color: attributes[colorConfig.name] - }; - const customColor = attributes[Object(external_lodash_["camelCase"])(`custom ${name}`)]; // We memoize the non-primitives to avoid unnecessary updates - // when they are used as props for other components. - - const _color = customColor ? undefined : colors.find(__color => __color.slug === color); - - acc[componentName] = createComponent(name, property, className, color, _color && _color.color, customColor); - acc[componentName].displayName = componentName; - acc[componentName].color = customColor ? customColor : _color && _color.color; - acc[componentName].slug = color; - acc[componentName].setColor = createSetColor(name, colors); - colorSettings[componentName] = { - value: _color ? _color.color : attributes[Object(external_lodash_["camelCase"])(`custom ${name}`)], - onChange: acc[componentName].setColor, - label: panelLabel, - colors - }; // These settings will be spread over the `colors` in - // `colorPanelProps`, so we need to unset the key here, - // if not set to an actual value, to avoid overwriting - // an actual value in `colorPanelProps`. - - if (!colors) { - delete colorSettings[componentName].colors; - } - - return acc; - }, {}); - const wrappedColorPanelProps = { - title: panelTitle, - initialOpen: false, - colorSettings, - colorPanelProps, - contrastCheckers, - detectedBackgroundColor, - detectedColor, - panelChildren - }; - return { ...components, - ColorPanel: Object(external_wp_element_["createElement"])(color_panel_ColorPanel, wrappedColorPanelProps), - InspectorControlsColorPanel: Object(external_wp_element_["createElement"])(InspectorControlsColorPanel, wrappedColorPanelProps) - }; - }, [attributes, setAttributes, detectedColor, detectedBackgroundColor, ...deps]); -} - -// 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/with-font-sizes.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -const DEFAULT_FONT_SIZES = []; -/** - * 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 = Object(external_lodash_["reduce"])(fontSizeNames, (fontSizeAttributeNamesAccumulator, fontSizeAttributeName) => { - fontSizeAttributeNamesAccumulator[fontSizeAttributeName] = `custom${Object(external_lodash_["upperFirst"])(fontSizeAttributeName)}`; - return fontSizeAttributeNamesAccumulator; - }, {}); - return Object(external_wp_compose_["createHigherOrderComponent"])(Object(external_wp_compose_["compose"])([Object(external_wp_compose_["createHigherOrderComponent"])(WrappedComponent => props => { - const fontSizes = useSetting('typography.fontSizes') || DEFAULT_FONT_SIZES; - return Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, props, { - fontSizes: fontSizes - })); - }, 'withFontSizes'), WrappedComponent => { - return class extends external_wp_element_["Component"] { - constructor(props) { - super(props); - this.setters = this.createSetters(); - this.state = {}; - } - - createSetters() { - return Object(external_lodash_["reduce"])(fontSizeAttributeNames, (settersAccumulator, customFontSizeAttributeName, fontSizeAttributeName) => { - const upperFirstFontSizeAttributeName = Object(external_lodash_["upperFirst"])(fontSizeAttributeName); - settersAccumulator[`set${upperFirstFontSizeAttributeName}`] = this.createSetFontSize(fontSizeAttributeName, customFontSizeAttributeName); - return settersAccumulator; - }, {}); - } - - createSetFontSize(fontSizeAttributeName, customFontSizeAttributeName) { - return fontSizeValue => { - const fontSizeObject = Object(external_lodash_["find"])(this.props.fontSizes, { - 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(external_lodash_["some"])(fontSizeAttributeNames, didAttributesChange)) { - return null; - } - - const newState = Object(external_lodash_["reduce"])(Object(external_lodash_["pickBy"])(fontSizeAttributeNames, didAttributesChange), (newStateAccumulator, customFontSizeAttributeName, fontSizeAttributeName) => { - const fontSizeAttributeValue = attributes[fontSizeAttributeName]; - const fontSizeObject = getFontSize(fontSizes, fontSizeAttributeValue, attributes[customFontSizeAttributeName]); - newStateAccumulator[fontSizeAttributeName] = { ...fontSizeObject, - class: getFontSizeClass(fontSizeAttributeValue) - }; - return newStateAccumulator; - }, {}); - return { ...previousState, - ...newState - }; - } - - render() { - return Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, this.props, { - fontSizes: undefined - }, this.state, this.setters)); - } - - }; - }]), 'withFontSizes'); -}); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/font-sizes/index.js - - - - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/align-left.js -var align_left = __webpack_require__("fPbg"); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/align-center.js -var align_center = __webpack_require__("plpT"); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/align-right.js -var align_right = __webpack_require__("ziDm"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/alignment-control/ui.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -const DEFAULT_ALIGNMENT_CONTROLS = [{ - icon: align_left["a" /* default */], - title: Object(external_wp_i18n_["__"])('Align text left'), - align: 'left' -}, { - icon: align_center["a" /* default */], - title: Object(external_wp_i18n_["__"])('Align text center'), - align: 'center' -}, { - icon: align_right["a" /* default */], - title: Object(external_wp_i18n_["__"])('Align text right'), - align: 'right' -}]; -const alignment_control_ui_POPOVER_PROPS = { - position: 'bottom right', - isAlternate: true -}; - -function AlignmentUI({ - value, - onChange, - alignmentControls = DEFAULT_ALIGNMENT_CONTROLS, - label = Object(external_wp_i18n_["__"])('Align'), - describedBy = Object(external_wp_i18n_["__"])('Change text alignment'), - isCollapsed = true, - isToolbar -}) { - function applyOrUnset(align) { - return () => onChange(value === align ? undefined : align); - } - - const activeAlignment = Object(external_lodash_["find"])(alignmentControls, control => control.align === value); - - function setIcon() { - if (activeAlignment) return activeAlignment.icon; - return Object(external_wp_i18n_["isRTL"])() ? align_right["a" /* default */] : align_left["a" /* default */]; - } - - const UIComponent = isToolbar ? external_wp_components_["ToolbarGroup"] : external_wp_components_["ToolbarDropdownMenu"]; - const extraProps = isToolbar ? { - isCollapsed - } : {}; - return Object(external_wp_element_["createElement"])(UIComponent, Object(esm_extends["a" /* default */])({ - icon: setIcon(), - label: label, - toggleProps: { - describedBy - }, - popoverProps: alignment_control_ui_POPOVER_PROPS, - 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 - */ - -function AlignmentControl(props) { - return Object(external_wp_element_["createElement"])(alignment_control_ui, Object(esm_extends["a" /* default */])({}, props, { - isToolbar: false - })); -} -function AlignmentToolbar(props) { - return Object(external_wp_element_["createElement"])(alignment_control_ui, Object(esm_extends["a" /* default */])({}, props, { - isToolbar: true - })); -} - -// 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; -/** - * 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 = Object(external_lodash_["deburr"])(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 = '') => { - // Extract words. - return Object(external_lodash_["words"])(normalizeSearchInput(input)); -}; - -const removeMatchingTerms = (unmatchedTerms, unprocessedTerms) => { - return Object(external_lodash_["differenceWith"])(unmatchedTerms, getNormalizedSearchTerms(unprocessedTerms), (unmatchedTerm, unprocessedTerm) => unprocessedTerm.includes(unmatchedTerm)); -}; - -const searchBlockItems = (items, categories, collections, searchInput) => { - const normalizedSearchTerms = getNormalizedSearchTerms(searchInput); - - if (normalizedSearchTerms.length === 0) { - return items; - } - - const config = { - getCategory: item => { - var _find; - - return (_find = Object(external_lodash_["find"])(categories, { - slug: item.category - })) === null || _find === void 0 ? void 0 : _find.title; - }, - getCollection: item => { - var _collections$item$nam; - - return (_collections$item$nam = collections[item.name.split('/')[0]]) === null || _collections$item$nam === void 0 ? void 0 : _collections$item$nam.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 = Object(external_lodash_["words"])(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/')) { - rank++; - } - - 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 { - categories, - collections, - items - } = Object(external_wp_data_["useSelect"])(select => { - const { - getInserterItems - } = select(store); - const { - getCategories, - getCollections - } = select(external_wp_blocks_["store"]); - return { - categories: getCategories(), - collections: getCollections(), - items: getInserterItems(rootClientId) - }; - }, [rootClientId]); - const onSelectItem = Object(external_wp_element_["useCallback"])(({ - name, - initialAttributes, - innerBlocks - }, shouldFocusBlock) => { - const insertedBlock = Object(external_wp_blocks_["createBlock"])(name, initialAttributes, Object(external_wp_blocks_["createBlocksFromInnerBlocksTemplate"])(innerBlocks)); - onInsert(insertedBlock, undefined, shouldFocusBlock); - }, [onInsert]); - return [items, categories, collections, onSelectItem]; -}; - -/* harmony default export */ var use_block_types_state = (useBlockTypesState); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/block-default.js -var block_default = __webpack_require__("//Lo"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-icon/index.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -function BlockIcon({ - icon, - showColors = false, - className -}) { - var _icon; - - if (((_icon = icon) === null || _icon === void 0 ? void 0 : _icon.src) === 'block-default') { - icon = { - src: block_default["a" /* default */] - }; - } - - const renderedIcon = Object(external_wp_element_["createElement"])(external_wp_components_["Icon"], { - icon: icon && icon.src ? icon.src : icon - }); - const style = showColors ? { - backgroundColor: icon && icon.background, - color: icon && icon.foreground - } : {}; - return Object(external_wp_element_["createElement"])("span", { - style: style, - className: classnames_default()('block-editor-block-icon', className, { - 'has-colors': showColors - }) - }, renderedIcon); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/autocompleters/block.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - -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 - } = Object(external_wp_data_["useSelect"])(select => { - const { - getSelectedBlockClientId, - getBlockName, - getBlockInsertionPoint - } = select(store); - const selectedBlockClientId = getSelectedBlockClientId(); - return { - selectedBlockName: selectedBlockClientId ? getBlockName(selectedBlockClientId) : null, - rootClientId: getBlockInsertionPoint().rootClientId - }; - }, []); - const [items, categories, collections] = use_block_types_state(rootClientId, external_lodash_["noop"]); - const filteredItems = Object(external_wp_element_["useMemo"])(() => { - const initialFilteredItems = !!filterValue.trim() ? searchBlockItems(items, categories, collections, filterValue) : Object(external_lodash_["orderBy"])(items, ['frecency'], ['desc']); - return initialFilteredItems.filter(item => item.name !== selectedBlockName).slice(0, SHOWN_BLOCK_TYPES); - }, [filterValue, selectedBlockName, items, categories, collections]); - const options = Object(external_wp_element_["useMemo"])(() => filteredItems.map(blockItem => { - const { - title, - icon, - isDisabled - } = blockItem; - return { - key: `block-${blockItem.id}`, - value: blockItem, - label: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(BlockIcon, { - 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 - } = inserterItem; - return { - action: 'replace', - value: Object(external_wp_blocks_["createBlock"])(name, initialAttributes, Object(external_wp_blocks_["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 autocompleters_block = (createBlockCompleter()); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/autocomplete/index.js - - - -/** - * External dependencies - */ - -/** - * 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 Object(external_wp_element_["useMemo"])(() => { - let filteredCompleters = completers; - - if (name === Object(external_wp_blocks_["getDefaultBlockName"])()) { - filteredCompleters = filteredCompleters.concat([autocompleters_block]); - } - - if (Object(external_wp_hooks_["hasFilter"])('editor.Autocomplete.completers')) { - // Provide copies so filters may directly modify them. - if (filteredCompleters === completers) { - filteredCompleters = filteredCompleters.map(external_lodash_["clone"]); - } - - filteredCompleters = Object(external_wp_hooks_["applyFilters"])('editor.Autocomplete.completers', filteredCompleters, name); - } - - return filteredCompleters; - }, [completers, name]); -} - -function useBlockEditorAutocompleteProps(props) { - return Object(external_wp_components_["__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 Object(external_wp_element_["createElement"])(external_wp_components_["Autocomplete"], Object(esm_extends["a" /* default */])({}, 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 = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M4.2 9h1.5V5.8H9V4.2H4.2V9zm14 9.2H15v1.5h4.8V15h-1.5v3.2zM15 4.2v1.5h3.2V9h1.5V4.2H15zM5.8 15H4.2v4.8H9v-1.5H5.8V15z" -})); -/* 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 = Object(external_wp_i18n_["__"])('Toggle full height'), - onToggle, - isDisabled -}) { - return Object(external_wp_element_["createElement"])(external_wp_components_["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 - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - -function BlockAlignmentMatrixControl(props) { - const { - label = Object(external_wp_i18n_["__"])('Change matrix alignment'), - onChange = external_lodash_["noop"], - value = 'center', - isDisabled - } = props; - const icon = Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalAlignmentMatrixControl"].Icon, { - value: value - }); - const className = 'block-editor-block-alignment-matrix-control'; - const popoverClassName = `${className}__popover`; - const isAlternate = true; - return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { - position: "bottom right", - className: className, - popoverProps: { - className: popoverClassName, - isAlternate - }, - renderToggle: ({ - onToggle, - isOpen - }) => { - const openOnArrowDown = event => { - if (!isOpen && event.keyCode === external_wp_keycodes_["DOWN"]) { - event.preventDefault(); - event.stopPropagation(); - onToggle(); - } - }; - - return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - onClick: onToggle, - "aria-haspopup": "true", - "aria-expanded": isOpen, - onKeyDown: openOnArrowDown, - label: label, - icon: icon, - showTooltip: true, - disabled: isDisabled - }); - }, - renderContent: () => Object(external_wp_element_["createElement"])(external_wp_components_["__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/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 {string} title Human-readable block type label. - * @property {WPIcon} icon Block type icon. - * @property {string} description A detailed block type description. - */ - -/** - * 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 variaton 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 Object(external_wp_data_["useSelect"])(select => { - if (!clientId) return null; - const { - getBlockName, - getBlockAttributes - } = select(store); - const { - getBlockType, - getActiveBlockVariation - } = select(external_wp_blocks_["store"]); - const blockName = getBlockName(clientId); - const blockType = getBlockType(blockName); - if (!blockType) return null; - const attributes = getBlockAttributes(clientId); - const match = getActiveBlockVariation(blockName, attributes); - const blockTypeInfo = { - title: blockType.title, - icon: blockType.icon, - description: blockType.description, - anchor: attributes === null || attributes === void 0 ? void 0 : attributes.anchor - }; - if (!match) return blockTypeInfo; - return { - title: match.title || blockType.title, - icon: match.icon || blockType.icon, - description: match.description || blockType.description - }; - }, [clientId]); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-title/index.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * 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. - * - * @return {?string} Block title. - */ - -function BlockTitle({ - clientId -}) { - const { - attributes, - name, - reusableBlockTitle - } = Object(external_wp_data_["useSelect"])(select => { - if (!clientId) { - return {}; - } - - const { - getBlockName, - getBlockAttributes, - __experimentalGetReusableBlockTitle - } = select(store); - const blockName = getBlockName(clientId); - - if (!blockName) { - return {}; - } - - const isReusable = Object(external_wp_blocks_["isReusableBlock"])(Object(external_wp_blocks_["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 = Object(external_wp_blocks_["getBlockType"])(name); - const label = reusableBlockTitle || Object(external_wp_blocks_["__experimentalGetBlockLabel"])(blockType, attributes); // 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 possible - // possible block variation title match. - - if (label !== blockType.title) { - return Object(external_lodash_["truncate"])(label, { - length: 35 - }); - } - - return blockInformation.title; -} - -// 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 - } = Object(external_wp_data_["useDispatch"])(store); - const { - clientId, - parents, - hasSelection - } = Object(external_wp_data_["useSelect"])(select => { - const { - getSelectionStart, - getSelectedBlockClientId, - getBlockParents - } = select(store); - const selectedBlockClientId = getSelectedBlockClientId(); - return { - parents: getBlockParents(selectedBlockClientId), - clientId: selectedBlockClientId, - hasSelection: !!getSelectionStart().clientId - }; - }, []); - - const rootLabel = rootLabelText || Object(external_wp_i18n_["__"])('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 Object(external_wp_element_["createElement"])("ul", { - className: "block-editor-block-breadcrumb", - role: "list", - "aria-label": Object(external_wp_i18n_["__"])('Block breadcrumb') - }, Object(external_wp_element_["createElement"])("li", { - className: !hasSelection ? 'block-editor-block-breadcrumb__current' : undefined, - "aria-current": !hasSelection ? 'true' : undefined - }, hasSelection && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - className: "block-editor-block-breadcrumb__button", - isTertiary: true, - onClick: clearSelectedBlock - }, rootLabel), !hasSelection && rootLabel), parents.map(parentClientId => Object(external_wp_element_["createElement"])("li", { - key: parentClientId - }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - className: "block-editor-block-breadcrumb__button", - isTertiary: true, - onClick: () => selectBlock(parentClientId) - }, Object(external_wp_element_["createElement"])(BlockTitle, { - clientId: parentClientId - })))), !!clientId && Object(external_wp_element_["createElement"])("li", { - className: "block-editor-block-breadcrumb__current", - "aria-current": "true" - }, Object(external_wp_element_["createElement"])(BlockTitle, { - clientId: clientId - }))) - /* 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-context/index.js +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BlockContextProvider; }); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /** @@ -19343,7 +44450,7 @@ function BlockBreadcrumb({ /** @type {import('react').Context>} */ -const block_context_Context = Object(external_wp_element_["createContext"])({}); +const Context = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createContext"])({}); /** * Component which merges passed value with current consumed block context. * @@ -19356,3780 +44463,68 @@ function BlockContextProvider({ value, children }) { - const context = Object(external_wp_element_["useContext"])(block_context_Context); - const nextValue = Object(external_wp_element_["useMemo"])(() => ({ ...context, + const context = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useContext"])(Context); + const nextValue = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(() => ({ ...context, ...value }), [context, value]); - return Object(external_wp_element_["createElement"])(block_context_Context.Provider, { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(Context.Provider, { value: nextValue, children: children }); } -/* harmony default export */ var block_context = (block_context_Context); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/color-style-selector/index.js +/* harmony default export */ __webpack_exports__["b"] = (Context); +/***/ }), + +/***/ "ur0x": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return DEFAULT_BLOCK_EDIT_CONTEXT; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Provider; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return useBlockEditContext; }); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /** * WordPress dependencies */ - - - -const ColorSelectorSVGIcon = () => Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { - xmlns: "https://www.w3.org/2000/svg", - viewBox: "0 0 20 20" -}, Object(external_wp_element_["createElement"])(external_wp_components_["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 Object(external_wp_element_["createElement"])("div", { - className: "block-library-colors-selector__icon-container" - }, Object(external_wp_element_["createElement"])("div", { - className: `${className} block-library-colors-selector__state-selection`, - style: style - }, Object(external_wp_element_["createElement"])(ColorSelectorSVGIcon, null))); +const DEFAULT_BLOCK_EDIT_CONTEXT = { + name: '', + isSelected: false }; -/** - * 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_["DOWN"]) { - event.preventDefault(); - event.stopPropagation(); - onToggle(); - } - }; - - return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - className: "components-toolbar__control block-library-colors-selector__toggle", - label: Object(external_wp_i18n_["__"])('Open Colors Selector'), - onClick: onToggle, - onKeyDown: openOnArrowDown, - icon: Object(external_wp_element_["createElement"])(BackgroundColor, null, Object(external_wp_element_["createElement"])(TextColor, null, Object(external_wp_element_["createElement"])(ColorSelectorIcon, null))) - })); -}; - -const BlockColorsStyleSelector = ({ - children, - ...other -}) => Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { - position: "bottom right", - 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/block-editor/build-module/components/block-edit/edit.js - - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - -/** - * Default value used for blocks which do not define their own context needs, - * used to guarantee that a block's `context` prop will always be an object. It - * is assigned as a constant since it is always expected to be an empty object, - * and in order to avoid unnecessary React reconciliations of a changing object. - * - * @type {{}} - */ - -const DEFAULT_BLOCK_CONTEXT = {}; -const edit_Edit = props => { - const { - attributes = {}, - name - } = props; - const blockType = Object(external_wp_blocks_["getBlockType"])(name); - const blockContext = Object(external_wp_element_["useContext"])(block_context); // Assign context values using the block type's declared context needs. - - const context = Object(external_wp_element_["useMemo"])(() => { - return blockType && blockType.usesContext ? Object(external_lodash_["pick"])(blockContext, blockType.usesContext) : DEFAULT_BLOCK_CONTEXT; - }, [blockType, blockContext]); - - if (!blockType) { - return null; - } // `edit` and `save` are functions or components describing the markup - // 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; - - if (blockType.apiVersion > 1 || Object(external_wp_blocks_["hasBlockSupport"])(blockType, 'lightBlockWrapper', false)) { - return Object(external_wp_element_["createElement"])(Component, Object(esm_extends["a" /* default */])({}, props, { - context: context - })); - } // Generate a class name for the block's editable form - - - const generatedClassName = Object(external_wp_blocks_["hasBlockSupport"])(blockType, 'className', true) ? Object(external_wp_blocks_["getBlockDefaultClassName"])(name) : null; - const className = classnames_default()(generatedClassName, attributes.className); - return Object(external_wp_element_["createElement"])(Component, Object(esm_extends["a" /* default */])({}, props, { - context: context, - className: className - })); -}; -/* harmony default export */ var edit = (Object(external_wp_components_["withFilters"])('editor.BlockEdit')(edit_Edit)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-edit/index.js - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - - -function block_edit_BlockEdit(props) { - const { - name, - isSelected, - clientId - } = props; - const context = { - name, - isSelected, - clientId - }; - return Object(external_wp_element_["createElement"])(context_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: Object(external_wp_element_["useMemo"])(() => context, Object.values(context)) - }, Object(external_wp_element_["createElement"])(edit, props)); -} - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/list-view.js -var list_view = __webpack_require__("OzlF"); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/more-vertical.js -var more_vertical = __webpack_require__("VKE3"); - -// EXTERNAL MODULE: ./node_modules/react-spring/web.cjs.js -var web_cjs = __webpack_require__("ZO3Q"); - -// EXTERNAL MODULE: external ["wp","dom"] -var external_wp_dom_ = __webpack_require__("1CF3"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-moving-animation/index.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Simple reducer used to increment a counter. - * - * @param {number} state Previous counter value. - * @return {number} New state value. - */ - -const counterReducer = state => state + 1; - -const getAbsolutePosition = element => { - return { - top: element.offsetTop, - left: element.offsetLeft - }; -}; -/** - * Hook used to compute the styles required to move a div into a new position. - * - * The way this animation works is the following: - * - It first renders the element as if there was no animation. - * - It takes a snapshot of the position of the block to use it - * as a destination point for the animation. - * - It restores the element to the previous position using a CSS transform - * - 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. - */ - - -function useMovingAnimation({ - isSelected, - adjustScrolling, - enableAnimation, - triggerAnimationOnChange -}) { - const ref = Object(external_wp_element_["useRef"])(); - const prefersReducedMotion = Object(external_wp_compose_["useReducedMotion"])() || !enableAnimation; - const [triggeredAnimation, triggerAnimation] = Object(external_wp_element_["useReducer"])(counterReducer, 0); - const [finishedAnimation, endAnimation] = Object(external_wp_element_["useReducer"])(counterReducer, 0); - const [transform, setTransform] = Object(external_wp_element_["useState"])({ - x: 0, - y: 0 - }); - const previous = Object(external_wp_element_["useMemo"])(() => ref.current ? getAbsolutePosition(ref.current) : null, [triggerAnimationOnChange]); // Calculate the previous position of the block relative to the viewport and - // return a function to maintain that position by scrolling. - - const preserveScrollPosition = Object(external_wp_element_["useMemo"])(() => { - if (!adjustScrolling || !ref.current) { - return () => {}; - } - - const scrollContainer = Object(external_wp_dom_["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]); - Object(external_wp_element_["useLayoutEffect"])(() => { - if (triggeredAnimation) { - endAnimation(); - } - }, [triggeredAnimation]); - Object(external_wp_element_["useLayoutEffect"])(() => { - if (!previous) { - return; - } - - if (prefersReducedMotion) { - // if the animation is disabled and the scroll needs to be adjusted, - // just move directly to the final scroll position. - preserveScrollPosition(); - return; - } - - ref.current.style.transform = ''; - const destination = getAbsolutePosition(ref.current); - triggerAnimation(); - setTransform({ - x: Math.round(previous.left - destination.left), - y: Math.round(previous.top - destination.top) - }); - }, [triggerAnimationOnChange]); // Only called when either the x or y value changes. - - function onFrameChange({ - x, - y - }) { - if (!ref.current) { - return; - } - - const isMoving = x === 0 && y === 0; - ref.current.style.transformOrigin = isMoving ? '' : 'center'; - ref.current.style.transform = isMoving ? '' : `translate3d(${x}px,${y}px,0)`; - ref.current.style.zIndex = !isSelected || isMoving ? '' : '1'; - preserveScrollPosition(); - } // Called for every frame computed by useSpring. - - - function onFrame({ - x, - y - }) { - x = Math.round(x); - y = Math.round(y); - - if (x !== onFrame.x || y !== onFrame.y) { - onFrameChange({ - x, - y - }); - onFrame.x = x; - onFrame.y = y; - } - } - - onFrame.x = 0; - onFrame.y = 0; - Object(web_cjs["useSpring"])({ - from: { - x: transform.x, - y: transform.y - }, - to: { - x: 0, - y: 0 - }, - reset: triggeredAnimation !== finishedAnimation, - config: { - mass: 5, - tension: 2000, - friction: 200 - }, - immediate: prefersReducedMotion, - onFrame - }); - return ref; -} - -/* harmony default export */ var use_moving_animation = (useMovingAnimation); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-navigation/leaf.js - - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -const AnimatedTreeGridRow = Object(web_cjs["animated"])(external_wp_components_["__experimentalTreeGridRow"]); -function BlockNavigationLeaf({ - isSelected, - position, - level, - rowCount, - children, - className, - path, - ...props -}) { - const ref = use_moving_animation({ - isSelected, - adjustScrolling: false, - enableAnimation: true, - triggerAnimationOnChange: path.join('_') - }); - return Object(external_wp_element_["createElement"])(AnimatedTreeGridRow, Object(esm_extends["a" /* default */])({ - ref: ref, - className: classnames_default()('block-editor-block-navigation-leaf', className), - level: level, - positionInSet: position, - setSize: rowCount - }, props), children); -} - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-right.js -var chevron_right = __webpack_require__("1iEr"); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-left.js -var chevron_left = __webpack_require__("2gm7"); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-up.js -var chevron_up = __webpack_require__("XgzB"); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-down.js -var chevron_down = __webpack_require__("NWDH"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-mover/mover-description.js -/** - * WordPress dependencies - */ - -/** - * Return a label for the block movement controls depending on block position. - * - * @param {number} selectedCount Number of blocks selected. - * @param {string} type Block type - in the case of a single block, should - * define its 'type'. I.e. 'Text', 'Heading', 'Image' etc. - * @param {number} firstIndex The index (position - 1) of the first block selected. - * @param {boolean} isFirst This is the first block. - * @param {boolean} isLast This is the last block. - * @param {number} dir Direction of movement (> 0 is considered to be going - * down, < 0 is up). - * @param {string} orientation The orientation of the block movers, vertical or - * horizontal. - * - * @return {string} Label for the block movement controls. - */ - -function getBlockMoverDescription(selectedCount, type, firstIndex, isFirst, isLast, dir, orientation) { - const position = firstIndex + 1; - - const getMovementDirection = moveDirection => { - if (moveDirection === 'up') { - if (orientation === 'horizontal') { - return Object(external_wp_i18n_["isRTL"])() ? 'right' : 'left'; - } - - return 'up'; - } else if (moveDirection === 'down') { - if (orientation === 'horizontal') { - return Object(external_wp_i18n_["isRTL"])() ? 'left' : 'right'; - } - - return 'down'; - } - - return null; - }; - - if (selectedCount > 1) { - return getMultiBlockMoverDescription(selectedCount, firstIndex, isFirst, isLast, dir); - } - - if (isFirst && isLast) { - return Object(external_wp_i18n_["sprintf"])( // translators: %s: Type of block (i.e. Text, Image etc) - Object(external_wp_i18n_["__"])('Block %s is the only block, and cannot be moved'), type); - } - - if (dir > 0 && !isLast) { - // moving down - const movementDirection = getMovementDirection('down'); - - if (movementDirection === 'down') { - return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position - Object(external_wp_i18n_["__"])('Move %1$s block from position %2$d down to position %3$d'), type, position, position + 1); - } - - if (movementDirection === 'left') { - return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position - Object(external_wp_i18n_["__"])('Move %1$s block from position %2$d left to position %3$d'), type, position, position + 1); - } - - if (movementDirection === 'right') { - return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position - Object(external_wp_i18n_["__"])('Move %1$s block from position %2$d right to position %3$d'), type, position, position + 1); - } - } - - if (dir > 0 && isLast) { - // moving down, and is the last item - const movementDirection = getMovementDirection('down'); - - if (movementDirection === 'down') { - return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc) - Object(external_wp_i18n_["__"])('Block %1$s is at the end of the content and can’t be moved down'), type); - } - - if (movementDirection === 'left') { - return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc) - Object(external_wp_i18n_["__"])('Block %1$s is at the end of the content and can’t be moved left'), type); - } - - if (movementDirection === 'right') { - return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc) - Object(external_wp_i18n_["__"])('Block %1$s is at the end of the content and can’t be moved right'), type); - } - } - - if (dir < 0 && !isFirst) { - // moving up - const movementDirection = getMovementDirection('up'); - - if (movementDirection === 'up') { - return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position - Object(external_wp_i18n_["__"])('Move %1$s block from position %2$d up to position %3$d'), type, position, position - 1); - } - - if (movementDirection === 'left') { - return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position - Object(external_wp_i18n_["__"])('Move %1$s block from position %2$d left to position %3$d'), type, position, position - 1); - } - - if (movementDirection === 'right') { - return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position - Object(external_wp_i18n_["__"])('Move %1$s block from position %2$d right to position %3$d'), type, position, position - 1); - } - } - - if (dir < 0 && isFirst) { - // moving up, and is the first item - const movementDirection = getMovementDirection('up'); - - if (movementDirection === 'up') { - return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc) - Object(external_wp_i18n_["__"])('Block %1$s is at the beginning of the content and can’t be moved up'), type); - } - - if (movementDirection === 'left') { - return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc) - Object(external_wp_i18n_["__"])('Block %1$s is at the beginning of the content and can’t be moved left'), type); - } - - if (movementDirection === 'right') { - return Object(external_wp_i18n_["sprintf"])( // translators: 1: Type of block (i.e. Text, Image etc) - Object(external_wp_i18n_["__"])('Block %1$s is at the beginning of the content and can’t be moved right'), type); - } - } -} -/** - * Return a label for the block movement controls depending on block position. - * - * @param {number} selectedCount Number of blocks selected. - * @param {number} firstIndex The index (position - 1) of the first block selected. - * @param {boolean} isFirst This is the first block. - * @param {boolean} isLast This is the last block. - * @param {number} dir Direction of movement (> 0 is considered to be going - * down, < 0 is up). - * - * @return {string} Label for the block movement controls. - */ - -function getMultiBlockMoverDescription(selectedCount, firstIndex, isFirst, isLast, dir) { - const position = firstIndex + 1; - - if (dir < 0 && isFirst) { - return Object(external_wp_i18n_["__"])('Blocks cannot be moved up as they are already at the top'); - } - - if (dir > 0 && isLast) { - return Object(external_wp_i18n_["__"])('Blocks cannot be moved down as they are already at the bottom'); - } - - if (dir < 0 && !isFirst) { - return Object(external_wp_i18n_["sprintf"])( // translators: 1: Number of selected blocks, 2: Position of selected blocks - Object(external_wp_i18n_["_n"])('Move %1$d block from position %2$d up by one place', 'Move %1$d blocks from position %2$d up by one place', selectedCount), selectedCount, position); - } - - if (dir > 0 && !isLast) { - return Object(external_wp_i18n_["sprintf"])( // translators: 1: Number of selected blocks, 2: Position of selected blocks - Object(external_wp_i18n_["_n"])('Move %1$d block from position %2$d down by one place', 'Move %1$d blocks from position %2$d down by one place', selectedCount), selectedCount, position); - } -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-mover/button.js - - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - -/** - * Internal dependencies - */ - - - - - -const getArrowIcon = (direction, orientation) => { - if (direction === 'up') { - if (orientation === 'horizontal') { - return Object(external_wp_i18n_["isRTL"])() ? chevron_right["a" /* default */] : chevron_left["a" /* default */]; - } - - return chevron_up["a" /* default */]; - } else if (direction === 'down') { - if (orientation === 'horizontal') { - return Object(external_wp_i18n_["isRTL"])() ? chevron_left["a" /* default */] : chevron_right["a" /* default */]; - } - - return chevron_down["a" /* default */]; - } - - return null; -}; - -const getMovementDirectionLabel = (moveDirection, orientation) => { - if (moveDirection === 'up') { - if (orientation === 'horizontal') { - return Object(external_wp_i18n_["isRTL"])() ? Object(external_wp_i18n_["__"])('Move right') : Object(external_wp_i18n_["__"])('Move left'); - } - - return Object(external_wp_i18n_["__"])('Move up'); - } else if (moveDirection === 'down') { - if (orientation === 'horizontal') { - return Object(external_wp_i18n_["isRTL"])() ? Object(external_wp_i18n_["__"])('Move left') : Object(external_wp_i18n_["__"])('Move right'); - } - - return Object(external_wp_i18n_["__"])('Move down'); - } - - return null; -}; - -const BlockMoverButton = Object(external_wp_element_["forwardRef"])(({ - clientIds, - direction, - orientation: moverOrientation, - ...props -}, ref) => { - const instanceId = Object(external_wp_compose_["useInstanceId"])(BlockMoverButton); - const blocksCount = Object(external_lodash_["castArray"])(clientIds).length; - const { - blockType, - isDisabled, - rootClientId, - isFirst, - isLast, - firstIndex, - orientation = 'vertical' - } = Object(external_wp_data_["useSelect"])(select => { - const { - getBlockIndex, - getBlockRootClientId, - getBlockOrder, - getBlock, - getBlockListSettings - } = select(store); - const normalizedClientIds = Object(external_lodash_["castArray"])(clientIds); - const firstClientId = Object(external_lodash_["first"])(normalizedClientIds); - const blockRootClientId = getBlockRootClientId(firstClientId); - const firstBlockIndex = getBlockIndex(firstClientId, blockRootClientId); - const lastBlockIndex = getBlockIndex(Object(external_lodash_["last"])(normalizedClientIds), blockRootClientId); - const blockOrder = getBlockOrder(blockRootClientId); - const block = getBlock(firstClientId); - const isFirstBlock = firstBlockIndex === 0; - const isLastBlock = lastBlockIndex === blockOrder.length - 1; - const { - orientation: blockListOrientation - } = getBlockListSettings(blockRootClientId) || {}; - return { - blockType: block ? Object(external_wp_blocks_["getBlockType"])(block.name) : null, - isDisabled: direction === 'up' ? isFirstBlock : isLastBlock, - rootClientId: blockRootClientId, - firstIndex: firstBlockIndex, - isFirst: isFirstBlock, - isLast: isLastBlock, - orientation: moverOrientation || blockListOrientation - }; - }, [clientIds, direction]); - const { - moveBlocksDown, - moveBlocksUp - } = Object(external_wp_data_["useDispatch"])(store); - const moverFunction = direction === 'up' ? moveBlocksUp : moveBlocksDown; - - const onClick = event => { - moverFunction(clientIds, rootClientId); - - if (props.onClick) { - props.onClick(event); - } - }; - - const descriptionId = `block-editor-block-mover-button__description-${instanceId}`; - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({ - ref: ref, - className: classnames_default()('block-editor-block-mover-button', `is-${direction}-button`), - icon: getArrowIcon(direction, orientation), - label: getMovementDirectionLabel(direction, orientation), - "aria-describedby": descriptionId - }, props, { - onClick: isDisabled ? null : onClick, - "aria-disabled": isDisabled - })), Object(external_wp_element_["createElement"])("span", { - id: descriptionId, - className: "block-editor-block-mover-button__description" - }, getBlockMoverDescription(blocksCount, blockType && blockType.title, firstIndex, isFirst, isLast, direction === 'up' ? -1 : 1, orientation))); -}); -const BlockMoverUpButton = Object(external_wp_element_["forwardRef"])((props, ref) => { - return Object(external_wp_element_["createElement"])(BlockMoverButton, Object(esm_extends["a" /* default */])({ - direction: "up", - ref: ref - }, props)); -}); -const BlockMoverDownButton = Object(external_wp_element_["forwardRef"])((props, ref) => { - return Object(external_wp_element_["createElement"])(BlockMoverButton, Object(esm_extends["a" /* default */])({ - direction: "down", - ref: ref - }, props)); -}); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-navigation/context.js -/** - * WordPress dependencies - */ - -const BlockNavigationContext = Object(external_wp_element_["createContext"])({ - __experimentalFeatures: false, - __experimentalPersistentListViewFeatures: false -}); -const useBlockNavigationContext = () => Object(external_wp_element_["useContext"])(BlockNavigationContext); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/more-horizontal.js - - -/** - * WordPress dependencies - */ - -const moreHorizontal = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M11 13h2v-2h-2v2zm-6 0h2v-2H5v2zm12-2v2h2v-2h-2z" -})); -/* harmony default export */ var more_horizontal = (moreHorizontal); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/warning/index.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - -function Warning({ - className, - actions, - children, - secondaryActions -}) { - return Object(external_wp_element_["createElement"])("div", { - className: classnames_default()(className, 'block-editor-warning') - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-warning__contents" - }, Object(external_wp_element_["createElement"])("p", { - className: "block-editor-warning__message" - }, children), (external_wp_element_["Children"].count(actions) > 0 || secondaryActions) && Object(external_wp_element_["createElement"])("div", { - className: "block-editor-warning__actions" - }, external_wp_element_["Children"].count(actions) > 0 && external_wp_element_["Children"].map(actions, (action, i) => Object(external_wp_element_["createElement"])("span", { - key: i, - className: "block-editor-warning__action" - }, action)), secondaryActions && Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { - className: "block-editor-warning__secondary", - icon: more_horizontal, - label: Object(external_wp_i18n_["__"])('More options'), - popoverProps: { - position: 'bottom left', - className: 'block-editor-warning__dropdown' - }, - noIcons: true - }, () => Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, secondaryActions.map((item, pos) => Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - onClick: item.onClick, - key: pos - }, item.title))))))); -} -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/warning/README.md - */ - - -/* harmony default export */ var warning = (Warning); - -// EXTERNAL MODULE: ./node_modules/diff/lib/diff/character.js -var diff_character = __webpack_require__("iA5R"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-compare/block-view.js - - -/** - * WordPress dependencies - */ - - - -function BlockView({ - title, - rawContent, - renderedContent, - action, - actionText, - className -}) { - return Object(external_wp_element_["createElement"])("div", { - className: className - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-compare__content" - }, Object(external_wp_element_["createElement"])("h2", { - className: "block-editor-block-compare__heading" - }, title), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-compare__html" - }, rawContent), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-compare__preview edit-post-visual-editor" - }, Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, Object(external_wp_dom_["safeHTML"])(renderedContent)))), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-compare__action" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - isSecondary: true, - tabIndex: "0", - onClick: action - }, actionText))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-compare/index.js - - -/** - * External dependencies - */ - - // diff doesn't tree-shake correctly, so we import from the individual -// module here, to avoid including too much of the library - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -function BlockCompare({ - block, - onKeep, - onConvert, - convertor, - convertButtonText -}) { - function getDifference(originalContent, newContent) { - const difference = Object(diff_character["diffChars"])(originalContent, newContent); - return difference.map((item, pos) => { - const classes = classnames_default()({ - 'block-editor-block-compare__added': item.added, - 'block-editor-block-compare__removed': item.removed - }); - return Object(external_wp_element_["createElement"])("span", { - key: pos, - className: classes - }, item.value); - }); - } - - function getConvertedContent(convertedBlock) { - // The convertor may return an array of items or a single item - const newBlocks = Object(external_lodash_["castArray"])(convertedBlock); // Get converted block details - - const newContent = newBlocks.map(item => Object(external_wp_blocks_["getSaveContent"])(item.name, item.attributes, item.innerBlocks)); - return newContent.join(''); - } - - const converted = getConvertedContent(convertor(block)); - const difference = getDifference(block.originalContent, converted); - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-compare__wrapper" - }, Object(external_wp_element_["createElement"])(BlockView, { - title: Object(external_wp_i18n_["__"])('Current'), - className: "block-editor-block-compare__current", - action: onKeep, - actionText: Object(external_wp_i18n_["__"])('Convert to HTML'), - rawContent: block.originalContent, - renderedContent: block.originalContent - }), Object(external_wp_element_["createElement"])(BlockView, { - title: Object(external_wp_i18n_["__"])('After Conversion'), - className: "block-editor-block-compare__converted", - action: onConvert, - actionText: convertButtonText, - rawContent: difference, - renderedContent: converted - })); -} - -/* harmony default export */ var block_compare = (BlockCompare); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/block-invalid-warning.js - - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - -function BlockInvalidWarning({ - convertToHTML, - convertToBlocks, - convertToClassic, - attemptBlockRecovery, - block -}) { - const hasHTMLBlock = !!Object(external_wp_blocks_["getBlockType"])('core/html'); - const [compare, setCompare] = Object(external_wp_element_["useState"])(false); - const onCompare = Object(external_wp_element_["useCallback"])(() => setCompare(true), []); - const onCompareClose = Object(external_wp_element_["useCallback"])(() => setCompare(false), []); // We memo the array here to prevent the children components from being updated unexpectedly - - const hiddenActions = Object(external_wp_element_["useMemo"])(() => [{ - // translators: Button to fix block content - title: Object(external_wp_i18n_["_x"])('Resolve', 'imperative verb'), - onClick: onCompare - }, hasHTMLBlock && { - title: Object(external_wp_i18n_["__"])('Convert to HTML'), - onClick: convertToHTML - }, { - title: Object(external_wp_i18n_["__"])('Convert to Classic Block'), - onClick: convertToClassic - }].filter(Boolean), [onCompare, convertToHTML, convertToClassic]); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(warning, { - actions: [Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - key: "recover", - onClick: attemptBlockRecovery, - isPrimary: true - }, Object(external_wp_i18n_["__"])('Attempt Block Recovery'))], - secondaryActions: hiddenActions - }, Object(external_wp_i18n_["__"])('This block contains unexpected or invalid content.')), compare && Object(external_wp_element_["createElement"])(external_wp_components_["Modal"], { - title: // translators: Dialog title to fix block content - Object(external_wp_i18n_["__"])('Resolve Block'), - onRequestClose: onCompareClose, - className: "block-editor-block-compare" - }, Object(external_wp_element_["createElement"])(block_compare, { - block: block, - onKeep: convertToHTML, - onConvert: convertToBlocks, - convertor: blockToBlocks, - convertButtonText: Object(external_wp_i18n_["__"])('Convert to Blocks') - }))); -} - -const blockToClassic = block => Object(external_wp_blocks_["createBlock"])('core/freeform', { - content: block.originalContent -}); - -const blockToHTML = block => Object(external_wp_blocks_["createBlock"])('core/html', { - content: block.originalContent -}); - -const blockToBlocks = block => Object(external_wp_blocks_["rawHandler"])({ - HTML: block.originalContent -}); - -const recoverBlock = ({ - name, - attributes, - innerBlocks -}) => Object(external_wp_blocks_["createBlock"])(name, attributes, innerBlocks); - -/* harmony default export */ var block_invalid_warning = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withSelect"])((select, { - clientId -}) => ({ - block: select(store).getBlock(clientId) -})), Object(external_wp_data_["withDispatch"])((dispatch, { - block -}) => { - const { - replaceBlock - } = dispatch(store); - return { - convertToClassic() { - replaceBlock(block.clientId, blockToClassic(block)); - }, - - convertToHTML() { - replaceBlock(block.clientId, blockToHTML(block)); - }, - - convertToBlocks() { - replaceBlock(block.clientId, blockToBlocks(block)); - }, - - attemptBlockRecovery() { - replaceBlock(block.clientId, recoverBlock(block)); - } - - }; -})])(BlockInvalidWarning)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/block-crash-warning.js - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - -const block_crash_warning_warning = Object(external_wp_element_["createElement"])(warning, { - className: "block-editor-block-list__block-crash-warning" -}, Object(external_wp_i18n_["__"])('This block has encountered an error and cannot be previewed.')); -/* harmony default export */ var block_crash_warning = (() => block_crash_warning_warning); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/block-crash-boundary.js -/** - * WordPress dependencies - */ - - -class block_crash_boundary_BlockCrashBoundary extends external_wp_element_["Component"] { - constructor() { - super(...arguments); - this.state = { - hasError: false - }; - } - - componentDidCatch() { - this.setState({ - hasError: true - }); - } - - render() { - if (this.state.hasError) { - return this.props.fallback; - } - - return this.props.children; - } - -} - -/* harmony default export */ var block_crash_boundary = (block_crash_boundary_BlockCrashBoundary); - -// EXTERNAL MODULE: ./node_modules/react-autosize-textarea/lib/index.js -var lib = __webpack_require__("O6Fj"); -var lib_default = /*#__PURE__*/__webpack_require__.n(lib); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/block-html.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - -function BlockHTML({ - clientId -}) { - const [html, setHtml] = Object(external_wp_element_["useState"])(''); - const block = Object(external_wp_data_["useSelect"])(select => select(store).getBlock(clientId), [clientId]); - const { - updateBlock - } = Object(external_wp_data_["useDispatch"])(store); - - const onChange = () => { - const blockType = Object(external_wp_blocks_["getBlockType"])(block.name); - const attributes = Object(external_wp_blocks_["getBlockAttributes"])(blockType, html, block.attributes); // If html is empty we reset the block to the default HTML and mark it as valid to avoid triggering an error - - const content = html ? html : Object(external_wp_blocks_["getSaveContent"])(blockType, attributes); - const isValid = html ? Object(external_wp_blocks_["isValidBlockContent"])(blockType, attributes, content) : true; - updateBlock(clientId, { - attributes, - originalContent: content, - isValid - }); // Ensure the state is updated if we reset so it displays the default content - - if (!html) { - setHtml({ - content - }); - } - }; - - Object(external_wp_element_["useEffect"])(() => { - setHtml(Object(external_wp_blocks_["getBlockContent"])(block)); - }, [block]); - return Object(external_wp_element_["createElement"])(lib_default.a, { - className: "block-editor-block-list__block-html-textarea", - value: html, - onBlur: onChange, - onChange: event => setHtml(event.target.value) - }); -} - -/* harmony default export */ var block_html = (BlockHTML); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/dom.js -const BLOCK_SELECTOR = '.block-editor-block-list__block'; -/** - * Returns true if two elements are contained within the same block. - * - * @param {Element} a First element. - * @param {Element} b Second element. - * - * @return {boolean} Whether elements are in the same block. - */ - -function isInSameBlock(a, b) { - return a.closest(BLOCK_SELECTOR) === b.closest(BLOCK_SELECTOR); -} -/** - * Returns true if an element is considered part of the block and not its - * children. - * - * @param {Element} blockElement Block container element. - * @param {Element} element Element. - * - * @return {boolean} Whether element is in the block Element but not its - * children. - */ - -function isInsideRootBlock(blockElement, element) { - const parentBlock = element.closest(BLOCK_SELECTOR); - return parentBlock === blockElement; -} -/** - * Finds the block client ID given any DOM node inside the block. - * - * @param {Node?} node DOM node. - * - * @return {string|undefined} Client ID or undefined if the node is not part of - * a block. - */ - -function getBlockClientId(node) { - while (node && node.nodeType !== node.ELEMENT_NODE) { - node = node.parentNode; - } - - if (!node) { - return; - } - - const elementNode = - /** @type {Element} */ - node; - const blockNode = elementNode.closest(BLOCK_SELECTOR); - - if (!blockNode) { - return; - } - - return blockNode.id.slice('block-'.length); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-focus-first-element.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - -/** @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 Object(external_wp_data_["useSelect"])(select => { - const { - getSelectedBlocksInitialCaretPosition, - isMultiSelecting, - isNavigationMode, - isBlockSelected - } = select(store); - - if (!isBlockSelected(clientId)) { - return; - } - - if (isMultiSelecting() || isNavigationMode()) { - 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. - * - * @param {string} clientId Block client ID. - * - * @return {RefObject} React ref with the block element. - */ - - -function useFocusFirstElement(clientId) { - const ref = Object(external_wp_element_["useRef"])(); - const initialPosition = useInitialPosition(clientId); - Object(external_wp_element_["useEffect"])(() => { - if (initialPosition === undefined || initialPosition === null) { - return; - } - - if (!ref.current) { - return; - } - - const { - ownerDocument - } = ref.current; // Do not focus the block if it already contains the active element. - - if (ref.current.contains(ownerDocument.activeElement)) { - return; - } // Find all tabbables within node. - - - const textInputs = external_wp_dom_["focus"].tabbable.find(ref.current).filter(node => Object(external_wp_dom_["isTextField"])(node)); // If reversed (e.g. merge via backspace), use the last in the set of - // tabbables. - - const isReverse = -1 === initialPosition; - const target = (isReverse ? external_lodash_["last"] : external_lodash_["first"])(textInputs) || ref.current; - - if ( // Don't focus inner block or block appenders. - !isInsideRootBlock(ref.current, target) || target.closest('.block-list-appender')) { - ref.current.focus(); - return; - } - - Object(external_wp_dom_["placeCaretAtHorizontalEdge"])(target, isReverse); - }, [initialPosition]); - return ref; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-is-hovered.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - -function listener(event) { - if (event.defaultPrevented) { - return; - } - - const action = event.type === 'mouseover' ? 'add' : 'remove'; - event.preventDefault(); - 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 = Object(external_wp_data_["useSelect"])(select => { - const { - isNavigationMode, - getSettings - } = select(store); - return isNavigationMode() || getSettings().outlineMode; - }, []); - return Object(external_wp_compose_["useRefEffect"])(node => { - if (isEnabled) { - node.addEventListener('mouseout', listener); - node.addEventListener('mouseover', listener); - return () => { - node.removeEventListener('mouseout', listener); - node.removeEventListener('mouseover', listener); // Remove class in case it lingers. - - node.classList.remove('is-hovered'); - }; - } - }, [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 Object(external_wp_data_["useSelect"])(select => { - const { - isBlockBeingDragged, - isBlockHighlighted, - isBlockSelected, - isBlockMultiSelected, - getBlockName, - getSettings, - hasSelectedInnerBlock, - isTyping, - __experimentalGetActiveBlockIdByBlockNames: getActiveBlockIdByBlockNames - } = select(store); - const { - __experimentalSpotlightEntityBlocks: spotlightEntityBlocks, - 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 activeEntityBlockId = getActiveBlockIdByBlockNames(spotlightEntityBlocks); - return classnames_default()({ - 'is-selected': isSelected, - 'is-highlighted': isBlockHighlighted(clientId), - 'is-multi-selected': isBlockMultiSelected(clientId), - 'is-reusable': Object(external_wp_blocks_["isReusableBlock"])(Object(external_wp_blocks_["getBlockType"])(name)), - 'is-dragging': isDragging, - 'has-child-selected': isAncestorOfSelectedBlock, - 'has-active-entity': activeEntityBlockId, - // Determine if there is an active entity area to spotlight. - 'is-active-entity': activeEntityBlockId === clientId, - '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 Object(external_wp_data_["useSelect"])(select => { - const name = select(store).getBlockName(clientId); - const blockType = Object(external_wp_blocks_["getBlockType"])(name); - const hasLightBlockWrapper = blockType.apiVersion > 1 || Object(external_wp_blocks_["hasBlockSupport"])(blockType, 'lightBlockWrapper', false); - - if (!hasLightBlockWrapper) { - return; - } - - return Object(external_wp_blocks_["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 Object(external_wp_data_["useSelect"])(select => { - const { - getBlockName, - getBlockAttributes - } = select(store); - const { - className - } = getBlockAttributes(clientId); - - if (!className) { - return; - } - - const blockType = Object(external_wp_blocks_["getBlockType"])(getBlockName(clientId)); - const hasLightBlockWrapper = blockType.apiVersion > 1 || Object(external_wp_blocks_["hasBlockSupport"])(blockType, 'lightBlockWrapper', false); - - if (!hasLightBlockWrapper) { - return; - } - - return 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 Object(external_wp_data_["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 - */ - - -/** - * Internal dependencies - */ - - - -/** - * Selects the block if it receives focus. - * - * @param {string} clientId Block client ID. - */ - -function useFocusHandler(clientId) { - const { - isBlockSelected - } = Object(external_wp_data_["useSelect"])(store); - const { - selectBlock, - selectionChange - } = Object(external_wp_data_["useDispatch"])(store); - return Object(external_wp_compose_["useRefEffect"])(node => { - /** - * Marks the block as selected when focused and not already - * selected. This specifically handles the case where block does not - * set focus on its own (via `setFocus`), typically if there is no - * focusable input in the block. - * - * @param {FocusEvent} event Focus event. - */ - function onFocus(event) { - // Check synchronously because a non-selected block might be - // getting data through `useSelect` asynchronously. - if (isBlockSelected(clientId)) { - // Potentially change selection away from rich text. - if (!event.target.isContentEditable) { - selectionChange(clientId); - } - - return; - } // If an inner block is focussed, that block is resposible for - // setting the selected block. - - - if (!isInsideRootBlock(node, event.target)) { - return; - } - - selectBlock(clientId); - } - - node.addEventListener('focusin', onFocus); - return () => { - node.removeEventListener('focusin', onFocus); - }; - }, [isBlockSelected, selectBlock]); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - -/** - * Adds block behaviour: - * - Removes the block on BACKSPACE. - * - Inserts a default block on ENTER. - * - Disables dragging of block contents. - * - * @param {string} clientId Block client ID. - */ - -function useEventHandlers(clientId) { - const isSelected = Object(external_wp_data_["useSelect"])(select => select(store).isBlockSelected(clientId), [clientId]); - const { - getBlockRootClientId, - getBlockIndex - } = Object(external_wp_data_["useSelect"])(store); - const { - insertDefaultBlock, - removeBlock - } = Object(external_wp_data_["useDispatch"])(store); - return Object(external_wp_compose_["useRefEffect"])(node => { - if (!isSelected) { - return; - } - /** - * Interprets keydown event intent to remove or insert after block if - * key event occurs on wrapper node. This can occur when the block has - * no text fields of its own, particularly after initial insertion, to - * allow for easy deletion and continuous writing flow to add additional - * content. - * - * @param {KeyboardEvent} event Keydown event. - */ - - - function onKeyDown(event) { - const { - keyCode, - target - } = event; - - if (keyCode !== external_wp_keycodes_["ENTER"] && keyCode !== external_wp_keycodes_["BACKSPACE"] && keyCode !== external_wp_keycodes_["DELETE"]) { - return; - } - - if (target !== node || Object(external_wp_dom_["isTextField"])(target)) { - return; - } - - event.preventDefault(); - - if (keyCode === external_wp_keycodes_["ENTER"]) { - insertDefaultBlock({}, getBlockRootClientId(clientId), getBlockIndex(clientId) + 1); - } else { - removeBlock(clientId); - } - } - /** - * Prevents default dragging behavior within a block. To do: we must - * handle this in the future and clean up the drag target. - * - * @param {DragEvent} event Drag event. - */ - - - function onDragStart(event) { - event.preventDefault(); - } - - node.addEventListener('keydown', onKeyDown); - node.addEventListener('dragstart', onDragStart); - return () => { - node.removeEventListener('keydown', onKeyDown); - node.removeEventListener('dragstart', onDragStart); - }; - }, [clientId, isSelected, getBlockRootClientId, getBlockIndex, insertDefaultBlock, removeBlock]); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-nav-mode-exit.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -/** - * Allows navigation mode to be exited by clicking in the selected block. - * - * @param {string} clientId Block client ID. - */ - -function useNavModeExit(clientId) { - const { - isNavigationMode, - isBlockSelected - } = Object(external_wp_data_["useSelect"])(store); - const { - setNavigationMode, - selectBlock - } = Object(external_wp_data_["useDispatch"])(store); - return Object(external_wp_compose_["useRefEffect"])(node => { - function onMouseDown(event) { - // Don't select a block if it's already handled by a child - // block. - if (isNavigationMode() && !event.defaultPrevented) { - // Prevent focus from moving to the block. - event.preventDefault(); // When clicking on a selected block, exit navigation mode. - - if (isBlockSelected(clientId)) { - setNavigationMode(false); - } else { - selectBlock(clientId); - } - } - } - - node.addEventListener('mousedown', onMouseDown); - return () => { - node.addEventListener('mousedown', onMouseDown); - }; - }, [clientId, isNavigationMode, isBlockSelected, setNavigationMode]); -} - -// EXTERNAL MODULE: ./node_modules/dom-scroll-into-view/lib/index.js -var dom_scroll_into_view_lib = __webpack_require__("9Do8"); -var dom_scroll_into_view_lib_default = /*#__PURE__*/__webpack_require__.n(dom_scroll_into_view_lib); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-scroll-into-view.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - -function useScrollIntoView(clientId) { - const ref = Object(external_wp_element_["useRef"])(); - const isSelectionEnd = Object(external_wp_data_["useSelect"])(select => { - const { - isBlockSelected, - getBlockSelectionEnd - } = select(store); - return isBlockSelected(clientId) || getBlockSelectionEnd() === clientId; - }, [clientId]); // Note that we can't use `useRefEffect` here, since an element change does - // not mean we can scroll. `isSelectionEnd` should be the sole dependency, - // while with `useRefEffect`, the element is a dependency as well. - - Object(external_wp_element_["useEffect"])(() => { - if (!isSelectionEnd) { - return; - } - - const extentNode = ref.current; - - if (!extentNode) { - return; - } // If the block is focused, the browser will already have scrolled into - // view if necessary. - - - if (extentNode.contains(extentNode.ownerDocument.activeElement)) { - return; - } - - const scrollContainer = Object(external_wp_dom_["getScrollContainer"])(extentNode) || extentNode.ownerDocument.defaultView; // If there's no scroll container, it follows that there's no scrollbar - // and thus there's no need to try to scroll into view. - - if (!scrollContainer) { - return; - } - - dom_scroll_into_view_lib_default()(extentNode, scrollContainer, { - onlyScrollIfNeeded: true - }); - }, [isSelectionEnd]); - return ref; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-multi-selection.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - - -function toggleRichText(container, toggle) { - Array.from(container.closest('.is-root-container').querySelectorAll('.rich-text')).forEach(node => { - if (toggle) { - node.setAttribute('contenteditable', true); - } else { - node.removeAttribute('contenteditable'); - } - }); -} -/** - * Sets a multi-selection based on the native selection across blocks. - * - * @param {string} clientId Block client ID. - */ - - -function useMultiSelection(clientId) { - const { - startMultiSelect, - stopMultiSelect, - multiSelect, - selectBlock - } = Object(external_wp_data_["useDispatch"])(store); - const { - isSelectionEnabled, - isBlockSelected, - getBlockParents, - getBlockSelectionStart, - hasMultiSelection - } = Object(external_wp_data_["useSelect"])(store); - return Object(external_wp_compose_["useRefEffect"])(node => { - const { - ownerDocument - } = node; - const { - defaultView - } = ownerDocument; - let anchorElement; - let rafId; - - function onSelectionChange({ - isSelectionEnd - }) { - const selection = defaultView.getSelection(); // If no selection is found, end multi selection and enable all rich - // text areas. - - if (!selection.rangeCount || selection.isCollapsed) { - toggleRichText(node, true); - return; - } - - const endClientId = getBlockClientId(selection.focusNode); - const isSingularSelection = clientId === endClientId; - - if (isSingularSelection) { - selectBlock(clientId); // If the selection is complete (on mouse up), and no - // multiple blocks have been selected, set focus back to the - // anchor element. if the anchor element contains the - // selection. Additionally, rich text elements that were - // previously disabled can now be enabled again. - - if (isSelectionEnd) { - toggleRichText(node, true); - - if (selection.rangeCount) { - const { - commonAncestorContainer - } = selection.getRangeAt(0); - - if (anchorElement.contains(commonAncestorContainer)) { - anchorElement.focus(); - } - } - } - } else { - const startPath = [...getBlockParents(clientId), clientId]; - const endPath = [...getBlockParents(endClientId), endClientId]; - const depth = Math.min(startPath.length, endPath.length) - 1; - multiSelect(startPath[depth], endPath[depth]); - } - } - - function onSelectionEnd() { - ownerDocument.removeEventListener('selectionchange', onSelectionChange); // Equivalent to attaching the listener once. - - defaultView.removeEventListener('mouseup', onSelectionEnd); // The browser selection won't have updated yet at this point, - // so wait until the next animation frame to get the browser - // selection. - - rafId = defaultView.requestAnimationFrame(() => { - onSelectionChange({ - isSelectionEnd: true - }); - stopMultiSelect(); - }); - } - - function onMouseLeave({ - buttons - }) { - // The primary button must be pressed to initiate selection. - // See https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons - if (buttons !== 1) { - return; - } - - if (!isSelectionEnabled() || !isBlockSelected(clientId)) { - return; - } - - anchorElement = ownerDocument.activeElement; - startMultiSelect(); // `onSelectionStart` is called after `mousedown` and - // `mouseleave` (from a block). The selection ends when - // `mouseup` happens anywhere in the window. - - ownerDocument.addEventListener('selectionchange', onSelectionChange); - defaultView.addEventListener('mouseup', onSelectionEnd); // Removing the contenteditable attributes within the block - // editor is essential for selection to work across editable - // areas. The edible hosts are removed, allowing selection to be - // extended outside the DOM element. `startMultiSelect` sets a - // flag in the store so the rich text components are updated, - // but the rerender may happen very slowly, especially in Safari - // for the blocks that are asynchonously rendered. To ensure the - // browser instantly removes the selection boundaries, we remove - // the contenteditable attributes manually. - - toggleRichText(node, false); - } - - function onMouseDown(event) { - // The main button. - // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button - if (!isSelectionEnabled() || event.button !== 0) { - return; - } - - if (event.shiftKey) { - const blockSelectionStart = getBlockSelectionStart(); - - if (blockSelectionStart !== clientId) { - toggleRichText(node, false); - multiSelect(blockSelectionStart, clientId); - event.preventDefault(); - } - } else if (hasMultiSelection()) { - // Allow user to escape out of a multi-selection to a - // singular selection of a block via click. This is handled - // here since focus handling excludes blocks when there is - // multiselection, as focus can be incurred by starting a - // multiselection (focus moved to first block's multi- - // controls). - selectBlock(clientId); - } - } - - node.addEventListener('mousedown', onMouseDown); - node.addEventListener('mouseleave', onMouseLeave); - return () => { - node.removeEventListener('mousedown', onMouseDown); - node.removeEventListener('mouseleave', onMouseLeave); - ownerDocument.removeEventListener('selectionchange', onSelectionChange); - defaultView.removeEventListener('mouseup', onSelectionEnd); - defaultView.cancelAnimationFrame(rafId); - }; - }, [clientId, startMultiSelect, stopMultiSelect, multiSelect, selectBlock, isSelectionEnabled, isBlockSelected, getBlockParents]); -} - -// EXTERNAL MODULE: external ["wp","htmlEntities"] -var external_wp_htmlEntities_ = __webpack_require__("rmEH"); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/plus.js -var plus = __webpack_require__("Q4Sy"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/tips.js - - -/** - * WordPress dependencies - */ - - - -const globalTips = [Object(external_wp_element_["createInterpolateElement"])(Object(external_wp_i18n_["__"])('While writing, you can press / to quickly insert new blocks.'), { - kbd: Object(external_wp_element_["createElement"])("kbd", null) -}), Object(external_wp_element_["createInterpolateElement"])(Object(external_wp_i18n_["__"])('Indent a list by pressing space at the beginning of a line.'), { - kbd: Object(external_wp_element_["createElement"])("kbd", null) -}), Object(external_wp_element_["createInterpolateElement"])(Object(external_wp_i18n_["__"])('Outdent a list by pressing backspace at the beginning of a line.'), { - kbd: Object(external_wp_element_["createElement"])("kbd", null) -}), Object(external_wp_i18n_["__"])('Drag files into the editor to automatically insert media blocks.'), Object(external_wp_i18n_["__"])("Change a block's type by pressing the block icon on the toolbar.")]; - -function Tips() { - const [randomIndex] = Object(external_wp_element_["useState"])( // Disable Reason: I'm not generating an HTML id. - // eslint-disable-next-line no-restricted-syntax - Math.floor(Math.random() * globalTips.length)); - return Object(external_wp_element_["createElement"])(external_wp_components_["Tip"], null, globalTips[randomIndex]); -} - -/* harmony default export */ var tips = (Tips); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close-small.js -var close_small = __webpack_require__("bWcr"); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/search.js -var search = __webpack_require__("cGtP"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/search-form.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - - -function InserterSearchForm({ - className, - onChange, - value, - label, - placeholder -}) { - const instanceId = Object(external_wp_compose_["useInstanceId"])(InserterSearchForm); - const searchInput = Object(external_wp_element_["useRef"])(); - return Object(external_wp_element_["createElement"])("div", { - className: classnames_default()('block-editor-inserter__search', className) - }, Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { - as: "label", - htmlFor: `block-editor-inserter__search-${instanceId}` - }, label || placeholder), Object(external_wp_element_["createElement"])("input", { - ref: searchInput, - className: "block-editor-inserter__search-input", - id: `block-editor-inserter__search-${instanceId}`, - type: "search", - placeholder: placeholder, - onChange: event => onChange(event.target.value), - autoComplete: "off", - value: value || '' - }), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__search-icon" - }, !!value && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - icon: close_small["a" /* default */], - label: Object(external_wp_i18n_["__"])('Reset search'), - onClick: () => { - onChange(''); - searchInput.current.focus(); - } - }), !value && Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { - icon: search["a" /* default */] - }))); -} - -/* harmony default export */ var search_form = (InserterSearchForm); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-card/index.js - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - -function BlockCard({ - title, - icon, - description, - blockType -}) { - if (blockType) { - external_wp_deprecated_default()('`blockType` property in `BlockCard component`', { - since: '5.7', - alternative: '`title, icon and description` properties' - }); - ({ - title, - icon, - description - } = blockType); - } - - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-card" - }, Object(external_wp_element_["createElement"])(BlockIcon, { - icon: icon, - showColors: true - }), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-card__content" - }, Object(external_wp_element_["createElement"])("h2", { - className: "block-editor-block-card__title" - }, title), Object(external_wp_element_["createElement"])("span", { - className: "block-editor-block-card__description" - }, description))); -} - -/* harmony default export */ var block_card = (BlockCard); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/provider/with-registry-provider.js - - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -const withRegistryProvider = Object(external_wp_compose_["createHigherOrderComponent"])(WrappedComponent => { - return Object(external_wp_data_["withRegistry"])(({ - useSubRegistry = true, - registry, - ...props - }) => { - if (!useSubRegistry) { - return Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({ - registry: registry - }, props)); - } - - const [subRegistry, setSubRegistry] = Object(external_wp_element_["useState"])(null); - Object(external_wp_element_["useEffect"])(() => { - const newRegistry = Object(external_wp_data_["createRegistry"])({}, registry); - newRegistry.registerStore(STORE_NAME, storeConfig); - setSubRegistry(newRegistry); - }, [registry]); - - if (!subRegistry) { - return null; - } - - return Object(external_wp_element_["createElement"])(external_wp_data_["RegistryProvider"], { - value: subRegistry - }, Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({ - registry: subRegistry - }, props))); - }); -}, 'withRegistryProvider'); -/* harmony default export */ var with_registry_provider = (withRegistryProvider); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/provider/use-block-sync.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - -/** - * A function to call when the block value has been updated in the block-editor - * store. - * - * @callback onBlockUpdate - * @param {Object[]} blocks The updated blocks. - * @param {Object} options The updated block options, such as selectionStart - * and selectionEnd. - */ - -/** - * useBlockSync is a side effect which handles bidirectional sync between the - * block-editor store and a controlling data source which provides blocks. This - * is most commonly used by the BlockEditorProvider to synchronize the contents - * of the block-editor store with the root entity, like a post. - * - * Another example would be the template part block, which provides blocks from - * a separate entity data source than a root entity. This hook syncs edits to - * the template part in the block editor back to the entity and vice-versa. - * - * Here are some of its basic functions: - * - Initalizes the block-editor store for the given clientID to the blocks - * given via props. - * - Adds incoming changes (like undo) to the block-editor store. - * - Adds outgoing changes (like editing content) to the controlling entity, - * determining if a change should be considered persistent or not. - * - Handles edge cases and race conditions which occur in those operations. - * - Ignores changes which happen to other entities (like nested inner block - * controllers. - * - Passes selection state from the block-editor store to the controlling entity. - * - * @param {Object} props Props for the block sync hook - * @param {string} props.clientId The client ID of the inner block controller. - * If none is passed, then it is assumed to be a - * root controller rather than an inner block - * controller. - * @param {Object[]} props.value The control value for the blocks. This value - * is used to initalize the block-editor store - * and for resetting the blocks to incoming - * changes like undo. - * @param {Object} props.selection The selection state responsible to restore the selection on undo/redo. - * @param {onBlockUpdate} props.onChange Function to call when a persistent - * change has been made in the block-editor blocks - * for the given clientId. For example, after - * this function is called, an entity is marked - * dirty because it has changes to save. - * @param {onBlockUpdate} props.onInput Function to call when a non-persistent - * change has been made in the block-editor blocks - * for the given clientId. When this is called, - * controlling sources do not become dirty. - */ - -function useBlockSync({ - clientId = null, - value: controlledBlocks, - selection: controlledSelection, - onChange = external_lodash_["noop"], - onInput = external_lodash_["noop"] -}) { - const registry = Object(external_wp_data_["useRegistry"])(); - const { - resetBlocks, - resetSelection, - replaceInnerBlocks, - setHasControlledInnerBlocks, - __unstableMarkNextChangeAsNotPersistent - } = registry.dispatch(store); - const { - getBlockName, - getBlocks - } = registry.select(store); - const pendingChanges = Object(external_wp_element_["useRef"])({ - incoming: null, - outgoing: [] - }); - const subscribed = Object(external_wp_element_["useRef"])(false); - - const setControlledBlocks = () => { - if (!controlledBlocks) { - return; - } // We don't need to persist this change because we only replace - // controlled inner blocks when the change was caused by an entity, - // and so it would already be persisted. - - - __unstableMarkNextChangeAsNotPersistent(); - - if (clientId) { - setHasControlledInnerBlocks(clientId, true); - - __unstableMarkNextChangeAsNotPersistent(); - - const storeBlocks = controlledBlocks.map(block => Object(external_wp_blocks_["cloneBlock"])(block)); - - if (subscribed.current) { - pendingChanges.current.incoming = storeBlocks; - } - - replaceInnerBlocks(clientId, storeBlocks); - } else { - if (subscribed.current) { - pendingChanges.current.incoming = controlledBlocks; - } - - resetBlocks(controlledBlocks); - } - }; // Add a subscription to the block-editor registry to detect when changes - // have been made. This lets us inform the data source of changes. This - // is an effect so that the subscriber can run synchronously without - // waiting for React renders for changes. - - - const onInputRef = Object(external_wp_element_["useRef"])(onInput); - const onChangeRef = Object(external_wp_element_["useRef"])(onChange); - Object(external_wp_element_["useEffect"])(() => { - onInputRef.current = onInput; - onChangeRef.current = onChange; - }, [onInput, onChange]); // Determine if blocks need to be reset when they change. - - Object(external_wp_element_["useEffect"])(() => { - if (pendingChanges.current.outgoing.includes(controlledBlocks)) { - // Skip block reset if the value matches expected outbound sync - // triggered by this component by a preceding change detection. - // Only skip if the value matches expectation, since a reset should - // still occur if the value is modified (not equal by reference), - // to allow that the consumer may apply modifications to reflect - // back on the editor. - if (Object(external_lodash_["last"])(pendingChanges.current.outgoing) === controlledBlocks) { - pendingChanges.current.outgoing = []; - } - } else if (getBlocks(clientId) !== controlledBlocks) { - // Reset changing value in all other cases than the sync described - // above. Since this can be reached in an update following an out- - // bound sync, unset the outbound value to avoid considering it in - // subsequent renders. - pendingChanges.current.outgoing = []; - setControlledBlocks(); - - if (controlledSelection) { - resetSelection(controlledSelection.selectionStart, controlledSelection.selectionEnd, controlledSelection.initialPosition); - } - } - }, [controlledBlocks, clientId]); - Object(external_wp_element_["useEffect"])(() => { - const { - getSelectionStart, - getSelectionEnd, - getSelectedBlocksInitialCaretPosition, - isLastBlockChangePersistent, - __unstableIsLastBlockChangeIgnored - } = registry.select(store); - let blocks = getBlocks(clientId); - let isPersistent = isLastBlockChangePersistent(); - let previousAreBlocksDifferent = false; - subscribed.current = true; - const unsubscribe = registry.subscribe(() => { - // Sometimes, when changing block lists, lingering subscriptions - // might trigger before they are cleaned up. If the block for which - // the subscription runs is no longer in the store, this would clear - // its parent entity's block list. To avoid this, we bail out if - // the subscription is triggering for a block (`clientId !== null`) - // and its block name can't be found because it's not on the list. - // (`getBlockName( clientId ) === null`). - if (clientId !== null && getBlockName(clientId) === null) return; - const newIsPersistent = isLastBlockChangePersistent(); - const newBlocks = getBlocks(clientId); - const areBlocksDifferent = newBlocks !== blocks; - blocks = newBlocks; - - if (areBlocksDifferent && (pendingChanges.current.incoming || __unstableIsLastBlockChangeIgnored())) { - pendingChanges.current.incoming = null; - isPersistent = newIsPersistent; - return; - } // Since we often dispatch an action to mark the previous action as - // persistent, we need to make sure that the blocks changed on the - // previous action before committing the change. - - - const didPersistenceChange = previousAreBlocksDifferent && !areBlocksDifferent && newIsPersistent && !isPersistent; - - if (areBlocksDifferent || didPersistenceChange) { - isPersistent = newIsPersistent; // We know that onChange/onInput will update controlledBlocks. - // We need to be aware that it was caused by an outgoing change - // so that we do not treat it as an incoming change later on, - // which would cause a block reset. - - pendingChanges.current.outgoing.push(blocks); // 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; - updateParent(blocks, { - selection: { - selectionStart: getSelectionStart(), - selectionEnd: getSelectionEnd(), - initialPosition: getSelectedBlocksInitialCaretPosition() - } - }); - } - - previousAreBlocksDifferent = areBlocksDifferent; - }); - return () => unsubscribe(); - }, [registry, clientId]); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/provider/index.js - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - - - -/** @typedef {import('@wordpress/data').WPDataRegistry} WPDataRegistry */ - -function BlockEditorProvider(props) { - const { - children, - settings - } = props; - const { - updateSettings - } = Object(external_wp_data_["useDispatch"])(store); - Object(external_wp_element_["useEffect"])(() => { - updateSettings(settings); - }, [settings]); // Syncs the entity provider with changes in the block-editor store. - - useBlockSync(props); - return Object(external_wp_element_["createElement"])(BlockRefsProvider, null, children); -} - -/* harmony default export */ var provider = (with_registry_provider(BlockEditorProvider)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-preview/live.js - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - -function LiveBlockPreview({ - onClick -}) { - return Object(external_wp_element_["createElement"])("div", { - tabIndex: 0, - role: "button", - onClick: onClick, - onKeyPress: onClick - }, Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], null, Object(external_wp_element_["createElement"])(BlockList, null))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-preview/auto.js - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - // This is used to avoid rendering the block list if the sizes change. - -let MemoizedBlockList; - -function AutoBlockPreview({ - viewportWidth, - __experimentalPadding -}) { - const [containerResizeListener, { - width: containerWidth - }] = Object(external_wp_compose_["useResizeObserver"])(); - const [containtResizeListener, { - height: contentHeight - }] = Object(external_wp_compose_["useResizeObserver"])(); // Initialize on render instead of module top level, to avoid circular dependency issues. - - MemoizedBlockList = MemoizedBlockList || Object(external_wp_compose_["pure"])(BlockList); - const scale = (containerWidth - 2 * __experimentalPadding) / viewportWidth; - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-preview__container editor-styles-wrapper", - "aria-hidden": true, - style: { - height: contentHeight * scale + 2 * __experimentalPadding - } - }, containerResizeListener, Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], { - style: { - transform: `scale(${scale})`, - width: viewportWidth, - left: __experimentalPadding, - right: __experimentalPadding, - top: __experimentalPadding - }, - className: "block-editor-block-preview__content" - }, containtResizeListener, Object(external_wp_element_["createElement"])(MemoizedBlockList, null))); -} - -/* harmony default export */ var auto = (AutoBlockPreview); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-preview/index.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - - - -function BlockPreview({ - blocks, - __experimentalPadding = 0, - viewportWidth = 1200, - __experimentalLive = false, - __experimentalOnClick -}) { - const originalSettings = Object(external_wp_data_["useSelect"])(select => select(store).getSettings(), []); - const settings = Object(external_wp_element_["useMemo"])(() => { - const _settings = { ...originalSettings - }; - _settings.__experimentalBlockPatterns = []; - return _settings; - }, [originalSettings]); - const renderedBlocks = Object(external_wp_element_["useMemo"])(() => Object(external_lodash_["castArray"])(blocks), [blocks]); - - if (!blocks || blocks.length === 0) { - return null; - } - - return Object(external_wp_element_["createElement"])(provider, { - value: renderedBlocks, - settings: settings - }, __experimentalLive ? Object(external_wp_element_["createElement"])(LiveBlockPreview, { - onClick: __experimentalOnClick - }) : Object(external_wp_element_["createElement"])(auto, { - viewportWidth: viewportWidth, - __experimentalPadding: __experimentalPadding - })); -} -/** - * BlockPreview renders a preview of a block or array of blocks. - * - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-preview/README.md - * - * @param {Object} preview options for how the preview should be shown - * @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. - */ - -/* harmony default export */ var block_preview = (Object(external_wp_element_["memo"])(BlockPreview)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/preview-panel.js - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - - -function InserterPreviewPanel({ - item -}) { - var _hoveredItemBlockType, _hoveredItemBlockType2; - - const { - name, - title, - icon, - description, - initialAttributes - } = item; - const hoveredItemBlockType = Object(external_wp_blocks_["getBlockType"])(name); - const isReusable = Object(external_wp_blocks_["isReusableBlock"])(item); - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__preview-container" - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__preview" - }, isReusable || hoveredItemBlockType.example ? Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__preview-content" - }, Object(external_wp_element_["createElement"])(block_preview, { - __experimentalPadding: 16, - viewportWidth: (_hoveredItemBlockType = (_hoveredItemBlockType2 = hoveredItemBlockType.example) === null || _hoveredItemBlockType2 === void 0 ? void 0 : _hoveredItemBlockType2.viewportWidth) !== null && _hoveredItemBlockType !== void 0 ? _hoveredItemBlockType : 500, - blocks: hoveredItemBlockType.example ? Object(external_wp_blocks_["getBlockFromExample"])(item.name, { - attributes: { ...hoveredItemBlockType.example.attributes, - ...initialAttributes - }, - innerBlocks: hoveredItemBlockType.example.innerBlocks - }) : Object(external_wp_blocks_["createBlock"])(name, initialAttributes) - })) : Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__preview-content-missing" - }, Object(external_wp_i18n_["__"])('No Preview Available.'))), !isReusable && Object(external_wp_element_["createElement"])(block_card, { - title: title, - icon: icon, - description: description - })); -} - -/* 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 = Object(external_wp_element_["createContext"])(); -/* harmony default export */ var inserter_listbox_context = (InserterListboxContext); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-listbox/item.js - - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - -function InserterListboxItem({ - isFirst, - as: Component, - children, - ...props -}, ref) { - const state = Object(external_wp_element_["useContext"])(inserter_listbox_context); - return Object(external_wp_element_["createElement"])(external_wp_components_["__unstableCompositeItem"], Object(esm_extends["a" /* default */])({ - 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. - , - focusable: true - }, props), htmlProps => { - const propsWithTabIndex = { ...htmlProps, - tabIndex: isFirst ? 0 : htmlProps.tabIndex - }; - - if (Component) { - return Object(external_wp_element_["createElement"])(Component, propsWithTabIndex, children); - } - - if (typeof children === 'function') { - return children(propsWithTabIndex); - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], propsWithTabIndex, children); - }); -} - -/* harmony default export */ var inserter_listbox_item = (Object(external_wp_element_["forwardRef"])(InserterListboxItem)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/drag-handle.js - - -/** - * WordPress dependencies - */ - -const dragHandle = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - width: "18", - height: "18", - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 18 18" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M5 4h2V2H5v2zm6-2v2h2V2h-2zm-6 8h2V8H5v2zm6 0h2V8h-2v2zm-6 6h2v-2H5v2zm6 0h2v-2h-2v2z" -})); -/* harmony default export */ var drag_handle = (dragHandle); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-draggable/draggable-chip.js - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -function BlockDraggableChip({ - count, - icon -}) { - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-draggable-chip-wrapper" - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-draggable-chip" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Flex"], { - justify: "center", - className: "block-editor-block-draggable-chip__content" - }, Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, icon ? Object(external_wp_element_["createElement"])(BlockIcon, { - icon: icon - }) : Object(external_wp_i18n_["sprintf"])( - /* translators: %d: Number of blocks. */ - Object(external_wp_i18n_["_n"])('%d block', '%d blocks', count), count)), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(BlockIcon, { - icon: drag_handle - }))))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-draggable-blocks/index.js - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - -const InserterDraggableBlocks = ({ - isEnabled, - blocks, - icon, - children -}) => { - const transferData = { - type: 'inserter', - blocks - }; - return Object(external_wp_element_["createElement"])(external_wp_components_["Draggable"], { - __experimentalTransferDataType: "wp-blocks", - transferData: transferData, - __experimentalDragComponent: Object(external_wp_element_["createElement"])(BlockDraggableChip, { - count: blocks.length, - icon: icon - }) - }, ({ - onDraggableStart, - onDraggableEnd - }) => { - return children({ - draggable: isEnabled, - onDragStart: isEnabled ? onDraggableStart : undefined, - onDragEnd: isEnabled ? onDraggableEnd : undefined - }); - }); -}; - -/* harmony default export */ var inserter_draggable_blocks = (InserterDraggableBlocks); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-list-item/index.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - -/** - * Return true if platform is MacOS. - * - * @param {Object} _window window object by default; used for DI testing. - * - * @return {boolean} True if MacOS; false otherwise. - */ - -function isAppleOS(_window = window) { - const { - platform - } = _window.navigator; - return platform.indexOf('Mac') !== -1 || ['iPad', 'iPhone'].includes(platform); -} - -function InserterListItem({ - className, - isFirst, - item, - onSelect, - onHover, - isDraggable, - ...props -}) { - const isDragging = Object(external_wp_element_["useRef"])(false); - const itemIconStyle = item.icon ? { - backgroundColor: item.icon.background, - color: item.icon.foreground - } : {}; - const blocks = Object(external_wp_element_["useMemo"])(() => { - return [Object(external_wp_blocks_["createBlock"])(item.name, item.initialAttributes, Object(external_wp_blocks_["createBlocksFromInnerBlocksTemplate"])(item.innerBlocks))]; - }, [item.name, item.initialAttributes, item.initialAttributes]); - return Object(external_wp_element_["createElement"])(inserter_draggable_blocks, { - isEnabled: isDraggable && !item.disabled, - blocks: blocks, - icon: item.icon - }, ({ - draggable, - onDragStart, - onDragEnd - }) => Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-types-list__list-item", - draggable: draggable, - onDragStart: event => { - isDragging.current = true; - - if (onDragStart) { - onHover(null); - onDragStart(event); - } - }, - onDragEnd: event => { - isDragging.current = false; - - if (onDragEnd) { - onDragEnd(event); - } - } - }, Object(external_wp_element_["createElement"])(inserter_listbox_item, Object(esm_extends["a" /* default */])({ - isFirst: isFirst, - className: classnames_default()('block-editor-block-types-list__item', className), - disabled: item.isDisabled, - onClick: event => { - event.preventDefault(); - onSelect(item, isAppleOS() ? event.metaKey : event.ctrlKey); - onHover(null); - }, - onKeyDown: event => { - const { - keyCode - } = event; - - if (keyCode === external_wp_keycodes_["ENTER"]) { - event.preventDefault(); - onSelect(item, isAppleOS() ? event.metaKey : event.ctrlKey); - onHover(null); - } - }, - onFocus: () => { - if (isDragging.current) { - return; - } - - onHover(item); - }, - onMouseEnter: () => { - if (isDragging.current) { - return; - } - - onHover(item); - }, - onMouseLeave: () => onHover(null), - onBlur: () => onHover(null) - }, props), Object(external_wp_element_["createElement"])("span", { - className: "block-editor-block-types-list__item-icon", - style: itemIconStyle - }, Object(external_wp_element_["createElement"])(BlockIcon, { - icon: item.icon, - showColors: true - })), Object(external_wp_element_["createElement"])("span", { - className: "block-editor-block-types-list__item-title" - }, item.title)))); -} - -/* harmony default export */ var inserter_list_item = (Object(external_wp_element_["memo"])(InserterListItem)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-listbox/group.js - - - -/** - * WordPress dependencies - */ - - - - -function InserterListboxGroup(props, ref) { - const [shouldSpeak, setShouldSpeak] = Object(external_wp_element_["useState"])(false); - Object(external_wp_element_["useEffect"])(() => { - if (shouldSpeak) { - Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('Use left and right arrow keys to move through blocks')); - } - }, [shouldSpeak]); - return Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({ - ref: ref, - role: "listbox", - "aria-orientation": "horizontal", - onFocus: () => { - setShouldSpeak(true); - }, - onBlur: event => { - const focusingOutsideGroup = !event.currentTarget.contains(event.relatedTarget); - - if (focusingOutsideGroup) { - setShouldSpeak(false); - } - } - }, props)); -} - -/* harmony default export */ var inserter_listbox_group = (Object(external_wp_element_["forwardRef"])(InserterListboxGroup)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-listbox/row.js - - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - -function InserterListboxRow(props, ref) { - const state = Object(external_wp_element_["useContext"])(inserter_listbox_context); - return Object(external_wp_element_["createElement"])(external_wp_components_["__unstableCompositeGroup"], Object(esm_extends["a" /* default */])({ - state: state, - role: "presentation", - ref: ref - }, props)); -} - -/* harmony default export */ var inserter_listbox_row = (Object(external_wp_element_["forwardRef"])(InserterListboxRow)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-types-list/index.js - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - - -function chunk(array, size) { - const chunks = []; - - for (let i = 0, j = array.length; i < j; i += size) { - chunks.push(array.slice(i, i + size)); - } - - return chunks; -} - -function BlockTypesList({ - items = [], - onSelect, - onHover = () => {}, - children, - label, - isDraggable = true -}) { - return Object(external_wp_element_["createElement"])(inserter_listbox_group, { - className: "block-editor-block-types-list", - "aria-label": label - }, chunk(items, 3).map((row, i) => Object(external_wp_element_["createElement"])(inserter_listbox_row, { - key: i - }, row.map((item, j) => Object(external_wp_element_["createElement"])(inserter_list_item, { - key: item.id, - item: item, - className: Object(external_wp_blocks_["getBlockMenuDefaultClassName"])(item.id), - onSelect: onSelect, - onHover: onHover, - isDraggable: isDraggable, - isFirst: i === 0 && j === 0 - })))), children); -} - -/* harmony default export */ var block_types_list = (BlockTypesList); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/panel.js - - -/** - * WordPress dependencies - */ - - -function InserterPanel({ - title, - icon, - children -}) { - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__panel-header" - }, Object(external_wp_element_["createElement"])("h2", { - className: "block-editor-inserter__panel-title" - }, title), Object(external_wp_element_["createElement"])(external_wp_components_["Icon"], { - icon: icon - })), Object(external_wp_element_["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-listbox/index.js - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - - - - -function InserterListbox({ - children -}) { - const compositeState = Object(external_wp_components_["__unstableUseCompositeState"])({ - shift: true, - wrap: 'horizontal' - }); - return Object(external_wp_element_["createElement"])(inserter_listbox_context.Provider, { - value: compositeState - }, children); -} - -/* harmony default export */ var inserter_listbox = (InserterListbox); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-types-tab.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - - - - -const getBlockNamespace = item => item.name.split('/')[0]; - -const MAX_SUGGESTED_ITEMS = 6; -function BlockTypesTab({ - rootClientId, - onInsert, - onHover, - showMostUsedBlocks -}) { - const [items, categories, collections, onSelectItem] = use_block_types_state(rootClientId, onInsert); - const suggestedItems = Object(external_wp_element_["useMemo"])(() => { - return Object(external_lodash_["orderBy"])(items, ['frecency'], ['desc']).slice(0, MAX_SUGGESTED_ITEMS); - }, [items]); - const uncategorizedItems = Object(external_wp_element_["useMemo"])(() => { - return items.filter(item => !item.category); - }, [items]); - const itemsPerCategory = Object(external_wp_element_["useMemo"])(() => { - return Object(external_lodash_["flow"])(itemList => itemList.filter(item => item.category && item.category !== 'reusable'), itemList => Object(external_lodash_["groupBy"])(itemList, 'category'))(items); - }, [items]); - const itemsPerCollection = Object(external_wp_element_["useMemo"])(() => { - // Create a new Object to avoid mutating collection. - const result = { ...collections - }; - Object.keys(collections).forEach(namespace => { - result[namespace] = items.filter(item => getBlockNamespace(item) === namespace); - - if (result[namespace].length === 0) { - delete result[namespace]; - } - }); - return result; - }, [items, collections]); // Hide block preview on unmount. - - Object(external_wp_element_["useEffect"])(() => () => onHover(null), []); - return Object(external_wp_element_["createElement"])(inserter_listbox, null, Object(external_wp_element_["createElement"])("div", null, showMostUsedBlocks && !!suggestedItems.length && Object(external_wp_element_["createElement"])(panel, { - title: Object(external_wp_i18n_["_x"])('Most used', 'blocks') - }, Object(external_wp_element_["createElement"])(block_types_list, { - items: suggestedItems, - onSelect: onSelectItem, - onHover: onHover, - label: Object(external_wp_i18n_["_x"])('Most used', 'blocks') - })), Object(external_lodash_["map"])(categories, category => { - const categoryItems = itemsPerCategory[category.slug]; - - if (!categoryItems || !categoryItems.length) { - return null; - } - - return Object(external_wp_element_["createElement"])(panel, { - key: category.slug, - title: category.title, - icon: category.icon - }, Object(external_wp_element_["createElement"])(block_types_list, { - items: categoryItems, - onSelect: onSelectItem, - onHover: onHover, - label: category.title - })); - }), uncategorizedItems.length > 0 && Object(external_wp_element_["createElement"])(panel, { - className: "block-editor-inserter__uncategorized-blocks-panel", - title: Object(external_wp_i18n_["__"])('Uncategorized') - }, Object(external_wp_element_["createElement"])(block_types_list, { - items: uncategorizedItems, - onSelect: onSelectItem, - onHover: onHover, - label: Object(external_wp_i18n_["__"])('Uncategorized') - })), Object(external_lodash_["map"])(collections, (collection, namespace) => { - const collectionItems = itemsPerCollection[namespace]; - - if (!collectionItems || !collectionItems.length) { - return null; - } - - return Object(external_wp_element_["createElement"])(panel, { - key: namespace, - title: collection.title, - icon: collection.icon - }, Object(external_wp_element_["createElement"])(block_types_list, { - items: collectionItems, - onSelect: onSelectItem, - onHover: onHover, - label: collection.title - })); - }))); -} -/* harmony default export */ var block_types_tab = (BlockTypesTab); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/pattern-panel.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -function PatternInserterPanel({ - selectedCategory, - patternCategories, - onClickCategory, - children -}) { - const categoryOptions = () => { - const options = []; - patternCategories.map(patternCategory => { - return options.push({ - value: patternCategory.name, - label: patternCategory.label - }); - }); - return options; - }; - - const onChangeSelect = selected => { - onClickCategory(patternCategories.find(patternCategory => selected === patternCategory.name)); - }; - - const getPanelHeaderClassName = () => { - return classnames_default()('block-editor-inserter__panel-header', 'block-editor-inserter__panel-header-patterns'); - }; // In iOS-based mobile devices, the onBlur will fire when selecting an option - // from a Select element. To prevent closing the useDialog on iOS devices, we - // stop propagating the onBlur event if there is no relatedTarget, which means - // that the user most likely did not click on an element within the editor canvas. - - - const onBlur = event => { - if (!(event !== null && event !== void 0 && event.relatedTarget)) { - event.stopPropagation(); - } - }; - - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", { - className: getPanelHeaderClassName() - }, Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { - className: "block-editor-inserter__panel-dropdown", - label: Object(external_wp_i18n_["__"])('Filter patterns'), - hideLabelFromVision: true, - value: selectedCategory.name, - onChange: onChangeSelect, - onBlur: onBlur, - options: categoryOptions() - })), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__panel-content" - }, children)); -} - -/* harmony default export */ var pattern_panel = (PatternInserterPanel); - -// EXTERNAL MODULE: external ["wp","notices"] -var external_wp_notices_ = __webpack_require__("onLe"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-patterns-state.js -/** - * External dependencies - */ - -/** - * 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 - } = Object(external_wp_data_["useSelect"])(select => { - const { - __experimentalGetAllowedPatterns, - getSettings - } = select(store); - return { - patterns: __experimentalGetAllowedPatterns(rootClientId), - patternCategories: getSettings().__experimentalBlockPatternCategories - }; - }, [rootClientId]); - const { - createSuccessNotice - } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); - const onClickPattern = Object(external_wp_element_["useCallback"])((pattern, blocks) => { - onInsert(Object(external_lodash_["map"])(blocks, block => Object(external_wp_blocks_["cloneBlock"])(block)), pattern.name); - createSuccessNotice(Object(external_wp_i18n_["sprintf"])( - /* translators: %s: block pattern title. */ - Object(external_wp_i18n_["__"])('Block pattern "%s" inserted.'), pattern.title), { - type: 'snackbar' - }); - }, []); - return [patterns, patternCategories, onClickPattern]; -}; - -/* harmony default export */ var use_patterns_state = (usePatternsState); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-patterns-list/index.js - - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - -function BlockPattern({ - isDraggable, - pattern, - onClick, - composite -}) { - const { - name, - viewportWidth - } = pattern; - const { - blocks - } = Object(external_wp_data_["useSelect"])(select => select(store).__experimentalGetParsedPattern(name), [name]); - const instanceId = Object(external_wp_compose_["useInstanceId"])(BlockPattern); - const descriptionId = `block-editor-block-patterns-list__item-description-${instanceId}`; - return Object(external_wp_element_["createElement"])(inserter_draggable_blocks, { - isEnabled: isDraggable, - blocks: blocks - }, ({ - draggable, - onDragStart, - onDragEnd - }) => Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-patterns-list__list-item", - "aria-label": pattern.title, - "aria-describedby": pattern.description ? descriptionId : undefined, - draggable: draggable, - onDragStart: onDragStart, - onDragEnd: onDragEnd - }, Object(external_wp_element_["createElement"])(external_wp_components_["__unstableCompositeItem"], Object(esm_extends["a" /* default */])({ - role: "option", - as: "div" - }, composite, { - className: "block-editor-block-patterns-list__item", - onClick: () => onClick(pattern, blocks) - }), Object(external_wp_element_["createElement"])(block_preview, { - blocks: blocks, - viewportWidth: viewportWidth - }), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-patterns-list__item-title" - }, pattern.title), !!pattern.description && Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { - id: descriptionId - }, pattern.description)))); -} - -function BlockPatternPlaceholder() { - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-patterns-list__item is-placeholder" - }); -} - -function BlockPatternList({ - isDraggable, - blockPatterns, - shownPatterns, - onClickPattern, - orientation, - label = Object(external_wp_i18n_["__"])('Block Patterns') -}) { - const composite = Object(external_wp_components_["__unstableUseCompositeState"])({ - orientation - }); - return Object(external_wp_element_["createElement"])(external_wp_components_["__unstableComposite"], Object(esm_extends["a" /* default */])({}, composite, { - role: "listbox", - className: "block-editor-block-patterns-list", - "aria-label": label - }), blockPatterns.map(pattern => { - const isShown = shownPatterns.includes(pattern); - return isShown ? Object(external_wp_element_["createElement"])(BlockPattern, { - key: pattern.name, - pattern: pattern, - onClick: onClickPattern, - isDraggable: isDraggable, - composite: composite - }) : Object(external_wp_element_["createElement"])(BlockPatternPlaceholder, { - key: pattern.name - }); - })); -} - -/* harmony default export */ var block_patterns_list = (BlockPatternList); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-tab.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - -function BlockPatternsCategory({ - rootClientId, - onInsert, - selectedCategory, - onClickCategory -}) { - const [allPatterns, allCategories, onClick] = use_patterns_state(onInsert, rootClientId); // Remove any empty categories - - const populatedCategories = Object(external_wp_element_["useMemo"])(() => allCategories.filter(category => allPatterns.some(pattern => { - var _pattern$categories; - - return (_pattern$categories = pattern.categories) === null || _pattern$categories === void 0 ? void 0 : _pattern$categories.includes(category.name); - })), [allPatterns, allCategories]); - const patternCategory = selectedCategory ? selectedCategory : populatedCategories[0]; - Object(external_wp_element_["useEffect"])(() => { - if (allPatterns.some(pattern => getPatternIndex(pattern) === Infinity) && !populatedCategories.find(category => category.name === 'uncategorized')) { - populatedCategories.push({ - name: 'uncategorized', - label: Object(external_wp_i18n_["_x"])('Uncategorized') - }); - } - }, [populatedCategories, allPatterns]); - const getPatternIndex = Object(external_wp_element_["useCallback"])(pattern => { - if (!pattern.categories || !pattern.categories.length) { - return Infinity; - } - - const indexedCategories = Object(external_lodash_["fromPairs"])(populatedCategories.map(({ - name - }, index) => [name, index])); - return Math.min(...pattern.categories.map(cat => indexedCategories[cat] !== undefined ? indexedCategories[cat] : Infinity)); - }, [populatedCategories]); - const currentCategoryPatterns = Object(external_wp_element_["useMemo"])(() => allPatterns.filter(pattern => patternCategory.name === 'uncategorized' ? getPatternIndex(pattern) === Infinity : pattern.categories && pattern.categories.includes(patternCategory.name)), [allPatterns, patternCategory]); // Ordering the patterns is important for the async rendering. - - const orderedPatterns = Object(external_wp_element_["useMemo"])(() => { - return currentCategoryPatterns.sort((a, b) => { - return getPatternIndex(a) - getPatternIndex(b); - }); - }, [currentCategoryPatterns, getPatternIndex]); - const currentShownPatterns = Object(external_wp_compose_["useAsyncList"])(orderedPatterns); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, !!currentCategoryPatterns.length && Object(external_wp_element_["createElement"])(pattern_panel, { - selectedCategory: patternCategory, - patternCategories: populatedCategories, - onClickCategory: onClickCategory - }, Object(external_wp_element_["createElement"])(block_patterns_list, { - shownPatterns: currentShownPatterns, - blockPatterns: currentCategoryPatterns, - onClickPattern: onClick, - label: patternCategory.label, - orientation: "vertical", - isDraggable: true - }))); -} - -function BlockPatternsTabs({ - rootClientId, - onInsert, - onClickCategory, - selectedCategory -}) { - return Object(external_wp_element_["createElement"])(BlockPatternsCategory, { - rootClientId: rootClientId, - selectedCategory: selectedCategory, - onInsert: onInsert, - onClickCategory: onClickCategory - }); -} - -/* harmony default export */ var block_patterns_tab = (BlockPatternsTabs); - -// EXTERNAL MODULE: external ["wp","url"] -var external_wp_url_ = __webpack_require__("Mmq9"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/no-results.js - - -/** - * WordPress dependencies - */ - - - -function InserterNoResults() { - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__no-results" - }, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { - className: "block-editor-inserter__no-results-icon", - icon: block_default["a" /* default */] - }), Object(external_wp_element_["createElement"])("p", null, Object(external_wp_i18n_["__"])('No results found.'))); -} - -/* harmony default export */ var no_results = (InserterNoResults); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/reusable-blocks-tab.js - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - - - - -function ReusableBlocksList({ - onHover, - onInsert, - rootClientId -}) { - const [items,,, onSelectItem] = use_block_types_state(rootClientId, onInsert); - const filteredItems = Object(external_wp_element_["useMemo"])(() => { - return items.filter(({ - category - }) => category === 'reusable'); - }, [items]); - - if (filteredItems.length === 0) { - return Object(external_wp_element_["createElement"])(no_results, null); - } - - return Object(external_wp_element_["createElement"])(panel, { - title: Object(external_wp_i18n_["__"])('Reusable blocks') - }, Object(external_wp_element_["createElement"])(block_types_list, { - items: filteredItems, - onSelect: onSelectItem, - onHover: onHover, - label: Object(external_wp_i18n_["__"])('Reusable blocks') - })); -} // The unwrapped component is only exported for use by unit tests. - -/** - * List of reusable blocks shown in the "Reusable" tab of the inserter. - * - * @param {Object} props Component props. - * @param {?string} props.rootClientId Client id of block to insert into. - * @param {Function} props.onInsert Callback to run when item is inserted. - * @param {Function} props.onHover Callback to run when item is hovered. - * - * @return {WPComponent} The component. - */ - - -function ReusableBlocksTab({ - rootClientId, - onInsert, - onHover -}) { - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(ReusableBlocksList, { - onHover: onHover, - onInsert: onInsert, - rootClientId: rootClientId - }), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__manage-reusable-blocks-container" - }, Object(external_wp_element_["createElement"])("a", { - className: "block-editor-inserter__manage-reusable-blocks", - href: Object(external_wp_url_["addQueryArgs"])('edit.php', { - post_type: 'wp_block' - }) - }, Object(external_wp_i18n_["__"])('Manage Reusable blocks')))); -} -/* harmony default export */ var reusable_blocks_tab = (ReusableBlocksTab); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-menu-extension/index.js -/** - * WordPress dependencies - */ - +const Context = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createContext"])(DEFAULT_BLOCK_EDIT_CONTEXT); const { - Fill: __unstableInserterMenuExtension, - Slot: inserter_menu_extension_Slot -} = Object(external_wp_components_["createSlotFill"])('__unstableInserterMenuExtension'); -__unstableInserterMenuExtension.Slot = inserter_menu_extension_Slot; -/* harmony default export */ var inserter_menu_extension = (__unstableInserterMenuExtension); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-insertion-point.js -/** - * External dependencies - */ + Provider +} = Context; /** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - -/** - * @typedef WPInserterConfig + * A hook that returns the block edit context. * - * @property {string=} rootClientId If set, insertion will be into the - * block with this ID. - * @property {number=} insertionIndex If set, insertion will be into this - * explicit position. - * @property {string=} clientId If set, insertion will be after the - * block with this ID. - * @property {boolean=} isAppender Whether the inserter is an appender - * or not. - * @property {Function=} onSelect Called after insertion. + * @return {Object} Block edit context */ -/** - * Returns the insertion point state given the inserter config. - * - * @param {WPInserterConfig} config Inserter Config. - * @return {Array} Insertion Point State (rootClientID, onInsertBlocks and onToggle). - */ - -function useInsertionPoint({ - rootClientId = '', - insertionIndex, - clientId, - isAppender, - onSelect, - shouldFocusBlock = true -}) { - const { - getSelectedBlock - } = Object(external_wp_data_["useSelect"])(store); - const { - destinationRootClientId, - destinationIndex - } = Object(external_wp_data_["useSelect"])(select => { - const { - getSelectedBlockClientId, - getBlockRootClientId, - getBlockIndex, - getBlockOrder - } = select(store); - const selectedBlockClientId = getSelectedBlockClientId(); - let _destinationRootClientId = rootClientId; - - let _destinationIndex; - - if (insertionIndex !== undefined) { - // Insert into a specific index. - _destinationIndex = insertionIndex; - } else if (clientId) { - // Insert after a specific client ID. - _destinationIndex = getBlockIndex(clientId, _destinationRootClientId); - } else if (!isAppender && selectedBlockClientId) { - _destinationRootClientId = getBlockRootClientId(selectedBlockClientId); - _destinationIndex = getBlockIndex(selectedBlockClientId, _destinationRootClientId) + 1; - } else { - // Insert at the end of the list. - _destinationIndex = getBlockOrder(_destinationRootClientId).length; - } - - return { - destinationRootClientId: _destinationRootClientId, - destinationIndex: _destinationIndex - }; - }, [rootClientId, insertionIndex, clientId, isAppender]); - const { - replaceBlocks, - insertBlocks, - showInsertionPoint, - hideInsertionPoint - } = Object(external_wp_data_["useDispatch"])(store); - const onInsertBlocks = Object(external_wp_element_["useCallback"])((blocks, meta, shouldForceFocusBlock = false) => { - const selectedBlock = getSelectedBlock(); - - if (!isAppender && selectedBlock && Object(external_wp_blocks_["isUnmodifiedDefaultBlock"])(selectedBlock)) { - replaceBlocks(selectedBlock.clientId, blocks, null, shouldFocusBlock || shouldForceFocusBlock ? 0 : null, meta); - } else { - insertBlocks(blocks, destinationIndex, destinationRootClientId, true, shouldFocusBlock || shouldForceFocusBlock ? 0 : null, meta); - } - - const message = Object(external_wp_i18n_["sprintf"])( // translators: %d: the name of the block that has been added - Object(external_wp_i18n_["_n"])('%d block added.', '%d blocks added.', Object(external_lodash_["castArray"])(blocks).length), Object(external_lodash_["castArray"])(blocks).length); - Object(external_wp_a11y_["speak"])(message); - - if (onSelect) { - onSelect(); - } - }, [isAppender, getSelectedBlock, replaceBlocks, insertBlocks, destinationRootClientId, destinationIndex, onSelect, shouldFocusBlock]); - const onToggleInsertionPoint = Object(external_wp_element_["useCallback"])(show => { - if (show) { - showInsertionPoint(destinationRootClientId, destinationIndex); - } else { - hideInsertionPoint(); - } - }, [showInsertionPoint, hideInsertionPoint, destinationRootClientId, destinationIndex]); - return [destinationRootClientId, onInsertBlocks, onToggleInsertionPoint]; +function useBlockEditContext() { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useContext"])(Context); } -/* harmony default export */ var use_insertion_point = (useInsertionPoint); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/search-results.js +/***/ }), +/***/ "v5LD": +/***/ (function(module, __webpack_exports__, __webpack_require__) { +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useSetting; }); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("HSyU"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _block_edit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("ur0x"); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("BhPs"); /** * External dependencies */ @@ -23140,1204 +44535,142 @@ function useInsertionPoint({ - - - /** * Internal dependencies */ - - - - - - - - - -function InserterSearchResults({ - filterValue, - onSelect, - onHover, - rootClientId, - clientId, - isAppender, - __experimentalInsertionIndex, - maxBlockPatterns, - maxBlockTypes, - showBlockDirectory = false, - isDraggable = true, - shouldFocusBlock = true -}) { - const debouncedSpeak = Object(external_wp_compose_["useDebounce"])(external_wp_a11y_["speak"], 500); - const [destinationRootClientId, onInsertBlocks] = use_insertion_point({ - onSelect, - rootClientId, - clientId, - isAppender, - insertionIndex: __experimentalInsertionIndex, - shouldFocusBlock - }); - const [blockTypes, blockTypeCategories, blockTypeCollections, onSelectBlockType] = use_block_types_state(destinationRootClientId, onInsertBlocks); - const [patterns,, onSelectBlockPattern] = use_patterns_state(onInsertBlocks, destinationRootClientId); - const filteredBlockTypes = Object(external_wp_element_["useMemo"])(() => { - const results = searchBlockItems(Object(external_lodash_["orderBy"])(blockTypes, ['frecency'], ['desc']), blockTypeCategories, blockTypeCollections, filterValue); - return maxBlockTypes !== undefined ? results.slice(0, maxBlockTypes) : results; - }, [filterValue, blockTypes, blockTypeCategories, blockTypeCollections, maxBlockTypes]); - const filteredBlockPatterns = Object(external_wp_element_["useMemo"])(() => { - const results = searchItems(patterns, filterValue); - return maxBlockPatterns !== undefined ? results.slice(0, maxBlockPatterns) : results; - }, [filterValue, patterns, maxBlockPatterns]); // Announce search results on change - - Object(external_wp_element_["useEffect"])(() => { - if (!filterValue) { +const deprecatedFlags = { + 'color.palette': settings => settings.colors === undefined ? undefined : settings.colors, + 'color.gradients': settings => settings.gradients === undefined ? undefined : 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 === undefined ? undefined : settings.fontSizes, + 'typography.customFontSize': settings => settings.disableCustomFontSizes === undefined ? undefined : !settings.disableCustomFontSizes, + 'typography.lineHeight': settings => settings.enableCustomLineHeight, + 'spacing.units': settings => { + if (settings.enableCustomUnits === undefined) { return; } - const count = filteredBlockTypes.length + filteredBlockPatterns.length; - const resultsFoundMessage = Object(external_wp_i18n_["sprintf"])( - /* translators: %d: number of results. */ - Object(external_wp_i18n_["_n"])('%d result found.', '%d results found.', count), count); - debouncedSpeak(resultsFoundMessage); - }, [filterValue, debouncedSpeak]); - const currentShownPatterns = Object(external_wp_compose_["useAsyncList"])(filteredBlockPatterns); - const hasItems = !Object(external_lodash_["isEmpty"])(filteredBlockTypes) || !Object(external_lodash_["isEmpty"])(filteredBlockPatterns); - return Object(external_wp_element_["createElement"])(inserter_listbox, null, !showBlockDirectory && !hasItems && Object(external_wp_element_["createElement"])(no_results, null), !!filteredBlockTypes.length && Object(external_wp_element_["createElement"])(panel, { - title: Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], null, Object(external_wp_i18n_["__"])('Blocks')) - }, Object(external_wp_element_["createElement"])(block_types_list, { - items: filteredBlockTypes, - onSelect: onSelectBlockType, - onHover: onHover, - label: Object(external_wp_i18n_["__"])('Blocks'), - isDraggable: isDraggable - })), !!filteredBlockTypes.length && !!filteredBlockPatterns.length && Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__quick-inserter-separator" - }), !!filteredBlockPatterns.length && Object(external_wp_element_["createElement"])(panel, { - title: Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], null, Object(external_wp_i18n_["__"])('Block Patterns')) - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__quick-inserter-patterns" - }, Object(external_wp_element_["createElement"])(block_patterns_list, { - shownPatterns: currentShownPatterns, - blockPatterns: filteredBlockPatterns, - onClickPattern: onSelectBlockPattern, - isDraggable: isDraggable - }))), showBlockDirectory && Object(external_wp_element_["createElement"])(inserter_menu_extension.Slot, { - fillProps: { - onSelect: onSelectBlockType, - onHover, - filterValue, - hasItems, - rootClientId: destinationRootClientId - } - }, fills => { - if (fills.length) { - return fills; + if (settings.enableCustomUnits === true) { + return ['px', 'em', 'rem', 'vh', 'vw', '%']; } - if (!hasItems) { - return Object(external_wp_element_["createElement"])(no_results, null); - } - - return null; - })); -} - -/* harmony default export */ var search_results = (InserterSearchResults); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/tabs.js - - -/** - * WordPress dependencies - */ - - - -const tabs_blocksTab = { - name: 'blocks', - - /* translators: Blocks tab title in the block inserter. */ - title: Object(external_wp_i18n_["__"])('Blocks') + return settings.enableCustomUnits; + }, + 'spacing.padding': settings => settings.enableCustomSpacing }; -const tabs_patternsTab = { - name: 'patterns', - - /* translators: Patterns tab title in the block inserter. */ - title: Object(external_wp_i18n_["__"])('Patterns') -}; -const tabs_reusableBlocksTab = { - name: 'reusable', - - /* translators: Reusable blocks tab title in the block inserter. */ - title: Object(external_wp_i18n_["__"])('Reusable') -}; - -function InserterTabs({ - children, - showPatterns = false, - showReusableBlocks = false, - onSelect -}) { - const tabs = Object(external_wp_element_["useMemo"])(() => { - const tempTabs = [tabs_blocksTab]; - - if (showPatterns) { - tempTabs.push(tabs_patternsTab); - } - - if (showReusableBlocks) { - tempTabs.push(tabs_reusableBlocksTab); - } - - return tempTabs; - }, [tabs_blocksTab, showPatterns, tabs_patternsTab, showReusableBlocks, tabs_reusableBlocksTab]); - return Object(external_wp_element_["createElement"])(external_wp_components_["TabPanel"], { - className: "block-editor-inserter__tabs", - tabs: tabs, - onSelect: onSelect - }, children); -} - -/* harmony default export */ var inserter_tabs = (InserterTabs); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/menu.js - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - - - - - - - - -function InserterMenu({ - rootClientId, - clientId, - isAppender, - __experimentalInsertionIndex, - onSelect, - showInserterHelpPanel, - showMostUsedBlocks, - shouldFocusBlock = true -}) { - const [filterValue, setFilterValue] = Object(external_wp_element_["useState"])(''); - const [hoveredItem, setHoveredItem] = Object(external_wp_element_["useState"])(null); - const [selectedPatternCategory, setSelectedPatternCategory] = Object(external_wp_element_["useState"])(null); - const [destinationRootClientId, onInsertBlocks, onToggleInsertionPoint] = use_insertion_point({ - rootClientId, - clientId, - isAppender, - insertionIndex: __experimentalInsertionIndex, - shouldFocusBlock - }); - const { - showPatterns, - hasReusableBlocks - } = Object(external_wp_data_["useSelect"])(select => { - var _getSettings$__experi; - - const { - __experimentalGetAllowedPatterns, - getSettings - } = select(store); - return { - showPatterns: !!__experimentalGetAllowedPatterns(destinationRootClientId).length, - hasReusableBlocks: !!((_getSettings$__experi = getSettings().__experimentalReusableBlocks) !== null && _getSettings$__experi !== void 0 && _getSettings$__experi.length) - }; - }, [destinationRootClientId]); - const onInsert = Object(external_wp_element_["useCallback"])((blocks, meta, shouldForceFocusBlock) => { - onInsertBlocks(blocks, meta, shouldForceFocusBlock); - onSelect(); - }, [onInsertBlocks, onSelect]); - const onInsertPattern = Object(external_wp_element_["useCallback"])((blocks, patternName) => { - onInsertBlocks(blocks, { - patternName - }); - onSelect(); - }, [onInsertBlocks, onSelect]); - const onHover = Object(external_wp_element_["useCallback"])(item => { - onToggleInsertionPoint(!!item); - setHoveredItem(item); - }, [onToggleInsertionPoint, setHoveredItem]); - const onClickPatternCategory = Object(external_wp_element_["useCallback"])(patternCategory => { - setSelectedPatternCategory(patternCategory); - }, [setSelectedPatternCategory]); - const blocksTab = Object(external_wp_element_["useMemo"])(() => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__block-list" - }, Object(external_wp_element_["createElement"])(block_types_tab, { - rootClientId: destinationRootClientId, - onInsert: onInsert, - onHover: onHover, - showMostUsedBlocks: showMostUsedBlocks - })), showInserterHelpPanel && Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__tips" - }, Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { - as: "h2" - }, Object(external_wp_i18n_["__"])('A tip for using the block editor')), Object(external_wp_element_["createElement"])(tips, null))), [destinationRootClientId, onInsert, onHover, filterValue, showMostUsedBlocks, showInserterHelpPanel]); - const patternsTab = Object(external_wp_element_["useMemo"])(() => Object(external_wp_element_["createElement"])(block_patterns_tab, { - rootClientId: destinationRootClientId, - onInsert: onInsertPattern, - onClickCategory: onClickPatternCategory, - selectedCategory: selectedPatternCategory - }), [destinationRootClientId, onInsertPattern, onClickPatternCategory, selectedPatternCategory]); - const reusableBlocksTab = Object(external_wp_element_["useMemo"])(() => Object(external_wp_element_["createElement"])(reusable_blocks_tab, { - rootClientId: destinationRootClientId, - onInsert: onInsert, - onHover: onHover - }), [destinationRootClientId, onInsert, onHover]); - const getCurrentTab = Object(external_wp_element_["useCallback"])(tab => { - if (tab.name === 'blocks') { - return blocksTab; - } else if (tab.name === 'patterns') { - return patternsTab; - } - - return reusableBlocksTab; - }, [blocksTab, patternsTab, reusableBlocksTab]); - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__menu" - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__main-area" - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__content" - }, Object(external_wp_element_["createElement"])(search_form, { - onChange: value => { - if (hoveredItem) setHoveredItem(null); - setFilterValue(value); - }, - value: filterValue, - label: Object(external_wp_i18n_["__"])('Search for blocks and patterns'), - placeholder: Object(external_wp_i18n_["__"])('Search') - }), !!filterValue && Object(external_wp_element_["createElement"])(search_results, { - filterValue: filterValue, - onSelect: onSelect, - onHover: onHover, - rootClientId: rootClientId, - clientId: clientId, - isAppender: isAppender, - __experimentalInsertionIndex: __experimentalInsertionIndex, - showBlockDirectory: true, - shouldFocusBlock: shouldFocusBlock - }), !filterValue && (showPatterns || hasReusableBlocks) && Object(external_wp_element_["createElement"])(inserter_tabs, { - showPatterns: showPatterns, - showReusableBlocks: hasReusableBlocks - }, getCurrentTab), !filterValue && !showPatterns && !hasReusableBlocks && blocksTab)), showInserterHelpPanel && hoveredItem && Object(external_wp_element_["createElement"])(preview_panel, { - item: hoveredItem - })); -} - -/* harmony default export */ var menu = (InserterMenu); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/quick-inserter.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - - - - -const SEARCH_THRESHOLD = 6; -const quick_inserter_SHOWN_BLOCK_TYPES = 6; -const SHOWN_BLOCK_PATTERNS = 2; -function QuickInserter({ - onSelect, - rootClientId, - clientId, - isAppender -}) { - const [filterValue, setFilterValue] = Object(external_wp_element_["useState"])(''); - const [destinationRootClientId, onInsertBlocks] = use_insertion_point({ - onSelect, - rootClientId, - clientId, - isAppender - }); - const [blockTypes] = use_block_types_state(destinationRootClientId, onInsertBlocks); - const [patterns] = use_patterns_state(onInsertBlocks, destinationRootClientId); - const showPatterns = patterns.length && !!filterValue; - const showSearch = showPatterns && patterns.length > SEARCH_THRESHOLD || blockTypes.length > SEARCH_THRESHOLD; - const { - setInserterIsOpened, - insertionIndex - } = Object(external_wp_data_["useSelect"])(select => { - const { - getSettings, - getBlockIndex, - getBlockCount - } = select(store); - const index = getBlockIndex(clientId, rootClientId); - return { - setInserterIsOpened: getSettings().__experimentalSetIsInserterOpened, - insertionIndex: index === -1 ? getBlockCount() : index - }; - }, [clientId, rootClientId]); - Object(external_wp_element_["useEffect"])(() => { - if (setInserterIsOpened) { - setInserterIsOpened(false); - } - }, [setInserterIsOpened]); // When clicking Browse All select the appropriate block so as - // the insertion point can work as expected - - const onBrowseAll = () => { - setInserterIsOpened({ - rootClientId, - insertionIndex - }); - }; - - return Object(external_wp_element_["createElement"])("div", { - className: classnames_default()('block-editor-inserter__quick-inserter', { - 'has-search': showSearch, - 'has-expand': setInserterIsOpened - }) - }, showSearch && Object(external_wp_element_["createElement"])(search_form, { - value: filterValue, - onChange: value => { - setFilterValue(value); - }, - label: Object(external_wp_i18n_["__"])('Search for blocks and patterns'), - placeholder: Object(external_wp_i18n_["__"])('Search') - }), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inserter__quick-inserter-results" - }, Object(external_wp_element_["createElement"])(search_results, { - filterValue: filterValue, - onSelect: onSelect, - rootClientId: rootClientId, - clientId: clientId, - isAppender: isAppender, - maxBlockPatterns: showPatterns ? SHOWN_BLOCK_PATTERNS : 0, - maxBlockTypes: quick_inserter_SHOWN_BLOCK_TYPES, - isDraggable: false - })), setInserterIsOpened && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - className: "block-editor-inserter__quick-inserter-expand", - onClick: onBrowseAll, - "aria-label": Object(external_wp_i18n_["__"])('Browse all. This will open the main inserter panel in the editor toolbar.') - }, Object(external_wp_i18n_["__"])('Browse all'))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/index.js - - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - - - -/** - * Internal dependencies - */ - - - - - -const defaultRenderToggle = ({ - onToggle, - disabled, - isOpen, - blockTitle, - hasSingleBlockType, - toggleProps = {} -}) => { - let label; - - if (hasSingleBlockType) { - label = Object(external_wp_i18n_["sprintf"])( // translators: %s: the name of the block when there is only one - Object(external_wp_i18n_["_x"])('Add %s', 'directly add the only allowed block'), blockTitle); - } else { - label = Object(external_wp_i18n_["_x"])('Add block', 'Generic label for block inserter button'); - } - - const { - onClick, - ...rest - } = toggleProps; // Handle both onClick functions from the toggle and the parent component - - function handleClick(event) { - if (onToggle) { - onToggle(event); - } - - if (onClick) { - onClick(event); - } - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({ - icon: plus["a" /* default */], - label: label, - tooltipPosition: "bottom", - onClick: handleClick, - className: "block-editor-inserter__toggle", - "aria-haspopup": !hasSingleBlockType ? 'true' : false, - "aria-expanded": !hasSingleBlockType ? isOpen : false, - disabled: disabled - }, rest)); -}; - -class inserter_Inserter extends external_wp_element_["Component"] { - constructor() { - super(...arguments); - this.onToggle = this.onToggle.bind(this); - this.renderToggle = this.renderToggle.bind(this); - this.renderContent = this.renderContent.bind(this); - } - - onToggle(isOpen) { - const { - onToggle - } = this.props; // Surface toggle callback to parent component - - if (onToggle) { - onToggle(isOpen); - } - } - /** - * Render callback to display Dropdown toggle element. - * - * @param {Object} options - * @param {Function} options.onToggle Callback to invoke when toggle is - * pressed. - * @param {boolean} options.isOpen Whether dropdown is currently open. - * - * @return {WPElement} Dropdown toggle element. +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', - - renderToggle({ - onToggle, - isOpen - }) { - const { - disabled, - blockTitle, - hasSingleBlockType, - toggleProps, - hasItems, - renderToggle = defaultRenderToggle - } = this.props; - return renderToggle({ - onToggle, - isOpen, - disabled: disabled || !hasItems, - blockTitle, - hasSingleBlockType, - toggleProps - }); - } - /** - * Render callback to display Dropdown content element. - * - * @param {Object} options - * @param {Function} options.onClose Callback to invoke when dropdown is - * closed. - * - * @return {WPElement} Dropdown content element. + /* + * 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 editor setting. + * It works with nested objects using by finding the value at path. + * + * @param {string} path The path to the setting. + * @return {any} Returns the value defined for the setting. + * @example + * ```js + * const isEnabled = useSetting( 'typography.dropCap' ); + * ``` + */ - renderContent({ - onClose - }) { - const { - rootClientId, - clientId, - isAppender, - showInserterHelpPanel, - // This prop is experimental to give some time for the quick inserter to mature - // Feel free to make them stable after a few releases. - __experimentalIsQuick: isQuick - } = this.props; - - if (isQuick) { - return Object(external_wp_element_["createElement"])(QuickInserter, { - onSelect: () => { - onClose(); - }, - rootClientId: rootClientId, - clientId: clientId, - isAppender: isAppender - }); - } - - return Object(external_wp_element_["createElement"])(menu, { - onSelect: () => { - onClose(); - }, - rootClientId: rootClientId, - clientId: clientId, - isAppender: isAppender, - showInserterHelpPanel: showInserterHelpPanel - }); - } - - render() { - const { - position, - hasSingleBlockType, - insertOnlyAllowedBlock, - __experimentalIsQuick: isQuick, - onSelectOrClose - } = this.props; - - if (hasSingleBlockType) { - return this.renderToggle({ - onToggle: insertOnlyAllowedBlock - }); - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { - className: "block-editor-inserter", - contentClassName: classnames_default()('block-editor-inserter__popover', { - 'is-quick': isQuick - }), - position: position, - onToggle: this.onToggle, - expandOnMobile: true, - headerTitle: Object(external_wp_i18n_["__"])('Add a block'), - renderToggle: this.renderToggle, - renderContent: this.renderContent, - onClose: onSelectOrClose - }); - } - -} - -/* harmony default export */ var inserter = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withSelect"])((select, { - clientId, - rootClientId -}) => { +function useSetting(path) { const { - getBlockRootClientId, - hasInserterItems, - __experimentalGetAllowedBlocks - } = select(store); - const { - getBlockVariations - } = select(external_wp_blocks_["store"]); - rootClientId = rootClientId || getBlockRootClientId(clientId) || undefined; + name: blockName + } = Object(_block_edit__WEBPACK_IMPORTED_MODULE_3__[/* useBlockEditContext */ "c"])(); + const setting = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__["useSelect"])(select => { + var _get; - const allowedBlocks = __experimentalGetAllowedBlocks(rootClientId); + const settings = select(_store__WEBPACK_IMPORTED_MODULE_4__[/* store */ "a"]).getSettings(); // 1 - Use __experimental features, if available. + // We cascade to the all value if the block one is not available. - const hasSingleBlockType = Object(external_lodash_["size"])(allowedBlocks) === 1 && Object(external_lodash_["size"])(getBlockVariations(allowedBlocks[0].name, 'inserter')) === 0; - let allowedBlockType = false; + const normalizedPath = removeCustomPrefixes(path); + const defaultsPath = `__experimentalFeatures.${normalizedPath}`; + const blockPath = `__experimentalFeatures.blocks.${blockName}.${normalizedPath}`; + const experimentalFeaturesResult = (_get = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["get"])(settings, blockPath)) !== null && _get !== void 0 ? _get : Object(lodash__WEBPACK_IMPORTED_MODULE_0__["get"])(settings, defaultsPath); - if (hasSingleBlockType) { - allowedBlockType = allowedBlocks[0]; - } + if (experimentalFeaturesResult !== undefined) { + if (_wordpress_blocks__WEBPACK_IMPORTED_MODULE_2__["__EXPERIMENTAL_PATHS_WITH_MERGE"][normalizedPath]) { + var _ref, _experimentalFeatures; - return { - hasItems: hasInserterItems(rootClientId), - hasSingleBlockType, - blockTitle: allowedBlockType ? allowedBlockType.title : '', - allowedBlockType, - rootClientId - }; -}), Object(external_wp_data_["withDispatch"])((dispatch, ownProps, { - select -}) => { - return { - insertOnlyAllowedBlock() { - const { - rootClientId, - clientId, - isAppender, - hasSingleBlockType, - allowedBlockType, - onSelectOrClose - } = ownProps; - - if (!hasSingleBlockType) { - return; + return (_ref = (_experimentalFeatures = experimentalFeaturesResult.user) !== null && _experimentalFeatures !== void 0 ? _experimentalFeatures : experimentalFeaturesResult.theme) !== null && _ref !== void 0 ? _ref : experimentalFeaturesResult.core; } - function getInsertionIndex() { - const { - getBlockIndex, - getBlockSelectionEnd, - getBlockOrder, - getBlockRootClientId - } = select(store); // If the clientId is defined, we insert at the position of the block. - - if (clientId) { - return getBlockIndex(clientId, rootClientId); - } // If there a selected block, we insert after the selected block. + return experimentalFeaturesResult; + } // 2 - Use deprecated settings, otherwise. - const end = getBlockSelectionEnd(); + const deprecatedSettingsValue = deprecatedFlags[normalizedPath] ? deprecatedFlags[normalizedPath](settings) : undefined; - if (!isAppender && end && getBlockRootClientId(end) === rootClientId) { - return getBlockIndex(end, rootClientId) + 1; - } // Otherwise, we insert at the end of the current rootClientId + if (deprecatedSettingsValue !== undefined) { + return deprecatedSettingsValue; + } // 3 - Fall back 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 getBlockOrder(rootClientId).length; - } - - const { - insertBlock - } = dispatch(store); - const blockToInsert = Object(external_wp_blocks_["createBlock"])(allowedBlockType.name); - insertBlock(blockToInsert, getInsertionIndex(), rootClientId); - - if (onSelectOrClose) { - onSelectOrClose(); - } - - const message = Object(external_wp_i18n_["sprintf"])( // translators: %s: the name of the block that has been added - Object(external_wp_i18n_["__"])('%s block added'), allowedBlockType.title); - Object(external_wp_a11y_["speak"])(message); - } - - }; -}), // The global inserter should always be visible, we are using ( ! isAppender && ! rootClientId && ! clientId ) as -// a way to detect the global Inserter. -Object(external_wp_compose_["ifCondition"])(({ - hasItems, - isAppender, - rootClientId, - clientId -}) => hasItems || !isAppender && !rootClientId && !clientId)])(inserter_Inserter)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/default-block-appender/index.js - - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - -/** - * Zero width non-breaking space, used as padding for the paragraph when it is - * empty. - */ - -const ZWNBSP = '\ufeff'; -function DefaultBlockAppender({ - isLocked, - isVisible, - onAppend, - showPrompt, - placeholder, - rootClientId -}) { - if (isLocked || !isVisible) { - return null; - } - - const value = Object(external_wp_htmlEntities_["decodeEntities"])(placeholder) || Object(external_wp_i18n_["__"])('Type / to choose a block'); - - return Object(external_wp_element_["createElement"])("div", { - "data-root-client-id": rootClientId || '', - className: "block-editor-default-block-appender" - }, Object(external_wp_element_["createElement"])("p", { - tabIndex: "0" // Only necessary for `useCanvasClickRedirect` to consider it - // as a target. Ideally it should consider any tabbable target, - // but the inserter is rendered in place while it should be - // rendered in a popover, just like it does for an empty - // paragraph block. - , - contentEditable: true, - suppressContentEditableWarning: true // We want this element to be styled as a paragraph by themes. - // eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role - , - role: "button", - "aria-label": Object(external_wp_i18n_["__"])('Add block') // The wp-block className is important for editor styles. - , - className: "wp-block block-editor-default-block-appender__content", - onFocus: onAppend - }, showPrompt ? value : ZWNBSP), Object(external_wp_element_["createElement"])(inserter, { - rootClientId: rootClientId, - position: "bottom right", - isAppender: true, - __experimentalIsQuick: true - })); -} -/* harmony default export */ var default_block_appender = (Object(external_wp_compose_["compose"])(Object(external_wp_data_["withSelect"])((select, ownProps) => { - const { - getBlockCount, - getBlockName, - isBlockValid, - getSettings, - getTemplateLock - } = select(store); - const isEmpty = !getBlockCount(ownProps.rootClientId); - const isLastBlockDefault = getBlockName(ownProps.lastBlockClientId) === Object(external_wp_blocks_["getDefaultBlockName"])(); - const isLastBlockValid = isBlockValid(ownProps.lastBlockClientId); - const { - bodyPlaceholder - } = getSettings(); - return { - isVisible: isEmpty || !isLastBlockDefault || !isLastBlockValid, - showPrompt: isEmpty, - isLocked: !!getTemplateLock(ownProps.rootClientId), - placeholder: bodyPlaceholder - }; -}), Object(external_wp_data_["withDispatch"])((dispatch, ownProps) => { - const { - insertDefaultBlock, - startTyping - } = dispatch(store); - return { - onAppend() { - const { - rootClientId - } = ownProps; - insertDefaultBlock(undefined, rootClientId); - startTyping(); - } - - }; -}))(DefaultBlockAppender)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/button-block-appender/index.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - -function ButtonBlockAppender({ - rootClientId, - className, - onFocus, - tabIndex -}, ref) { - return Object(external_wp_element_["createElement"])(inserter, { - position: "bottom center", - rootClientId: rootClientId, - __experimentalIsQuick: true, - renderToggle: ({ - onToggle, - disabled, - isOpen, - blockTitle, - hasSingleBlockType - }) => { - let label; - - if (hasSingleBlockType) { - label = Object(external_wp_i18n_["sprintf"])( // translators: %s: the name of the block when there is only one - Object(external_wp_i18n_["_x"])('Add %s', 'directly add the only allowed block'), blockTitle); - } else { - label = Object(external_wp_i18n_["_x"])('Add block', 'Generic label for block inserter button'); - } - - const isToggleButton = !hasSingleBlockType; - let inserterButton = Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - ref: ref, - onFocus: onFocus, - tabIndex: tabIndex, - className: classnames_default()(className, 'block-editor-button-block-appender'), - onClick: onToggle, - "aria-haspopup": isToggleButton ? 'true' : undefined, - "aria-expanded": isToggleButton ? isOpen : undefined, - disabled: disabled, - label: label - }, !hasSingleBlockType && Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { - as: "span" - }, label), Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { - icon: plus["a" /* default */] - })); - - if (isToggleButton || hasSingleBlockType) { - inserterButton = Object(external_wp_element_["createElement"])(external_wp_components_["Tooltip"], { - text: label - }, inserterButton); - } - - return inserterButton; - }, - isAppender: true - }); -} -/** - * Use `ButtonBlockAppender` instead. - * - * @deprecated - */ - - -const ButtonBlockerAppender = Object(external_wp_element_["forwardRef"])((props, ref) => { - external_wp_deprecated_default()(`wp.blockEditor.ButtonBlockerAppender`, { - alternative: 'wp.blockEditor.ButtonBlockAppender' - }); - return ButtonBlockAppender(props, ref); -}); -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/button-block-appender/README.md - */ - -/* harmony default export */ var button_block_appender = (Object(external_wp_element_["forwardRef"])(ButtonBlockAppender)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list-appender/index.js - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - // A Context to store the map of the appender map. - -const AppenderNodesContext = Object(external_wp_element_["createContext"])(); - -function stopPropagation(event) { - event.stopPropagation(); + return normalizedPath === 'typography.dropCap' ? true : undefined; + }, [blockName, path]); + return setting; } -function BlockListAppender({ - blockClientIds, - rootClientId, - canInsertDefaultBlock, - isLocked, - renderAppender: CustomAppender, - className, - selectedBlockClientId, - tagName: TagName = 'div' -}) { - if (isLocked || CustomAppender === false) { - return null; - } - let appender; +/***/ }), - if (CustomAppender) { - // Prefer custom render prop if provided. - appender = Object(external_wp_element_["createElement"])(CustomAppender, null); - } else { - const isDocumentAppender = !rootClientId; - const isParentSelected = selectedBlockClientId === rootClientId; - const isAnotherDefaultAppenderAlreadyDisplayed = selectedBlockClientId && !blockClientIds.includes(selectedBlockClientId); - - if (!isDocumentAppender && !isParentSelected && (!selectedBlockClientId || isAnotherDefaultAppenderAlreadyDisplayed)) { - return null; - } - - if (canInsertDefaultBlock) { - // Render the default block appender when renderAppender has not been - // provided and the context supports use of the default appender. - appender = Object(external_wp_element_["createElement"])(default_block_appender, { - rootClientId: rootClientId, - lastBlockClientId: Object(external_lodash_["last"])(blockClientIds) - }); - } else { - // Fallback in the case no renderAppender has been provided and the - // default block can't be inserted. - appender = Object(external_wp_element_["createElement"])(button_block_appender, { - rootClientId: rootClientId, - className: "block-list-appender__toggle" - }); - } - } - - return Object(external_wp_element_["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 - // not emit a focus event, which could cause this event to propagate - // unexpectedly. The `tabIndex` ensures that the interaction is - // captured as a focus, without also adding an extra tab stop. - // - // See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus - , { - tabIndex: -1 // Prevent the block from being selected when the appender is - // clicked. - , - onFocus: stopPropagation, - className: classnames_default()('block-list-appender', className) - }, appender); -} - -/* harmony default export */ var block_list_appender = (Object(external_wp_data_["withSelect"])((select, { - rootClientId -}) => { - const { - getBlockOrder, - canInsertBlockType, - getTemplateLock, - getSelectedBlockClientId - } = select(store); - return { - isLocked: !!getTemplateLock(rootClientId), - blockClientIds: getBlockOrder(rootClientId), - canInsertDefaultBlock: canInsertBlockType(Object(external_wp_blocks_["getDefaultBlockName"])(), rootClientId), - selectedBlockClientId: getSelectedBlockClientId() - }; -})(BlockListAppender)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-on-block-drop/index.js -/** - * WordPress dependencies - */ +/***/ "v8Ku": +/***/ (function(module, exports) { -/** - * Internal dependencies - */ +/***/ }), +/***/ "vIlp": +/***/ (function(module, __webpack_exports__, __webpack_require__) { -/** @typedef {import('@wordpress/element').WPSyntheticEvent} WPSyntheticEvent */ - -/** - * Retrieve the data for a block drop event. - * - * @param {WPSyntheticEvent} event The drop event. - * - * @return {Object} An object with block drag and drop data. - */ - -function parseDropEvent(event) { - let result = { - srcRootClientId: null, - srcClientIds: null, - srcIndex: null, - type: null, - blocks: null - }; - - if (!event.dataTransfer) { - return result; - } - - try { - result = Object.assign(result, JSON.parse(event.dataTransfer.getData('wp-blocks'))); - } catch (err) { - return result; - } - - return result; -} -/** - * A function that returns an event handler function for block 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} getBlockIndex A function that gets the index of a block. - * @param {Function} getClientIdsOfDescendants A function that gets the client ids of descendant blocks. - * @param {Function} moveBlocksToPosition A function that moves blocks. - * @param {Function} insertBlocks A function that inserts blocks. - * @param {Function} clearSelectedBlock A function that clears block selection. - * @return {Function} The event handler for a block drop event. - */ - -function use_on_block_drop_onBlockDrop(targetRootClientId, targetBlockIndex, getBlockIndex, getClientIdsOfDescendants, moveBlocksToPosition, insertBlocks, clearSelectedBlock) { - return event => { - const { - srcRootClientId: sourceRootClientId, - srcClientIds: sourceClientIds, - type: dropType, - blocks - } = parseDropEvent(event); // If the user is inserting a block - - if (dropType === 'inserter') { - clearSelectedBlock(); - insertBlocks(blocks, targetBlockIndex, targetRootClientId, true, null); - } // If the user is moving a block - - - if (dropType === 'block') { - const sourceBlockIndex = getBlockIndex(sourceClientIds[0], sourceRootClientId); // If the user is dropping to the same position, return early. - - if (sourceRootClientId === targetRootClientId && sourceBlockIndex === targetBlockIndex) { - return; - } // If the user is attempting to drop a block within its own - // nested blocks, return early as this would create infinite - // recursion. - - - if (sourceClientIds.includes(targetRootClientId) || getClientIdsOfDescendants(sourceClientIds).some(id => id === targetRootClientId)) { - return; - } - - const isAtSameLevel = sourceRootClientId === targetRootClientId; - const draggedBlockCount = sourceClientIds.length; // If the block is kept at the same level and moved downwards, - // subtract to take into account that the blocks being dragged - // were removed from the block list above the insertion point. - - const insertIndex = isAtSameLevel && sourceBlockIndex < targetBlockIndex ? targetBlockIndex - draggedBlockCount : targetBlockIndex; - moveBlocksToPosition(sourceClientIds, sourceRootClientId, targetRootClientId, insertIndex); - } - }; -} -/** - * 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} 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} insertBlocks A function that inserts blocks. - * - * @return {Function} The event handler for a block-related file drop event. - */ - -function onFilesDrop(targetRootClientId, targetBlockIndex, hasUploadPermissions, updateBlockAttributes, canInsertBlockType, insertBlocks) { - return files => { - if (!hasUploadPermissions) { - return; - } - - const transformation = Object(external_wp_blocks_["findTransform"])(Object(external_wp_blocks_["getBlockTransforms"])('from'), transform => transform.type === 'files' && canInsertBlockType(transform.blockName, targetRootClientId) && transform.isMatch(files)); - - if (transformation) { - const blocks = transformation.transform(files, updateBlockAttributes); - insertBlocks(blocks, targetBlockIndex, targetRootClientId); - } - }; -} -/** - * 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} insertBlocks A function that inserts blocks. - * - * @return {Function} The event handler for a block-related HTML drop event. - */ - -function use_on_block_drop_onHTMLDrop(targetRootClientId, targetBlockIndex, insertBlocks) { - return HTML => { - const blocks = Object(external_wp_blocks_["pasteHandler"])({ - HTML, - mode: 'BLOCKS' - }); - - if (blocks.length) { - insertBlocks(blocks, targetBlockIndex, targetRootClientId); - } - }; -} -/** - * A React hook for handling block 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. - * - * @return {Object} An object that contains the event handlers `onDrop`, `onFilesDrop` and `onHTMLDrop`. - */ - -function useOnBlockDrop(targetRootClientId, targetBlockIndex) { - const hasUploadPermissions = Object(external_wp_data_["useSelect"])(select => select(store).getSettings().mediaUpload, []); - const { - canInsertBlockType, - getBlockIndex, - getClientIdsOfDescendants - } = Object(external_wp_data_["useSelect"])(store); - const { - insertBlocks, - moveBlocksToPosition, - updateBlockAttributes, - clearSelectedBlock - } = Object(external_wp_data_["useDispatch"])(store); - - const _onDrop = use_on_block_drop_onBlockDrop(targetRootClientId, targetBlockIndex, getBlockIndex, getClientIdsOfDescendants, moveBlocksToPosition, insertBlocks, clearSelectedBlock); - - const _onFilesDrop = onFilesDrop(targetRootClientId, targetBlockIndex, hasUploadPermissions, updateBlockAttributes, canInsertBlockType, insertBlocks); - - const _onHTMLDrop = use_on_block_drop_onHTMLDrop(targetRootClientId, targetBlockIndex, insertBlocks); - - return event => { - const files = Object(external_wp_dom_["getFilesFromDataTransfer"])(event.dataTransfer); - const html = event.dataTransfer.getData('text/html'); - - if (files.length) { - _onFilesDrop(files); - } else if (html) { - _onHTMLDrop(html); - } else { - _onDrop(event); - } - }; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/math.js +"use strict"; +/* unused harmony export getDistanceFromPointToEdge */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getDistanceToNearestEdge; }); /** * A string representing the name of an edge. * @@ -24421,11904 +44754,19 @@ function getDistanceToNearestEdge(point, rect, allowedEdges = ['top', 'bottom', return [candidateDistance, candidateEdge]; } -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-block-drop-zone/index.js -/** - * WordPress dependencies - */ +/***/ }), +/***/ "vSu0": +/***/ (function(module, __webpack_exports__, __webpack_require__) { +"use strict"; -/** - * Internal dependencies - */ +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); - - - -/** @typedef {import('../../utils/math').WPPoint} WPPoint */ - -/** - * The orientation of a block list. - * - * @typedef {'horizontal'|'vertical'|undefined} WPBlockListOrientation - */ - -/** - * Given a list of block DOM elements finds the index that a block should be dropped - * at. - * - * @param {Element[]} elements Array of DOM elements that represent each block in a block list. - * @param {WPPoint} position The position of the item being dragged. - * @param {WPBlockListOrientation} orientation The orientation of a block list. - * - * @return {number|undefined} The block index that's closest to the drag position. - */ - -function getNearestBlockIndex(elements, position, orientation) { - const allowedEdges = orientation === 'horizontal' ? ['left', 'right'] : ['top', 'bottom']; - const isRightToLeft = Object(external_wp_i18n_["isRTL"])(); - let candidateIndex; - let candidateDistance; - elements.forEach((element, index) => { - const rect = element.getBoundingClientRect(); - const [distance, edge] = getDistanceToNearestEdge(position, rect, allowedEdges); - - if (candidateDistance === undefined || distance < candidateDistance) { - // If the user is dropping to the trailing edge of the block - // add 1 to the index to represent dragging after. - // Take RTL languages into account where the left edge is - // the trailing edge. - const isTrailingEdge = edge === 'bottom' || !isRightToLeft && edge === 'right' || isRightToLeft && edge === 'left'; - const offset = isTrailingEdge ? 1 : 0; // Update the currently known best candidate. - - candidateDistance = distance; - candidateIndex = index + offset; - } - }); - return candidateIndex; -} -/** - * @typedef {Object} WPBlockDropZoneConfig - * @property {string} rootClientId The root client id for the block list. - */ - -/** - * A React hook that can be used to make a block list handle drag and drop. - * - * @param {WPBlockDropZoneConfig} dropZoneConfig configuration data for the drop zone. - */ - -function useBlockDropZone({ - // 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 = '' -} = {}) { - const [targetBlockIndex, setTargetBlockIndex] = Object(external_wp_element_["useState"])(null); - const isLockedAll = Object(external_wp_data_["useSelect"])(select => { - const { - getTemplateLock - } = select(store); - return getTemplateLock(targetRootClientId) === 'all'; - }, [targetRootClientId]); - const { - getBlockListSettings - } = Object(external_wp_data_["useSelect"])(store); - const { - showInsertionPoint, - hideInsertionPoint - } = Object(external_wp_data_["useDispatch"])(store); - const onBlockDrop = useOnBlockDrop(targetRootClientId, targetBlockIndex); - const throttled = Object(external_wp_compose_["useThrottle"])(Object(external_wp_element_["useCallback"])((event, currentTarget) => { - var _getBlockListSettings; - - const blockElements = Array.from(currentTarget.children).filter( // Ensure the element is a block. It should have the `wp-block` class. - element => element.classList.contains('wp-block')); - const targetIndex = getNearestBlockIndex(blockElements, { - x: event.clientX, - y: event.clientY - }, (_getBlockListSettings = getBlockListSettings(targetRootClientId)) === null || _getBlockListSettings === void 0 ? void 0 : _getBlockListSettings.orientation); - setTargetBlockIndex(targetIndex === undefined ? 0 : targetIndex); - - if (targetIndex !== null) { - showInsertionPoint(targetRootClientId, targetIndex); - } - }, []), 200); - return Object(external_wp_compose_["__experimentalUseDropZone"])({ - isDisabled: isLockedAll, - onDrop: onBlockDrop, - - 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); - }, - - onDragLeave() { - throttled.cancel(); - hideInsertionPoint(); - setTargetBlockIndex(null); - }, - - onDragEnd() { - throttled.cancel(); - hideInsertionPoint(); - setTargetBlockIndex(null); - } - - }); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/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 Object(external_wp_compose_["useRefEffect"])(node => { - if (!scrollableRef) { - return; - } - - function onWheel(event) { - const { - deltaX, - deltaY - } = event; - scrollableRef.current.scrollBy(deltaX, deltaY); - } - - node.addEventListener('wheel', onWheel); - return () => { - node.removeEventListener('wheel', onWheel); - }; - }, [scrollableRef]); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/insertion-point.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - - -const InsertionPointOpenRef = Object(external_wp_element_["createContext"])(); - -function InsertionPointPopover({ - __unstablePopoverSlot, - __unstableContentRef -}) { - const { - selectBlock - } = Object(external_wp_data_["useDispatch"])(store); - const openRef = Object(external_wp_element_["useContext"])(InsertionPointOpenRef); - const ref = Object(external_wp_element_["useRef"])(); - const { - orientation, - previousClientId, - nextClientId, - rootClientId, - isInserterShown - } = Object(external_wp_data_["useSelect"])(select => { - var _getBlockListSettings; - - const { - getBlockOrder, - getBlockListSettings, - getBlockInsertionPoint, - isBlockBeingDragged, - getPreviousBlockClientId, - getNextBlockClientId - } = select(store); - const insertionPoint = getBlockInsertionPoint(); - const order = getBlockOrder(insertionPoint.rootClientId); - - if (!order.length) { - return {}; - } - - let _previousClientId = order[insertionPoint.index - 1]; - let _nextClientId = order[insertionPoint.index]; - - while (isBlockBeingDragged(_previousClientId)) { - _previousClientId = getPreviousBlockClientId(_previousClientId); - } - - while (isBlockBeingDragged(_nextClientId)) { - _nextClientId = getNextBlockClientId(_nextClientId); - } - - return { - previousClientId: _previousClientId, - nextClientId: _nextClientId, - orientation: ((_getBlockListSettings = getBlockListSettings(insertionPoint.rootClientId)) === null || _getBlockListSettings === void 0 ? void 0 : _getBlockListSettings.orientation) || 'vertical', - rootClientId: insertionPoint.rootClientId, - isInserterShown: insertionPoint === null || insertionPoint === void 0 ? void 0 : insertionPoint.__unstableWithInserter - }; - }, []); - const previousElement = useBlockElement(previousClientId); - const nextElement = useBlockElement(nextClientId); - const style = Object(external_wp_element_["useMemo"])(() => { - if (!previousElement && !nextElement) { - return {}; - } - - const previousRect = previousElement ? previousElement.getBoundingClientRect() : null; - const nextRect = nextElement ? nextElement.getBoundingClientRect() : null; - - if (orientation === 'vertical') { - return { - width: previousElement ? previousElement.offsetWidth : nextElement.offsetWidth, - height: nextRect && previousRect ? nextRect.top - previousRect.bottom : 0 - }; - } - - let width = 0; - - if (previousRect && nextRect) { - width = Object(external_wp_i18n_["isRTL"])() ? previousRect.left - nextRect.right : nextRect.left - previousRect.right; - } - - return { - width, - height: previousElement ? previousElement.offsetHeight : nextElement.offsetHeight - }; - }, [previousElement, nextElement]); - const getAnchorRect = Object(external_wp_element_["useCallback"])(() => { - if (!previousElement && !nextElement) { - return {}; - } - - const { - ownerDocument - } = previousElement || nextElement; - const previousRect = previousElement ? previousElement.getBoundingClientRect() : null; - const nextRect = nextElement ? nextElement.getBoundingClientRect() : null; - - if (orientation === 'vertical') { - if (Object(external_wp_i18n_["isRTL"])()) { - return { - top: previousRect ? previousRect.bottom : nextRect.top, - left: previousRect ? previousRect.right : nextRect.right, - right: previousRect ? previousRect.left : nextRect.left, - bottom: nextRect ? nextRect.top : previousRect.bottom, - ownerDocument - }; - } - - return { - top: previousRect ? previousRect.bottom : nextRect.top, - left: previousRect ? previousRect.left : nextRect.left, - right: previousRect ? previousRect.right : nextRect.right, - bottom: nextRect ? nextRect.top : previousRect.bottom, - ownerDocument - }; - } - - if (Object(external_wp_i18n_["isRTL"])()) { - return { - top: previousRect ? previousRect.top : nextRect.top, - left: previousRect ? previousRect.left : nextRect.right, - right: nextRect ? nextRect.right : previousRect.left, - bottom: previousRect ? previousRect.bottom : nextRect.bottom, - ownerDocument - }; - } - - return { - top: previousRect ? previousRect.top : nextRect.top, - left: previousRect ? previousRect.right : nextRect.left, - right: nextRect ? nextRect.left : previousRect.right, - bottom: previousRect ? previousRect.bottom : nextRect.bottom, - ownerDocument - }; - }, [previousElement, nextElement]); - const popoverScrollRef = usePopoverScroll(__unstableContentRef); - const className = classnames_default()('block-editor-block-list__insertion-point', 'is-' + orientation); - - function onClick(event) { - if (event.target === ref.current && nextClientId) { - selectBlock(nextClientId, -1); - } - } - - function onFocus(event) { - // Only handle click on the wrapper specifically, and not an event - // bubbled from the inserter itself. - if (event.target !== ref.current) { - openRef.current = true; - } - } // Only show the in-between inserter between blocks, so when there's a - // previous and a next element. - - - const showInsertionPointInserter = previousElement && nextElement && isInserterShown; - /* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */ - // While ideally it would be enough to capture the - // bubbling focus event from the Inserter, due to the - // characteristics of click focusing of `button`s in - // Firefox and Safari, it is not reliable. - // - // See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus - - return Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { - ref: popoverScrollRef, - noArrow: true, - animate: false, - getAnchorRect: getAnchorRect, - focusOnMount: false, - className: "block-editor-block-list__insertion-point-popover" // Render in the old slot if needed for backward compatibility, - // otherwise render in place (not in the the default popover slot). - , - __unstableSlotName: __unstablePopoverSlot || null - }, Object(external_wp_element_["createElement"])("div", { - ref: ref, - tabIndex: -1, - onClick: onClick, - onFocus: onFocus, - className: classnames_default()(className, { - 'is-with-inserter': showInsertionPointInserter - }), - style: style - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-list__insertion-point-indicator" - }), showInsertionPointInserter && Object(external_wp_element_["createElement"])("div", { - className: classnames_default()('block-editor-block-list__insertion-point-inserter') - }, Object(external_wp_element_["createElement"])(inserter, { - position: "bottom center", - clientId: nextClientId, - rootClientId: rootClientId, - __experimentalIsQuick: true, - onToggle: isOpen => { - openRef.current = isOpen; - }, - onSelectOrClose: () => { - openRef.current = false; - } - })))); - /* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */ -} - -function InsertionPoint({ - children, - __unstablePopoverSlot, - __unstableContentRef -}) { - const isVisible = Object(external_wp_data_["useSelect"])(select => { - return select(store).isBlockInsertionPointVisible(); - }, []); - return Object(external_wp_element_["createElement"])(InsertionPointOpenRef.Provider, { - value: Object(external_wp_element_["useRef"])(false) - }, isVisible && Object(external_wp_element_["createElement"])(InsertionPointPopover, { - __unstablePopoverSlot: __unstablePopoverSlot, - __unstableContentRef: __unstableContentRef - }), children); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-in-between-inserter.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -function useInBetweenInserter() { - const openRef = Object(external_wp_element_["useContext"])(InsertionPointOpenRef); - const hasReducedUI = Object(external_wp_data_["useSelect"])(select => select(store).getSettings().hasReducedUI, []); - const { - getBlockListSettings, - getBlockRootClientId, - getBlockIndex, - isBlockInsertionPointVisible, - isMultiSelecting, - getSelectedBlockClientIds, - getTemplateLock - } = Object(external_wp_data_["useSelect"])(store); - const { - showInsertionPoint, - hideInsertionPoint - } = Object(external_wp_data_["useDispatch"])(store); - return Object(external_wp_compose_["useRefEffect"])(node => { - if (hasReducedUI) { - return; - } - - function onMouseMove(event) { - var _getBlockListSettings; - - if (openRef.current) { - return; - } - - if (isMultiSelecting()) { - return; - } - - if (!event.target.classList.contains('block-editor-block-list__layout')) { - if (isBlockInsertionPointVisible()) { - hideInsertionPoint(); - } - - return; - } - - let rootClientId; - - if (!event.target.classList.contains('is-root-container')) { - const blockElement = !!event.target.getAttribute('data-block') ? event.target : event.target.closest('[data-block]'); - rootClientId = blockElement.getAttribute('data-block'); - } // Don't set the insertion point if the template is locked. - - - if (getTemplateLock(rootClientId)) { - return; - } - - const orientation = ((_getBlockListSettings = getBlockListSettings(rootClientId)) === null || _getBlockListSettings === void 0 ? void 0 : _getBlockListSettings.orientation) || 'vertical'; - const rect = event.target.getBoundingClientRect(); - const offsetTop = event.clientY - rect.top; - const offsetLeft = event.clientX - rect.left; - const children = Array.from(event.target.children); - let element = children.find(blockEl => { - return blockEl.classList.contains('wp-block') && orientation === 'vertical' && blockEl.offsetTop > offsetTop || blockEl.classList.contains('wp-block') && orientation === 'horizontal' && blockEl.offsetLeft > offsetLeft; - }); - - if (!element) { - return; - } // The block may be in an alignment wrapper, so check the first direct - // child if the element has no ID. - - - if (!element.id) { - element = element.firstElementChild; - - if (!element) { - return; - } - } - - const clientId = element.id.slice('block-'.length); - - if (!clientId) { - return; - } // Don't show the inserter when hovering above (conflicts with - // block toolbar) or inside selected block(s). - - - if (getSelectedBlockClientIds().includes(clientId)) { - return; - } - - const elementRect = element.getBoundingClientRect(); - - if (orientation === 'horizontal' && (event.clientY > elementRect.bottom || event.clientY < elementRect.top) || orientation === 'vertical' && (event.clientX > elementRect.right || event.clientX < elementRect.left)) { - if (isBlockInsertionPointVisible()) { - hideInsertionPoint(); - } - - return; - } - - const index = getBlockIndex(clientId, rootClientId); // Don't show the in-between inserter before the first block in - // the list (preserves the original behaviour). - - if (index === 0) { - if (isBlockInsertionPointVisible()) { - hideInsertionPoint(); - } - - return; - } - - showInsertionPoint(rootClientId, index, { - __unstableWithInserter: true - }); - } - - node.addEventListener('mousemove', onMouseMove); - return () => { - node.removeEventListener('mousemove', onMouseMove); - }; - }, [openRef, getBlockListSettings, getBlockRootClientId, getBlockIndex, isBlockInsertionPointVisible, isMultiSelecting, showInsertionPoint, hideInsertionPoint, getSelectedBlockClientIds]); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/pre-parse-patterns.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - -const pre_parse_patterns_requestIdleCallback = (() => { - if (typeof window === 'undefined') { - return callback => { - setTimeout(() => callback(Date.now()), 0); - }; - } - - return window.requestIdleCallback || window.requestAnimationFrame; -})(); - -const cancelIdleCallback = (() => { - if (typeof window === 'undefined') { - return clearTimeout; - } - - return window.cancelIdleCallback || window.cancelAnimationFrame; -})(); - -function usePreParsePatterns() { - const patterns = Object(external_wp_data_["useSelect"])(_select => _select(store).getSettings().__experimentalBlockPatterns, []); - Object(external_wp_element_["useEffect"])(() => { - if (!(patterns !== null && patterns !== void 0 && patterns.length)) { - return; - } - - let handle; - let index = -1; - - const callback = () => { - index++; - - if (index >= patterns.length) { - return; - } - - Object(external_wp_data_["select"])(store).__experimentalGetParsedPattern(patterns[index].name); - - handle = pre_parse_patterns_requestIdleCallback(callback); - }; - - handle = pre_parse_patterns_requestIdleCallback(callback); - return () => cancelIdleCallback(handle); - }, [patterns]); - return null; -} - -// EXTERNAL MODULE: external ["wp","keyboardShortcuts"] -var external_wp_keyboardShortcuts_ = __webpack_require__("hF7m"); - -// 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 = Object(external_wp_element_["useRef"])(null); - const velocityY = Object(external_wp_element_["useRef"])(null); - const scrollParentY = Object(external_wp_element_["useRef"])(null); - const scrollEditorInterval = Object(external_wp_element_["useRef"])(null); // Clear interval when unmounting. - - Object(external_wp_element_["useEffect"])(() => () => { - if (scrollEditorInterval.current) { - clearInterval(scrollEditorInterval.current); - scrollEditorInterval.current = null; - } - }, []); - const startScrolling = Object(external_wp_element_["useCallback"])(event => { - dragStartY.current = event.clientY; // Find nearest parent(s) to scroll. - - scrollParentY.current = Object(external_wp_dom_["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 = Object(external_wp_element_["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 = 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 = 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, - clientIds, - cloneClassname, - onDragStart, - onDragEnd, - elementId -}) => { - const { - srcRootClientId, - isDraggable, - icon - } = Object(external_wp_data_["useSelect"])(select => { - var _getBlockType; - - const { - getBlockRootClientId, - getTemplateLock, - getBlockName - } = select(store); - const rootClientId = getBlockRootClientId(clientIds[0]); - const templateLock = rootClientId ? getTemplateLock(rootClientId) : null; - const blockName = getBlockName(clientIds[0]); - return { - srcRootClientId: rootClientId, - isDraggable: 'all' !== templateLock, - icon: (_getBlockType = Object(external_wp_blocks_["getBlockType"])(blockName)) === null || _getBlockType === void 0 ? void 0 : _getBlockType.icon - }; - }, [clientIds]); - const isDragging = Object(external_wp_element_["useRef"])(false); - const [startScrolling, scrollOnDragOver, stopScrolling] = useScrollWhenDragging(); - const { - startDraggingBlocks, - stopDraggingBlocks - } = Object(external_wp_data_["useDispatch"])(store); // Stop dragging blocks if the block draggable is unmounted - - Object(external_wp_element_["useEffect"])(() => { - return () => { - if (isDragging.current) { - stopDraggingBlocks(); - } - }; - }, []); - - if (!isDraggable) { - return children({ - isDraggable: false - }); - } - - const transferData = { - type: 'block', - srcClientIds: clientIds, - srcRootClientId - }; - return Object(external_wp_element_["createElement"])(external_wp_components_["Draggable"], { - cloneClassname: cloneClassname, - elementId: elementId, - __experimentalTransferDataType: "wp-blocks", - transferData: transferData, - onDragStart: event => { - startDraggingBlocks(clientIds); - isDragging.current = true; - startScrolling(event); - - if (onDragStart) { - onDragStart(); - } - }, - onDragOver: scrollOnDragOver, - onDragEnd: () => { - stopDraggingBlocks(); - isDragging.current = false; - stopScrolling(); - - if (onDragEnd) { - onDragEnd(); - } - }, - __experimentalDragComponent: Object(external_wp_element_["createElement"])(BlockDraggableChip, { - count: clientIds.length, - icon: icon - }) - }, ({ - 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/block-tools/block-selection-button.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - - - - - -/** - * Internal dependencies - */ - - - - - - -/** - * Returns true if the user is using windows. - * - * @return {boolean} Whether the user is using Windows. - */ - -function isWindows() { - return window.navigator.platform.indexOf('Win') > -1; -} -/** - * 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, - blockElement -}) { - const blockInformation = useBlockDisplayInformation(clientId); - const selected = Object(external_wp_data_["useSelect"])(select => { - var _getBlockListSettings; - - const { - __unstableGetBlockWithoutInnerBlocks, - getBlockIndex, - hasBlockMovingClientId, - getBlockListSettings - } = select(store); - const index = getBlockIndex(clientId, rootClientId); - - const { - name, - attributes - } = __unstableGetBlockWithoutInnerBlocks(clientId); - - const blockMovingMode = hasBlockMovingClientId(); - return { - index, - name, - attributes, - blockMovingMode, - orientation: (_getBlockListSettings = getBlockListSettings(rootClientId)) === null || _getBlockListSettings === void 0 ? void 0 : _getBlockListSettings.orientation - }; - }, [clientId, rootClientId]); - const { - index, - name, - attributes, - blockMovingMode, - orientation - } = selected; - const { - setNavigationMode, - removeBlock - } = Object(external_wp_data_["useDispatch"])(store); - const ref = Object(external_wp_element_["useRef"])(); // Focus the breadcrumb in navigation mode. - - Object(external_wp_element_["useEffect"])(() => { - ref.current.focus(); // NVDA on windows suffers from a bug where focus changes are not announced properly - // See WordPress/gutenberg#24121 and nvaccess/nvda#5825 for more details - // To solve it we announce the focus change manually. - - if (isWindows()) { - Object(external_wp_a11y_["speak"])(label); - } - }, []); - const { - hasBlockMovingClientId, - getBlockIndex, - getBlockRootClientId, - getClientIdsOfDescendants, - getSelectedBlockClientId, - getMultiSelectedBlocksEndClientId, - getPreviousBlockClientId, - getNextBlockClientId - } = Object(external_wp_data_["useSelect"])(store); - const { - selectBlock, - clearSelectedBlock, - setBlockMovingClientId, - moveBlockToPosition - } = Object(external_wp_data_["useDispatch"])(store); - - function onKeyDown(event) { - const { - keyCode - } = event; - const isUp = keyCode === external_wp_keycodes_["UP"]; - const isDown = keyCode === external_wp_keycodes_["DOWN"]; - const isLeft = keyCode === external_wp_keycodes_["LEFT"]; - const isRight = keyCode === external_wp_keycodes_["RIGHT"]; - const isTab = keyCode === external_wp_keycodes_["TAB"]; - const isEscape = keyCode === external_wp_keycodes_["ESCAPE"]; - const isEnter = keyCode === external_wp_keycodes_["ENTER"]; - const isSpace = keyCode === external_wp_keycodes_["SPACE"]; - const isShift = event.shiftKey; - - if (keyCode === external_wp_keycodes_["BACKSPACE"] || keyCode === external_wp_keycodes_["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) { - setBlockMovingClientId(null); - } - - if ((isEnter || isSpace) && startingBlockClientId) { - const sourceRoot = getBlockRootClientId(startingBlockClientId); - const destRoot = getBlockRootClientId(selectedBlockClientId); - const sourceBlockIndex = getBlockIndex(startingBlockClientId, sourceRoot); - let destinationBlockIndex = getBlockIndex(selectedBlockClientId, destRoot); - - if (sourceBlockIndex < destinationBlockIndex && sourceRoot === destRoot) { - destinationBlockIndex -= 1; - } - - moveBlockToPosition(startingBlockClientId, sourceRoot, destRoot, destinationBlockIndex); - selectBlock(startingBlockClientId); - setBlockMovingClientId(null); - } - - if (navigateDown || navigateUp || navigateOut || navigateIn) { - if (focusedBlockUid) { - event.preventDefault(); - selectBlock(focusedBlockUid); - } else if (isTab && selectedBlockClientId) { - let nextTabbable; - - if (navigateDown) { - nextTabbable = external_wp_dom_["focus"].tabbable.findNext(blockElement); - - if (!nextTabbable) { - nextTabbable = blockElement.ownerDocument.defaultView.frameElement; - nextTabbable = external_wp_dom_["focus"].tabbable.findNext(nextTabbable); - } - } else { - nextTabbable = external_wp_dom_["focus"].tabbable.findPrevious(blockElement); - } - - if (nextTabbable) { - event.preventDefault(); - nextTabbable.focus(); - clearSelectedBlock(); - } - } - } - } - - const blockType = Object(external_wp_blocks_["getBlockType"])(name); - const label = Object(external_wp_blocks_["__experimentalGetAccessibleBlockLabel"])(blockType, attributes, index + 1, orientation); - const classNames = classnames_default()('block-editor-block-list__block-selection-button', { - 'is-block-moving-mode': !!blockMovingMode - }); - - const dragHandleLabel = Object(external_wp_i18n_["__"])('Drag'); - - return Object(external_wp_element_["createElement"])("div", { - className: classNames - }, Object(external_wp_element_["createElement"])(external_wp_components_["Flex"], { - justify: "center", - className: "block-editor-block-list__block-selection-button__content" - }, Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(BlockIcon, { - icon: blockInformation === null || blockInformation === void 0 ? void 0 : blockInformation.icon, - showColors: true - })), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(block_draggable, { - clientIds: [clientId] - }, draggableProps => Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({ - 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)))), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - ref: ref, - onClick: () => setNavigationMode(false), - onKeyDown: onKeyDown, - label: label, - className: "block-selection-button_select-button" - }, Object(external_wp_element_["createElement"])(BlockTitle, { - clientId: clientId - }))))); -} - -/* harmony default export */ var block_selection_button = (BlockSelectionButton); - -// 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_["focus"].tabbable.find(container); - - if (firstTabbable) { - firstTabbable.focus(); - } -} - -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] = Object(external_wp_element_["useState"])(initialAccessibleToolbarState); - const determineIsAccessibleToolbar = Object(external_wp_element_["useCallback"])(() => { - const tabbables = external_wp_dom_["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); - }, []); - Object(external_wp_element_["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) { - // Make sure we don't use modified versions of this prop - const [initialFocusOnMount] = Object(external_wp_element_["useState"])(focusOnMount); - const [initialIndex] = Object(external_wp_element_["useState"])(defaultIndex); - const focusToolbar = Object(external_wp_element_["useCallback"])(() => { - focusFirstTabbableIn(ref.current); - }, []); // Focus on toolbar when pressing alt+F10 when the toolbar is visible - - Object(external_wp_keyboardShortcuts_["useShortcut"])('core/block-editor/focus-toolbar', focusToolbar, { - bindGlobal: true, - eventName: 'keydown' - }); - Object(external_wp_element_["useEffect"])(() => { - if (initialFocusOnMount) { - focusToolbar(); - } - }, [isAccessibleToolbar, initialFocusOnMount, focusToolbar]); - Object(external_wp_element_["useEffect"])(() => { - // 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 (initialIndex && !initialFocusOnMount) { - raf = window.requestAnimationFrame(() => { - const items = getAllToolbarItemsIn(ref.current); - const index = initialIndex || 0; - - if (items[index] && hasFocusWithin(ref.current)) { - items[index].focus(); - } - }); - } - - return () => { - window.cancelAnimationFrame(raf); - if (!onIndexChange) 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(ref.current); - const index = items.findIndex(item => item.tabIndex === 0); - onIndexChange(index); - }; - }, [initialIndex, initialFocusOnMount]); -} - -function NavigableToolbar({ - children, - focusOnMount, - __experimentalInitialIndex: initialIndex, - __experimentalOnIndexChange: onIndexChange, - ...props -}) { - const ref = Object(external_wp_element_["useRef"])(); - const isAccessibleToolbar = useIsAccessibleToolbar(ref); - useToolbarFocus(ref, focusOnMount, isAccessibleToolbar, initialIndex, onIndexChange); - - if (isAccessibleToolbar) { - return Object(external_wp_element_["createElement"])(external_wp_components_["Toolbar"], Object(esm_extends["a" /* default */])({ - label: props['aria-label'], - ref: ref - }, props), children); - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["NavigableMenu"], Object(esm_extends["a" /* default */])({ - 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/block-mover/index.js - - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - -/** - * Internal dependencies - */ - - - - - -function BlockMover({ - isFirst, - isLast, - clientIds, - isLocked, - isHidden, - rootClientId, - orientation, - hideDragHandle -}) { - const [isFocused, setIsFocused] = Object(external_wp_element_["useState"])(false); - - const onFocus = () => setIsFocused(true); - - const onBlur = () => setIsFocused(false); - - if (isLocked || isFirst && isLast && !rootClientId) { - return null; - } - - const dragHandleLabel = Object(external_wp_i18n_["__"])('Drag'); // We emulate a disabled state because forcefully applying the `disabled` - // attribute on the buttons while it has focus causes the screen to change - // to an unfocused state (body as active element) without firing blur on, - // the rendering parent, leaving it unable to react to focus out. - - - return Object(external_wp_element_["createElement"])("div", { - className: classnames_default()('block-editor-block-mover', { - 'is-visible': isFocused || !isHidden, - 'is-horizontal': orientation === 'horizontal' - }) - }, !hideDragHandle && Object(external_wp_element_["createElement"])(block_draggable, { - clientIds: clientIds, - cloneClassname: "block-editor-block-mover__drag-clone" - }, draggableProps => Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({ - 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))), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], { - className: "block-editor-block-mover__move-button-container" - }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarItem"], { - onFocus: onFocus, - onBlur: onBlur - }, itemProps => Object(external_wp_element_["createElement"])(BlockMoverUpButton, Object(esm_extends["a" /* default */])({ - clientIds: clientIds - }, itemProps))), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarItem"], { - onFocus: onFocus, - onBlur: onBlur - }, itemProps => Object(external_wp_element_["createElement"])(BlockMoverDownButton, Object(esm_extends["a" /* default */])({ - clientIds: clientIds - }, itemProps))))); -} - -/* harmony default export */ var block_mover = (Object(external_wp_data_["withSelect"])((select, { - clientIds -}) => { - var _getBlockListSettings; - - const { - getBlock, - getBlockIndex, - getBlockListSettings, - getTemplateLock, - getBlockOrder, - getBlockRootClientId - } = select(store); - const normalizedClientIds = Object(external_lodash_["castArray"])(clientIds); - const firstClientId = Object(external_lodash_["first"])(normalizedClientIds); - const block = getBlock(firstClientId); - const rootClientId = getBlockRootClientId(Object(external_lodash_["first"])(normalizedClientIds)); - const firstIndex = getBlockIndex(firstClientId, rootClientId); - const lastIndex = getBlockIndex(Object(external_lodash_["last"])(normalizedClientIds), rootClientId); - const blockOrder = getBlockOrder(rootClientId); - const isFirst = firstIndex === 0; - const isLast = lastIndex === blockOrder.length - 1; - return { - blockType: block ? Object(external_wp_blocks_["getBlockType"])(block.name) : null, - isLocked: getTemplateLock(rootClientId) === 'all', - rootClientId, - firstIndex, - isFirst, - isLast, - orientation: (_getBlockListSettings = getBlockListSettings(rootClientId)) === null || _getBlockListSettings === void 0 ? void 0 : _getBlockListSettings.orientation - }; -})(BlockMover)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-toolbar/utils.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -const { - clearTimeout: utils_clearTimeout, - setTimeout: utils_setTimeout -} = window; -const DEBOUNCE_TIMEOUT = 200; -/** - * Hook that creates a showMover state, as well as debounced show/hide callbacks. - * - * @param {Object} props Component props. - * @param {Object} props.ref Element reference. - * @param {boolean} props.isFocused Whether the component has current focus. - * @param {number} [props.debounceTimeout=250] Debounce timeout in milliseconds. - * @param {Function} [props.onChange=noop] Callback function. - */ - -function useDebouncedShowMovers({ - ref, - isFocused, - debounceTimeout = DEBOUNCE_TIMEOUT, - onChange = external_lodash_["noop"] -}) { - const [showMovers, setShowMovers] = Object(external_wp_element_["useState"])(false); - const timeoutRef = Object(external_wp_element_["useRef"])(); - - const handleOnChange = nextIsFocused => { - if (ref !== null && ref !== void 0 && ref.current) { - setShowMovers(nextIsFocused); - } - - onChange(nextIsFocused); - }; - - const getIsHovered = () => { - return (ref === null || ref === void 0 ? void 0 : ref.current) && ref.current.matches(':hover'); - }; - - const shouldHideMovers = () => { - const isHovered = getIsHovered(); - return !isFocused && !isHovered; - }; - - const clearTimeoutRef = () => { - const timeout = timeoutRef.current; - - if (timeout && utils_clearTimeout) { - utils_clearTimeout(timeout); - } - }; - - const debouncedShowMovers = event => { - if (event) { - event.stopPropagation(); - } - - clearTimeoutRef(); - - if (!showMovers) { - handleOnChange(true); - } - }; - - const debouncedHideMovers = event => { - if (event) { - event.stopPropagation(); - } - - clearTimeoutRef(); - timeoutRef.current = utils_setTimeout(() => { - if (shouldHideMovers()) { - handleOnChange(false); - } - }, debounceTimeout); - }; - - Object(external_wp_element_["useEffect"])(() => () => clearTimeoutRef(), []); - return { - showMovers, - debouncedShowMovers, - debouncedHideMovers - }; -} -/** - * Hook that provides a showMovers state and gesture events for DOM elements - * that interact with the showMovers state. - * - * @param {Object} props Component props. - * @param {Object} props.ref Element reference. - * @param {number} [props.debounceTimeout=250] Debounce timeout in milliseconds. - * @param {Function} [props.onChange=noop] Callback function. - */ - -function useShowMoversGestures({ - ref, - debounceTimeout = DEBOUNCE_TIMEOUT, - onChange = external_lodash_["noop"] -}) { - const [isFocused, setIsFocused] = Object(external_wp_element_["useState"])(false); - const { - showMovers, - debouncedShowMovers, - debouncedHideMovers - } = useDebouncedShowMovers({ - ref, - debounceTimeout, - isFocused, - onChange - }); - const registerRef = Object(external_wp_element_["useRef"])(false); - - const isFocusedWithin = () => { - return (ref === null || ref === void 0 ? void 0 : ref.current) && ref.current.contains(ref.current.ownerDocument.activeElement); - }; - - Object(external_wp_element_["useEffect"])(() => { - const node = ref.current; - - const handleOnFocus = () => { - if (isFocusedWithin()) { - setIsFocused(true); - debouncedShowMovers(); - } - }; - - const handleOnBlur = () => { - if (!isFocusedWithin()) { - setIsFocused(false); - debouncedHideMovers(); - } - }; - /** - * 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, debouncedShowMovers, debouncedHideMovers]); - return { - showMovers, - gestures: { - onMouseMove: debouncedShowMovers, - onMouseLeave: debouncedHideMovers - } - }; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-parent-selector/index.js - - - -/** - * WordPress dependencies - */ - - - - - -/** - * 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, - toggleBlockHighlight - } = Object(external_wp_data_["useDispatch"])(store); - const { - firstParentClientId, - shouldHide, - hasReducedUI - } = Object(external_wp_data_["useSelect"])(select => { - const { - getBlockName, - getBlockParents, - getSelectedBlockClientId, - getSettings - } = select(store); - const { - hasBlockSupport - } = select(external_wp_blocks_["store"]); - const selectedBlockClientId = getSelectedBlockClientId(); - const parents = getBlockParents(selectedBlockClientId); - const _firstParentClientId = parents[parents.length - 1]; - const parentBlockName = getBlockName(_firstParentClientId); - - const _parentBlockType = Object(external_wp_blocks_["getBlockType"])(parentBlockName); - - const settings = getSettings(); - return { - firstParentClientId: _firstParentClientId, - shouldHide: !hasBlockSupport(_parentBlockType, '__experimentalParentSelector', true), - hasReducedUI: settings.hasReducedUI - }; - }, []); - const blockInformation = useBlockDisplayInformation(firstParentClientId); // Allows highlighting the parent block outline when focusing or hovering - // the parent block selector within the child. - - const nodeRef = Object(external_wp_element_["useRef"])(); - const { - gestures: showMoversGestures - } = useShowMoversGestures({ - ref: nodeRef, - - onChange(isFocused) { - if (isFocused && hasReducedUI) { - return; - } - - toggleBlockHighlight(firstParentClientId, isFocused); - } - - }); - - if (shouldHide || firstParentClientId === undefined) { - return null; - } - - return Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({ - className: "block-editor-block-parent-selector", - key: firstParentClientId, - ref: nodeRef - }, showMoversGestures), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - className: "block-editor-block-parent-selector__button", - onClick: () => selectBlock(firstParentClientId), - label: Object(external_wp_i18n_["sprintf"])( - /* translators: %s: Name of the block's parent. */ - Object(external_wp_i18n_["__"])('Select %s'), blockInformation.title), - showTooltip: true, - icon: Object(external_wp_element_["createElement"])(BlockIcon, { - icon: blockInformation.icon - }) - })); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/stack.js - - -/** - * WordPress dependencies - */ - -const stack_stack = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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_stack = (stack_stack); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/preview-block-popover.js - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -function PreviewBlockPopover({ - blocks -}) { - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-switcher__popover__preview__parent" - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-switcher__popover__preview__container" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { - className: "block-editor-block-switcher__preview__popover", - position: "bottom right", - focusOnMount: false - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-switcher__preview" - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-switcher__preview-title" - }, Object(external_wp_i18n_["__"])('Preview')), Object(external_wp_element_["createElement"])(block_preview, { - viewportWidth: 500, - blocks: blocks - }))))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-switcher/block-transformations-menu.js - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - -const BlockTransformationsMenu = ({ - className, - possibleBlockTransformations, - onSelect, - blocks -}) => { - const [hoveredTransformItemName, setHoveredTransformItemName] = Object(external_wp_element_["useState"])(); - return Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { - label: Object(external_wp_i18n_["__"])('Transform to'), - className: className - }, hoveredTransformItemName && Object(external_wp_element_["createElement"])(PreviewBlockPopover, { - blocks: Object(external_wp_blocks_["switchToBlockType"])(blocks, hoveredTransformItemName) - }), possibleBlockTransformations.map(item => { - const { - name, - icon, - title, - isDisabled - } = item; - return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - key: name, - className: Object(external_wp_blocks_["getBlockMenuDefaultClassName"])(name), - onClick: event => { - event.preventDefault(); - onSelect(name); - }, - disabled: isDisabled, - onMouseLeave: () => setHoveredTransformItemName(null), - onMouseEnter: () => setHoveredTransformItemName(name) - }, Object(external_wp_element_["createElement"])(BlockIcon, { - 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 -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -/** - * Returns the active style from the given className. - * - * @param {Array} styles Block style variations. - * @param {string} className Class name - * - * @return {Object?} The active style. - */ - -function getActiveStyle(styles, className) { - for (const style of new external_wp_tokenList_default.a(className).values()) { - if (style.indexOf('is-style-') === -1) { - continue; - } - - const potentialStyleName = style.substring(9); - const activeStyle = Object(external_lodash_["find"])(styles, { - name: potentialStyleName - }); - - if (activeStyle) { - return activeStyle; - } - } - - return Object(external_lodash_["find"])(styles, 'isDefault'); -} -/** - * 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.a(className); - - if (activeStyle) { - list.remove('is-style-' + activeStyle.name); - } - - list.add('is-style-' + newStyle.name); - return list.value; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-styles/index.js - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - -const EMPTY_OBJECT = {}; - -function useGenericPreviewBlock(block, type) { - return Object(external_wp_element_["useMemo"])(() => { - const example = type === null || type === void 0 ? void 0 : type.example; - const blockName = type === null || type === void 0 ? void 0 : type.name; - - if (example && blockName) { - return Object(external_wp_blocks_["getBlockFromExample"])(blockName, { - attributes: example.attributes, - innerBlocks: example.innerBlocks - }); - } - - if (block) { - return Object(external_wp_blocks_["cloneBlock"])(block); - } - }, [type !== null && type !== void 0 && type.example ? block === null || block === void 0 ? void 0 : block.name : block, type]); -} - -function BlockStyles({ - clientId, - onSwitch = external_lodash_["noop"], - onHoverClassName = external_lodash_["noop"], - itemRole -}) { - const selector = select => { - const { - getBlock - } = select(store); - const block = getBlock(clientId); - - if (!block) { - return EMPTY_OBJECT; - } - - const blockType = Object(external_wp_blocks_["getBlockType"])(block.name); - const { - getBlockStyles - } = select(external_wp_blocks_["store"]); - return { - block, - type: blockType, - styles: getBlockStyles(block.name), - className: block.attributes.className || '' - }; - }; - - const { - styles, - block, - type, - className - } = Object(external_wp_data_["useSelect"])(selector, [clientId]); - const { - updateBlockAttributes - } = Object(external_wp_data_["useDispatch"])(store); - const genericPreviewBlock = useGenericPreviewBlock(block, type); - - if (!styles || styles.length === 0) { - return null; - } - - const renderedStyles = Object(external_lodash_["find"])(styles, 'isDefault') ? styles : [{ - name: 'default', - label: Object(external_wp_i18n_["_x"])('Default', 'block style'), - isDefault: true - }, ...styles]; - const activeStyle = getActiveStyle(renderedStyles, className); - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-styles" - }, renderedStyles.map(style => { - const styleClassName = replaceActiveStyle(className, activeStyle, style); - return Object(external_wp_element_["createElement"])(BlockStyleItem, { - genericPreviewBlock: genericPreviewBlock, - className: className, - isActive: activeStyle === style, - key: style.name, - onSelect: () => { - updateBlockAttributes(clientId, { - className: styleClassName - }); - onHoverClassName(null); - onSwitch(); - }, - onBlur: () => onHoverClassName(null), - onHover: () => onHoverClassName(styleClassName), - style: style, - styleClassName: styleClassName, - itemRole: itemRole - }); - })); -} - -function BlockStyleItem({ - genericPreviewBlock, - style, - isActive, - onBlur, - onHover, - onSelect, - styleClassName, - itemRole -}) { - const previewBlocks = Object(external_wp_element_["useMemo"])(() => { - return { ...genericPreviewBlock, - attributes: { ...genericPreviewBlock.attributes, - className: styleClassName - } - }; - }, [genericPreviewBlock, styleClassName]); - return Object(external_wp_element_["createElement"])("div", { - key: style.name, - className: classnames_default()('block-editor-block-styles__item', { - 'is-active': isActive - }), - onClick: () => onSelect(), - onKeyDown: event => { - if (external_wp_keycodes_["ENTER"] === event.keyCode || external_wp_keycodes_["SPACE"] === event.keyCode) { - event.preventDefault(); - onSelect(); - } - }, - onMouseEnter: onHover, - onMouseLeave: onBlur, - role: itemRole || 'button', - tabIndex: "0", - "aria-label": style.label || style.name - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-styles__item-preview" - }, Object(external_wp_element_["createElement"])(block_preview, { - viewportWidth: 500, - blocks: previewBlocks - })), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-styles__item-label" - }, style.label || style.name)); -} - -/* harmony default export */ var block_styles = (BlockStyles); - -// 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 { - name, - clientId - } = hoveredBlock; - const [hoveredClassName, setHoveredClassName] = Object(external_wp_element_["useState"])(); - const blockType = Object(external_wp_data_["useSelect"])(select => select(external_wp_blocks_["store"]).getBlockType(name), [name]); - return Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { - label: Object(external_wp_i18n_["__"])('Styles'), - className: "block-editor-block-switcher__styles__menugroup" - }, hoveredClassName && Object(external_wp_element_["createElement"])(PreviewBlockPopover, { - blocks: blockType.example ? Object(external_wp_blocks_["getBlockFromExample"])(blockType.name, { - attributes: { ...blockType.example.attributes, - className: hoveredClassName - }, - innerBlocks: blockType.example.innerBlocks - }) : Object(external_wp_blocks_["cloneBlock"])(hoveredBlock, { - className: hoveredClassName - }) - }), Object(external_wp_element_["createElement"])(block_styles, { - clientId: clientId, - onSwitch: onSwitch, - onHoverClassName: setHoveredClassName, - itemRole: "menuitem" - })); -} - -// 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?} 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 = Object(external_wp_blocks_["__experimentalGetBlockAttributesNamesByRole"])(name, 'content'); - if (!(contentAttributes !== null && contentAttributes !== void 0 && 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 => Object(external_wp_blocks_["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. - */ -// TODO tests - -const useTransformedPatterns = (patterns, selectedBlocks) => { - return Object(external_wp_element_["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] = Object(external_wp_element_["useState"])(false); - const patterns = use_transformed_patterns(statePatterns, blocks); - if (!patterns.length) return null; - return Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { - className: "block-editor-block-switcher__pattern__transforms__menugroup" - }, showTransforms && Object(external_wp_element_["createElement"])(PreviewPatternsPopover, { - patterns: patterns, - onSelect: onSelect - }), Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - onClick: event => { - event.preventDefault(); - setShowTransforms(!showTransforms); - }, - icon: chevron_right["a" /* default */] - }, Object(external_wp_i18n_["__"])('Patterns'))); -} - -function PreviewPatternsPopover({ - patterns, - onSelect -}) { - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-switcher__popover__preview__parent" - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-switcher__popover__preview__container" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { - className: "block-editor-block-switcher__preview__popover", - position: "bottom right" - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-switcher__preview" - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-switcher__preview-title" - }, Object(external_wp_i18n_["__"])('Preview')), Object(external_wp_element_["createElement"])(BlockPatternsList, { - patterns: patterns, - onSelect: onSelect - }))))); -} - -function BlockPatternsList({ - patterns, - onSelect -}) { - const composite = Object(external_wp_components_["__unstableUseCompositeState"])(); - return Object(external_wp_element_["createElement"])(external_wp_components_["__unstableComposite"], Object(esm_extends["a" /* default */])({}, composite, { - role: "listbox", - className: "block-editor-block-switcher__preview-patterns-container", - "aria-label": Object(external_wp_i18n_["__"])('Patterns list') - }), patterns.map(pattern => Object(external_wp_element_["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 = Object(external_wp_compose_["useInstanceId"])(pattern_transformations_menu_BlockPattern, `${baseClassName}-list__item-description`); - return Object(external_wp_element_["createElement"])("div", { - className: `${baseClassName}-list__list-item`, - "aria-label": pattern.title, - "aria-describedby": pattern.description ? descriptionId : undefined - }, Object(external_wp_element_["createElement"])(external_wp_components_["__unstableCompositeItem"], Object(esm_extends["a" /* default */])({ - role: "option", - as: "div" - }, composite, { - className: `${baseClassName}-list__item`, - onClick: () => onSelect(pattern.transformedBlocks) - }), Object(external_wp_element_["createElement"])(block_preview, { - blocks: pattern.transformedBlocks, - viewportWidth: pattern.viewportWidth || 500 - }), Object(external_wp_element_["createElement"])("div", { - className: `${baseClassName}-list__item-title` - }, pattern.title)), !!pattern.description && Object(external_wp_element_["createElement"])(external_wp_components_["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 - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - - - - - -const BlockSwitcherDropdownMenu = ({ - clientIds, - blocks -}) => { - const { - replaceBlocks - } = Object(external_wp_data_["useDispatch"])(store); - const blockInformation = useBlockDisplayInformation(blocks[0].clientId); - const { - possibleBlockTransformations, - hasBlockStyles, - icon, - blockTitle, - patterns - } = Object(external_wp_data_["useSelect"])(select => { - const { - getBlockRootClientId, - getBlockTransformItems, - __experimentalGetPatternTransformItems - } = select(store); - const { - getBlockStyles, - getBlockType - } = select(external_wp_blocks_["store"]); - const rootClientId = getBlockRootClientId(Object(external_lodash_["castArray"])(clientIds)[0]); - const [{ - name: firstBlockName - }] = blocks; - - const _isSingleBlockSelected = blocks.length === 1; - - const styles = _isSingleBlockSelected && getBlockStyles(firstBlockName); - - let _icon; - - if (_isSingleBlockSelected) { - _icon = blockInformation === null || blockInformation === void 0 ? void 0 : blockInformation.icon; // Take into account active block variations. - } else { - var _getBlockType; - - const isSelectionOfSameType = Object(external_lodash_["uniq"])(blocks.map(({ - name - }) => name)).length === 1; // When selection consists of blocks of multiple types, display an - // appropriate icon to communicate the non-uniformity. - - _icon = isSelectionOfSameType ? (_getBlockType = getBlockType(firstBlockName)) === null || _getBlockType === void 0 ? void 0 : _getBlockType.icon : library_stack; - } - - return { - possibleBlockTransformations: getBlockTransformItems(blocks, rootClientId), - hasBlockStyles: !!(styles !== null && styles !== void 0 && styles.length), - icon: _icon, - blockTitle: getBlockType(firstBlockName).title, - patterns: __experimentalGetPatternTransformItems(blocks, rootClientId) - }; - }, [clientIds, blocks, blockInformation === null || blockInformation === void 0 ? void 0 : blockInformation.icon]); - const isReusable = blocks.length === 1 && Object(external_wp_blocks_["isReusableBlock"])(blocks[0]); - const isTemplate = blocks.length === 1 && Object(external_wp_blocks_["isTemplatePart"])(blocks[0]); // Simple block tranformation based on the `Block Transforms` API. - - const onBlockTransform = name => replaceBlocks(clientIds, Object(external_wp_blocks_["switchToBlockType"])(blocks, name)); // Pattern transformation through the `Patterns` API. - - - const onPatternTransform = transformedBlocks => replaceBlocks(clientIds, transformedBlocks); - - const hasPossibleBlockTransformations = !!possibleBlockTransformations.length; - const hasPatternTransformation = !!(patterns !== null && patterns !== void 0 && patterns.length); - - if (!hasBlockStyles && !hasPossibleBlockTransformations) { - return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - disabled: true, - className: "block-editor-block-switcher__no-switcher-icon", - title: blockTitle, - icon: Object(external_wp_element_["createElement"])(BlockIcon, { - icon: icon, - showColors: true - }) - })); - } - - const blockSwitcherLabel = blockTitle; - const blockSwitcherDescription = 1 === blocks.length ? Object(external_wp_i18n_["sprintf"])( - /* translators: %s: block title. */ - Object(external_wp_i18n_["__"])('%s: Change block type or style'), blockTitle) : Object(external_wp_i18n_["sprintf"])( - /* translators: %d: number of blocks. */ - Object(external_wp_i18n_["_n"])('Change type of %d block', 'Change type of %d blocks', blocks.length), blocks.length); - const showDropDown = hasBlockStyles || hasPossibleBlockTransformations || hasPatternTransformation; - return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarItem"], null, toggleProps => Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { - className: "block-editor-block-switcher", - label: blockSwitcherLabel, - popoverProps: { - position: 'bottom right', - isAlternate: true, - className: 'block-editor-block-switcher__popover' - }, - icon: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(BlockIcon, { - icon: icon, - className: "block-editor-block-switcher__toggle", - showColors: true - }), (isReusable || isTemplate) && Object(external_wp_element_["createElement"])("span", { - className: "block-editor-block-switcher__toggle-text" - }, Object(external_wp_element_["createElement"])(BlockTitle, { - clientId: clientIds - }))), - toggleProps: { - describedBy: blockSwitcherDescription, - ...toggleProps - }, - menuProps: { - orientation: 'both' - } - }, ({ - onClose - }) => showDropDown && Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-switcher__container" - }, hasPatternTransformation && Object(external_wp_element_["createElement"])(pattern_transformations_menu, { - blocks: blocks, - patterns: patterns, - onSelect: transformedBlocks => { - onPatternTransform(transformedBlocks); - onClose(); - } - }), hasPossibleBlockTransformations && Object(external_wp_element_["createElement"])(block_transformations_menu, { - className: "block-editor-block-switcher__transforms__menugroup", - possibleBlockTransformations: possibleBlockTransformations, - blocks: blocks, - onSelect: name => { - onBlockTransform(name); - onClose(); - } - }), hasBlockStyles && Object(external_wp_element_["createElement"])(BlockStylesMenu, { - hoveredBlock: blocks[0], - onSwitch: onClose - }))))); -}; -const BlockSwitcher = ({ - clientIds -}) => { - const blocks = Object(external_wp_data_["useSelect"])(select => select(store).getBlocksByClientId(clientIds), [clientIds]); - - if (!blocks.length || blocks.some(block => !block)) { - return null; - } - - return Object(external_wp_element_["createElement"])(BlockSwitcherDropdownMenu, { - clientIds: clientIds, - blocks: blocks - }); -}; -/* harmony default export */ var block_switcher = (BlockSwitcher); - -// EXTERNAL MODULE: external ["wp","blob"] -var external_wp_blob_ = __webpack_require__("xTGt"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/get-paste-event-data.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. - return; - } - } - - const files = Object(external_wp_dom_["getFilesFromDataTransfer"])(clipboardData).filter(({ - type - }) => /^image\/(?:jpe?g|png|gif)$/.test(type)); // Only process files if no HTML is present. - // A pasted file may have the URL as plain text. - - if (files.length && !html) { - html = files.map(file => ``).join(''); - plainText = ''; - } - - return { - html, - plainText - }; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/copy-handler/index.js - - -/** - * WordPress dependencies - */ - - - - - - - -/** - * Internal dependencies - */ - - - -function useNotifyCopy() { - const { - getBlockName - } = Object(external_wp_data_["useSelect"])(store); - const { - getBlockType - } = Object(external_wp_data_["useSelect"])(external_wp_blocks_["store"]); - const { - createSuccessNotice - } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); - return Object(external_wp_element_["useCallback"])((eventType, selectedBlockClientIds) => { - let notice = ''; - - if (selectedBlockClientIds.length === 1) { - const clientId = selectedBlockClientIds[0]; - const { - title - } = getBlockType(getBlockName(clientId)); - notice = eventType === 'copy' ? Object(external_wp_i18n_["sprintf"])( // Translators: Name of the block being copied, e.g. "Paragraph". - Object(external_wp_i18n_["__"])('Copied "%s" to clipboard.'), title) : Object(external_wp_i18n_["sprintf"])( // Translators: Name of the block being cut, e.g. "Paragraph". - Object(external_wp_i18n_["__"])('Moved "%s" to clipboard.'), title); - } else { - notice = eventType === 'copy' ? Object(external_wp_i18n_["sprintf"])( // Translators: %d: Number of blocks being copied. - Object(external_wp_i18n_["_n"])('Copied %d block to clipboard.', 'Copied %d blocks to clipboard.', selectedBlockClientIds.length), selectedBlockClientIds.length) : Object(external_wp_i18n_["sprintf"])( // Translators: %d: Number of blocks being cut. - Object(external_wp_i18n_["_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 - } = Object(external_wp_data_["useSelect"])(store); - const { - flashBlock, - removeBlocks, - replaceBlocks - } = Object(external_wp_data_["useDispatch"])(store); - const notifyCopy = useNotifyCopy(); - return Object(external_wp_compose_["useRefEffect"])(node => { - function handler(event) { - 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' ? Object(external_wp_dom_["documentHasUncollapsedSelection"])(ownerDocument) : Object(external_wp_dom_["documentHasSelection"])(ownerDocument); // Let native copy behaviour take over in input fields. - - if (hasSelection) { - return; - } - } - - if (!node.contains(event.target.ownerDocument.activeElement)) { - return; - } - - event.preventDefault(); - - if (event.type === 'copy' || event.type === 'cut') { - if (selectedBlockClientIds.length === 1) { - flashBlock(selectedBlockClientIds[0]); - } - - notifyCopy(event.type, selectedBlockClientIds); - const blocks = getBlocksByClientId(selectedBlockClientIds); - const serialized = Object(external_wp_blocks_["serialize"])(blocks); - event.clipboardData.setData('text/plain', serialized); - event.clipboardData.setData('text/html', serialized); - } - - if (event.type === 'cut') { - removeBlocks(selectedBlockClientIds); - } else if (event.type === 'paste') { - const { - __experimentalCanUserUseUnfilteredHTML: canUserUseUnfilteredHTML - } = getSettings(); - const { - plainText, - html - } = getPasteEventData(event); - const blocks = Object(external_wp_blocks_["pasteHandler"])({ - HTML: html, - plainText, - mode: 'BLOCKS', - canUserUseUnfilteredHTML - }); - 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); - }; - }, []); -} - -function CopyHandler({ - children -}) { - return Object(external_wp_element_["createElement"])("div", { - ref: useClipboardHandler() - }, children); -} - -/* harmony default export */ var copy_handler = (CopyHandler); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-actions/index.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -function BlockActions({ - clientIds, - children, - __experimentalUpdateSelection: updateSelection -}) { - const { - canInsertBlockType, - getBlockRootClientId, - getBlocksByClientId, - getTemplateLock - } = Object(external_wp_data_["useSelect"])(select => select(store), []); - const { - getDefaultBlockName, - getGroupingBlockName - } = Object(external_wp_data_["useSelect"])(select => select(external_wp_blocks_["store"]), []); - const blocks = getBlocksByClientId(clientIds); - const rootClientId = getBlockRootClientId(clientIds[0]); - const canDuplicate = Object(external_lodash_["every"])(blocks, block => { - return !!block && Object(external_wp_blocks_["hasBlockSupport"])(block.name, 'multiple', true) && canInsertBlockType(block.name, rootClientId); - }); - const canInsertDefaultBlock = canInsertBlockType(getDefaultBlockName(), rootClientId); - const { - removeBlocks, - replaceBlocks, - duplicateBlocks, - insertAfterBlock, - insertBeforeBlock, - flashBlock, - setBlockMovingClientId, - setNavigationMode, - selectBlock - } = Object(external_wp_data_["useDispatch"])(store); - const notifyCopy = useNotifyCopy(); - return children({ - canDuplicate, - canInsertDefaultBlock, - isLocked: !!getTemplateLock(rootClientId), - rootClientId, - blocks, - - onDuplicate() { - return duplicateBlocks(clientIds, updateSelection); - }, - - onRemove() { - return removeBlocks(clientIds, updateSelection); - }, - - onInsertBefore() { - insertBeforeBlock(Object(external_lodash_["first"])(Object(external_lodash_["castArray"])(clientIds))); - }, - - onInsertAfter() { - insertAfterBlock(Object(external_lodash_["last"])(Object(external_lodash_["castArray"])(clientIds))); - }, - - onMoveTo() { - setNavigationMode(true); - selectBlock(clientIds[0]); - setBlockMovingClientId(clientIds[0]); - }, - - onGroup() { - if (!blocks.length) { - return; - } - - const groupingBlockName = getGroupingBlockName(); // Activate the `transform` on `core/group` which does the conversion - - const newBlocks = Object(external_wp_blocks_["switchToBlockType"])(blocks, groupingBlockName); - - if (!newBlocks) { - return; - } - - replaceBlocks(clientIds, newBlocks); - }, - - onUngroup() { - if (!blocks.length) { - return; - } - - const innerBlocks = blocks[0].innerBlocks; - - if (!innerBlocks.length) { - return; - } - - replaceBlocks(clientIds, innerBlocks); - }, - - onCopy() { - const selectedBlockClientIds = blocks.map(({ - clientId - }) => clientId); - - if (blocks.length === 1) { - flashBlock(selectedBlockClientIds[0]); - } - - notifyCopy('copy', selectedBlockClientIds); - } - - }); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/block-mode-toggle.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - -function BlockModeToggle({ - blockType, - mode, - onToggleMode, - small = false, - isCodeEditingEnabled = true -}) { - if (!Object(external_wp_blocks_["hasBlockSupport"])(blockType, 'html', true) || !isCodeEditingEnabled) { - return null; - } - - const label = mode === 'visual' ? Object(external_wp_i18n_["__"])('Edit as HTML') : Object(external_wp_i18n_["__"])('Edit visually'); - return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - onClick: onToggleMode - }, !small && label); -} -/* harmony default export */ var block_mode_toggle = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withSelect"])((select, { - clientId -}) => { - const { - getBlock, - getBlockMode, - getSettings - } = select(store); - const block = getBlock(clientId); - const isCodeEditingEnabled = getSettings().codeEditingEnabled; - return { - mode: getBlockMode(clientId), - blockType: block ? Object(external_wp_blocks_["getBlockType"])(block.name) : null, - isCodeEditingEnabled - }; -}), Object(external_wp_data_["withDispatch"])((dispatch, { - onToggle = external_lodash_["noop"], - clientId -}) => ({ - onToggleMode() { - dispatch(store).toggleBlockMode(clientId); - onToggle(); - } - -}))])(BlockModeToggle)); - -// 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 = Object(external_wp_i18n_["__"])('Convert to Blocks'); - - return Object(external_wp_element_["createElement"])(external_wp_components_["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 - */ - - - -/** - * Internal dependencies - */ - - - -/* harmony default export */ var block_html_convert_button = (Object(external_wp_compose_["compose"])(Object(external_wp_data_["withSelect"])((select, { - clientId -}) => { - const block = select(store).getBlock(clientId); - return { - block, - shouldRender: block && block.name === 'core/html' - }; -}), Object(external_wp_data_["withDispatch"])((dispatch, { - block -}) => ({ - onClick: () => dispatch(store).replaceBlocks(block.clientId, Object(external_wp_blocks_["rawHandler"])({ - HTML: Object(external_wp_blocks_["getBlockContent"])(block) - })) -})))(BlockConvertButton)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/block-settings-menu-first-item.js -/** - * WordPress dependencies - */ - -const { - Fill: __unstableBlockSettingsMenuFirstItem, - Slot: block_settings_menu_first_item_Slot -} = Object(external_wp_components_["createSlotFill"])('__unstableBlockSettingsMenuFirstItem'); -__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/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. - * - * @return {ConvertToGroupButtonProps} Returns the properties needed by `ConvertToGroupButton`. - */ - -function useConvertToGroupButtonProps() { - const { - clientIds, - isGroupable, - isUngroupable, - blocksSelection, - groupingBlockName - } = Object(external_wp_data_["useSelect"])(select => { - var _blocksSelection$; - - const { - getBlockRootClientId, - getBlocksByClientId, - canInsertBlockType, - getSelectedBlockClientIds - } = select(store); - const { - getGroupingBlockName - } = select(external_wp_blocks_["store"]); - - const _clientIds = getSelectedBlockClientIds(); - - const _groupingBlockName = getGroupingBlockName(); - - const rootClientId = !!(_clientIds !== null && _clientIds !== void 0 && _clientIds.length) ? getBlockRootClientId(_clientIds[0]) : undefined; - const groupingBlockAvailable = canInsertBlockType(_groupingBlockName, rootClientId); - - const _blocksSelection = getBlocksByClientId(_clientIds); - - const isSingleGroupingBlock = _blocksSelection.length === 1 && ((_blocksSelection$ = _blocksSelection[0]) === null || _blocksSelection$ === void 0 ? void 0 : _blocksSelection$.name) === _groupingBlockName; // Do we have - // 1. Grouping block available to be inserted? - // 2. One or more blocks selected - // (we allow single Blocks to become groups unless - // they are a soltiary group block themselves) - - const _isGroupable = groupingBlockAvailable && _blocksSelection.length && !isSingleGroupingBlock; // Do we have a single Group Block selected and does that group have inner blocks? - - - const _isUngroupable = isSingleGroupingBlock && !!_blocksSelection[0].innerBlocks.length; - - return { - clientIds: _clientIds, - isGroupable: _isGroupable, - isUngroupable: _isUngroupable, - blocksSelection: _blocksSelection, - groupingBlockName: _groupingBlockName - }; - }, []); - return { - clientIds, - isGroupable, - isUngroupable, - blocksSelection, - groupingBlockName - }; -} - -// 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, - blocksSelection, - groupingBlockName, - onClose = () => {} -}) { - const { - replaceBlocks - } = Object(external_wp_data_["useDispatch"])(store); - - const onConvertToGroup = () => { - // Activate the `transform` on the Grouping Block which does the conversion - const newBlocks = Object(external_wp_blocks_["switchToBlockType"])(blocksSelection, groupingBlockName); - - if (newBlocks) { - replaceBlocks(clientIds, newBlocks); - } - }; - - const onConvertFromGroup = () => { - const innerBlocks = blocksSelection[0].innerBlocks; - - if (!innerBlocks.length) { - return; - } - - replaceBlocks(clientIds, innerBlocks); - }; - - if (!isGroupable && !isUngroupable) { - return null; - } - - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, isGroupable && Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - onClick: () => { - onConvertToGroup(); - onClose(); - } - }, Object(external_wp_i18n_["_x"])('Group', 'verb')), isUngroupable && Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - onClick: () => { - onConvertFromGroup(); - onClose(); - } - }, Object(external_wp_i18n_["_x"])('Ungroup', 'Ungrouping blocks from within a Group block back into individual blocks within the Editor '))); -} - - - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu-controls/index.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -const { - Fill: block_settings_menu_controls_Fill, - Slot: block_settings_menu_controls_Slot -} = Object(external_wp_components_["createSlotFill"])('BlockSettingsMenuControls'); - -const BlockSettingsMenuControlsSlot = ({ - fillProps, - clientIds = null -}) => { - const selectedBlocks = Object(external_wp_data_["useSelect"])(select => { - const { - getBlocksByClientId, - getSelectedBlockClientIds - } = select(store); - const ids = clientIds !== null ? clientIds : getSelectedBlockClientIds(); - return Object(external_lodash_["map"])(Object(external_lodash_["compact"])(getBlocksByClientId(ids)), block => block.name); - }, [clientIds]); // Check if current selection of blocks is Groupable or Ungroupable - // and pass this props down to ConvertToGroupButton. - - const convertToGroupButtonProps = useConvertToGroupButtonProps(); - const { - isGroupable, - isUngroupable - } = convertToGroupButtonProps; - const showConvertToGroupButton = isGroupable || isUngroupable; - return Object(external_wp_element_["createElement"])(block_settings_menu_controls_Slot, { - fillProps: { ...fillProps, - selectedBlocks - } - }, fills => { - if ((fills === null || fills === void 0 ? void 0 : fills.length) > 0 || showConvertToGroupButton) { - return Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, fills, Object(external_wp_element_["createElement"])(ConvertToGroupButton, Object(esm_extends["a" /* default */])({}, convertToGroupButtonProps, { - onClose: fillProps === null || fillProps === void 0 ? void 0 : 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 Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalStyleProvider"], { - document: document - }, Object(external_wp_element_["createElement"])(block_settings_menu_controls_Fill, props)); -} - -BlockSettingsMenuControls.Slot = BlockSettingsMenuControlsSlot; -/* harmony default export */ var block_settings_menu_controls = (BlockSettingsMenuControls); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/block-settings-dropdown.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - - - - -/** - * Internal dependencies - */ - - - - - - -const block_settings_dropdown_POPOVER_PROPS = { - className: 'block-editor-block-settings-menu__popover', - position: 'bottom right', - isAlternate: true -}; - -function CopyMenuItem({ - blocks, - onCopy -}) { - const ref = Object(external_wp_compose_["useCopyToClipboard"])(() => Object(external_wp_blocks_["serialize"])(blocks), onCopy); - return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - ref: ref - }, Object(external_wp_i18n_["__"])('Copy')); -} - -function BlockSettingsDropdown({ - clientIds, - __experimentalSelectBlock, - children, - ...props -}) { - const blockClientIds = Object(external_lodash_["castArray"])(clientIds); - const count = blockClientIds.length; - const firstBlockClientId = blockClientIds[0]; - const shortcuts = Object(external_wp_data_["useSelect"])(select => { - const { - getShortcutRepresentation - } = select(external_wp_keyboardShortcuts_["store"]); - return { - duplicate: getShortcutRepresentation('core/block-editor/duplicate'), - remove: getShortcutRepresentation('core/block-editor/remove'), - insertAfter: getShortcutRepresentation('core/block-editor/insert-after'), - insertBefore: getShortcutRepresentation('core/block-editor/insert-before') - }; - }, []); - const updateSelection = Object(external_wp_element_["useCallback"])(__experimentalSelectBlock ? async clientIdsPromise => { - const ids = await clientIdsPromise; - - if (ids && ids[0]) { - __experimentalSelectBlock(ids[0]); - } - } : external_lodash_["noop"], [__experimentalSelectBlock]); - const removeBlockLabel = count === 1 ? Object(external_wp_i18n_["__"])('Remove block') : Object(external_wp_i18n_["__"])('Remove blocks'); - return Object(external_wp_element_["createElement"])(BlockActions, { - clientIds: clientIds, - __experimentalUpdateSelection: !__experimentalSelectBlock - }, ({ - canDuplicate, - canInsertDefaultBlock, - isLocked, - onDuplicate, - onInsertAfter, - onInsertBefore, - onRemove, - onCopy, - onMoveTo, - blocks - }) => Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], Object(esm_extends["a" /* default */])({ - icon: more_vertical["a" /* default */], - label: Object(external_wp_i18n_["__"])('Options'), - className: "block-editor-block-settings-menu", - popoverProps: block_settings_dropdown_POPOVER_PROPS, - noIcons: true - }, props), ({ - onClose - }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, Object(external_wp_element_["createElement"])(block_settings_menu_first_item.Slot, { - fillProps: { - onClose - } - }), count === 1 && Object(external_wp_element_["createElement"])(block_html_convert_button, { - clientId: firstBlockClientId - }), Object(external_wp_element_["createElement"])(CopyMenuItem, { - blocks: blocks, - onCopy: onCopy - }), canDuplicate && Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - onClick: Object(external_lodash_["flow"])(onClose, onDuplicate, updateSelection), - shortcut: shortcuts.duplicate - }, Object(external_wp_i18n_["__"])('Duplicate')), canInsertDefaultBlock && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - onClick: Object(external_lodash_["flow"])(onClose, onInsertBefore), - shortcut: shortcuts.insertBefore - }, Object(external_wp_i18n_["__"])('Insert before')), Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - onClick: Object(external_lodash_["flow"])(onClose, onInsertAfter), - shortcut: shortcuts.insertAfter - }, Object(external_wp_i18n_["__"])('Insert after'))), !isLocked && Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - onClick: Object(external_lodash_["flow"])(onClose, onMoveTo) - }, Object(external_wp_i18n_["__"])('Move to')), count === 1 && Object(external_wp_element_["createElement"])(block_mode_toggle, { - clientId: firstBlockClientId, - onToggle: onClose - })), Object(external_wp_element_["createElement"])(block_settings_menu_controls.Slot, { - fillProps: { - onClose - }, - clientIds: clientIds - }), typeof children === 'function' ? children({ - onClose - }) : external_wp_element_["Children"].map(child => Object(external_wp_element_["cloneElement"])(child, { - onClose - })), Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, !isLocked && Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - onClick: Object(external_lodash_["flow"])(onClose, onRemove, updateSelection), - shortcut: shortcuts.remove - }, removeBlockLabel))))); -} -/* harmony default export */ var block_settings_dropdown = (BlockSettingsDropdown); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-settings-menu/index.js - - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - -function BlockSettingsMenu({ - clientIds, - ...props -}) { - return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarItem"], null, toggleProps => Object(external_wp_element_["createElement"])(block_settings_dropdown, Object(esm_extends["a" /* default */])({ - clientIds: clientIds, - toggleProps: toggleProps - }, props)))); -} -/* harmony default export */ var block_settings_menu = (BlockSettingsMenu); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-toolbar/index.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - - - - - -function BlockToolbar({ - hideDragHandle -}) { - const { - blockClientIds, - blockClientId, - blockType, - hasFixedToolbar, - hasReducedUI, - isValid, - isVisual - } = Object(external_wp_data_["useSelect"])(select => { - const { - getBlockName, - getBlockMode, - getSelectedBlockClientIds, - isBlockValid, - getBlockRootClientId, - getSettings - } = select(store); - const selectedBlockClientIds = getSelectedBlockClientIds(); - const selectedBlockClientId = selectedBlockClientIds[0]; - const blockRootClientId = getBlockRootClientId(selectedBlockClientId); - const settings = getSettings(); - return { - blockClientIds: selectedBlockClientIds, - blockClientId: selectedBlockClientId, - blockType: selectedBlockClientId && Object(external_wp_blocks_["getBlockType"])(getBlockName(selectedBlockClientId)), - hasFixedToolbar: settings.hasFixedToolbar, - hasReducedUI: settings.hasReducedUI, - rootClientId: blockRootClientId, - isValid: selectedBlockClientIds.every(id => isBlockValid(id)), - isVisual: selectedBlockClientIds.every(id => getBlockMode(id) === 'visual') - }; - }, []); // Handles highlighting the current block outline on hover or focus of the - // block type toolbar area. - - const { - toggleBlockHighlight - } = Object(external_wp_data_["useDispatch"])(store); - const nodeRef = Object(external_wp_element_["useRef"])(); - const { - showMovers, - gestures: showMoversGestures - } = useShowMoversGestures({ - ref: nodeRef, - - onChange(isFocused) { - if (isFocused && hasReducedUI) { - return; - } - - toggleBlockHighlight(blockClientId, isFocused); - } - - }); // Account for the cases where the block toolbar is rendered within the - // header area and not contextually to the block. - - const displayHeaderToolbar = Object(external_wp_compose_["useViewportMatch"])('medium', '<') || hasFixedToolbar; - - if (blockType) { - if (!Object(external_wp_blocks_["hasBlockSupport"])(blockType, '__experimentalToolbar', true)) { - return null; - } - } - - const shouldShowMovers = displayHeaderToolbar || showMovers; - - if (blockClientIds.length === 0) { - return null; - } - - const shouldShowVisualToolbar = isValid && isVisual; - const isMultiToolbar = blockClientIds.length > 1; - const classes = classnames_default()('block-editor-block-toolbar', shouldShowMovers && 'is-showing-movers'); - return Object(external_wp_element_["createElement"])("div", { - className: classes - }, !isMultiToolbar && !displayHeaderToolbar && Object(external_wp_element_["createElement"])(BlockParentSelector, { - clientIds: blockClientIds - }), Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({ - ref: nodeRef - }, showMoversGestures), (shouldShowVisualToolbar || isMultiToolbar) && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], { - className: "block-editor-block-toolbar__block-controls" - }, Object(external_wp_element_["createElement"])(block_switcher, { - clientIds: blockClientIds - }), Object(external_wp_element_["createElement"])(block_mover, { - clientIds: blockClientIds, - hideDragHandle: hideDragHandle || hasReducedUI - }))), shouldShowVisualToolbar && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(block_controls.Slot, { - group: "block", - className: "block-editor-block-toolbar__slot" - }), Object(external_wp_element_["createElement"])(block_controls.Slot, { - className: "block-editor-block-toolbar__slot" - }), Object(external_wp_element_["createElement"])(block_controls.Slot, { - group: "inline", - className: "block-editor-block-toolbar__slot" - }), Object(external_wp_element_["createElement"])(block_controls.Slot, { - group: "other", - className: "block-editor-block-toolbar__slot" - })), Object(external_wp_element_["createElement"])(block_settings_menu, { - clientIds: blockClientIds - })); -} - -// 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 -}) { - const { - blockType, - hasParents, - showParentSelector - } = Object(external_wp_data_["useSelect"])(select => { - const { - getBlockName, - getBlockParents, - getSelectedBlockClientIds - } = select(store); - const { - getBlockType - } = select(external_wp_blocks_["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 { - blockType: selectedBlockClientId && getBlockType(getBlockName(selectedBlockClientId)), - hasParents: parents.length, - showParentSelector: Object(external_wp_blocks_["hasBlockSupport"])(parentBlockType, '__experimentalParentSelector', true) - }; - }, []); - - if (blockType) { - if (!Object(external_wp_blocks_["hasBlockSupport"])(blockType, '__experimentalToolbar', true)) { - 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 - }); - return Object(external_wp_element_["createElement"])(navigable_toolbar, Object(esm_extends["a" /* default */])({ - focusOnMount: focusOnMount, - className: classes - /* translators: accessibility text for the block toolbar */ - , - "aria-label": Object(external_wp_i18n_["__"])('Block tools') - }, props), Object(external_wp_element_["createElement"])(BlockToolbar, { - hideDragHandle: isFixed - })); -} - -/* harmony default export */ var block_contextual_toolbar = (BlockContextualToolbar); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/block-popover.js - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - - -/** - * Internal dependencies - */ - - - - - - - - -function block_popover_selector(select) { - const { - isNavigationMode, - isMultiSelecting, - hasMultiSelection, - isTyping, - isCaretWithinFormattedText, - getSettings, - getLastMultiSelectedBlockClientId - } = select(store); - return { - isNavigationMode: isNavigationMode(), - isMultiSelecting: isMultiSelecting(), - isTyping: isTyping(), - isCaretWithinFormattedText: isCaretWithinFormattedText(), - hasMultiSelection: hasMultiSelection(), - hasFixedToolbar: getSettings().hasFixedToolbar, - lastClientId: getLastMultiSelectedBlockClientId() - }; -} - -function BlockPopover({ - clientId, - rootClientId, - isValid, - isEmptyDefaultBlock, - capturingClientId, - __unstablePopoverSlot, - __unstableContentRef -}) { - const { - isNavigationMode, - isMultiSelecting, - isTyping, - isCaretWithinFormattedText, - hasMultiSelection, - hasFixedToolbar, - lastClientId - } = Object(external_wp_data_["useSelect"])(block_popover_selector, []); - const isInsertionPointVisible = Object(external_wp_data_["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 isLargeViewport = Object(external_wp_compose_["useViewportMatch"])('medium'); - const [isToolbarForced, setIsToolbarForced] = Object(external_wp_element_["useState"])(false); - const [isInserterShown, setIsInserterShown] = Object(external_wp_element_["useState"])(false); - const { - stopTyping - } = Object(external_wp_data_["useDispatch"])(store); // Controls when the side inserter on empty lines should - // be shown, including writing and selection modes. - - const showEmptyBlockSideInserter = !isTyping && !isNavigationMode && isEmptyDefaultBlock && isValid; - const shouldShowBreadcrumb = isNavigationMode; - const shouldShowContextualToolbar = !isNavigationMode && !hasFixedToolbar && isLargeViewport && !showEmptyBlockSideInserter && !isMultiSelecting && (!isTyping || isCaretWithinFormattedText); - const canFocusHiddenToolbar = !isNavigationMode && !shouldShowContextualToolbar && !hasFixedToolbar && !isEmptyDefaultBlock; - Object(external_wp_keyboardShortcuts_["useShortcut"])('core/block-editor/focus-toolbar', Object(external_wp_element_["useCallback"])(() => { - setIsToolbarForced(true); - stopTyping(true); - }, []), { - bindGlobal: true, - eventName: 'keydown', - isDisabled: !canFocusHiddenToolbar - }); - Object(external_wp_element_["useEffect"])(() => { - if (!shouldShowContextualToolbar) { - setIsToolbarForced(false); - } - }, [shouldShowContextualToolbar]); // Stores the active toolbar item index so the block toolbar can return focus - // to it when re-mounting. - - const initialToolbarItemIndexRef = Object(external_wp_element_["useRef"])(); - const selectedElement = useBlockElement(clientId); - const lastSelectedElement = useBlockElement(lastClientId); - const capturingElement = useBlockElement(capturingClientId); - const popoverScrollRef = usePopoverScroll(__unstableContentRef); - - if (!shouldShowBreadcrumb && !shouldShowContextualToolbar && !isToolbarForced && !showEmptyBlockSideInserter) { - return null; - } - - let node = selectedElement; - - if (!node) { - return null; - } - - if (capturingClientId) { - node = capturingElement; - } - - let anchorRef = node; - - if (hasMultiSelection) { - // Wait to render the popover until the bottom reference is available - // as well. - if (!lastSelectedElement) { - return null; - } - - anchorRef = { - top: node, - bottom: lastSelectedElement - }; - } - - function onFocus() { - setIsInserterShown(true); - } - - function onBlur() { - setIsInserterShown(false); - } // Position above the anchor, pop out towards the right, and position in the - // left corner. For the side inserter, pop out towards the left, and - // position in the right corner. - // To do: refactor `Popover` to make this prop clearer. - - - const popoverPosition = showEmptyBlockSideInserter ? 'top left right' : 'top right left'; - const { - ownerDocument - } = node; - const stickyBoundaryElement = showEmptyBlockSideInserter ? undefined : // The sticky boundary element should be the boundary at which the - // the block toolbar becomes sticky when the block scolls out of view. - // In case of an iframe, this should be the iframe boundary, otherwise - // the scroll container. - ownerDocument.defaultView.frameElement || Object(external_wp_dom_["getScrollContainer"])(node) || ownerDocument.body; - return Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { - ref: popoverScrollRef, - noArrow: true, - animate: false, - position: popoverPosition, - focusOnMount: false, - anchorRef: anchorRef, - className: classnames_default()('block-editor-block-list__block-popover', { - 'is-insertion-point-visible': isInsertionPointVisible - }), - __unstableStickyBoundaryElement: stickyBoundaryElement // Render in the old slot if needed for backward compatibility, - // otherwise render in place (not in the the default popover slot). - , - __unstableSlotName: __unstablePopoverSlot || null, - __unstableBoundaryParent: true // Observe movement for block animations (especially horizontal). - , - __unstableObserveElement: node, - shouldAnchorIncludePadding: true - }, (shouldShowContextualToolbar || isToolbarForced) && Object(external_wp_element_["createElement"])("div", { - onFocus: onFocus, - onBlur: onBlur // While ideally it would be enough to capture the - // bubbling focus event from the Inserter, due to the - // characteristics of click focusing of `button`s in - // Firefox and Safari, it is not reliable. - // - // See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus - , - tabIndex: -1, - className: classnames_default()('block-editor-block-list__block-popover-inserter', { - 'is-visible': isInserterShown - }) - }, Object(external_wp_element_["createElement"])(inserter, { - clientId: clientId, - rootClientId: rootClientId, - __experimentalIsQuick: true - })), (shouldShowContextualToolbar || isToolbarForced) && Object(external_wp_element_["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, - __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 && Object(external_wp_element_["createElement"])(block_selection_button, { - clientId: clientId, - rootClientId: rootClientId, - blockElement: node - }), showEmptyBlockSideInserter && Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-list__empty-block-inserter" - }, Object(external_wp_element_["createElement"])(inserter, { - position: "bottom right", - rootClientId: rootClientId, - clientId: clientId, - __experimentalIsQuick: true - }))); -} - -function wrapperSelector(select) { - const { - getSelectedBlockClientId, - getFirstMultiSelectedBlockClientId, - getBlockRootClientId, - __unstableGetBlockWithoutInnerBlocks, - getBlockParents, - __experimentalGetBlockListSettingsForBlocks - } = select(store); - const clientId = getSelectedBlockClientId() || getFirstMultiSelectedBlockClientId(); - - if (!clientId) { - return; - } - - const { - name, - attributes = {}, - isValid - } = __unstableGetBlockWithoutInnerBlocks(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 = Object(external_lodash_["find"])(blockParentsClientIds, parentClientId => { - var _parentBlockListSetti; - - return (_parentBlockListSetti = parentBlockListSettings[parentClientId]) === null || _parentBlockListSetti === void 0 ? void 0 : _parentBlockListSetti.__experimentalCaptureToolbars; - }); - return { - clientId, - rootClientId: getBlockRootClientId(clientId), - name, - isValid, - isEmptyDefaultBlock: name && Object(external_wp_blocks_["isUnmodifiedDefaultBlock"])({ - name, - attributes - }), - capturingClientId - }; -} - -function WrappedBlockPopover({ - __unstablePopoverSlot, - __unstableContentRef -}) { - const selected = Object(external_wp_data_["useSelect"])(wrapperSelector, []); - - if (!selected) { - return null; - } - - const { - clientId, - rootClientId, - name, - isValid, - isEmptyDefaultBlock, - capturingClientId - } = selected; - - if (!name) { - return null; - } - - return Object(external_wp_element_["createElement"])(BlockPopover, { - clientId: clientId, - rootClientId: rootClientId, - isValid: isValid, - isEmptyDefaultBlock: isEmptyDefaultBlock, - capturingClientId: capturingClientId, - __unstablePopoverSlot: __unstablePopoverSlot, - __unstableContentRef: __unstableContentRef - }); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/back-compat.js - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -function BlockToolsBackCompat({ - children -}) { - const openRef = Object(external_wp_element_["useContext"])(InsertionPointOpenRef); - const isDisabled = Object(external_wp_element_["useContext"])(external_wp_components_["Disabled"].Context); // If context is set, `BlockTools` is a parent component. - - if (openRef || isDisabled) { - return children; - } - - external_wp_deprecated_default()('wp.components.Popover.Slot name="block-toolbar"', { - alternative: 'wp.blockEditor.BlockTools' - }); - return Object(external_wp_element_["createElement"])(InsertionPoint, { - __unstablePopoverSlot: "block-toolbar" - }, Object(external_wp_element_["createElement"])(WrappedBlockPopover, { - __unstablePopoverSlot: "block-toolbar" - }), children); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-selection-clearer/index.js - - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -/** - * Pass the returned ref callback to an element that should clear block - * selection. Selection will only be cleared if the element is clicked directly, - * not if a child element is clicked. - * - * @return {import('react').RefCallback} Ref callback. - */ - -function useBlockSelectionClearer() { - const { - hasSelectedBlock, - hasMultiSelection - } = Object(external_wp_data_["useSelect"])(store); - const { - clearSelectedBlock - } = Object(external_wp_data_["useDispatch"])(store); - return Object(external_wp_compose_["useRefEffect"])(node => { - function onMouseDown(event) { - if (!hasSelectedBlock() && !hasMultiSelection()) { - return; - } // Only handle clicks on the element, not the children. - - - if (event.target !== node) { - return; - } - - clearSelectedBlock(); - } - - node.addEventListener('mousedown', onMouseDown); - return () => { - node.removeEventListener('mousedown', onMouseDown); - }; - }, [hasSelectedBlock, hasMultiSelection, clearSelectedBlock]); -} -function BlockSelectionClearer(props) { - return Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({ - ref: useBlockSelectionClearer() - }, props)); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/index.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - - - - - - - -const IntersectionObserver = Object(external_wp_element_["createContext"])(); - -function Root({ - className, - children -}) { - const isLargeViewport = Object(external_wp_compose_["useViewportMatch"])('medium'); - const { - isOutlineMode, - isFocusMode, - isNavigationMode - } = Object(external_wp_data_["useSelect"])(select => { - const { - getSettings, - isNavigationMode: _isNavigationMode - } = select(store); - const { - outlineMode, - focusMode - } = getSettings(); - return { - isOutlineMode: outlineMode, - isFocusMode: focusMode, - isNavigationMode: _isNavigationMode() - }; - }, []); - return Object(external_wp_element_["createElement"])(Head, null, Object(external_wp_element_["createElement"])("div", { - ref: Object(external_wp_compose_["useMergeRefs"])([useBlockSelectionClearer(), useBlockDropZone(), useInBetweenInserter()]), - className: classnames_default()('block-editor-block-list__layout is-root-container', className, { - 'is-outline-mode': isOutlineMode, - 'is-focus-mode': isFocusMode && isLargeViewport, - 'is-navigate-mode': isNavigationMode - }) - }, children)); -} - -function BlockList({ - className, - ...props -}) { - usePreParsePatterns(); - return Object(external_wp_element_["createElement"])(BlockToolsBackCompat, null, Object(external_wp_element_["createElement"])(Root, { - className: className - }, Object(external_wp_element_["createElement"])(BlockListItems, props))); -} - -function Items({ - placeholder, - rootClientId, - renderAppender, - __experimentalAppenderTagName, - __experimentalLayout: layout = layout_defaultLayout -}) { - const [intersectingBlocks, setIntersectingBlocks] = Object(external_wp_element_["useState"])(new Set()); - const intersectionObserver = Object(external_wp_element_["useMemo"])(() => { - const { - IntersectionObserver: Observer - } = window; - - if (!Observer) { - return; - } - - return new Observer(entries => { - setIntersectingBlocks(oldIntersectingBlocks => { - const newIntersectingBlocks = new Set(oldIntersectingBlocks); - - for (const entry of entries) { - const clientId = entry.target.getAttribute('data-block'); - const action = entry.isIntersecting ? 'add' : 'delete'; - newIntersectingBlocks[action](clientId); - } - - return newIntersectingBlocks; - }); - }); - }, [setIntersectingBlocks]); - const { - order, - selectedBlocks - } = Object(external_wp_data_["useSelect"])(select => { - const { - getBlockOrder, - getSelectedBlockClientIds - } = select(store); - return { - order: getBlockOrder(rootClientId), - selectedBlocks: getSelectedBlockClientIds() - }; - }, [rootClientId]); - return Object(external_wp_element_["createElement"])(LayoutProvider, { - value: layout - }, Object(external_wp_element_["createElement"])(IntersectionObserver.Provider, { - value: intersectionObserver - }, order.map(clientId => Object(external_wp_element_["createElement"])(external_wp_data_["AsyncModeProvider"], { - key: clientId, - value: // Only provide data asynchronously if the block is - // not visible and not selected. - !intersectingBlocks.has(clientId) && !selectedBlocks.includes(clientId) - }, Object(external_wp_element_["createElement"])(block_list_block, { - rootClientId: rootClientId, - clientId: clientId - })))), order.length < 1 && placeholder, Object(external_wp_element_["createElement"])(block_list_appender, { - tagName: __experimentalAppenderTagName, - rootClientId: rootClientId, - renderAppender: renderAppender - })); -} - -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 Object(external_wp_element_["createElement"])(external_wp_data_["AsyncModeProvider"], { - value: false - }, Object(external_wp_element_["createElement"])(Items, props)); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-intersection-observer.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -function useIntersectionObserver() { - const observer = Object(external_wp_element_["useContext"])(IntersectionObserver); - return Object(external_wp_compose_["useRefEffect"])(node => { - if (observer) { - observer.observe(node); - return () => { - observer.unobserve(node); - }; - } - }, [observer]); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/index.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - - - - - - - - - - - - - - -/** - * 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 - * returned props to the element to mark as a block. If you define a ref for the - * element, it is important to pass the ref to this hook, which the hook in turn - * will pass to the component through the props it returns. Optionally, you can - * also pass any other props through this hook, and they will be merged and - * returned. - * - * @param {Object} props Optional. Props to pass to the element. Must contain - * the ref if one is defined. - * @param {Object} options Options for internal use only. - * @param {boolean} options.__unstableIsHtml - * - * @return {Object} Props to pass to the element to mark as a block. - */ - -function useBlockProps(props = {}, { - __unstableIsHtml -} = {}) { - const { - clientId, - className, - wrapperProps = {}, - isAligned - } = Object(external_wp_element_["useContext"])(BlockListBlockContext); - const { - index, - mode, - name, - blockTitle, - isPartOfSelection, - adjustScrolling, - enableAnimation - } = Object(external_wp_data_["useSelect"])(select => { - const { - getBlockRootClientId, - getBlockIndex, - getBlockMode, - getBlockName, - isTyping, - getGlobalBlockCount, - isBlockSelected, - isBlockMultiSelected, - isAncestorMultiSelected, - isFirstMultiSelectedBlock - } = select(store); - const isSelected = isBlockSelected(clientId); - const isPartOfMultiSelection = isBlockMultiSelected(clientId) || isAncestorMultiSelected(clientId); - const blockName = getBlockName(clientId); - const rootClientId = getBlockRootClientId(clientId); - return { - index: getBlockIndex(clientId, rootClientId), - mode: getBlockMode(clientId), - name: blockName, - blockTitle: Object(external_wp_blocks_["getBlockType"])(blockName).title, - isPartOfSelection: isSelected || isPartOfMultiSelection, - adjustScrolling: isSelected || isFirstMultiSelectedBlock(clientId), - enableAnimation: !isTyping() && getGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD - }; - }, [clientId]); // translators: %s: Type of block (i.e. Text, Image etc) - - const blockLabel = Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Block: %s'), blockTitle); - const htmlSuffix = mode === 'html' && !__unstableIsHtml ? '-visual' : ''; - const mergedRefs = Object(external_wp_compose_["useMergeRefs"])([props.ref, useFocusFirstElement(clientId), // Must happen after focus because we check for focus in the block. - useScrollIntoView(clientId), useBlockRefProvider(clientId), useFocusHandler(clientId), useMultiSelection(clientId), useEventHandlers(clientId), useNavModeExit(clientId), useIsHovered(), useIntersectionObserver(), use_moving_animation({ - isSelected: isPartOfSelection, - adjustScrolling, - enableAnimation, - triggerAnimationOnChange: index - })]); - return { ...wrapperProps, - ...props, - ref: mergedRefs, - id: `block-${clientId}${htmlSuffix}`, - tabIndex: 0, - role: 'group', - 'aria-label': blockLabel, - 'data-block': clientId, - 'data-type': name, - 'data-title': blockTitle, - className: classnames_default()( // The wp-block className is important for editor styles. - classnames_default()('block-editor-block-list__block', { - 'wp-block': !isAligned - }), className, props.className, wrapperProps.className, useBlockClassNames(clientId), useBlockDefaultClassName(clientId), useBlockCustomClassName(clientId), useBlockMovingModeClassNames(clientId)), - style: { ...wrapperProps.style, - ...props.style - } - }; -} -/** - * Call within a save function to get the props for the block wrapper. - * - * @param {Object} props Optional. Props to pass to the element. - */ - -useBlockProps.save = external_wp_blocks_["__unstableGetBlockProps"]; - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/block.js - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - -/** - * Internal dependencies - */ - - - - - - - - -const BlockListBlockContext = Object(external_wp_element_["createContext"])(); -/** - * Merges wrapper props with special handling for classNames and styles. - * - * @param {Object} propsA - * @param {Object} propsB - * - * @return {Object} Merged props. - */ - -function mergeWrapperProps(propsA, propsB) { - const newProps = { ...propsA, - ...propsB - }; - - if (propsA && propsB && propsA.className && propsB.className) { - newProps.className = classnames_default()(propsA.className, propsB.className); - } - - if (propsA && propsB && propsA.style && propsB.style) { - newProps.style = { ...propsA.style, - ...propsB.style - }; - } - - return newProps; -} - -function Block({ - children, - isHtml, - ...props -}) { - return Object(external_wp_element_["createElement"])("div", useBlockProps(props, { - __unstableIsHtml: isHtml - }), children); -} - -function block_BlockListBlock({ - mode, - isLocked, - clientId, - isSelected, - isSelectionEnabled, - className, - name, - isValid, - attributes, - wrapperProps, - setAttributes, - onReplace, - onInsertBlocksAfter, - onMerge, - toggleSelection -}) { - const { - removeBlock - } = Object(external_wp_data_["useDispatch"])(store); - const onRemove = Object(external_wp_element_["useCallback"])(() => removeBlock(clientId), [clientId]); // We wrap the BlockEdit component in a div that hides it when editing in - // 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 = Object(external_wp_element_["createElement"])(block_edit_BlockEdit, { - name: name, - isSelected: isSelected, - attributes: attributes, - setAttributes: setAttributes, - insertBlocksAfter: isLocked ? undefined : onInsertBlocksAfter, - onReplace: isLocked ? undefined : onReplace, - onRemove: isLocked ? undefined : onRemove, - mergeBlocks: isLocked ? undefined : onMerge, - clientId: clientId, - isSelectionEnabled: isSelectionEnabled, - toggleSelection: toggleSelection - }); - const blockType = Object(external_wp_blocks_["getBlockType"])(name); - const lightBlockWrapper = blockType.apiVersion > 1 || Object(external_wp_blocks_["hasBlockSupport"])(blockType, 'lightBlockWrapper', false); // 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']; // For aligned blocks, provide a wrapper element so the block can be - // positioned relative to the block column. - - if (isAligned) { - blockEdit = Object(external_wp_element_["createElement"])("div", { - className: "wp-block", - "data-align": wrapperProps['data-align'] - }, blockEdit); - } - - let block; - - if (!isValid) { - const saveContent = Object(external_wp_blocks_["getSaveContent"])(blockType, attributes); - block = Object(external_wp_element_["createElement"])(Block, { - className: "has-warning" - }, Object(external_wp_element_["createElement"])(block_invalid_warning, { - clientId: clientId - }), Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, Object(external_wp_dom_["safeHTML"])(saveContent))); - } else if (mode === 'html') { - // Render blockEdit so the inspector controls don't disappear. - // See #8969. - block = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", { - style: { - display: 'none' - } - }, blockEdit), Object(external_wp_element_["createElement"])(Block, { - isHtml: true - }, Object(external_wp_element_["createElement"])(block_html, { - clientId: clientId - }))); - } else if (lightBlockWrapper) { - block = blockEdit; - } else { - block = Object(external_wp_element_["createElement"])(Block, wrapperProps, blockEdit); - } - - const value = { - clientId, - className, - wrapperProps: Object(external_lodash_["omit"])(wrapperProps, ['data-align']), - isAligned - }; - const memoizedValue = Object(external_wp_element_["useMemo"])(() => value, Object.values(value)); - return Object(external_wp_element_["createElement"])(BlockListBlockContext.Provider, { - value: memoizedValue - }, Object(external_wp_element_["createElement"])(block_crash_boundary, { - fallback: Object(external_wp_element_["createElement"])(Block, { - className: "has-warning" - }, Object(external_wp_element_["createElement"])(block_crash_warning, null)) - }, block)); -} - -const applyWithSelect = Object(external_wp_data_["withSelect"])((select, { - clientId, - rootClientId -}) => { - const { - isBlockSelected, - getBlockMode, - isSelectionEnabled, - getTemplateLock, - __unstableGetBlockWithoutInnerBlocks - } = select(store); - - const block = __unstableGetBlockWithoutInnerBlocks(clientId); - - const isSelected = isBlockSelected(clientId); - const templateLock = getTemplateLock(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, - // 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 = Object(external_wp_data_["withDispatch"])((dispatch, ownProps, { - select -}) => { - const { - updateBlockAttributes, - insertBlocks, - mergeBlocks, - replaceBlocks, - toggleSelection, - __unstableMarkLastChangeAsPersistent - } = dispatch(store); // Do not add new properties here, use `useDispatch` instead to avoid - // leaking new props to the public API (editor.BlockListBlock filter). - - return { - setAttributes(newAttributes) { - const { - getMultiSelectedBlockClientIds - } = select(store); - const multiSelectedBlockClientIds = getMultiSelectedBlockClientIds(); - const { - clientId - } = ownProps; - const clientIds = multiSelectedBlockClientIds.length ? multiSelectedBlockClientIds : [clientId]; - updateBlockAttributes(clientIds, newAttributes); - }, - - onInsertBlocks(blocks, index) { - const { - rootClientId - } = ownProps; - insertBlocks(blocks, index, rootClientId); - }, - - onInsertBlocksAfter(blocks) { - const { - clientId, - rootClientId - } = ownProps; - const { - getBlockIndex - } = select(store); - const index = getBlockIndex(clientId, rootClientId); - insertBlocks(blocks, index + 1, rootClientId); - }, - - onMerge(forward) { - const { - clientId - } = ownProps; - const { - getPreviousBlockClientId, - getNextBlockClientId - } = select(store); - - if (forward) { - const nextBlockClientId = getNextBlockClientId(clientId); - - if (nextBlockClientId) { - mergeBlocks(clientId, nextBlockClientId); - } - } else { - const previousBlockClientId = getPreviousBlockClientId(clientId); - - if (previousBlockClientId) { - mergeBlocks(previousBlockClientId, clientId); - } - } - }, - - onReplace(blocks, indexToSelect, initialPosition) { - if (blocks.length && !Object(external_wp_blocks_["isUnmodifiedDefaultBlock"])(blocks[blocks.length - 1])) { - __unstableMarkLastChangeAsPersistent(); - } - - replaceBlocks([ownProps.clientId], blocks, indexToSelect, initialPosition); - }, - - toggleSelection(selectionEnabled) { - toggleSelection(selectionEnabled); - } - - }; -}); -/* harmony default export */ var block_list_block = (Object(external_wp_compose_["compose"])(external_wp_compose_["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 -Object(external_wp_compose_["ifCondition"])(({ - block -}) => !!block), Object(external_wp_components_["withFilters"])('editor.BlockListBlock'))(block_BlockListBlock)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-navigation/utils.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -const getBlockPositionDescription = (position, siblingCount, level) => Object(external_wp_i18n_["sprintf"])( -/* translators: 1: The numerical position of the block. 2: The total number of blocks. 3. The level of nesting for the block. */ -Object(external_wp_i18n_["__"])('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) => Object(external_lodash_["isArray"])(selectedBlockClientIds) && selectedBlockClientIds.length ? selectedBlockClientIds.indexOf(clientId) !== -1 : selectedBlockClientIds === clientId; - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-navigation/block-select-button.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - - - -function BlockNavigationBlockSelectButton({ - className, - block: { - clientId - }, - isSelected, - onClick, - position, - siblingBlockCount, - level, - tabIndex, - onFocus, - onDragStart, - onDragEnd, - draggable -}, ref) { - const blockInformation = useBlockDisplayInformation(clientId); - const instanceId = Object(external_wp_compose_["useInstanceId"])(BlockNavigationBlockSelectButton); - const descriptionId = `block-navigation-block-select-button__${instanceId}`; - const blockPositionDescription = getBlockPositionDescription(position, siblingBlockCount, level); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - className: classnames_default()('block-editor-block-navigation-block-select-button', className), - onClick: onClick, - "aria-describedby": descriptionId, - ref: ref, - tabIndex: tabIndex, - onFocus: onFocus, - onDragStart: onDragStart, - onDragEnd: onDragEnd, - draggable: draggable - }, Object(external_wp_element_["createElement"])(BlockIcon, { - icon: blockInformation === null || blockInformation === void 0 ? void 0 : blockInformation.icon, - showColors: true - }), Object(external_wp_element_["createElement"])(BlockTitle, { - clientId: clientId - }), (blockInformation === null || blockInformation === void 0 ? void 0 : blockInformation.anchor) && Object(external_wp_element_["createElement"])("span", { - className: "block-editor-block-navigation-block-select-button__anchor" - }, blockInformation.anchor), isSelected && Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], null, Object(external_wp_i18n_["__"])('(selected block)'))), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-navigation-block-select-button__description", - id: descriptionId - }, blockPositionDescription)); -} - -/* harmony default export */ var block_select_button = (Object(external_wp_element_["forwardRef"])(BlockNavigationBlockSelectButton)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-navigation/block-slot.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - - -/** - * Internal dependencies - */ - - - - - - - -const getSlotName = clientId => `BlockNavigationBlock-${clientId}`; - -function BlockNavigationBlockSlot(props, ref) { - const { - clientId - } = props.block; - const { - name - } = Object(external_wp_data_["useSelect"])(select => select(store).getBlockName(clientId), [clientId]); - const instanceId = Object(external_wp_compose_["useInstanceId"])(BlockNavigationBlockSlot); - return Object(external_wp_element_["createElement"])(external_wp_components_["Slot"], { - name: getSlotName(clientId) - }, fills => { - if (!fills.length) { - return Object(external_wp_element_["createElement"])(block_select_button, Object(esm_extends["a" /* default */])({ - ref: ref - }, props)); - } - - const { - className, - isSelected, - position, - siblingBlockCount, - level, - tabIndex, - onFocus - } = props; - const blockType = Object(external_wp_blocks_["getBlockType"])(name); - const descriptionId = `block-navigation-block-slot__${instanceId}`; - const blockPositionDescription = getBlockPositionDescription(position, siblingBlockCount, level); - const forwardedFillProps = { - // Ensure that the component in the slot can receive - // keyboard navigation. - tabIndex, - onFocus, - ref, - // Give the element rendered in the slot a description - // that describes its position. - 'aria-describedby': descriptionId - }; - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", { - className: classnames_default()('block-editor-block-navigation-block-slot', className) - }, Object(external_wp_element_["createElement"])(BlockIcon, { - icon: blockType.icon, - showColors: true - }), external_wp_element_["Children"].map(fills, fill => Object(external_wp_element_["cloneElement"])(fill, { ...fill.props, - ...forwardedFillProps - })), isSelected && Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], null, Object(external_wp_i18n_["__"])('(selected block)')), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-navigation-block-slot__description", - id: descriptionId - }, blockPositionDescription))); - }); -} - -/* harmony default export */ var block_slot = (Object(external_wp_element_["forwardRef"])(BlockNavigationBlockSlot)); -const BlockNavigationBlockFill = props => { - const { - clientId - } = Object(external_wp_element_["useContext"])(BlockListBlockContext); - return Object(external_wp_element_["createElement"])(external_wp_components_["Fill"], Object(esm_extends["a" /* default */])({}, props, { - name: getSlotName(clientId) - })); -}; - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-navigation/block-contents.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - - - - -const BlockNavigationBlockContents = Object(external_wp_element_["forwardRef"])(({ - onClick, - block, - isSelected, - position, - siblingBlockCount, - level, - ...props -}, ref) => { - const { - __experimentalFeatures, - blockDropTarget = {} - } = useBlockNavigationContext(); - const { - clientId - } = block; - const { - rootClientId, - blockMovingClientId, - selectedBlockInBlockEditor - } = Object(external_wp_data_["useSelect"])(select => { - const { - getBlockRootClientId, - hasBlockMovingClientId, - getSelectedBlockClientId - } = select(store); - return { - rootClientId: getBlockRootClientId(clientId) || '', - blockMovingClientId: hasBlockMovingClientId(), - selectedBlockInBlockEditor: getSelectedBlockClientId() - }; - }, [clientId]); - const isBlockMoveTarget = blockMovingClientId && selectedBlockInBlockEditor === clientId; - const { - rootClientId: dropTargetRootClientId, - clientId: dropTargetClientId, - dropPosition - } = blockDropTarget; - const isDroppingBefore = dropTargetRootClientId === rootClientId && dropTargetClientId === clientId && dropPosition === 'top'; - const isDroppingAfter = dropTargetRootClientId === rootClientId && dropTargetClientId === clientId && dropPosition === 'bottom'; - const isDroppingToInnerBlocks = dropTargetRootClientId === clientId && dropPosition === 'inside'; - const className = classnames_default()('block-editor-block-navigation-block-contents', { - 'is-dropping-before': isDroppingBefore || isBlockMoveTarget, - 'is-dropping-after': isDroppingAfter, - 'is-dropping-to-inner-blocks': isDroppingToInnerBlocks - }); - return Object(external_wp_element_["createElement"])(block_draggable, { - clientIds: [block.clientId], - elementId: `block-navigation-block-${block.clientId}` - }, ({ - draggable, - onDragStart, - onDragEnd - }) => __experimentalFeatures ? Object(external_wp_element_["createElement"])(block_slot, Object(esm_extends["a" /* default */])({ - ref: ref, - className: className, - block: block, - onClick: onClick, - isSelected: isSelected, - position: position, - siblingBlockCount: siblingBlockCount, - level: level, - draggable: draggable && __experimentalFeatures, - onDragStart: onDragStart, - onDragEnd: onDragEnd - }, props)) : Object(external_wp_element_["createElement"])(block_select_button, Object(esm_extends["a" /* default */])({ - ref: ref, - className: className, - block: block, - onClick: onClick, - isSelected: isSelected, - position: position, - siblingBlockCount: siblingBlockCount, - level: level, - draggable: draggable && __experimentalFeatures, - onDragStart: onDragStart, - onDragEnd: onDragEnd - }, props))); -}); -/* harmony default export */ var block_contents = (BlockNavigationBlockContents); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-navigation/block.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - - - - -function BlockNavigationBlock({ - block, - isSelected, - isBranchSelected, - isLastOfSelectedBranch, - onClick, - position, - level, - rowCount, - siblingBlockCount, - showBlockMovers, - path -}) { - const cellRef = Object(external_wp_element_["useRef"])(null); - const [isHovered, setIsHovered] = Object(external_wp_element_["useState"])(false); - const { - clientId - } = block; - const { - isDragging, - blockParents - } = Object(external_wp_data_["useSelect"])(select => { - const { - isBlockBeingDragged, - isAncestorBeingDragged, - getBlockParents - } = select(store); - return { - isDragging: isBlockBeingDragged(clientId) || isAncestorBeingDragged(clientId), - blockParents: getBlockParents(clientId) - }; - }, [clientId]); - const { - selectBlock: selectEditorBlock, - toggleBlockHighlight - } = Object(external_wp_data_["useDispatch"])(store); - const hasSiblings = siblingBlockCount > 0; - const hasRenderedMovers = showBlockMovers && hasSiblings; - const moverCellClassName = classnames_default()('block-editor-block-navigation-block__mover-cell', { - 'is-visible': isHovered - }); - const { - __experimentalFeatures: withExperimentalFeatures, - __experimentalPersistentListViewFeatures: withExperimentalPersistentListViewFeatures, - isTreeGridMounted - } = useBlockNavigationContext(); - const blockNavigationBlockSettingsClassName = classnames_default()('block-editor-block-navigation-block__menu-cell', { - 'is-visible': isHovered - }); // If BlockNavigation has experimental features related to the Persistent List View, - // only focus the selected list item on mount; otherwise the list would always - // try to steal the focus from the editor canvas. - - Object(external_wp_element_["useEffect"])(() => { - if (withExperimentalPersistentListViewFeatures && !isTreeGridMounted && isSelected) { - cellRef.current.focus(); - } - }, []); // If BlockNavigation has experimental features (such as drag and drop) enabled, - // leave the focus handling as it was before, to avoid accidental regressions. - - Object(external_wp_element_["useEffect"])(() => { - if (withExperimentalFeatures && isSelected) { - cellRef.current.focus(); - } - }, [withExperimentalFeatures, isSelected]); - const highlightBlock = withExperimentalPersistentListViewFeatures ? toggleBlockHighlight : () => {}; - - const onMouseEnter = () => { - setIsHovered(true); - highlightBlock(clientId, true); - }; - - const onMouseLeave = () => { - setIsHovered(false); - highlightBlock(clientId, false); - }; - - const classes = classnames_default()({ - 'is-selected': isSelected, - 'is-branch-selected': withExperimentalPersistentListViewFeatures && isBranchSelected, - 'is-last-of-selected-branch': withExperimentalPersistentListViewFeatures && isLastOfSelectedBranch, - 'is-dragging': isDragging - }); - return Object(external_wp_element_["createElement"])(BlockNavigationLeaf, { - className: classes, - onMouseEnter: onMouseEnter, - onMouseLeave: onMouseLeave, - onFocus: onMouseEnter, - onBlur: onMouseLeave, - level: level, - position: position, - rowCount: rowCount, - path: path, - id: `block-navigation-block-${clientId}`, - "data-block": clientId - }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalTreeGridCell"], { - className: "block-editor-block-navigation-block__contents-cell", - colSpan: hasRenderedMovers ? undefined : 2, - ref: cellRef - }, ({ - ref, - tabIndex, - onFocus - }) => Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-navigation-block__contents-container" - }, Object(external_wp_element_["createElement"])(block_contents, { - block: block, - onClick: () => onClick(block.clientId), - isSelected: isSelected, - position: position, - siblingBlockCount: siblingBlockCount, - level: level, - ref: ref, - tabIndex: tabIndex, - onFocus: onFocus - }))), hasRenderedMovers && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalTreeGridCell"], { - className: moverCellClassName, - withoutGridItem: true - }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalTreeGridItem"], null, ({ - ref, - tabIndex, - onFocus - }) => Object(external_wp_element_["createElement"])(BlockMoverUpButton, { - orientation: "vertical", - clientIds: [clientId], - ref: ref, - tabIndex: tabIndex, - onFocus: onFocus - })), Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalTreeGridItem"], null, ({ - ref, - tabIndex, - onFocus - }) => Object(external_wp_element_["createElement"])(BlockMoverDownButton, { - orientation: "vertical", - clientIds: [clientId], - ref: ref, - tabIndex: tabIndex, - onFocus: onFocus - })))), withExperimentalFeatures && Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalTreeGridCell"], { - className: blockNavigationBlockSettingsClassName - }, ({ - ref, - tabIndex, - onFocus - }) => Object(external_wp_element_["createElement"])(block_settings_dropdown, { - clientIds: [clientId], - icon: more_vertical["a" /* default */], - toggleProps: { - ref, - tabIndex, - onFocus - }, - disableOpenOnArrowDown: true, - __experimentalSelectBlock: onClick - }, ({ - onClose - }) => Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - onClick: async () => { - if (blockParents.length) { - // If the block to select is inside a dropdown, we need to open the dropdown. - // Otherwise focus won't transfer to the block. - for (const parent of blockParents) { - await selectEditorBlock(parent); - } - } else { - // If clientId is already selected, it won't be focused (see block-wrapper.js) - // This removes the selection first to ensure the focus will always switch. - await selectEditorBlock(null); - } - - await selectEditorBlock(clientId); - onClose(); - } - }, Object(external_wp_i18n_["__"])('Go to block')))))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-navigation/appender.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - -function BlockNavigationAppender({ - parentBlockClientId, - position, - level, - rowCount, - path -}) { - const isDragging = Object(external_wp_data_["useSelect"])(select => { - const { - isBlockBeingDragged, - isAncestorBeingDragged - } = select(store); - return isBlockBeingDragged(parentBlockClientId) || isAncestorBeingDragged(parentBlockClientId); - }, [parentBlockClientId]); - const instanceId = Object(external_wp_compose_["useInstanceId"])(BlockNavigationAppender); - const descriptionId = `block-navigation-appender-row__description_${instanceId}`; - const appenderPositionDescription = Object(external_wp_i18n_["sprintf"])( - /* translators: 1: The numerical position of the block that will be inserted. 2: The level of nesting for the block that will be inserted. */ - Object(external_wp_i18n_["__"])('Add block at position %1$d, Level %2$d'), position, level); - return Object(external_wp_element_["createElement"])(BlockNavigationLeaf, { - className: classnames_default()({ - 'is-dragging': isDragging - }), - level: level, - position: position, - rowCount: rowCount, - path: path - }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalTreeGridCell"], { - className: "block-editor-block-navigation-appender__cell", - colSpan: "3" - }, ({ - ref, - tabIndex, - onFocus - }) => Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-navigation-appender__container" - }, Object(external_wp_element_["createElement"])(inserter, { - rootClientId: parentBlockClientId, - __experimentalIsQuick: true, - "aria-describedby": descriptionId, - toggleProps: { - ref, - tabIndex, - onFocus - } - }), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-navigation-appender__description", - id: descriptionId - }, appenderPositionDescription)))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-navigation/branch.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - - -function BlockNavigationBranch(props) { - const { - blocks, - selectBlock, - selectedBlockClientIds, - showAppender, - showBlockMovers, - showNestedBlocks, - parentBlockClientId, - level = 1, - terminatedLevels = [], - path = [], - isBranchSelected = false, - isLastOfBranch = false - } = props; - const isTreeRoot = !parentBlockClientId; - const filteredBlocks = Object(external_lodash_["compact"])(blocks); - - const itemHasAppender = parentClientId => showAppender && !isTreeRoot && isClientIdSelected(parentClientId, selectedBlockClientIds); - - const hasAppender = itemHasAppender(parentBlockClientId); // Add +1 to the rowCount to take the block appender into account. - - const blockCount = filteredBlocks.length; - const rowCount = hasAppender ? blockCount + 1 : blockCount; - const appenderPosition = rowCount; - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_lodash_["map"])(filteredBlocks, (block, index) => { - const { - clientId, - innerBlocks - } = block; - const position = index + 1; - const isLastRowAtLevel = rowCount === position; - const updatedTerminatedLevels = isLastRowAtLevel ? [...terminatedLevels, level] : terminatedLevels; - const updatedPath = [...path, position]; - const hasNestedBlocks = showNestedBlocks && !!innerBlocks && !!innerBlocks.length; - const hasNestedAppender = itemHasAppender(clientId); - const hasNestedBranch = hasNestedBlocks || hasNestedAppender; - const isSelected = isClientIdSelected(clientId, selectedBlockClientIds); - const isSelectedBranch = isBranchSelected || isSelected && hasNestedBranch; // Logic needed to target the last item of a selected branch which might be deeply nested. - // This is currently only needed for styling purposes. See: `.is-last-of-selected-branch`. - - const isLastBlock = index === blockCount - 1; - const isLast = isSelected || isLastOfBranch && isLastBlock; - const isLastOfSelectedBranch = isLastOfBranch && !hasNestedBranch && isLastBlock; - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], { - key: clientId - }, Object(external_wp_element_["createElement"])(BlockNavigationBlock, { - block: block, - onClick: selectBlock, - isSelected: isSelected, - isBranchSelected: isSelectedBranch, - isLastOfSelectedBranch: isLastOfSelectedBranch, - level: level, - position: position, - rowCount: rowCount, - siblingBlockCount: blockCount, - showBlockMovers: showBlockMovers, - terminatedLevels: terminatedLevels, - path: updatedPath - }), hasNestedBranch && Object(external_wp_element_["createElement"])(BlockNavigationBranch, { - blocks: innerBlocks, - selectedBlockClientIds: selectedBlockClientIds, - selectBlock: selectBlock, - isBranchSelected: isSelectedBranch, - isLastOfBranch: isLast, - showAppender: showAppender, - showBlockMovers: showBlockMovers, - showNestedBlocks: showNestedBlocks, - parentBlockClientId: clientId, - level: level + 1, - terminatedLevels: updatedTerminatedLevels, - path: updatedPath - })); - }), hasAppender && Object(external_wp_element_["createElement"])(BlockNavigationAppender, { - parentBlockClientId: parentBlockClientId, - position: rowCount, - rowCount: appenderPosition, - level: level, - terminatedLevels: terminatedLevels, - path: [...path, appenderPosition] - })); -} -BlockNavigationBranch.defaultProps = { - selectBlock: () => {} -}; - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-navigation/use-block-navigation-client-ids.js -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - - -const useBlockNavigationSelectedClientIds = __experimentalPersistentListViewFeatures => Object(external_wp_data_["useSelect"])(select => { - const { - getSelectedBlockClientId, - getSelectedBlockClientIds - } = select(store); - - if (__experimentalPersistentListViewFeatures) { - return getSelectedBlockClientIds(); - } - - return getSelectedBlockClientId(); -}, [__experimentalPersistentListViewFeatures]); - -const useBlockNavigationClientIdsTree = (blocks, selectedClientIds, showOnlyCurrentHierarchy) => Object(external_wp_data_["useSelect"])(select => { - const { - getBlockHierarchyRootClientId, - __unstableGetClientIdsTree, - __unstableGetClientIdWithClientIdsTree - } = select(store); - - if (blocks) { - return blocks; - } - - const isSingleBlockSelected = selectedClientIds && !Array.isArray(selectedClientIds); - - if (!showOnlyCurrentHierarchy || !isSingleBlockSelected) { - return __unstableGetClientIdsTree(); - } - - const rootBlock = __unstableGetClientIdWithClientIdsTree(getBlockHierarchyRootClientId(selectedClientIds)); - - if (!rootBlock) { - return __unstableGetClientIdsTree(); - } - - const hasHierarchy = !isClientIdSelected(rootBlock.clientId, selectedClientIds) || rootBlock.innerBlocks && rootBlock.innerBlocks.length !== 0; - - if (hasHierarchy) { - return [rootBlock]; - } - - return __unstableGetClientIdsTree(); -}, [blocks, selectedClientIds, showOnlyCurrentHierarchy]); - -function useBlockNavigationClientIds(blocks, showOnlyCurrentHierarchy, __experimentalPersistentListViewFeatures) { - const selectedClientIds = useBlockNavigationSelectedClientIds(__experimentalPersistentListViewFeatures); - const clientIdsTree = useBlockNavigationClientIdsTree(blocks, selectedClientIds, showOnlyCurrentHierarchy); - return { - clientIdsTree, - selectedClientIds - }; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-navigation/use-block-navigation-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 array representing data for blocks in the DOM used by drag and drop. - * - * @typedef {Object} WPBlockNavigationDropZoneBlocks - * @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} 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 object containing details of a drop target. - * - * @typedef {Object} WPBlockNavigationDropZoneTarget - * @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. - */ - -/** - * Is the point contained by the rectangle. - * - * @param {WPPoint} point The point. - * @param {DOMRect} rect The rectangle. - * - * @return {boolean} True if the point is contained by the rectangle, false otherwise. - */ - -function isPointContainedByRect(point, rect) { - return rect.left <= point.x && rect.right >= point.x && rect.top <= point.y && rect.bottom >= point.y; -} -/** - * Determines whether the user positioning the dragged block to nest as an - * inner block. - * - * Presently this is determined by whether the cursor is on the right hand side - * of the block. - * - * @param {WPPoint} point The point representing the cursor position when dragging. - * @param {DOMRect} rect The rectangle. - */ - - -function isNestingGesture(point, rect) { - const blockCenterX = rect.left + rect.width / 2; - return point.x > blockCenterX; -} // 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 {WPBlockNavigationDropZoneBlocks} blocksData Data about the blocks in block navigation. - * @param {WPPoint} position The point representing the cursor position when dragging. - * - * @return {WPBlockNavigationDropZoneTarget} An object containing data about the drop target. - */ - -function getBlockNavigationDropTarget(blocksData, position) { - let candidateEdge; - let candidateBlockData; - let candidateDistance; - let candidateRect; - - for (const blockData of blocksData) { - 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(); - } else { - candidateBlockData = blockData; - candidateEdge = edge; - candidateRect = rect; - } // 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 block navigation - // tree overlap slightly due to sub-pixel rendering. - - - if (isCursorWithinBlock) { - break; - } - } - } - - if (!candidateBlockData) { - return; - } - - 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, this should always be treated - // as nesting since the next block in the tree will be the first child. - - if (isDraggingBelow && candidateBlockData.canInsertDraggedBlocksAsChild && (candidateBlockData.innerBlockCount > 0 || isNestingGesture(position, candidateRect))) { - return { - rootClientId: candidateBlockData.clientId, - blockIndex: 0, - dropPosition: 'inside' - }; - } // 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 block navigation. - * - * @return {WPBlockNavigationDropZoneTarget} The drop target. - */ - - -function useBlockNavigationDropZone() { - const { - getBlockRootClientId, - getBlockIndex, - getBlockCount, - getDraggedBlockClientIds, - canInsertBlocks - } = Object(external_wp_data_["useSelect"])(store); - const [target, setTarget] = Object(external_wp_element_["useState"])(); - const { - rootClientId: targetRootClientId, - blockIndex: targetBlockIndex - } = target || {}; - const onBlockDrop = useOnBlockDrop(targetRootClientId, targetBlockIndex); - const throttled = Object(external_wp_compose_["useThrottle"])(Object(external_wp_element_["useCallback"])((event, currentTarget) => { - const position = { - x: event.clientX, - y: event.clientY - }; - const isBlockDrag = !!event.dataTransfer.getData('wp-blocks'); - const draggedBlockClientIds = isBlockDrag ? getDraggedBlockClientIds() : undefined; - const blockElements = Array.from(currentTarget.querySelectorAll('[data-block]')); - const blocksData = blockElements.map(blockElement => { - const clientId = blockElement.dataset.block; - const rootClientId = getBlockRootClientId(clientId); - return { - clientId, - rootClientId, - blockIndex: getBlockIndex(clientId, rootClientId), - element: blockElement, - isDraggedBlock: isBlockDrag ? draggedBlockClientIds.includes(clientId) : false, - innerBlockCount: getBlockCount(clientId), - canInsertDraggedBlocksAsSibling: isBlockDrag ? canInsertBlocks(draggedBlockClientIds, rootClientId) : true, - canInsertDraggedBlocksAsChild: isBlockDrag ? canInsertBlocks(draggedBlockClientIds, clientId) : true - }; - }); - const newTarget = getBlockNavigationDropTarget(blocksData, position); - - if (newTarget) { - setTarget(newTarget); - } - }, []), 200); - const ref = Object(external_wp_compose_["__experimentalUseDropZone"])({ - onDrop: onBlockDrop, - - 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/block-navigation/tree.js - - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - - - -const noop = () => {}; -/** - * Wrap `BlockNavigationRows` with `TreeGrid`. BlockNavigationRows is a - * recursive component (it renders itself), so this ensures TreeGrid is only - * present at the very top of the navigation grid. - * - * @param {Object} props Components props. - * @param {Array} props.blocks Custom subset of block client IDs to be used instead of the default hierarchy. - * @param {Function} props.onSelect Block selection callback. - * @param {boolean} props.showNestedBlocks Flag to enable displaying nested blocks. - * @param {boolean} props.showOnlyCurrentHierarchy Flag to limit the list to the current hierarchy of blocks. - * @param {boolean} props.__experimentalFeatures Flag to enable experimental features. - * @param {boolean} props.__experimentalPersistentListViewFeatures Flag to enable features for the Persistent List View experiment. - */ - - -function BlockNavigationTree({ - blocks, - showOnlyCurrentHierarchy, - onSelect = noop, - __experimentalFeatures, - __experimentalPersistentListViewFeatures, - ...props -}) { - const { - clientIdsTree, - selectedClientIds - } = useBlockNavigationClientIds(blocks, showOnlyCurrentHierarchy, __experimentalPersistentListViewFeatures); - const { - selectBlock - } = Object(external_wp_data_["useDispatch"])(store); - const selectEditorBlock = Object(external_wp_element_["useCallback"])(clientId => { - selectBlock(clientId); - onSelect(clientId); - }, [selectBlock, onSelect]); - let { - ref: treeGridRef, - target: blockDropTarget - } = useBlockNavigationDropZone(); - const isMounted = Object(external_wp_element_["useRef"])(false); - Object(external_wp_element_["useEffect"])(() => { - isMounted.current = true; - }, []); - - if (!__experimentalFeatures) { - blockDropTarget = undefined; - } - - const contextValue = Object(external_wp_element_["useMemo"])(() => ({ - __experimentalFeatures, - __experimentalPersistentListViewFeatures, - blockDropTarget, - isTreeGridMounted: isMounted.current - }), [__experimentalFeatures, __experimentalPersistentListViewFeatures, blockDropTarget, isMounted.current]); - return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalTreeGrid"], { - className: "block-editor-block-navigation-tree", - "aria-label": Object(external_wp_i18n_["__"])('Block navigation structure'), - ref: treeGridRef - }, Object(external_wp_element_["createElement"])(BlockNavigationContext.Provider, { - value: contextValue - }, Object(external_wp_element_["createElement"])(BlockNavigationBranch, Object(esm_extends["a" /* default */])({ - blocks: clientIdsTree, - selectBlock: selectEditorBlock, - selectedBlockClientIds: selectedClientIds - }, props)))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-navigation/dropdown.js - - - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - -function BlockNavigationDropdownToggle({ - isEnabled, - onToggle, - isOpen, - innerRef, - ...props -}) { - return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({}, props, { - ref: innerRef, - icon: list_view["a" /* default */], - "aria-expanded": isOpen, - "aria-haspopup": "true", - onClick: isEnabled ? onToggle : undefined - /* translators: button label text should, if possible, be under 16 characters. */ - , - label: Object(external_wp_i18n_["__"])('List view'), - className: "block-editor-block-navigation", - "aria-disabled": !isEnabled - })); -} - -function BlockNavigationDropdown({ - isDisabled, - __experimentalFeatures, - ...props -}, ref) { - const hasBlocks = Object(external_wp_data_["useSelect"])(select => !!select(store).getBlockCount(), []); - const isEnabled = hasBlocks && !isDisabled; - return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { - contentClassName: "block-editor-block-navigation__popover", - position: "bottom right", - renderToggle: ({ - isOpen, - onToggle - }) => Object(external_wp_element_["createElement"])(BlockNavigationDropdownToggle, Object(esm_extends["a" /* default */])({}, props, { - innerRef: ref, - isOpen: isOpen, - onToggle: onToggle, - isEnabled: isEnabled - })), - renderContent: () => Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-navigation__container" - }, Object(external_wp_element_["createElement"])("p", { - className: "block-editor-block-navigation__label" - }, Object(external_wp_i18n_["__"])('List view')), Object(external_wp_element_["createElement"])(BlockNavigationTree, { - showNestedBlocks: true, - showOnlyCurrentHierarchy: true, - __experimentalFeatures: __experimentalFeatures - })) - }); -} - -/* harmony default export */ var dropdown = (Object(external_wp_element_["forwardRef"])(BlockNavigationDropdown)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/remove-browser-shortcuts.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Set of keyboard shortcuts handled internally by RichText. - * - * @type {Array} - */ - -const HANDLED_SHORTCUTS = [external_wp_keycodes_["rawShortcut"].primary('z'), external_wp_keycodes_["rawShortcut"].primaryShift('z'), external_wp_keycodes_["rawShortcut"].primary('y')]; -/** - * An instance of a KeyboardShortcuts element pre-bound for the handled - * shortcuts. Since shortcuts never change, the element can be considered - * static, and can be skipped in reconciliation. - * - * @type {WPElement} - */ - -const SHORTCUTS_ELEMENT = Object(external_wp_element_["createElement"])(external_wp_components_["KeyboardShortcuts"], { - bindGlobal: true, - shortcuts: Object(external_lodash_["fromPairs"])(HANDLED_SHORTCUTS.map(shortcut => { - return [shortcut, event => event.preventDefault()]; - })) -}); -/** - * Component which registered keyboard event handlers to prevent default - * behaviors for key combinations otherwise handled internally by RichText. - * - * @return {WPComponent} The component to be rendered. - */ - -const RemoveBrowserShortcuts = () => SHORTCUTS_ELEMENT; - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/format-toolbar/index.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -const format_toolbar_POPOVER_PROPS = { - position: 'bottom right', - isAlternate: true -}; - -const FormatToolbar = () => { - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, ['bold', 'italic', 'link', 'text-color'].map(format => Object(external_wp_element_["createElement"])(external_wp_components_["Slot"], { - name: `RichText.ToolbarControls.${format}`, - key: format - })), Object(external_wp_element_["createElement"])(external_wp_components_["Slot"], { - name: "RichText.ToolbarControls" - }, fills => fills.length !== 0 && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarItem"], null, toggleProps => Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { - icon: chevron_down["a" /* default */] - /* translators: button label text should, if possible, be under 16 characters. */ - , - label: Object(external_wp_i18n_["__"])('More'), - toggleProps: toggleProps, - controls: Object(external_lodash_["orderBy"])(fills.map(([{ - props - }]) => props), 'title'), - popoverProps: format_toolbar_POPOVER_PROPS - })))); -}; - -/* harmony default export */ var format_toolbar = (FormatToolbar); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/format-toolbar-container.js - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - - -const FormatToolbarContainer = ({ - inline, - anchorRef -}) => { - if (inline) { - // Render in popover - return Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { - noArrow: true, - position: "top center", - focusOnMount: false, - anchorRef: anchorRef, - className: "block-editor-rich-text__inline-format-toolbar", - __unstableSlotName: "block-toolbar" - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-rich-text__inline-format-toolbar-group" - }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(format_toolbar, null)))); - } // Render regular toolbar - - - return Object(external_wp_element_["createElement"])(block_controls, { - group: "inline" - }, Object(external_wp_element_["createElement"])(format_toolbar, null)); -}; - -/* harmony default export */ var format_toolbar_container = (FormatToolbarContainer); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-undo-automatic-change.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -function useUndoAutomaticChange() { - const { - didAutomaticChange, - getSettings - } = Object(external_wp_data_["useSelect"])(store); - return Object(external_wp_compose_["useRefEffect"])(element => { - function onKeyDown(event) { - const { - keyCode - } = event; - - if (keyCode !== external_wp_keycodes_["DELETE"] && keyCode !== external_wp_keycodes_["BACKSPACE"] && keyCode !== external_wp_keycodes_["ESCAPE"]) { - return; - } - - if (!didAutomaticChange()) { - return; - } - - event.preventDefault(); - - getSettings().__experimentalUndo(); - } - - element.addEventListener('keydown', onKeyDown); - return () => { - element.removeEventListener('keydown', onKeyDown); - }; - }, []); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-caret-in-format.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -function useCaretInFormat({ - value -}) { - const hasActiveFormats = value.activeFormats && !!value.activeFormats.length; - const { - isCaretWithinFormattedText - } = Object(external_wp_data_["useSelect"])(store); - const { - enterFormattedText, - exitFormattedText - } = Object(external_wp_data_["useDispatch"])(store); - Object(external_wp_element_["useEffect"])(() => { - if (hasActiveFormats) { - if (!isCaretWithinFormattedText()) { - enterFormattedText(); - } - } else if (isCaretWithinFormattedText()) { - exitFormattedText(); - } - }, [hasActiveFormats]); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-mark-persistent.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -function useMarkPersistent({ - html, - value -}) { - const previousText = Object(external_wp_element_["useRef"])(); - const hasActiveFormats = value.activeFormats && !!value.activeFormats.length; - const { - __unstableMarkLastChangeAsPersistent - } = Object(external_wp_data_["useDispatch"])(store); // Must be set synchronously to make sure it applies to the last change. - - Object(external_wp_element_["useLayoutEffect"])(() => { - // Ignore mount. - if (!previousText.current) { - previousText.current = value.text; - return; - } // Text input, so don't create an undo level for every character. - // Create an undo level after 1 second of no input. - - - if (previousText.current !== value.text) { - const timeout = window.setTimeout(() => { - __unstableMarkLastChangeAsPersistent(); - }, 1000); - previousText.current = value.text; - return () => { - window.clearTimeout(timeout); - }; - } - - __unstableMarkLastChangeAsPersistent(); - }, [html, hasActiveFormats]); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/file-paste-handler.js -/** - * WordPress dependencies - */ - -function filePasteHandler(files) { - return files.filter(({ - type - }) => /^image\/(?:jpe?g|png|gif)$/.test(type)).map(file => ``).join(''); -} - -// EXTERNAL MODULE: external ["wp","shortcode"] -var external_wp_shortcode_ = __webpack_require__("SVSp"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/utils.js -/** - * WordPress dependencies - */ - - -function addActiveFormats(value, activeFormats) { - if (activeFormats !== null && activeFormats !== void 0 && activeFormats.length) { - let index = value.formats.length; - - while (index--) { - value.formats[index] = [...activeFormats, ...(value.formats[index] || [])]; - } - } -} -/** - * Get the multiline tag based on the multiline prop. - * - * @param {?(string|boolean)} multiline The multiline prop. - * - * @return {?string} The multiline tag. - */ - -function getMultilineTag(multiline) { - if (multiline !== true && multiline !== 'p' && multiline !== 'li') { - return; - } - - return multiline === true ? 'p' : multiline; -} -function getAllowedFormats({ - allowedFormats, - formattingControls, - disableFormats -}) { - if (disableFormats) { - return getAllowedFormats.EMPTY_ARRAY; - } - - if (!allowedFormats && !formattingControls) { - return; - } - - if (allowedFormats) { - return allowedFormats; - } - - external_wp_deprecated_default()('wp.blockEditor.RichText formattingControls prop', { - since: '5.4', - alternative: 'allowedFormats' - }); - return formattingControls.map(name => `core/${name}`); -} -getAllowedFormats.EMPTY_ARRAY = []; -const isShortcode = text => Object(external_wp_shortcode_["regexp"])('.*').test(text); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/split-value.js -/** - * WordPress dependencies - */ - -/* - * Signals to the RichText owner that the block can be replaced with two blocks - * as a result of splitting the block by pressing enter, or with blocks as a - * result of splitting the block by pasting block content in the instance. - */ - -function splitValue({ - value, - pastedBlocks = [], - onReplace, - onSplit, - onSplitMiddle, - multilineTag -}) { - if (!onReplace || !onSplit) { - return; - } - - const blocks = []; - const [before, after] = Object(external_wp_richText_["split"])(value); - const hasPastedBlocks = pastedBlocks.length > 0; - let lastPastedBlockIndex = -1; // Consider the after value to be the original it is not empty and the - // before value *is* empty. - - const isAfterOriginal = Object(external_wp_richText_["isEmpty"])(before) && !Object(external_wp_richText_["isEmpty"])(after); // Create a block with the content before the caret if there's no pasted - // blocks, or if there are pasted blocks and the value is not empty. We do - // not want a leading empty block on paste, but we do if split with e.g. the - // enter key. - - if (!hasPastedBlocks || !Object(external_wp_richText_["isEmpty"])(before)) { - blocks.push(onSplit(Object(external_wp_richText_["toHTMLString"])({ - value: before, - multilineTag - }), !isAfterOriginal)); - lastPastedBlockIndex += 1; - } - - if (hasPastedBlocks) { - blocks.push(...pastedBlocks); - lastPastedBlockIndex += pastedBlocks.length; - } else if (onSplitMiddle) { - blocks.push(onSplitMiddle()); - } // If there's pasted blocks, append a block with non empty content / after - // the caret. Otherwise, do append an empty block if there is no - // `onSplitMiddle` prop, but if there is and the content is empty, the - // middle block is enough to set focus in. - - - if (hasPastedBlocks ? !Object(external_wp_richText_["isEmpty"])(after) : !onSplitMiddle || !Object(external_wp_richText_["isEmpty"])(after)) { - blocks.push(onSplit(Object(external_wp_richText_["toHTMLString"])({ - value: after, - multilineTag - }), isAfterOriginal)); - } // If there are pasted blocks, set the selection to the last one. Otherwise, - // set the selection to the second block. - - - const indexToSelect = hasPastedBlocks ? lastPastedBlockIndex : 1; // If there are pasted blocks, move the caret to the end of the selected - // block Otherwise, retain the default value. - - const initialPosition = hasPastedBlocks ? -1 : 0; - onReplace(blocks, indexToSelect, initialPosition); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-paste-handler.js -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - -function usePasteHandler(props) { - const propsRef = Object(external_wp_element_["useRef"])(props); - propsRef.current = props; - return Object(external_wp_compose_["useRefEffect"])(element => { - function _onPaste(event) { - const { - isSelected, - disableFormats, - onChange, - value, - formatTypes, - tagName, - onReplace, - onSplit, - onSplitMiddle, - __unstableEmbedURLOnPaste, - multilineTag, - preserveWhiteSpace, - pastePlainText - } = propsRef.current; - - if (!isSelected) { - event.preventDefault(); - 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; - } - } - - event.preventDefault(); // Allows us to ask for this information when we get a report. - - window.console.log('Received HTML:\n\n', html); - window.console.log('Received plain text:\n\n', plainText); - - if (disableFormats) { - onChange(Object(external_wp_richText_["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 = [...Object(external_wp_dom_["getFilesFromDataTransfer"])(clipboardData)]; - const isInternal = 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 = Object(external_wp_richText_["create"])({ - html, - multilineTag, - multilineWrapperTags: multilineTag === 'li' ? ['ul', 'ol'] : undefined, - preserveWhiteSpace - }); - addActiveFormats(pastedValue, value.activeFormats); - onChange(Object(external_wp_richText_["insert"])(value, pastedValue)); - return; - } - - if (pastePlainText) { - onChange(Object(external_wp_richText_["insert"])(value, Object(external_wp_richText_["create"])({ - text: plainText - }))); - return; - } // Only process file if no HTML is present. - // Note: a pasted file may have the URL as plain text. - - - if (files && files.length && !html) { - const content = Object(external_wp_blocks_["pasteHandler"])({ - HTML: filePasteHandler(files), - mode: 'BLOCKS', - tagName, - preserveWhiteSpace - }); // 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); - - if (onReplace && Object(external_wp_richText_["isEmpty"])(value)) { - onReplace(content); - } else { - splitValue({ - value, - pastedBlocks: content, - onReplace, - onSplit, - onSplitMiddle, - multilineTag - }); - } - - 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' && Object(external_wp_richText_["isEmpty"])(value) && isShortcode(plainText)) { - mode = 'BLOCKS'; - } - - if (__unstableEmbedURLOnPaste && Object(external_wp_richText_["isEmpty"])(value) && Object(external_wp_url_["isURL"])(plainText.trim())) { - mode = 'BLOCKS'; - } - - const content = Object(external_wp_blocks_["pasteHandler"])({ - HTML: html, - plainText, - mode, - tagName, - preserveWhiteSpace - }); - - if (typeof content === 'string') { - let valueToInsert = Object(external_wp_richText_["create"])({ - html: content - }); - addActiveFormats(valueToInsert, value.activeFormats); // If the content should be multiline, we should process text - // separated by a line break as separate lines. - - if (multilineTag) { - valueToInsert = Object(external_wp_richText_["replace"])(valueToInsert, /\n+/g, external_wp_richText_["__UNSTABLE_LINE_SEPARATOR"]); - } - - onChange(Object(external_wp_richText_["insert"])(value, valueToInsert)); - } else if (content.length > 0) { - if (onReplace && Object(external_wp_richText_["isEmpty"])(value)) { - onReplace(content, content.length - 1, -1); - } else { - splitValue({ - value, - pastedBlocks: content, - onReplace, - onSplit, - onSplitMiddle, - multilineTag - }); - } - } - } - - element.addEventListener('paste', _onPaste); - return () => { - element.removeEventListener('paste', _onPaste); - }; - }, []); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-input-rules.js -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - -function useInputRules(props) { - const { - __unstableMarkLastChangeAsPersistent, - __unstableMarkAutomaticChange - } = Object(external_wp_data_["useDispatch"])(store); - const propsRef = Object(external_wp_element_["useRef"])(props); - propsRef.current = props; - return Object(external_wp_compose_["useRefEffect"])(element => { - function inputRule() { - const { - value, - onReplace - } = propsRef.current; - - if (!onReplace) { - return; - } - - const { - start, - text - } = value; - const characterBefore = text.slice(start - 1, start); // The character right before the caret must be a plain space. - - if (characterBefore !== ' ') { - return; - } - - const trimmedTextBefore = text.slice(0, start).trim(); - const prefixTransforms = Object(external_wp_blocks_["getBlockTransforms"])('from').filter(({ - type - }) => type === 'prefix'); - const transformation = Object(external_wp_blocks_["findTransform"])(prefixTransforms, ({ - prefix - }) => { - return trimmedTextBefore === prefix; - }); - - if (!transformation) { - return; - } - - const content = Object(external_wp_richText_["toHTMLString"])({ - value: Object(external_wp_richText_["slice"])(value, start, text.length) - }); - const block = transformation.transform(content); - onReplace([block]); - - __unstableMarkAutomaticChange(); - } - - function onInput(event) { - const { - inputType, - type - } = event; - const { - value, - onChange, - __unstableAllowPrefixTransformations, - formatTypes - } = propsRef.current; // Only run input rules when inserting text. - - if (inputType !== 'insertText' && type !== 'compositionend') { - return; - } - - if (__unstableAllowPrefixTransformations && inputRule) { - inputRule(); - } - - const transformed = formatTypes.reduce((accumlator, { - __unstableInputRule - }) => { - if (__unstableInputRule) { - accumlator = __unstableInputRule(accumlator); - } - - return accumlator; - }, value); - - if (transformed !== value) { - __unstableMarkLastChangeAsPersistent(); - - onChange({ ...transformed, - activeFormats: value.activeFormats - }); - - __unstableMarkAutomaticChange(); - } - } - - element.addEventListener('input', onInput); - element.addEventListener('compositionend', onInput); - return () => { - element.removeEventListener('input', onInput); - element.removeEventListener('compositionend', onInput); - }; - }, []); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-enter.js -/** - * WordPress dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - -function useEnter(props) { - const { - __unstableMarkAutomaticChange - } = Object(external_wp_data_["useDispatch"])(store); - const propsRef = Object(external_wp_element_["useRef"])(props); - propsRef.current = props; - return Object(external_wp_compose_["useRefEffect"])(element => { - function onKeyDown(event) { - if (event.defaultPrevented) { - return; - } - - const { - removeEditorOnlyFormats, - value, - onReplace, - onSplit, - onSplitMiddle, - multilineTag, - onChange, - disableLineBreaks, - onSplitAtEnd - } = propsRef.current; - - if (event.keyCode !== external_wp_keycodes_["ENTER"]) { - return; - } - - event.preventDefault(); - const _value = { ...value - }; - _value.formats = removeEditorOnlyFormats(value); - const canSplit = onReplace && onSplit; - - if (onReplace) { - const transforms = Object(external_wp_blocks_["getBlockTransforms"])('from').filter(({ - type - }) => type === 'enter'); - const transformation = Object(external_wp_blocks_["findTransform"])(transforms, item => { - return item.regExp.test(_value.text); - }); - - if (transformation) { - onReplace([transformation.transform({ - content: _value.text - })]); - - __unstableMarkAutomaticChange(); - } - } - - if (multilineTag) { - if (event.shiftKey) { - if (!disableLineBreaks) { - onChange(Object(external_wp_richText_["insert"])(_value, '\n')); - } - } else if (canSplit && Object(external_wp_richText_["__unstableIsEmptyLine"])(_value)) { - splitValue({ - value: _value, - onReplace, - onSplit, - onSplitMiddle, - multilineTag - }); - } else { - onChange(Object(external_wp_richText_["__unstableInsertLineSeparator"])(_value)); - } - } else { - const { - text, - start, - end - } = _value; - const canSplitAtEnd = onSplitAtEnd && start === end && end === text.length; - - if (event.shiftKey || !canSplit && !canSplitAtEnd) { - if (!disableLineBreaks) { - onChange(Object(external_wp_richText_["insert"])(_value, '\n')); - } - } else if (!canSplit && canSplitAtEnd) { - onSplitAtEnd(); - } else if (canSplit) { - splitValue({ - value: _value, - onReplace, - onSplit, - onSplitMiddle, - multilineTag - }); - } - } - } - - element.addEventListener('keydown', onKeyDown); - return () => { - element.removeEventListener('keydown', onKeyDown); - }; - }, []); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/use-format-types.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - -function formatTypesSelector(select) { - return select(external_wp_richText_["store"]).getFormatTypes(); -} -/** - * Set of all interactive content tags. - * - * @see https://html.spec.whatwg.org/multipage/dom.html#interactive-content - */ - - -const interactiveContentTags = new Set(['a', 'audio', 'button', 'details', 'embed', 'iframe', 'input', 'label', 'select', 'textarea', 'video']); -/** - * This hook provides RichText with the `formatTypes` and its derived props from - * experimental format type settings. - * - * @param {Object} $0 Options - * @param {string} $0.clientId Block client ID. - * @param {string} $0.identifier Block attribute. - * @param {boolean} $0.withoutInteractiveFormatting Whether to clean the interactive formattings or not. - * @param {Array} $0.allowedFormats Allowed formats - */ - -function useFormatTypes({ - clientId, - identifier, - withoutInteractiveFormatting, - allowedFormats -}) { - const allFormatTypes = Object(external_wp_data_["useSelect"])(formatTypesSelector, []); - const formatTypes = Object(external_wp_element_["useMemo"])(() => { - return allFormatTypes.filter(({ - name, - tagName - }) => { - if (allowedFormats && !allowedFormats.includes(name)) { - return false; - } - - if (withoutInteractiveFormatting && interactiveContentTags.has(tagName)) { - return false; - } - - return true; - }); - }, [allFormatTypes, allowedFormats, interactiveContentTags]); - const keyedSelected = Object(external_wp_data_["useSelect"])(select => formatTypes.reduce((accumulator, type) => { - if (type.__experimentalGetPropsForEditableTreePreparation) { - accumulator[type.name] = type.__experimentalGetPropsForEditableTreePreparation(select, { - richTextIdentifier: identifier, - blockClientId: clientId - }); - } - - return accumulator; - }, {}), [formatTypes, clientId, identifier]); - const dispatch = Object(external_wp_data_["useDispatch"])(); - const prepareHandlers = []; - const valueHandlers = []; - const changeHandlers = []; - const dependencies = []; - formatTypes.forEach(type => { - if (type.__experimentalCreatePrepareEditableTree) { - const selected = keyedSelected[type.name]; - - const handler = type.__experimentalCreatePrepareEditableTree(selected, { - richTextIdentifier: identifier, - blockClientId: clientId - }); - - if (type.__experimentalCreateOnChangeEditableValue) { - valueHandlers.push(handler); - } else { - prepareHandlers.push(handler); - } - - for (const key in selected) { - dependencies.push(selected[key]); - } - } - - if (type.__experimentalCreateOnChangeEditableValue) { - let dispatchers = {}; - - if (type.__experimentalGetPropsForEditableTreeChangeHandler) { - dispatchers = type.__experimentalGetPropsForEditableTreeChangeHandler(dispatch, { - richTextIdentifier: identifier, - blockClientId: clientId - }); - } - - changeHandlers.push(type.__experimentalCreateOnChangeEditableValue({ ...(keyedSelected[type.name] || {}), - ...dispatchers - }, { - richTextIdentifier: identifier, - blockClientId: clientId - })); - } - }); - return { - formatTypes, - prepareHandlers, - valueHandlers, - changeHandlers, - dependencies - }; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/format-edit.js - - -/** - * WordPress dependencies - */ - -function FormatEdit({ - formatTypes, - onChange, - onFocus, - value, - forwardedRef -}) { - return formatTypes.map(settings => { - const { - name, - edit: Edit - } = settings; - - if (!Edit) { - return null; - } - - const activeFormat = Object(external_wp_richText_["getActiveFormat"])(value, name); - const isActive = activeFormat !== undefined; - const activeObject = Object(external_wp_richText_["getActiveObject"])(value); - const isObjectActive = activeObject !== undefined && activeObject.type === name; - return Object(external_wp_element_["createElement"])(Edit, { - key: name, - isActive: isActive, - activeAttributes: isActive ? activeFormat.attributes || {} : {}, - isObjectActive: isObjectActive, - activeObjectAttributes: isObjectActive ? activeObject.attributes || {} : {}, - value: value, - onChange: onChange, - onFocus: onFocus, - contentRef: forwardedRef - }); - }); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/index.js - - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - - -/** - * Internal dependencies - */ - - - - - - - - - - - - - - - -/** - * Removes props used for the native version of RichText so that they are not - * passed to the DOM element and log warnings. - * - * @param {Object} props Props to filter. - * - * @return {Object} Filtered props. - */ - -function removeNativeProps(props) { - return Object(external_lodash_["omit"])(props, ['__unstableMobileNoFocusOnMount', 'deleteEnter', 'placeholderTextColor', 'textAlign', 'selectionColor', 'tagsToEliminate', 'rootTagsToEliminate', 'disableEditingMenu', 'fontSize', 'fontFamily', 'fontWeight', 'fontStyle', 'minWidth', 'maxWidth', 'setRef']); -} - -function RichTextWrapper({ - children, - tagName = 'div', - value: originalValue = '', - onChange: originalOnChange, - isSelected: originalIsSelected, - multiline, - inlineToolbar, - wrapperClassName, - autocompleters, - onReplace, - placeholder, - allowedFormats, - formattingControls, - withoutInteractiveFormatting, - onRemove, - onMerge, - onSplit, - __unstableOnSplitAtEnd: onSplitAtEnd, - __unstableOnSplitMiddle: onSplitMiddle, - identifier, - preserveWhiteSpace, - __unstablePastePlainText: pastePlainText, - __unstableEmbedURLOnPaste, - __unstableDisableFormats: disableFormats, - disableLineBreaks, - unstableOnFocus, - __unstableAllowPrefixTransformations, - ...props -}, forwardedRef) { - const instanceId = Object(external_wp_compose_["useInstanceId"])(RichTextWrapper); - identifier = identifier || instanceId; - props = removeNativeProps(props); - const anchorRef = Object(external_wp_element_["useRef"])(); - const { - clientId - } = useBlockEditContext(); - - const selector = select => { - const { - getSelectionStart, - getSelectionEnd, - isMultiSelecting, - hasMultiSelection - } = select(store); - const selectionStart = getSelectionStart(); - const selectionEnd = getSelectionEnd(); - let isSelected; - - if (originalIsSelected === undefined) { - isSelected = selectionStart.clientId === clientId && selectionStart.attributeKey === identifier; - } else if (originalIsSelected) { - isSelected = selectionStart.clientId === clientId; - } - - return { - selectionStart: isSelected ? selectionStart.offset : undefined, - selectionEnd: isSelected ? selectionEnd.offset : undefined, - isSelected, - disabled: isMultiSelecting() || hasMultiSelection() - }; - }; // 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, - disabled - } = Object(external_wp_data_["useSelect"])(selector); - const { - selectionChange - } = Object(external_wp_data_["useDispatch"])(store); - const multilineTag = getMultilineTag(multiline); - const adjustedAllowedFormats = getAllowedFormats({ - allowedFormats, - formattingControls, - disableFormats - }); - const hasFormats = !adjustedAllowedFormats || adjustedAllowedFormats.length > 0; - let adjustedValue = originalValue; - let adjustedOnChange = originalOnChange; // Handle deprecated format. - - if (Array.isArray(originalValue)) { - adjustedValue = external_wp_blocks_["children"].toHTML(originalValue); - - adjustedOnChange = newValue => originalOnChange(external_wp_blocks_["children"].fromDOM(Object(external_wp_richText_["__unstableCreateElement"])(document, newValue).childNodes)); - } - - const onSelectionChange = Object(external_wp_element_["useCallback"])((start, end) => { - selectionChange(clientId, identifier, start, end); - }, [clientId, identifier]); - const { - formatTypes, - prepareHandlers, - valueHandlers, - changeHandlers, - dependencies - } = useFormatTypes({ - clientId, - identifier, - withoutInteractiveFormatting, - allowedFormats: adjustedAllowedFormats - }); - - function addEditorOnlyFormats(value) { - return valueHandlers.reduce((accumulator, fn) => fn(accumulator, value.text), value.formats); - } - - function removeEditorOnlyFormats(value) { - formatTypes.forEach(formatType => { - // Remove formats created by prepareEditableTree, because they are editor only. - if (formatType.__experimentalCreatePrepareEditableTree) { - value = Object(external_wp_richText_["removeFormat"])(value, formatType.name, 0, value.text.length); - } - }); - return value.formats; - } - - function addInvisibleFormats(value) { - return prepareHandlers.reduce((accumulator, fn) => fn(accumulator, value.text), value.formats); - } - - const { - value, - onChange, - onFocus, - ref: richTextRef - } = Object(external_wp_richText_["__unstableUseRichText"])({ - value: adjustedValue, - - onChange(html, { - __unstableFormats, - __unstableText - }) { - adjustedOnChange(html); - Object.values(changeHandlers).forEach(changeHandler => { - changeHandler(__unstableFormats, __unstableText); - }); - }, - - selectionStart, - selectionEnd, - onSelectionChange, - placeholder, - __unstableIsSelected: isSelected, - __unstableMultilineTag: multilineTag, - __unstableDisableFormats: disableFormats, - preserveWhiteSpace, - __unstableDependencies: [...dependencies, tagName], - __unstableAfterParse: addEditorOnlyFormats, - __unstableBeforeSerialize: removeEditorOnlyFormats, - __unstableAddInvisibleFormats: addInvisibleFormats - }); - const autocompleteProps = useBlockEditorAutocompleteProps({ - onReplace, - completers: autocompleters, - record: value, - onChange - }); - useCaretInFormat({ - value - }); - useMarkPersistent({ - html: adjustedValue, - value - }); - - function onKeyDown(event) { - const { - keyCode - } = event; - - if (event.defaultPrevented) { - return; - } - - if (keyCode === external_wp_keycodes_["DELETE"] || keyCode === external_wp_keycodes_["BACKSPACE"]) { - const { - start, - end, - text - } = value; - const isReverse = keyCode === external_wp_keycodes_["BACKSPACE"]; - const hasActiveFormats = value.activeFormats && !!value.activeFormats.length; // Only process delete if the key press occurs at an uncollapsed edge. - - if (!Object(external_wp_richText_["isCollapsed"])(value) || hasActiveFormats || isReverse && start !== 0 || !isReverse && end !== text.length) { - return; - } - - if (onMerge) { - onMerge(!isReverse); - } // Only handle remove on Backspace. This serves dual-purpose of being - // 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 && Object(external_wp_richText_["isEmpty"])(value) && isReverse) { - onRemove(!isReverse); - } - - event.preventDefault(); - } - } - - const TagName = tagName; - const content = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, isSelected && children && children({ - value, - onChange, - onFocus - }), isSelected && Object(external_wp_element_["createElement"])(RemoveBrowserShortcuts, null), isSelected && Object(external_wp_element_["createElement"])(FormatEdit, { - value: value, - onChange: onChange, - onFocus: onFocus, - formatTypes: formatTypes, - forwardedRef: anchorRef - }), isSelected && hasFormats && Object(external_wp_element_["createElement"])(format_toolbar_container, { - inline: inlineToolbar, - anchorRef: anchorRef.current - }), Object(external_wp_element_["createElement"])(TagName // Overridable props. - , Object(esm_extends["a" /* default */])({ - role: "textbox", - "aria-multiline": true, - "aria-label": placeholder - }, props, autocompleteProps, { - ref: Object(external_wp_compose_["useMergeRefs"])([autocompleteProps.ref, props.ref, richTextRef, useInputRules({ - value, - onChange, - __unstableAllowPrefixTransformations, - formatTypes, - onReplace - }), useUndoAutomaticChange(), usePasteHandler({ - isSelected, - disableFormats, - onChange, - value, - formatTypes, - tagName, - onReplace, - onSplit, - onSplitMiddle, - __unstableEmbedURLOnPaste, - multilineTag, - preserveWhiteSpace, - pastePlainText - }), useEnter({ - removeEditorOnlyFormats, - value, - onReplace, - onSplit, - onSplitMiddle, - multilineTag, - onChange, - disableLineBreaks, - onSplitAtEnd - }), anchorRef, forwardedRef]) // Do not set the attribute if disabled. - , - contentEditable: disabled ? undefined : true, - suppressContentEditableWarning: !disabled, - className: classnames_default()('block-editor-rich-text__editable', props.className, 'rich-text'), - onFocus: unstableOnFocus, - onKeyDown: onKeyDown - }))); - - if (!wrapperClassName) { - return content; - } - - external_wp_deprecated_default()('wp.blockEditor.RichText wrapperClassName prop', { - since: '5.4', - alternative: 'className prop or create your own wrapper div' - }); - const className = classnames_default()('block-editor-rich-text', wrapperClassName); - return Object(external_wp_element_["createElement"])("div", { - className: className - }, content); -} - -const ForwardedRichTextContainer = Object(external_wp_element_["forwardRef"])(RichTextWrapper); - -ForwardedRichTextContainer.Content = ({ - value, - tagName: Tag, - multiline, - ...props -}) => { - // Handle deprecated `children` and `node` sources. - if (Array.isArray(value)) { - value = external_wp_blocks_["children"].toHTML(value); - } - - const MultilineTag = getMultilineTag(multiline); - - if (!value && MultilineTag) { - value = `<${MultilineTag}>`; - } - - const content = Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, value); - - if (Tag) { - return Object(external_wp_element_["createElement"])(Tag, Object(external_lodash_["omit"])(props, ['format']), content); - } - - return content; -}; - -ForwardedRichTextContainer.isEmpty = value => { - return !value || value.length === 0; -}; -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md - */ - - -/* harmony default export */ var rich_text = (ForwardedRichTextContainer); - - - - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-navigation/editor.js - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - -function BlockNavigationEditor({ - value, - onChange -}) { - return Object(external_wp_element_["createElement"])(BlockNavigationBlockFill, null, Object(external_wp_element_["createElement"])(rich_text, { - value: value, - onChange: onChange, - placeholder: Object(external_wp_i18n_["__"])('Navigation item'), - withoutInteractiveFormatting: true, - allowedFormats: ['core/bold', 'core/italic', 'core/image', 'core/strikethrough'] - })); -} - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/layout.js -var library_layout = __webpack_require__("Civd"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-variation-picker/index.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - -function BlockVariationPicker({ - icon = library_layout["a" /* default */], - label = Object(external_wp_i18n_["__"])('Choose variation'), - instructions = Object(external_wp_i18n_["__"])('Select a variation to start with.'), - variations, - onSelect, - allowSkip -}) { - const classes = classnames_default()('block-editor-block-variation-picker', { - 'has-many-variations': variations.length > 4 - }); - return Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { - icon: icon, - label: label, - instructions: instructions, - className: classes - }, Object(external_wp_element_["createElement"])("ul", { - className: "block-editor-block-variation-picker__variations", - role: "list", - "aria-label": Object(external_wp_i18n_["__"])('Block variations') - }, variations.map(variation => Object(external_wp_element_["createElement"])("li", { - key: variation.name - }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - isSecondary: true, - icon: variation.icon, - iconSize: 48, - onClick: () => onSelect(variation), - className: "block-editor-block-variation-picker__variation", - label: variation.description || variation.title - }), Object(external_wp_element_["createElement"])("span", { - className: "block-editor-block-variation-picker__variation-label", - role: "presentation" - }, variation.title)))), allowSkip && Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-variation-picker__skip" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - isLink: true, - onClick: () => onSelect() - }, Object(external_wp_i18n_["__"])('Skip')))); -} - -/* harmony default export */ var block_variation_picker = (BlockVariationPicker); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/grid.js -var grid = __webpack_require__("b2RC"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-pattern-setup/constants.js -const VIEWMODES = { - carousel: 'carousel', - grid: 'grid' -}; - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-pattern-setup/setup-toolbar.js - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -const Actions = ({ - onStartBlank, - onBlockPatternSelect -}) => Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-pattern-setup__actions" -}, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - onClick: onStartBlank -}, Object(external_wp_i18n_["__"])('Start blank')), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - isPrimary: true, - onClick: onBlockPatternSelect -}, Object(external_wp_i18n_["__"])('Choose'))); - -const CarouselNavigation = ({ - handlePrevious, - handleNext, - activeSlide, - totalSlides -}) => Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-pattern-setup__navigation" -}, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - icon: chevron_left["a" /* default */], - label: Object(external_wp_i18n_["__"])('Previous pattern'), - onClick: handlePrevious, - disabled: activeSlide === 0 -}), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - icon: chevron_right["a" /* default */], - label: Object(external_wp_i18n_["__"])('Next pattern'), - onClick: handleNext, - disabled: activeSlide === totalSlides - 1 -})); - -const SetupToolbar = ({ - viewMode, - setViewMode, - handlePrevious, - handleNext, - activeSlide, - totalSlides, - onBlockPatternSelect, - onStartBlank -}) => { - const isCarouselView = viewMode === VIEWMODES.carousel; - const displayControls = Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-pattern-setup__display-controls" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - icon: stretch_full_width, - label: Object(external_wp_i18n_["__"])('Carousel view'), - onClick: () => setViewMode(VIEWMODES.carousel), - isPressed: isCarouselView - }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - icon: grid["a" /* default */], - label: Object(external_wp_i18n_["__"])('Grid view'), - onClick: () => setViewMode(VIEWMODES.grid), - isPressed: viewMode === VIEWMODES.grid - })); - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-pattern-setup__toolbar" - }, isCarouselView && Object(external_wp_element_["createElement"])(CarouselNavigation, { - handlePrevious: handlePrevious, - handleNext: handleNext, - activeSlide: activeSlide, - totalSlides: totalSlides - }), displayControls, isCarouselView && Object(external_wp_element_["createElement"])(Actions, { - onBlockPatternSelect: onBlockPatternSelect, - onStartBlank: onStartBlank - })); -}; - -/* harmony default export */ var setup_toolbar = (SetupToolbar); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-pattern-setup/use-patterns-setup.js -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - -function usePatternsSetup(clientId, blockName, filterPatternsFn) { - return Object(external_wp_data_["useSelect"])(select => { - const { - getBlockRootClientId, - __experimentalGetPatternsByBlockTypes, - __experimentalGetAllowedPatterns - } = select(store); - const rootClientId = getBlockRootClientId(clientId); - - if (filterPatternsFn) { - return __experimentalGetAllowedPatterns(rootClientId).filter(filterPatternsFn); - } - - return __experimentalGetPatternsByBlockTypes(blockName, rootClientId); - }, [clientId, blockName, filterPatternsFn]); -} - -/* harmony default export */ var use_patterns_setup = (usePatternsSetup); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-pattern-setup/index.js - - - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - - - - -const SetupContent = ({ - viewMode, - activeSlide, - patterns, - onBlockPatternSelect -}) => { - const composite = Object(external_wp_components_["__unstableUseCompositeState"])(); - 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 Object(external_wp_element_["createElement"])("div", { - className: containerClass - }, Object(external_wp_element_["createElement"])("ul", { - className: "carousel-container" - }, patterns.map((pattern, index) => Object(external_wp_element_["createElement"])(BlockPatternSlide, { - className: slideClass.get(index) || '', - key: pattern.name, - pattern: pattern - })))); - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["__unstableComposite"], Object(esm_extends["a" /* default */])({}, composite, { - role: "listbox", - className: containerClass, - "aria-label": Object(external_wp_i18n_["__"])('Patterns list') - }), patterns.map(pattern => Object(external_wp_element_["createElement"])(block_pattern_setup_BlockPattern, { - key: pattern.name, - pattern: pattern, - onSelect: onBlockPatternSelect, - composite: composite - }))); -}; - -function block_pattern_setup_BlockPattern({ - pattern, - onSelect, - composite -}) { - const baseClassName = 'block-editor-block-pattern-setup-list'; - const { - blocks, - title, - description, - viewportWidth = 700 - } = pattern; - const descriptionId = Object(external_wp_compose_["useInstanceId"])(block_pattern_setup_BlockPattern, `${baseClassName}__item-description`); - return Object(external_wp_element_["createElement"])("div", { - className: `${baseClassName}__list-item`, - "aria-label": pattern.title, - "aria-describedby": pattern.description ? descriptionId : undefined - }, Object(external_wp_element_["createElement"])(external_wp_components_["__unstableCompositeItem"], Object(esm_extends["a" /* default */])({ - role: "option", - as: "div" - }, composite, { - className: `${baseClassName}__item`, - onClick: () => onSelect(blocks) - }), Object(external_wp_element_["createElement"])(block_preview, { - blocks: blocks, - viewportWidth: viewportWidth - }), Object(external_wp_element_["createElement"])("div", { - className: `${baseClassName}__item-title` - }, title)), !!description && Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { - id: descriptionId - }, description)); -} - -function BlockPatternSlide({ - className, - pattern -}) { - const { - blocks, - title, - description - } = pattern; - const descriptionId = Object(external_wp_compose_["useInstanceId"])(BlockPatternSlide, 'block-editor-block-pattern-setup-list__item-description'); - return Object(external_wp_element_["createElement"])("li", { - className: `pattern-slide ${className}`, - "aria-label": title, - "aria-describedby": description ? descriptionId : undefined - }, Object(external_wp_element_["createElement"])(block_preview, { - blocks: blocks, - __experimentalLive: true - }), !!description && Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { - id: descriptionId - }, description)); -} - -const BlockPatternSetup = ({ - clientId, - blockName, - filterPatternsFn, - startBlankComponent, - onBlockPatternSelect -}) => { - const [viewMode, setViewMode] = Object(external_wp_element_["useState"])(VIEWMODES.carousel); - const [activeSlide, setActiveSlide] = Object(external_wp_element_["useState"])(0); - const [showBlank, setShowBlank] = Object(external_wp_element_["useState"])(false); - const { - replaceBlock - } = Object(external_wp_data_["useDispatch"])(store); - const patterns = use_patterns_setup(clientId, blockName, filterPatternsFn); - - if (!(patterns !== null && patterns !== void 0 && patterns.length) || showBlank) { - return startBlankComponent; - } - - const onBlockPatternSelectDefault = blocks => { - const clonedBlocks = blocks.map(block => Object(external_wp_blocks_["cloneBlock"])(block)); - replaceBlock(clientId, clonedBlocks); - }; - - const onPatternSelectCallback = onBlockPatternSelect || onBlockPatternSelectDefault; - return Object(external_wp_element_["createElement"])("div", { - className: `block-editor-block-pattern-setup view-mode-${viewMode}` - }, Object(external_wp_element_["createElement"])(setup_toolbar, { - viewMode: viewMode, - setViewMode: setViewMode, - activeSlide: activeSlide, - totalSlides: patterns.length, - handleNext: () => { - setActiveSlide(active => active + 1); - }, - handlePrevious: () => { - setActiveSlide(active => active - 1); - }, - onBlockPatternSelect: () => { - onPatternSelectCallback(patterns[activeSlide].blocks); - }, - onStartBlank: () => { - setShowBlank(true); - } - }), Object(external_wp_element_["createElement"])(SetupContent, { - viewMode: viewMode, - activeSlide: activeSlide, - patterns: patterns, - onBlockPatternSelect: onPatternSelectCallback - })); -}; - -/* harmony default export */ var block_pattern_setup = (BlockPatternSetup); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/block-variation-transforms.js -/** - * External dependencies - */ - -/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */ - -/** - * 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 is a simple implementation for now as it takes into account only the attributes - * of a block variation and not `InnerBlocks`. - * - * @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} - If a match is found returns it. If not or more than one matches are found returns `undefined`. - */ - -const __experimentalGetMatchingVariation = (blockAttributes, variations) => { - if (!variations || !blockAttributes) return; - const matches = variations.filter(({ - attributes - }) => { - if (!attributes || !Object.keys(attributes).length) return false; - return Object(external_lodash_["isMatch"])(blockAttributes, attributes); - }); - if (matches.length !== 1) return; - return matches[0]; -}; - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-variation-transforms/index.js - - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - - - -function __experimentalBlockVariationTransforms({ - blockClientId -}) { - const [selectedValue, setSelectedValue] = Object(external_wp_element_["useState"])(); - const { - updateBlockAttributes - } = Object(external_wp_data_["useDispatch"])(store); - const { - variations, - blockAttributes - } = Object(external_wp_data_["useSelect"])(select => { - const { - getBlockVariations - } = select(external_wp_blocks_["store"]); - const { - getBlockName, - getBlockAttributes - } = select(store); - const blockName = blockClientId && getBlockName(blockClientId); - return { - variations: blockName && getBlockVariations(blockName, 'transform'), - blockAttributes: getBlockAttributes(blockClientId) - }; - }, [blockClientId]); - Object(external_wp_element_["useEffect"])(() => { - var _getMatchingVariation; - - setSelectedValue((_getMatchingVariation = __experimentalGetMatchingVariation(blockAttributes, variations)) === null || _getMatchingVariation === void 0 ? void 0 : _getMatchingVariation.name); - }, [blockAttributes, variations]); - if (!(variations !== null && variations !== void 0 && variations.length)) return null; - const selectOptions = variations.map(({ - name, - title, - description - }) => ({ - value: name, - label: title, - info: description - })); - - const onSelectVariation = variationName => { - updateBlockAttributes(blockClientId, { ...variations.find(({ - name - }) => name === variationName).attributes - }); - }; - - const baseClass = 'block-editor-block-variation-transforms'; - return Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { - className: baseClass, - label: Object(external_wp_i18n_["__"])('Transform to variation'), - text: Object(external_wp_i18n_["__"])('Transform to variation'), - popoverProps: { - position: 'bottom center', - className: `${baseClass}__popover` - }, - icon: chevron_down["a" /* default */], - toggleProps: { - iconPosition: 'right' - } - }, () => Object(external_wp_element_["createElement"])("div", { - className: `${baseClass}__container` - }, Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItemsChoice"], { - choices: selectOptions, - value: selectedValue, - onSelect: onSelectVariation - })))); -} - -/* harmony default export */ var block_variation_transforms = (__experimentalBlockVariationTransforms); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-vertical-alignment-control/icons.js - - -/** - * WordPress dependencies - */ - -const alignBottom = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { - d: "M15 4H9v11h6V4zM4 18.5V20h16v-1.5H4z" -})); -const alignCenter = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { - d: "M20 11h-5V4H9v7H4v1.5h5V20h6v-7.5h5z" -})); -const alignTop = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { - d: "M9 20h6V9H9v11zM4 4v1.5h16V4H4z" -})); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-vertical-alignment-control/ui.js - - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -const ui_BLOCK_ALIGNMENTS_CONTROLS = { - top: { - icon: alignTop, - title: Object(external_wp_i18n_["_x"])('Align top', 'Block vertical alignment setting') - }, - center: { - icon: alignCenter, - title: Object(external_wp_i18n_["_x"])('Align middle', 'Block vertical alignment setting') - }, - bottom: { - icon: alignBottom, - title: Object(external_wp_i18n_["_x"])('Align bottom', 'Block vertical alignment setting') - } -}; -const ui_DEFAULT_CONTROLS = ['top', 'center', 'bottom']; -const ui_DEFAULT_CONTROL = 'top'; -const block_vertical_alignment_control_ui_POPOVER_PROPS = { - isAlternate: true -}; - -function BlockVerticalAlignmentUI({ - value, - onChange, - controls = ui_DEFAULT_CONTROLS, - isCollapsed = true, - isToolbar -}) { - function applyOrUnset(align) { - return () => onChange(value === align ? undefined : align); - } - - const activeAlignment = ui_BLOCK_ALIGNMENTS_CONTROLS[value]; - const defaultAlignmentControl = ui_BLOCK_ALIGNMENTS_CONTROLS[ui_DEFAULT_CONTROL]; - const UIComponent = isToolbar ? external_wp_components_["ToolbarGroup"] : external_wp_components_["ToolbarDropdownMenu"]; - const extraProps = isToolbar ? { - isCollapsed - } : {}; - return Object(external_wp_element_["createElement"])(UIComponent, Object(esm_extends["a" /* default */])({ - popoverProps: block_vertical_alignment_control_ui_POPOVER_PROPS, - icon: activeAlignment ? activeAlignment.icon : defaultAlignmentControl.icon, - label: Object(external_wp_i18n_["_x"])('Change vertical alignment', 'Block vertical alignment setting label'), - controls: controls.map(control => { - return { ...ui_BLOCK_ALIGNMENTS_CONTROLS[control], - isActive: value === control, - role: isCollapsed ? 'menuitemradio' : undefined, - onClick: applyOrUnset(control) - }; - }) - }, extraProps)); -} -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-vertical-alignment-toolbar/README.md - */ - - -/* harmony default export */ var block_vertical_alignment_control_ui = (BlockVerticalAlignmentUI); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-vertical-alignment-control/index.js - - - -/** - * Internal dependencies - */ - -function BlockVerticalAlignmentControl(props) { - return Object(external_wp_element_["createElement"])(block_vertical_alignment_control_ui, Object(esm_extends["a" /* default */])({}, props, { - isToolbar: false - })); -} -function BlockVerticalAlignmentToolbar(props) { - return Object(external_wp_element_["createElement"])(block_vertical_alignment_control_ui, Object(esm_extends["a" /* default */])({}, props, { - isToolbar: true - })); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/color-palette/with-color-context.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -/* harmony default export */ var with_color_context = (Object(external_wp_compose_["createHigherOrderComponent"])(WrappedComponent => { - return props => { - const colorsFeature = useSetting('color.palette'); - const disableCustomColorsFeature = !useSetting('color.custom'); - const colors = props.colors === undefined ? colorsFeature : props.colors; - const disableCustomColors = props.disableCustomColors === undefined ? disableCustomColorsFeature : props.disableCustomColors; - const hasColorsToChoose = !Object(external_lodash_["isEmpty"])(colors) || !disableCustomColors; - return Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, props, { - colors, - disableCustomColors, - hasColorsToChoose - })); - }; -}, 'withColorContext')); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/color-palette/index.js -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - -/* harmony default export */ var color_palette = (with_color_context(external_wp_components_["ColorPalette"])); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/color-palette/control.js - - - -/** - * Internal dependencies - */ - -function ColorPaletteControl({ - onChange, - value, - ...otherProps -}) { - return Object(external_wp_element_["createElement"])(control, Object(esm_extends["a" /* default */])({}, otherProps, { - onColorChange: onChange, - colorValue: value, - gradients: [], - disableCustomGradients: true - })); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/gradient-picker/index.js - - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - -const gradient_picker_EMPTY_ARRAY = []; - -function GradientPickerWithGradients(props) { - const gradients = useSetting('color.gradients') || gradient_picker_EMPTY_ARRAY; - const disableCustomGradients = !useSetting('color.customGradient'); - return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalGradientPicker"], Object(esm_extends["a" /* default */])({ - gradients: props.gradients !== undefined ? props.gradient : gradients, - disableCustomGradients: props.disableCustomGradients !== undefined ? props.disableCustomGradients : disableCustomGradients - }, props)); -} - -/* harmony default export */ var gradient_picker = (function (props) { - const ComponentToUse = props.gradients !== undefined && props.disableCustomGradients !== undefined ? external_wp_components_["__experimentalGradientPicker"] : GradientPickerWithGradients; - return Object(external_wp_element_["createElement"])(ComponentToUse, props); -}); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/gradient-picker/control.js - - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -function GradientPickerControl({ - className, - value, - onChange, - label = Object(external_wp_i18n_["__"])('Gradient Presets'), - ...props -}) { - const gradients = useSetting('color.gradients'); - const disableCustomGradients = !useSetting('color.customGradient'); - - if (Object(external_lodash_["isEmpty"])(gradients) && disableCustomGradients) { - return null; - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], { - className: classnames_default()('block-editor-gradient-picker-control', className) - }, Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"].VisualLabel, null, label), Object(external_wp_element_["createElement"])(gradient_picker, Object(esm_extends["a" /* default */])({ - value: value, - onChange: onChange, - className: "block-editor-gradient-picker-control__gradient-picker-presets", - gradients: gradients, - disableCustomGradients: disableCustomGradients - }, props))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/gradient-picker/panel.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -function GradientPanel(props) { - const gradients = useSetting('color.gradients'); - - if (Object(external_lodash_["isEmpty"])(gradients)) { - return null; - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { - title: Object(external_wp_i18n_["__"])('Gradient') - }, Object(external_wp_element_["createElement"])(GradientPickerControl, props)); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/image-size-control/index.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -const IMAGE_SIZE_PRESETS = [25, 50, 75, 100]; -function ImageSizeControl({ - imageWidth, - imageHeight, - imageSizeOptions = [], - isResizable = true, - slug, - width, - height, - onChange, - onChangeImage = external_lodash_["noop"] -}) { - var _ref, _ref2; - - function updateDimensions(nextWidth, nextHeight) { - return () => { - onChange({ - width: nextWidth, - height: nextHeight - }); - }; - } - - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, !Object(external_lodash_["isEmpty"])(imageSizeOptions) && Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { - label: Object(external_wp_i18n_["__"])('Image size'), - value: slug, - options: imageSizeOptions, - onChange: onChangeImage - }), isResizable && Object(external_wp_element_["createElement"])("div", { - className: "block-editor-image-size-control" - }, Object(external_wp_element_["createElement"])("p", { - className: "block-editor-image-size-control__row" - }, Object(external_wp_i18n_["__"])('Image dimensions')), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-image-size-control__row" - }, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { - type: "number", - className: "block-editor-image-size-control__width", - label: Object(external_wp_i18n_["__"])('Width'), - value: (_ref = width !== null && width !== void 0 ? width : imageWidth) !== null && _ref !== void 0 ? _ref : '', - min: 1, - onChange: value => onChange({ - width: parseInt(value, 10) - }) - }), Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { - type: "number", - className: "block-editor-image-size-control__height", - label: Object(external_wp_i18n_["__"])('Height'), - value: (_ref2 = height !== null && height !== void 0 ? height : imageHeight) !== null && _ref2 !== void 0 ? _ref2 : '', - min: 1, - onChange: value => onChange({ - height: parseInt(value, 10) - }) - })), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-image-size-control__row" - }, Object(external_wp_element_["createElement"])(external_wp_components_["ButtonGroup"], { - "aria-label": Object(external_wp_i18n_["__"])('Image size presets') - }, IMAGE_SIZE_PRESETS.map(scale => { - const scaledWidth = Math.round(imageWidth * (scale / 100)); - const scaledHeight = Math.round(imageHeight * (scale / 100)); - const isCurrent = width === scaledWidth && height === scaledHeight; - return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - key: scale, - isSmall: true, - isPrimary: isCurrent, - isPressed: isCurrent, - onClick: updateDimensions(scaledWidth, scaledHeight) - }, scale, "%"); - })), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - isSmall: true, - onClick: updateDimensions() - }, Object(external_wp_i18n_["__"])('Reset'))))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/with-client-id.js - - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - -const withClientId = Object(external_wp_compose_["createHigherOrderComponent"])(WrappedComponent => props => { - const { - clientId - } = useBlockEditContext(); - return Object(external_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, props, { - clientId: clientId - })); -}, 'withClientId'); -/* harmony default export */ var with_client_id = (withClientId); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/button-block-appender.js - - -/** - * Internal dependencies - */ - - -const button_block_appender_ButtonBlockAppender = ({ - clientId, - showSeparator, - isFloating, - onAddBlock -}) => { - return Object(external_wp_element_["createElement"])(button_block_appender, { - rootClientId: clientId, - showSeparator: showSeparator, - isFloating: isFloating, - onAddBlock: onAddBlock - }); -}; -/* harmony default export */ var inner_blocks_button_block_appender = (with_client_id(button_block_appender_ButtonBlockAppender)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/default-block-appender.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - - -const default_block_appender_DefaultBlockAppender = ({ - clientId, - lastBlockClientId -}) => { - return Object(external_wp_element_["createElement"])(default_block_appender, { - rootClientId: clientId, - lastBlockClientId: lastBlockClientId - }); -}; -/* harmony default export */ var inner_blocks_default_block_appender = (Object(external_wp_compose_["compose"])([with_client_id, Object(external_wp_data_["withSelect"])((select, { - clientId -}) => { - const { - getBlockOrder - } = select(store); - const blockClientIds = getBlockOrder(clientId); - return { - lastBlockClientId: Object(external_lodash_["last"])(blockClientIds) - }; -})])(default_block_appender_DefaultBlockAppender)); - -// EXTERNAL MODULE: external ["wp","isShallowEqual"] -var external_wp_isShallowEqual_ = __webpack_require__("rl8x"); -var external_wp_isShallowEqual_default = /*#__PURE__*/__webpack_require__.n(external_wp_isShallowEqual_); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/use-nested-settings-update.js -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -/** - * This hook is a side effect which updates the block-editor store when changes - * happen to inner block settings. The given props are transformed into a - * settings object, and if that is different from the current settings object in - * the block-editor store, then the store is updated with the new settings which - * came from props. - * - * @param {string} clientId The client ID of the block to update. - * @param {string[]} allowedBlocks An array of block names which are permitted - * in inner blocks. - * @param {string} [templateLock] The template lock specified for the inner - * blocks component. (e.g. "all") - * @param {boolean} captureToolbars Whether or children toolbars should be shown - * in the inner blocks component rather than on - * the child block. - * @param {string} orientation The direction in which the block - * should face. - */ - -function useNestedSettingsUpdate(clientId, allowedBlocks, templateLock, captureToolbars, orientation) { - const { - updateBlockListSettings - } = Object(external_wp_data_["useDispatch"])(store); - const { - blockListSettings, - parentLock - } = Object(external_wp_data_["useSelect"])(select => { - const rootClientId = select(store).getBlockRootClientId(clientId); - return { - blockListSettings: select(store).getBlockListSettings(clientId), - parentLock: select(store).getTemplateLock(rootClientId) - }; - }, [clientId]); // Memoize as inner blocks implementors often pass a new array on every - // render. - - const _allowedBlocks = Object(external_wp_element_["useMemo"])(() => allowedBlocks, allowedBlocks); - - Object(external_wp_element_["useLayoutEffect"])(() => { - const newSettings = { - allowedBlocks: _allowedBlocks, - templateLock: templateLock === undefined ? parentLock : templateLock - }; // These values are not defined for RN, so only include them if they - // are defined. - - if (captureToolbars !== undefined) { - newSettings.__experimentalCaptureToolbars = captureToolbars; - } - - if (orientation !== undefined) { - newSettings.orientation = orientation; - } - - if (!external_wp_isShallowEqual_default()(blockListSettings, newSettings)) { - updateBlockListSettings(clientId, newSettings); - } - }, [clientId, blockListSettings, _allowedBlocks, templateLock, parentLock, captureToolbars, orientation, updateBlockListSettings]); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/use-inner-block-template-sync.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - -/** - * This hook makes sure that a block's inner blocks stay in sync with the given - * block "template". The template is a block hierarchy to which inner blocks must - * conform. If the blocks get "out of sync" with the template and the template - * is meant to be locked (e.g. templateLock = "all"), then we replace the inner - * blocks with the correct value after synchronizing it with the template. - * - * @param {string} clientId The block client ID. - * @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", - * then the inner blocks will stay in sync with the - * template. If not defined or set to false, then - * the inner blocks will not be synchronized with - * the given template. - * @param {boolean} templateInsertUpdatesSelection Whether or not to update the - * block-editor selection state when inner blocks - * are replaced after template synchronization. - */ - -function useInnerBlockTemplateSync(clientId, template, templateLock, templateInsertUpdatesSelection) { - const { - getSelectedBlocksInitialCaretPosition - } = Object(external_wp_data_["useSelect"])(store); - const { - replaceInnerBlocks - } = Object(external_wp_data_["useDispatch"])(store); - const innerBlocks = Object(external_wp_data_["useSelect"])(select => select(store).getBlocks(clientId), [clientId]); // Maintain a reference to the previous value so we can do a deep equality check. - - const existingTemplate = Object(external_wp_element_["useRef"])(null); - Object(external_wp_element_["useLayoutEffect"])(() => { - // Only synchronize innerBlocks with template if innerBlocks are empty or - // a locking all exists directly on the block. - if (innerBlocks.length === 0 || templateLock === 'all') { - const hasTemplateChanged = !Object(external_lodash_["isEqual"])(template, existingTemplate.current); - - if (hasTemplateChanged) { - existingTemplate.current = template; - const nextBlocks = Object(external_wp_blocks_["synchronizeBlocksWithTemplate"])(innerBlocks, template); - - if (!Object(external_lodash_["isEqual"])(nextBlocks, innerBlocks)) { - replaceInnerBlocks(clientId, nextBlocks, innerBlocks.length === 0 && templateInsertUpdatesSelection && nextBlocks.length !== 0, // This ensures the "initialPosition" doesn't change when applying the template - // If we're supposed to focus the block, we'll focus the first inner block - // otherwise, we won't apply any auto-focus. - // This ensures for instance that the focus stays in the inserter when inserting the "buttons" block. - getSelectedBlocksInitialCaretPosition()); - } - } - } - }, [innerBlocks, template, templateLock, clientId]); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/get-block-context.js -/** - * External dependencies - */ - -/** - * Block context cache, implemented as a WeakMap mapping block types to a - * WeakMap mapping attributes object to context value. - * - * @type {WeakMap>} - */ - -const BLOCK_CONTEXT_CACHE = new WeakMap(); -/** - * Returns a cached context object value for a given set of attributes for the - * block type. - * - * @param {Record} attributes Block attributes object. - * @param {WPBlockType} blockType Block type settings. - * - * @return {Record} Context value. - */ - -function getBlockContext(attributes, blockType) { - if (!BLOCK_CONTEXT_CACHE.has(blockType)) { - BLOCK_CONTEXT_CACHE.set(blockType, new WeakMap()); - } - - const blockTypeCache = BLOCK_CONTEXT_CACHE.get(blockType); - - if (!blockTypeCache.has(attributes)) { - const context = Object(external_lodash_["mapValues"])(blockType.providesContext, attributeName => attributes[attributeName]); - blockTypeCache.set(attributes, context); - } - - return blockTypeCache.get(attributes); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inner-blocks/index.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - - - - - - - - - -/** - * InnerBlocks is a component which allows a single block to have multiple blocks - * as children. The UncontrolledInnerBlocks component is used whenever the inner - * blocks are not controlled by another entity. In other words, it is normally - * used for inner blocks in the post editor - * - * @param {Object} props The component props. - */ - -function UncontrolledInnerBlocks(props) { - const { - clientId, - allowedBlocks, - template, - templateLock, - wrapperRef, - templateInsertUpdatesSelection, - __experimentalCaptureToolbars: captureToolbars, - __experimentalAppenderTagName, - renderAppender, - orientation, - placeholder, - __experimentalLayout - } = props; - useNestedSettingsUpdate(clientId, allowedBlocks, templateLock, captureToolbars, orientation); - useInnerBlockTemplateSync(clientId, template, templateLock, templateInsertUpdatesSelection); - const context = Object(external_wp_data_["useSelect"])(select => { - const block = select(store).getBlock(clientId); - const blockType = Object(external_wp_blocks_["getBlockType"])(block.name); - - if (!blockType || !blockType.providesContext) { - return; - } - - return getBlockContext(block.attributes, blockType); - }, [clientId]); // This component needs to always be synchronous as it's the one changing - // the async mode depending on the block selection. - - return Object(external_wp_element_["createElement"])(BlockContextProvider, { - value: context - }, Object(external_wp_element_["createElement"])(BlockListItems, { - rootClientId: clientId, - renderAppender: renderAppender, - __experimentalAppenderTagName: __experimentalAppenderTagName, - __experimentalLayout: __experimentalLayout, - wrapperRef: wrapperRef, - placeholder: placeholder - })); -} -/** - * The controlled inner blocks component wraps the uncontrolled inner blocks - * component with the blockSync hook. This keeps the innerBlocks of the block in - * the block-editor store in sync with the blocks of the controlling entity. An - * example of an inner block controller is a template part block, which provides - * its own blocks from the template part entity data source. - * - * @param {Object} props The component props. - */ - - -function ControlledInnerBlocks(props) { - useBlockSync(props); - return Object(external_wp_element_["createElement"])(UncontrolledInnerBlocks, props); -} - -const ForwardedInnerBlocks = Object(external_wp_element_["forwardRef"])((props, ref) => { - const innerBlocksProps = useInnerBlocksProps({ - ref - }, props); - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-inner-blocks" - }, Object(external_wp_element_["createElement"])("div", innerBlocksProps)); -}); -/** - * This hook is used to lightly mark an element as an inner blocks wrapper - * element. Call this hook and pass the returned props to the element to mark as - * an inner blocks wrapper, automatically rendering inner blocks as children. If - * you define a ref for the element, it is important to pass the ref to this - * hook, which the hook in turn will pass to the component through the props it - * returns. Optionally, you can also pass any other props through this hook, and - * they will be merged and returned. - * - * @param {Object} props Optional. Props to pass to the element. Must contain - * the ref if one is defined. - * @param {Object} options Optional. Inner blocks options. - * - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md - */ - -function useInnerBlocksProps(props = {}, options = {}) { - const { - clientId - } = useBlockEditContext(); - const isSmallScreen = Object(external_wp_compose_["useViewportMatch"])('medium', '<'); - const hasOverlay = Object(external_wp_data_["useSelect"])(select => { - const { - getBlockName, - isBlockSelected, - hasSelectedInnerBlock, - isNavigationMode - } = select(store); - const enableClickThrough = isNavigationMode() || isSmallScreen; - return getBlockName(clientId) !== 'core/template' && !isBlockSelected(clientId) && !hasSelectedInnerBlock(clientId, true) && enableClickThrough; - }, [clientId, isSmallScreen]); - const ref = Object(external_wp_compose_["useMergeRefs"])([props.ref, useBlockDropZone({ - rootClientId: clientId - })]); - const InnerBlocks = options.value && options.onChange ? ControlledInnerBlocks : UncontrolledInnerBlocks; - return { ...props, - ref, - className: classnames_default()(props.className, 'block-editor-block-list__layout', { - 'has-overlay': hasOverlay - }), - children: Object(external_wp_element_["createElement"])(InnerBlocks, Object(esm_extends["a" /* default */])({}, options, { - clientId: clientId - })) - }; -} // Expose default appender placeholders as components. - -ForwardedInnerBlocks.DefaultBlockAppender = inner_blocks_default_block_appender; -ForwardedInnerBlocks.ButtonBlockAppender = inner_blocks_button_block_appender; -ForwardedInnerBlocks.Content = Object(external_wp_blocks_["withBlockContentContext"])(({ - BlockContent -}) => Object(external_wp_element_["createElement"])(BlockContent, null)); -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md - */ - -/* harmony default export */ var inner_blocks = (ForwardedInnerBlocks); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/justify-left.js - - -/** - * WordPress dependencies - */ - -const justifyLeft = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M9 9v6h11V9H9zM4 20h1.5V4H4v16z" -})); -/* harmony default export */ var justify_left = (justifyLeft); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/justify-center.js - - -/** - * WordPress dependencies - */ - -const justifyCenter = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M20 9h-7.2V4h-1.6v5H4v6h7.2v5h1.6v-5H20z" -})); -/* harmony default export */ var justify_center = (justifyCenter); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/justify-right.js - - -/** - * WordPress dependencies - */ - -const justifyRight = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M4 15h11V9H4v6zM18.5 4v16H20V4h-1.5z" -})); -/* harmony default export */ var justify_right = (justifyRight); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/justify-space-between.js - - -/** - * WordPress dependencies - */ - -const justifySpaceBetween = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M9 15h6V9H9v6zm-5 5h1.5V4H4v16zM18.5 4v16H20V4h-1.5z" -})); -/* harmony default export */ var justify_space_between = (justifySpaceBetween); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/justify-content-control/ui.js - - - -/** - * WordPress dependencies - */ - - - -const icons = { - left: justify_left, - center: justify_center, - right: justify_right, - 'space-between': justify_space_between -}; - -function JustifyContentUI({ - allowedControls = ['left', 'center', 'right', 'space-between'], - isCollapsed = true, - onChange, - value, - popoverProps, - isToolbar -}) { - // If the control is already selected we want a click - // again on the control to deselect the item, so we - // call onChange( undefined ) - const handleClick = next => { - if (next === value) { - onChange(undefined); - } else { - onChange(next); - } - }; - - const icon = value ? icons[value] : icons.left; - const allControls = [{ - name: 'left', - icon: justify_left, - title: Object(external_wp_i18n_["__"])('Justify items left'), - isActive: 'left' === value, - onClick: () => handleClick('left') - }, { - name: 'center', - icon: justify_center, - title: Object(external_wp_i18n_["__"])('Justify items center'), - isActive: 'center' === value, - onClick: () => handleClick('center') - }, { - name: 'right', - icon: justify_right, - title: Object(external_wp_i18n_["__"])('Justify items right'), - isActive: 'right' === value, - onClick: () => handleClick('right') - }, { - name: 'space-between', - icon: justify_space_between, - title: Object(external_wp_i18n_["__"])('Space between items'), - isActive: 'space-between' === value, - onClick: () => handleClick('space-between') - }]; - const UIComponent = isToolbar ? external_wp_components_["ToolbarGroup"] : external_wp_components_["ToolbarDropdownMenu"]; - const extraProps = isToolbar ? { - isCollapsed - } : {}; - return Object(external_wp_element_["createElement"])(UIComponent, Object(esm_extends["a" /* default */])({ - icon: icon, - popoverProps: popoverProps, - label: Object(external_wp_i18n_["__"])('Change items justification'), - controls: allControls.filter(elem => allowedControls.includes(elem.name)) - }, extraProps)); -} - -/* harmony default export */ var justify_content_control_ui = (JustifyContentUI); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/justify-content-control/index.js - - - -/** - * Internal dependencies - */ - -function JustifyContentControl(props) { - return Object(external_wp_element_["createElement"])(justify_content_control_ui, Object(esm_extends["a" /* default */])({}, props, { - isToolbar: false - })); -} -function JustifyToolbar(props) { - return Object(external_wp_element_["createElement"])(justify_content_control_ui, Object(esm_extends["a" /* default */])({}, props, { - isToolbar: true - })); -} - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/keyboard-return.js -var keyboard_return = __webpack_require__("btIw"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/settings-drawer.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -const defaultSettings = [{ - id: 'opensInNewTab', - title: Object(external_wp_i18n_["__"])('Open in new tab') -}]; - -const LinkControlSettingsDrawer = ({ - value, - onChange = external_lodash_["noop"], - settings = defaultSettings -}) => { - if (!settings || !settings.length) { - return null; - } - - const handleSettingChange = setting => newValue => { - onChange({ ...value, - [setting.id]: newValue - }); - }; - - const theSettings = settings.map(setting => Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { - className: "block-editor-link-control__setting", - key: setting.id, - label: setting.title, - onChange: handleSettingChange(setting), - checked: value ? !!value[setting.id] : false - })); - return Object(external_wp_element_["createElement"])("fieldset", { - className: "block-editor-link-control__settings" - }, Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { - as: "legend" - }, Object(external_wp_i18n_["__"])('Currently selected link settings')), theSettings); -}; - -/* harmony default export */ var settings_drawer = (LinkControlSettingsDrawer); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-input/index.js - - - -/** - * External dependencies - */ - - - -/** - * WordPress dependencies - */ - - - - - - - - -/** - * Internal dependencies - */ - - - -class url_input_URLInput extends external_wp_element_["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 || Object(external_wp_element_["createRef"])(); - this.inputRef = Object(external_wp_element_["createRef"])(); - this.updateSuggestions = Object(external_lodash_["debounce"])(this.updateSuggestions.bind(this), 200); - this.suggestionNodes = []; - this.isUpdatingSuggestions = false; - this.state = { - suggestions: [], - showSuggestions: false, - selectedSuggestion: null, - suggestionsListboxId: '', - suggestionOptionIdPrefix: '' - }; - } - - componentDidUpdate(prevProps) { - const { - showSuggestions, - selectedSuggestion - } = this.state; - const { - value - } = 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; - dom_scroll_into_view_lib_default()(this.suggestionNodes[selectedSuggestion], this.autocompleteRef.current, { - onlyScrollIfNeeded: true - }); - this.props.setTimeout(() => { - this.scrollingIntoView = false; - }, 100); - } // Only attempt an update on suggestions if the input value has actually changed. - - - if (prevProps.value !== value && this.shouldShowInitialSuggestions()) { - this.updateSuggestions(); - } - } - - componentDidMount() { - if (this.shouldShowInitialSuggestions()) { - this.updateSuggestions(); - } - } - - componentWillUnmount() { - var _this$suggestionsRequ, _this$suggestionsRequ2; - - (_this$suggestionsRequ = this.suggestionsRequest) === null || _this$suggestionsRequ === void 0 ? void 0 : (_this$suggestionsRequ2 = _this$suggestionsRequ.cancel) === null || _this$suggestionsRequ2 === void 0 ? void 0 : _this$suggestionsRequ2.call(_this$suggestionsRequ); - delete this.suggestionsRequest; - } - - bindSuggestionNode(index) { - return ref => { - this.suggestionNodes[index] = ref; - }; - } - - shouldShowInitialSuggestions() { - const { - suggestions - } = this.state; - const { - __experimentalShowInitialSuggestions = false, - value - } = this.props; - return !this.isUpdatingSuggestions && __experimentalShowInitialSuggestions && !(value && value.length) && !(suggestions && suggestions.length); - } - - updateSuggestions(value = '') { - const { - __experimentalFetchLinkSuggestions: fetchLinkSuggestions, - __experimentalHandleURLSuggestions: handleURLSuggestions - } = this.props; - - if (!fetchLinkSuggestions) { - return; - } - - const isInitialSuggestions = !(value && value.length); // 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 && Object(external_wp_url_["isURL"])(value))) { - this.setState({ - showSuggestions: false, - selectedSuggestion: null, - loading: false - }); - return; - } - - this.isUpdatingSuggestions = true; - 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, - loading: false, - showSuggestions: !!suggestions.length - }); - - if (!!suggestions.length) { - this.props.debouncedSpeak(Object(external_wp_i18n_["sprintf"])( - /* translators: %s: number of results. */ - Object(external_wp_i18n_["_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(Object(external_wp_i18n_["__"])('No results.'), 'assertive'); - } - - this.isUpdatingSuggestions = false; - }).catch(() => { - if (this.suggestionsRequest === request) { - this.setState({ - loading: false - }); - this.isUpdatingSuggestions = 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) { - const inputValue = event.target.value; - this.props.onChange(inputValue); - - if (!this.props.disableSuggestions) { - this.updateSuggestions(inputValue.trim()); - } - } - - 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.isUpdatingSuggestions && !(suggestions && suggestions.length)) { - // Ensure the suggestions are updated with the current input value - this.updateSuggestions(value.trim()); - } - } - - 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_["UP"]: - { - if (0 !== event.target.selectionStart) { - event.stopPropagation(); - 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_["DOWN"]: - { - if (this.props.value.length !== event.target.selectionStart) { - event.stopPropagation(); - event.preventDefault(); // Set the input caret to the last position - - event.target.setSelectionRange(this.props.value.length, this.props.value.length); - } - - break; - } - } - - return; - } - - const suggestion = this.state.suggestions[this.state.selectedSuggestion]; - - switch (event.keyCode) { - case external_wp_keycodes_["UP"]: - { - event.stopPropagation(); - event.preventDefault(); - const previousIndex = !selectedSuggestion ? suggestions.length - 1 : selectedSuggestion - 1; - this.setState({ - selectedSuggestion: previousIndex - }); - break; - } - - case external_wp_keycodes_["DOWN"]: - { - event.stopPropagation(); - event.preventDefault(); - const nextIndex = selectedSuggestion === null || selectedSuggestion === suggestions.length - 1 ? 0 : selectedSuggestion + 1; - this.setState({ - selectedSuggestion: nextIndex - }); - break; - } - - case external_wp_keycodes_["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(Object(external_wp_i18n_["__"])('Link selected.')); - } - - break; - } - - case external_wp_keycodes_["ENTER"]: - { - if (this.state.selectedSuggestion !== null) { - event.stopPropagation(); - this.selectLink(suggestion); - } - - 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 Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, this.renderControl(), this.renderSuggestions()); - } - - renderControl() { - const { - label, - className, - isFullWidth, - instanceId, - placeholder = Object(external_wp_i18n_["__"])('Paste URL or type to search'), - __experimentalRenderControl: renderControl, - value = '' - } = this.props; - const { - loading, - showSuggestions, - selectedSuggestion, - suggestionsListboxId, - suggestionOptionIdPrefix - } = this.state; - const controlProps = { - id: `url-input-control-${instanceId}`, - label, - className: classnames_default()('block-editor-url-input', className, { - 'is-full-width': isFullWidth - }) - }; - const inputProps = { - 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': Object(external_wp_i18n_["__"])('URL'), - '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); - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], controlProps, Object(external_wp_element_["createElement"])("input", inputProps), loading && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)); - } - - renderSuggestions() { - const { - className, - __experimentalRenderSuggestions: renderSuggestions, - value = '', - __experimentalShowInitialSuggestions = false - } = this.props; - const { - showSuggestions, - suggestions, - selectedSuggestion, - suggestionsListboxId, - suggestionOptionIdPrefix, - loading - } = this.state; - 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 - }; - }; - - if (Object(external_lodash_["isFunction"])(renderSuggestions) && showSuggestions && !!suggestions.length) { - return renderSuggestions({ - suggestions, - selectedSuggestion, - suggestionsListProps, - buildSuggestionItemProps, - isLoading: loading, - handleSuggestionClick: this.handleOnClick, - isInitialSuggestions: __experimentalShowInitialSuggestions && !(value && value.length) - }); - } - - if (!Object(external_lodash_["isFunction"])(renderSuggestions) && showSuggestions && !!suggestions.length) { - return Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { - position: "bottom", - noArrow: true, - focusOnMount: false - }, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, suggestionsListProps, { - className: classnames_default()('block-editor-url-input__suggestions', `${className}__suggestions`) - }), suggestions.map((suggestion, index) => Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({}, buildSuggestionItemProps(suggestion, index), { - key: suggestion.id, - className: classnames_default()('block-editor-url-input__suggestion', { - 'is-selected': index === selectedSuggestion - }), - onClick: () => this.handleOnClick(suggestion) - }), suggestion.title)))); - } - - return null; - } - -} -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/url-input/README.md - */ - - -/* harmony default export */ var url_input = (Object(external_wp_compose_["compose"])(external_wp_compose_["withSafeTimeout"], external_wp_components_["withSpokenMessages"], external_wp_compose_["withInstanceId"], Object(external_wp_data_["withSelect"])((select, props) => { - // If a link suggestions handler is already provided then - // bail - if (Object(external_lodash_["isFunction"])(props.__experimentalFetchLinkSuggestions)) { - return; - } - - const { - getSettings - } = select(store); - return { - __experimentalFetchLinkSuggestions: getSettings().__experimentalFetchLinkSuggestions - }; -}))(url_input_URLInput)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/search-create-button.js - - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - -const LinkControlSearchCreate = ({ - searchTerm, - onClick, - itemProps, - isSelected, - buttonText -}) => { - if (!searchTerm) { - return null; - } - - let text; - - if (buttonText) { - text = Object(external_lodash_["isFunction"])(buttonText) ? buttonText(searchTerm) : buttonText; - } else { - text = Object(external_wp_element_["createInterpolateElement"])(Object(external_wp_i18n_["sprintf"])( - /* translators: %s: search term. */ - Object(external_wp_i18n_["__"])('Create: %s'), searchTerm), { - mark: Object(external_wp_element_["createElement"])("mark", null) - }); - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({}, itemProps, { - className: classnames_default()('block-editor-link-control__search-create block-editor-link-control__search-item', { - 'is-selected': isSelected - }), - onClick: onClick - }), Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { - className: "block-editor-link-control__search-item-icon", - icon: plus["a" /* default */] - }), Object(external_wp_element_["createElement"])("span", { - className: "block-editor-link-control__search-item-header" - }, Object(external_wp_element_["createElement"])("span", { - className: "block-editor-link-control__search-item-title" - }, text))); -}; -/* harmony default export */ var search_create_button = (LinkControlSearchCreate); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/globe.js - - -/** - * WordPress dependencies - */ - -const globe = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "-2 -2 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zM1.11 9.68h2.51c.04.91.167 1.814.38 2.7H1.84c-.403-.85-.65-1.764-.73-2.7zm8.57-5.4V1.19c.964.366 1.756 1.08 2.22 2 .205.347.386.708.54 1.08l-2.76.01zm3.22 1.35c.232.883.37 1.788.41 2.7H9.68v-2.7h3.22zM8.32 1.19v3.09H5.56c.154-.372.335-.733.54-1.08.462-.924 1.255-1.64 2.22-2.01zm0 4.44v2.7H4.7c.04-.912.178-1.817.41-2.7h3.21zm-4.7 2.69H1.11c.08-.936.327-1.85.73-2.7H4c-.213.886-.34 1.79-.38 2.7zM4.7 9.68h3.62v2.7H5.11c-.232-.883-.37-1.788-.41-2.7zm3.63 4v3.09c-.964-.366-1.756-1.08-2.22-2-.205-.347-.386-.708-.54-1.08l2.76-.01zm1.35 3.09v-3.04h2.76c-.154.372-.335.733-.54 1.08-.464.92-1.256 1.634-2.22 2v-.04zm0-4.44v-2.7h3.62c-.04.912-.178 1.817-.41 2.7H9.68zm4.71-2.7h2.51c-.08.936-.327 1.85-.73 2.7H14c.21-.87.337-1.757.38-2.65l.01-.05zm0-1.35c-.046-.894-.176-1.78-.39-2.65h2.16c.403.85.65 1.764.73 2.7l-2.5-.05zm1-4H13.6c-.324-.91-.793-1.76-1.39-2.52 1.244.56 2.325 1.426 3.14 2.52h.04zm-9.6-2.52c-.597.76-1.066 1.61-1.39 2.52H2.65c.815-1.094 1.896-1.96 3.14-2.52zm-3.15 12H4.4c.324.91.793 1.76 1.39 2.52-1.248-.567-2.33-1.445-3.14-2.55l-.01.03zm9.56 2.52c.597-.76 1.066-1.61 1.39-2.52h1.76c-.82 1.08-1.9 1.933-3.14 2.48l-.01.04z" -})); -/* harmony default export */ var library_globe = (globe); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/search-item.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - -const LinkControlSearchItem = ({ - itemProps, - suggestion, - isSelected = false, - onClick, - isURL = false, - searchTerm = '', - shouldShowType = false -}) => { - return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({}, itemProps, { - onClick: onClick, - className: classnames_default()('block-editor-link-control__search-item', { - 'is-selected': isSelected, - 'is-url': isURL, - 'is-entity': !isURL - }) - }), isURL && Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { - className: "block-editor-link-control__search-item-icon", - icon: library_globe - }), Object(external_wp_element_["createElement"])("span", { - className: "block-editor-link-control__search-item-header" - }, Object(external_wp_element_["createElement"])("span", { - className: "block-editor-link-control__search-item-title" - }, Object(external_wp_element_["createElement"])(external_wp_components_["TextHighlight"], { - text: suggestion.title, - highlight: searchTerm - })), Object(external_wp_element_["createElement"])("span", { - "aria-hidden": !isURL, - className: "block-editor-link-control__search-item-info" - }, !isURL && (Object(external_wp_url_["filterURLForDisplay"])(Object(external_wp_url_["safeDecodeURI"])(suggestion.url)) || ''), isURL && Object(external_wp_i18n_["__"])('Press ENTER to add this link'))), shouldShowType && suggestion.type && Object(external_wp_element_["createElement"])("span", { - className: "block-editor-link-control__search-item-type" - }, 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 -// 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__'; - -// 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 directLinkEntryTypes = ['url', 'mailto', 'tel', 'internal']; - const isSingleDirectEntryResult = suggestions.length === 1 && directLinkEntryTypes.includes(suggestions[0].type.toLowerCase()); - 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 !== null && suggestionsQuery !== void 0 && 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 ? Object(external_wp_i18n_["__"])('Recently updated') : Object(external_wp_i18n_["sprintf"])( - /* translators: %s: search term. */ - Object(external_wp_i18n_["__"])('Search results for "%s"'), currentInputValue); // VisuallyHidden rightly doesn't accept custom classNames - // so we conditionally render it as a wrapper to visually hide the label - // when that is required. - - const searchResultsLabel = Object(external_wp_element_["createElement"])(isInitialSuggestions ? external_wp_element_["Fragment"] : external_wp_components_["VisuallyHidden"], {}, // empty props - Object(external_wp_element_["createElement"])("span", { - className: "block-editor-link-control__search-results-label", - id: searchResultsLabelId - }, labelText)); - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-link-control__search-results-wrapper" - }, searchResultsLabel, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, suggestionsListProps, { - className: resultsListClasses, - "aria-labelledby": searchResultsLabelId - }), suggestions.map((suggestion, index) => { - if (shouldShowCreateSuggestion && CREATE_TYPE === suggestion.type) { - return Object(external_wp_element_["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 Object(external_wp_element_["createElement"])(search_item, { - key: `${suggestion.id}-${suggestion.type}`, - itemProps: buildSuggestionItemProps(suggestion, index), - suggestion: suggestion, - index: index, - onClick: () => { - handleSuggestionClick(suggestion); - }, - isSelected: index === selectedSuggestion, - isURL: directLinkEntryTypes.includes(suggestion.type.toLowerCase()), - searchTerm: currentInputValue, - shouldShowType: shouldShowSuggestionsTypes - }); - }))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/is-url-like.js -/** - * External dependencies - */ - -/** - * 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 isInternal = Object(external_lodash_["startsWith"])(val, '#'); - return Object(external_wp_url_["isURL"])(val) || val && val.includes('www.') || isInternal; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/use-search-handler.js -/** - * WordPress dependencies - */ - - - -/** - * External dependencies - */ - - -/** - * Internal dependencies - */ - - - - -const handleNoop = () => Promise.resolve([]); -const handleDirectEntry = val => { - let type = 'URL'; - const protocol = Object(external_wp_url_["getProtocol"])(val) || ''; - - if (protocol.includes('mailto')) { - type = 'mailto'; - } - - if (protocol.includes('tel')) { - type = 'tel'; - } - - if (Object(external_lodash_["startsWith"])(val, '#')) { - type = 'internal'; - } - - return Promise.resolve([{ - id: val, - title: val, - url: type === 'URL' ? Object(external_wp_url_["prependHTTP"])(val) : val, - type - }]); -}; - -const handleEntitySearch = async (val, suggestionsQuery, fetchSearchSuggestions, directEntryHandler, withCreateSuggestion, withURLSuggestion) => { - const { - isInitialSuggestions - } = suggestionsQuery; - let results = await Promise.all([fetchSearchSuggestions(val, suggestionsQuery), directEntryHandler(val)]); - const couldBeURL = !val.includes(' '); // If it's potentially a URL search then concat on a URL search suggestion - // just for good measure. That way once the actual results run out we always - // have a URL option to fallback on. - - if (couldBeURL && withURLSuggestion && !isInitialSuggestions) { - results = results[0].concat(results[1]); - } else { - results = results[0]; - } // 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 - } = Object(external_wp_data_["useSelect"])(select => { - const { - getSettings - } = select(store); - return { - fetchSearchSuggestions: getSettings().__experimentalFetchLinkSuggestions - }; - }, []); - const directEntryHandler = allowDirectEntry ? handleDirectEntry : handleNoop; - return Object(external_wp_element_["useCallback"])((val, { - isInitialSuggestions - }) => { - return isURLLike(val) ? directEntryHandler(val, { - isInitialSuggestions - }) : handleEntitySearch(val, { ...suggestionsQuery, - isInitialSuggestions - }, fetchSearchSuggestions, directEntryHandler, withCreateSuggestion, withURLSuggestion); - }, [directEntryHandler, fetchSearchSuggestions, withCreateSuggestion]); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/search-input.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - -const noopSearchHandler = Promise.resolve([]); -const LinkControlSearchInput = Object(external_wp_element_["forwardRef"])(({ - value, - children, - currentLink = {}, - className = null, - placeholder = null, - withCreateSuggestion = false, - onCreateSuggestion = external_lodash_["noop"], - onChange = external_lodash_["noop"], - onSelect = external_lodash_["noop"], - showSuggestions = true, - renderSuggestions = props => Object(external_wp_element_["createElement"])(LinkControlSearchResults, props), - fetchSuggestions = null, - allowDirectEntry = true, - showInitialSuggestions = false, - suggestionsQuery = {}, - withURLSuggestion = true, - createSuggestionButtonText -}, ref) => { - const genericSearchHandler = useSearchHandler(suggestionsQuery, allowDirectEntry, withCreateSuggestion, withURLSuggestion); - const searchHandler = showSuggestions ? fetchSuggestions || genericSearchHandler : noopSearchHandler; - const instanceId = Object(external_wp_compose_["useInstanceId"])(LinkControlSearchInput); - const [focusedSuggestion, setFocusedSuggestion] = Object(external_wp_element_["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 onFormSubmit = event => { - event.preventDefault(); - onSuggestionSelected(focusedSuggestion || { - url: value - }); - }; - - const handleRenderSuggestions = props => renderSuggestions({ ...props, - instanceId, - withCreateSuggestion, - currentInputValue: value, - 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 { - var _suggestion; - - suggestion = await onCreateSuggestion(selectedSuggestion.title); - - if ((_suggestion = suggestion) !== null && _suggestion !== void 0 && _suggestion.url) { - onSelect(suggestion); - } - } catch (e) {} - - return; - } - - if (allowDirectEntry || suggestion && Object.keys(suggestion).length >= 1) { - onSelect( // Some direct entries don't have types or IDs, and we still need to clear the previous ones. - { ...Object(external_lodash_["omit"])(currentLink, 'id', 'url'), - ...suggestion - }, suggestion); - } - }; - - return Object(external_wp_element_["createElement"])("form", { - onSubmit: onFormSubmit - }, Object(external_wp_element_["createElement"])(url_input, { - className: className, - value: value, - onChange: onInputChange, - placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : Object(external_wp_i18n_["__"])('Search or type url'), - __experimentalRenderSuggestions: showSuggestions ? handleRenderSuggestions : null, - __experimentalFetchLinkSuggestions: searchHandler, - __experimentalHandleURLSuggestions: true, - __experimentalShowInitialSuggestions: showInitialSuggestions, - ref: ref - }), children); -}); -/* harmony default export */ var search_input = (LinkControlSearchInput); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/viewer-slot.js -/** - * WordPress dependencies - */ - -const { - Slot: ViewerSlot, - Fill: ViewerFill -} = Object(external_wp_components_["createSlotFill"])('BlockEditorLinkControlViewer'); - -/* harmony default export */ var viewer_slot = (ViewerSlot); - -// 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 -}) { - const displayURL = value && Object(external_wp_url_["filterURLForDisplay"])(Object(external_wp_url_["safeDecodeURI"])(value.url), 16) || ''; - return Object(external_wp_element_["createElement"])("div", { - "aria-label": Object(external_wp_i18n_["__"])('Currently selected'), - "aria-selected": "true", - className: classnames_default()('block-editor-link-control__search-item', { - 'is-current': true - }) - }, Object(external_wp_element_["createElement"])("span", { - className: "block-editor-link-control__search-item-header" - }, Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { - className: "block-editor-link-control__search-item-title", - href: value.url - }, value && value.title || displayURL), value && value.title && Object(external_wp_element_["createElement"])("span", { - className: "block-editor-link-control__search-item-info" - }, displayURL)), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - isSecondary: true, - onClick: () => onEditClick(), - className: "block-editor-link-control__search-item-action" - }, Object(external_wp_i18n_["__"])('Edit')), Object(external_wp_element_["createElement"])(ViewerSlot, { - fillProps: value - })); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/link-control/use-create-page.js -/** - * WordPress dependencies - */ - - -function useCreatePage(handleCreatePage) { - const cancelableCreateSuggestion = Object(external_wp_element_["useRef"])(); - const [isCreatingPage, setIsCreatingPage] = Object(external_wp_element_["useState"])(false); - const [errorMessage, setErrorMessage] = Object(external_wp_element_["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 || Object(external_wp_i18n_["__"])('An unknown error occurred during creation. Please try again.')); - throw error; - } finally { - setIsCreatingPage(false); - } - }; - /** - * Handles cancelling any pending Promises that have been made cancelable. - */ - - - Object(external_wp_element_["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/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 {string|Function|undefined} createSuggestionButtonText The text to use in the button that calls createSuggestion. - */ - -/** - * 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, - onChange = external_lodash_["noop"], - noDirectEntry = false, - showSuggestions = true, - showInitialSuggestions, - forceIsEditingLink, - createSuggestion, - withCreateSuggestion, - inputValue: propInputValue = '', - suggestionsQuery = {}, - noURLSuggestion = false, - createSuggestionButtonText -}) { - if (withCreateSuggestion === undefined && createSuggestion) { - withCreateSuggestion = true; - } - - const isMounting = Object(external_wp_element_["useRef"])(true); - const wrapperNode = Object(external_wp_element_["useRef"])(); - const [internalInputValue, setInternalInputValue] = Object(external_wp_element_["useState"])(value && value.url || ''); - const currentInputValue = propInputValue || internalInputValue; - const [isEditingLink, setIsEditingLink] = Object(external_wp_element_["useState"])(forceIsEditingLink !== undefined ? forceIsEditingLink : !value || !value.url); - const isEndingEditWithFocus = Object(external_wp_element_["useRef"])(false); - Object(external_wp_element_["useEffect"])(() => { - if (forceIsEditingLink !== undefined && forceIsEditingLink !== isEditingLink) { - setIsEditingLink(forceIsEditingLink); - } - }, [forceIsEditingLink]); - Object(external_wp_element_["useEffect"])(() => { - if (isMounting.current) { - isMounting.current = false; - return; - } // When `isEditingLink` changes, a focus loss could occur - // since the link input may be removed from the DOM. To avoid this, - // reinstate focus to a suitable target if focus has in-fact been lost. - // Note that the check is necessary because while typically unsetting - // edit mode would render the read-only mode's link element, it isn't - // guaranteed. The link input may continue to be shown if the next value - // is still unassigned after calling `onChange`. - - - const hadFocusLoss = !wrapperNode.current.contains(wrapperNode.current.ownerDocument.activeElement); - - if (hadFocusLoss) { - // Prefer to focus a natural focusable descendent of the wrapper, - // but settle for the wrapper if there are no other options. - const nextFocusTarget = external_wp_dom_["focus"].focusable.find(wrapperNode.current)[0] || wrapperNode.current; - nextFocusTarget.focus(); - } - - isEndingEditWithFocus.current = false; - }, [isEditingLink]); - /** - * 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. - */ - - function stopEditing() { - var _wrapperNode$current; - - isEndingEditWithFocus.current = !!((_wrapperNode$current = wrapperNode.current) !== null && _wrapperNode$current !== void 0 && _wrapperNode$current.contains(wrapperNode.current.ownerDocument.activeElement)); - setIsEditingLink(false); - } - - const { - createPage, - isCreatingPage, - errorMessage - } = useCreatePage(createSuggestion); - - const handleSelectSuggestion = updatedValue => { - onChange(updatedValue); - stopEditing(); - }; - - return Object(external_wp_element_["createElement"])("div", { - tabIndex: -1, - ref: wrapperNode, - className: "block-editor-link-control" - }, isCreatingPage && Object(external_wp_element_["createElement"])("div", { - className: "block-editor-link-control__loading" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null), " ", Object(external_wp_i18n_["__"])('Creating'), "\u2026"), (isEditingLink || !value) && !isCreatingPage && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-link-control__search-input-wrapper" - }, Object(external_wp_element_["createElement"])(search_input, { - currentLink: value, - className: "block-editor-link-control__search-input", - placeholder: searchInputPlaceholder, - value: currentInputValue, - withCreateSuggestion: withCreateSuggestion, - onCreateSuggestion: createPage, - onChange: setInternalInputValue, - onSelect: handleSelectSuggestion, - showInitialSuggestions: showInitialSuggestions, - allowDirectEntry: !noDirectEntry, - showSuggestions: showSuggestions, - suggestionsQuery: suggestionsQuery, - withURLSuggestion: !noURLSuggestion, - createSuggestionButtonText: createSuggestionButtonText - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-link-control__search-actions" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - type: "submit", - label: Object(external_wp_i18n_["__"])('Submit'), - icon: keyboard_return["a" /* default */], - className: "block-editor-link-control__search-submit" - })))), errorMessage && Object(external_wp_element_["createElement"])(external_wp_components_["Notice"], { - className: "block-editor-link-control__search-error", - status: "error", - isDismissible: false - }, errorMessage)), value && !isEditingLink && !isCreatingPage && Object(external_wp_element_["createElement"])(LinkPreview, { - value: value, - onEditClick: () => setIsEditingLink(true) - }), Object(external_wp_element_["createElement"])(settings_drawer, { - value: value, - settings: settings, - onChange: onChange - })); -} - -LinkControl.ViewerFill = ViewerFill; -/* harmony default export */ var link_control = (LinkControl); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/media.js -var library_media = __webpack_require__("rH4q"); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/upload.js -var upload = __webpack_require__("NTP4"); - -// 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 = (Object(external_wp_components_["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 = Object(external_wp_data_["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-replace-flow/index.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - - - - - -/** - * Internal dependencies - */ - - - - - - -const MediaReplaceFlow = ({ - mediaURL, - mediaId, - allowedTypes, - accept, - onSelect, - onSelectURL, - onFilesUpload = external_lodash_["noop"], - name = Object(external_wp_i18n_["__"])('Replace'), - createNotice, - removeNotice -}) => { - const [mediaURLValue, setMediaURLValue] = Object(external_wp_element_["useState"])(mediaURL); - const mediaUpload = Object(external_wp_data_["useSelect"])(select => { - return select(store).getSettings().mediaUpload; - }, []); - const editMediaButtonRef = Object(external_wp_element_["createRef"])(); - const errorNoticeID = Object(external_lodash_["uniqueId"])('block-editor/media-replace-flow/error-notice/'); - - const onError = message => { - const errorElement = document.createElement('div'); - errorElement.innerHTML = Object(external_wp_element_["renderToString"])(message); // The default error contains some HTML that, - // for example, makes the filename bold. - // The notice, by default, accepts strings only and so - // we need to remove the html from the error. - - const renderMsg = errorElement.textContent || errorElement.innerText || ''; // 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', renderMsg, { - speak: true, - id: errorNoticeID, - isDismissible: true - }); - }, 1000); - }; - - const selectMedia = media => { - onSelect(media); - setMediaURLValue(media.url); - Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('The media file has been replaced')); - removeNotice(errorNoticeID); - }; - - const selectURL = newURL => { - onSelectURL(newURL); - }; - - const uploadFiles = event => { - const files = event.target.files; - onFilesUpload(files); - - const setMedia = ([media]) => { - selectMedia(media); - }; - - mediaUpload({ - allowedTypes, - filesList: files, - onFileChange: setMedia, - onError - }); - }; - - const openOnArrowDown = event => { - if (event.keyCode === external_wp_keycodes_["DOWN"]) { - event.preventDefault(); - event.stopPropagation(); - event.target.click(); - } - }; - - const POPOVER_PROPS = { - isAlternate: true - }; - return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { - popoverProps: POPOVER_PROPS, - contentClassName: "block-editor-media-replace-flow__options", - renderToggle: ({ - isOpen, - onToggle - }) => Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - ref: editMediaButtonRef, - "aria-expanded": isOpen, - "aria-haspopup": "true", - onClick: onToggle, - onKeyDown: openOnArrowDown - }, name), - renderContent: ({ - onClose - }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["NavigableMenu"], { - className: "block-editor-media-replace-flow__media-upload-menu" - }, Object(external_wp_element_["createElement"])(media_upload, { - value: mediaId, - onSelect: media => selectMedia(media), - allowedTypes: allowedTypes, - render: ({ - open - }) => Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - icon: library_media["a" /* default */], - onClick: open - }, Object(external_wp_i18n_["__"])('Open Media Library')) - }), Object(external_wp_element_["createElement"])(check, null, Object(external_wp_element_["createElement"])(external_wp_components_["FormFileUpload"], { - onChange: event => { - uploadFiles(event, onClose); - }, - accept: accept, - render: ({ - openFileDialog - }) => { - return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - icon: upload["a" /* default */], - onClick: () => { - openFileDialog(); - } - }, Object(external_wp_i18n_["__"])('Upload')); - } - }))), onSelectURL && // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions - Object(external_wp_element_["createElement"])("form", { - className: "block-editor-media-flow__url-input", - onKeyDown: event => { - if (![external_wp_keycodes_["TAB"], external_wp_keycodes_["ESCAPE"]].includes(event.keyCode)) { - event.stopPropagation(); - } - }, - onKeyPress: event => { - if (![external_wp_keycodes_["TAB"], external_wp_keycodes_["ESCAPE"]].includes(event.keyCode)) { - event.stopPropagation(); - } - } - }, Object(external_wp_element_["createElement"])("span", { - className: "block-editor-media-replace-flow__image-url-label" - }, Object(external_wp_i18n_["__"])('Current media URL:')), Object(external_wp_element_["createElement"])(link_control, { - value: { - url: mediaURLValue - }, - settings: [], - showSuggestions: false, - onChange: ({ - url - }) => { - setMediaURLValue(url); - selectURL(url); - editMediaButtonRef.current.focus(); - } - }))) - }); -}; - -/* harmony default export */ var media_replace_flow = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withDispatch"])(dispatch => { - const { - createNotice, - removeNotice - } = dispatch(external_wp_notices_["store"]); - return { - createNotice, - removeNotice - }; -}), Object(external_wp_components_["withFilters"])('editor.MediaReplaceFlow')])(MediaReplaceFlow)); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/edit.js + 1 modules -var library_edit = __webpack_require__("B9Az"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-popover/link-viewer-url.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -function LinkViewerURL({ - url, - urlLabel, - className -}) { - const linkClassName = classnames_default()(className, 'block-editor-url-popover__link-viewer-url'); - - if (!url) { - return Object(external_wp_element_["createElement"])("span", { - className: linkClassName - }); - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { - className: linkClassName, - href: url - }, urlLabel || Object(external_wp_url_["filterURLForDisplay"])(Object(external_wp_url_["safeDecodeURI"])(url))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-popover/link-viewer.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - -function LinkViewer({ - className, - linkClassName, - onEditLinkClick, - url, - urlLabel, - ...props -}) { - return Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({ - className: classnames_default()('block-editor-url-popover__link-viewer', className) - }, props), Object(external_wp_element_["createElement"])(LinkViewerURL, { - url: url, - urlLabel: urlLabel, - className: linkClassName - }), onEditLinkClick && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - icon: library_edit["a" /* default */], - label: Object(external_wp_i18n_["__"])('Edit'), - onClick: onEditLinkClick - })); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-popover/link-editor.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - -function LinkEditor({ - autocompleteRef, - className, - onChangeInputValue, - value, - ...props -}) { - return Object(external_wp_element_["createElement"])("form", Object(esm_extends["a" /* default */])({ - className: classnames_default()('block-editor-url-popover__link-editor', className) - }, props), Object(external_wp_element_["createElement"])(url_input, { - value: value, - onChange: onChangeInputValue, - autocompleteRef: autocompleteRef - }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - icon: keyboard_return["a" /* default */], - label: Object(external_wp_i18n_["__"])('Apply'), - type: "submit" - })); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-popover/index.js - - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - -function URLPopover({ - additionalControls, - children, - renderSettings, - position = 'bottom center', - focusOnMount = 'firstElement', - ...popoverProps -}) { - const [isSettingsExpanded, setIsSettingsExpanded] = Object(external_wp_element_["useState"])(false); - const showSettings = !!renderSettings && isSettingsExpanded; - - const toggleSettingsVisibility = () => { - setIsSettingsExpanded(!isSettingsExpanded); - }; - - return Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], Object(esm_extends["a" /* default */])({ - className: "block-editor-url-popover", - focusOnMount: focusOnMount, - position: position - }, popoverProps), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-url-popover__input-container" - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-url-popover__row" - }, children, !!renderSettings && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - className: "block-editor-url-popover__settings-toggle", - icon: chevron_down["a" /* default */], - label: Object(external_wp_i18n_["__"])('Link settings'), - onClick: toggleSettingsVisibility, - "aria-expanded": isSettingsExpanded - })), showSettings && Object(external_wp_element_["createElement"])("div", { - className: "block-editor-url-popover__row block-editor-url-popover__settings" - }, renderSettings())), additionalControls && !showSettings && Object(external_wp_element_["createElement"])("div", { - className: "block-editor-url-popover__additional-controls" - }, additionalControls)); -} - -URLPopover.LinkEditor = LinkEditor; -URLPopover.LinkViewer = LinkViewer; -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/url-popover/README.md - */ - -/* harmony default export */ var url_popover = (URLPopover); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/media-placeholder/index.js - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - - -/** - * Internal dependencies - */ - - - - - - -const InsertFromURLPopover = ({ - src, - onChange, - onSubmit, - onClose -}) => Object(external_wp_element_["createElement"])(url_popover, { - onClose: onClose -}, Object(external_wp_element_["createElement"])("form", { - className: "block-editor-media-placeholder__url-input-form", - onSubmit: onSubmit -}, Object(external_wp_element_["createElement"])("input", { - className: "block-editor-media-placeholder__url-input-field", - type: "url", - "aria-label": Object(external_wp_i18n_["__"])('URL'), - placeholder: Object(external_wp_i18n_["__"])('Paste or type URL'), - onChange: onChange, - value: src -}), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - className: "block-editor-media-placeholder__url-input-submit-button", - icon: keyboard_return["a" /* default */], - label: Object(external_wp_i18n_["__"])('Apply'), - type: "submit" -}))); - -function MediaPlaceholder({ - value = {}, - allowedTypes, - className, - icon, - labels = {}, - mediaPreview, - notices, - isAppender, - accept, - addToGallery, - multiple = false, - dropZoneUIOnly, - disableDropZone, - disableMediaButtons, - onError, - onSelect, - onCancel, - onSelectURL, - onDoubleClick, - onFilesPreUpload = external_lodash_["noop"], - onHTMLDrop = external_lodash_["noop"], - children -}) { - const mediaUpload = Object(external_wp_data_["useSelect"])(select => { - const { - getSettings - } = select(store); - return getSettings().mediaUpload; - }, []); - const [src, setSrc] = Object(external_wp_element_["useState"])(''); - const [isURLInputVisible, setIsURLInputVisible] = Object(external_wp_element_["useState"])(false); - Object(external_wp_element_["useEffect"])(() => { - var _value$src; - - setSrc((_value$src = value === null || value === void 0 ? void 0 : value.src) !== null && _value$src !== void 0 ? _value$src : ''); - }, [value === null || value === void 0 ? void 0 : value.src]); - - const onlyAllowsImages = () => { - if (!allowedTypes || allowedTypes.length === 0) { - return false; - } - - return allowedTypes.every(allowedType => allowedType === 'image' || allowedType.startsWith('image/')); - }; - - const onChangeSrc = event => { - setSrc(event.target.value); - }; - - const openURLInput = () => { - setIsURLInputVisible(true); - }; - - const closeURLInput = () => { - setIsURLInputVisible(false); - }; - - const onSubmitSrc = event => { - event.preventDefault(); - - if (src && onSelectURL) { - onSelectURL(src); - closeURLInput(); - } - }; - - const onFilesUpload = files => { - onFilesPreUpload(files); - let setMedia; - - if (multiple) { - if (addToGallery) { - // Since the setMedia function runs multiple times per upload group - // and is passed newMedia containing every item in its group each time, we must - // filter out whatever this upload group had previously returned to the - // gallery before adding and returning the image array with replacement newMedia - // values. - // Define an array to store urls from newMedia between subsequent function calls. - let lastMediaPassed = []; - - setMedia = newMedia => { - // Remove any images this upload group is responsible for (lastMediaPassed). - // Their replacements are contained in newMedia. - const filteredMedia = (value !== null && value !== void 0 ? value : []).filter(item => { - // If Item has id, only remove it if lastMediaPassed has an item with that id. - if (item.id) { - return !lastMediaPassed.some( // Be sure to convert to number for comparison. - ({ - id - }) => Number(id) === Number(item.id)); - } // Compare transient images via .includes since gallery may append extra info onto the url. - - - return !lastMediaPassed.some(({ - urlSlug - }) => item.url.includes(urlSlug)); - }); // Return the filtered media array along with newMedia. - - onSelect(filteredMedia.concat(newMedia)); // Reset lastMediaPassed and set it with ids and urls from newMedia. - - lastMediaPassed = newMedia.map(media => { - // Add everything up to '.fileType' to compare via .includes. - const cutOffIndex = media.url.lastIndexOf('.'); - const urlSlug = media.url.slice(0, cutOffIndex); - return { - id: media.id, - urlSlug - }; - }); - }; - } else { - setMedia = onSelect; - } - } else { - setMedia = ([media]) => onSelect(media); - } - - mediaUpload({ - allowedTypes, - filesList: files, - onFileChange: setMedia, - onError - }); - }; - - const onUpload = event => { - onFilesUpload(event.target.files); - }; - - const renderPlaceholder = (content, onClick) => { - let { - instructions, - title - } = labels; - - if (!mediaUpload && !onSelectURL) { - instructions = Object(external_wp_i18n_["__"])('To edit this block, you need permission to upload media.'); - } - - if (instructions === undefined || title === undefined) { - const typesAllowed = allowedTypes !== null && allowedTypes !== void 0 ? allowedTypes : []; - const [firstAllowedType] = typesAllowed; - const isOneType = 1 === typesAllowed.length; - const isAudio = isOneType && 'audio' === firstAllowedType; - const isImage = isOneType && 'image' === firstAllowedType; - const isVideo = isOneType && 'video' === firstAllowedType; - - if (instructions === undefined && mediaUpload) { - instructions = Object(external_wp_i18n_["__"])('Upload a media file or pick one from your media library.'); - - if (isAudio) { - instructions = Object(external_wp_i18n_["__"])('Upload an audio file, pick one from your media library, or add one with a URL.'); - } else if (isImage) { - instructions = Object(external_wp_i18n_["__"])('Upload an image file, pick one from your media library, or add one with a URL.'); - } else if (isVideo) { - instructions = Object(external_wp_i18n_["__"])('Upload a video file, pick one from your media library, or add one with a URL.'); - } - } - - if (title === undefined) { - title = Object(external_wp_i18n_["__"])('Media'); - - if (isAudio) { - title = Object(external_wp_i18n_["__"])('Audio'); - } else if (isImage) { - title = Object(external_wp_i18n_["__"])('Image'); - } else if (isVideo) { - title = Object(external_wp_i18n_["__"])('Video'); - } - } - } - - const placeholderClassName = classnames_default()('block-editor-media-placeholder', className, { - 'is-appender': isAppender - }); - return Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { - icon: icon, - label: title, - instructions: instructions, - className: placeholderClassName, - notices: notices, - onClick: onClick, - onDoubleClick: onDoubleClick, - preview: mediaPreview - }, content, children); - }; - - const renderDropZone = () => { - if (disableDropZone) { - return null; - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["DropZone"], { - onFilesDrop: onFilesUpload, - onHTMLDrop: onHTMLDrop - }); - }; - - const renderCancelLink = () => { - return onCancel && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - className: "block-editor-media-placeholder__cancel-button", - title: Object(external_wp_i18n_["__"])('Cancel'), - isLink: true, - onClick: onCancel - }, Object(external_wp_i18n_["__"])('Cancel')); - }; - - const renderUrlSelectionUI = () => { - return onSelectURL && Object(external_wp_element_["createElement"])("div", { - className: "block-editor-media-placeholder__url-input-container" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - className: "block-editor-media-placeholder__button", - onClick: openURLInput, - isPressed: isURLInputVisible, - isTertiary: true - }, Object(external_wp_i18n_["__"])('Insert from URL')), isURLInputVisible && Object(external_wp_element_["createElement"])(InsertFromURLPopover, { - src: src, - onChange: onChangeSrc, - onSubmit: onSubmitSrc, - onClose: closeURLInput - })); - }; - - const renderMediaUploadChecked = () => { - const mediaLibraryButton = Object(external_wp_element_["createElement"])(media_upload, { - addToGallery: addToGallery, - gallery: multiple && onlyAllowsImages(), - multiple: multiple, - onSelect: onSelect, - allowedTypes: allowedTypes, - value: Array.isArray(value) ? value.map(({ - id - }) => id) : value.id, - render: ({ - open - }) => { - return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - isTertiary: true, - onClick: event => { - event.stopPropagation(); - open(); - } - }, Object(external_wp_i18n_["__"])('Media Library')); - } - }); - - if (mediaUpload && isAppender) { - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, renderDropZone(), Object(external_wp_element_["createElement"])(external_wp_components_["FormFileUpload"], { - onChange: onUpload, - accept: accept, - multiple: multiple, - render: ({ - openFileDialog - }) => { - const content = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - isPrimary: true, - className: classnames_default()('block-editor-media-placeholder__button', 'block-editor-media-placeholder__upload-button') - }, Object(external_wp_i18n_["__"])('Upload')), mediaLibraryButton, renderUrlSelectionUI(), renderCancelLink()); - return renderPlaceholder(content, openFileDialog); - } - })); - } - - if (mediaUpload) { - const content = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, renderDropZone(), Object(external_wp_element_["createElement"])(external_wp_components_["FormFileUpload"], { - isPrimary: true, - className: classnames_default()('block-editor-media-placeholder__button', 'block-editor-media-placeholder__upload-button'), - onChange: onUpload, - accept: accept, - multiple: multiple - }, Object(external_wp_i18n_["__"])('Upload')), mediaLibraryButton, renderUrlSelectionUI(), renderCancelLink()); - return renderPlaceholder(content); - } - - return renderPlaceholder(mediaLibraryButton); - }; - - if (dropZoneUIOnly || disableMediaButtons) { - if (dropZoneUIOnly) { - external_wp_deprecated_default()('wp.blockEditor.MediaPlaceholder dropZoneUIOnly prop', { - since: '5.4', - alternative: 'disableMediaButtons' - }); - } - - return Object(external_wp_element_["createElement"])(check, null, renderDropZone()); - } - - return Object(external_wp_element_["createElement"])(check, { - fallback: renderPlaceholder(renderUrlSelectionUI()) - }, renderMediaUploadChecked()); -} -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md - */ - -/* harmony default export */ var media_placeholder = (Object(external_wp_components_["withFilters"])('editor.MediaPlaceholder')(MediaPlaceholder)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/editable-text/index.js - - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - -const EditableText = Object(external_wp_element_["forwardRef"])((props, ref) => { - return Object(external_wp_element_["createElement"])(rich_text, Object(esm_extends["a" /* default */])({ - ref: ref - }, props, { - __unstableDisableFormats: true, - preserveWhiteSpace: true - })); -}); - -EditableText.Content = ({ - value = '', - tagName: Tag = 'div', - ...props -}) => { - return Object(external_wp_element_["createElement"])(Tag, props, value); -}; -/** - * Renders an editable text input in which text formatting is not allowed. - */ - - -/* harmony default export */ var editable_text = (EditableText); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/plain-text/index.js - - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/plain-text/README.md - */ - -const PlainText = Object(external_wp_element_["forwardRef"])(({ - __experimentalVersion, - ...props -}, ref) => { - if (__experimentalVersion === 2) { - return Object(external_wp_element_["createElement"])(editable_text, Object(esm_extends["a" /* default */])({ - ref: ref - }, props)); - } - - const { - className, - onChange, - ...remainingProps - } = props; - return Object(external_wp_element_["createElement"])(lib_default.a, Object(esm_extends["a" /* default */])({ - ref: ref, - className: classnames_default()('block-editor-plain-text', className), - onChange: event => onChange(event.target.value) - }, remainingProps)); -}); -/* harmony default export */ var plain_text = (PlainText); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/responsive-block-control/label.js - - -/** - * WordPress dependencies - */ - - - - -function ResponsiveBlockControlLabel({ - property, - viewport, - desc -}) { - const instanceId = Object(external_wp_compose_["useInstanceId"])(ResponsiveBlockControlLabel); - const accessibleLabel = desc || Object(external_wp_i18n_["sprintf"])( - /* translators: 1: property name. 2: viewport name. */ - Object(external_wp_i18n_["_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 Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("span", { - "aria-describedby": `rbc-desc-${instanceId}` - }, viewport.label), Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { - as: "span", - id: `rbc-desc-${instanceId}` - }, accessibleLabel)); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/responsive-block-control/index.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - -function ResponsiveBlockControl(props) { - const { - title, - property, - toggleLabel, - onIsResponsiveChange, - renderDefaultControl, - renderResponsiveControls, - isResponsive = false, - defaultLabel = { - id: 'all', - - /* translators: 'Label. Used to signify a layout property (eg: margin, padding) will apply uniformly to all screensizes.' */ - label: Object(external_wp_i18n_["__"])('All') - }, - viewports = [{ - id: 'small', - label: Object(external_wp_i18n_["__"])('Small screens') - }, { - id: 'medium', - label: Object(external_wp_i18n_["__"])('Medium screens') - }, { - id: 'large', - label: Object(external_wp_i18n_["__"])('Large screens') - }] - } = props; - - if (!title || !property || !renderDefaultControl) { - return null; - } - - const toggleControlLabel = toggleLabel || Object(external_wp_i18n_["sprintf"])( - /* translators: 'Toggle control label. Should the property be the same across all screen sizes or unique per screen size.'. %s property value for the control (eg: margin, padding...etc) */ - Object(external_wp_i18n_["__"])('Use the same %s on all screensizes.'), property); - /* translators: 'Help text for the responsive mode toggle control.' */ - - const toggleHelpText = Object(external_wp_i18n_["__"])('Toggle between using the same value for all screen sizes or using a unique value per screen size.'); - - const defaultControl = renderDefaultControl(Object(external_wp_element_["createElement"])(ResponsiveBlockControlLabel, { - property: property, - viewport: defaultLabel - }), defaultLabel); - - const defaultResponsiveControls = () => { - return viewports.map(viewport => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], { - key: viewport.id - }, renderDefaultControl(Object(external_wp_element_["createElement"])(ResponsiveBlockControlLabel, { - property: property, - viewport: viewport - }), viewport))); - }; - - return Object(external_wp_element_["createElement"])("fieldset", { - className: "block-editor-responsive-block-control" - }, Object(external_wp_element_["createElement"])("legend", { - className: "block-editor-responsive-block-control__title" - }, title), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-responsive-block-control__inner" - }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { - className: "block-editor-responsive-block-control__toggle", - label: toggleControlLabel, - checked: !isResponsive, - onChange: onIsResponsiveChange, - help: toggleHelpText - }), Object(external_wp_element_["createElement"])("div", { - className: classnames_default()('block-editor-responsive-block-control__group', { - 'is-responsive': isResponsive - }) - }, !isResponsive && defaultControl, isResponsive && (renderResponsiveControls ? renderResponsiveControls(viewports) : defaultResponsiveControls())))); -} - -/* harmony default export */ var responsive_block_control = (ResponsiveBlockControl); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/shortcut.js -/** - * WordPress dependencies - */ - - -function RichTextShortcut({ - character, - type, - onUse -}) { - const callback = () => { - onUse(); - return false; - }; - - Object(external_wp_compose_["useKeyboardShortcut"])(external_wp_keycodes_["rawShortcut"][type](character), callback, { - bindGlobal: true - }); - return null; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/toolbar-button.js - - - -/** - * WordPress dependencies - */ - - -function RichTextToolbarButton({ - name, - shortcutType, - shortcutCharacter, - ...props -}) { - let shortcut; - let fillName = 'RichText.ToolbarControls'; - - if (name) { - fillName += `.${name}`; - } - - if (shortcutType && shortcutCharacter) { - shortcut = external_wp_keycodes_["displayShortcut"][shortcutType](shortcutCharacter); - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["Fill"], { - name: fillName - }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], Object(esm_extends["a" /* default */])({}, props, { - shortcut: shortcut - }))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/rich-text/input-event.js -/** - * WordPress dependencies - */ - -class input_event_unstableRichTextInputEvent extends external_wp_element_["Component"] { - constructor() { - super(...arguments); - this.onInput = this.onInput.bind(this); - } - - onInput(event) { - if (event.inputType === this.props.inputType) { - this.props.onInput(); - } - } - - componentDidMount() { - document.addEventListener('input', this.onInput, true); - } - - componentWillUnmount() { - document.removeEventListener('input', this.onInput, true); - } - - render() { - return null; - } - -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/tool-selector/index.js - - - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - -const selectIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - width: "24", - height: "24", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_components_["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) { - const isNavigationTool = Object(external_wp_data_["useSelect"])(select => select(store).isNavigationMode(), []); - const { - setNavigationMode - } = Object(external_wp_data_["useDispatch"])(store); - - const onSwitchMode = mode => { - setNavigationMode(mode === 'edit' ? false : true); - }; - - return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { - renderToggle: ({ - isOpen, - onToggle - }) => Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({}, props, { - ref: ref, - icon: isNavigationTool ? selectIcon : library_edit["a" /* default */], - "aria-expanded": isOpen, - "aria-haspopup": "true", - onClick: onToggle - /* translators: button label text should, if possible, be under 16 characters. */ - , - label: Object(external_wp_i18n_["__"])('Tools') - })), - position: "bottom right", - renderContent: () => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["NavigableMenu"], { - role: "menu", - "aria-label": Object(external_wp_i18n_["__"])('Tools') - }, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItemsChoice"], { - value: isNavigationTool ? 'select' : 'edit', - onSelect: onSwitchMode, - choices: [{ - value: 'edit', - label: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { - icon: library_edit["a" /* default */] - }), Object(external_wp_i18n_["__"])('Edit')) - }, { - value: 'select', - label: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, selectIcon, Object(external_wp_i18n_["__"])('Select')) - }] - })), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-tool-selector__help" - }, Object(external_wp_i18n_["__"])('Tools provide different interactions for selecting, navigating, and editing blocks. Toggle between select and edit by pressing Escape and Enter.'))) - }); -} - -/* harmony default export */ var tool_selector = (Object(external_wp_element_["forwardRef"])(ToolSelector)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/unit-control/index.js - - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - -function UnitControl({ - units: unitsProp, - ...props -}) { - const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ - availableUnits: useSetting('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'], - units: unitsProp - }); - return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalUnitControl"], Object(esm_extends["a" /* default */])({ - units: units - }, props)); -} - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/link.js -var library_link = __webpack_require__("Bpkj"); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/arrow-left.js -var arrow_left = __webpack_require__("cjQ8"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-input/button.js - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - -class button_URLInputButton extends external_wp_element_["Component"] { - constructor() { - super(...arguments); - this.toggle = this.toggle.bind(this); - this.submitLink = this.submitLink.bind(this); - this.state = { - expanded: false - }; - } - - toggle() { - this.setState({ - expanded: !this.state.expanded - }); - } - - submitLink(event) { - event.preventDefault(); - this.toggle(); - } - - render() { - const { - url, - onChange - } = this.props; - const { - expanded - } = this.state; - const buttonLabel = url ? Object(external_wp_i18n_["__"])('Edit link') : Object(external_wp_i18n_["__"])('Insert link'); - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-url-input__button" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - icon: library_link["a" /* default */], - label: buttonLabel, - onClick: this.toggle, - className: "components-toolbar__control", - isPressed: !!url - }), expanded && Object(external_wp_element_["createElement"])("form", { - className: "block-editor-url-input__button-modal", - onSubmit: this.submitLink - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-url-input__button-modal-line" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - className: "block-editor-url-input__back", - icon: arrow_left["a" /* default */], - label: Object(external_wp_i18n_["__"])('Close'), - onClick: this.toggle - }), Object(external_wp_element_["createElement"])(url_input, { - value: url || '', - onChange: onChange - }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - icon: keyboard_return["a" /* default */], - label: Object(external_wp_i18n_["__"])('Submit'), - type: "submit" - })))); - } - -} -/** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/url-input/README.md - */ - - -/* harmony default export */ var url_input_button = (button_URLInputButton); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close.js -var library_close = __webpack_require__("w95h"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/url-popover/image-url-input-ui.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - -const LINK_DESTINATION_NONE = 'none'; -const LINK_DESTINATION_CUSTOM = 'custom'; -const LINK_DESTINATION_MEDIA = 'media'; -const LINK_DESTINATION_ATTACHMENT = 'attachment'; -const NEW_TAB_REL = ['noreferrer', 'noopener']; -const image_url_input_ui_icon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { - d: "M0,0h24v24H0V0z", - fill: "none" -}), Object(external_wp_element_["createElement"])(external_wp_components_["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" -}), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { - d: "m14.14 11.86l-3 3.87-2.14-2.59-3 3.86h12l-3.86-5.14z" -})); - -const ImageURLInputUI = ({ - linkDestination, - onChangeUrl, - url, - mediaType = 'image', - mediaUrl, - mediaLink, - linkTarget, - linkClass, - rel -}) => { - const [isOpen, setIsOpen] = Object(external_wp_element_["useState"])(false); - const openLinkUI = Object(external_wp_element_["useCallback"])(() => { - setIsOpen(true); - }); - const [isEditingLink, setIsEditingLink] = Object(external_wp_element_["useState"])(false); - const [urlInput, setUrlInput] = Object(external_wp_element_["useState"])(null); - const autocompleteRef = Object(external_wp_element_["useRef"])(null); - const startEditLink = Object(external_wp_element_["useCallback"])(() => { - if (linkDestination === LINK_DESTINATION_MEDIA || linkDestination === LINK_DESTINATION_ATTACHMENT) { - setUrlInput(''); - } - - setIsEditingLink(true); - }); - const stopEditLink = Object(external_wp_element_["useCallback"])(() => { - setIsEditingLink(false); - }); - const closeLinkUI = Object(external_wp_element_["useCallback"])(() => { - setUrlInput(null); - stopEditLink(); - setIsOpen(false); - }); - - const removeNewTabRel = currentRel => { - let newRel = currentRel; - - if (currentRel !== undefined && !Object(external_lodash_["isEmpty"])(newRel)) { - if (!Object(external_lodash_["isEmpty"])(newRel)) { - Object(external_lodash_["each"])(NEW_TAB_REL, relVal => { - const regExp = new RegExp('\\b' + relVal + '\\b', 'gi'); - newRel = newRel.replace(regExp, ''); - }); // Only trim if NEW_TAB_REL values was replaced. - - if (newRel !== currentRel) { - newRel = newRel.trim(); - } - - if (Object(external_lodash_["isEmpty"])(newRel)) { - newRel = undefined; - } - } - } - - return newRel; - }; - - const getUpdatedLinkTargetSettings = value => { - const newLinkTarget = value ? '_blank' : undefined; - let updatedRel; - - if (!newLinkTarget && !rel) { - updatedRel = undefined; - } else { - updatedRel = removeNewTabRel(rel); - } - - return { - linkTarget: newLinkTarget, - rel: updatedRel - }; - }; - - const onFocusOutside = Object(external_wp_element_["useCallback"])(() => { - return event => { - // The autocomplete suggestions list renders in a separate popover (in a portal), - // so onFocusOutside fails to detect that a click on a suggestion occurred in the - // LinkContainer. Detect clicks on autocomplete suggestions using a ref here, and - // return to avoid the popover being closed. - const autocompleteElement = autocompleteRef.current; - - if (autocompleteElement && autocompleteElement.contains(event.target)) { - return; - } - - setIsOpen(false); - setUrlInput(null); - stopEditLink(); - }; - }); - const onSubmitLinkChange = Object(external_wp_element_["useCallback"])(() => { - return event => { - if (urlInput) { - var _getLinkDestinations$; - - // It is possible the entered URL actually matches a named link destination. - // This check will ensure our link destination is correct. - const selectedDestination = ((_getLinkDestinations$ = getLinkDestinations().find(destination => destination.url === urlInput)) === null || _getLinkDestinations$ === void 0 ? void 0 : _getLinkDestinations$.linkDestination) || LINK_DESTINATION_CUSTOM; - onChangeUrl({ - href: urlInput, - linkDestination: selectedDestination - }); - } - - stopEditLink(); - setUrlInput(null); - event.preventDefault(); - }; - }); - const onLinkRemove = Object(external_wp_element_["useCallback"])(() => { - onChangeUrl({ - linkDestination: LINK_DESTINATION_NONE, - href: '' - }); - }); - - const getLinkDestinations = () => { - const linkDestinations = [{ - linkDestination: LINK_DESTINATION_MEDIA, - title: Object(external_wp_i18n_["__"])('Media File'), - url: mediaType === 'image' ? mediaUrl : undefined, - icon: image_url_input_ui_icon - }]; - - if (mediaType === 'image' && mediaLink) { - linkDestinations.push({ - linkDestination: LINK_DESTINATION_ATTACHMENT, - title: Object(external_wp_i18n_["__"])('Attachment Page'), - url: mediaType === 'image' ? mediaLink : undefined, - icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { - d: "M0 0h24v24H0V0z", - fill: "none" - }), Object(external_wp_element_["createElement"])(external_wp_components_["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" - })) - }); - } - - return linkDestinations; - }; - - const onSetHref = value => { - const linkDestinations = getLinkDestinations(); - let linkDestinationInput; - - if (!value) { - linkDestinationInput = LINK_DESTINATION_NONE; - } else { - linkDestinationInput = (Object(external_lodash_["find"])(linkDestinations, destination => { - return destination.url === value; - }) || { - linkDestination: LINK_DESTINATION_CUSTOM - }).linkDestination; - } - - onChangeUrl({ - linkDestination: linkDestinationInput, - href: value - }); - }; - - const onSetNewTab = value => { - const updatedLinkTarget = getUpdatedLinkTargetSettings(value); - onChangeUrl(updatedLinkTarget); - }; - - const onSetLinkRel = value => { - onChangeUrl({ - rel: value - }); - }; - - const onSetLinkClass = value => { - onChangeUrl({ - linkClass: value - }); - }; - - const advancedOptions = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { - label: Object(external_wp_i18n_["__"])('Open in new tab'), - onChange: onSetNewTab, - checked: linkTarget === '_blank' - }), Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { - label: Object(external_wp_i18n_["__"])('Link Rel'), - value: removeNewTabRel(rel) || '', - onChange: onSetLinkRel - }), Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { - label: Object(external_wp_i18n_["__"])('Link CSS Class'), - value: linkClass || '', - onChange: onSetLinkClass - })); - const linkEditorValue = urlInput !== null ? urlInput : url; - const urlLabel = (Object(external_lodash_["find"])(getLinkDestinations(), ['linkDestination', linkDestination]) || {}).title; - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - icon: library_link["a" /* default */], - className: "components-toolbar__control", - label: url ? Object(external_wp_i18n_["__"])('Edit link') : Object(external_wp_i18n_["__"])('Insert link'), - "aria-expanded": isOpen, - onClick: openLinkUI - }), isOpen && Object(external_wp_element_["createElement"])(url_popover, { - onFocusOutside: onFocusOutside(), - onClose: closeLinkUI, - renderSettings: () => advancedOptions, - additionalControls: !linkEditorValue && Object(external_wp_element_["createElement"])(external_wp_components_["NavigableMenu"], null, Object(external_lodash_["map"])(getLinkDestinations(), link => Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - key: link.linkDestination, - icon: link.icon, - onClick: () => { - setUrlInput(null); - onSetHref(link.url); - stopEditLink(); - } - }, link.title))) - }, (!url || isEditingLink) && Object(external_wp_element_["createElement"])(url_popover.LinkEditor, { - className: "block-editor-format-toolbar__link-container-content", - value: linkEditorValue, - onChangeInputValue: setUrlInput, - onSubmit: onSubmitLinkChange(), - autocompleteRef: autocompleteRef - }), url && !isEditingLink && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(url_popover.LinkViewer, { - className: "block-editor-format-toolbar__link-container-content", - url: url, - onEditLinkClick: startEditLink, - urlLabel: urlLabel - }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - icon: library_close["a" /* default */], - label: Object(external_wp_i18n_["__"])('Remove link'), - onClick: onLinkRemove - })))); -}; - - - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/check.js -var library_check = __webpack_require__("RMJe"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/preview-options/index.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - -function PreviewOptions({ - children, - className, - isEnabled = true, - deviceType, - setDeviceType -}) { - const isMobile = Object(external_wp_compose_["useViewportMatch"])('small', '<'); - if (isMobile) return null; - const popoverProps = { - className: classnames_default()(className, 'block-editor-post-preview__dropdown-content'), - position: 'bottom left' - }; - const toggleProps = { - isTertiary: true, - className: 'block-editor-post-preview__button-toggle', - disabled: !isEnabled, - - /* translators: button label text should, if possible, be under 16 characters. */ - children: Object(external_wp_i18n_["__"])('Preview') - }; - return Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { - className: "block-editor-post-preview__dropdown", - popoverProps: popoverProps, - toggleProps: toggleProps, - icon: null - }, () => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - className: "block-editor-post-preview__button-resize", - onClick: () => setDeviceType('Desktop'), - icon: deviceType === 'Desktop' && library_check["a" /* default */] - }, Object(external_wp_i18n_["__"])('Desktop')), Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - className: "block-editor-post-preview__button-resize", - onClick: () => setDeviceType('Tablet'), - icon: deviceType === 'Tablet' && library_check["a" /* default */] - }, Object(external_wp_i18n_["__"])('Tablet')), Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - className: "block-editor-post-preview__button-resize", - onClick: () => setDeviceType('Mobile'), - icon: deviceType === 'Mobile' && library_check["a" /* default */] - }, Object(external_wp_i18n_["__"])('Mobile'))), children)); -} - -// EXTERNAL MODULE: ./node_modules/css-mediaquery/index.js -var css_mediaquery = __webpack_require__("6fKw"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-simulated-media-query/index.js -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - -const ENABLED_MEDIA_QUERY = '(min-width:0px)'; -const DISABLED_MEDIA_QUERY = '(min-width:999999px)'; -const VALID_MEDIA_QUERY_REGEX = /\((min|max)-width:[^\(]*?\)/g; - -function getStyleSheetsThatMatchHostname() { - var _window$document$styl, _window, _window$document; - - if (typeof window === 'undefined') { - return []; - } - - return Object(external_lodash_["filter"])((_window$document$styl = (_window = window) === null || _window === void 0 ? void 0 : (_window$document = _window.document) === null || _window$document === void 0 ? void 0 : _window$document.styleSheets) !== null && _window$document$styl !== void 0 ? _window$document$styl : [], styleSheet => { - if (!styleSheet.href) { - return false; - } - - return Object(external_wp_url_["getProtocol"])(styleSheet.href) === window.location.protocol && Object(external_wp_url_["getAuthority"])(styleSheet.href) === window.location.host; - }); -} - -function isReplaceableMediaRule(rule) { - if (!rule.media) { - return false; - } // Need to use "media.mediaText" instead of "conditionText" for IE support. - - - return !!rule.media.mediaText.match(VALID_MEDIA_QUERY_REGEX); -} - -function replaceRule(styleSheet, newRuleText, index) { - styleSheet.deleteRule(index); - styleSheet.insertRule(newRuleText, index); -} - -function replaceMediaQueryWithWidthEvaluation(ruleText, widthValue) { - return ruleText.replace(VALID_MEDIA_QUERY_REGEX, matchedSubstring => { - if (Object(css_mediaquery["match"])(matchedSubstring, { - type: 'screen', - width: widthValue - })) { - return ENABLED_MEDIA_QUERY; - } - - return DISABLED_MEDIA_QUERY; - }); -} -/** - * Function that manipulates media queries from stylesheets to simulate a given - * viewport width. - * - * @param {string} marker CSS selector string defining start and end of - * manipulable styles. - * @param {number?} width Viewport width to simulate. If provided null, the - * stylesheets will not be modified. - */ - - -function useSimulatedMediaQuery(marker, width) { - Object(external_wp_element_["useEffect"])(() => { - if (!width) { - return; - } - - const styleSheets = getStyleSheetsThatMatchHostname(); - const originalStyles = []; - styleSheets.forEach((styleSheet, styleSheetIndex) => { - let relevantSection = false; - - for (let ruleIndex = 0; ruleIndex < styleSheet.cssRules.length; ++ruleIndex) { - const rule = styleSheet.cssRules[ruleIndex]; - - if (rule.type !== window.CSSRule.STYLE_RULE && rule.type !== window.CSSRule.MEDIA_RULE) { - continue; - } - - if (!relevantSection && !!rule.cssText.match(new RegExp(`#start-${marker}`))) { - relevantSection = true; - } - - if (relevantSection && !!rule.cssText.match(new RegExp(`#end-${marker}`))) { - relevantSection = false; - } - - if (!relevantSection || !isReplaceableMediaRule(rule)) { - continue; - } - - const ruleText = rule.cssText; - - if (!originalStyles[styleSheetIndex]) { - originalStyles[styleSheetIndex] = []; - } - - originalStyles[styleSheetIndex][ruleIndex] = ruleText; - replaceRule(styleSheet, replaceMediaQueryWithWidthEvaluation(ruleText, width), ruleIndex); - } - }); - return () => { - originalStyles.forEach((rulesCollection, styleSheetIndex) => { - if (!rulesCollection) { - return; - } - - for (let ruleIndex = 0; ruleIndex < rulesCollection.length; ++ruleIndex) { - const originalRuleText = rulesCollection[ruleIndex]; - - if (originalRuleText) { - replaceRule(styleSheets[styleSheetIndex], originalRuleText, ruleIndex); - } - } - }); - }; - }, [width]); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-resize-canvas/index.js -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - -/** - * Function to resize the editor window. - * - * @param {string} deviceType Used for determining the size of the container (e.g. Desktop, Tablet, Mobile) - * @param {boolean} __unstableDisableSimulation Whether to disable media query simulation. - * - * @return {Object} Inline styles to be added to resizable container. - */ - -function useResizeCanvas(deviceType, __unstableDisableSimulation) { - const [actualWidth, updateActualWidth] = Object(external_wp_element_["useState"])(window.innerWidth); - Object(external_wp_element_["useEffect"])(() => { - if (deviceType === 'Desktop') { - return; - } - - const resizeListener = () => updateActualWidth(window.innerWidth); - - window.addEventListener('resize', resizeListener); - return () => { - window.removeEventListener('resize', resizeListener); - }; - }, [deviceType]); - - const getCanvasWidth = device => { - let deviceWidth; - - switch (device) { - case 'Tablet': - deviceWidth = 780; - break; - - case 'Mobile': - deviceWidth = 360; - break; - - default: - return null; - } - - return deviceWidth < actualWidth ? deviceWidth : actualWidth; - }; - - const marginValue = () => window.innerHeight < 800 ? 36 : 72; - - const contentInlineStyles = device => { - const height = device === 'Mobile' ? '768px' : '1024px'; - - switch (device) { - case 'Tablet': - case 'Mobile': - return { - width: getCanvasWidth(device), - margin: marginValue() + 'px auto', - height, - borderRadius: '2px 2px 2px 2px', - border: '1px solid #ddd', - overflowY: 'auto' - }; - - default: - return null; - } - }; - - const width = __unstableDisableSimulation ? null : getCanvasWidth(deviceType); - useSimulatedMediaQuery('resizable-editor-section', width); - return contentInlineStyles(deviceType); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/skip-to-selected-block/index.js - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - - -const SkipToSelectedBlock = ({ - selectedBlockClientId -}) => { - const ref = useBlockRef(selectedBlockClientId); - - const onClick = () => { - ref.current.focus(); - }; - - return selectedBlockClientId ? Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - isSecondary: true, - className: "block-editor-skip-to-selected-block", - onClick: onClick - }, Object(external_wp_i18n_["__"])('Skip to the selected block')) : null; -}; - -/* harmony default export */ var skip_to_selected_block = (Object(external_wp_data_["withSelect"])(select => { - return { - selectedBlockClientId: select(store).getBlockSelectionStart() - }; -})(SkipToSelectedBlock)); - -// EXTERNAL MODULE: external ["wp","wordcount"] -var external_wp_wordcount_ = __webpack_require__("7fqt"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/multi-selection-inspector/index.js - - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - -function MultiSelectionInspector({ - blocks -}) { - const words = Object(external_wp_wordcount_["count"])(Object(external_wp_blocks_["serialize"])(blocks), 'words'); - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-multi-selection-inspector__card" - }, Object(external_wp_element_["createElement"])(BlockIcon, { - icon: library_stack, - showColors: true - }), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-multi-selection-inspector__card-content" - }, Object(external_wp_element_["createElement"])("div", { - className: "block-editor-multi-selection-inspector__card-title" - }, Object(external_wp_i18n_["sprintf"])( - /* translators: %d: number of blocks */ - Object(external_wp_i18n_["_n"])('%d block', '%d blocks', blocks.length), blocks.length)), Object(external_wp_element_["createElement"])("div", { - className: "block-editor-multi-selection-inspector__card-description" - }, Object(external_wp_i18n_["sprintf"])( - /* translators: %d: number of words */ - Object(external_wp_i18n_["_n"])('%d word', '%d words', words), words)))); -} - -/* harmony default export */ var multi_selection_inspector = (Object(external_wp_data_["withSelect"])(select => { - const { - getMultiSelectedBlocks - } = select(store); - return { - blocks: getMultiSelectedBlocks() - }; -})(MultiSelectionInspector)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/default-style-picker/index.js - - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - -function DefaultStylePicker({ - blockName -}) { - const { - preferredStyle, - onUpdatePreferredStyleVariations, - styles - } = Object(external_wp_data_["useSelect"])(select => { - var _preferredStyleVariat, _preferredStyleVariat2; - - const settings = select(store).getSettings(); - const preferredStyleVariations = settings.__experimentalPreferredStyleVariations; - return { - preferredStyle: preferredStyleVariations === null || preferredStyleVariations === void 0 ? void 0 : (_preferredStyleVariat = preferredStyleVariations.value) === null || _preferredStyleVariat === void 0 ? void 0 : _preferredStyleVariat[blockName], - onUpdatePreferredStyleVariations: (_preferredStyleVariat2 = preferredStyleVariations === null || preferredStyleVariations === void 0 ? void 0 : preferredStyleVariations.onChange) !== null && _preferredStyleVariat2 !== void 0 ? _preferredStyleVariat2 : null, - styles: select(external_wp_blocks_["store"]).getBlockStyles(blockName) - }; - }, [blockName]); - const selectOptions = Object(external_wp_element_["useMemo"])(() => [{ - label: Object(external_wp_i18n_["__"])('Not set'), - value: '' - }, ...styles.map(({ - label, - name - }) => ({ - label, - value: name - }))], [styles]); - const selectOnChange = Object(external_wp_element_["useCallback"])(blockStyle => { - onUpdatePreferredStyleVariations(blockName, blockStyle); - }, [blockName, onUpdatePreferredStyleVariations]); - return onUpdatePreferredStyleVariations && Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { - options: selectOptions, - value: preferredStyle || '', - label: Object(external_wp_i18n_["__"])('Default Style'), - onChange: selectOnChange - }); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-inspector/index.js - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - - - - - - - - -const BlockInspector = ({ - showNoBlockSelectedMessage = true, - bubblesVirtually = true -}) => { - const { - count, - hasBlockStyles, - selectedBlockName, - selectedBlockClientId, - blockType - } = Object(external_wp_data_["useSelect"])(select => { - const { - getSelectedBlockClientId, - getSelectedBlockCount, - getBlockName - } = select(store); - const { - getBlockStyles - } = select(external_wp_blocks_["store"]); - - const _selectedBlockClientId = getSelectedBlockClientId(); - - const _selectedBlockName = _selectedBlockClientId && getBlockName(_selectedBlockClientId); - - const _blockType = _selectedBlockName && Object(external_wp_blocks_["getBlockType"])(_selectedBlockName); - - const blockStyles = _selectedBlockName && getBlockStyles(_selectedBlockName); - - return { - count: getSelectedBlockCount(), - selectedBlockClientId: _selectedBlockClientId, - selectedBlockName: _selectedBlockName, - blockType: _blockType, - hasBlockStyles: blockStyles && blockStyles.length > 0 - }; - }, []); - - if (count > 1) { - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-inspector" - }, Object(external_wp_element_["createElement"])(multi_selection_inspector, null), Object(external_wp_element_["createElement"])(inspector_controls.Slot, { - bubblesVirtually: bubblesVirtually - })); - } - - const isSelectedBlockUnregistered = selectedBlockName === Object(external_wp_blocks_["getUnregisteredTypeHandlerName"])(); - /* - * If the selected block is of an unregistered type, avoid showing it as an actual selection - * because we want the user to focus on the unregistered block warning, not block settings. - */ - - if (!blockType || !selectedBlockClientId || isSelectedBlockUnregistered) { - if (showNoBlockSelectedMessage) { - return Object(external_wp_element_["createElement"])("span", { - className: "block-editor-block-inspector__no-blocks" - }, Object(external_wp_i18n_["__"])('No block selected.')); - } - - return null; - } - - return Object(external_wp_element_["createElement"])(BlockInspectorSingleBlock, { - clientId: selectedBlockClientId, - blockName: blockType.name, - hasBlockStyles: hasBlockStyles, - bubblesVirtually: bubblesVirtually - }); -}; - -const BlockInspectorSingleBlock = ({ - clientId, - blockName, - hasBlockStyles, - bubblesVirtually -}) => { - const blockInformation = useBlockDisplayInformation(clientId); - return Object(external_wp_element_["createElement"])("div", { - className: "block-editor-block-inspector" - }, Object(external_wp_element_["createElement"])(block_card, blockInformation), Object(external_wp_element_["createElement"])(block_variation_transforms, { - blockClientId: clientId - }), hasBlockStyles && Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { - title: Object(external_wp_i18n_["__"])('Styles') - }, Object(external_wp_element_["createElement"])(block_styles, { - clientId: clientId - }), Object(external_wp_blocks_["hasBlockSupport"])(blockName, 'defaultStylePicker', true) && Object(external_wp_element_["createElement"])(DefaultStylePicker, { - blockName: blockName - }))), Object(external_wp_element_["createElement"])(inspector_controls.Slot, { - bubblesVirtually: bubblesVirtually - }), Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(AdvancedControls, { - slotName: inspector_advanced_controls.slotName, - bubblesVirtually: bubblesVirtually - })), Object(external_wp_element_["createElement"])(skip_to_selected_block, { - key: "back" - })); -}; - -const AdvancedControls = ({ - slotName, - bubblesVirtually -}) => { - const slot = Object(external_wp_components_["__experimentalUseSlot"])(slotName); - const hasFills = Boolean(slot.fills && slot.fills.length); - - if (!hasFills) { - return null; - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { - className: "block-editor-block-inspector__advanced", - title: Object(external_wp_i18n_["__"])('Advanced'), - initialOpen: false - }, Object(external_wp_element_["createElement"])(inspector_advanced_controls.Slot, { - bubblesVirtually: bubblesVirtually - })); -}; - -/* harmony default export */ var block_inspector = (BlockInspector); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/index.js - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - - - - -/** - * 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 -}) { - const isLargeViewport = Object(external_wp_compose_["useViewportMatch"])('medium'); - const hasFixedToolbar = Object(external_wp_data_["useSelect"])(select => select(store).getSettings().hasFixedToolbar, []); - return Object(external_wp_element_["createElement"])(InsertionPoint, { - __unstableContentRef: __unstableContentRef - }, (hasFixedToolbar || !isLargeViewport) && Object(external_wp_element_["createElement"])(block_contextual_toolbar, { - isFixed: true - }), Object(external_wp_element_["createElement"])(WrappedBlockPopover, { - __unstableContentRef: __unstableContentRef - }), Object(external_wp_element_["createElement"])(external_wp_components_["Popover"].Slot, { - name: "block-toolbar", - ref: usePopoverScroll(__unstableContentRef) - }), children); -} +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); // EXTERNAL MODULE: ./node_modules/traverse/index.js var traverse = __webpack_require__("eGrx"); @@ -37504,7 +45952,7 @@ function traverseCSS(css, callback) { /** * Return `true` if the given path is http/https. * - * @param {string} filePath path + * @param {string} filePath path * * @return {boolean} is remote path. */ @@ -37514,7 +45962,7 @@ function isRemotePath(filePath) { /** * Return `true` if the given filePath is an absolute url. * - * @param {string} filePath path + * @param {string} filePath path * * @return {boolean} is absolute path. */ @@ -37526,7 +45974,7 @@ function isAbsolutePath(filePath) { /** * Whether or not the url should be inluded. * - * @param {Object} meta url meta info + * @param {Object} meta url meta info * * @return {boolean} is valid. */ @@ -37552,10 +46000,10 @@ function isValidURL(meta) { /** * Get the absolute path of the url, relative to the basePath * - * @param {string} str the url - * @param {string} baseURL base URL + * @param {string} str the url + * @param {string} baseURL base URL * - * @return {string} the full path to the file + * @return {string} the full path to the file */ @@ -37565,8 +46013,9 @@ function getResourcePath(str, baseURL) { /** * Process the single `url()` pattern * - * @param {string} baseURL the base URL for relative URLs - * @return {Promise} the Promise + * @param {string} baseURL the base URL for relative URLs. + * + * @return {Promise} the Promise. */ @@ -37578,9 +46027,9 @@ function processURL(baseURL) { /** * Get all `url()`s, and return the meta info * - * @param {string} value decl.value + * @param {string} value decl.value. * - * @return {Array} the urls + * @return {Array} the urls. */ @@ -37608,10 +46057,10 @@ function getURLs(value) { /** * Replace the raw value's `url()` segment to the new value * - * @param {string} raw the raw value - * @param {Array} URLs the URLs to replace + * @param {string} raw the raw value. + * @param {Array} URLs the URLs to replace. * - * @return {string} the new value + * @return {string} the new value. */ @@ -37640,8 +46089,24 @@ const rewrite = rootURL => node => { * @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; @@ -37688,7 +46153,7 @@ const wrap = (namespace, ignore = []) => node => { /** * Applies a series of CSS rule transforms to wrap selectors inside a given class and/or rewrite URLs depending on the parameters passed. * - * @param {Array} styles CSS rules. + * @param {Array} styles CSS rules. * @param {string} wrapperClassName Wrapper Class Name. * @return {Array} converted rules. */ @@ -37717,9 +46182,98 @@ const transformStyles = (styles, wrapperClassName = '') => { }); }; -/* harmony default export */ var transform_styles = (transformStyles); +/* harmony default export */ var transform_styles = __webpack_exports__["a"] = (transformStyles); + + +/***/ }), + +/***/ "vtO0": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ BlockAlignmentControl; }); +__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ BlockAlignmentToolbar; }); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","primitives"] +var external_wp_primitives_ = __webpack_require__("Tqx9"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/align-none.js + + +/** + * WordPress dependencies + */ + +const alignNone = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M5 15h14V9H5v6zm0 4.8h14v-1.5H5v1.5zM5 4.2v1.5h14V4.2H5z" +})); +/* harmony default export */ var align_none = (alignNone); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/position-left.js + + +/** + * WordPress dependencies + */ + +const positionLeft = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M4 9v6h14V9H4zm8-4.8H4v1.5h8V4.2zM4 19.8h8v-1.5H4v1.5z" +})); +/* harmony default export */ var position_left = (positionLeft); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/position-center.js +var position_center = __webpack_require__("EpZT"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/position-right.js + + +/** + * WordPress dependencies + */ + +const positionRight = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M6 15h14V9H6v6zm6-10.8v1.5h8V4.2h-8zm0 15.6h8v-1.5h-8v1.5z" +})); +/* harmony default export */ var position_right = (positionRight); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/stretch-wide.js +var stretch_wide = __webpack_require__("beZb"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/stretch-full-width.js +var stretch_full_width = __webpack_require__("XNw2"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-alignment-control/use-available-alignments.js +var use_available_alignments = __webpack_require__("K/rC"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-alignment-control/ui.js -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/editor-styles/index.js /** @@ -37731,2136 +46285,201 @@ const transformStyles = (styles, wrapperClassName = '') => { */ + + + /** * Internal dependencies */ -const EDITOR_STYLES_SELECTOR = '.editor-styles-wrapper'; +const BLOCK_ALIGNMENTS_CONTROLS = { + none: { + icon: align_none, + title: Object(external_wp_i18n_["__"])('None') + }, + left: { + icon: position_left, + title: Object(external_wp_i18n_["__"])('Align left') + }, + center: { + icon: position_center["a" /* default */], + title: Object(external_wp_i18n_["__"])('Align center') + }, + right: { + icon: position_right, + title: Object(external_wp_i18n_["__"])('Align right') + }, + wide: { + icon: stretch_wide["a" /* default */], + title: Object(external_wp_i18n_["__"])('Wide width') + }, + full: { + icon: stretch_full_width["a" /* default */], + title: Object(external_wp_i18n_["__"])('Full width') + } +}; +const DEFAULT_CONTROL = 'none'; +const POPOVER_PROPS = { + isAlternate: true +}; -function useDarkThemeBodyClassName(styles) { - return Object(external_wp_element_["useCallback"])(node => { - if (!node) { - return; - } - - const { - ownerDocument - } = node; - const { - defaultView, - body - } = ownerDocument; - const canvas = ownerDocument.querySelector(EDITOR_STYLES_SELECTOR); - let backgroundColor; - - if (!canvas) { - // The real .editor-styles-wrapper element might not exist in the - // DOM, so calculate the background color by creating a fake - // wrapper. - const tempCanvas = ownerDocument.createElement('div'); - tempCanvas.classList.add('editor-styles-wrapper'); - body.appendChild(tempCanvas); - backgroundColor = defaultView.getComputedStyle(tempCanvas, null).getPropertyValue('background-color'); - body.removeChild(tempCanvas); - } else { - backgroundColor = defaultView.getComputedStyle(canvas, null).getPropertyValue('background-color'); - } // If background is transparent, it should be treated as light color. - - - if (tinycolor_default()(backgroundColor).getLuminance() > 0.5 || tinycolor_default()(backgroundColor).getAlpha() === 0) { - body.classList.remove('is-dark-theme'); - } else { - body.classList.add('is-dark-theme'); - } - }, [styles]); -} - -function EditorStyles({ - styles +function BlockAlignmentUI({ + value, + onChange, + controls, + isToolbar, + isCollapsed = true }) { - const transformedStyles = Object(external_wp_element_["useMemo"])(() => transform_styles(styles, EDITOR_STYLES_SELECTOR), [styles]); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("style", { - ref: useDarkThemeBodyClassName(styles) - }), transformedStyles.map((css, index) => Object(external_wp_element_["createElement"])("style", { - key: index - }, css))); -} + const enabledControls = Object(use_available_alignments["a" /* default */])(controls); + const hasEnabledControls = !!enabledControls.length; -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/library.js + if (!hasEnabledControls) { + return null; + } + function onChangeAlignment(align) { + onChange([value, 'none'].includes(align) ? undefined : align); + } -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - - -function InserterLibrary({ - rootClientId, - clientId, - isAppender, - showInserterHelpPanel, - showMostUsedBlocks = false, - __experimentalInsertionIndex, - onSelect = external_lodash_["noop"], - shouldFocusBlock = false -}) { - const destinationRootClientId = Object(external_wp_data_["useSelect"])(select => { - const { - getBlockRootClientId - } = select(store); - return rootClientId || getBlockRootClientId(clientId) || undefined; - }, [clientId, rootClientId]); - return Object(external_wp_element_["createElement"])(menu, { - onSelect: onSelect, - rootClientId: destinationRootClientId, - clientId: clientId, - isAppender: isAppender, - showInserterHelpPanel: showInserterHelpPanel, - showMostUsedBlocks: showMostUsedBlocks, - __experimentalInsertionIndex: __experimentalInsertionIndex, - shouldFocusBlock: shouldFocusBlock - }); -} - -/* harmony default export */ var library = (InserterLibrary); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/keyboard-shortcuts/index.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - -function KeyboardShortcuts() { - // Shortcuts Logic - const { - clientIds, - rootClientId - } = Object(external_wp_data_["useSelect"])(select => { - const { - getSelectedBlockClientIds, - getBlockRootClientId - } = select(store); - const selectedClientIds = getSelectedBlockClientIds(); - const [firstClientId] = selectedClientIds; - return { - clientIds: selectedClientIds, - rootClientId: getBlockRootClientId(firstClientId) - }; - }, []); - const { - duplicateBlocks, - removeBlocks, - insertAfterBlock, - insertBeforeBlock, - clearSelectedBlock, - moveBlocksUp, - moveBlocksDown - } = Object(external_wp_data_["useDispatch"])(store); // Moves selected block/blocks up - - Object(external_wp_keyboardShortcuts_["useShortcut"])('core/block-editor/move-up', Object(external_wp_element_["useCallback"])(event => { - event.preventDefault(); - moveBlocksUp(clientIds, rootClientId); - }, [clientIds, moveBlocksUp]), { - bindGlobal: true, - isDisabled: clientIds.length === 0 - }); // Moves selected block/blocks up - - Object(external_wp_keyboardShortcuts_["useShortcut"])('core/block-editor/move-down', Object(external_wp_element_["useCallback"])(event => { - event.preventDefault(); - moveBlocksDown(clientIds, rootClientId); - }, [clientIds, moveBlocksDown]), { - bindGlobal: true, - isDisabled: clientIds.length === 0 - }); // Prevents bookmark all Tabs shortcut in Chrome when devtools are closed. - // Prevents reposition Chrome devtools pane shortcut when devtools are open. - - Object(external_wp_keyboardShortcuts_["useShortcut"])('core/block-editor/duplicate', Object(external_wp_element_["useCallback"])(event => { - event.preventDefault(); - duplicateBlocks(clientIds); - }, [clientIds, duplicateBlocks]), { - bindGlobal: true, - isDisabled: clientIds.length === 0 - }); // Does not clash with any known browser/native shortcuts, but preventDefault - // is used to prevent any obscure unknown shortcuts from triggering. - - Object(external_wp_keyboardShortcuts_["useShortcut"])('core/block-editor/remove', Object(external_wp_element_["useCallback"])(event => { - event.preventDefault(); - removeBlocks(clientIds); - }, [clientIds, removeBlocks]), { - bindGlobal: true, - isDisabled: clientIds.length === 0 - }); // Does not clash with any known browser/native shortcuts, but preventDefault - // is used to prevent any obscure unknown shortcuts from triggering. - - Object(external_wp_keyboardShortcuts_["useShortcut"])('core/block-editor/insert-after', Object(external_wp_element_["useCallback"])(event => { - event.preventDefault(); - insertAfterBlock(Object(external_lodash_["last"])(clientIds)); - }, [clientIds, insertAfterBlock]), { - bindGlobal: true, - isDisabled: clientIds.length === 0 - }); // Prevent 'view recently closed tabs' in Opera using preventDefault. - - Object(external_wp_keyboardShortcuts_["useShortcut"])('core/block-editor/insert-before', Object(external_wp_element_["useCallback"])(event => { - event.preventDefault(); - insertBeforeBlock(Object(external_lodash_["first"])(clientIds)); - }, [clientIds, insertBeforeBlock]), { - bindGlobal: true, - isDisabled: clientIds.length === 0 - }); - Object(external_wp_keyboardShortcuts_["useShortcut"])('core/block-editor/delete-multi-selection', Object(external_wp_element_["useCallback"])(event => { - event.preventDefault(); - removeBlocks(clientIds); - }, [clientIds, removeBlocks]), { - isDisabled: clientIds.length < 2 - }); - Object(external_wp_keyboardShortcuts_["useShortcut"])('core/block-editor/unselect', Object(external_wp_element_["useCallback"])(event => { - event.preventDefault(); - clearSelectedBlock(); - event.target.ownerDocument.defaultView.getSelection().removeAllRanges(); - }, [clientIds, clearSelectedBlock]), { - isDisabled: clientIds.length < 2 - }); - return null; -} - -function KeyboardShortcutsRegister() { - // Registering the shortcuts - const { - registerShortcut - } = Object(external_wp_data_["useDispatch"])(external_wp_keyboardShortcuts_["store"]); - Object(external_wp_element_["useEffect"])(() => { - registerShortcut({ - name: 'core/block-editor/duplicate', - category: 'block', - description: Object(external_wp_i18n_["__"])('Duplicate the selected block(s).'), - keyCombination: { - modifier: 'primaryShift', - character: 'd' - } - }); - registerShortcut({ - name: 'core/block-editor/remove', - category: 'block', - description: Object(external_wp_i18n_["__"])('Remove the selected block(s).'), - keyCombination: { - modifier: 'access', - character: 'z' - } - }); - registerShortcut({ - name: 'core/block-editor/insert-before', - category: 'block', - description: Object(external_wp_i18n_["__"])('Insert a new block before the selected block(s).'), - keyCombination: { - modifier: 'primaryAlt', - character: 't' - } - }); - registerShortcut({ - name: 'core/block-editor/insert-after', - category: 'block', - description: Object(external_wp_i18n_["__"])('Insert a new block after the selected block(s).'), - keyCombination: { - modifier: 'primaryAlt', - character: 'y' - } - }); - registerShortcut({ - name: 'core/block-editor/delete-multi-selection', - category: 'block', - description: Object(external_wp_i18n_["__"])('Remove multiple selected blocks.'), - keyCombination: { - character: 'del' - }, - aliases: [{ - character: 'backspace' - }] - }); - registerShortcut({ - name: 'core/block-editor/select-all', - category: 'selection', - description: Object(external_wp_i18n_["__"])('Select all text when typing. Press again to select all blocks.'), - keyCombination: { - modifier: 'primary', - character: 'a' - } - }); - registerShortcut({ - name: 'core/block-editor/unselect', - category: 'selection', - description: Object(external_wp_i18n_["__"])('Clear selection.'), - keyCombination: { - character: 'escape' - } - }); - registerShortcut({ - name: 'core/block-editor/focus-toolbar', - category: 'global', - description: Object(external_wp_i18n_["__"])('Navigate to the nearest toolbar.'), - keyCombination: { - modifier: 'alt', - character: 'F10' - } - }); - registerShortcut({ - name: 'core/block-editor/move-up', - category: 'block', - description: Object(external_wp_i18n_["__"])('Move the selected block(s) up.'), - keyCombination: { - modifier: 'secondary', - character: 't' - } - }); - registerShortcut({ - name: 'core/block-editor/move-down', - category: 'block', - description: Object(external_wp_i18n_["__"])('Move the selected block(s) down.'), - keyCombination: { - modifier: 'secondary', - character: 'y' - } - }); - }, [registerShortcut]); - return null; -} - -KeyboardShortcuts.Register = KeyboardShortcutsRegister; -/* harmony default export */ var keyboard_shortcuts = (KeyboardShortcuts); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/selection-scroll-into-view/index.js -/** - * WordPress dependencies - */ - -/** - * Scrolls the multi block selection end into view if not in view already. This - * is important to do after selection by keyboard. - * - * @deprecated - */ - -function MultiSelectScrollIntoView() { - external_wp_deprecated_default()('wp.blockEditor.MultiSelectScrollIntoView', { - hint: 'This behaviour is now built-in.' - }); - return null; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/observe-typing/index.js - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - -/** - * Set of key codes upon which typing is to be initiated on a keydown event. - * - * @type {Set} - */ - -const KEY_DOWN_ELIGIBLE_KEY_CODES = new Set([external_wp_keycodes_["UP"], external_wp_keycodes_["RIGHT"], external_wp_keycodes_["DOWN"], external_wp_keycodes_["LEFT"], external_wp_keycodes_["ENTER"], external_wp_keycodes_["BACKSPACE"]]); -/** - * Returns true if a given keydown event can be inferred as intent to start - * typing, or false otherwise. A keydown is considered eligible if it is a - * text navigation without shift active. - * - * @param {KeyboardEvent} event Keydown event to test. - * - * @return {boolean} Whether event is eligible to start typing. - */ - -function isKeyDownEligibleForStartTyping(event) { - const { - keyCode, - shiftKey - } = event; - return !shiftKey && KEY_DOWN_ELIGIBLE_KEY_CODES.has(keyCode); -} -/** - * Removes the `isTyping` flag when the mouse moves in the document of the given - * element. - */ - - -function useMouseMoveTypingReset() { - const isTyping = Object(external_wp_data_["useSelect"])(select => select(store).isTyping()); - const { - stopTyping - } = Object(external_wp_data_["useDispatch"])(store); - return Object(external_wp_compose_["useRefEffect"])(node => { - if (!isTyping) { - return; + const activeAlignmentControl = BLOCK_ALIGNMENTS_CONTROLS[value]; + const defaultAlignmentControl = BLOCK_ALIGNMENTS_CONTROLS[DEFAULT_CONTROL]; + const UIComponent = isToolbar ? external_wp_components_["ToolbarGroup"] : external_wp_components_["ToolbarDropdownMenu"]; + const commonProps = { + popoverProps: POPOVER_PROPS, + icon: activeAlignmentControl ? activeAlignmentControl.icon : defaultAlignmentControl.icon, + label: Object(external_wp_i18n_["__"])('Align'), + toggleProps: { + describedBy: Object(external_wp_i18n_["__"])('Change alignment') } - - const { - ownerDocument - } = node; - let lastClientX; - let lastClientY; - /** - * On mouse move, unset typing flag if user has moved cursor. - * - * @param {MouseEvent} event Mousemove event. - */ - - function stopTypingOnMouseMove(event) { - const { - clientX, - clientY - } = event; // We need to check that the mouse really moved because Safari - // triggers mousemove events when shift or ctrl are pressed. - - if (lastClientX && lastClientY && (lastClientX !== clientX || lastClientY !== clientY)) { - stopTyping(); - } - - lastClientX = clientX; - lastClientY = clientY; - } - - ownerDocument.addEventListener('mousemove', stopTypingOnMouseMove); - return () => { - ownerDocument.removeEventListener('mousemove', stopTypingOnMouseMove); - }; - }, [isTyping, stopTyping]); -} -/** - * Sets and removes the `isTyping` flag based on user actions: - * - * - Sets the flag if the user types within the given element. - * - Removes the flag when the user selects some text, focusses a non-text - * field, presses ESC or TAB, or moves the mouse in the document. - */ - -function useTypingObserver() { - const isTyping = Object(external_wp_data_["useSelect"])(select => select(store).isTyping()); - const { - startTyping, - stopTyping - } = Object(external_wp_data_["useDispatch"])(store); - const ref1 = useMouseMoveTypingReset(); - const ref2 = Object(external_wp_compose_["useRefEffect"])(node => { - const { - ownerDocument - } = node; - const { - defaultView - } = ownerDocument; // Listeners to stop typing should only be added when typing. - // Listeners to start typing should only be added when not typing. - - if (isTyping) { - let timerId; - /** - * Stops typing when focus transitions to a non-text field element. - * - * @param {FocusEvent} event Focus event. - */ - - function stopTypingOnNonTextField(event) { - const { - target - } = event; // Since focus to a non-text field via arrow key will trigger - // before the keydown event, wait until after current stack - // before evaluating whether typing is to be stopped. Otherwise, - // typing will re-start. - - timerId = defaultView.setTimeout(() => { - if (!Object(external_wp_dom_["isTextField"])(target)) { - stopTyping(); - } - }); - } - /** - * Unsets typing flag if user presses Escape while typing flag is - * active. - * - * @param {KeyboardEvent} event Keypress or keydown event to - * interpret. - */ - - - function stopTypingOnEscapeKey(event) { - const { - keyCode - } = event; - - if (keyCode === external_wp_keycodes_["ESCAPE"] || keyCode === external_wp_keycodes_["TAB"]) { - stopTyping(); - } - } - /** - * On selection change, unset typing flag if user has made an - * uncollapsed (shift) selection. - */ - - - function stopTypingOnSelectionUncollapse() { - const selection = defaultView.getSelection(); - const isCollapsed = selection.rangeCount > 0 && selection.getRangeAt(0).collapsed; - - if (!isCollapsed) { - stopTyping(); - } - } - - node.addEventListener('focus', stopTypingOnNonTextField); - node.addEventListener('keydown', stopTypingOnEscapeKey); - ownerDocument.addEventListener('selectionchange', stopTypingOnSelectionUncollapse); - return () => { - defaultView.clearTimeout(timerId); - node.removeEventListener('focus', stopTypingOnNonTextField); - node.removeEventListener('keydown', stopTypingOnEscapeKey); - ownerDocument.removeEventListener('selectionchange', stopTypingOnSelectionUncollapse); + }; + const extraProps = isToolbar || external_wp_element_["Platform"].isNative ? { + isCollapsed: isToolbar ? isCollapsed : undefined, + controls: enabledControls.map(({ + name: controlName + }) => { + return { ...BLOCK_ALIGNMENTS_CONTROLS[controlName], + isActive: value === controlName || !value && controlName === 'none', + role: isCollapsed ? 'menuitemradio' : undefined, + onClick: () => onChangeAlignment(controlName) }; + }) + } : { + children: ({ + onClose + }) => { + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { + className: "block-editor-block-alignment-control__menu-group" + }, enabledControls.map(({ + name: controlName, + info + }) => { + const { + icon, + title + } = BLOCK_ALIGNMENTS_CONTROLS[controlName]; // If no value is provided, mark as selected the `none` option. + + const isSelected = controlName === value || !value && controlName === 'none'; + return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { + key: controlName, + icon: icon, + iconPosition: "left", + className: classnames_default()('components-dropdown-menu__menu-item', { + 'is-active': isSelected + }), + isSelected: isSelected, + onClick: () => { + onChangeAlignment(controlName); + onClose(); + }, + role: "menuitemradio", + info: info + }, title); + }))); } - /** - * Handles a keypress or keydown event to infer intention to start - * typing. - * - * @param {KeyboardEvent} event Keypress or keydown event to interpret. - */ - - - function startTypingInTextField(event) { - const { - type, - target - } = event; // Abort early if already typing, or key press is incurred outside a - // text field (e.g. arrow-ing through toolbar buttons). - // Ignore typing if outside the current DOM container - - if (!Object(external_wp_dom_["isTextField"])(target) || !node.contains(target)) { - return; - } // Special-case keydown because certain keys do not emit a keypress - // event. Conversely avoid keydown as the canonical event since - // there are many keydown which are explicitly not targeted for - // typing. - - - if (type === 'keydown' && !isKeyDownEligibleForStartTyping(event)) { - return; - } - - startTyping(); - } - - node.addEventListener('keypress', startTypingInTextField); - node.addEventListener('keydown', startTypingInTextField); - return () => { - node.removeEventListener('keypress', startTypingInTextField); - node.removeEventListener('keydown', startTypingInTextField); - }; - }, [isTyping, startTyping, stopTyping]); - return Object(external_wp_compose_["useMergeRefs"])([ref1, ref2]); + }; + return Object(external_wp_element_["createElement"])(UIComponent, Object(esm_extends["a" /* default */])({}, commonProps, extraProps)); } -function ObserveTyping({ - children -}) { - return Object(external_wp_element_["createElement"])("div", { - ref: useTypingObserver() - }, children); -} +/* harmony default export */ var ui = (BlockAlignmentUI); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-alignment-control/index.js + + + /** - * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/observe-typing/README.md + * Internal dependencies */ +function BlockAlignmentControl(props) { + return Object(external_wp_element_["createElement"])(ui, Object(esm_extends["a" /* default */])({}, props, { + isToolbar: false + })); +} +function BlockAlignmentToolbar(props) { + return Object(external_wp_element_["createElement"])(ui, Object(esm_extends["a" /* default */])({}, props, { + isToolbar: true + })); +} + + +/***/ }), + +/***/ "w8sn": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return defaultLayout; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LayoutProvider; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return useLayout; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return LayoutStyle; }); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _layouts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("PPMp"); + -/* harmony default export */ var observe_typing = (ObserveTyping); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/preserve-scroll-in-reorder/index.js /** * WordPress dependencies */ -function PreserveScrollInReorder() { - external_wp_deprecated_default()('PreserveScrollInReorder component', { - since: '5.4', - hint: 'This behavior is now built-in the block list' - }); +/** + * Internal dependencies + */ + + +const defaultLayout = { + type: 'default' +}; +const Layout = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createContext"])(defaultLayout); +/** + * Allows to define the layout. + */ + +const LayoutProvider = Layout.Provider; +/** + * React hook used to retrieve the layout config. + */ + +function useLayout() { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useContext"])(Layout); +} +function LayoutStyle({ + layout = {}, + ...props +}) { + const layoutType = Object(_layouts__WEBPACK_IMPORTED_MODULE_2__[/* getLayoutType */ "a"])(layout.type); + + if (layoutType) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(layoutType.save, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + layout: layout + }, props)); + } + return null; } -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/typewriter/index.js - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - -const isIE = window.navigator.userAgent.indexOf('Trident') !== -1; -const arrowKeyCodes = new Set([external_wp_keycodes_["UP"], external_wp_keycodes_["DOWN"], external_wp_keycodes_["LEFT"], external_wp_keycodes_["RIGHT"]]); -const initialTriggerPercentage = 0.75; -function useTypewriter() { - const hasSelectedBlock = Object(external_wp_data_["useSelect"])(select => select(store).hasSelectedBlock()); - return Object(external_wp_compose_["useRefEffect"])(node => { - if (!hasSelectedBlock) { - return; - } - - const { - ownerDocument - } = node; - const { - defaultView - } = ownerDocument; - let scrollResizeRafId; - let onKeyDownRafId; - let caretRect; - - function onScrollResize() { - if (scrollResizeRafId) { - return; - } - - scrollResizeRafId = defaultView.requestAnimationFrame(() => { - computeCaretRectangle(); - scrollResizeRafId = null; - }); - } - - function onKeyDown(event) { - // Ensure the any remaining request is cancelled. - if (onKeyDownRafId) { - defaultView.cancelAnimationFrame(onKeyDownRafId); - } // Use an animation frame for a smooth result. - - - onKeyDownRafId = defaultView.requestAnimationFrame(() => { - maintainCaretPosition(event); - onKeyDownRafId = null; - }); - } - /** - * Maintains the scroll position after a selection change caused by a - * keyboard event. - * - * @param {KeyboardEvent} event Keyboard event. - */ - - - function maintainCaretPosition({ - keyCode - }) { - if (!isSelectionEligibleForScroll()) { - return; - } - - const currentCaretRect = Object(external_wp_dom_["computeCaretRect"])(defaultView); - - if (!currentCaretRect) { - return; - } // If for some reason there is no position set to be scrolled to, let - // this be the position to be scrolled to in the future. - - - if (!caretRect) { - caretRect = currentCaretRect; - return; - } // Even though enabling the typewriter effect for arrow keys results in - // a pleasant experience, it may not be the case for everyone, so, for - // now, let's disable it. - - - if (arrowKeyCodes.has(keyCode)) { - // Reset the caret position to maintain. - caretRect = currentCaretRect; - return; - } - - const diff = currentCaretRect.top - caretRect.top; - - if (diff === 0) { - return; - } - - const scrollContainer = Object(external_wp_dom_["getScrollContainer"])(node); // The page must be scrollable. - - if (!scrollContainer) { - return; - } - - const windowScroll = scrollContainer === ownerDocument.body; - const scrollY = windowScroll ? defaultView.scrollY : scrollContainer.scrollTop; - const scrollContainerY = windowScroll ? 0 : scrollContainer.getBoundingClientRect().top; - const relativeScrollPosition = windowScroll ? caretRect.top / defaultView.innerHeight : (caretRect.top - scrollContainerY) / (defaultView.innerHeight - scrollContainerY); // If the scroll position is at the start, the active editable element - // is the last one, and the caret is positioned within the initial - // trigger percentage of the page, do not scroll the page. - // The typewriter effect should not kick in until an empty page has been - // filled with the initial trigger percentage or the user scrolls - // intentionally down. - - if (scrollY === 0 && relativeScrollPosition < initialTriggerPercentage && isLastEditableNode()) { - // Reset the caret position to maintain. - caretRect = currentCaretRect; - return; - } - - const scrollContainerHeight = windowScroll ? defaultView.innerHeight : scrollContainer.clientHeight; // Abort if the target scroll position would scroll the caret out of - // view. - - if ( // The caret is under the lower fold. - caretRect.top + caretRect.height > scrollContainerY + scrollContainerHeight || // The caret is above the upper fold. - caretRect.top < scrollContainerY) { - // Reset the caret position to maintain. - caretRect = currentCaretRect; - return; - } - - if (windowScroll) { - defaultView.scrollBy(0, diff); - } else { - scrollContainer.scrollTop += diff; - } - } - /** - * Adds a `selectionchange` listener to reset the scroll position to be - * maintained. - */ - - - function addSelectionChangeListener() { - ownerDocument.addEventListener('selectionchange', computeCaretRectOnSelectionChange); - } - /** - * Resets the scroll position to be maintained during a `selectionchange` - * event. Also removes the listener, so it acts as a one-time listener. - */ - - - function computeCaretRectOnSelectionChange() { - ownerDocument.removeEventListener('selectionchange', computeCaretRectOnSelectionChange); - computeCaretRectangle(); - } - /** - * Resets the scroll position to be maintained. - */ - - - function computeCaretRectangle() { - if (isSelectionEligibleForScroll()) { - caretRect = Object(external_wp_dom_["computeCaretRect"])(defaultView); - } - } - /** - * Checks if the current situation is elegible for scroll: - * - There should be one and only one block selected. - * - The component must contain the selection. - * - The active element must be contenteditable. - */ - - - function isSelectionEligibleForScroll() { - return node.contains(ownerDocument.activeElement) && ownerDocument.activeElement.isContentEditable; - } - - function isLastEditableNode() { - const editableNodes = node.querySelectorAll('[contenteditable="true"]'); - const lastEditableNode = editableNodes[editableNodes.length - 1]; - return lastEditableNode === ownerDocument.activeElement; - } // When the user scrolls or resizes, the scroll position should be - // reset. - - - defaultView.addEventListener('scroll', onScrollResize, true); - defaultView.addEventListener('resize', onScrollResize, true); - node.addEventListener('keydown', onKeyDown); - node.addEventListener('keyup', maintainCaretPosition); - node.addEventListener('mousedown', addSelectionChangeListener); - node.addEventListener('touchstart', addSelectionChangeListener); - return () => { - defaultView.removeEventListener('scroll', onScrollResize, true); - defaultView.removeEventListener('resize', onScrollResize, true); - node.removeEventListener('keydown', onKeyDown); - node.removeEventListener('keyup', maintainCaretPosition); - node.removeEventListener('mousedown', addSelectionChangeListener); - node.removeEventListener('touchstart', addSelectionChangeListener); - ownerDocument.removeEventListener('selectionchange', computeCaretRectOnSelectionChange); - defaultView.cancelAnimationFrame(scrollResizeRafId); - defaultView.cancelAnimationFrame(onKeyDownRafId); - }; - }, [hasSelectedBlock]); -} - -function Typewriter({ - children -}) { - return Object(external_wp_element_["createElement"])("div", { - ref: useTypewriter(), - className: "block-editor__typewriter" - }, children); -} -/** - * The exported component. The implementation of Typewriter faced technical - * challenges in Internet Explorer, and is simply skipped, rendering the given - * props children instead. - * - * @type {WPComponent} - */ - - -const TypewriterOrIEBypass = isIE ? props => props.children : Typewriter; -/** - * Ensures that the text selection keeps the same vertical distance from the - * viewport during keyboard events within this component. The vertical distance - * can vary. It is the last clicked or scrolled to position. - */ - -/* harmony default export */ var typewriter = (TypewriterOrIEBypass); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-flow/use-multi-selection.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - - -function use_multi_selection_toggleRichText(container, toggle) { - Array.from(container.querySelectorAll('.rich-text')).forEach(node => { - if (toggle) { - node.setAttribute('contenteditable', true); - } else { - node.removeAttribute('contenteditable'); - } - }); -} -/** - * Returns for the deepest node at the start or end of a container node. Ignores - * any text nodes that only contain HTML formatting whitespace. - * - * @param {Element} node Container to search. - * @param {string} type 'start' or 'end'. - */ - - -function getDeepestNode(node, type) { - const child = type === 'start' ? 'firstChild' : 'lastChild'; - const sibling = type === 'start' ? 'nextSibling' : 'previousSibling'; - - while (node[child]) { - node = node[child]; - - while (node.nodeType === node.TEXT_NODE && /^[ \t\n]*$/.test(node.data) && node[sibling]) { - node = node[sibling]; - } - } - - return node; -} - -function use_multi_selection_selector(select) { - const { - isMultiSelecting, - getMultiSelectedBlockClientIds, - hasMultiSelection, - getSelectedBlockClientId - } = select(store); - return { - isMultiSelecting: isMultiSelecting(), - multiSelectedBlockClientIds: getMultiSelectedBlockClientIds(), - hasMultiSelection: hasMultiSelection(), - selectedBlockClientId: getSelectedBlockClientId() - }; -} - -function use_multi_selection_useMultiSelection() { - const ref = Object(external_wp_element_["useRef"])(); - const { - isMultiSelecting, - multiSelectedBlockClientIds, - hasMultiSelection, - selectedBlockClientId - } = Object(external_wp_data_["useSelect"])(use_multi_selection_selector, []); - const { - selectBlock - } = Object(external_wp_data_["useDispatch"])(store); - const selectedRef = useBlockRef(selectedBlockClientId); // These must be in the right DOM order. - - const startRef = useBlockRef(Object(external_lodash_["first"])(multiSelectedBlockClientIds)); - const endRef = useBlockRef(Object(external_lodash_["last"])(multiSelectedBlockClientIds)); - /** - * When the component updates, and there is multi selection, we need to - * select the entire block contents. - */ - - Object(external_wp_element_["useEffect"])(() => { - const { - ownerDocument - } = ref.current; - const { - defaultView - } = ownerDocument; - - if (!hasMultiSelection || isMultiSelecting) { - if (!selectedBlockClientId || isMultiSelecting) { - return; - } - - const selection = defaultView.getSelection(); - - if (selection.rangeCount && !selection.isCollapsed) { - const blockNode = selectedRef.current; - const { - startContainer, - endContainer - } = selection.getRangeAt(0); - - if (!!blockNode && (!blockNode.contains(startContainer) || !blockNode.contains(endContainer))) { - selection.removeAllRanges(); - } - } - - return; - } - - const { - length - } = multiSelectedBlockClientIds; - - if (length < 2) { - return; - } // For some browsers, like Safari, it is important that focus happens - // BEFORE selection. - - - ref.current.focus(); - const selection = defaultView.getSelection(); - const range = ownerDocument.createRange(); // These must be in the right DOM order. - // The most stable way to select the whole block contents is to start - // and end at the deepest points. - - const startNode = getDeepestNode(startRef.current, 'start'); - const endNode = getDeepestNode(endRef.current, 'end'); // While rich text will be disabled with a delay when there is a multi - // selection, we must do it immediately because it's not possible to set - // selection across editable hosts. - - use_multi_selection_toggleRichText(ref.current, false); - range.setStartBefore(startNode); - range.setEndAfter(endNode); - selection.removeAllRanges(); - selection.addRange(range); - }, [hasMultiSelection, isMultiSelecting, multiSelectedBlockClientIds, selectBlock, selectedBlockClientId]); - return ref; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-flow/use-tab-nav.js - - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - -function isFormElement(element) { - const { - tagName - } = element; - return tagName === 'INPUT' || tagName === 'BUTTON' || tagName === 'SELECT' || tagName === 'TEXTAREA'; -} - -function useTabNav() { - const container = Object(external_wp_element_["useRef"])(); - const focusCaptureBeforeRef = Object(external_wp_element_["useRef"])(); - const focusCaptureAfterRef = Object(external_wp_element_["useRef"])(); - const lastFocus = Object(external_wp_element_["useRef"])(); - const { - hasMultiSelection, - getSelectedBlockClientId - } = Object(external_wp_data_["useSelect"])(store); - const { - setNavigationMode - } = Object(external_wp_data_["useDispatch"])(store); - const isNavigationMode = Object(external_wp_data_["useSelect"])(select => select(store).isNavigationMode(), []); // Don't allow tabbing to this element in Navigation mode. - - const focusCaptureTabIndex = !isNavigationMode ? '0' : undefined; // Reference that holds the a flag for enabling or disabling - // capturing on the focus capture elements. - - const noCapture = Object(external_wp_element_["useRef"])(); - - function onFocusCapture(event) { - // Do not capture incoming focus if set by us in WritingFlow. - if (noCapture.current) { - noCapture.current = null; - } else if (hasMultiSelection()) { - container.current.focus(); - } else if (getSelectedBlockClientId()) { - lastFocus.current.focus(); - } else { - setNavigationMode(true); - const isBefore = // eslint-disable-next-line no-bitwise - event.target.compareDocumentPosition(container.current) & event.target.DOCUMENT_POSITION_FOLLOWING; - const action = isBefore ? 'findNext' : 'findPrevious'; - external_wp_dom_["focus"].tabbable[action](event.target).focus(); - } - } - - const before = Object(external_wp_element_["createElement"])("div", { - ref: focusCaptureBeforeRef, - tabIndex: focusCaptureTabIndex, - onFocus: onFocusCapture - }); - const after = Object(external_wp_element_["createElement"])("div", { - ref: focusCaptureAfterRef, - tabIndex: focusCaptureTabIndex, - onFocus: onFocusCapture - }); - const ref = Object(external_wp_compose_["useRefEffect"])(node => { - function onKeyDown(event) { - if (event.keyCode === external_wp_keycodes_["ESCAPE"] && !hasMultiSelection()) { - event.stopPropagation(); - event.preventDefault(); - setNavigationMode(true); - return; - } // In Edit mode, Tab should focus the first tabbable element after - // the content, which is normally the sidebar (with block controls) - // and Shift+Tab should focus the first tabbable element before the - // content, which is normally the block toolbar. - // Arrow keys can be used, and Tab and arrow keys can be used in - // Navigation mode (press Esc), to navigate through blocks. - - - if (event.keyCode !== external_wp_keycodes_["TAB"]) { - return; - } - - const isShift = event.shiftKey; - const direction = isShift ? 'findPrevious' : 'findNext'; - - if (!hasMultiSelection() && !getSelectedBlockClientId()) { - // Preserve the behaviour of entering navigation mode when - // tabbing into the content without a block selection. - // `onFocusCapture` already did this previously, but we need to - // do it again here because after clearing block selection, - // focus land on the writing flow container and pressing Tab - // will no longer send focus through the focus capture element. - if (event.target === node) setNavigationMode(true); - return; - } // Allow tabbing between form elements rendered in a block, - // such as inside a placeholder. Form elements are generally - // meant to be UI rather than part of the content. Ideally - // these are not rendered in the content and perhaps in the - // future they can be rendered in an iframe or shadow DOM. - - - if (isFormElement(event.target) && isFormElement(external_wp_dom_["focus"].tabbable[direction](event.target))) { - return; - } - - const next = isShift ? focusCaptureBeforeRef : focusCaptureAfterRef; // Disable focus capturing on the focus capture element, so it - // doesn't refocus this block and so it allows default behaviour - // (moving focus to the next tabbable element). - - noCapture.current = true; // Focusing the focus capture element, which is located above and - // below the editor, should not scroll the page all the way up or - // down. - - next.current.focus({ - preventScroll: true - }); - } - - function onFocusOut(event) { - lastFocus.current = event.target; - } // When tabbing back to an element in block list, this event handler prevents scrolling if the - // focus capture divs (before/after) are outside of the viewport. (For example shift+tab back to a paragraph - // when focus is on a sidebar element. This prevents the scrollable writing area from jumping either to the - // top or bottom of the document. - // - // Note that it isn't possible to disable scrolling in the onFocus event. We need to intercept this - // earlier in the keypress handler, and call focus( { preventScroll: true } ) instead. - // https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus#parameters - - - function preventScrollOnTab(event) { - var _event$target; - - if (event.keyCode !== external_wp_keycodes_["TAB"]) { - return; - } - - if (((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.getAttribute('role')) === 'region') { - return; - } - - if (container.current === event.target) { - return; - } - - const isShift = event.shiftKey; - const direction = isShift ? 'findPrevious' : 'findNext'; - const target = external_wp_dom_["focus"].tabbable[direction](event.target); // only do something when the next tabbable is a focus capture div (before/after) - - if (target === focusCaptureBeforeRef.current || target === focusCaptureAfterRef.current) { - event.preventDefault(); - target.focus({ - preventScroll: true - }); - } - } - - node.ownerDocument.defaultView.addEventListener('keydown', preventScrollOnTab); - node.addEventListener('keydown', onKeyDown); - node.addEventListener('focusout', onFocusOut); - return () => { - node.ownerDocument.defaultView.removeEventListener('keydown', preventScrollOnTab); - node.removeEventListener('keydown', onKeyDown); - node.removeEventListener('focusout', onFocusOut); - }; - }, []); - const mergedRefs = Object(external_wp_compose_["useMergeRefs"])([container, ref]); - return [before, mergedRefs, after]; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-flow/use-arrow-nav.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - -/** - * Returns true if the element should consider edge navigation upon a keyboard - * event of the given directional key code, or false otherwise. - * - * @param {Element} element HTML element to test. - * @param {number} keyCode KeyboardEvent keyCode to test. - * @param {boolean} hasModifier Whether a modifier is pressed. - * - * @return {boolean} Whether element should consider edge navigation. - */ - -function isNavigationCandidate(element, keyCode, hasModifier) { - const isVertical = keyCode === external_wp_keycodes_["UP"] || keyCode === external_wp_keycodes_["DOWN"]; // Currently, all elements support unmodified vertical navigation. - - if (isVertical && !hasModifier) { - return true; - } // Native inputs should not navigate horizontally. - - - const { - tagName - } = element; - return tagName !== 'INPUT' && tagName !== 'TEXTAREA'; -} -/** - * Returns the optimal tab target from the given focused element in the desired - * direction. A preference is made toward text fields, falling back to the block - * focus stop if no other candidates exist for the block. - * - * @param {Element} target Currently focused text field. - * @param {boolean} isReverse True if considering as the first field. - * @param {Element} containerElement Element containing all blocks. - * @param {boolean} onlyVertical Whether to only consider tabbable elements - * that are visually above or under the - * target. - * - * @return {?Element} Optimal tab target, if one exists. - */ - -function getClosestTabbable(target, isReverse, containerElement, onlyVertical) { - // Since the current focus target is not guaranteed to be a text field, find - // all focusables. Tabbability is considered later. - let focusableNodes = external_wp_dom_["focus"].focusable.find(containerElement); - - if (isReverse) { - focusableNodes = Object(external_lodash_["reverse"])(focusableNodes); - } // Consider as candidates those focusables after the current target. It's - // assumed this can only be reached if the target is focusable (on its - // keydown event), so no need to verify it exists in the set. - - - focusableNodes = focusableNodes.slice(focusableNodes.indexOf(target) + 1); - let targetRect; - - if (onlyVertical) { - targetRect = target.getBoundingClientRect(); - } - - function isTabCandidate(node) { - // Not a candidate if the node is not tabbable. - if (!external_wp_dom_["focus"].tabbable.isTabbableIndex(node)) { - return false; - } // Skip focusable elements such as links within content editable nodes. - - - if (node.isContentEditable && node.contentEditable !== 'true') { - return false; - } - - if (onlyVertical) { - const nodeRect = node.getBoundingClientRect(); - - if (nodeRect.left >= targetRect.right || nodeRect.right <= targetRect.left) { - return false; - } - } - - return true; - } - - return Object(external_lodash_["find"])(focusableNodes, isTabCandidate); -} -function useArrowNav() { - const { - getSelectedBlockClientId, - getMultiSelectedBlocksStartClientId, - getMultiSelectedBlocksEndClientId, - getPreviousBlockClientId, - getNextBlockClientId, - getFirstMultiSelectedBlockClientId, - getLastMultiSelectedBlockClientId, - getSettings, - hasMultiSelection - } = Object(external_wp_data_["useSelect"])(store); - const { - multiSelect, - selectBlock - } = Object(external_wp_data_["useDispatch"])(store); - return Object(external_wp_compose_["useRefEffect"])(node => { - // Here a DOMRect is stored while moving the caret vertically so - // vertical position of the start position can be restored. This is to - // recreate browser behaviour across blocks. - let verticalRect; - - function onMouseDown() { - verticalRect = null; - } - - function expandSelection(isReverse) { - const selectedBlockClientId = getSelectedBlockClientId(); - const selectionStartClientId = getMultiSelectedBlocksStartClientId(); - const selectionEndClientId = getMultiSelectedBlocksEndClientId(); - const selectionBeforeEndClientId = getPreviousBlockClientId(selectionEndClientId || selectedBlockClientId); - const selectionAfterEndClientId = getNextBlockClientId(selectionEndClientId || selectedBlockClientId); - const nextSelectionEndClientId = isReverse ? selectionBeforeEndClientId : selectionAfterEndClientId; - - if (nextSelectionEndClientId) { - if (selectionStartClientId === nextSelectionEndClientId) { - selectBlock(nextSelectionEndClientId); - } else { - multiSelect(selectionStartClientId || selectedBlockClientId, nextSelectionEndClientId); - } - } - } - - function moveSelection(isReverse) { - const selectedFirstClientId = getFirstMultiSelectedBlockClientId(); - const selectedLastClientId = getLastMultiSelectedBlockClientId(); - const focusedBlockClientId = isReverse ? selectedFirstClientId : selectedLastClientId; - - if (focusedBlockClientId) { - selectBlock(focusedBlockClientId); - } - } - /** - * Returns true if the given target field is the last in its block which - * can be considered for tab transition. For example, in a block with - * two text fields, this would return true when reversing from the first - * of the two fields, but false when reversing from the second. - * - * @param {Element} target Currently focused text field. - * @param {boolean} isReverse True if considering as the first field. - * - * @return {boolean} Whether field is at edge for tab transition. - */ - - - function isTabbableEdge(target, isReverse) { - const closestTabbable = getClosestTabbable(target, isReverse, node); - return !closestTabbable || !isInSameBlock(target, closestTabbable); - } - - function onKeyDown(event) { - const { - keyCode, - target - } = event; - const isUp = keyCode === external_wp_keycodes_["UP"]; - const isDown = keyCode === external_wp_keycodes_["DOWN"]; - const isLeft = keyCode === external_wp_keycodes_["LEFT"]; - const isRight = keyCode === external_wp_keycodes_["RIGHT"]; - const isReverse = isUp || isLeft; - const isHorizontal = isLeft || isRight; - const isVertical = isUp || isDown; - const isNav = isHorizontal || isVertical; - const isShift = event.shiftKey; - const hasModifier = isShift || event.ctrlKey || event.altKey || event.metaKey; - const isNavEdge = isVertical ? external_wp_dom_["isVerticalEdge"] : external_wp_dom_["isHorizontalEdge"]; - const { - ownerDocument - } = node; - const { - defaultView - } = ownerDocument; - - if (hasMultiSelection()) { - if (isNav) { - const action = isShift ? expandSelection : moveSelection; - action(isReverse); - event.preventDefault(); - } - - return; - } // When presing any key other than up or down, the initial vertical - // position must ALWAYS be reset. The vertical position is saved so - // it can be restored as well as possible on sebsequent vertical - // arrow key presses. It may not always be possible to restore the - // exact same position (such as at an empty line), so it wouldn't be - // good to compute the position right before any vertical arrow key - // press. - - - if (!isVertical) { - verticalRect = null; - } else if (!verticalRect) { - verticalRect = Object(external_wp_dom_["computeCaretRect"])(defaultView); - } // Abort if navigation has already been handled (e.g. RichText - // inline boundaries). - - - if (event.defaultPrevented) { - return; - } - - if (!isNav) { - return; - } // Abort if our current target is not a candidate for navigation - // (e.g. preserve native input behaviors). - - - if (!isNavigationCandidate(target, keyCode, hasModifier)) { - return; - } // In the case of RTL scripts, right means previous and left means - // next, which is the exact reverse of LTR. - - - const isReverseDir = Object(external_wp_dom_["isRTL"])(target) ? !isReverse : isReverse; - const { - keepCaretInsideBlock - } = getSettings(); - const selectedBlockClientId = getSelectedBlockClientId(); - - if (isShift) { - const selectionEndClientId = getMultiSelectedBlocksEndClientId(); - const selectionBeforeEndClientId = getPreviousBlockClientId(selectionEndClientId || selectedBlockClientId); - const selectionAfterEndClientId = getNextBlockClientId(selectionEndClientId || selectedBlockClientId); - - if ( // Ensure that there is a target block. - (isReverse && selectionBeforeEndClientId || !isReverse && selectionAfterEndClientId) && isTabbableEdge(target, isReverse) && isNavEdge(target, isReverse)) { - // Shift key is down, and there is multi selection or we're - // at the end of the current block. - expandSelection(isReverse); - event.preventDefault(); - } - } else if (isVertical && Object(external_wp_dom_["isVerticalEdge"])(target, isReverse) && !keepCaretInsideBlock) { - const closestTabbable = getClosestTabbable(target, isReverse, node, true); - - if (closestTabbable) { - Object(external_wp_dom_["placeCaretAtVerticalEdge"])(closestTabbable, isReverse, verticalRect); - event.preventDefault(); - } - } else if (isHorizontal && defaultView.getSelection().isCollapsed && Object(external_wp_dom_["isHorizontalEdge"])(target, isReverseDir) && !keepCaretInsideBlock) { - const closestTabbable = getClosestTabbable(target, isReverseDir, node); - Object(external_wp_dom_["placeCaretAtHorizontalEdge"])(closestTabbable, isReverse); - event.preventDefault(); - } - } - - node.addEventListener('mousedown', onMouseDown); - node.addEventListener('keydown', onKeyDown); - return () => { - node.removeEventListener('mousedown', onMouseDown); - node.removeEventListener('keydown', onKeyDown); - }; - }, []); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-flow/use-select-all.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - -function useSelectAll() { - const { - getBlockOrder, - getSelectedBlockClientIds, - getBlockRootClientId - } = Object(external_wp_data_["useSelect"])(store); - const { - multiSelect - } = Object(external_wp_data_["useDispatch"])(store); - const isMatch = Object(external_wp_keyboardShortcuts_["__unstableUseShortcutEventMatch"])(); - return Object(external_wp_compose_["useRefEffect"])(node => { - function onKeyDown(event) { - if (!isMatch('core/block-editor/select-all', event)) { - return; - } - - if (!Object(external_wp_dom_["isEntirelySelected"])(event.target)) { - return; - } - - const selectedClientIds = getSelectedBlockClientIds(); - const [firstSelectedClientId] = selectedClientIds; - const rootClientId = getBlockRootClientId(firstSelectedClientId); - let blockClientIds = getBlockOrder(rootClientId); // If we have selected all sibling nested blocks, try selecting up a - // level. See: https://github.com/WordPress/gutenberg/pull/31859/ - - if (selectedClientIds.length === blockClientIds.length) { - blockClientIds = getBlockOrder(getBlockRootClientId(rootClientId)); - } - - const firstClientId = Object(external_lodash_["first"])(blockClientIds); - const lastClientId = Object(external_lodash_["last"])(blockClientIds); - - if (firstClientId === lastClientId) { - return; - } - - multiSelect(firstClientId, lastClientId); - event.preventDefault(); - } - - node.addEventListener('keydown', onKeyDown); - return () => { - node.removeEventListener('keydown', onKeyDown); - }; - }); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/writing-flow/index.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - - - - -function WritingFlow({ - children, - ...props -}, forwardedRef) { - const [before, ref, after] = useTabNav(); - const hasMultiSelection = Object(external_wp_data_["useSelect"])(select => select(store).hasMultiSelection(), []); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, before, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, props, { - ref: Object(external_wp_compose_["useMergeRefs"])([forwardedRef, ref, use_multi_selection_useMultiSelection(), useSelectAll(), useArrowNav()]), - className: classnames_default()(props.className, 'block-editor-writing-flow'), - tabIndex: -1, - "aria-label": hasMultiSelection ? Object(external_wp_i18n_["__"])('Multiple selected blocks') : undefined - }), children), after); -} -/** - * 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. - */ - - -/* harmony default export */ var writing_flow = (Object(external_wp_element_["forwardRef"])(WritingFlow)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-canvas-click-redirect/index.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Given an element, returns true if the element is a tabbable text field, or - * false otherwise. - * - * @param {Element} element Element to test. - * - * @return {boolean} Whether element is a tabbable text field. - */ - -const isTabbableTextField = Object(external_lodash_["overEvery"])([external_wp_dom_["isTextField"], external_wp_dom_["focus"].tabbable.isTabbableIndex]); -function useCanvasClickRedirect() { - return Object(external_wp_compose_["useRefEffect"])(node => { - function onMouseDown(event) { - // Only handle clicks on the canvas, not the content. - if (event.target !== node) { - return; - } - - const focusableNodes = external_wp_dom_["focus"].focusable.find(node); - const target = Object(external_lodash_["findLast"])(focusableNodes, isTabbableTextField); - - if (!target) { - return; - } - - const { - bottom - } = target.getBoundingClientRect(); // Ensure the click is below the last block. - - if (event.clientY < bottom) { - return; - } - - Object(external_wp_dom_["placeCaretAtHorizontalEdge"])(target, true); - event.preventDefault(); - } - - node.addEventListener('mousedown', onMouseDown); - return () => { - node.addEventListener('mousedown', onMouseDown); - }; - }, []); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/iframe/index.js - - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - -const BODY_CLASS_NAME = 'editor-styles-wrapper'; -const BLOCK_PREFIX = 'wp-block'; -/** - * Clones stylesheets targetting the editor canvas to the given document. A - * stylesheet is considered targetting the editor a canvas if it contains the - * `editor-styles-wrapper`, `wp-block`, or `wp-block-*` class selectors. - * - * Ideally, this hook should be removed in the future and styles should be added - * explicitly as editor styles. - * - * @param {Document} doc The document to append cloned stylesheets to. - */ - -function styleSheetsCompat(doc) { - // Search the document for stylesheets targetting the editor canvas. - Array.from(document.styleSheets).forEach(styleSheet => { - try { - // May fail for external styles. - // eslint-disable-next-line no-unused-expressions - styleSheet.cssRules; - } catch (e) { - return; - } - - const { - ownerNode, - cssRules - } = styleSheet; - - if (!cssRules) { - return; - } // Generally, ignore inline styles. We add inline styles belonging to a - // stylesheet later, which may or may not match the selectors. - - - if (ownerNode.tagName !== 'LINK') { - return; - } // 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; - } - - const isMatch = Array.from(cssRules).find(({ - selectorText - }) => selectorText && (selectorText.includes(`.${BODY_CLASS_NAME}`) || selectorText.includes(`.${BLOCK_PREFIX}`))); - - if (isMatch && !doc.getElementById(ownerNode.id)) { - // eslint-disable-next-line no-console - console.error(`Stylesheet ${ownerNode.id} was not properly added. -For blocks, use the block API's style (https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#style) or editorStyle (https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#editor-style). -For themes, use add_editor_style (https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-support/#editor-styles).`, ownerNode.outerHTML); - doc.head.appendChild(ownerNode.cloneNode(true)); // Add inline styles belonging to the stylesheet. - - const inlineCssId = ownerNode.id.replace('-css', '-inline-css'); - const inlineCssElement = document.getElementById(inlineCssId); - - if (inlineCssElement) { - doc.head.appendChild(inlineCssElement.cloneNode(true)); - } - } - }); -} -/** - * Bubbles some event types (keydown, keypress, and dragover) to parent document - * document to ensure that the keyboard shortcuts and drag and drop work. - * - * Ideally, we should remove event bubbling in the future. Keyboard shortcuts - * should be context dependent, e.g. actions on blocks like Cmd+A should not - * work globally outside the block editor. - * - * @param {Document} doc Document to attach listeners to. - */ - - -function bubbleEvents(doc) { - const { - defaultView - } = doc; - const { - frameElement - } = defaultView; - - function bubbleEvent(event) { - const prototype = Object.getPrototypeOf(event); - const constructorName = prototype.constructor.name; - const Constructor = window[constructorName]; - const init = {}; - - for (const key in event) { - init[key] = event[key]; - } - - if (event instanceof defaultView.MouseEvent) { - const rect = frameElement.getBoundingClientRect(); - init.clientX += rect.left; - init.clientY += rect.top; - } - - const newEvent = new Constructor(event.type, init); - const cancelled = !frameElement.dispatchEvent(newEvent); - - if (cancelled) { - event.preventDefault(); - } - } - - const eventTypes = ['keydown', 'keypress', 'dragover']; - - for (const name of eventTypes) { - doc.addEventListener(name, bubbleEvent); - } -} -/** - * Sets the document direction. - * - * Sets the `editor-styles-wrapper` class name on the body. - * - * Copies the `admin-color-*` class name to the body so that the admin color - * scheme applies to components in the iframe. - * - * @param {Document} doc Document to add class name to. - */ - - -function setBodyClassName(doc) { - doc.dir = document.dir; - doc.body.className = BODY_CLASS_NAME; - - for (const name of document.body.classList) { - if (name.startsWith('admin-color-')) { - doc.body.classList.add(name); - } else if (name === 'wp-embed-responsive') { - // Ideally ALL classes that are added through get_body_class should - // be added in the editor too, which we'll somehow have to get from - // the server in the future (which will run the PHP filters). - doc.body.classList.add('wp-embed-responsive'); - } - } -} - -function useParsedAssets(html) { - return Object(external_wp_element_["useMemo"])(() => { - const doc = document.implementation.createHTMLDocument(''); - doc.body.innerHTML = html; - return Array.from(doc.body.children); - }, [html]); -} - -async function loadScript(doc, { - id, - src -}) { - return new Promise((resolve, reject) => { - const script = doc.createElement('script'); - script.id = id; - - if (src) { - script.src = src; - - script.onload = () => resolve(); - - script.onerror = () => reject(); - } else { - resolve(); - } - - doc.head.appendChild(script); - }); -} - -function Iframe({ - contentRef, - children, - head, - ...props -}, ref) { - const [, forceRender] = Object(external_wp_element_["useReducer"])(() => ({})); - const [iframeDocument, setIframeDocument] = Object(external_wp_element_["useState"])(); - const styles = useParsedAssets(window.__editorAssets.styles); - const scripts = useParsedAssets(window.__editorAssets.scripts); - const clearerRef = useBlockSelectionClearer(); - const setRef = Object(external_wp_element_["useCallback"])(node => { - if (!node) { - return; - } - - function setDocumentIfReady() { - const { - contentDocument - } = node; - const { - readyState, - body, - documentElement - } = contentDocument; - - if (readyState !== 'interactive' && readyState !== 'complete') { - return false; - } - - if (typeof contentRef === 'function') { - contentRef(body); - } else if (contentRef) { - contentRef.current = body; - } - - setBodyClassName(contentDocument); - bubbleEvents(contentDocument); - setBodyClassName(contentDocument); - setIframeDocument(contentDocument); - clearerRef(documentElement); - clearerRef(body); - scripts.reduce((promise, script) => promise.then(() => loadScript(contentDocument, script)), Promise.resolve()).finally(() => { - // When script are loaded, re-render blocks to allow them - // to initialise. - forceRender(); - }); - return true; - } - - if (setDocumentIfReady()) { - return; - } // Document is not immediately loaded in Firefox. - - - node.addEventListener('load', () => { - setDocumentIfReady(); - }); - }, []); - Object(external_wp_element_["useEffect"])(() => { - if (iframeDocument) { - styleSheetsCompat(iframeDocument); - } - }, [iframeDocument]); - head = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("style", null, 'body{margin:0}'), styles.map(({ - tagName, - href, - id, - rel, - media, - textContent - }) => { - const TagName = tagName.toLowerCase(); - - if (TagName === 'style') { - return Object(external_wp_element_["createElement"])(TagName, { - id, - key: id - }, textContent); - } - - return Object(external_wp_element_["createElement"])(TagName, { - href, - id, - rel, - media, - key: id - }); - }), head); - return Object(external_wp_element_["createElement"])("iframe", Object(esm_extends["a" /* default */])({}, props, { - ref: Object(external_wp_compose_["useMergeRefs"])([ref, setRef]), - tabIndex: "0", - title: Object(external_wp_i18n_["__"])('Editor canvas'), - name: "editor-canvas" - }), iframeDocument && Object(external_wp_element_["createPortal"])(Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalStyleProvider"], { - document: iframeDocument - }, children), iframeDocument.body), iframeDocument && Object(external_wp_element_["createPortal"])(head, iframeDocument.head)); -} - -/* harmony default export */ var iframe = (Object(external_wp_element_["forwardRef"])(Iframe)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-no-recursive-renders/index.js - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - -const RenderedRefsContext = Object(external_wp_element_["createContext"])({}); -/** - * Immutably adds an unique identifier to a set scoped for a given block type. - * - * @param {Object} renderedBlocks Rendered blocks grouped by block name - * @param {string} blockName Name of the block. - * @param {*} uniqueId Any value that acts as a unique identifier for a block instance. - * - * @return {Object} The list of rendered blocks grouped by block name. - */ - -function addToBlockType(renderedBlocks, blockName, uniqueId) { - const result = { ...renderedBlocks, - [blockName]: renderedBlocks[blockName] ? new Set(renderedBlocks[blockName]) : new Set() - }; - result[blockName].add(uniqueId); - return result; -} -/** - * A React hook for keeping track of blocks previously rendered up in the block - * tree. Blocks susceptible to recursion can use this hook in their `Edit` - * function to prevent said recursion. - * - * @param {*} uniqueId Any value that acts as a unique identifier for a block instance. - * @param {string} blockName Optional block name. - * - * @return {[boolean, Function]} A tuple of: - * - a boolean describing whether the provided id - * has already been rendered; - * - a React context provider to be used to wrap - * other elements. - */ - - -function useNoRecursiveRenders(uniqueId, blockName = '') { - var _previouslyRenderedBl; - - const previouslyRenderedBlocks = Object(external_wp_element_["useContext"])(RenderedRefsContext); - const { - name - } = useBlockEditContext(); - blockName = blockName || name; - const hasAlreadyRendered = Boolean((_previouslyRenderedBl = previouslyRenderedBlocks[blockName]) === null || _previouslyRenderedBl === void 0 ? void 0 : _previouslyRenderedBl.has(uniqueId)); - const newRenderedBlocks = Object(external_wp_element_["useMemo"])(() => addToBlockType(previouslyRenderedBlocks, blockName, uniqueId), [previouslyRenderedBlocks, blockName, uniqueId]); - const Provider = Object(external_wp_element_["useCallback"])(({ - children - }) => Object(external_wp_element_["createElement"])(RenderedRefsContext.Provider, { - value: newRenderedBlocks - }, children), [newRenderedBlocks]); - return [hasAlreadyRendered, Provider]; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/index.js -/* - * Block Creation Components - */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -/* - * Content Related Components - */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -/* - * State Related Components - */ - - - - - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/theme.js -/** - * Internal dependencies - */ - -/** - * Given an array of theme colors checks colors for validity - * - * @param {Array} colors The array of theme colors - * - * @return {Array} The array of valid theme colors or the default colors - */ - -function validateThemeColors(colors) { - if (colors === undefined) { - colors = SETTINGS_DEFAULTS.colors; - } else { - const validColors = colors.filter(c => c.color); - - if (validColors.length === 0) { - colors = SETTINGS_DEFAULTS.colors; - } else if (validColors.length < colors.length) { - // Filter out invalid colors - colors = validColors; - } - } - - return colors; -} -/** - * Given an array of theme gradients checks gradients for validity - * - * @param {Array} gradients The array of theme gradients - * - * @return {Array} The array of valid theme gradients or the default gradients - */ - -function validateThemeGradients(gradients) { - if (gradients === undefined) { - gradients = SETTINGS_DEFAULTS.gradients; - } else { - const validGradients = gradients.filter(c => c.gradient); - - if (validGradients.length === 0) { - gradients = SETTINGS_DEFAULTS.gradients; - } else if (validGradients.length < gradients.length) { - // Filter out invalid gradients - gradients = validGradients; - } - } - - return gradients; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/index.js - - - - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/index.js -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - - - - - - /***/ }), @@ -39887,6 +46506,269 @@ const close = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElem /* harmony default export */ __webpack_exports__["a"] = (close); +/***/ }), + +/***/ "wC17": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useBlockDisplayInformation; }); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("HSyU"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("BhPs"); +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +/** @typedef {import('@wordpress/blocks').WPIcon} WPIcon */ + +/** + * Contains basic block's information for display reasons. + * + * @typedef {Object} WPBlockDisplayInformation + * + * @property {string} title Human-readable block type label. + * @property {WPIcon} icon Block type icon. + * @property {string} description A detailed block type description. + */ + +/** + * 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 variaton 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 Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__["useSelect"])(select => { + if (!clientId) return null; + const { + getBlockName, + getBlockAttributes + } = select(_store__WEBPACK_IMPORTED_MODULE_2__[/* store */ "a"]); + const { + getBlockType, + getActiveBlockVariation + } = select(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__["store"]); + const blockName = getBlockName(clientId); + const blockType = getBlockType(blockName); + if (!blockType) return null; + const attributes = getBlockAttributes(clientId); + const match = getActiveBlockVariation(blockName, attributes); + const blockTypeInfo = { + title: blockType.title, + icon: blockType.icon, + description: blockType.description, + anchor: attributes === null || attributes === void 0 ? void 0 : attributes.anchor + }; + if (!match) return blockTypeInfo; + return { + title: match.title || blockType.title, + icon: match.icon || blockType.icon, + description: match.description || blockType.description + }; + }, [clientId]); +} + + +/***/ }), + +/***/ "wJiJ": +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__("1K8p"); + + +/***/ }), + +/***/ "weEX": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ LineHeightControl; }); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","keycodes"] +var external_wp_keycodes_ = __webpack_require__("RxS6"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/line-height-control/utils.js +const BASE_DEFAULT_VALUE = 1.5; +const STEP = 0.1; +/** + * 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 + */ + + +function LineHeightControl({ + value: lineHeight, + onChange +}) { + const isDefined = isLineHeightDefined(lineHeight); + + const handleOnKeyDown = event => { + const { + keyCode + } = event; + + if (keyCode === external_wp_keycodes_["ZERO"] && !isDefined) { + /** + * Prevents the onChange callback from firing, which prevents + * the logic from assuming the change was triggered from + * an input arrow CLICK. + */ + event.preventDefault(); + onChange('0'); + } + }; + + const handleOnChange = nextValue => { + // Set the next value without modification if lineHeight has been defined + if (isDefined) { + onChange(nextValue); + return; + } // Otherwise... + + /** + * The following logic handles the initial up/down arrow CLICK of the + * input element. This is so that the next values (from an undefined value state) + * are more better suited for line-height rendering. + */ + + + let adjustedNextValue = nextValue; + + switch (nextValue) { + case `${STEP}`: + // Increment by step value + adjustedNextValue = BASE_DEFAULT_VALUE + STEP; + break; + + case '0': + // Decrement by step value + adjustedNextValue = BASE_DEFAULT_VALUE - STEP; + break; + } + + onChange(adjustedNextValue); + }; + + const value = isDefined ? lineHeight : RESET_VALUE; + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-line-height-control" + }, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { + autoComplete: "off", + onKeyDown: handleOnKeyDown, + onChange: handleOnChange, + label: Object(external_wp_i18n_["__"])('Line height'), + placeholder: BASE_DEFAULT_VALUE, + step: STEP, + type: "number", + value: value, + min: 0 + })); +} + + +/***/ }), + +/***/ "wiT/": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("GOly"); + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + + + + +function InserterListbox({ + children +}) { + const compositeState = Object(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["__unstableUseCompositeState"])({ + shift: true, + wrap: 'horizontal' + }); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_context__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].Provider, { + value: compositeState + }, children); +} + +/* harmony default export */ __webpack_exports__["a"] = (InserterListbox); + + /***/ }), /***/ "wx14": @@ -39912,6 +46794,742 @@ function _extends() { return _extends.apply(this, arguments); } +/***/ }), + +/***/ "wzfx": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const stack = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["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 */ __webpack_exports__["a"] = (stack); + + +/***/ }), + +/***/ "xBDm": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LetterSpacingControl; }); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _components_use_setting__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("v5LD"); + + +/** + * 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 {boolean} props.__unstableInputWidth Input width to pass through to inner UnitControl. + * + * @return {WPElement} Letter-spacing control. + */ + +function LetterSpacingControl({ + value, + onChange, + __unstableInputWidth = '60px' +}) { + const units = Object(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["__experimentalUseCustomUnits"])({ + availableUnits: Object(_components_use_setting__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])('spacing.units') || ['px', 'em', 'rem'], + defaultValues: { + px: '2', + em: '.2', + rem: '.2' + } + }); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["__experimentalUnitControl"], { + label: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Letter-spacing'), + value: value, + __unstableInputWidth: __unstableInputWidth, + units: units, + onChange: onChange + }); +} + + +/***/ }), + +/***/ "xCFn": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ WrappedBlockPopover; }); + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// EXTERNAL MODULE: external ["wp","keyboardShortcuts"] +var external_wp_keyboardShortcuts_ = __webpack_require__("hF7m"); + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// EXTERNAL MODULE: external ["wp","dom"] +var external_wp_dom_ = __webpack_require__("1CF3"); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/drag-handle.js +var drag_handle = __webpack_require__("xN+R"); + +// EXTERNAL MODULE: external ["wp","keycodes"] +var external_wp_keycodes_ = __webpack_require__("RxS6"); + +// EXTERNAL MODULE: external ["wp","a11y"] +var external_wp_a11y_ = __webpack_require__("gdqT"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-title/index.js +var block_title = __webpack_require__("f8JO"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-icon/index.js +var block_icon = __webpack_require__("7SSY"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-draggable/index.js + 1 modules +var block_draggable = __webpack_require__("ZAjO"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/use-block-display-information/index.js +var use_block_display_information = __webpack_require__("wC17"); + +// 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, + blockElement +}) { + const blockInformation = Object(use_block_display_information["a" /* default */])(clientId); + const selected = Object(external_wp_data_["useSelect"])(select => { + var _getBlockListSettings; + + const { + getBlock, + getBlockIndex, + hasBlockMovingClientId, + getBlockListSettings + } = select(store["a" /* store */]); + const index = getBlockIndex(clientId, rootClientId); + const { + name, + attributes + } = getBlock(clientId); + const blockMovingMode = hasBlockMovingClientId(); + return { + index, + name, + attributes, + blockMovingMode, + orientation: (_getBlockListSettings = getBlockListSettings(rootClientId)) === null || _getBlockListSettings === void 0 ? void 0 : _getBlockListSettings.orientation + }; + }, [clientId, rootClientId]); + const { + index, + name, + attributes, + blockMovingMode, + orientation + } = selected; + const { + setNavigationMode, + removeBlock + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + const ref = Object(external_wp_element_["useRef"])(); + const blockType = Object(external_wp_blocks_["getBlockType"])(name); + const label = Object(external_wp_blocks_["__experimentalGetAccessibleBlockLabel"])(blockType, attributes, index + 1, orientation); // Focus the breadcrumb in navigation mode. + + Object(external_wp_element_["useEffect"])(() => { + ref.current.focus(); + Object(external_wp_a11y_["speak"])(label); + }, [label]); + const { + hasBlockMovingClientId, + getBlockIndex, + getBlockRootClientId, + getClientIdsOfDescendants, + getSelectedBlockClientId, + getMultiSelectedBlocksEndClientId, + getPreviousBlockClientId, + getNextBlockClientId + } = Object(external_wp_data_["useSelect"])(store["a" /* store */]); + const { + selectBlock, + clearSelectedBlock, + setBlockMovingClientId, + moveBlockToPosition + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); + + function onKeyDown(event) { + const { + keyCode + } = event; + const isUp = keyCode === external_wp_keycodes_["UP"]; + const isDown = keyCode === external_wp_keycodes_["DOWN"]; + const isLeft = keyCode === external_wp_keycodes_["LEFT"]; + const isRight = keyCode === external_wp_keycodes_["RIGHT"]; + const isTab = keyCode === external_wp_keycodes_["TAB"]; + const isEscape = keyCode === external_wp_keycodes_["ESCAPE"]; + const isEnter = keyCode === external_wp_keycodes_["ENTER"]; + const isSpace = keyCode === external_wp_keycodes_["SPACE"]; + const isShift = event.shiftKey; + + if (keyCode === external_wp_keycodes_["BACKSPACE"] || keyCode === external_wp_keycodes_["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, sourceRoot); + let destinationBlockIndex = getBlockIndex(selectedBlockClientId, destRoot); + + if (sourceBlockIndex < destinationBlockIndex && sourceRoot === destRoot) { + destinationBlockIndex -= 1; + } + + moveBlockToPosition(startingBlockClientId, sourceRoot, destRoot, destinationBlockIndex); + selectBlock(startingBlockClientId); + setBlockMovingClientId(null); + } + + if (navigateDown || navigateUp || navigateOut || navigateIn) { + if (focusedBlockUid) { + event.preventDefault(); + selectBlock(focusedBlockUid); + } else if (isTab && selectedBlockClientId) { + let nextTabbable; + + if (navigateDown) { + nextTabbable = external_wp_dom_["focus"].tabbable.findNext(blockElement); + + if (!nextTabbable) { + nextTabbable = blockElement.ownerDocument.defaultView.frameElement; + nextTabbable = external_wp_dom_["focus"].tabbable.findNext(nextTabbable); + } + } else { + nextTabbable = external_wp_dom_["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 = Object(external_wp_i18n_["__"])('Drag'); + + return Object(external_wp_element_["createElement"])("div", { + className: classNames + }, Object(external_wp_element_["createElement"])(external_wp_components_["Flex"], { + justify: "center", + className: "block-editor-block-list__block-selection-button__content" + }, Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(block_icon["a" /* default */], { + icon: blockInformation === null || blockInformation === void 0 ? void 0 : blockInformation.icon, + showColors: true + })), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(block_draggable["a" /* default */], { + clientIds: [clientId] + }, draggableProps => Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({ + icon: drag_handle["a" /* default */], + 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)))), Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + ref: ref, + onClick: () => setNavigationMode(false), + onKeyDown: onKeyDown, + label: label, + className: "block-selection-button_select-button" + }, Object(external_wp_element_["createElement"])(block_title["a" /* default */], { + clientId: clientId + }))))); +} + +/* harmony default export */ var block_selection_button = (BlockSelectionButton); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/block-contextual-toolbar.js +var block_contextual_toolbar = __webpack_require__("JUfZ"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/index.js + 1 modules +var inserter = __webpack_require__("qrxh"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-list/use-block-props/use-block-refs.js +var use_block_refs = __webpack_require__("PKbb"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/use-popover-scroll.js +var use_popover_scroll = __webpack_require__("2z9l"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-tools/block-popover.js + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + + +/** + * Internal dependencies + */ + + + + + + + + +function selector(select) { + const { + isNavigationMode, + isMultiSelecting, + hasMultiSelection, + isTyping, + isCaretWithinFormattedText, + getSettings, + getLastMultiSelectedBlockClientId + } = select(store["a" /* store */]); + return { + isNavigationMode: isNavigationMode(), + isMultiSelecting: isMultiSelecting(), + isTyping: isTyping(), + isCaretWithinFormattedText: isCaretWithinFormattedText(), + hasMultiSelection: hasMultiSelection(), + hasFixedToolbar: getSettings().hasFixedToolbar, + lastClientId: getLastMultiSelectedBlockClientId() + }; +} + +function BlockPopover({ + clientId, + rootClientId, + isValid, + isEmptyDefaultBlock, + capturingClientId, + __unstablePopoverSlot, + __unstableContentRef +}) { + const { + isNavigationMode, + isMultiSelecting, + isTyping, + isCaretWithinFormattedText, + hasMultiSelection, + hasFixedToolbar, + lastClientId + } = Object(external_wp_data_["useSelect"])(selector, []); + const isInsertionPointVisible = Object(external_wp_data_["useSelect"])(select => { + const { + isBlockInsertionPointVisible, + getBlockInsertionPoint, + getBlockOrder + } = select(store["a" /* store */]); + + if (!isBlockInsertionPointVisible()) { + return false; + } + + const insertionPoint = getBlockInsertionPoint(); + const order = getBlockOrder(insertionPoint.rootClientId); + return order[insertionPoint.index] === clientId; + }, [clientId]); + const isLargeViewport = Object(external_wp_compose_["useViewportMatch"])('medium'); + const [isToolbarForced, setIsToolbarForced] = Object(external_wp_element_["useState"])(false); + const [isInserterShown, setIsInserterShown] = Object(external_wp_element_["useState"])(false); + const { + stopTyping + } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); // Controls when the side inserter on empty lines should + // be shown, including writing and selection modes. + + const showEmptyBlockSideInserter = !isTyping && !isNavigationMode && isEmptyDefaultBlock && isValid; + const shouldShowBreadcrumb = isNavigationMode; + const shouldShowContextualToolbar = !isNavigationMode && !hasFixedToolbar && isLargeViewport && !showEmptyBlockSideInserter && !isMultiSelecting && (!isTyping || isCaretWithinFormattedText); + const canFocusHiddenToolbar = !isNavigationMode && !shouldShowContextualToolbar && !hasFixedToolbar && !isEmptyDefaultBlock; + Object(external_wp_keyboardShortcuts_["useShortcut"])('core/block-editor/focus-toolbar', () => { + setIsToolbarForced(true); + stopTyping(true); + }, { + isDisabled: !canFocusHiddenToolbar + }); + Object(external_wp_element_["useEffect"])(() => { + if (!shouldShowContextualToolbar) { + setIsToolbarForced(false); + } + }, [shouldShowContextualToolbar]); // Stores the active toolbar item index so the block toolbar can return focus + // to it when re-mounting. + + const initialToolbarItemIndexRef = Object(external_wp_element_["useRef"])(); + const selectedElement = Object(use_block_refs["a" /* __unstableUseBlockElement */])(clientId); + const lastSelectedElement = Object(use_block_refs["a" /* __unstableUseBlockElement */])(lastClientId); + const capturingElement = Object(use_block_refs["a" /* __unstableUseBlockElement */])(capturingClientId); + const popoverScrollRef = Object(use_popover_scroll["a" /* usePopoverScroll */])(__unstableContentRef); + + if (!shouldShowBreadcrumb && !shouldShowContextualToolbar && !isToolbarForced && !showEmptyBlockSideInserter) { + return null; + } + + let node = selectedElement; + + if (!node) { + return null; + } + + if (capturingClientId) { + node = capturingElement; + } + + let anchorRef = node; + + if (hasMultiSelection) { + // Wait to render the popover until the bottom reference is available + // as well. + if (!lastSelectedElement) { + return null; + } + + anchorRef = { + top: node, + bottom: lastSelectedElement + }; + } + + function onFocus() { + setIsInserterShown(true); + } + + function onBlur() { + setIsInserterShown(false); + } // Position above the anchor, pop out towards the right, and position in the + // left corner. For the side inserter, pop out towards the left, and + // position in the right corner. + // To do: refactor `Popover` to make this prop clearer. + + + const popoverPosition = showEmptyBlockSideInserter ? 'top left right' : 'top right left'; + const { + ownerDocument + } = node; + const stickyBoundaryElement = showEmptyBlockSideInserter ? undefined : // The sticky boundary element should be the boundary at which the + // the block toolbar becomes sticky when the block scolls out of view. + // In case of an iframe, this should be the iframe boundary, otherwise + // the scroll container. + ownerDocument.defaultView.frameElement || Object(external_wp_dom_["getScrollContainer"])(node) || ownerDocument.body; + return Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { + ref: popoverScrollRef, + noArrow: true, + animate: false, + position: popoverPosition, + focusOnMount: false, + anchorRef: anchorRef, + className: classnames_default()('block-editor-block-list__block-popover', { + 'is-insertion-point-visible': isInsertionPointVisible + }), + __unstableStickyBoundaryElement: stickyBoundaryElement // Render in the old slot if needed for backward compatibility, + // otherwise render in place (not in the the default popover slot). + , + __unstableSlotName: __unstablePopoverSlot || null, + __unstableBoundaryParent: true // Observe movement for block animations (especially horizontal). + , + __unstableObserveElement: node, + shouldAnchorIncludePadding: true // Used to safeguard sticky position behavior against cases where it would permanently + // obscure specific sections of a block. + , + __unstableEditorCanvasWrapper: __unstableContentRef === null || __unstableContentRef === void 0 ? void 0 : __unstableContentRef.current + }, (shouldShowContextualToolbar || isToolbarForced) && Object(external_wp_element_["createElement"])("div", { + onFocus: onFocus, + onBlur: onBlur // While ideally it would be enough to capture the + // bubbling focus event from the Inserter, due to the + // characteristics of click focusing of `button`s in + // Firefox and Safari, it is not reliable. + // + // See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus + , + tabIndex: -1, + className: classnames_default()('block-editor-block-list__block-popover-inserter', { + 'is-visible': isInserterShown + }) + }, Object(external_wp_element_["createElement"])(inserter["a" /* default */], { + clientId: clientId, + rootClientId: rootClientId, + __experimentalIsQuick: true + })), (shouldShowContextualToolbar || isToolbarForced) && Object(external_wp_element_["createElement"])(block_contextual_toolbar["a" /* default */] // If the toolbar is being shown because of being forced + // it should focus the toolbar right after the mount. + , { + focusOnMount: isToolbarForced, + __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 && Object(external_wp_element_["createElement"])(block_selection_button, { + clientId: clientId, + rootClientId: rootClientId, + blockElement: node + }), showEmptyBlockSideInserter && Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-list__empty-block-inserter" + }, Object(external_wp_element_["createElement"])(inserter["a" /* default */], { + position: "bottom right", + rootClientId: rootClientId, + clientId: clientId, + __experimentalIsQuick: true + }))); +} + +function wrapperSelector(select) { + const { + getSelectedBlockClientId, + getFirstMultiSelectedBlockClientId, + getBlockRootClientId, + getBlock, + getBlockParents, + __experimentalGetBlockListSettingsForBlocks + } = select(store["a" /* store */]); + const clientId = getSelectedBlockClientId() || getFirstMultiSelectedBlockClientId(); + + if (!clientId) { + return; + } + + const { + name, + attributes = {}, + isValid + } = 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 = Object(external_lodash_["find"])(blockParentsClientIds, parentClientId => { + var _parentBlockListSetti; + + return (_parentBlockListSetti = parentBlockListSettings[parentClientId]) === null || _parentBlockListSetti === void 0 ? void 0 : _parentBlockListSetti.__experimentalCaptureToolbars; + }); + return { + clientId, + rootClientId: getBlockRootClientId(clientId), + name, + isValid, + isEmptyDefaultBlock: name && Object(external_wp_blocks_["isUnmodifiedDefaultBlock"])({ + name, + attributes + }), + capturingClientId + }; +} + +function WrappedBlockPopover({ + __unstablePopoverSlot, + __unstableContentRef +}) { + const selected = Object(external_wp_data_["useSelect"])(wrapperSelector, []); + + if (!selected) { + return null; + } + + const { + clientId, + rootClientId, + name, + isValid, + isEmptyDefaultBlock, + capturingClientId + } = selected; + + if (!name) { + return null; + } + + return Object(external_wp_element_["createElement"])(BlockPopover, { + clientId: clientId, + rootClientId: rootClientId, + isValid: isValid, + isEmptyDefaultBlock: isEmptyDefaultBlock, + capturingClientId: capturingClientId, + __unstablePopoverSlot: __unstablePopoverSlot, + __unstableContentRef: __unstableContentRef + }); +} + + +/***/ }), + +/***/ "xN+R": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const dragHandle = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + width: "18", + height: "18", + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 18 18" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { + d: "M5 4h2V2H5v2zm6-2v2h2V2h-2zm-6 8h2V8H5v2zm6 0h2V8h-2v2zm-6 6h2v-2H5v2zm6 0h2v-2h-2v2z" +})); +/* harmony default export */ __webpack_exports__["a"] = (dragHandle); + + /***/ }), /***/ "xTGt": @@ -39919,6 +47537,1453 @@ function _extends() { (function() { module.exports = window["wp"]["blob"]; }()); +/***/ }), + +/***/ "xZzQ": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); + +// EXTERNAL MODULE: external ["wp","components"] +var external_wp_components_ = __webpack_require__("tI+e"); + +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: external ["wp","data"] +var external_wp_data_ = __webpack_require__("1ZqX"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/tips.js + + +/** + * WordPress dependencies + */ + + + +const globalTips = [Object(external_wp_element_["createInterpolateElement"])(Object(external_wp_i18n_["__"])('While writing, you can press / to quickly insert new blocks.'), { + kbd: Object(external_wp_element_["createElement"])("kbd", null) +}), Object(external_wp_element_["createInterpolateElement"])(Object(external_wp_i18n_["__"])('Indent a list by pressing space at the beginning of a line.'), { + kbd: Object(external_wp_element_["createElement"])("kbd", null) +}), Object(external_wp_element_["createInterpolateElement"])(Object(external_wp_i18n_["__"])('Outdent a list by pressing backspace at the beginning of a line.'), { + kbd: Object(external_wp_element_["createElement"])("kbd", null) +}), Object(external_wp_i18n_["__"])('Drag files into the editor to automatically insert media blocks.'), Object(external_wp_i18n_["__"])("Change a block's type by pressing the block icon on the toolbar.")]; + +function Tips() { + const [randomIndex] = Object(external_wp_element_["useState"])( // Disable Reason: I'm not generating an HTML id. + // eslint-disable-next-line no-restricted-syntax + Math.floor(Math.random() * globalTips.length)); + return Object(external_wp_element_["createElement"])(external_wp_components_["Tip"], null, globalTips[randomIndex]); +} + +/* harmony default export */ var tips = (Tips); + +// EXTERNAL MODULE: external ["wp","blocks"] +var external_wp_blocks_ = __webpack_require__("HSyU"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-card/index.js +var block_card = __webpack_require__("GvwK"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-preview/index.js + 2 modules +var block_preview = __webpack_require__("REKd"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/preview-panel.js + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + +function InserterPreviewPanel({ + item +}) { + var _hoveredItemBlockType, _hoveredItemBlockType2; + + const { + name, + title, + icon, + description, + initialAttributes + } = item; + const hoveredItemBlockType = Object(external_wp_blocks_["getBlockType"])(name); + const isReusable = Object(external_wp_blocks_["isReusableBlock"])(item); + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-inserter__preview-container" + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-inserter__preview" + }, isReusable || hoveredItemBlockType !== null && hoveredItemBlockType !== void 0 && hoveredItemBlockType.example ? Object(external_wp_element_["createElement"])("div", { + className: "block-editor-inserter__preview-content" + }, Object(external_wp_element_["createElement"])(block_preview["a" /* default */], { + __experimentalPadding: 16, + viewportWidth: (_hoveredItemBlockType = (_hoveredItemBlockType2 = hoveredItemBlockType.example) === null || _hoveredItemBlockType2 === void 0 ? void 0 : _hoveredItemBlockType2.viewportWidth) !== null && _hoveredItemBlockType !== void 0 ? _hoveredItemBlockType : 500, + blocks: hoveredItemBlockType.example ? Object(external_wp_blocks_["getBlockFromExample"])(item.name, { + attributes: { ...hoveredItemBlockType.example.attributes, + ...initialAttributes + }, + innerBlocks: hoveredItemBlockType.example.innerBlocks + }) : Object(external_wp_blocks_["createBlock"])(name, initialAttributes) + })) : Object(external_wp_element_["createElement"])("div", { + className: "block-editor-inserter__preview-content-missing" + }, Object(external_wp_i18n_["__"])('No Preview Available.'))), !isReusable && Object(external_wp_element_["createElement"])(block_card["a" /* default */], { + title: title, + icon: icon, + description: description + })); +} + +/* harmony default export */ var preview_panel = (InserterPreviewPanel); + +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-types-list/index.js + 1 modules +var block_types_list = __webpack_require__("6ZVF"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/panel.js +var panel = __webpack_require__("mdLt"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-block-types-state.js +var use_block_types_state = __webpack_require__("+G0a"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter-listbox/index.js +var inserter_listbox = __webpack_require__("wiT/"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-types-tab.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + + +const getBlockNamespace = item => item.name.split('/')[0]; + +const MAX_SUGGESTED_ITEMS = 6; +/** + * Shared reference to an empty array for cases where it is important to avoid + * returning a new array reference on every invocation and rerendering the component. + * + * @type {Array} + */ + +const EMPTY_ARRAY = []; +function BlockTypesTab({ + rootClientId, + onInsert, + onHover, + showMostUsedBlocks +}) { + const [items, categories, collections, onSelectItem] = Object(use_block_types_state["a" /* default */])(rootClientId, onInsert); + const suggestedItems = Object(external_wp_element_["useMemo"])(() => { + return Object(external_lodash_["orderBy"])(items, ['frecency'], ['desc']).slice(0, MAX_SUGGESTED_ITEMS); + }, [items]); + const uncategorizedItems = Object(external_wp_element_["useMemo"])(() => { + return items.filter(item => !item.category); + }, [items]); + const itemsPerCategory = Object(external_wp_element_["useMemo"])(() => { + return Object(external_lodash_["flow"])(itemList => itemList.filter(item => item.category && item.category !== 'reusable'), itemList => Object(external_lodash_["groupBy"])(itemList, 'category'))(items); + }, [items]); + const itemsPerCollection = Object(external_wp_element_["useMemo"])(() => { + // Create a new Object to avoid mutating collection. + const result = { ...collections + }; + Object.keys(collections).forEach(namespace => { + result[namespace] = items.filter(item => getBlockNamespace(item) === namespace); + + if (result[namespace].length === 0) { + delete result[namespace]; + } + }); + return result; + }, [items, collections]); // Hide block preview on unmount. + + Object(external_wp_element_["useEffect"])(() => () => onHover(null), []); + /** + * The inserter contains a big number of blocks and opening it is a costful operation. + * The rendering is the most costful part of it, in order to improve the responsiveness + * of the "opening" action, these lazy lists allow us to render the inserter category per category, + * once all the categories are rendered, we start rendering the collections and the uncategorized block types. + */ + + const currentlyRenderedCategories = Object(external_wp_compose_["useAsyncList"])(categories); + const didRenderAllCategories = categories.length === currentlyRenderedCategories.length; // Async List requires an array + + const collectionEntries = Object(external_wp_element_["useMemo"])(() => { + return Object.entries(collections); + }, [collections]); + const currentlyRenderedCollections = Object(external_wp_compose_["useAsyncList"])(didRenderAllCategories ? collectionEntries : EMPTY_ARRAY); + return Object(external_wp_element_["createElement"])(inserter_listbox["a" /* default */], null, Object(external_wp_element_["createElement"])("div", null, showMostUsedBlocks && !!suggestedItems.length && Object(external_wp_element_["createElement"])(panel["a" /* default */], { + title: Object(external_wp_i18n_["_x"])('Most used', 'blocks') + }, Object(external_wp_element_["createElement"])(block_types_list["a" /* default */], { + items: suggestedItems, + onSelect: onSelectItem, + onHover: onHover, + label: Object(external_wp_i18n_["_x"])('Most used', 'blocks') + })), Object(external_lodash_["map"])(currentlyRenderedCategories, category => { + const categoryItems = itemsPerCategory[category.slug]; + + if (!categoryItems || !categoryItems.length) { + return null; + } + + return Object(external_wp_element_["createElement"])(panel["a" /* default */], { + key: category.slug, + title: category.title, + icon: category.icon + }, Object(external_wp_element_["createElement"])(block_types_list["a" /* default */], { + items: categoryItems, + onSelect: onSelectItem, + onHover: onHover, + label: category.title + })); + }), didRenderAllCategories && uncategorizedItems.length > 0 && Object(external_wp_element_["createElement"])(panel["a" /* default */], { + className: "block-editor-inserter__uncategorized-blocks-panel", + title: Object(external_wp_i18n_["__"])('Uncategorized') + }, Object(external_wp_element_["createElement"])(block_types_list["a" /* default */], { + items: uncategorizedItems, + onSelect: onSelectItem, + onHover: onHover, + label: Object(external_wp_i18n_["__"])('Uncategorized') + })), Object(external_lodash_["map"])(currentlyRenderedCollections, ([namespace, collection]) => { + const collectionItems = itemsPerCollection[namespace]; + + if (!collectionItems || !collectionItems.length) { + return null; + } + + return Object(external_wp_element_["createElement"])(panel["a" /* default */], { + key: namespace, + title: collection.title, + icon: collection.icon + }, Object(external_wp_element_["createElement"])(block_types_list["a" /* default */], { + items: collectionItems, + onSelect: onSelectItem, + onHover: onHover, + label: collection.title + })); + }))); +} +/* harmony default export */ var block_types_tab = (BlockTypesTab); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/pattern-panel.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +function PatternInserterPanel({ + selectedCategory, + patternCategories, + onClickCategory, + openPatternExplorer +}) { + const isMobile = Object(external_wp_compose_["useViewportMatch"])('medium', '<'); + + const categoryOptions = () => { + const options = []; + patternCategories.map(patternCategory => { + return options.push({ + value: patternCategory.name, + label: patternCategory.label + }); + }); + return options; + }; + + const onChangeSelect = selected => { + onClickCategory(patternCategories.find(patternCategory => selected === patternCategory.name)); + }; + + const className = classnames_default()('block-editor-inserter__panel-header', 'block-editor-inserter__panel-header-patterns'); // In iOS-based mobile devices, the onBlur will fire when selecting an option + // from a Select element. To prevent closing the useDialog on iOS devices, we + // stop propagating the onBlur event if there is no relatedTarget, which means + // that the user most likely did not click on an element within the editor canvas. + + const onBlur = event => { + if (!(event !== null && event !== void 0 && event.relatedTarget)) { + event.stopPropagation(); + } + }; + + return Object(external_wp_element_["createElement"])(external_wp_components_["Flex"], { + justify: "space-between", + align: "start", + gap: "4", + className: className + }, Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], { + isBlock: true + }, Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { + className: "block-editor-inserter__panel-dropdown", + label: Object(external_wp_i18n_["__"])('Filter patterns'), + hideLabelFromVision: true, + value: selectedCategory.name, + onChange: onChangeSelect, + onBlur: onBlur, + options: categoryOptions() + })), !isMobile && Object(external_wp_element_["createElement"])(external_wp_components_["FlexItem"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + variant: "secondary", + className: "block-editor-inserter__patterns-explorer-expand", + label: Object(external_wp_i18n_["__"])('Explore all patterns'), + onClick: () => openPatternExplorer() + }, Object(external_wp_i18n_["_x"])('Explore', 'Label for showing all block patterns')))); +} + +/* harmony default export */ var pattern_panel = (PatternInserterPanel); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-patterns-state.js +var use_patterns_state = __webpack_require__("nQUx"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-patterns-list/index.js +var block_patterns_list = __webpack_require__("Fmc1"); + +// 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 Object(external_wp_element_["createElement"])("div", { + className: `${baseClassName}__categories-list` + }, patternCategories.map(({ + name, + label + }) => { + return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + key: name, + label: label, + className: `${baseClassName}__categories-list__item`, + isPressed: selectedCategory === name, + onClick: () => { + onClickCategory(name); + } + }, label); + })); +} + +function PatternsExplorerSearch({ + filterValue, + setFilterValue +}) { + const baseClassName = 'block-editor-block-patterns-explorer__search'; + return Object(external_wp_element_["createElement"])("div", { + className: baseClassName + }, Object(external_wp_element_["createElement"])(external_wp_components_["SearchControl"], { + onChange: setFilterValue, + value: filterValue, + label: Object(external_wp_i18n_["__"])('Search for patterns'), + placeholder: Object(external_wp_i18n_["__"])('Search') + })); +} + +function PatternExplorerSidebar({ + selectedCategory, + patternCategories, + onClickCategory, + filterValue, + setFilterValue +}) { + const baseClassName = 'block-editor-block-patterns-explorer__sidebar'; + return Object(external_wp_element_["createElement"])("div", { + className: baseClassName + }, Object(external_wp_element_["createElement"])(PatternsExplorerSearch, { + filterValue: filterValue, + setFilterValue: setFilterValue + }), !filterValue && Object(external_wp_element_["createElement"])(PatternCategoriesList, { + selectedCategory: selectedCategory, + patternCategories: patternCategories, + onClickCategory: onClickCategory + })); +} + +/* harmony default export */ var sidebar = (PatternExplorerSidebar); + +// EXTERNAL MODULE: external ["wp","a11y"] +var external_wp_a11y_ = __webpack_require__("gdqT"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/no-results.js +var no_results = __webpack_require__("LolH"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/hooks/use-insertion-point.js +var use_insertion_point = __webpack_require__("AORF"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/search-items.js +var search_items = __webpack_require__("pOGT"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-explorer/patterns-list.js + + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + + + + +const INITIAL_INSERTER_RESULTS = 2; + +function PatternsListHeader({ + filterValue, + filteredBlockPatternsLength +}) { + if (!filterValue) { + return null; + } + + return Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalHeading"], { + level: 2, + lineHeight: '48px', + className: "block-editor-block-patterns-explorer__search-results-count" + }, Object(external_wp_i18n_["sprintf"])( + /* translators: %d: number of patterns. %s: block pattern search query */ + Object(external_wp_i18n_["_n"])('%1$d pattern found for "%2$s"', '%1$d patterns found for "%2$s"', filteredBlockPatternsLength), filteredBlockPatternsLength, filterValue)); +} + +function PatternList({ + filterValue, + selectedCategory, + patternCategories +}) { + const debouncedSpeak = Object(external_wp_compose_["useDebounce"])(external_wp_a11y_["speak"], 500); + const [destinationRootClientId, onInsertBlocks] = Object(use_insertion_point["a" /* default */])({ + shouldFocusBlock: true + }); + const [allPatterns,, onSelectBlockPattern] = Object(use_patterns_state["a" /* default */])(onInsertBlocks, destinationRootClientId); + const registeredPatternCategories = Object(external_wp_element_["useMemo"])(() => patternCategories.map(patternCategory => patternCategory.name), [patternCategories]); + const filteredBlockPatterns = Object(external_wp_element_["useMemo"])(() => { + if (!filterValue) { + return allPatterns.filter(pattern => { + var _pattern$categories, _pattern$categories2; + + return selectedCategory === 'uncategorized' ? !((_pattern$categories = pattern.categories) !== null && _pattern$categories !== void 0 && _pattern$categories.length) || pattern.categories.every(category => !registeredPatternCategories.includes(category)) : (_pattern$categories2 = pattern.categories) === null || _pattern$categories2 === void 0 ? void 0 : _pattern$categories2.includes(selectedCategory); + }); + } + + return Object(search_items["b" /* searchItems */])(allPatterns, filterValue); + }, [filterValue, selectedCategory, allPatterns]); // Announce search results on change. + + Object(external_wp_element_["useEffect"])(() => { + if (!filterValue) { + return; + } + + const count = filteredBlockPatterns.length; + const resultsFoundMessage = Object(external_wp_i18n_["sprintf"])( + /* translators: %d: number of results. */ + Object(external_wp_i18n_["_n"])('%d result found.', '%d results found.', count), count); + debouncedSpeak(resultsFoundMessage); + }, [filterValue, debouncedSpeak]); + const currentShownPatterns = Object(external_wp_compose_["useAsyncList"])(filteredBlockPatterns, { + step: INITIAL_INSERTER_RESULTS + }); + const hasItems = !!(filteredBlockPatterns !== null && filteredBlockPatterns !== void 0 && filteredBlockPatterns.length); + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-patterns-explorer__list" + }, hasItems && Object(external_wp_element_["createElement"])(PatternsListHeader, { + filterValue: filterValue, + filteredBlockPatternsLength: filteredBlockPatterns.length + }), Object(external_wp_element_["createElement"])(inserter_listbox["a" /* default */], null, !hasItems && Object(external_wp_element_["createElement"])(no_results["a" /* default */], null), hasItems && Object(external_wp_element_["createElement"])(block_patterns_list["a" /* default */], { + shownPatterns: currentShownPatterns, + blockPatterns: filteredBlockPatterns, + onClickPattern: onSelectBlockPattern, + isDraggable: false + }))); +} + +/* harmony default export */ var patterns_list = (PatternList); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-explorer/explorer.js + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + +function PatternsExplorer({ + initialCategory, + patternCategories +}) { + const [filterValue, setFilterValue] = Object(external_wp_element_["useState"])(''); + const [selectedCategory, setSelectedCategory] = Object(external_wp_element_["useState"])(initialCategory === null || initialCategory === void 0 ? void 0 : initialCategory.name); + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-block-patterns-explorer" + }, Object(external_wp_element_["createElement"])(sidebar, { + selectedCategory: selectedCategory, + patternCategories: patternCategories, + onClickCategory: setSelectedCategory, + filterValue: filterValue, + setFilterValue: setFilterValue + }), Object(external_wp_element_["createElement"])(patterns_list, { + filterValue: filterValue, + selectedCategory: selectedCategory, + patternCategories: patternCategories + })); +} + +function PatternsExplorerModal({ + onModalClose, + ...restProps +}) { + return Object(external_wp_element_["createElement"])(external_wp_components_["Modal"], { + title: Object(external_wp_i18n_["__"])('Patterns'), + closeLabel: Object(external_wp_i18n_["__"])('Close'), + onRequestClose: onModalClose, + isFullScreen: true + }, Object(external_wp_element_["createElement"])(PatternsExplorer, restProps)); +} + +/* harmony default export */ var explorer = (PatternsExplorerModal); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/block-patterns-tab.js + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + + + +function BlockPatternsCategory({ + rootClientId, + onInsert, + selectedCategory, + populatedCategories +}) { + const [allPatterns,, onClick] = Object(use_patterns_state["a" /* default */])(onInsert, rootClientId); + const getPatternIndex = Object(external_wp_element_["useCallback"])(pattern => { + var _pattern$categories; + + if (!((_pattern$categories = pattern.categories) !== null && _pattern$categories !== void 0 && _pattern$categories.length)) { + return Infinity; + } + + const indexedCategories = populatedCategories.reduce((accumulator, { + name + }, index) => { + accumulator[name] = index; + return accumulator; + }, {}); + return Math.min(...pattern.categories.map(cat => indexedCategories[cat] !== undefined ? indexedCategories[cat] : Infinity)); + }, [populatedCategories]); + const currentCategoryPatterns = Object(external_wp_element_["useMemo"])(() => allPatterns.filter(pattern => { + var _pattern$categories2; + + return selectedCategory.name === 'uncategorized' ? getPatternIndex(pattern) === Infinity : (_pattern$categories2 = pattern.categories) === null || _pattern$categories2 === void 0 ? void 0 : _pattern$categories2.includes(selectedCategory.name); + }), [allPatterns, selectedCategory]); // Ordering the patterns is important for the async rendering. + + const orderedPatterns = Object(external_wp_element_["useMemo"])(() => { + return currentCategoryPatterns.sort((a, b) => { + return getPatternIndex(a) - getPatternIndex(b); + }); + }, [currentCategoryPatterns, getPatternIndex]); + const currentShownPatterns = Object(external_wp_compose_["useAsyncList"])(orderedPatterns); + + if (!currentCategoryPatterns.length) { + return null; + } + + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-inserter__panel-content" + }, Object(external_wp_element_["createElement"])(block_patterns_list["a" /* default */], { + shownPatterns: currentShownPatterns, + blockPatterns: currentCategoryPatterns, + onClickPattern: onClick, + label: selectedCategory.label, + orientation: "vertical", + isDraggable: true + })); +} + +function BlockPatternsTabs({ + rootClientId, + onInsert, + onClickCategory, + selectedCategory +}) { + const [showPatternsExplorer, setShowPatternsExplorer] = Object(external_wp_element_["useState"])(false); + const [allPatterns, allCategories] = Object(use_patterns_state["a" /* default */])(); + const hasRegisteredCategory = Object(external_wp_element_["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 = Object(external_wp_element_["useMemo"])(() => { + const categories = allCategories.filter(category => allPatterns.some(pattern => { + var _pattern$categories3; + + return (_pattern$categories3 = pattern.categories) === null || _pattern$categories3 === void 0 ? void 0 : _pattern$categories3.includes(category.name); + })).sort(({ + name: currentName + }, { + name: nextName + }) => { + if (![currentName, nextName].includes('featured')) { + return 0; + } + + return currentName === 'featured' ? -1 : 1; + }); + + if (allPatterns.some(pattern => !hasRegisteredCategory(pattern)) && !categories.find(category => category.name === 'uncategorized')) { + categories.push({ + name: 'uncategorized', + label: Object(external_wp_i18n_["_x"])('Uncategorized') + }); + } + + return categories; + }, [allPatterns, allCategories]); + const patternCategory = selectedCategory ? selectedCategory : populatedCategories[0]; + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, !showPatternsExplorer && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(pattern_panel, { + selectedCategory: patternCategory, + patternCategories: populatedCategories, + onClickCategory: onClickCategory, + openPatternExplorer: () => setShowPatternsExplorer(true) + }), Object(external_wp_element_["createElement"])(BlockPatternsCategory, { + rootClientId: rootClientId, + onInsert: onInsert, + selectedCategory: patternCategory, + populatedCategories: populatedCategories + })), showPatternsExplorer && Object(external_wp_element_["createElement"])(explorer, { + initialCategory: patternCategory, + patternCategories: populatedCategories, + onModalClose: () => setShowPatternsExplorer(false) + })); +} + +/* harmony default export */ var block_patterns_tab = (BlockPatternsTabs); + +// EXTERNAL MODULE: external ["wp","url"] +var external_wp_url_ = __webpack_require__("Mmq9"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/reusable-blocks-tab.js + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + + + +function ReusableBlocksList({ + onHover, + onInsert, + rootClientId +}) { + const [items,,, onSelectItem] = Object(use_block_types_state["a" /* default */])(rootClientId, onInsert); + const filteredItems = Object(external_wp_element_["useMemo"])(() => { + return items.filter(({ + category + }) => category === 'reusable'); + }, [items]); + + if (filteredItems.length === 0) { + return Object(external_wp_element_["createElement"])(no_results["a" /* default */], null); + } + + return Object(external_wp_element_["createElement"])(panel["a" /* default */], { + title: Object(external_wp_i18n_["__"])('Reusable blocks') + }, Object(external_wp_element_["createElement"])(block_types_list["a" /* default */], { + items: filteredItems, + onSelect: onSelectItem, + onHover: onHover, + label: Object(external_wp_i18n_["__"])('Reusable blocks') + })); +} // The unwrapped component is only exported for use by unit tests. + +/** + * List of reusable blocks shown in the "Reusable" tab of the inserter. + * + * @param {Object} props Component props. + * @param {?string} props.rootClientId Client id of block to insert into. + * @param {Function} props.onInsert Callback to run when item is inserted. + * @param {Function} props.onHover Callback to run when item is hovered. + * + * @return {WPComponent} The component. + */ + + +function ReusableBlocksTab({ + rootClientId, + onInsert, + onHover +}) { + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(ReusableBlocksList, { + onHover: onHover, + onInsert: onInsert, + rootClientId: rootClientId + }), Object(external_wp_element_["createElement"])("div", { + className: "block-editor-inserter__manage-reusable-blocks-container" + }, Object(external_wp_element_["createElement"])("a", { + className: "block-editor-inserter__manage-reusable-blocks", + href: Object(external_wp_url_["addQueryArgs"])('edit.php', { + post_type: 'wp_block' + }) + }, Object(external_wp_i18n_["__"])('Manage Reusable blocks')))); +} +/* harmony default export */ var reusable_blocks_tab = (ReusableBlocksTab); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/search-results.js +var search_results = __webpack_require__("Wg7J"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/tabs.js + + +/** + * WordPress dependencies + */ + + + +const tabs_blocksTab = { + name: 'blocks', + + /* translators: Blocks tab title in the block inserter. */ + title: Object(external_wp_i18n_["__"])('Blocks') +}; +const tabs_patternsTab = { + name: 'patterns', + + /* translators: Patterns tab title in the block inserter. */ + title: Object(external_wp_i18n_["__"])('Patterns') +}; +const tabs_reusableBlocksTab = { + name: 'reusable', + + /* translators: Reusable blocks tab title in the block inserter. */ + title: Object(external_wp_i18n_["__"])('Reusable') +}; + +function InserterTabs({ + children, + showPatterns = false, + showReusableBlocks = false, + onSelect +}) { + const tabs = Object(external_wp_element_["useMemo"])(() => { + const tempTabs = [tabs_blocksTab]; + + if (showPatterns) { + tempTabs.push(tabs_patternsTab); + } + + if (showReusableBlocks) { + tempTabs.push(tabs_reusableBlocksTab); + } + + return tempTabs; + }, [tabs_blocksTab, showPatterns, tabs_patternsTab, showReusableBlocks, tabs_reusableBlocksTab]); + return Object(external_wp_element_["createElement"])(external_wp_components_["TabPanel"], { + className: "block-editor-inserter__tabs", + tabs: tabs, + onSelect: onSelect + }, children); +} + +/* harmony default export */ var inserter_tabs = (InserterTabs); + +// EXTERNAL MODULE: ./node_modules/@wordpress/block-editor/build-module/store/index.js + 4 modules +var store = __webpack_require__("BhPs"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/inserter/menu.js + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + + + + + + + +function InserterMenu({ + rootClientId, + clientId, + isAppender, + __experimentalInsertionIndex, + onSelect, + showInserterHelpPanel, + showMostUsedBlocks, + __experimentalFilterValue = '', + shouldFocusBlock = true +}) { + const [filterValue, setFilterValue] = Object(external_wp_element_["useState"])(__experimentalFilterValue); + const [hoveredItem, setHoveredItem] = Object(external_wp_element_["useState"])(null); + const [selectedPatternCategory, setSelectedPatternCategory] = Object(external_wp_element_["useState"])(null); + const [destinationRootClientId, onInsertBlocks, onToggleInsertionPoint] = Object(use_insertion_point["a" /* default */])({ + rootClientId, + clientId, + isAppender, + insertionIndex: __experimentalInsertionIndex, + shouldFocusBlock + }); + const { + showPatterns, + hasReusableBlocks + } = Object(external_wp_data_["useSelect"])(select => { + var _getSettings$__experi; + + const { + __experimentalGetAllowedPatterns, + getSettings + } = select(store["a" /* store */]); + return { + showPatterns: !!__experimentalGetAllowedPatterns(destinationRootClientId).length, + hasReusableBlocks: !!((_getSettings$__experi = getSettings().__experimentalReusableBlocks) !== null && _getSettings$__experi !== void 0 && _getSettings$__experi.length) + }; + }, [destinationRootClientId]); + const onInsert = Object(external_wp_element_["useCallback"])((blocks, meta, shouldForceFocusBlock) => { + onInsertBlocks(blocks, meta, shouldForceFocusBlock); + onSelect(); + }, [onInsertBlocks, onSelect]); + const onInsertPattern = Object(external_wp_element_["useCallback"])((blocks, patternName) => { + onInsertBlocks(blocks, { + patternName + }); + onSelect(); + }, [onInsertBlocks, onSelect]); + const onHover = Object(external_wp_element_["useCallback"])(item => { + onToggleInsertionPoint(!!item); + setHoveredItem(item); + }, [onToggleInsertionPoint, setHoveredItem]); + const onClickPatternCategory = Object(external_wp_element_["useCallback"])(patternCategory => { + setSelectedPatternCategory(patternCategory); + }, [setSelectedPatternCategory]); + const blocksTab = Object(external_wp_element_["useMemo"])(() => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-inserter__block-list" + }, Object(external_wp_element_["createElement"])(block_types_tab, { + rootClientId: destinationRootClientId, + onInsert: onInsert, + onHover: onHover, + showMostUsedBlocks: showMostUsedBlocks + })), showInserterHelpPanel && Object(external_wp_element_["createElement"])("div", { + className: "block-editor-inserter__tips" + }, Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { + as: "h2" + }, Object(external_wp_i18n_["__"])('A tip for using the block editor')), Object(external_wp_element_["createElement"])(tips, null))), [destinationRootClientId, onInsert, onHover, filterValue, showMostUsedBlocks, showInserterHelpPanel]); + const patternsTab = Object(external_wp_element_["useMemo"])(() => Object(external_wp_element_["createElement"])(block_patterns_tab, { + rootClientId: destinationRootClientId, + onInsert: onInsertPattern, + onClickCategory: onClickPatternCategory, + selectedCategory: selectedPatternCategory + }), [destinationRootClientId, onInsertPattern, onClickPatternCategory, selectedPatternCategory]); + const reusableBlocksTab = Object(external_wp_element_["useMemo"])(() => Object(external_wp_element_["createElement"])(reusable_blocks_tab, { + rootClientId: destinationRootClientId, + onInsert: onInsert, + onHover: onHover + }), [destinationRootClientId, onInsert, onHover]); + const getCurrentTab = Object(external_wp_element_["useCallback"])(tab => { + if (tab.name === 'blocks') { + return blocksTab; + } else if (tab.name === 'patterns') { + return patternsTab; + } + + return reusableBlocksTab; + }, [blocksTab, patternsTab, reusableBlocksTab]); + return Object(external_wp_element_["createElement"])("div", { + className: "block-editor-inserter__menu" + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-inserter__main-area" + }, Object(external_wp_element_["createElement"])("div", { + className: "block-editor-inserter__content" + }, Object(external_wp_element_["createElement"])(external_wp_components_["SearchControl"], { + className: "block-editor-inserter__search", + onChange: value => { + if (hoveredItem) setHoveredItem(null); + setFilterValue(value); + }, + value: filterValue, + label: Object(external_wp_i18n_["__"])('Search for blocks and patterns'), + placeholder: Object(external_wp_i18n_["__"])('Search') + }), !!filterValue && Object(external_wp_element_["createElement"])(search_results["a" /* default */], { + filterValue: filterValue, + onSelect: onSelect, + onHover: onHover, + rootClientId: rootClientId, + clientId: clientId, + isAppender: isAppender, + __experimentalInsertionIndex: __experimentalInsertionIndex, + showBlockDirectory: true, + shouldFocusBlock: shouldFocusBlock + }), !filterValue && (showPatterns || hasReusableBlocks) && Object(external_wp_element_["createElement"])(inserter_tabs, { + showPatterns: showPatterns, + showReusableBlocks: hasReusableBlocks + }, getCurrentTab), !filterValue && !showPatterns && !hasReusableBlocks && blocksTab)), showInserterHelpPanel && hoveredItem && Object(external_wp_element_["createElement"])(preview_panel, { + item: hoveredItem + })); +} + +/* harmony default export */ var menu = __webpack_exports__["a"] = (InserterMenu); + + +/***/ }), + +/***/ "xkPd": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("gdqT"); +/* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_3__); + + + +/** + * WordPress dependencies + */ + + + + +function InserterListboxGroup(props, ref) { + const [shouldSpeak, setShouldSpeak] = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useState"])(false); + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useEffect"])(() => { + if (shouldSpeak) { + Object(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_3__["speak"])(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Use left and right arrow keys to move through blocks')); + } + }, [shouldSpeak]); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("div", Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + ref: ref, + role: "listbox", + "aria-orientation": "horizontal", + onFocus: () => { + setShouldSpeak(true); + }, + onBlur: event => { + const focusingOutsideGroup = !event.currentTarget.contains(event.relatedTarget); + + if (focusingOutsideGroup) { + setShouldSpeak(false); + } + } + }, props)); +} + +/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["forwardRef"])(InserterListboxGroup)); + + +/***/ }), + +/***/ "yU1v": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export PanelColorGradientSettingsInner */ +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("TSYQ"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("tI+e"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("l3Sj"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("hMaJ"); +/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("bVpQ"); +/* harmony import */ var _gradients__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("Cn0l"); +/* harmony import */ var _use_setting__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("v5LD"); + + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + // translators: first %s: The type of color or gradient (e.g. background, overlay...), second %s: the color name or value (e.g. red or #ff0000) + +const colorIndicatorAriaLabel = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('(%s: color %s)'); // translators: first %s: The type of color or gradient (e.g. background, overlay...), second %s: the color name or value (e.g. red or #ff0000) + + +const gradientIndicatorAriaLabel = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('(%s: gradient %s)'); + +const colorsAndGradientKeys = ['colors', 'disableCustomColors', 'gradients', 'disableCustomGradients']; + +const Indicators = ({ + colors, + gradients, + settings +}) => { + return settings.map(({ + colorValue, + gradientValue, + label, + colors: availableColors, + gradients: availableGradients + }, index) => { + if (!colorValue && !gradientValue) { + return null; + } + + let ariaLabel; + + if (colorValue) { + const colorObject = Object(_colors__WEBPACK_IMPORTED_MODULE_7__[/* getColorObjectByColorValue */ "c"])(availableColors || colors, colorValue); + ariaLabel = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["sprintf"])(colorIndicatorAriaLabel, label.toLowerCase(), colorObject && colorObject.name || colorValue); + } else { + const gradientObject = Object(_gradients__WEBPACK_IMPORTED_MODULE_8__[/* __experimentalGetGradientObjectByGradientValue */ "b"])(availableGradients || gradients, colorValue); + + ariaLabel = Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["sprintf"])(gradientIndicatorAriaLabel, label.toLowerCase(), gradientObject && gradientObject.name || gradientValue); + } + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__["ColorIndicator"], { + key: index, + colorValue: colorValue || gradientValue, + "aria-label": ariaLabel + }); + }); +}; + +const PanelColorGradientSettingsInner = ({ + className, + colors, + gradients, + disableCustomColors, + disableCustomGradients, + children, + settings, + title, + showTitle = true, + __experimentalHasMultipleOrigins, + ...props +}) => { + if (Object(lodash__WEBPACK_IMPORTED_MODULE_3__["isEmpty"])(colors) && Object(lodash__WEBPACK_IMPORTED_MODULE_3__["isEmpty"])(gradients) && disableCustomColors && disableCustomGradients && Object(lodash__WEBPACK_IMPORTED_MODULE_3__["every"])(settings, setting => Object(lodash__WEBPACK_IMPORTED_MODULE_3__["isEmpty"])(setting.colors) && Object(lodash__WEBPACK_IMPORTED_MODULE_3__["isEmpty"])(setting.gradients) && (setting.disableCustomColors === undefined || setting.disableCustomColors) && (setting.disableCustomGradients === undefined || setting.disableCustomGradients))) { + return null; + } + + const titleElement = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("span", { + className: "block-editor-panel-color-gradient-settings__panel-title" + }, title, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(Indicators, { + colors: colors, + gradients: gradients, + settings: settings + })); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__["PanelBody"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + className: classnames__WEBPACK_IMPORTED_MODULE_2___default()('block-editor-panel-color-gradient-settings', className), + title: showTitle ? titleElement : undefined + }, props), settings.map((setting, index) => Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(_control__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + showTitle: showTitle, + key: index, + colors, + gradients, + disableCustomColors, + disableCustomGradients, + __experimentalHasMultipleOrigins + }, setting))), children); +}; + +function useCommonSingleMultipleSelects() { + return { + disableCustomColors: !Object(_use_setting__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"])('color.custom'), + disableCustomGradients: !Object(_use_setting__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"])('color.customGradient') + }; +} + +const PanelColorGradientSettingsSingleSelect = props => { + const colorGradientSettings = useCommonSingleMultipleSelects(); + colorGradientSettings.colors = Object(_use_setting__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"])('color.palette'); + colorGradientSettings.gradients = Object(_use_setting__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"])('color.gradients'); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(PanelColorGradientSettingsInner, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, colorGradientSettings, props)); +}; + +const PanelColorGradientSettingsMultipleSelect = props => { + const colorGradientSettings = useCommonSingleMultipleSelects(); + const userColors = Object(_use_setting__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"])('color.palette.user'); + const themeColors = Object(_use_setting__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"])('color.palette.theme'); + const coreColors = Object(_use_setting__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"])('color.palette.core'); + colorGradientSettings.colors = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(() => { + const result = []; + + if (coreColors && coreColors.length) { + result.push({ + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('Core'), + colors: coreColors + }); + } + + if (themeColors && themeColors.length) { + result.push({ + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('Theme'), + colors: themeColors + }); + } + + if (userColors && userColors.length) { + result.push({ + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('User'), + colors: userColors + }); + } + + return result; + }, [coreColors, themeColors, userColors]); + const userGradients = Object(_use_setting__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"])('color.gradients.user'); + const themeGradients = Object(_use_setting__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"])('color.gradients.theme'); + const coreGradients = Object(_use_setting__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"])('color.gradients.core'); + colorGradientSettings.gradients = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(() => { + const result = []; + + if (coreGradients && coreGradients.length) { + result.push({ + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('Core'), + gradients: coreGradients + }); + } + + if (themeGradients && themeGradients.length) { + result.push({ + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('Theme'), + gradients: themeGradients + }); + } + + if (userGradients && userGradients.length) { + result.push({ + name: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('User'), + gradients: userGradients + }); + } + + return result; + }, [userGradients, themeGradients, coreGradients]); + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(PanelColorGradientSettingsInner, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, colorGradientSettings, props)); +}; + +const PanelColorGradientSettings = props => { + if (Object(lodash__WEBPACK_IMPORTED_MODULE_3__["every"])(colorsAndGradientKeys, key => props.hasOwnProperty(key))) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(PanelColorGradientSettingsInner, props); + } + + if (props.__experimentalHasMultipleOrigins) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(PanelColorGradientSettingsMultipleSelect, props); + } + + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(PanelColorGradientSettingsSingleSelect, props); +}; + +/* harmony default export */ __webpack_exports__["a"] = (PanelColorGradientSettings); + + +/***/ }), + +/***/ "ywyh": +/***/ (function(module, exports) { + +(function() { module.exports = window["wp"]["apiFetch"]; }()); + +/***/ }), + +/***/ "z+q2": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useFocusFirstElement; }); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("1CF3"); +/* harmony import */ var _wordpress_dom__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_dom__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("OL6h"); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("BhPs"); +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + +/** @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 Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_3__["useSelect"])(select => { + const { + getSelectedBlocksInitialCaretPosition, + isMultiSelecting, + isNavigationMode, + isBlockSelected + } = select(_store__WEBPACK_IMPORTED_MODULE_5__[/* store */ "a"]); + + if (!isBlockSelected(clientId)) { + return; + } + + if (isMultiSelecting() || isNavigationMode()) { + 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. + * + * @param {string} clientId Block client ID. + * + * @return {RefObject} React ref with the block element. + */ + + +function useFocusFirstElement(clientId) { + const ref = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useRef"])(); + const initialPosition = useInitialPosition(clientId); + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useEffect"])(() => { + if (initialPosition === undefined || initialPosition === null) { + return; + } + + if (!ref.current) { + return; + } + + const { + ownerDocument + } = ref.current; // Do not focus the block if it already contains the active element. + + if (ref.current.contains(ownerDocument.activeElement)) { + return; + } // Find all tabbables within node. + + + const textInputs = _wordpress_dom__WEBPACK_IMPORTED_MODULE_2__["focus"].tabbable.find(ref.current).filter(node => Object(_wordpress_dom__WEBPACK_IMPORTED_MODULE_2__["isTextField"])(node)); // If reversed (e.g. merge via backspace), use the last in the set of + // tabbables. + + const isReverse = -1 === initialPosition; + const target = (isReverse ? lodash__WEBPACK_IMPORTED_MODULE_0__["last"] : lodash__WEBPACK_IMPORTED_MODULE_0__["first"])(textInputs) || ref.current; + + if (!Object(_utils_dom__WEBPACK_IMPORTED_MODULE_4__[/* isInsideRootBlock */ "c"])(ref.current, target)) { + ref.current.focus(); + return; + } + + Object(_wordpress_dom__WEBPACK_IMPORTED_MODULE_2__["placeCaretAtHorizontalEdge"])(target, isReverse); + }, [initialPosition]); + return ref; +} + + +/***/ }), + +/***/ "zQI6": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return useBlockSelectionClearer; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BlockSelectionClearer; }); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("1ZqX"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("K9lf"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("BhPs"); + + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +/** + * Pass the returned ref callback to an element that should clear block + * selection. Selection will only be cleared if the element is clicked directly, + * not if a child element is clicked. + * + * @return {import('react').RefCallback} Ref callback. + */ + +function useBlockSelectionClearer() { + const { + hasSelectedBlock, + hasMultiSelection + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__["useSelect"])(_store__WEBPACK_IMPORTED_MODULE_4__[/* store */ "a"]); + const { + clearSelectedBlock + } = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__["useDispatch"])(_store__WEBPACK_IMPORTED_MODULE_4__[/* store */ "a"]); + return Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_3__["useRefEffect"])(node => { + function onMouseDown(event) { + if (!hasSelectedBlock() && !hasMultiSelection()) { + return; + } // Only handle clicks on the element, not the children. + + + if (event.target !== node) { + return; + } + + clearSelectedBlock(); + } + + node.addEventListener('mousedown', onMouseDown); + return () => { + node.removeEventListener('mousedown', onMouseDown); + }; + }, [hasSelectedBlock, hasMultiSelection, clearSelectedBlock]); +} +function BlockSelectionClearer(props) { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])("div", Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({ + ref: useBlockSelectionClearer() + }, props)); +} + + /***/ }), /***/ "ziDm": @@ -39944,6 +49009,26 @@ const alignRight = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["creat /* harmony default export */ __webpack_exports__["a"] = (alignRight); +/***/ }), + +/***/ "zmSX": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _use_gradient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("Cn0l"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _use_gradient__WEBPACK_IMPORTED_MODULE_0__["a"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "b", function() { return _use_gradient__WEBPACK_IMPORTED_MODULE_0__["b"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "c", function() { return _use_gradient__WEBPACK_IMPORTED_MODULE_0__["c"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "d", function() { return _use_gradient__WEBPACK_IMPORTED_MODULE_0__["d"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "e", function() { return _use_gradient__WEBPACK_IMPORTED_MODULE_0__["e"]; }); + + + + /***/ }), /***/ "zt9T": diff --git a/wp-includes/js/dist/block-editor.min.js b/wp-includes/js/dist/block-editor.min.js index 71f303b7c1..44c64815d0 100644 --- a/wp-includes/js/dist/block-editor.min.js +++ b/wp-includes/js/dist/block-editor.min.js @@ -1,12 +1,26 @@ /*! This file is auto-generated */ -this.wp=this.wp||{},this.wp.blockEditor=function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="tr0p")}({"//Lo":function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.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"}));t.a=c},"16Al":function(e,t,n){"use strict";var o=n("WbBG");function r(){}function c(){}c.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,c,l){if(l!==o){var i=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 i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var n={array: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:c,resetWarningCache:r};return n.PropTypes=n,n}},"17x9":function(e,t,n){e.exports=n("16Al")()},"1CF3":function(e,t){e.exports=window.wp.dom},"1ZqX":function(e,t){e.exports=window.wp.data},"1iEr":function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z"}));t.a=c},"2gm7":function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z"}));t.a=c},"4eJC":function(e,t,n){e.exports=function(e,t){var n,o,r=0;function c(){var c,l,i=n,a=arguments.length;e:for(;i;){if(i.args.length===arguments.length){for(l=0;l=r;case"max":return c<=r;default:return c===r}}));return r&&!n||!r&&n}))},t.parse=a;var o=/(?:(only|not)?\s*([^\s\(\)]+)(?:\s*and)?\s*)?(.+)?/i,r=/\(\s*([^\s\:\)]+)\s*(?:\:\s*([^\s\)]+))?\s*\)/,c=/^(?:(min|max)-)?(.+)/,l=/(em|rem|px|cm|mm|in|pt|pc)?$/,i=/(dpi|dpcm|dppx)?$/;function a(e){return e.split(",").map((function(e){var t=(e=e.trim()).match(o),n=t[1],l=t[2],i=t[3]||"",a={};return a.inverse=!!n&&"not"===n.toLowerCase(),a.type=l?l.toLowerCase():"all",i=i.match(/\([^\)]+\)/g)||[],a.expressions=i.map((function(e){var t=e.match(r),n=t[1].toLowerCase().match(c);return{modifier:n[1],feature:n[2],value:t[2]}})),a}))}function s(e){var t,n=Number(e);return n||(n=(t=e.match(/^(\d+)\s*\/\s*(\d+)$/))[1]/t[2]),n}function u(e){var t=parseFloat(e);switch(String(e).match(i)[1]){case"dpcm":return t/2.54;case"dppx":return 96*t;default:return t}}function d(e){var t=parseFloat(e);switch(String(e).match(l)[1]){case"em":case"rem":return 16*t;case"cm":return 96*t/2.54;case"mm":return 96*t/2.54/10;case"in":return 96*t;case"pt":return 72*t;case"pc":return 72*t/12;default:return t}}},"7fqt":function(e,t){e.exports=window.wp.wordcount},"8OQS":function(e,t){e.exports=function(e,t){if(null==e)return{};var n,o,r={},c=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r},e.exports.default=e.exports,e.exports.__esModule=!0},"9Do8":function(e,t,n){"use strict";e.exports=n("zt9T")},B9Az:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");var c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M20.1 5.1L16.9 2 6.2 12.7l-1.3 4.4 4.5-1.3L20.1 5.1zM4 20.8h8v-1.5H4v1.5z"}));t.a=c},BLeD:function(e,t){e.exports=window.wp.tokenList},Bpkj:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M15.6 7.2H14v1.5h1.6c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.8 0 5.2-2.3 5.2-5.2 0-2.9-2.3-5.2-5.2-5.2zM4.7 12.4c0-2 1.7-3.7 3.7-3.7H10V7.2H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H10v-1.5H8.4c-2 0-3.7-1.7-3.7-3.7zm4.6.9h5.3v-1.5H9.3v1.5z"}));t.a=c},CNgt: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)}),c=this&&this.__assign||Object.assign||function(e){for(var t,n=1,o=arguments.length;n{let c="";if(1===r.length){var i;const n=r[0],a=null===(i=t(e(n)))||void 0===i?void 0:i.title;c="copy"===o?Object(l.sprintf)(Object(l.__)('Copied "%s" to clipboard.'),a):Object(l.sprintf)(Object(l.__)('Moved "%s" to clipboard.'),a)}else c="copy"===o?Object(l.sprintf)(Object(l._n)("Copied %d block to clipboard.","Copied %d blocks to clipboard.",r.length),r.length):Object(l.sprintf)(Object(l._n)("Moved %d block to clipboard.","Moved %d blocks to clipboard.",r.length),r.length);n(c,{type:"snackbar"})},[])}function p(){const{getBlocksByClientId:e,getSelectedBlockClientIds:t,hasMultiSelection:n,getSettings:o}=Object(i.useSelect)(d.a),{flashBlock:l,removeBlocks:a,replaceBlocks:p}=Object(i.useDispatch)(d.a),m=b();return Object(s.useRefEffect)(i=>{function s(s){const d=t();if(0===d.length)return;if(!n()){const{target:e}=s,{ownerDocument:t}=e;if("copy"===s.type||"cut"===s.type?Object(c.documentHasUncollapsedSelection)(t):Object(c.documentHasSelection)(t))return}if(!i.contains(s.target.ownerDocument.activeElement))return;const b=s.defaultPrevented;if(s.preventDefault(),"copy"===s.type||"cut"===s.type){1===d.length&&l(d[0]),m(s.type,d);const t=e(d),n=Object(r.serialize)(t);s.clipboardData.setData("text/plain",n),s.clipboardData.setData("text/html",n)}if("cut"===s.type)a(d);else if("paste"===s.type){if(b)return;const{__experimentalCanUserUseUnfilteredHTML:e}=o(),{plainText:t,html:n}=function({clipboardData:e}){let t="",n="";try{t=e.getData("text/plain"),n=e.getData("text/html")}catch(t){try{n=e.getData("Text")}catch(e){return}}const o=Object(c.getFilesFromDataTransfer)(e).filter(({type:e})=>/^image\/(?:jpe?g|png|gif)$/.test(e));return o.length&&!n&&(n=o.map(e=>``).join(""),t=""),{html:n,plainText:t}}(s),i=Object(r.pasteHandler)({HTML:n,plainText:t,mode:"BLOCKS",canUserUseUnfilteredHTML:e});p(d,i,i.length-1,-1)}}return i.ownerDocument.addEventListener("copy",s),i.ownerDocument.addEventListener("cut",s),i.ownerDocument.addEventListener("paste",s),()=>{i.ownerDocument.removeEventListener("copy",s),i.ownerDocument.removeEventListener("cut",s),i.ownerDocument.removeEventListener("paste",s)}},[])}t.a=function({children:e}){return Object(o.createElement)("div",{ref:p()},e)}},"+6d5":function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var o=n("TSYQ"),r=n.n(o),c=n("1ZqX"),i=n("BhPs");function l(e){return Object(c.useSelect)(t=>{const{hasBlockMovingClientId:n,canInsertBlockType:o,getBlockName:c,getBlockRootClientId:l,isBlockSelected:a}=t(i.a);if(!a(e))return;const s=n();return s?r()("is-block-moving-mode",{"can-insert-moving-block":o(c(s),l(e))}):void 0},[e])}},"+DUQ":function(e,t,n){"use strict";n.d(t,"animated",(function(){return y}));var o=n("kmrn");n.o(o,"useSpring")&&n.d(t,"useSpring",(function(){return o.useSpring}));var r=n("faye"),c=n("nEW0"),i=n("dfZa");function l(e,t){if(null==e)return{};var n,o,r={},c=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}const a=["style","children","scrollTop","scrollLeft"],s=/^--/;function u(e,t){return null==t||"boolean"==typeof t||""===t?"":"number"!=typeof t||0===t||s.test(e)||b.hasOwnProperty(e)&&b[e]?(""+t).trim():t+"px"}const d={};let b={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};const p=["Webkit","Ms","Moz","O"];b=Object.keys(b).reduce((e,t)=>(p.forEach(n=>e[((e,t)=>e+t.charAt(0).toUpperCase()+t.substring(1))(n,t)]=e[t]),e),b);const m=["x","y","z"],f=/^(matrix|translate|scale|rotate|skew)/,h=/^(translate)/,g=/^(rotate|skew)/,O=(e,t)=>c.s.num(e)&&0!==e?e+t:e,v=(e,t)=>c.s.arr(e)?e.every(e=>v(e,t)):c.s.num(e)?e===t:parseFloat(e)===t;class j extends i.a{constructor(e){let{x:t,y:n,z:o}=e,r=l(e,m);const i=[],a=[];(t||n||o)&&(i.push([t||0,n||0,o||0]),a.push(e=>[`translate3d(${e.map(e=>O(e,"px")).join(",")})`,v(e,0)])),Object(c.l)(r,(e,t)=>{if("transform"===t)i.push([e||""]),a.push(e=>[e,""===e]);else if(f.test(t)){if(delete r[t],c.s.und(e))return;const n=h.test(t)?"px":g.test(t)?"deg":"";i.push(Object(c.y)(e)),a.push("rotate3d"===t?([e,t,o,r])=>[`rotate3d(${e},${t},${o},${O(r,n)})`,v(r,0)]:e=>[`${t}(${e.map(e=>O(e,n)).join(",")})`,v(e,t.startsWith("scale")?1:0)])}}),i.length&&(r.transform=new k(i,a)),super(r)}}class k extends c.a{constructor(e,t){super(),this._value=null,this.inputs=e,this.transforms=t}get(){return this._value||(this._value=this._get())}_get(){let e="",t=!0;return Object(c.k)(this.inputs,(n,o)=>{const r=Object(c.q)(n[0]),[i,l]=this.transforms[o](c.s.arr(r)?r:n.map(c.q));e+=" "+i,t=t&&l}),t?"none":e}observerAdded(e){1==e&&Object(c.k)(this.inputs,e=>Object(c.k)(e,e=>Object(c.r)(e)&&Object(c.c)(e,this)))}observerRemoved(e){0==e&&Object(c.k)(this.inputs,e=>Object(c.k)(e,e=>Object(c.r)(e)&&Object(c.x)(e,this)))}eventObserved(e){"change"==e.type&&(this._value=null),Object(c.d)(this,e)}}const _=["scrollTop","scrollLeft"];o.Globals.assign({batchedUpdates:r.unstable_batchedUpdates,createStringInterpolator:c.g,colors:c.e});const y=Object(i.d)(["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,o=t,{style:r,children:c,scrollTop:i,scrollLeft:b}=o,p=l(o,a),m=Object.values(p),f=Object.keys(p).map(t=>n||e.hasAttribute(t)?t:d[t]||(d[t]=t.replace(/([A-Z])/g,e=>"-"+e.toLowerCase())));void 0!==c&&(e.textContent=c);for(let t in r)if(r.hasOwnProperty(t)){const n=u(t,r[t]);s.test(t)?e.style.setProperty(t,n):e.style[t]=n}f.forEach((t,n)=>{e.setAttribute(t,m[n])}),void 0!==i&&(e.scrollTop=i),void 0!==b&&(e.scrollLeft=b)},createAnimatedStyle:e=>new j(e),getComponentProps:e=>l(e,_)}).animated},"+G0a":function(e,t,n){"use strict";var o=n("HSyU"),r=n("1ZqX"),c=n("GRId"),i=n("BhPs");t.a=(e,t)=>{const{categories:n,collections:l,items:a}=Object(r.useSelect)(t=>{const{getInserterItems:n}=t(i.a),{getCategories:r,getCollections:c}=t(o.store);return{categories:r(),collections:c(),items:n(e)}},[e]);return[a,n,l,Object(c.useCallback)(({name:e,initialAttributes:n,innerBlocks:r},c)=>{const i=Object(o.createBlock)(e,n,Object(o.createBlocksFromInnerBlocksTemplate)(r));t(i,void 0,c)},[t])]}},"+WrK":function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.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"}));t.a=c},"+gtr":function(e,t,n){"use strict";n.d(t,"a",(function(){return H}));var o=n("wx14"),r=n("GRId"),c=n("TSYQ"),i=n.n(c),l=n("1ZqX"),a=n("K9lf"),s=n("HSyU"),u=n("tI+e"),d=n("JygI"),b=n("l3Sj"),p=n("wC17"),m=n("7SSY"),f=n("YLtl");const{clearTimeout:h,setTimeout:g}=window;function O({ref:e,isFocused:t,debounceTimeout:n=200,onChange:o=f.noop}){const[c,i]=Object(r.useState)(!1),l=Object(r.useRef)(),a=t=>{null!=e&&e.current&&i(t),o(t)},s=()=>{const n=(null==e?void 0:e.current)&&e.current.matches(":hover");return!t&&!n},u=()=>{const e=l.current;e&&h&&h(e)};return Object(r.useEffect)(()=>()=>u(),[]),{showMovers:c,debouncedShowMovers:e=>{e&&e.stopPropagation(),u(),c||a(!0)},debouncedHideMovers:e=>{e&&e.stopPropagation(),u(),l.current=g(()=>{s()&&a(!1)},n)}}}function v({ref:e,debounceTimeout:t=200,onChange:n=f.noop}){const[o,c]=Object(r.useState)(!1),{showMovers:i,debouncedShowMovers:l,debouncedHideMovers:a}=O({ref:e,debounceTimeout:t,isFocused:o,onChange:n}),s=Object(r.useRef)(!1),u=()=>(null==e?void 0:e.current)&&e.current.contains(e.current.ownerDocument.activeElement);return Object(r.useEffect)(()=>{const t=e.current,n=()=>{u()&&(c(!0),l())},o=()=>{u()||(c(!1),a())};return t&&!s.current&&(t.addEventListener("focus",n,!0),t.addEventListener("blur",o,!0),s.current=!0),()=>{t&&(t.removeEventListener("focus",n),t.removeEventListener("blur",o))}},[e,s,c,l,a]),{showMovers:i,gestures:{onMouseMove:l,onMouseLeave:a}}}var j=n("BhPs");function k(){const{selectBlock:e,toggleBlockHighlight:t}=Object(l.useDispatch)(j.a),{firstParentClientId:n,shouldHide:c,hasReducedUI:i}=Object(l.useSelect)(e=>{const{getBlockName:t,getBlockParents:n,getSelectedBlockClientId:o,getSettings:r}=e(j.a),{hasBlockSupport:c}=e(s.store),i=n(o()),l=i[i.length-1],a=t(l),u=Object(s.getBlockType)(a),d=r();return{firstParentClientId:l,shouldHide:!c(u,"__experimentalParentSelector",!0),hasReducedUI:d.hasReducedUI}},[]),a=Object(p.a)(n),d=Object(r.useRef)(),{gestures:f}=v({ref:d,onChange(e){e&&i||t(n,e)}});return c||void 0===n?null:Object(r.createElement)("div",Object(o.a)({className:"block-editor-block-parent-selector",key:n,ref:d},f),Object(r.createElement)(u.ToolbarButton,{className:"block-editor-block-parent-selector__button",onClick:()=>e(n),label:Object(b.sprintf)(Object(b.__)("Select %s"),a.title),showTooltip:!0,icon:Object(r.createElement)(m.a,{icon:a.icon})}))}var _=n("wzfx"),y=n("f8JO"),E=n("REKd");function C({blocks:e}){return Object(r.createElement)("div",{className:"block-editor-block-switcher__popover__preview__parent"},Object(r.createElement)("div",{className:"block-editor-block-switcher__popover__preview__container"},Object(r.createElement)(u.Popover,{className:"block-editor-block-switcher__preview__popover",position:"bottom right",focusOnMount:!1},Object(r.createElement)("div",{className:"block-editor-block-switcher__preview"},Object(r.createElement)("div",{className:"block-editor-block-switcher__preview-title"},Object(b.__)("Preview")),Object(r.createElement)(E.a,{viewportWidth:500,blocks:e})))))}var S=({className:e,possibleBlockTransformations:t,onSelect:n,blocks:o})=>{const[c,i]=Object(r.useState)();return Object(r.createElement)(u.MenuGroup,{label:Object(b.__)("Transform to"),className:e},c&&Object(r.createElement)(C,{blocks:Object(s.switchToBlockType)(o,c)}),t.map(e=>{const{name:t,icon:o,title:c,isDisabled:l}=e;return Object(r.createElement)(u.MenuItem,{key:t,className:Object(s.getBlockMenuDefaultClassName)(t),onClick:e=>{e.preventDefault(),n(t)},disabled:l,onMouseLeave:()=>i(null),onMouseEnter:()=>i(t)},Object(r.createElement)(m.a,{icon:o,showColors:!0}),c)}))},w=n("7NR9");function B({hoveredBlock:e,onSwitch:t}){const{name:n,clientId:o}=e,[c,i]=Object(r.useState)(),a=Object(l.useSelect)(e=>e(s.store).getBlockType(n),[n]);return Object(r.createElement)(u.MenuGroup,{label:Object(b.__)("Styles"),className:"block-editor-block-switcher__styles__menugroup"},c&&Object(r.createElement)(C,{blocks:a&&a.example?Object(s.getBlockFromExample)(a.name,{attributes:{...a.example.attributes,className:c},innerBlocks:a.example.innerBlocks}):Object(s.cloneBlock)(e,{className:c})}),Object(r.createElement)(w.a,{clientId:o,onSwitch:t,onHoverClassName:i,itemRole:"menuitem"}))}var I=n("1iEr");const x=(e,t,n=new Set)=>{const{clientId:o,name:r,innerBlocks:c=[]}=e;if(!n.has(o)){if(r===t)return e;for(const e of c){const o=x(e,t,n);if(o)return o}}},T=(e,t)=>{const n=((e,t)=>{const n=Object(s.__experimentalGetBlockAttributesNamesByRole)(e,"content");return null!=n&&n.length?n.reduce((e,n)=>(t[n]&&(e[n]=t[n]),e),{}):t})(t.name,t.attributes);e.attributes={...e.attributes,...n}};var P=(e,t)=>Object(r.useMemo)(()=>e.reduce((e,n)=>{const o=((e,t)=>{const n=t.map(e=>Object(s.cloneBlock)(e)),o=new Set;for(const t of e){let e=!1;for(const r of n){const n=x(r,t.name,o);if(n){e=!0,o.add(n.clientId),T(n,t);break}}if(!e)return}return n})(t,n.blocks);return o&&e.push({...n,transformedBlocks:o}),e},[]),[e,t]);function R({patterns:e,onSelect:t}){return Object(r.createElement)("div",{className:"block-editor-block-switcher__popover__preview__parent"},Object(r.createElement)("div",{className:"block-editor-block-switcher__popover__preview__container"},Object(r.createElement)(u.Popover,{className:"block-editor-block-switcher__preview__popover",position:"bottom right"},Object(r.createElement)("div",{className:"block-editor-block-switcher__preview"},Object(r.createElement)("div",{className:"block-editor-block-switcher__preview-title"},Object(b.__)("Preview")),Object(r.createElement)(N,{patterns:e,onSelect:t})))))}function N({patterns:e,onSelect:t}){const n=Object(u.__unstableUseCompositeState)();return Object(r.createElement)(u.__unstableComposite,Object(o.a)({},n,{role:"listbox",className:"block-editor-block-switcher__preview-patterns-container","aria-label":Object(b.__)("Patterns list")}),e.map(e=>Object(r.createElement)(L,{key:e.name,pattern:e,onSelect:t,composite:n})))}function L({pattern:e,onSelect:t,composite:n}){const c="block-editor-block-switcher__preview-patterns-container",i=Object(a.useInstanceId)(L,c+"-list__item-description");return Object(r.createElement)("div",{className:c+"-list__list-item","aria-label":e.title,"aria-describedby":e.description?i:void 0},Object(r.createElement)(u.__unstableCompositeItem,Object(o.a)({role:"option",as:"div"},n,{className:c+"-list__item",onClick:()=>t(e.transformedBlocks)}),Object(r.createElement)(E.a,{blocks:e.transformedBlocks,viewportWidth:e.viewportWidth||500}),Object(r.createElement)("div",{className:c+"-list__item-title"},e.title)),!!e.description&&Object(r.createElement)(u.VisuallyHidden,{id:i},e.description))}var M=function({blocks:e,patterns:t,onSelect:n}){const[o,c]=Object(r.useState)(!1),i=P(t,e);return i.length?Object(r.createElement)(u.MenuGroup,{className:"block-editor-block-switcher__pattern__transforms__menugroup"},o&&Object(r.createElement)(R,{patterns:i,onSelect:n}),Object(r.createElement)(u.MenuItem,{onClick:e=>{e.preventDefault(),c(!o)},icon:I.a},Object(b.__)("Patterns"))):null};const A=({clientIds:e,blocks:t})=>{const{replaceBlocks:n}=Object(l.useDispatch)(j.a),o=Object(p.a)(t[0].clientId),{possibleBlockTransformations:c,canRemove:i,hasBlockStyles:a,icon:d,blockTitle:h,patterns:g}=Object(l.useSelect)(n=>{var r;const{getBlockRootClientId:c,getBlockTransformItems:i,__experimentalGetPatternTransformItems:l}=n(j.a),{getBlockStyles:a,getBlockType:u}=n(s.store),{canRemoveBlocks:d}=n(j.a),b=c(Object(f.castArray)(e)[0]),[{name:p}]=t,m=1===t.length,h=m&&a(p);let g;if(m)g=null==o?void 0:o.icon;else{var O;g=1===Object(f.uniq)(t.map(({name:e})=>e)).length?null===(O=u(p))||void 0===O?void 0:O.icon:_.a}return{possibleBlockTransformations:i(t,b),canRemove:d(e,b),hasBlockStyles:!(null==h||!h.length),icon:g,blockTitle:null===(r=u(p))||void 0===r?void 0:r.title,patterns:l(t,b)}},[e,t,null==o?void 0:o.icon]),O=1===t.length&&Object(s.isReusableBlock)(t[0]),v=1===t.length&&Object(s.isTemplatePart)(t[0]),k=!!c.length&&i,E=!(null==g||!g.length)&&i;if(!a&&!k)return Object(r.createElement)(u.ToolbarGroup,null,Object(r.createElement)(u.ToolbarButton,{disabled:!0,className:"block-editor-block-switcher__no-switcher-icon",title:h,icon:Object(r.createElement)(m.a,{icon:d,showColors:!0})}));const C=h,w=1===t.length?Object(b.sprintf)(Object(b.__)("%s: Change block type or style"),h):Object(b.sprintf)(Object(b._n)("Change type of %d block","Change type of %d blocks",t.length),t.length),I=a||k||E;return Object(r.createElement)(u.ToolbarGroup,null,Object(r.createElement)(u.ToolbarItem,null,o=>Object(r.createElement)(u.DropdownMenu,{className:"block-editor-block-switcher",label:C,popoverProps:{position:"bottom right",isAlternate:!0,className:"block-editor-block-switcher__popover"},icon:Object(r.createElement)(r.Fragment,null,Object(r.createElement)(m.a,{icon:d,className:"block-editor-block-switcher__toggle",showColors:!0}),(O||v)&&Object(r.createElement)("span",{className:"block-editor-block-switcher__toggle-text"},Object(r.createElement)(y.a,{clientId:e}))),toggleProps:{describedBy:w,...o},menuProps:{orientation:"both"}},({onClose:o})=>I&&Object(r.createElement)("div",{className:"block-editor-block-switcher__container"},E&&Object(r.createElement)(M,{blocks:t,patterns:g,onSelect:t=>{(t=>{n(e,t)})(t),o()}}),k&&Object(r.createElement)(S,{className:"block-editor-block-switcher__transforms__menugroup",possibleBlockTransformations:c,blocks:t,onSelect:r=>{(o=>{n(e,Object(s.switchToBlockType)(t,o))})(r),o()}}),a&&Object(r.createElement)(B,{hoveredBlock:t[0],onSwitch:o})))))};var D=({clientIds:e})=>{const t=Object(l.useSelect)(t=>t(j.a).getBlocksByClientId(e),[e]);return!t.length||t.some(e=>!e)?null:Object(r.createElement)(A,{clientIds:e,blocks:t})},F=n("fOYa"),z=n("U1WI");function H({hideDragHandle:e}){const{blockClientIds:t,blockClientId:n,blockType:c,hasFixedToolbar:b,hasReducedUI:p,isValid:m,isVisual:f}=Object(l.useSelect)(e=>{const{getBlockName:t,getBlockMode:n,getSelectedBlockClientIds:o,isBlockValid:r,getBlockRootClientId:c,getSettings:i}=e(j.a),l=o(),a=l[0],u=c(a),d=i();return{blockClientIds:l,blockClientId:a,blockType:a&&Object(s.getBlockType)(t(a)),hasFixedToolbar:d.hasFixedToolbar,hasReducedUI:d.hasReducedUI,rootClientId:u,isValid:l.every(e=>r(e)),isVisual:l.every(e=>"visual"===n(e))}},[]),{toggleBlockHighlight:h}=Object(l.useDispatch)(j.a),g=Object(r.useRef)(),{showMovers:O,gestures:_}=v({ref:g,onChange(e){e&&p||h(n,e)}}),y=Object(a.useViewportMatch)("medium","<")||b;if(c&&!Object(s.hasBlockSupport)(c,"__experimentalToolbar",!0))return null;const E=y||O;if(0===t.length)return null;const C=m&&f,S=t.length>1,w=i()("block-editor-block-toolbar",E&&"is-showing-movers");return Object(r.createElement)("div",{className:w},!S&&!y&&Object(r.createElement)(k,{clientIds:t}),Object(r.createElement)("div",Object(o.a)({ref:g},_),(C||S)&&Object(r.createElement)(u.ToolbarGroup,{className:"block-editor-block-toolbar__block-controls"},Object(r.createElement)(D,{clientIds:t}),Object(r.createElement)(d.a,{clientIds:t,hideDragHandle:e||p}))),C&&Object(r.createElement)(r.Fragment,null,Object(r.createElement)(F.b.Slot,{group:"parent",className:"block-editor-block-toolbar__slot"}),Object(r.createElement)(F.b.Slot,{group:"block",className:"block-editor-block-toolbar__slot"}),Object(r.createElement)(F.b.Slot,{className:"block-editor-block-toolbar__slot"}),Object(r.createElement)(F.b.Slot,{group:"inline",className:"block-editor-block-toolbar__slot"}),Object(r.createElement)(F.b.Slot,{group:"other",className:"block-editor-block-toolbar__slot"})),Object(r.createElement)(z.a,{clientIds:t}))}},"//Lo":function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.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"}));t.a=c},"/Hvg":function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var o=n("GRId"),r=n("tI+e"),c=n("l3Sj"),i=n("Tqx9");var l=Object(o.createElement)(i.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(i.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"}));var a=Object(o.createElement)(i.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(i.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"}));var s=Object(o.createElement)(i.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(i.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"}));const u=[{name:Object(c.__)("Uppercase"),value:"uppercase",icon:l},{name:Object(c.__)("Lowercase"),value:"lowercase",icon:a},{name:Object(c.__)("Capitalize"),value:"capitalize",icon:s}];function d({value:e,onChange:t}){return Object(o.createElement)("fieldset",{className:"block-editor-text-transform-control"},Object(o.createElement)("legend",null,Object(c.__)("Letter case")),Object(o.createElement)("div",{className:"block-editor-text-transform-control__buttons"},u.map(n=>Object(o.createElement)(r.Button,{key:n.value,icon:n.icon,isSmall:!0,isPressed:e===n.value,"aria-label":n.name,onClick:()=>t(e===n.value?void 0:n.value)}))))}},"/QNa":function(e,t,n){"use strict";var o=n("GRId"),r=n("1ZqX"),c=n("wx14"),i=n("K9lf"),l=n("BhPs"),a=n("AHN3");var s=Object(i.createHigherOrderComponent)(e=>Object(r.withRegistry)(({useSubRegistry:t=!0,registry:n,...i})=>{if(!t)return Object(o.createElement)(e,Object(c.a)({registry:n},i));const[s,u]=Object(o.useState)(null);return Object(o.useEffect)(()=>{const e=Object(r.createRegistry)({},n);e.registerStore(a.a,l.b),u(e)},[n]),s?Object(o.createElement)(r.RegistryProvider,{value:s},Object(o.createElement)(e,Object(c.a)({registry:s},i))):null}),"withRegistryProvider"),u=n("JGYp"),d=n("cDhi");t.a=s((function(e){const{children:t,settings:n}=e,{updateSettings:c}=Object(r.useDispatch)(l.a);return Object(o.useEffect)(()=>{c(n)},[n]),Object(u.a)(e),Object(o.createElement)(d.b,null,t)}))},"/lNF":function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var o=n("HSyU"),r=n("1ZqX"),c=n("1CF3"),i=n("BhPs");function l(e,t,n,r,c,i,l){return a=>{const{srcRootClientId:s,srcClientIds:u,type:d,blocks:b}=function(e){let t={srcRootClientId:null,srcClientIds:null,srcIndex:null,type:null,blocks:null};if(!e.dataTransfer)return t;try{t=Object.assign(t,JSON.parse(e.dataTransfer.getData("wp-blocks")))}catch(e){return t}return t}(a);if("inserter"===d){l();const n=b.map(e=>Object(o.cloneBlock)(e));i(n,t,e,!0,null)}if("block"===d){const o=n(u[0],s);if(s===e&&o===t)return;if(u.includes(e)||r(u).some(t=>t===e))return;const i=s===e,l=u.length;c(u,s,e,i&&oe(i.a).getSettings().mediaUpload,[]),{canInsertBlockType:a,getBlockIndex:s,getClientIdsOfDescendants:u}=Object(r.useSelect)(i.a),{insertBlocks:d,moveBlocksToPosition:b,updateBlockAttributes:p,clearSelectedBlock:m}=Object(r.useDispatch)(i.a),f=l(e,t,s,u,b,d,m),h=function(e,t,n,r,c,i){return l=>{if(!n)return;const a=Object(o.findTransform)(Object(o.getBlockTransforms)("from"),t=>"files"===t.type&&c(t.blockName,e)&&t.isMatch(l));if(a){const n=a.transform(l,r);i(n,t,e)}}}(e,t,n,p,a,d),g=function(e,t,n){return r=>{const c=Object(o.pasteHandler)({HTML:r,mode:"BLOCKS"});c.length&&n(c,t,e)}}(e,t,d);return e=>{const t=Object(c.getFilesFromDataTransfer)(e.dataTransfer),n=e.dataTransfer.getData("text/html");t.length?h(t):n?g(n):f(e)}}},"0E5u":function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return m}));var o=n("wx14"),r=n("GRId"),c=n("tI+e"),i=n("kWXm"),l=n("DmX/"),a=n("suLj"),s=n("bTSr"),u=n("l3Sj");const d={left:i.a,center:l.a,right:a.a,"space-between":s.a};var b=function({allowedControls:e=["left","center","right","space-between"],isCollapsed:t=!0,onChange:n,value:b,popoverProps:p,isToolbar:m}){const f=e=>{n(e===b?void 0:e)},h=b?d[b]:d.left,g=[{name:"left",icon:i.a,title:Object(u.__)("Justify items left"),isActive:"left"===b,onClick:()=>f("left")},{name:"center",icon:l.a,title:Object(u.__)("Justify items center"),isActive:"center"===b,onClick:()=>f("center")},{name:"right",icon:a.a,title:Object(u.__)("Justify items right"),isActive:"right"===b,onClick:()=>f("right")},{name:"space-between",icon:s.a,title:Object(u.__)("Space between items"),isActive:"space-between"===b,onClick:()=>f("space-between")}],O=m?c.ToolbarGroup:c.ToolbarDropdownMenu,v=m?{isCollapsed:t}:{};return Object(r.createElement)(O,Object(o.a)({icon:h,popoverProps:p,label:Object(u.__)("Change items justification"),controls:g.filter(t=>e.includes(t.name))},v))};function p(e){return Object(r.createElement)(b,Object(o.a)({},e,{isToolbar:!1}))}function m(e){return Object(r.createElement)(b,Object(o.a)({},e,{isToolbar:!0}))}},"14PQ":function(e,t,n){"use strict";n.d(t,"gc",(function(){return o.b})),n.d(t,"hc",(function(){return o.c})),n.d(t,"ic",(function(){return o.d})),n.d(t,"fc",(function(){return o.a})),n.d(t,"uc",(function(){return o.e})),n.d(t,"xb",(function(){return r.a})),n.d(t,"nc",(function(){return r.e})),n.d(t,"yb",(function(){return r.b})),n.d(t,"mc",(function(){return r.d})),n.d(t,"Rb",(function(){return r.c})),n.d(t,"jc",(function(){return c.b})),n.d(t,"kc",(function(){return c.c})),n.d(t,"lc",(function(){return c.d})),n.d(t,"I",(function(){return c.a})),n.d(t,"vc",(function(){return c.e})),n.d(t,"a",(function(){return g})),n.d(t,"b",(function(){return O})),n.d(t,"c",(function(){return x})),n.d(t,"d",(function(){return T.a})),n.d(t,"e",(function(){return T.b})),n.d(t,"nb",(function(){return N})),n.d(t,"lb",(function(){return M})),n.d(t,"f",(function(){return z})),n.d(t,"mb",(function(){return G})),n.d(t,"h",(function(){return U.a})),n.d(t,"i",(function(){return W.b})),n.d(t,"m",(function(){return W.a})),n.d(t,"g",(function(){return Y})),n.d(t,"j",(function(){return X.a})),n.d(t,"pc",(function(){return k.c})),n.d(t,"n",(function(){return C.a})),n.d(t,"r",(function(){return Be})),n.d(t,"pb",(function(){return xe})),n.d(t,"ob",(function(){return We})),n.d(t,"qb",(function(){return $e})),n.d(t,"A",(function(){return nt})),n.d(t,"z",(function(){return tt})),n.d(t,"rb",(function(){return ot.a})),n.d(t,"sb",(function(){return rt.a})),n.d(t,"C",(function(){return ct.a})),n.d(t,"B",(function(){return ct.b})),n.d(t,"D",(function(){return at})),n.d(t,"E",(function(){return ut})),n.d(t,"F",(function(){return dt.a})),n.d(t,"ub",(function(){return bt.a})),n.d(t,"vb",(function(){return pt.a})),n.d(t,"wb",(function(){return mt.a})),n.d(t,"Eb",(function(){return ft.a})),n.d(t,"Ob",(function(){return ht.a})),n.d(t,"Pb",(function(){return gt.a})),n.d(t,"tb",(function(){return st.a})),n.d(t,"Lb",(function(){return Ot.a})),n.d(t,"Ab",(function(){return on})),n.d(t,"zb",(function(){return qt})),n.d(t,"Bb",(function(){return cn})),n.d(t,"J",(function(){return ln.a})),n.d(t,"rc",(function(){return ln.b})),n.d(t,"M",(function(){return an.b})),n.d(t,"L",(function(){return an.a})),n.d(t,"O",(function(){return sn.b})),n.d(t,"N",(function(){return sn.a})),n.d(t,"Gb",(function(){return Hn})),n.d(t,"Hb",(function(){return xn})),n.d(t,"Jb",(function(){return yn})),n.d(t,"Ib",(function(){return kn})),n.d(t,"P",(function(){return Vn.a})),n.d(t,"Kb",(function(){return Se})),n.d(t,"R",(function(){return $n})),n.d(t,"Q",(function(){return to})),n.d(t,"S",(function(){return qn})),n.d(t,"T",(function(){return Kn})),n.d(t,"X",(function(){return no})),n.d(t,"Y",(function(){return Ro})),n.d(t,"Nb",(function(){return Lo})),n.d(t,"ab",(function(){return xo})),n.d(t,"bb",(function(){return Mo})),n.d(t,"cb",(function(){return Ao})),n.d(t,"Yb",(function(){return Do})),n.d(t,"eb",(function(){return zo})),n.d(t,"Qb",(function(){return Ho})),n.d(t,"gb",(function(){return gn})),n.d(t,"hb",(function(){return Wo})),n.d(t,"ib",(function(){return Jn})),n.d(t,"Cb",(function(){return Yo})),n.d(t,"tc",(function(){return lt})),n.d(t,"Ub",(function(){return Xo.a})),n.d(t,"Xb",(function(){return Zo.a})),n.d(t,"Mb",(function(){return Qo})),n.d(t,"Tb",(function(){return Jo})),n.d(t,"o",(function(){return ur})),n.d(t,"p",(function(){return dr.c})),n.d(t,"qc",(function(){return br.a})),n.d(t,"Db",(function(){return pr.b})),n.d(t,"q",(function(){return mr.a})),n.d(t,"s",(function(){return Te.a})),n.d(t,"t",(function(){return fr.a})),n.d(t,"Zb",(function(){return fr.b})),n.d(t,"u",(function(){return hr.a})),n.d(t,"v",(function(){return gr.a})),n.d(t,"w",(function(){return F.a})),n.d(t,"x",(function(){return Or.a})),n.d(t,"y",(function(){return Er})),n.d(t,"G",(function(){return Cr.a})),n.d(t,"bc",(function(){return Cr.b})),n.d(t,"H",(function(){return Sr.a})),n.d(t,"Vb",(function(){return wr.a})),n.d(t,"K",(function(){return Br.a})),n.d(t,"Fb",(function(){return xr})),n.d(t,"k",(function(){return Pr})),n.d(t,"U",(function(){return Rr})),n.d(t,"V",(function(){return Nr.a})),n.d(t,"W",(function(){return Dr})),n.d(t,"ec",(function(){return Ar})),n.d(t,"cc",(function(){return Mr})),n.d(t,"Z",(function(){return Fr})),n.d(t,"db",(function(){return tr})),n.d(t,"fb",(function(){return Gr})),n.d(t,"dc",(function(){return Vr})),n.d(t,"jb",(function(){return Ur.a})),n.d(t,"kb",(function(){return Wr.a})),n.d(t,"ac",(function(){return Kr})),n.d(t,"oc",(function(){return ce.a})),n.d(t,"Wb",(function(){return $r.a})),n.d(t,"Sb",(function(){return Xr})),n.d(t,"l",(function(){return Zr.a})),n.d(t,"sc",(function(){return it.a}));var o=n("5gPN"),r=n("zmSX"),c=n("9XVa"),i=n("wx14"),l=n("GRId"),a=n("YLtl"),s=n("l3Sj"),u=n("tI+e"),d=n("fPbg"),b=n("plpT"),p=n("ziDm");const m=[{icon:d.a,title:Object(s.__)("Align text left"),align:"left"},{icon:b.a,title:Object(s.__)("Align text center"),align:"center"},{icon:p.a,title:Object(s.__)("Align text right"),align:"right"}],f={position:"bottom right",isAlternate:!0};var h=function({value:e,onChange:t,alignmentControls:n=m,label:o=Object(s.__)("Align"),describedBy:r=Object(s.__)("Change text alignment"),isCollapsed:c=!0,isToolbar:b}){function h(n){return()=>t(e===n?void 0:n)}const g=Object(a.find)(n,t=>t.align===e),O=b?u.ToolbarGroup:u.ToolbarDropdownMenu,v=b?{isCollapsed:c}:{};return Object(l.createElement)(O,Object(i.a)({icon:g?g.icon:Object(s.isRTL)()?p.a:d.a,label:o,toggleProps:{describedBy:r},popoverProps:f,controls:n.map(t=>{const{align:n}=t,o=e===n;return{...t,isActive:o,role:c?"menuitemradio":void 0,onClick:h(n)}})},v))};function g(e){return Object(l.createElement)(h,Object(i.a)({},e,{isToolbar:!1}))}function O(e){return Object(l.createElement)(h,Object(i.a)({},e,{isToolbar:!0}))}var v=n("g56x"),j=n("HSyU"),k=n("ur0x"),_=n("1ZqX"),y=n("pOGT"),E=n("+G0a"),C=n("7SSY"),S=n("BhPs");var w={name:"blocks",className:"block-editor-autocompleters__block",triggerPrefix:"/",useItems(e){const{rootClientId:t,selectedBlockName:n}=Object(_.useSelect)(e=>{const{getSelectedBlockClientId:t,getBlockName:n,getBlockInsertionPoint:o}=e(S.a),r=t();return{selectedBlockName:r?n(r):null,rootClientId:o().rootClientId}},[]),[o,r,c]=Object(E.a)(t,a.noop),i=Object(l.useMemo)(()=>(e.trim()?Object(y.a)(o,r,c,e):Object(a.orderBy)(o,["frecency"],["desc"])).filter(e=>e.name!==n).slice(0,9),[e,n,o,r,c]);return[Object(l.useMemo)(()=>i.map(e=>{const{title:t,icon:n,isDisabled:o}=e;return{key:"block-"+e.id,value:e,label:Object(l.createElement)(l.Fragment,null,Object(l.createElement)(C.a,{key:"icon",icon:n,showColors:!0}),t),isDisabled:o}}),[i])]},allowContext:(e,t)=>!(/\S/.test(e)||/\S/.test(t)),getOptionCompletion(e){const{name:t,initialAttributes:n,innerBlocks:o}=e;return{action:"replace",value:Object(j.createBlock)(t,n,Object(j.createBlocksFromInnerBlocksTemplate)(o))}}};const B=[];function I({completers:e=B}){const{name:t}=Object(k.c)();return Object(l.useMemo)(()=>{let n=e;return(t===Object(j.getDefaultBlockName)()||Object(j.getBlockSupport)(t,"__experimentalSlashInserter",!1))&&(n=n.concat([w])),Object(v.hasFilter)("editor.Autocomplete.completers")&&(n===e&&(n=n.map(a.clone)),n=Object(v.applyFilters)("editor.Autocomplete.completers",n,t)),n},[e,t])}var x=function(e){return Object(l.createElement)(u.Autocomplete,Object(i.a)({},e,{completers:I(e)}))},T=n("vtO0"),P=n("Tqx9");var R=Object(l.createElement)(P.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(l.createElement)(P.Path,{d:"M4.2 9h1.5V5.8H9V4.2H4.2V9zm14 9.2H15v1.5h4.8V15h-1.5v3.2zM15 4.2v1.5h3.2V9h1.5V4.2H15zM5.8 15H4.2v4.8H9v-1.5H5.8V15z"}));var N=function({isActive:e,label:t=Object(s.__)("Toggle full height"),onToggle:n,isDisabled:o}){return Object(l.createElement)(u.ToolbarButton,{isActive:e,icon:R,label:t,onClick:()=>n(!e),disabled:o})},L=n("RxS6");var M=function(e){const{label:t=Object(s.__)("Change matrix alignment"),onChange:n=a.noop,value:o="center",isDisabled:r}=e,c=Object(l.createElement)(u.__experimentalAlignmentMatrixControl.Icon,{value:o}),i="block-editor-block-alignment-matrix-control";return Object(l.createElement)(u.Dropdown,{position:"bottom right",className:i,popoverProps:{className:"block-editor-block-alignment-matrix-control__popover",isAlternate:!0},renderToggle:({onToggle:e,isOpen:n})=>Object(l.createElement)(u.ToolbarButton,{onClick:e,"aria-haspopup":"true","aria-expanded":n,onKeyDown:t=>{n||t.keyCode!==L.DOWN||(t.preventDefault(),e())},label:t,icon:c,showTooltip:!0,disabled:r}),renderContent:()=>Object(l.createElement)(u.__experimentalAlignmentMatrixControl,{hasFocusBorder:!1,onChange:n,value:o})})},A=n("iClF");var D=Object(l.createElement)(P.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(l.createElement)(P.Path,{d:"M10.8622 8.04053L14.2805 12.0286L10.8622 16.0167L9.72327 15.0405L12.3049 12.0286L9.72327 9.01672L10.8622 8.04053Z"})),F=n("f8JO");var z=function({rootLabelText:e}){const{selectBlock:t,clearSelectedBlock:n}=Object(_.useDispatch)(S.a),{clientId:o,parents:r,hasSelection:c}=Object(_.useSelect)(e=>{const{getSelectionStart:t,getSelectedBlockClientId:n,getBlockParents:o}=e(S.a),r=n();return{parents:o(r),clientId:r,hasSelection:!!t().clientId}},[]),i=e||Object(s.__)("Document");return Object(l.createElement)("ul",{className:"block-editor-block-breadcrumb",role:"list","aria-label":Object(s.__)("Block breadcrumb")},Object(l.createElement)("li",{className:c?void 0:"block-editor-block-breadcrumb__current","aria-current":c?void 0:"true"},c&&Object(l.createElement)(u.Button,{className:"block-editor-block-breadcrumb__button",variant:"tertiary",onClick:n},i),!c&&i,!!o&&Object(l.createElement)(A.a,{icon:D,className:"block-editor-block-breadcrumb__separator"})),r.map(e=>Object(l.createElement)("li",{key:e},Object(l.createElement)(u.Button,{className:"block-editor-block-breadcrumb__button",variant:"tertiary",onClick:()=>t(e)},Object(l.createElement)(F.a,{clientId:e})),Object(l.createElement)(A.a,{icon:D,className:"block-editor-block-breadcrumb__separator"}))),!!o&&Object(l.createElement)("li",{className:"block-editor-block-breadcrumb__current","aria-current":"true"},Object(l.createElement)(F.a,{clientId:o})))},H=n("TSYQ"),V=n.n(H);function G({clientId:e,tagName:t="div",wrapperProps:n,className:o}){const[r,c]=Object(l.useState)(!0),[a,s]=Object(l.useState)(!1),{isParentSelected:u,hasChildSelected:d,isDraggingBlocks:b,isParentHighlighted:p}=Object(_.useSelect)(t=>{const{isBlockSelected:n,hasSelectedInnerBlock:o,isDraggingBlocks:r,isBlockHighlighted:c}=t(S.a);return{isParentSelected:n(e),hasChildSelected:o(e,!0),isDraggingBlocks:r(),isParentHighlighted:c(e)}},[e]),m=V()("block-editor-block-content-overlay",null==n?void 0:n.className,o,{"overlay-active":r,"parent-highlighted":p,"is-dragging-blocks":b});return Object(l.useEffect)(()=>{u||d||r||c(!0),u&&!a&&r&&c(!1),d&&r&&c(!1)},[u,d,r,a]),Object(l.createElement)(t,Object(i.a)({},n,{className:m,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),onMouseUp:r?()=>c(!1):void 0}),null==n?void 0:n.children)}var U=n("uoCR"),W=n("fOYa");const q=()=>Object(l.createElement)(u.SVG,{xmlns:"https://www.w3.org/2000/svg",viewBox:"0 0 20 20"},Object(l.createElement)(u.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"})),K=({style:e,className:t})=>Object(l.createElement)("div",{className:"block-library-colors-selector__icon-container"},Object(l.createElement)("div",{className:t+" block-library-colors-selector__state-selection",style:e},Object(l.createElement)(q,null))),$=({TextColor:e,BackgroundColor:t})=>({onToggle:n,isOpen:o})=>Object(l.createElement)(u.ToolbarGroup,null,Object(l.createElement)(u.ToolbarButton,{className:"components-toolbar__control block-library-colors-selector__toggle",label:Object(s.__)("Open Colors Selector"),onClick:n,onKeyDown:e=>{o||e.keyCode!==L.DOWN||(e.preventDefault(),n())},icon:Object(l.createElement)(t,null,Object(l.createElement)(e,null,Object(l.createElement)(K,null)))}));var Y=({children:e,...t})=>Object(l.createElement)(u.Dropdown,{position:"bottom right",className:"block-library-colors-selector",contentClassName:"block-library-colors-selector__popover",renderToggle:$(t),renderContent:()=>e}),X=n("JRTi"),Z=n("OzlF"),Q=n("K9lf"),J=n("VKE3"),ee=n("+DUQ"),te=n("Xkls");const ne=Object(ee.animated)(u.__experimentalTreeGridRow);function oe({isSelected:e,position:t,level:n,rowCount:o,children:r,className:c,path:a,...s}){const u=Object(te.a)({isSelected:e,adjustScrolling:!1,enableAnimation:!0,triggerAnimationOnChange:a});return Object(l.createElement)(ne,Object(i.a)({ref:u,className:V()("block-editor-list-view-leaf",c),level:n,positionInSet:t,setSize:o},s),r)}var re=n("9Ma0"),ce=n("wC17");function ie({onClick:e}){return Object(l.createElement)("span",{className:"block-editor-list-view__expander",onClick:t=>e(t,{forceToggle:!0}),"aria-hidden":"true"},Object(l.createElement)(A.a,{icon:D}))}var le=Object(l.forwardRef)((function e({className:t,block:{clientId:n},isSelected:o,onClick:r,onToggleExpanded:c,position:i,siblingBlockCount:a,level:d,tabIndex:b,onFocus:p,onDragStart:m,onDragEnd:f,draggable:h},g){const O=Object(ce.a)(n),v="list-view-block-select-button__"+Object(Q.useInstanceId)(e),j=((e,t,n)=>Object(s.sprintf)(Object(s.__)("Block %1$d of %2$d, Level %3$d"),e,t,n))(i,a,d);return Object(l.createElement)(l.Fragment,null,Object(l.createElement)(u.Button,{className:V()("block-editor-list-view-block-select-button",t),onClick:r,"aria-describedby":v,ref:g,tabIndex:b,onFocus:p,onDragStart:m,onDragEnd:f,draggable:h},Object(l.createElement)(ie,{onClick:c}),Object(l.createElement)(C.a,{icon:null==O?void 0:O.icon,showColors:!0}),Object(l.createElement)(F.a,{clientId:n}),(null==O?void 0:O.anchor)&&Object(l.createElement)("span",{className:"block-editor-list-view-block-select-button__anchor"},O.anchor),o&&Object(l.createElement)(u.VisuallyHidden,null,Object(s.__)("(selected block)"))),Object(l.createElement)("div",{className:"block-editor-list-view-block-select-button__description",id:v},j))})),ae=n("ZAjO");var se=Object(l.forwardRef)(({onClick:e,onToggleExpanded:t,block:n,isSelected:o,position:r,siblingBlockCount:c,level:a,...s},u)=>{const{clientId:d}=n,{blockMovingClientId:b,selectedBlockInBlockEditor:p}=Object(_.useSelect)(e=>{const{getBlockRootClientId:t,hasBlockMovingClientId:n,getSelectedBlockClientId:o}=e(S.a);return{rootClientId:t(d)||"",blockMovingClientId:n(),selectedBlockInBlockEditor:o()}},[d]),m=b&&p===d,f=V()("block-editor-list-view-block-contents",{"is-dropping-before":m});return Object(l.createElement)(ae.a,{clientIds:[n.clientId]},({draggable:d,onDragStart:b,onDragEnd:p})=>Object(l.createElement)(le,Object(i.a)({ref:u,className:f,block:n,onClick:e,onToggleExpanded:t,isSelected:o,position:r,siblingBlockCount:c,level:a,draggable:d,onDragStart:b,onDragEnd:p},s)))}),ue=n("1eGn");const de=Object(l.createContext)({__experimentalFeatures:!1,__experimentalPersistentListViewFeatures:!1}),be=()=>Object(l.useContext)(de);var pe=Object(l.memo)((function({block:e,isDragged:t,isSelected:n,isBranchSelected:o,selectBlock:r,position:c,level:i,rowCount:a,siblingBlockCount:s,showBlockMovers:d,path:b,isExpanded:p}){const m=Object(l.useRef)(null),[f,h]=Object(l.useState)(!1),{clientId:g}=e,{toggleBlockHighlight:O}=Object(_.useDispatch)(S.a),{__experimentalFeatures:v,__experimentalPersistentListViewFeatures:j,__experimentalHideContainerBlockActions:k,isTreeGridMounted:y,expand:E,collapse:C}=be(),w=d&&s>0,B=V()("block-editor-list-view-block__mover-cell",{"is-visible":f||n}),I=V()("block-editor-list-view-block__menu-cell",{"is-visible":f||n});Object(l.useEffect)(()=>{j&&!y&&n&&m.current.focus()},[]);const x=j?O:()=>{},T=Object(l.useCallback)(()=>{h(!0),x(g,!0)},[g,h,x]),P=Object(l.useCallback)(()=>{h(!1),x(g,!1)},[g,h,x]),R=Object(l.useCallback)(e=>{e.stopPropagation(),r(g)},[g,r]),N=Object(l.useCallback)(e=>{e.stopPropagation(),!0===p?C(g):!1===p&&E(g)},[g,E,C,p]),L=v&&(!k||k&&i>1),M=v&&!L;let A;w?A=2:M&&(A=3);const D=V()({"is-selected":n,"is-branch-selected":j&&o,"is-dragging":t,"has-single-cell":M});return Object(l.createElement)(oe,{className:D,onMouseEnter:T,onMouseLeave:P,onFocus:T,onBlur:P,level:i,position:c,rowCount:a,path:b,id:"list-view-block-"+g,"data-block":g,isExpanded:p},Object(l.createElement)(u.__experimentalTreeGridCell,{className:"block-editor-list-view-block__contents-cell",colSpan:A,ref:m},({ref:t,tabIndex:o,onFocus:r})=>Object(l.createElement)("div",{className:"block-editor-list-view-block__contents-container"},Object(l.createElement)(se,{block:e,onClick:R,onToggleExpanded:N,isSelected:n,position:c,siblingBlockCount:s,level:i,ref:t,tabIndex:o,onFocus:r}))),w&&Object(l.createElement)(l.Fragment,null,Object(l.createElement)(u.__experimentalTreeGridCell,{className:B,withoutGridItem:!0},Object(l.createElement)(u.__experimentalTreeGridItem,null,({ref:e,tabIndex:t,onFocus:n})=>Object(l.createElement)(re.b,{orientation:"vertical",clientIds:[g],ref:e,tabIndex:t,onFocus:n})),Object(l.createElement)(u.__experimentalTreeGridItem,null,({ref:e,tabIndex:t,onFocus:n})=>Object(l.createElement)(re.a,{orientation:"vertical",clientIds:[g],ref:e,tabIndex:t,onFocus:n})))),L&&Object(l.createElement)(u.__experimentalTreeGridCell,{className:I},({ref:e,tabIndex:t,onFocus:n})=>Object(l.createElement)(ue.a,{clientIds:[g],icon:J.a,toggleProps:{ref:e,className:"block-editor-list-view-block__menu",tabIndex:t,onFocus:n},disableOpenOnArrowDown:!0,__experimentalSelectBlock:R})))}));function me(e,t,n){var o;if(null==n?void 0:n.includes(e.clientId))return 0;return null===(o=t[e.clientId])||void 0===o||o?1+e.innerBlocks.reduce(fe(t,n),0):1}const fe=(e,t)=>(n,o)=>{var r;if(null==t?void 0:t.includes(o.clientId))return n;return(null===(r=e[o.clientId])||void 0===r||r)&&o.innerBlocks.length>0?n+me(o,e,t):n+1};function he(e){const{blocks:t,selectBlock:n,showBlockMovers:o,showNestedBlocks:r,selectedClientIds:c,level:i=1,path:s="",isBranchSelected:u=!1,listPosition:d=0,fixedListWindow:b}=e,{expandedState:p,draggedClientIds:m,__experimentalPersistentListViewFeatures:f}=be(),h=Object(a.compact)(t),g=h.length;let O=d;return Object(l.createElement)(l.Fragment,null,h.map((e,t)=>{var d;const{clientId:v,innerBlocks:j}=e;t>0&&(O+=me(h[t-1],p,m));const k=f,{itemInView:y}=b,E=!k||y(O),C=t+1,S=s.length>0?`${s}_${C}`:""+C,w=r&&!!j&&!!j.length,B=w?null===(d=p[v])||void 0===d||d:void 0,I=!(null==m||!m.includes(v)),x=I||E,T=((e,t)=>Object(a.isArray)(t)&&t.length?-1!==t.indexOf(e):t===e)(v,c),P=u||T&&w;return Object(l.createElement)(_.AsyncModeProvider,{key:v,value:!T},x&&Object(l.createElement)(pe,{block:e,selectBlock:n,isSelected:T,isBranchSelected:P,isDragged:I,level:i,position:C,rowCount:g,siblingBlockCount:g,showBlockMovers:o,path:S,isExpanded:B,listPosition:O}),!x&&Object(l.createElement)("tr",null,Object(l.createElement)("td",{className:"block-editor-list-view-placeholder"})),w&&B&&!I&&Object(l.createElement)(he,{blocks:j,selectBlock:n,showBlockMovers:o,showNestedBlocks:r,level:i+1,path:S,listPosition:O+1,fixedListWindow:b,isBranchSelected:P,selectedClientIds:c}))}))}he.defaultProps={selectBlock:()=>{}};var ge=Object(l.memo)(he);function Oe({listViewRef:e,blockDropTarget:t}){const{rootClientId:n,clientId:o,dropPosition:r}=t||{},[c,i]=Object(l.useMemo)(()=>{if(!e.current)return[];return[n?e.current.querySelector(`[data-block="${n}"]`):void 0,o?e.current.querySelector(`[data-block="${o}"]`):void 0]},[n,o]),a=i||c,s=Object(l.useCallback)(()=>{if(!c)return 0;const e=a.getBoundingClientRect();return c.querySelector(".block-editor-block-icon").getBoundingClientRect().right-e.left},[c,a]),d=Object(l.useMemo)(()=>{if(!a)return{};const e=s();return{width:a.offsetWidth-e}},[s,a]),b=Object(l.useCallback)(()=>{if(!a)return{};const e=a.ownerDocument,t=a.getBoundingClientRect(),n=s(),o={left:t.left+n,right:t.right,width:0,height:t.height,ownerDocument:e};return"top"===r?{...o,top:t.top,bottom:t.top}:"bottom"===r||"inside"===r?{...o,top:t.bottom,bottom:t.bottom}:{}},[a,r,s]);return a?Object(l.createElement)(u.Popover,{noArrow:!0,animate:!1,getAnchorRect:b,focusOnMount:!1,className:"block-editor-list-view-drop-indicator"},Object(l.createElement)("div",{style:d,className:"block-editor-list-view-drop-indicator__line"})):null}var ve=n("vIlp"),je=n("/lNF");function ke(e,t){return t.left<=e.x&&t.right>=e.x&&t.top<=e.y&&t.bottom>=e.y}const _e=["top","bottom"];function ye(){const{getBlockRootClientId:e,getBlockIndex:t,getBlockCount:n,getDraggedBlockClientIds:o,canInsertBlocks:r}=Object(_.useSelect)(S.a),[c,i]=Object(l.useState)(),{rootClientId:a,blockIndex:s}=c||{},u=Object(je.a)(a,s),d=o(),b=Object(Q.useThrottle)(Object(l.useCallback)((o,c)=>{const l={x:o.clientX,y:o.clientY},a=!(null==d||!d.length),s=function(e,t){let n,o,r,c;for(const i of e){if(i.isDraggedBlock)continue;const l=i.element.getBoundingClientRect(),[a,s]=Object(ve.a)(t,l,_e),u=ke(t,l);if(void 0===r||a0||function(e,t){const n=t.left+t.width/2;return e.x>n}(t,c)))return{rootClientId:o.clientId,blockIndex:0,dropPosition:"inside"};if(!o.canInsertDraggedBlocksAsSibling)return;const l=i?1:0;return{rootClientId:o.rootClientId,clientId:o.clientId,blockIndex:o.blockIndex+l,dropPosition:n}}(Array.from(c.querySelectorAll("[data-block]")).map(o=>{const c=o.dataset.block,i=e(c);return{clientId:c,rootClientId:i,blockIndex:t(c,i),element:o,isDraggedBlock:!!a&&d.includes(c),innerBlockCount:n(c),canInsertDraggedBlocksAsSibling:!a||r(d,i),canInsertDraggedBlocksAsChild:!a||r(d,c)}}),l);s&&i(s)},[d]),200);return{ref:Object(Q.__experimentalUseDropZone)({onDrop:u,onDragOver(e){b(e,e.currentTarget)},onDragEnd(){b.cancel(),i(null)}}),target:c}}const Ee=()=>{},Ce=(e,t)=>{switch(t.type){case"expand":return{...e,[t.clientId]:!0};case"collapse":return{...e,[t.clientId]:!1};default:return e}};var Se=Object(l.forwardRef)((function({blocks:e,onSelect:t=Ee,__experimentalFeatures:n,__experimentalPersistentListViewFeatures:o,__experimentalHideContainerBlockActions:r,showNestedBlocks:c,showBlockMovers:a,...d},b){const{clientIdsTree:p,draggedClientIds:m,selectedClientIds:f}=function(e){return Object(_.useSelect)(t=>{const{getDraggedBlockClientIds:n,getSelectedBlockClientIds:o,__unstableGetClientIdsTree:r}=t(S.a);return{selectedClientIds:o(),draggedClientIds:n(),clientIdsTree:e||r()}},[e])}(e),{selectBlock:h}=Object(_.useDispatch)(S.a),{visibleBlockCount:g}=Object(_.useSelect)(e=>{const{getGlobalBlockCount:t,getClientIdsOfDescendants:n}=e(S.a),o=(null==m?void 0:m.length)>0?n(m).length+1:0;return{visibleBlockCount:t()-o}},[m]),O=Object(l.useCallback)(e=>{h(e),t(e)},[h,t]),[v,j]=Object(l.useReducer)(Ce,{}),{ref:k,target:y}=ye(),E=Object(l.useRef)(),C=Object(Q.useMergeRefs)([E,k,b]),w=Object(l.useRef)(!1);Object(l.useEffect)(()=>{w.current=!0},[]);const[B]=Object(Q.__experimentalUseFixedWindowList)(E,36,g,{useWindowing:o,windowOverscan:40}),I=Object(l.useCallback)(e=>{e&&j({type:"expand",clientId:e})},[j]),x=Object(l.useCallback)(e=>{e&&j({type:"collapse",clientId:e})},[j]),T=Object(l.useCallback)(e=>{var t;I(null==e||null===(t=e.dataset)||void 0===t?void 0:t.block)},[I]),P=Object(l.useCallback)(e=>{var t;x(null==e||null===(t=e.dataset)||void 0===t?void 0:t.block)},[x]),R=Object(l.useMemo)(()=>({__experimentalFeatures:n,__experimentalPersistentListViewFeatures:o,__experimentalHideContainerBlockActions:r,isTreeGridMounted:w.current,draggedClientIds:m,expandedState:v,expand:I,collapse:x}),[n,o,r,w.current,m,v,I,x]);return Object(l.createElement)(_.AsyncModeProvider,{value:!0},Object(l.createElement)(Oe,{listViewRef:E,blockDropTarget:y}),Object(l.createElement)(u.__experimentalTreeGrid,{className:"block-editor-list-view-tree","aria-label":Object(s.__)("Block navigation structure"),ref:C,onCollapseRow:P,onExpandRow:T},Object(l.createElement)(de.Provider,{value:R},Object(l.createElement)(ge,Object(i.a)({blocks:p,selectBlock:O,showNestedBlocks:c,showBlockMovers:a,fixedListWindow:B,selectedClientIds:f},d)))))}));function we({isEnabled:e,onToggle:t,isOpen:n,innerRef:o,...r}){return Object(l.createElement)(u.Button,Object(i.a)({},r,{ref:o,icon:Z.a,"aria-expanded":n,"aria-haspopup":"true",onClick:e?t:void 0,label:Object(s.__)("List view"),className:"block-editor-block-navigation","aria-disabled":!e}))}var Be=Object(l.forwardRef)((function({isDisabled:e,__experimentalFeatures:t,...n},o){const r=Object(_.useSelect)(e=>!!e(S.a).getBlockCount(),[])&&!e;return Object(l.createElement)(u.Dropdown,{contentClassName:"block-editor-block-navigation__popover",position:"bottom right",renderToggle:({isOpen:e,onToggle:t})=>Object(l.createElement)(we,Object(i.a)({},n,{innerRef:o,isOpen:e,onToggle:t,isEnabled:r})),renderContent:()=>Object(l.createElement)("div",{className:"block-editor-block-navigation__container"},Object(l.createElement)("p",{className:"block-editor-block-navigation__label"},Object(s.__)("List view")),Object(l.createElement)(Se,{showNestedBlocks:!0,__experimentalFeatures:t}))})})),Ie=n("Civd");var xe=function({icon:e=Ie.a,label:t=Object(s.__)("Choose variation"),instructions:n=Object(s.__)("Select a variation to start with."),variations:o,onSelect:r,allowSkip:c}){const i=V()("block-editor-block-variation-picker",{"has-many-variations":o.length>4});return Object(l.createElement)(u.Placeholder,{icon:e,label:t,instructions:n,className:i},Object(l.createElement)("ul",{className:"block-editor-block-variation-picker__variations",role:"list","aria-label":Object(s.__)("Block variations")},o.map(e=>Object(l.createElement)("li",{key:e.name},Object(l.createElement)(u.Button,{variant:"secondary",icon:e.icon,iconSize:48,onClick:()=>r(e),className:"block-editor-block-variation-picker__variation",label:e.description||e.title}),Object(l.createElement)("span",{className:"block-editor-block-variation-picker__variation-label",role:"presentation"},e.title)))),c&&Object(l.createElement)("div",{className:"block-editor-block-variation-picker__skip"},Object(l.createElement)(u.Button,{variant:"link",onClick:()=>r()},Object(s.__)("Skip"))))},Te=n("REKd"),Pe=n("2gm7"),Re=n("1iEr"),Ne=n("XNw2"),Le=n("b2RC");const Me="carousel",Ae="grid",De=({onStartBlank:e,onBlockPatternSelect:t})=>Object(l.createElement)("div",{className:"block-editor-block-pattern-setup__actions"},Object(l.createElement)(u.Button,{onClick:e},Object(s.__)("Start blank")),Object(l.createElement)(u.Button,{variant:"primary",onClick:t},Object(s.__)("Choose"))),Fe=({handlePrevious:e,handleNext:t,activeSlide:n,totalSlides:o})=>Object(l.createElement)("div",{className:"block-editor-block-pattern-setup__navigation"},Object(l.createElement)(u.Button,{icon:Pe.a,label:Object(s.__)("Previous pattern"),onClick:e,disabled:0===n}),Object(l.createElement)(u.Button,{icon:Re.a,label:Object(s.__)("Next pattern"),onClick:t,disabled:n===o-1}));var ze=({viewMode:e,setViewMode:t,handlePrevious:n,handleNext:o,activeSlide:r,totalSlides:c,onBlockPatternSelect:i,onStartBlank:a})=>{const d=e===Me,b=Object(l.createElement)("div",{className:"block-editor-block-pattern-setup__display-controls"},Object(l.createElement)(u.Button,{icon:Ne.a,label:Object(s.__)("Carousel view"),onClick:()=>t(Me),isPressed:d}),Object(l.createElement)(u.Button,{icon:Le.a,label:Object(s.__)("Grid view"),onClick:()=>t(Ae),isPressed:e===Ae}));return Object(l.createElement)("div",{className:"block-editor-block-pattern-setup__toolbar"},d&&Object(l.createElement)(Fe,{handlePrevious:n,handleNext:o,activeSlide:r,totalSlides:c}),b,d&&Object(l.createElement)(De,{onBlockPatternSelect:i,onStartBlank:a}))};var He=function(e,t,n){return Object(_.useSelect)(o=>{const{getBlockRootClientId:r,__experimentalGetPatternsByBlockTypes:c,__experimentalGetAllowedPatterns:i}=o(S.a),l=r(e);return n?i(l).filter(n):c(t,l)},[e,t,n])};const Ve=({viewMode:e,activeSlide:t,patterns:n,onBlockPatternSelect:o})=>{const r=Object(u.__unstableUseCompositeState)(),c="block-editor-block-pattern-setup__container";if(e===Me){const e=new Map([[t,"active-slide"],[t-1,"previous-slide"],[t+1,"next-slide"]]);return Object(l.createElement)("div",{className:c},Object(l.createElement)("ul",{className:"carousel-container"},n.map((t,n)=>Object(l.createElement)(Ue,{className:e.get(n)||"",key:t.name,pattern:t}))))}return Object(l.createElement)(u.__unstableComposite,Object(i.a)({},r,{role:"listbox",className:c,"aria-label":Object(s.__)("Patterns list")}),n.map(e=>Object(l.createElement)(Ge,{key:e.name,pattern:e,onSelect:o,composite:r})))};function Ge({pattern:e,onSelect:t,composite:n}){const o="block-editor-block-pattern-setup-list",{blocks:r,title:c,description:a,viewportWidth:s=700}=e,d=Object(Q.useInstanceId)(Ge,o+"__item-description");return Object(l.createElement)("div",{className:o+"__list-item","aria-label":e.title,"aria-describedby":e.description?d:void 0},Object(l.createElement)(u.__unstableCompositeItem,Object(i.a)({role:"option",as:"div"},n,{className:o+"__item",onClick:()=>t(r)}),Object(l.createElement)(Te.a,{blocks:r,viewportWidth:s}),Object(l.createElement)("div",{className:o+"__item-title"},c)),!!a&&Object(l.createElement)(u.VisuallyHidden,{id:d},a))}function Ue({className:e,pattern:t}){const{blocks:n,title:o,description:r}=t,c=Object(Q.useInstanceId)(Ue,"block-editor-block-pattern-setup-list__item-description");return Object(l.createElement)("li",{className:"pattern-slide "+e,"aria-label":o,"aria-describedby":r?c:void 0},Object(l.createElement)(Te.a,{blocks:n,__experimentalLive:!0}),!!r&&Object(l.createElement)(u.VisuallyHidden,{id:c},r))}var We=({clientId:e,blockName:t,filterPatternsFn:n,startBlankComponent:o,onBlockPatternSelect:r})=>{const[c,i]=Object(l.useState)(Me),[a,s]=Object(l.useState)(0),[u,d]=Object(l.useState)(!1),{replaceBlock:b}=Object(_.useDispatch)(S.a),p=He(e,t,n);if(null==p||!p.length||u)return o;const m=r||(t=>{const n=t.map(e=>Object(j.cloneBlock)(e));b(e,n)});return Object(l.createElement)("div",{className:"block-editor-block-pattern-setup view-mode-"+c},Object(l.createElement)(ze,{viewMode:c,setViewMode:i,activeSlide:a,totalSlides:p.length,handleNext:()=>{s(e=>e+1)},handlePrevious:()=>{s(e=>e-1)},onBlockPatternSelect:()=>{m(p[a].blocks)},onStartBlank:()=>{d(!0)}}),Object(l.createElement)(Ve,{viewMode:c,activeSlide:a,patterns:p,onBlockPatternSelect:m}))},qe=n("NWDH"),Ke=n("Btt3");var $e=function({blockClientId:e}){const[t,n]=Object(l.useState)(),{updateBlockAttributes:o}=Object(_.useDispatch)(S.a),{variations:r,blockAttributes:c}=Object(_.useSelect)(t=>{const{getBlockVariations:n}=t(j.store),{getBlockName:o,getBlockAttributes:r}=t(S.a),c=e&&o(e);return{variations:c&&n(c,"transform"),blockAttributes:r(e)}},[e]);if(Object(l.useEffect)(()=>{var e;n(null===(e=Object(Ke.a)(c,r))||void 0===e?void 0:e.name)},[c,r]),null==r||!r.length)return null;const i=r.map(({name:e,title:t,description:n})=>({value:e,label:t,info:n})),a=t=>{o(e,{...r.find(({name:e})=>e===t).attributes})},d="block-editor-block-variation-transforms";return Object(l.createElement)(u.DropdownMenu,{className:d,label:Object(s.__)("Transform to variation"),text:Object(s.__)("Transform to variation"),popoverProps:{position:"bottom center",className:d+"__popover"},icon:qe.a,toggleProps:{iconPosition:"right"}},()=>Object(l.createElement)("div",{className:d+"__container"},Object(l.createElement)(u.MenuGroup,null,Object(l.createElement)(u.MenuItemsChoice,{choices:i,value:t,onSelect:a}))))};const Ye=Object(l.createElement)(u.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(l.createElement)(u.Path,{d:"M15 4H9v11h6V4zM4 18.5V20h16v-1.5H4z"})),Xe=Object(l.createElement)(u.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(l.createElement)(u.Path,{d:"M20 11h-5V4H9v7H4v1.5h5V20h6v-7.5h5z"})),Ze={top:{icon:Object(l.createElement)(u.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(l.createElement)(u.Path,{d:"M9 20h6V9H9v11zM4 4v1.5h16V4H4z"})),title:Object(s._x)("Align top","Block vertical alignment setting")},center:{icon:Xe,title:Object(s._x)("Align middle","Block vertical alignment setting")},bottom:{icon:Ye,title:Object(s._x)("Align bottom","Block vertical alignment setting")}},Qe=["top","center","bottom"],Je={isAlternate:!0};var et=function({value:e,onChange:t,controls:n=Qe,isCollapsed:o=!0,isToolbar:r}){const c=Ze[e],a=Ze.top,d=r?u.ToolbarGroup:u.ToolbarDropdownMenu,b=r?{isCollapsed:o}:{};return Object(l.createElement)(d,Object(i.a)({popoverProps:Je,icon:c?c.icon:a.icon,label:Object(s._x)("Change vertical alignment","Block vertical alignment setting label"),controls:n.map(n=>{return{...Ze[n],isActive:e===n,role:o?"menuitemradio":void 0,onClick:(r=n,()=>t(e===r?void 0:r))};var r})},b))};function tt(e){return Object(l.createElement)(et,Object(i.a)({},e,{isToolbar:!1}))}function nt(e){return Object(l.createElement)(et,Object(i.a)({},e,{isToolbar:!0}))}var ot=n("Wy3j"),rt=n("2YCo"),ct=n("I5Hl"),it=n("v5LD"),lt=Object(Q.createHigherOrderComponent)(e=>t=>{const n=Object(it.a)("color.palette"),o=!Object(it.a)("color.custom"),r=void 0===t.colors?n:t.colors,c=void 0===t.disableCustomColors?o:t.disableCustomColors,s=!Object(a.isEmpty)(r)||!c;return Object(l.createElement)(e,Object(i.a)({},t,{colors:r,disableCustomColors:c,hasColorsToChoose:s}))},"withColorContext"),at=lt(u.ColorPalette),st=n("hMaJ");function ut({onChange:e,value:t,...n}){return Object(l.createElement)(st.a,Object(i.a)({},n,{onColorChange:e,colorValue:t,gradients:[],disableCustomGradients:!0}))}var dt=n("6c9H"),bt=n("1uGa"),pt=n("Bo0k"),mt=n("GKUk"),ft=n("xBDm"),ht=n("kVRd"),gt=n("/Hvg"),Ot=n("yU1v"),vt=function(e,t){return(vt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};var jt=function(){return(jt=Object.assign||function(e){for(var t,n=1,o=arguments.length;nu*r?{width:u*r,height:u}:{width:s,height:s/r}}function St(e,t,n,o,r){void 0===r&&(r=0);var c=Mt(t.width,t.height,r),i=c.width,l=c.height;return{x:wt(e.x,i,n.width,o),y:wt(e.y,l,n.height,o)}}function wt(e,t,n,o){var r=t*o/2-n/2;return Math.min(r,Math.max(e,-r))}function Bt(e,t){return Math.sqrt(Math.pow(e.y-t.y,2)+Math.pow(e.x-t.x,2))}function It(e,t){return 180*Math.atan2(t.y-e.y,t.x-e.x)/Math.PI}function xt(e,t,n,o,r,c,i){void 0===c&&(c=0),void 0===i&&(i=!0);var l=i&&0===c?Tt:Pt,a={x:l(100,((t.width-n.width/r)/2-e.x/r)/t.width*100),y:l(100,((t.height-n.height/r)/2-e.y/r)/t.height*100),width:l(100,n.width/t.width*100/r),height:l(100,n.height/t.height*100/r)},s=Math.round(l(t.naturalWidth,a.width*t.naturalWidth/100)),u=Math.round(l(t.naturalHeight,a.height*t.naturalHeight/100)),d=t.naturalWidth>=t.naturalHeight*o?{width:Math.round(u*o),height:u}:{width:s,height:Math.round(s/o)};return{croppedAreaPercentages:a,croppedAreaPixels:jt(jt({},d),{x:Math.round(l(t.naturalWidth-d.width,a.x*t.naturalWidth/100)),y:Math.round(l(t.naturalHeight-d.height,a.y*t.naturalHeight/100))})}}function Tt(e,t){return Math.min(e,Math.max(0,t))}function Pt(e,t){return t}function Rt(e,t,n){var o=t.width/t.naturalWidth,r=function(e,t,n){var o=t.width/t.naturalWidth;if(n)return n.height>n.width?n.height/o/e.height:n.width/o/e.width;var r=e.width/e.height;return t.naturalWidth>=t.naturalHeight*r?t.naturalHeight/e.height:t.naturalWidth/e.width}(e,t,n),c=o*r;return{crop:{x:((t.naturalWidth-e.width)/2-e.x)*c,y:((t.naturalHeight-e.height)/2-e.y)*c},zoom:r}}function Nt(e,t){return{x:(t.x+e.x)/2,y:(t.y+e.y)/2}}function Lt(e,t,n,o,r){var c=Math.cos,i=Math.sin,l=r*Math.PI/180;return[(e-n)*c(l)-(t-o)*i(l)+n,(e-n)*i(l)+(t-o)*c(l)+o]}function Mt(e,t,n){var o=e/2,r=t/2,c=[Lt(0,0,o,r,n),Lt(e,0,o,r,n),Lt(e,t,o,r,n),Lt(0,t,o,r,n)],i=Math.min.apply(Math,c.map((function(e){return e[0]}))),l=Math.max.apply(Math,c.map((function(e){return e[0]}))),a=Math.min.apply(Math,c.map((function(e){return e[1]})));return{width:l-i,height:Math.max.apply(Math,c.map((function(e){return e[1]})))-a}}function At(){for(var e=[],t=0;t0})).join(" ").trim()}var Dt=function(e){function t(){var n=null!==e&&e.apply(this,arguments)||this;return n.imageRef=null,n.videoRef=null,n.containerRef=null,n.styleRef=null,n.containerRect=null,n.mediaSize={width:0,height:0,naturalWidth:0,naturalHeight:0},n.dragStartPosition={x:0,y:0},n.dragStartCrop={x:0,y:0},n.lastPinchDistance=0,n.lastPinchRotation=0,n.rafDragTimeout=null,n.rafPinchTimeout=null,n.wheelTimer=null,n.state={cropSize:null,hasWheelJustStarted:!1},n.preventZoomSafari=function(e){return e.preventDefault()},n.cleanEvents=function(){document.removeEventListener("mousemove",n.onMouseMove),document.removeEventListener("mouseup",n.onDragStopped),document.removeEventListener("touchmove",n.onTouchMove),document.removeEventListener("touchend",n.onDragStopped)},n.clearScrollEvent=function(){n.containerRef&&n.containerRef.removeEventListener("wheel",n.onWheel),n.wheelTimer&&clearTimeout(n.wheelTimer)},n.onMediaLoad=function(){n.computeSizes(),n.emitCropData(),n.setInitialCrop(),n.props.onMediaLoaded&&n.props.onMediaLoaded(n.mediaSize)},n.setInitialCrop=function(){var e=n.props,t=e.initialCroppedAreaPixels,o=e.cropSize;if(t){var r=Rt(t,n.mediaSize,o),c=r.crop,i=r.zoom;n.props.onCropChange(c),n.props.onZoomChange&&n.props.onZoomChange(i)}},n.computeSizes=function(){var e,t,o,r,c,i,l=n.imageRef||n.videoRef;if(l&&n.containerRef){n.containerRect=n.containerRef.getBoundingClientRect(),n.mediaSize={width:l.offsetWidth,height:l.offsetHeight,naturalWidth:(null===(e=n.imageRef)||void 0===e?void 0:e.naturalWidth)||(null===(t=n.videoRef)||void 0===t?void 0:t.videoWidth)||0,naturalHeight:(null===(o=n.imageRef)||void 0===o?void 0:o.naturalHeight)||(null===(r=n.videoRef)||void 0===r?void 0:r.videoHeight)||0};var a=n.props.cropSize?n.props.cropSize:Ct(l.offsetWidth,l.offsetHeight,n.containerRect.width,n.containerRect.height,n.props.aspect,n.props.rotation);(null===(c=n.state.cropSize)||void 0===c?void 0:c.height)===a.height&&(null===(i=n.state.cropSize)||void 0===i?void 0:i.width)===a.width||n.props.onCropSizeChange&&n.props.onCropSizeChange(a),n.setState({cropSize:a},n.recomputeCropPosition)}},n.onMouseDown=function(e){e.preventDefault(),document.addEventListener("mousemove",n.onMouseMove),document.addEventListener("mouseup",n.onDragStopped),n.onDragStart(t.getMousePoint(e))},n.onMouseMove=function(e){return n.onDrag(t.getMousePoint(e))},n.onTouchStart=function(e){document.addEventListener("touchmove",n.onTouchMove,{passive:!1}),document.addEventListener("touchend",n.onDragStopped),2===e.touches.length?n.onPinchStart(e):1===e.touches.length&&n.onDragStart(t.getTouchPoint(e.touches[0]))},n.onTouchMove=function(e){e.preventDefault(),2===e.touches.length?n.onPinchMove(e):1===e.touches.length&&n.onDrag(t.getTouchPoint(e.touches[0]))},n.onDragStart=function(e){var t,o,r=e.x,c=e.y;n.dragStartPosition={x:r,y:c},n.dragStartCrop=jt({},n.props.crop),null===(o=(t=n.props).onInteractionStart)||void 0===o||o.call(t)},n.onDrag=function(e){var t=e.x,o=e.y;n.rafDragTimeout&&window.cancelAnimationFrame(n.rafDragTimeout),n.rafDragTimeout=window.requestAnimationFrame((function(){if(n.state.cropSize&&void 0!==t&&void 0!==o){var e=t-n.dragStartPosition.x,r=o-n.dragStartPosition.y,c={x:n.dragStartCrop.x+e,y:n.dragStartCrop.y+r},i=n.props.restrictPosition?St(c,n.mediaSize,n.state.cropSize,n.props.zoom,n.props.rotation):c;n.props.onCropChange(i)}}))},n.onDragStopped=function(){var e,t;n.cleanEvents(),n.emitCropData(),null===(t=(e=n.props).onInteractionEnd)||void 0===t||t.call(e)},n.onWheel=function(e){e.preventDefault();var o=t.getMousePoint(e),r=Et()(e).pixelY,c=n.props.zoom-r*n.props.zoomSpeed/200;n.setNewZoom(c,o),n.state.hasWheelJustStarted||n.setState({hasWheelJustStarted:!0},(function(){var e,t;return null===(t=(e=n.props).onInteractionStart)||void 0===t?void 0:t.call(e)})),n.wheelTimer&&clearTimeout(n.wheelTimer),n.wheelTimer=window.setTimeout((function(){return n.setState({hasWheelJustStarted:!1},(function(){var e,t;return null===(t=(e=n.props).onInteractionEnd)||void 0===t?void 0:t.call(e)}))}),250)},n.getPointOnContainer=function(e){var t=e.x,o=e.y;if(!n.containerRect)throw new Error("The Cropper is not mounted");return{x:n.containerRect.width/2-(t-n.containerRect.left),y:n.containerRect.height/2-(o-n.containerRect.top)}},n.getPointOnMedia=function(e){var t=e.x,o=e.y,r=n.props,c=r.crop,i=r.zoom;return{x:(t+c.x)/i,y:(o+c.y)/i}},n.setNewZoom=function(e,t){if(n.state.cropSize&&n.props.onZoomChange){var o=n.getPointOnContainer(t),r=n.getPointOnMedia(o),c=Math.min(n.props.maxZoom,Math.max(e,n.props.minZoom)),i={x:r.x*c-o.x,y:r.y*c-o.y},l=n.props.restrictPosition?St(i,n.mediaSize,n.state.cropSize,c,n.props.rotation):i;n.props.onCropChange(l),n.props.onZoomChange(c)}},n.getCropData=function(){return n.state.cropSize?xt(n.props.restrictPosition?St(n.props.crop,n.mediaSize,n.state.cropSize,n.props.zoom,n.props.rotation):n.props.crop,n.mediaSize,n.state.cropSize,n.getAspect(),n.props.zoom,n.props.rotation,n.props.restrictPosition):null},n.emitCropData=function(){var e=n.getCropData();if(e){var t=e.croppedAreaPercentages,o=e.croppedAreaPixels;n.props.onCropComplete&&n.props.onCropComplete(t,o),n.props.onCropAreaChange&&n.props.onCropAreaChange(t,o)}},n.emitCropAreaChange=function(){var e=n.getCropData();if(e){var t=e.croppedAreaPercentages,o=e.croppedAreaPixels;n.props.onCropAreaChange&&n.props.onCropAreaChange(t,o)}},n.recomputeCropPosition=function(){if(n.state.cropSize){var e=n.props.restrictPosition?St(n.props.crop,n.mediaSize,n.state.cropSize,n.props.zoom,n.props.rotation):n.props.crop;n.props.onCropChange(e),n.emitCropData()}},n}return function(e,t){function n(){this.constructor=e}vt(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t.prototype.componentDidMount=function(){window.addEventListener("resize",this.computeSizes),this.containerRef&&(this.props.zoomWithScroll&&this.containerRef.addEventListener("wheel",this.onWheel,{passive:!1}),this.containerRef.addEventListener("gesturestart",this.preventZoomSafari),this.containerRef.addEventListener("gesturechange",this.preventZoomSafari)),this.props.disableAutomaticStylesInjection||(this.styleRef=document.createElement("style"),this.styleRef.setAttribute("type","text/css"),this.styleRef.innerHTML=".reactEasyCrop_Container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n user-select: none;\n touch-action: none;\n cursor: move;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.reactEasyCrop_Image,\n.reactEasyCrop_Video {\n will-change: transform; /* this improves performances and prevent painting issues on iOS Chrome */\n}\n\n.reactEasyCrop_Contain {\n max-width: 100%;\n max-height: 100%;\n margin: auto;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n.reactEasyCrop_Cover_Horizontal {\n width: 100%;\n height: auto;\n}\n.reactEasyCrop_Cover_Vertical {\n width: auto;\n height: 100%;\n}\n\n.reactEasyCrop_CropArea {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n border: 1px solid rgba(255, 255, 255, 0.5);\n box-sizing: border-box;\n box-shadow: 0 0 0 9999em;\n color: rgba(0, 0, 0, 0.5);\n overflow: hidden;\n}\n\n.reactEasyCrop_CropAreaRound {\n border-radius: 50%;\n}\n\n.reactEasyCrop_CropAreaGrid::before {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 0;\n bottom: 0;\n left: 33.33%;\n right: 33.33%;\n border-top: 0;\n border-bottom: 0;\n}\n\n.reactEasyCrop_CropAreaGrid::after {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 33.33%;\n bottom: 33.33%;\n left: 0;\n right: 0;\n border-left: 0;\n border-right: 0;\n}\n",document.head.appendChild(this.styleRef)),this.imageRef&&this.imageRef.complete&&this.onMediaLoad()},t.prototype.componentWillUnmount=function(){var e;window.removeEventListener("resize",this.computeSizes),this.containerRef&&(this.containerRef.removeEventListener("gesturestart",this.preventZoomSafari),this.containerRef.removeEventListener("gesturechange",this.preventZoomSafari)),this.styleRef&&(null===(e=this.styleRef.parentNode)||void 0===e||e.removeChild(this.styleRef)),this.cleanEvents(),this.props.zoomWithScroll&&this.clearScrollEvent()},t.prototype.componentDidUpdate=function(e){var t,n,o,r,c,i,l,a,s;e.rotation!==this.props.rotation?(this.computeSizes(),this.recomputeCropPosition()):e.aspect!==this.props.aspect?this.computeSizes():e.zoom!==this.props.zoom?this.recomputeCropPosition():(null===(t=e.cropSize)||void 0===t?void 0:t.height)!==(null===(n=this.props.cropSize)||void 0===n?void 0:n.height)||(null===(o=e.cropSize)||void 0===o?void 0:o.width)!==(null===(r=this.props.cropSize)||void 0===r?void 0:r.width)?this.computeSizes():(null===(c=e.crop)||void 0===c?void 0:c.x)===(null===(i=this.props.crop)||void 0===i?void 0:i.x)&&(null===(l=e.crop)||void 0===l?void 0:l.y)===(null===(a=this.props.crop)||void 0===a?void 0:a.y)||this.emitCropAreaChange(),e.zoomWithScroll!==this.props.zoomWithScroll&&this.containerRef&&(this.props.zoomWithScroll?this.containerRef.addEventListener("wheel",this.onWheel,{passive:!1}):this.clearScrollEvent()),e.video!==this.props.video&&(null===(s=this.videoRef)||void 0===s||s.load())},t.prototype.getAspect=function(){var e=this.props,t=e.cropSize,n=e.aspect;return t?t.width/t.height:n},t.prototype.onPinchStart=function(e){var n=t.getTouchPoint(e.touches[0]),o=t.getTouchPoint(e.touches[1]);this.lastPinchDistance=Bt(n,o),this.lastPinchRotation=It(n,o),this.onDragStart(Nt(n,o))},t.prototype.onPinchMove=function(e){var n=this,o=t.getTouchPoint(e.touches[0]),r=t.getTouchPoint(e.touches[1]),c=Nt(o,r);this.onDrag(c),this.rafPinchTimeout&&window.cancelAnimationFrame(this.rafPinchTimeout),this.rafPinchTimeout=window.requestAnimationFrame((function(){var e=Bt(o,r),t=n.props.zoom*(e/n.lastPinchDistance);n.setNewZoom(t,c),n.lastPinchDistance=e;var i=It(o,r),l=n.props.rotation+(i-n.lastPinchRotation);n.props.onRotationChange&&n.props.onRotationChange(l),n.lastPinchRotation=i}))},t.prototype.render=function(){var e=this,t=this.props,n=t.image,o=t.video,r=t.mediaProps,c=t.transform,i=t.crop,l=i.x,a=i.y,s=t.rotation,u=t.zoom,d=t.cropShape,b=t.showGrid,p=t.style,m=p.containerStyle,f=p.cropAreaStyle,h=p.mediaStyle,g=t.classes,O=g.containerClassName,v=g.cropAreaClassName,j=g.mediaClassName,k=t.objectFit;return _t.a.createElement("div",{onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart,ref:function(t){return e.containerRef=t},"data-testid":"container",style:m,className:At("reactEasyCrop_Container",O)},n?_t.a.createElement("img",jt({alt:"",className:At("reactEasyCrop_Image","contain"===k&&"reactEasyCrop_Contain","horizontal-cover"===k&&"reactEasyCrop_Cover_Horizontal","vertical-cover"===k&&"reactEasyCrop_Cover_Vertical",j)},r,{src:n,ref:function(t){return e.imageRef=t},style:jt(jt({},h),{transform:c||"translate("+l+"px, "+a+"px) rotate("+s+"deg) scale("+u+")"}),onLoad:this.onMediaLoad})):o&&_t.a.createElement("video",jt({autoPlay:!0,loop:!0,muted:!0,className:At("reactEasyCrop_Video","contain"===k&&"reactEasyCrop_Contain","horizontal-cover"===k&&"reactEasyCrop_Cover_Horizontal","vertical-cover"===k&&"reactEasyCrop_Cover_Vertical",j)},r,{ref:function(t){return e.videoRef=t},onLoadedMetadata:this.onMediaLoad,style:jt(jt({},h),{transform:c||"translate("+l+"px, "+a+"px) rotate("+s+"deg) scale("+u+")"}),controls:!1}),(Array.isArray(o)?o:[{src:o}]).map((function(e){return _t.a.createElement("source",jt({key:e.src},e))}))),this.state.cropSize&&_t.a.createElement("div",{style:jt(jt({},f),{width:this.state.cropSize.width,height:this.state.cropSize.height}),"data-testid":"cropper",className:At("reactEasyCrop_CropArea","round"===d&&"reactEasyCrop_CropAreaRound",b&&"reactEasyCrop_CropAreaGrid",v)}))},t.defaultProps={zoom:1,rotation:0,aspect:4/3,maxZoom:3,minZoom:1,cropShape:"rect",objectFit:"contain",showGrid:!0,style:{},classes:{},mediaProps:{},zoomSpeed:1,restrictPosition:!0,zoomWithScroll:!0},t.getMousePoint=function(e){return{x:Number(e.clientX),y:Number(e.clientY)}},t.getTouchPoint=function(e){return{x:Number(e.clientX),y:Number(e.clientY)}},t}(_t.a.Component);const Ft={position:"bottom right",isAlternate:!0};var zt=n("ywyh"),Ht=n.n(zt),Vt=n("onLe");function Gt(e,t){const n=function({url:e,naturalWidth:t,naturalHeight:n}){const[o,r]=Object(l.useState)(),[c,i]=Object(l.useState)(),[a,s]=Object(l.useState)({x:0,y:0}),[u,d]=Object(l.useState)(),[b,p]=Object(l.useState)(),[m,f]=Object(l.useState)(),[h,g]=Object(l.useState)(),O=Object(l.useCallback)(()=>{s({x:0,y:0}),d(100),p(0),f(t/n),g(t/n)},[t,n,s,d,p,f,g]),j=Object(l.useCallback)(()=>{const o=(b+90)%360;let c=t/n;if(b%180==90&&(c=n/t),0===o)return r(),p(o),f(1/m),void s({x:-a.y*c,y:a.x*c});const i=new window.Image;i.src=e,i.onload=function(e){const t=document.createElement("canvas");let n=0,i=0;o%180?(t.width=e.target.height,t.height=e.target.width):(t.width=e.target.width,t.height=e.target.height),90!==o&&180!==o||(n=t.width),270!==o&&180!==o||(i=t.height);const l=t.getContext("2d");l.translate(n,i),l.rotate(o*Math.PI/180),l.drawImage(e.target,0,0),t.toBlob(e=>{r(URL.createObjectURL(e)),p(o),f(1/m),s({x:-a.y*c,y:a.x*c})})};const l=Object(v.applyFilters)("media.crossOrigin",void 0,e);"string"==typeof l&&(i.crossOrigin=l)},[b,t,n,r,p,f,s]);return Object(l.useMemo)(()=>({editedUrl:o,setEditedUrl:r,crop:c,setCrop:i,position:a,setPosition:s,zoom:u,setZoom:d,rotation:b,setRotation:p,rotateClockwise:j,aspect:m,setAspect:f,defaultAspect:h,initializeTransformValues:O}),[o,r,c,i,a,s,u,d,b,p,j,m,f,h,O])}(e),{initializeTransformValues:o}=n;return Object(l.useEffect)(()=>{t&&o()},[t,o]),n}const Ut=Object(l.createContext)({}),Wt=()=>Object(l.useContext)(Ut);function qt({id:e,url:t,naturalWidth:n,naturalHeight:o,isEditing:r,onFinishEditing:c,onSaveImage:i,children:a}){const u=Gt({url:t,naturalWidth:n,naturalHeight:o},r),d=function({crop:e,rotation:t,height:n,width:o,aspect:r,url:c,id:i,onSaveImage:a,onFinishEditing:u}){const{createErrorNotice:d}=Object(_.useDispatch)(Vt.store),[b,p]=Object(l.useState)(!1),m=Object(l.useCallback)(()=>{p(!1),u()},[p,u]),f=Object(l.useCallback)(()=>{p(!0);let l={};(e.width<99.9||e.height<99.9)&&(l=e),t>0&&(l.rotation=t),l.src=c,Ht()({path:`/wp/v2/media/${i}/edit`,method:"POST",data:l}).then(e=>{a({id:e.id,url:e.source_url,height:n&&o?o/r:void 0})}).catch(e=>{d(Object(s.sprintf)(Object(s.__)("Could not edit image. %s"),e.message),{id:"image-editing-error",type:"snackbar"})}).finally(()=>{p(!1),u()})},[p,e,t,n,o,r,c,a,d,p,u]);return Object(l.useMemo)(()=>({isInProgress:b,apply:f,cancel:m}),[b,f,m])}({id:e,url:t,onSaveImage:i,onFinishEditing:c,...u}),b=Object(l.useMemo)(()=>({...u,...d}),[u,d]);return Object(l.createElement)(Ut.Provider,{value:b},a)}function Kt({url:e,width:t,height:n,clientWidth:o,naturalHeight:r,naturalWidth:c}){const{isInProgress:i,editedUrl:a,position:s,zoom:d,aspect:b,setPosition:p,setCrop:m,setZoom:f,rotation:h}=Wt();let g=n||o*r/c;return h%180==90&&(g=o*c/r),Object(l.createElement)("div",{className:V()("wp-block-image__crop-area",{"is-applying":i}),style:{width:t||o,height:g}},Object(l.createElement)(Dt,{image:a||e,disabled:i,minZoom:1,maxZoom:3,crop:s,zoom:d/100,aspect:b,onCropChange:p,onCropComplete:e=>{m(e)},onZoomChange:e=>{f(100*e)}}),i&&Object(l.createElement)(u.Spinner,null))}var $t=n("cGtP");function Yt(){const{isInProgress:e,zoom:t,setZoom:n}=Wt();return Object(l.createElement)(u.Dropdown,{contentClassName:"wp-block-image__zoom",popoverProps:Ft,renderToggle:({isOpen:t,onToggle:n})=>Object(l.createElement)(u.ToolbarButton,{icon:$t.a,label:Object(s.__)("Zoom"),onClick:n,"aria-expanded":t,disabled:e}),renderContent:()=>Object(l.createElement)(u.RangeControl,{label:Object(s.__)("Zoom"),min:100,max:300,value:Math.round(t),onChange:n})})}var Xt=n("RMJe");var Zt=Object(l.createElement)(P.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(l.createElement)(P.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"}));function Qt({aspectRatios:e,isDisabled:t,label:n,onClick:o,value:r}){return Object(l.createElement)(u.MenuGroup,{label:n},e.map(({title:e,aspect:n})=>Object(l.createElement)(u.MenuItem,{key:n,disabled:t,onClick:()=>{o(n)},role:"menuitemradio",isSelected:n===r,icon:n===r?Xt.a:void 0},e)))}function Jt({toggleProps:e}){const{isInProgress:t,aspect:n,setAspect:o,defaultAspect:r}=Wt();return Object(l.createElement)(u.DropdownMenu,{icon:Zt,label:Object(s.__)("Aspect Ratio"),popoverProps:Ft,toggleProps:e,className:"wp-block-image__aspect-ratio"},({onClose:e})=>Object(l.createElement)(l.Fragment,null,Object(l.createElement)(Qt,{isDisabled:t,onClick:t=>{o(t),e()},value:n,aspectRatios:[{title:Object(s.__)("Original"),aspect:r},{title:Object(s.__)("Square"),aspect:1}]}),Object(l.createElement)(Qt,{label:Object(s.__)("Landscape"),isDisabled:t,onClick:t=>{o(t),e()},value:n,aspectRatios:[{title:Object(s.__)("16:10"),aspect:1.6},{title:Object(s.__)("16:9"),aspect:16/9},{title:Object(s.__)("4:3"),aspect:4/3},{title:Object(s.__)("3:2"),aspect:1.5}]}),Object(l.createElement)(Qt,{label:Object(s.__)("Portrait"),isDisabled:t,onClick:t=>{o(t),e()},value:n,aspectRatios:[{title:Object(s.__)("10:16"),aspect:.625},{title:Object(s.__)("9:16"),aspect:9/16},{title:Object(s.__)("3:4"),aspect:3/4},{title:Object(s.__)("2:3"),aspect:2/3}]})))}var en=Object(l.createElement)(P.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(l.createElement)(P.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"}));function tn(){const{isInProgress:e,rotateClockwise:t}=Wt();return Object(l.createElement)(u.ToolbarButton,{icon:en,label:Object(s.__)("Rotate"),onClick:t,disabled:e})}function nn(){const{isInProgress:e,apply:t,cancel:n}=Wt();return Object(l.createElement)(l.Fragment,null,Object(l.createElement)(u.ToolbarButton,{onClick:t,disabled:e},Object(s.__)("Apply")),Object(l.createElement)(u.ToolbarButton,{onClick:n},Object(s.__)("Cancel")))}function on({url:e,width:t,height:n,clientWidth:o,naturalHeight:r,naturalWidth:c}){return Object(l.createElement)(l.Fragment,null,Object(l.createElement)(Kt,{url:e,width:t,height:n,clientWidth:o,naturalHeight:r,naturalWidth:c}),Object(l.createElement)(W.b,null,Object(l.createElement)(u.ToolbarGroup,null,Object(l.createElement)(Yt,null),Object(l.createElement)(u.ToolbarItem,null,e=>Object(l.createElement)(Jt,{toggleProps:e})),Object(l.createElement)(tn,null)),Object(l.createElement)(u.ToolbarGroup,null,Object(l.createElement)(nn,null))))}const rn=[25,50,75,100];function cn({imageWidth:e,imageHeight:t,imageSizeOptions:n=[],isResizable:o=!0,slug:r,width:c,height:i,onChange:d,onChangeImage:b=a.noop}){const{currentHeight:p,currentWidth:m,updateDimension:f,updateDimensions:h}=function(e,t,n,o,r){var c,i;const[a,s]=Object(l.useState)(null!==(c=null!=t?t:o)&&void 0!==c?c:""),[u,d]=Object(l.useState)(null!==(i=null!=e?e:n)&&void 0!==i?i:"");return Object(l.useEffect)(()=>{void 0===t&&void 0!==o&&s(o),void 0===e&&void 0!==n&&d(n)},[o,n]),Object(l.useEffect)(()=>{void 0!==t&&Number.parseInt(t)!==Number.parseInt(a)&&s(t),void 0!==e&&Number.parseInt(e)!==Number.parseInt(u)&&d(e)},[t,e]),{currentHeight:u,currentWidth:a,updateDimension:(e,t)=>{"width"===e?s(t):d(t),r({[e]:""===t?void 0:parseInt(t,10)})},updateDimensions:(e,t)=>{d(null!=e?e:n),s(null!=t?t:o),r({height:e,width:t})}}}(i,c,t,e,d);return Object(l.createElement)(l.Fragment,null,!Object(a.isEmpty)(n)&&Object(l.createElement)(u.SelectControl,{label:Object(s.__)("Image size"),value:r,options:n,onChange:b}),o&&Object(l.createElement)("div",{className:"block-editor-image-size-control"},Object(l.createElement)("p",{className:"block-editor-image-size-control__row"},Object(s.__)("Image dimensions")),Object(l.createElement)("div",{className:"block-editor-image-size-control__row"},Object(l.createElement)(u.TextControl,{type:"number",className:"block-editor-image-size-control__width",label:Object(s.__)("Width"),value:m,min:1,onChange:e=>f("width",e)}),Object(l.createElement)(u.TextControl,{type:"number",className:"block-editor-image-size-control__height",label:Object(s.__)("Height"),value:p,min:1,onChange:e=>f("height",e)})),Object(l.createElement)("div",{className:"block-editor-image-size-control__row"},Object(l.createElement)(u.ButtonGroup,{"aria-label":Object(s.__)("Image size presets")},rn.map(n=>{const o=Math.round(e*(n/100)),r=Math.round(t*(n/100)),c=m===o&&p===r;return Object(l.createElement)(u.Button,{key:n,isSmall:!0,variant:c?"primary":void 0,isPressed:c,onClick:()=>h(r,o)},n,"%")})),Object(l.createElement)(u.Button,{isSmall:!0,onClick:()=>h()},Object(s.__)("Reset")))))}var ln=n("p3NJ"),an=n("1oY3"),sn=n("0E5u"),un=n("btIw"),dn=n("1CF3");var bn=({value:e,onChange:t=a.noop,settings:n})=>{if(!n||!n.length)return null;const o=n=>o=>{t({...e,[n.id]:o})},r=n.map(t=>Object(l.createElement)(u.ToggleControl,{className:"block-editor-link-control__setting",key:t.id,label:t.title,onChange:o(t),checked:!!e&&!!e[t.id]}));return Object(l.createElement)("fieldset",{className:"block-editor-link-control__settings"},Object(l.createElement)(u.VisuallyHidden,{as:"legend"},Object(s.__)("Currently selected link settings")),r)},pn=n("9Do8"),mn=n.n(pn),fn=n("Mmq9");class hn extends l.Component{constructor(e){super(e),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=e.autocompleteRef||Object(l.createRef)(),this.inputRef=Object(l.createRef)(),this.updateSuggestions=Object(a.debounce)(this.updateSuggestions.bind(this),200),this.suggestionNodes=[],this.isUpdatingSuggestions=!1,this.state={suggestions:[],showSuggestions:!1,selectedSuggestion:null,suggestionsListboxId:"",suggestionOptionIdPrefix:""}}componentDidUpdate(e){const{showSuggestions:t,selectedSuggestion:n}=this.state,{value:o,__experimentalShowInitialSuggestions:r=!1}=this.props;t&&null!==n&&this.suggestionNodes[n]&&!this.scrollingIntoView&&(this.scrollingIntoView=!0,mn()(this.suggestionNodes[n],this.autocompleteRef.current,{onlyScrollIfNeeded:!0}),this.props.setTimeout(()=>{this.scrollingIntoView=!1},100)),e.value===o||this.props.disableSuggestions||this.isUpdatingSuggestions||(null!=o&&o.length?this.updateSuggestions(o):r&&this.updateSuggestions())}componentDidMount(){this.shouldShowInitialSuggestions()&&this.updateSuggestions()}componentWillUnmount(){var e,t;null===(e=this.suggestionsRequest)||void 0===e||null===(t=e.cancel)||void 0===t||t.call(e),delete this.suggestionsRequest}bindSuggestionNode(e){return t=>{this.suggestionNodes[e]=t}}shouldShowInitialSuggestions(){const{suggestions:e}=this.state,{__experimentalShowInitialSuggestions:t=!1,value:n}=this.props;return!this.isUpdatingSuggestions&&t&&!(n&&n.length)&&!(e&&e.length)}updateSuggestions(e=""){var t;const{__experimentalFetchLinkSuggestions:n,__experimentalHandleURLSuggestions:o}=this.props;if(!n)return;const r=!(null!==(t=e)&&void 0!==t&&t.length);if(e=e.trim(),!r&&(e.length<2||!o&&Object(fn.isURL)(e)))return void this.setState({showSuggestions:!1,selectedSuggestion:null,loading:!1});this.isUpdatingSuggestions=!0,this.setState({selectedSuggestion:null,loading:!0});const c=n(e,{isInitialSuggestions:r});c.then(e=>{this.suggestionsRequest===c&&(this.setState({suggestions:e,loading:!1,showSuggestions:!!e.length}),e.length?this.props.debouncedSpeak(Object(s.sprintf)(Object(s._n)("%d result found, use up and down arrow keys to navigate.","%d results found, use up and down arrow keys to navigate.",e.length),e.length),"assertive"):this.props.debouncedSpeak(Object(s.__)("No results."),"assertive"),this.isUpdatingSuggestions=!1)}).catch(()=>{this.suggestionsRequest===c&&(this.setState({loading:!1}),this.isUpdatingSuggestions=!1)}),this.suggestionsRequest=c}onChange(e){const t=e.target.value;this.props.onChange(t),this.props.disableSuggestions||this.updateSuggestions(t)}onFocus(){const{suggestions:e}=this.state,{disableSuggestions:t,value:n}=this.props;!n||t||this.isUpdatingSuggestions||e&&e.length||this.updateSuggestions(n)}onKeyDown(e){const{showSuggestions:t,selectedSuggestion:n,suggestions:o,loading:r}=this.state;if(!t||!o.length||r){switch(e.keyCode){case L.UP:0!==e.target.selectionStart&&(e.preventDefault(),e.target.setSelectionRange(0,0));break;case L.DOWN:this.props.value.length!==e.target.selectionStart&&(e.preventDefault(),e.target.setSelectionRange(this.props.value.length,this.props.value.length));break;case L.ENTER:this.props.onSubmit&&this.props.onSubmit(null,e)}return}const c=this.state.suggestions[this.state.selectedSuggestion];switch(e.keyCode){case L.UP:{e.preventDefault();const t=n?n-1:o.length-1;this.setState({selectedSuggestion:t});break}case L.DOWN:{e.preventDefault();const t=null===n||n===o.length-1?0:n+1;this.setState({selectedSuggestion:t});break}case L.TAB:null!==this.state.selectedSuggestion&&(this.selectLink(c),this.props.speak(Object(s.__)("Link selected.")));break;case L.ENTER:null!==this.state.selectedSuggestion?(this.selectLink(c),this.props.onSubmit&&this.props.onSubmit(c,e)):this.props.onSubmit&&this.props.onSubmit(null,e)}}selectLink(e){this.props.onChange(e.url,e),this.setState({selectedSuggestion:null,showSuggestions:!1})}handleOnClick(e){this.selectLink(e),this.inputRef.current.focus()}static getDerivedStateFromProps({value:e,instanceId:t,disableSuggestions:n,__experimentalShowInitialSuggestions:o=!1},{showSuggestions:r}){let c=r;const i=e&&e.length;return o||i||(c=!1),!0===n&&(c=!1),{showSuggestions:c,suggestionsListboxId:"block-editor-url-input-suggestions-"+t,suggestionOptionIdPrefix:"block-editor-url-input-suggestion-"+t}}render(){return Object(l.createElement)(l.Fragment,null,this.renderControl(),this.renderSuggestions())}renderControl(){const{label:e,className:t,isFullWidth:n,instanceId:o,placeholder:r=Object(s.__)("Paste URL or type to search"),__experimentalRenderControl:c,value:i=""}=this.props,{loading:a,showSuggestions:d,selectedSuggestion:b,suggestionsListboxId:p,suggestionOptionIdPrefix:m}=this.state,f={id:"url-input-control-"+o,label:e,className:V()("block-editor-url-input",t,{"is-full-width":n})},h={value:i,required:!0,className:"block-editor-url-input__input",type:"text",onChange:this.onChange,onFocus:this.onFocus,placeholder:r,onKeyDown:this.onKeyDown,role:"combobox","aria-label":Object(s.__)("URL"),"aria-expanded":d,"aria-autocomplete":"list","aria-owns":p,"aria-activedescendant":null!==b?`${m}-${b}`:void 0,ref:this.inputRef};return c?c(f,h,a):Object(l.createElement)(u.BaseControl,f,Object(l.createElement)("input",h),a&&Object(l.createElement)(u.Spinner,null))}renderSuggestions(){const{className:e,__experimentalRenderSuggestions:t,value:n="",__experimentalShowInitialSuggestions:o=!1}=this.props,{showSuggestions:r,suggestions:c,selectedSuggestion:s,suggestionsListboxId:d,suggestionOptionIdPrefix:b,loading:p}=this.state,m={id:d,ref:this.autocompleteRef,role:"listbox"},f=(e,t)=>({role:"option",tabIndex:"-1",id:`${b}-${t}`,ref:this.bindSuggestionNode(t),"aria-selected":t===s});return Object(a.isFunction)(t)&&r&&c.length?t({suggestions:c,selectedSuggestion:s,suggestionsListProps:m,buildSuggestionItemProps:f,isLoading:p,handleSuggestionClick:this.handleOnClick,isInitialSuggestions:o&&!(n&&n.length)}):!Object(a.isFunction)(t)&&r&&c.length?Object(l.createElement)(u.Popover,{position:"bottom",noArrow:!0,focusOnMount:!1},Object(l.createElement)("div",Object(i.a)({},m,{className:V()("block-editor-url-input__suggestions",e+"__suggestions")}),c.map((e,t)=>Object(l.createElement)(u.Button,Object(i.a)({},f(0,t),{key:e.id,className:V()("block-editor-url-input__suggestion",{"is-selected":t===s}),onClick:()=>this.handleOnClick(e)}),e.title)))):null}}var gn=Object(Q.compose)(Q.withSafeTimeout,u.withSpokenMessages,Q.withInstanceId,Object(_.withSelect)((e,t)=>{if(Object(a.isFunction)(t.__experimentalFetchLinkSuggestions))return;const{getSettings:n}=e(S.a);return{__experimentalFetchLinkSuggestions:n().__experimentalFetchLinkSuggestions}}))(hn),On=n("Q4Sy");var vn=({searchTerm:e,onClick:t,itemProps:n,isSelected:o,buttonText:r})=>{if(!e)return null;let c;return c=r?Object(a.isFunction)(r)?r(e):r:Object(l.createInterpolateElement)(Object(s.sprintf)(Object(s.__)("Create: %s"),e),{mark:Object(l.createElement)("mark",null)}),Object(l.createElement)(u.Button,Object(i.a)({},n,{className:V()("block-editor-link-control__search-create block-editor-link-control__search-item",{"is-selected":o}),onClick:t}),Object(l.createElement)(A.a,{className:"block-editor-link-control__search-item-icon",icon:On.a}),Object(l.createElement)("span",{className:"block-editor-link-control__search-item-header"},Object(l.createElement)("span",{className:"block-editor-link-control__search-item-title"},c)))};var jn=Object(l.createElement)(P.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(l.createElement)(P.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"}));var kn=({itemProps:e,suggestion:t,isSelected:n=!1,onClick:o,isURL:r=!1,searchTerm:c="",shouldShowType:a=!1})=>Object(l.createElement)(u.Button,Object(i.a)({},e,{onClick:o,className:V()("block-editor-link-control__search-item",{"is-selected":n,"is-url":r,"is-entity":!r})}),r&&Object(l.createElement)(A.a,{className:"block-editor-link-control__search-item-icon",icon:jn}),Object(l.createElement)("span",{className:"block-editor-link-control__search-item-header"},Object(l.createElement)("span",{className:"block-editor-link-control__search-item-title"},Object(l.createElement)(u.TextHighlight,{text:t.title,highlight:c})),Object(l.createElement)("span",{"aria-hidden":!r,className:"block-editor-link-control__search-item-info"},!r&&(Object(fn.filterURLForDisplay)(Object(fn.safeDecodeURI)(t.url))||""),r&&Object(s.__)("Press ENTER to add this link"))),a&&t.type&&Object(l.createElement)("span",{className:"block-editor-link-control__search-item-type"},"post_tag"===t.type?"tag":t.type));const _n=[{id:"opensInNewTab",title:Object(s.__)("Open in new tab")}];function yn({instanceId:e,withCreateSuggestion:t,currentInputValue:n,handleSuggestionClick:o,suggestionsListProps:r,buildSuggestionItemProps:c,suggestions:a,selectedSuggestion:d,isLoading:b,isInitialSuggestions:p,createSuggestionButtonText:m,suggestionsQuery:f}){const h=V()("block-editor-link-control__search-results",{"is-loading":b}),g=["url","mailto","tel","internal"],O=1===a.length&&g.includes(a[0].type.toLowerCase()),v=t&&!O&&!p,j=!(null!=f&&f.type),k="block-editor-link-control-search-results-label-"+e,_=p?Object(s.__)("Recently updated"):Object(s.sprintf)(Object(s.__)('Search results for "%s"'),n),y=Object(l.createElement)(p?l.Fragment:u.VisuallyHidden,{},Object(l.createElement)("span",{className:"block-editor-link-control__search-results-label",id:k},_));return Object(l.createElement)("div",{className:"block-editor-link-control__search-results-wrapper"},y,Object(l.createElement)("div",Object(i.a)({},r,{className:h,"aria-labelledby":k}),a.map((e,t)=>v&&"__CREATE__"===e.type?Object(l.createElement)(vn,{searchTerm:n,buttonText:m,onClick:()=>o(e),key:e.type,itemProps:c(e,t),isSelected:t===d}):"__CREATE__"===e.type?null:Object(l.createElement)(kn,{key:`${e.id}-${e.type}`,itemProps:c(e,t),suggestion:e,index:t,onClick:()=>{o(e)},isSelected:t===d,isURL:g.includes(e.type.toLowerCase()),searchTerm:n,shouldShowType:j}))))}function En(e){const t=Object(a.startsWith)(e,"#");return Object(fn.isURL)(e)||e&&e.includes("www.")||t}const Cn=()=>Promise.resolve([]),Sn=e=>{let t="URL";const n=Object(fn.getProtocol)(e)||"";return n.includes("mailto")&&(t="mailto"),n.includes("tel")&&(t="tel"),Object(a.startsWith)(e,"#")&&(t="internal"),Promise.resolve([{id:e,title:e,url:"URL"===t?Object(fn.prependHTTP)(e):e,type:t}])};function wn(e,t,n,o){const{fetchSearchSuggestions:r}=Object(_.useSelect)(e=>{const{getSettings:t}=e(S.a);return{fetchSearchSuggestions:t().__experimentalFetchLinkSuggestions}},[]),c=t?Sn:Cn;return Object(l.useCallback)((t,{isInitialSuggestions:i})=>En(t)?c(t,{isInitialSuggestions:i}):(async(e,t,n,o,r,c)=>{const{isInitialSuggestions:i}=t;let l=await Promise.all([n(e,t),o(e)]);return l=!e.includes(" ")&&c&&!i?l[0].concat(l[1]):l[0],i||En(e)||!r?l:l.concat({title:e,url:e,type:"__CREATE__"})})(t,{...e,isInitialSuggestions:i},r,c,n,o),[c,r,n])}const Bn=()=>Promise.resolve([]),In=Object(l.forwardRef)(({value:e,children:t,currentLink:n={},className:o=null,placeholder:r=null,withCreateSuggestion:c=!1,onCreateSuggestion:i=a.noop,onChange:u=a.noop,onSelect:d=a.noop,showSuggestions:b=!0,renderSuggestions:p=(e=>Object(l.createElement)(yn,e)),fetchSuggestions:m=null,allowDirectEntry:f=!0,showInitialSuggestions:h=!1,suggestionsQuery:g={},withURLSuggestion:O=!0,createSuggestionButtonText:v,useLabel:j=!1},k)=>{const _=wn(g,f,c,O),y=b?m||_:Bn,E=Object(Q.useInstanceId)(In),[C,S]=Object(l.useState)(),w=async e=>{let t=e;if("__CREATE__"!==e.type)(f||t&&Object.keys(t).length>=1)&&d({...Object(a.omit)(n,"id","url"),...t},t);else try{var o;t=await i(e.title),null!==(o=t)&&void 0!==o&&o.url&&d(t)}catch(e){}},B=V()(o,{"has-no-label":!j});return Object(l.createElement)("div",{className:"block-editor-link-control__search-input-container"},Object(l.createElement)(gn,{label:j?"URL":void 0,className:B,value:e,onChange:(e,t)=>{u(e),S(t)},placeholder:null!=r?r:Object(s.__)("Search or type url"),__experimentalRenderSuggestions:b?t=>p({...t,instanceId:E,withCreateSuggestion:c,currentInputValue:e,createSuggestionButtonText:v,suggestionsQuery:g,handleSuggestionClick:e=>{t.handleSuggestionClick&&t.handleSuggestionClick(e),w(e)}}):null,__experimentalFetchLinkSuggestions:y,__experimentalHandleURLSuggestions:!0,__experimentalShowInitialSuggestions:h,onSubmit:(t,n)=>{var o;const r=t||C;r||null!=e&&null!==(o=e.trim())&&void 0!==o&&o.length?w(r||{url:e}):n.preventDefault()},ref:k}),t)});var xn=In,Tn=n("FnAh"),Pn=n("B9Az"),Rn=n("Mp0b");const{Slot:Nn,Fill:Ln}=Object(u.createSlotFill)("BlockEditorLinkControlViewer");function Mn(e,t){switch(t.type){case"RESOLVED":return{...e,isFetching:!1,richData:t.richData};case"ERROR":return{...e,isFetching:!1,richData:null};case"LOADING":return{...e,isFetching:!0};default:throw new Error("Unexpected action type "+t.type)}}var An=function(e){const[t,n]=Object(l.useReducer)(Mn,{richData:null,isFetching:!1}),{fetchRichUrlData:o}=Object(_.useSelect)(e=>{const{getSettings:t}=e(S.a);return{fetchRichUrlData:t().__experimentalFetchRichUrlData}},[]);return Object(l.useEffect)(()=>{if(null!=e&&e.length&&o&&"undefined"!=typeof AbortController){n({type:"LOADING"});const t=new window.AbortController,r=t.signal;return o(e,{signal:r}).then(e=>{n({type:"RESOLVED",richData:e})}).catch(()=>{r.aborted||n({type:"ERROR"})}),()=>{t.abort()}}},[e]),t};function Dn({value:e,onEditClick:t,hasRichPreviews:n=!1,hasUnlinkControl:o=!1,onRemove:r}){const c=n?null==e?void 0:e.url:null,{richData:i,isFetching:a}=An(c),d=i&&Object.keys(i).length,b=e&&Object(fn.filterURLForDisplay)(Object(fn.safeDecodeURI)(e.url),16)||"",p=(null==i?void 0:i.title)||(null==e?void 0:e.title)||b,m=!e.url.length;let f;return f=null!=i&&i.icon?Object(l.createElement)("img",{src:null==i?void 0:i.icon,alt:""}):m?Object(l.createElement)(A.a,{icon:Tn.a,size:32}):Object(l.createElement)(A.a,{icon:jn}),Object(l.createElement)("div",{"aria-label":Object(s.__)("Currently selected"),"aria-selected":"true",className:V()("block-editor-link-control__search-item",{"is-current":!0,"is-rich":d,"is-fetching":!!a,"is-preview":!0,"is-error":m})},Object(l.createElement)("div",{className:"block-editor-link-control__search-item-top"},Object(l.createElement)("span",{className:"block-editor-link-control__search-item-header"},Object(l.createElement)("span",{className:V()("block-editor-link-control__search-item-icon",{"is-image":null==i?void 0:i.icon})},f),Object(l.createElement)("span",{className:"block-editor-link-control__search-item-details"},m?Object(l.createElement)("span",{className:"block-editor-link-control__search-item-error-notice"},"Link is empty"):Object(l.createElement)(l.Fragment,null,Object(l.createElement)(u.ExternalLink,{className:"block-editor-link-control__search-item-title",href:e.url},Object(dn.__unstableStripHTML)(p)),(null==e?void 0:e.url)&&Object(l.createElement)("span",{className:"block-editor-link-control__search-item-info"},b)))),Object(l.createElement)(u.Button,{icon:Pn.a,label:Object(s.__)("Edit"),className:"block-editor-link-control__search-item-action",onClick:t,iconSize:24}),o&&Object(l.createElement)(u.Button,{icon:Rn.a,label:Object(s.__)("Unlink"),className:"block-editor-link-control__search-item-action block-editor-link-control__unlink",onClick:r,iconSize:24}),Object(l.createElement)(Nn,{fillProps:e})),(d&&((null==i?void 0:i.image)||(null==i?void 0:i.description))||a)&&Object(l.createElement)("div",{className:"block-editor-link-control__search-item-bottom"},((null==i?void 0:i.image)||a)&&Object(l.createElement)("div",{"aria-hidden":!(null!=i&&i.image),className:V()("block-editor-link-control__search-item-image",{"is-placeholder":!(null!=i&&i.image)})},(null==i?void 0:i.image)&&Object(l.createElement)("img",{src:null==i?void 0:i.image,alt:""})),((null==i?void 0:i.description)||a)&&Object(l.createElement)("div",{"aria-hidden":!(null!=i&&i.description),className:V()("block-editor-link-control__search-item-description",{"is-placeholder":!(null!=i&&i.description)})},(null==i?void 0:i.description)&&Object(l.createElement)(u.__experimentalText,{truncate:!0,numberOfLines:"2"},i.description))))}const Fn=e=>{let t=!1;return{promise:new Promise((n,o)=>{e.then(e=>t?o({isCanceled:!0}):n(e),e=>o(t?{isCanceled:!0}:e))}),cancel(){t=!0}}};function zn({searchInputPlaceholder:e,value:t,settings:n=_n,onChange:o=a.noop,onRemove:r,noDirectEntry:c=!1,showSuggestions:i=!0,showInitialSuggestions:d,forceIsEditingLink:b,createSuggestion:p,withCreateSuggestion:m,inputValue:f="",suggestionsQuery:h={},noURLSuggestion:g=!1,createSuggestionButtonText:O,hasRichPreviews:v=!1,hasTextControl:j=!1,renderControlBottom:k=null}){var _,y,E;void 0===m&&p&&(m=!0);const C=Object(l.useRef)(!0),S=Object(l.useRef)(),w=Object(l.useRef)(),[B,I]=Object(l.useState)((null==t?void 0:t.url)||""),[x,T]=Object(l.useState)((null==t?void 0:t.title)||""),P=f||B,[R,N]=Object(l.useState)(void 0!==b?b:!t||!t.url),M=Object(l.useRef)(!1),A=!(null!=P&&null!==(_=P.trim())&&void 0!==_&&_.length);function D(){var e;M.current=!(null===(e=S.current)||void 0===e||!e.contains(S.current.ownerDocument.activeElement)),N(!1)}Object(l.useEffect)(()=>{void 0!==b&&b!==R&&N(b)},[b]),Object(l.useEffect)(()=>{if(C.current)return void(C.current=!1);const e=null!=w&&w.current?1:0;(dn.focus.focusable.find(S.current)[e]||S.current).focus(),M.current=!1},[R]),Object(l.useEffect)(()=>{null!=t&&t.title&&t.title!==x&&T(t.title),null!=t&&t.url&&I(t.url)},[t]);const{createPage:F,isCreatingPage:z,errorMessage:H}=function(e){const t=Object(l.useRef)(),[n,o]=Object(l.useState)(!1),[r,c]=Object(l.useState)(null);return Object(l.useEffect)(()=>()=>{t.current&&t.current.cancel()},[]),{createPage:async function(n){o(!0),c(null);try{return t.current=Fn(Promise.resolve(e(n))),await t.current.promise}catch(e){if(e&&e.isCanceled)return;throw c(e.message||Object(s.__)("An unknown error occurred during creation. Please try again.")),e}finally{o(!1)}},isCreatingPage:n,errorMessage:r}}(p),G=()=>{P===(null==t?void 0:t.url)&&x===(null==t?void 0:t.title)||o({url:P,title:x}),D()},U=r&&t&&!R&&!z,W=!(null==n||!n.length),q=(null==t||null===(y=t.url)||void 0===y||null===(E=y.trim())||void 0===E?void 0:E.length)>0&&j;return Object(l.createElement)("div",{tabIndex:-1,ref:S,className:"block-editor-link-control"},z&&Object(l.createElement)("div",{className:"block-editor-link-control__loading"},Object(l.createElement)(u.Spinner,null)," ",Object(s.__)("Creating"),"…"),(R||!t)&&!z&&Object(l.createElement)(l.Fragment,null,Object(l.createElement)("div",{className:V()({"block-editor-link-control__search-input-wrapper":!0,"has-text-control":q})},q&&Object(l.createElement)(u.TextControl,{ref:w,className:"block-editor-link-control__field block-editor-link-control__text-content",label:"Text",value:x,onChange:T,onKeyDown:e=>{const{keyCode:t}=e;t!==L.ENTER||A||(e.preventDefault(),G())}}),Object(l.createElement)(xn,{currentLink:t,className:"block-editor-link-control__field block-editor-link-control__search-input",placeholder:e,value:P,withCreateSuggestion:m,onCreateSuggestion:F,onChange:I,onSelect:e=>{o({...e,title:x||(null==e?void 0:e.title)}),D()},showInitialSuggestions:d,allowDirectEntry:!c,showSuggestions:i,suggestionsQuery:h,withURLSuggestion:!g,createSuggestionButtonText:O,useLabel:q},Object(l.createElement)("div",{className:"block-editor-link-control__search-actions"},Object(l.createElement)(u.Button,{onClick:G,label:Object(s.__)("Submit"),icon:un.a,className:"block-editor-link-control__search-submit",disabled:A})))),H&&Object(l.createElement)(u.Notice,{className:"block-editor-link-control__search-error",status:"error",isDismissible:!1},H)),t&&!R&&!z&&Object(l.createElement)(Dn,{key:null==t?void 0:t.url,value:t,onEditClick:()=>N(!0),hasRichPreviews:v,hasUnlinkControl:U,onRemove:r}),W&&Object(l.createElement)("div",{className:"block-editor-link-control__tools"},Object(l.createElement)(bn,{value:t,settings:n,onChange:o})),k&&k())}zn.ViewerFill=Ln;var Hn=zn,Vn=n("weEX"),Gn=n("gdqT"),Un=n("rH4q"),Wn=n("NTP4");var qn=Object(u.withFilters)("editor.MediaUpload")(()=>null);var Kn=function({fallback:e=null,children:t}){return Object(_.useSelect)(e=>{const{getSettings:t}=e(S.a);return!!t().mediaUpload},[])?t:e};var $n=Object(Q.compose)([Object(_.withDispatch)(e=>{const{createNotice:t,removeNotice:n}=e(Vt.store);return{createNotice:t,removeNotice:n}}),Object(u.withFilters)("editor.MediaReplaceFlow")])(({mediaURL:e,mediaId:t,allowedTypes:n,accept:o,onSelect:r,onSelectURL:c,onFilesUpload:i=a.noop,name:d=Object(s.__)("Replace"),createNotice:b,removeNotice:p,children:m})=>{const[f,h]=Object(l.useState)(e),g=Object(_.useSelect)(e=>e(S.a).getSettings().mediaUpload,[]),O=Object(l.createRef)(),v=Object(a.uniqueId)("block-editor/media-replace-flow/error-notice/"),j=e=>{const t=document.createElement("div");t.innerHTML=Object(l.renderToString)(e);const n=t.textContent||t.innerText||"";setTimeout(()=>{b("error",n,{speak:!0,id:v,isDismissible:!0})},1e3)},k=e=>{h(e.url),r(e),Object(Gn.speak)(Object(s.__)("The media file has been replaced")),p(v)},y=e=>{e.keyCode===L.DOWN&&(e.preventDefault(),e.target.click())};return Object(l.createElement)(u.Dropdown,{popoverProps:{isAlternate:!0},contentClassName:"block-editor-media-replace-flow__options",renderToggle:({isOpen:e,onToggle:t})=>Object(l.createElement)(u.ToolbarButton,{ref:O,"aria-expanded":e,"aria-haspopup":"true",onClick:t,onKeyDown:y},d),renderContent:({onClose:e})=>Object(l.createElement)(l.Fragment,null,Object(l.createElement)(u.NavigableMenu,{className:"block-editor-media-replace-flow__media-upload-menu"},Object(l.createElement)(qn,{value:t,onSelect:e=>k(e),allowedTypes:n,render:({open:e})=>Object(l.createElement)(u.MenuItem,{icon:Un.a,onClick:e},Object(s.__)("Open Media Library"))}),Object(l.createElement)(Kn,null,Object(l.createElement)(u.FormFileUpload,{onChange:e=>{(e=>{const t=e.target.files;i(t);g({allowedTypes:n,filesList:t,onFileChange:([e])=>{k(e)},onError:j})})(e)},accept:o,render:({openFileDialog:e})=>Object(l.createElement)(u.MenuItem,{icon:Wn.a,onClick:()=>{e()}},Object(s.__)("Upload"))})),m),c&&Object(l.createElement)("form",{className:"block-editor-media-flow__url-input"},Object(l.createElement)("span",{className:"block-editor-media-replace-flow__image-url-label"},Object(s.__)("Current media URL:")),Object(l.createElement)(Hn,{value:{url:f},settings:[],showSuggestions:!1,onChange:({url:e})=>{h(e),c(e),O.current.focus()}})))})}),Yn=n("NMb1"),Xn=n.n(Yn);function Zn({url:e,urlLabel:t,className:n}){const o=V()(n,"block-editor-url-popover__link-viewer-url");return e?Object(l.createElement)(u.ExternalLink,{className:o,href:e},t||Object(fn.filterURLForDisplay)(Object(fn.safeDecodeURI)(e))):Object(l.createElement)("span",{className:o})}function Qn({additionalControls:e,children:t,renderSettings:n,position:o="bottom center",focusOnMount:r="firstElement",...c}){const[a,d]=Object(l.useState)(!1),b=!!n&&a;return Object(l.createElement)(u.Popover,Object(i.a)({className:"block-editor-url-popover",focusOnMount:r,position:o},c),Object(l.createElement)("div",{className:"block-editor-url-popover__input-container"},Object(l.createElement)("div",{className:"block-editor-url-popover__row"},t,!!n&&Object(l.createElement)(u.Button,{className:"block-editor-url-popover__settings-toggle",icon:qe.a,label:Object(s.__)("Link settings"),onClick:()=>{d(!a)},"aria-expanded":a})),b&&Object(l.createElement)("div",{className:"block-editor-url-popover__row block-editor-url-popover__settings"},n())),e&&!b&&Object(l.createElement)("div",{className:"block-editor-url-popover__additional-controls"},e))}Qn.LinkEditor=function({autocompleteRef:e,className:t,onChangeInputValue:n,value:o,...r}){return Object(l.createElement)("form",Object(i.a)({className:V()("block-editor-url-popover__link-editor",t)},r),Object(l.createElement)(gn,{value:o,onChange:n,autocompleteRef:e}),Object(l.createElement)(u.Button,{icon:un.a,label:Object(s.__)("Apply"),type:"submit"}))},Qn.LinkViewer=function({className:e,linkClassName:t,onEditLinkClick:n,url:o,urlLabel:r,...c}){return Object(l.createElement)("div",Object(i.a)({className:V()("block-editor-url-popover__link-viewer",e)},c),Object(l.createElement)(Zn,{url:o,urlLabel:r,className:t}),n&&Object(l.createElement)(u.Button,{icon:Pn.a,label:Object(s.__)("Edit"),onClick:n}))};var Jn=Qn;const eo=({src:e,onChange:t,onSubmit:n,onClose:o})=>Object(l.createElement)(Jn,{onClose:o},Object(l.createElement)("form",{className:"block-editor-media-placeholder__url-input-form",onSubmit:n},Object(l.createElement)("input",{className:"block-editor-media-placeholder__url-input-field",type:"text","aria-label":Object(s.__)("URL"),placeholder:Object(s.__)("Paste or type URL"),onChange:t,value:e}),Object(l.createElement)(u.Button,{className:"block-editor-media-placeholder__url-input-submit-button",icon:un.a,label:Object(s.__)("Apply"),type:"submit"})));var to=Object(u.withFilters)("editor.MediaPlaceholder")((function({value:e={},allowedTypes:t,className:n,icon:o,labels:r={},mediaPreview:c,notices:i,isAppender:d,accept:b,addToGallery:p,multiple:m=!1,handleUpload:f=!0,dropZoneUIOnly:h,disableDropZone:g,disableMediaButtons:O,onError:v,onSelect:j,onCancel:k,onSelectURL:y,onDoubleClick:E,onFilesPreUpload:C=a.noop,onHTMLDrop:w=a.noop,children:B,mediaLibraryButton:I,placeholder:x,style:T}){const P=Object(_.useSelect)(e=>{const{getSettings:t}=e(S.a);return t().mediaUpload},[]),[R,N]=Object(l.useState)(""),[L,M]=Object(l.useState)(!1);Object(l.useEffect)(()=>{var t;N(null!==(t=null==e?void 0:e.src)&&void 0!==t?t:"")},[null==e?void 0:e.src]);const A=e=>{N(e.target.value)},D=()=>{M(!0)},F=()=>{M(!1)},z=e=>{e.preventDefault(),R&&y&&(y(R),F())},H=n=>{if(!f)return j(n);let o;if(C(n),m)if(p){let t=[];o=n=>{const o=(null!=e?e:[]).filter(e=>e.id?!t.some(({id:t})=>Number(t)===Number(e.id)):!t.some(({urlSlug:t})=>e.url.includes(t)));j(o.concat(n)),t=n.map(e=>{const t=e.url.lastIndexOf("."),n=e.url.slice(0,t);return{id:e.id,urlSlug:n}})}}else o=j;else o=([e])=>j(e);P({allowedTypes:t,filesList:n,onFileChange:o,onError:v})},G=e=>{H(e.target.files)},U=null!=x?x:e=>{let{instructions:a,title:b}=r;if(P||y||(a=Object(s.__)("To edit this block, you need permission to upload media.")),void 0===a||void 0===b){const e=null!=t?t:[],[n]=e,o=1===e.length,r=o&&"audio"===n,c=o&&"image"===n,i=o&&"video"===n;void 0===a&&P&&(a=Object(s.__)("Upload a media file or pick one from your media library."),r?a=Object(s.__)("Upload an audio file, pick one from your media library, or add one with a URL."):c?a=Object(s.__)("Upload an image file, pick one from your media library, or add one with a URL."):i&&(a=Object(s.__)("Upload a video file, pick one from your media library, or add one with a URL."))),void 0===b&&(b=Object(s.__)("Media"),r?b=Object(s.__)("Audio"):c?b=Object(s.__)("Image"):i&&(b=Object(s.__)("Video")))}const p=V()("block-editor-media-placeholder",n,{"is-appender":d});return Object(l.createElement)(u.Placeholder,{icon:o,label:b,instructions:a,className:p,notices:i,onDoubleClick:E,preview:c,style:T},e,B)},W=()=>g?null:Object(l.createElement)(u.DropZone,{onFilesDrop:H,onHTMLDrop:w}),q=()=>k&&Object(l.createElement)(u.Button,{className:"block-editor-media-placeholder__cancel-button",title:Object(s.__)("Cancel"),variant:"link",onClick:k},Object(s.__)("Cancel")),K=()=>y&&Object(l.createElement)("div",{className:"block-editor-media-placeholder__url-input-container"},Object(l.createElement)(u.Button,{className:"block-editor-media-placeholder__button",onClick:D,isPressed:L,variant:"tertiary"},Object(s.__)("Insert from URL")),L&&Object(l.createElement)(eo,{src:R,onChange:A,onSubmit:z,onClose:F}));return h||O?(h&&Xn()("wp.blockEditor.MediaPlaceholder dropZoneUIOnly prop",{since:"5.4",alternative:"disableMediaButtons"}),Object(l.createElement)(Kn,null,W())):Object(l.createElement)(Kn,{fallback:U(K())},(()=>{const n=null!=I?I:({open:e})=>Object(l.createElement)(u.Button,{variant:"tertiary",onClick:()=>{e()}},Object(s.__)("Media Library")),o=Object(l.createElement)(qn,{addToGallery:p,gallery:m&&!(!t||0===t.length)&&t.every(e=>"image"===e||e.startsWith("image/")),multiple:m,onSelect:j,allowedTypes:t,value:Array.isArray(e)?e.map(({id:e})=>e):e.id,render:n});if(P&&d)return Object(l.createElement)(l.Fragment,null,W(),Object(l.createElement)(u.FormFileUpload,{onChange:G,accept:b,multiple:m,render:({openFileDialog:e})=>{const t=Object(l.createElement)(l.Fragment,null,Object(l.createElement)(u.Button,{variant:"primary",className:V()("block-editor-media-placeholder__button","block-editor-media-placeholder__upload-button"),onClick:e},Object(s.__)("Upload")),o,K(),q());return U(t)}}));if(P){const e=Object(l.createElement)(l.Fragment,null,W(),Object(l.createElement)(u.FormFileUpload,{variant:"primary",className:V()("block-editor-media-placeholder__button","block-editor-media-placeholder__upload-button"),onChange:G,accept:b,multiple:m},Object(s.__)("Upload")),o,K(),q());return U(e)}return U(o)})())}));var no=({colorSettings:e,...t})=>{const n=e.map(({value:e,onChange:t,...n})=>({...n,colorValue:e,onColorChange:t}));return Object(l.createElement)(Ot.a,Object(i.a)({settings:n,gradients:[],disableCustomGradients:!0},t))},oo=n("O6Fj"),ro=n.n(oo),co=n("qRz9");const io={position:"bottom right",isAlternate:!0};var lo=()=>Object(l.createElement)(l.Fragment,null,["bold","italic","link"].map(e=>Object(l.createElement)(u.Slot,{name:"RichText.ToolbarControls."+e,key:e})),Object(l.createElement)(u.Slot,{name:"RichText.ToolbarControls"},e=>{if(!e.length)return null;const t=e.map(([{props:e}])=>e).some(({isActive:e})=>e);return Object(l.createElement)(u.ToolbarItem,null,n=>Object(l.createElement)(u.DropdownMenu,{icon:qe.a,label:Object(s.__)("More"),toggleProps:{...n,className:V()(n.className,{"is-pressed":t}),describedBy:Object(s.__)("Displays more block tools")},controls:Object(a.orderBy)(e.map(([{props:e}])=>e),"title"),popoverProps:io}))}));var ao=({inline:e,anchorRef:t})=>e?Object(l.createElement)(u.Popover,{noArrow:!0,position:"top center",focusOnMount:!1,anchorRef:t,className:"block-editor-rich-text__inline-format-toolbar",__unstableSlotName:"block-toolbar"},Object(l.createElement)("div",{className:"block-editor-rich-text__inline-format-toolbar-group"},Object(l.createElement)(u.ToolbarGroup,null,Object(l.createElement)(lo,null)))):Object(l.createElement)(W.b,{group:"inline"},Object(l.createElement)(lo,null));function so(){const{didAutomaticChange:e,getSettings:t}=Object(_.useSelect)(S.a);return Object(Q.useRefEffect)(n=>{function o(n){const{keyCode:o}=n;n.defaultPrevented||o!==L.DELETE&&o!==L.BACKSPACE&&o!==L.ESCAPE||e()&&(n.preventDefault(),t().__experimentalUndo())}return n.addEventListener("keydown",o),()=>{n.removeEventListener("keydown",o)}},[])}var uo=n("xTGt");function bo(e){return e.filter(({type:e})=>/^image\/(?:jpe?g|png|gif)$/.test(e)).map(e=>``).join("")}var po=n("SVSp");function mo(e,t){if(null!=t&&t.length){let n=e.formats.length;for(;n--;)e.formats[n]=[...t,...e.formats[n]||[]]}}function fo(e){if(!0===e||"p"===e||"li"===e)return!0===e?"p":e}function ho({allowedFormats:e,formattingControls:t,disableFormats:n}){return n?ho.EMPTY_ARRAY:e||t?e||(Xn()("wp.blockEditor.RichText formattingControls prop",{since:"5.4",alternative:"allowedFormats"}),t.map(e=>"core/"+e)):void 0}ho.EMPTY_ARRAY=[];function go({value:e,pastedBlocks:t=[],onReplace:n,onSplit:o,onSplitMiddle:r,multilineTag:c}){if(!n||!o)return;const i=[],[l,a]=Object(co.split)(e),s=t.length>0;let u=-1;const d=Object(co.isEmpty)(l)&&!Object(co.isEmpty)(a);s&&Object(co.isEmpty)(l)||(i.push(o(Object(co.toHTMLString)({value:l,multilineTag:c}),!d)),u+=1),s?(i.push(...t),u+=t.length):r&&i.push(r()),(s||r)&&Object(co.isEmpty)(a)||i.push(o(Object(co.toHTMLString)({value:a,multilineTag:c}),d));n(i,s?u:1,s?-1:0)}function Oo(e,t){return t?Object(co.replace)(e,/\n+/g,co.__UNSTABLE_LINE_SEPARATOR):Object(co.replace)(e,new RegExp(co.__UNSTABLE_LINE_SEPARATOR,"g"),"\n")}function vo(e){const t=Object(l.useRef)(e);return t.current=e,Object(Q.useRefEffect)(e=>{function n(e){const{isSelected:n,disableFormats:o,onChange:r,value:c,formatTypes:i,tagName:l,onReplace:a,onSplit:s,onSplitMiddle:u,__unstableEmbedURLOnPaste:d,multilineTag:b,preserveWhiteSpace:p,pastePlainText:m}=t.current;if(!n)return void e.preventDefault();const{clipboardData:f}=e;let h="",g="";try{h=f.getData("text/plain"),g=f.getData("text/html")}catch(e){try{g=f.getData("Text")}catch(e){return}}if(g=function(e){return e.replace(/.*/s,"").replace(/.*/s,"")}(g),e.preventDefault(),window.console.log("Received HTML:\n\n",g),window.console.log("Received plain text:\n\n",h),o)return void r(Object(co.insert)(c,h));const O=i.reduce((e,{__unstablePasteRule:t})=>(t&&e===c&&(e=t(c,{html:g,plainText:h})),e),c);if(O!==c)return void r(O);const v=[...Object(dn.getFilesFromDataTransfer)(f)];if("true"===f.getData("rich-text")){const e=f.getData("rich-text-multi-line-tag")||void 0;let t=Object(co.create)({html:g,multilineTag:e,multilineWrapperTags:"li"===e?["ul","ol"]:void 0,preserveWhiteSpace:p});return t=Oo(t,!!b),mo(t,c.activeFormats),void r(Object(co.insert)(c,t))}if(m)return void r(Object(co.insert)(c,Object(co.create)({text:h})));if(v&&v.length&&!g){const e=Object(j.pasteHandler)({HTML:bo(v),mode:"BLOCKS",tagName:l,preserveWhiteSpace:p});return window.console.log("Received items:\n\n",v),void(a&&Object(co.isEmpty)(c)?a(e):go({value:c,pastedBlocks:e,onReplace:a,onSplit:s,onSplitMiddle:u,multilineTag:b}))}let k=a&&s?"AUTO":"INLINE";var _;"AUTO"===k&&Object(co.isEmpty)(c)&&(_=h,Object(po.regexp)(".*").test(_))&&(k="BLOCKS"),d&&Object(co.isEmpty)(c)&&Object(fn.isURL)(h.trim())&&(k="BLOCKS");const y=Object(j.pasteHandler)({HTML:g,plainText:h,mode:k,tagName:l,preserveWhiteSpace:p});if("string"==typeof y){let e=Object(co.create)({html:y});e=Oo(e,!!b),mo(e,c.activeFormats),r(Object(co.insert)(c,e))}else y.length>0&&(a&&Object(co.isEmpty)(c)?a(y,y.length-1,-1):go({value:c,pastedBlocks:y,onReplace:a,onSplit:s,onSplitMiddle:u,multilineTag:b}))}return e.addEventListener("paste",n),()=>{e.removeEventListener("paste",n)}},[])}function jo(e){const{__unstableMarkLastChangeAsPersistent:t,__unstableMarkAutomaticChange:n}=Object(_.useDispatch)(S.a),o=Object(l.useRef)(e);return o.current=e,Object(Q.useRefEffect)(e=>{function r(){const{value:e,onReplace:t}=o.current;if(!t)return;const{start:r,text:c}=e;if(" "!==c.slice(r-1,r))return;const i=c.slice(0,r).trim(),l=Object(j.getBlockTransforms)("from").filter(({type:e})=>"prefix"===e),a=Object(j.findTransform)(l,({prefix:e})=>i===e);if(!a)return;const s=Object(co.toHTMLString)({value:Object(co.slice)(e,r,c.length)});t([a.transform(s)]),n()}function c(e){const{inputType:c,type:i}=e,{value:l,onChange:a,__unstableAllowPrefixTransformations:s,formatTypes:u}=o.current;if("insertText"!==c&&"compositionend"!==i)return;s&&r&&r();const d=u.reduce((e,{__unstableInputRule:t})=>(t&&(e=t(e)),e),l);d!==l&&(t(),a({...d,activeFormats:l.activeFormats}),n())}return e.addEventListener("input",c),e.addEventListener("compositionend",c),()=>{e.removeEventListener("input",c),e.removeEventListener("compositionend",c)}},[])}function ko(e){const{__unstableMarkAutomaticChange:t}=Object(_.useDispatch)(S.a),n=Object(l.useRef)(e);return n.current=e,Object(Q.useRefEffect)(e=>{function o(e){if(e.defaultPrevented)return;const{removeEditorOnlyFormats:o,value:r,onReplace:c,onSplit:i,onSplitMiddle:l,multilineTag:a,onChange:s,disableLineBreaks:u,onSplitAtEnd:d}=n.current;if(e.keyCode!==L.ENTER)return;e.preventDefault();const b={...r};b.formats=o(r);const p=c&&i;if(c){const e=Object(j.getBlockTransforms)("from").filter(({type:e})=>"enter"===e),n=Object(j.findTransform)(e,e=>e.regExp.test(b.text));n&&(c([n.transform({content:b.text})]),t())}if(a)e.shiftKey?u||s(Object(co.insert)(b,"\n")):p&&Object(co.__unstableIsEmptyLine)(b)?go({value:b,onReplace:c,onSplit:i,onSplitMiddle:l,multilineTag:a}):s(Object(co.__unstableInsertLineSeparator)(b));else{const{text:t,start:n,end:o}=b,r=d&&n===o&&o===t.length;e.shiftKey||!p&&!r?u||s(Object(co.insert)(b,"\n")):!p&&r?d():p&&go({value:b,onReplace:c,onSplit:i,onSplitMiddle:l,multilineTag:a})}}return e.addEventListener("keydown",o),()=>{e.removeEventListener("keydown",o)}},[])}function _o(e){return e(co.store).getFormatTypes()}const yo=new Set(["a","audio","button","details","embed","iframe","input","label","select","textarea","video"]);function Eo(e){return Object(Q.useRefEffect)(t=>{function n(t){for(const n of e.current)n(t)}return t.addEventListener("keydown",n),()=>{t.removeEventListener("keydown",n)}},[])}function Co(e){return Object(Q.useRefEffect)(t=>{function n(t){for(const n of e.current)n(t)}return t.addEventListener("input",n),()=>{t.removeEventListener("input",n)}},[])}function So({formatTypes:e,onChange:t,onFocus:n,value:o,forwardedRef:r}){return e.map(e=>{const{name:c,edit:i}=e;if(!i)return null;const s=Object(co.getActiveFormat)(o,c);let u=void 0!==s;const d=Object(co.getActiveObject)(o),b=void 0!==d&&d.type===c;if("core/link"===c&&!Object(co.isCollapsed)(o)){const e=o.formats,t=Object(a.find)(e[o.start],{type:"core/link"}),n=Object(a.find)(e[o.end-1],{type:"core/link"});t&&n&&t===n||(u=!1)}return Object(l.createElement)(i,{key:c,isActive:u,activeAttributes:u&&s.attributes||{},isObjectActive:b,activeObjectAttributes:b&&d.attributes||{},value:o,onChange:t,onFocus:n,contentRef:r})})}const wo=Object(l.createContext)(),Bo=Object(l.createContext)();const Io=Object(l.forwardRef)((function e({children:t,tagName:n="div",value:o="",onChange:r,isSelected:c,multiline:s,inlineToolbar:d,wrapperClassName:b,autocompleters:p,onReplace:m,placeholder:f,allowedFormats:h,formattingControls:g,withoutInteractiveFormatting:O,onRemove:v,onMerge:y,onSplit:E,__unstableOnSplitAtEnd:C,__unstableOnSplitMiddle:w,identifier:B,preserveWhiteSpace:x,__unstablePastePlainText:T,__unstableEmbedURLOnPaste:P,__unstableDisableFormats:R,disableLineBreaks:N,unstableOnFocus:M,__unstableAllowPrefixTransformations:A,...D},F){const z=Object(Q.useInstanceId)(e);B=B||z,D=function(e){return Object(a.omit)(e,["__unstableMobileNoFocusOnMount","deleteEnter","placeholderTextColor","textAlign","selectionColor","tagsToEliminate","rootTagsToEliminate","disableEditingMenu","fontSize","fontFamily","fontWeight","fontStyle","minWidth","maxWidth","setRef"])}(D);const H=Object(l.useRef)(),{clientId:G}=Object(k.c)(),{selectionStart:U,selectionEnd:W,isSelected:q,disabled:K}=Object(_.useSelect)(e=>{const{getSelectionStart:t,getSelectionEnd:n,isMultiSelecting:o,hasMultiSelection:r}=e(S.a),i=t(),l=n();let a;return void 0===c?a=i.clientId===G&&i.attributeKey===B:c&&(a=i.clientId===G),{selectionStart:a?i.offset:void 0,selectionEnd:a?l.offset:void 0,isSelected:a,disabled:o()||r()}}),{selectionChange:$}=Object(_.useDispatch)(S.a),Y=fo(s),X=ho({allowedFormats:h,formattingControls:g,disableFormats:R}),Z=!X||X.length>0;let J=o,ee=r;Array.isArray(o)&&(J=j.children.toHTML(o),ee=e=>r(j.children.fromDOM(Object(co.__unstableCreateElement)(document,e).childNodes)));const te=Object(l.useCallback)((e,t)=>{$(G,B,e,t)},[G,B]),{formatTypes:ne,prepareHandlers:oe,valueHandlers:re,changeHandlers:ce,dependencies:ie}=function({clientId:e,identifier:t,withoutInteractiveFormatting:n,allowedFormats:o}){const r=Object(_.useSelect)(_o,[]),c=Object(l.useMemo)(()=>r.filter(({name:e,tagName:t})=>!(o&&!o.includes(e))&&(!n||!yo.has(t))),[r,o,yo]),i=Object(_.useSelect)(n=>c.reduce((o,r)=>(r.__experimentalGetPropsForEditableTreePreparation&&(o[r.name]=r.__experimentalGetPropsForEditableTreePreparation(n,{richTextIdentifier:t,blockClientId:e})),o),{}),[c,e,t]),a=Object(_.useDispatch)(),s=[],u=[],d=[],b=[];return c.forEach(n=>{if(n.__experimentalCreatePrepareEditableTree){const o=i[n.name],r=n.__experimentalCreatePrepareEditableTree(o,{richTextIdentifier:t,blockClientId:e});n.__experimentalCreateOnChangeEditableValue?u.push(r):s.push(r);for(const e in o)b.push(o[e])}if(n.__experimentalCreateOnChangeEditableValue){let o={};n.__experimentalGetPropsForEditableTreeChangeHandler&&(o=n.__experimentalGetPropsForEditableTreeChangeHandler(a,{richTextIdentifier:t,blockClientId:e})),d.push(n.__experimentalCreateOnChangeEditableValue({...i[n.name]||{},...o},{richTextIdentifier:t,blockClientId:e}))}}),{formatTypes:c,prepareHandlers:s,valueHandlers:u,changeHandlers:d,dependencies:b}}({clientId:G,identifier:B,withoutInteractiveFormatting:O,allowedFormats:X});function le(e){return ne.forEach(t=>{t.__experimentalCreatePrepareEditableTree&&(e=Object(co.removeFormat)(e,t.name,0,e.text.length))}),e.formats}const{value:ae,onChange:se,ref:ue}=Object(co.__unstableUseRichText)({value:J,onChange(e,{__unstableFormats:t,__unstableText:n}){ee(e),Object.values(ce).forEach(e=>{e(t,n)})},selectionStart:U,selectionEnd:W,onSelectionChange:te,placeholder:f,__unstableIsSelected:q,__unstableMultilineTag:Y,__unstableDisableFormats:R,preserveWhiteSpace:x,__unstableDependencies:[...ie,n],__unstableAfterParse:function(e){return re.reduce((t,n)=>n(t,e.text),e.formats)},__unstableBeforeSerialize:le,__unstableAddInvisibleFormats:function(e){return oe.reduce((t,n)=>n(t,e.text),e.formats)}}),de=function(e){return Object(u.__unstableUseAutocompleteProps)({...e,completers:I(e)})}({onReplace:m,completers:p,record:ae,onChange:se});!function({value:e}){const t=e.activeFormats&&!!e.activeFormats.length,{isCaretWithinFormattedText:n}=Object(_.useSelect)(S.a),{enterFormattedText:o,exitFormattedText:r}=Object(_.useDispatch)(S.a);Object(l.useEffect)(()=>{t?n()||o():n()&&r()},[t])}({value:ae}),function({html:e,value:t}){const n=Object(l.useRef)(),o=t.activeFormats&&!!t.activeFormats.length,{__unstableMarkLastChangeAsPersistent:r}=Object(_.useDispatch)(S.a);Object(l.useLayoutEffect)(()=>{if(n.current){if(n.current!==t.text){const e=window.setTimeout(()=>{r()},1e3);return n.current=t.text,()=>{window.clearTimeout(e)}}r()}else n.current=t.text},[e,o])}({html:J,value:ae});const be=Object(l.useRef)(new Set),pe=Object(l.useRef)(new Set);function me(){H.current.focus()}const fe=n,he=Object(l.createElement)(l.Fragment,null,q&&Object(l.createElement)(wo.Provider,{value:be},Object(l.createElement)(Bo.Provider,{value:pe},Object(l.createElement)(u.Popover.__unstableSlotNameProvider,{value:"__unstable-block-tools-after"},t&&t({value:ae,onChange:se,onFocus:me}),Object(l.createElement)(So,{value:ae,onChange:se,onFocus:me,formatTypes:ne,forwardedRef:H})))),q&&Z&&Object(l.createElement)(ao,{inline:d,anchorRef:H.current}),Object(l.createElement)(fe,Object(i.a)({role:"textbox","aria-multiline":!0,"aria-label":f},D,de,{ref:Object(Q.useMergeRefs)([de.ref,D.ref,ue,jo({value:ae,onChange:se,__unstableAllowPrefixTransformations:A,formatTypes:ne,onReplace:m}),Object(Q.useRefEffect)(e=>{function t(e){(L.isKeyboardEvent.primary(e,"z")||L.isKeyboardEvent.primary(e,"y")||L.isKeyboardEvent.primaryShift(e,"z"))&&e.preventDefault()}return e.addEventListener("keydown",t),()=>{e.addEventListener("keydown",t)}},[]),Eo(be),Co(pe),so(),vo({isSelected:q,disableFormats:R,onChange:se,value:ae,formatTypes:ne,tagName:n,onReplace:m,onSplit:E,onSplitMiddle:w,__unstableEmbedURLOnPaste:P,multilineTag:Y,preserveWhiteSpace:x,pastePlainText:T}),ko({removeEditorOnlyFormats:le,value:ae,onReplace:m,onSplit:E,onSplitMiddle:w,multilineTag:Y,onChange:se,disableLineBreaks:N,onSplitAtEnd:C}),H,F]),contentEditable:!K||void 0,suppressContentEditableWarning:!K,className:V()("block-editor-rich-text__editable",D.className,"rich-text"),onFocus:M,onKeyDown:function(e){const{keyCode:t}=e;if(!e.defaultPrevented&&(t===L.DELETE||t===L.BACKSPACE)){const{start:n,end:o,text:r}=ae,c=t===L.BACKSPACE,i=ae.activeFormats&&!!ae.activeFormats.length;if(!Object(co.isCollapsed)(ae)||i||c&&0!==n||!c&&o!==r.length)return;y&&y(!c),v&&Object(co.isEmpty)(ae)&&c&&v(!c),e.preventDefault()}}})));if(!b)return he;Xn()("wp.blockEditor.RichText wrapperClassName prop",{since:"5.4",alternative:"className prop or create your own wrapper div"});const ge=V()("block-editor-rich-text",b);return Object(l.createElement)("div",{className:ge},he)}));Io.Content=({value:e,tagName:t,multiline:n,...o})=>{Array.isArray(e)&&(e=j.children.toHTML(e));const r=fo(n);!e&&r&&(e=`<${r}>`);const c=Object(l.createElement)(l.RawHTML,null,e);return t?Object(l.createElement)(t,Object(a.omit)(o,["format"]),c):c},Io.isEmpty=e=>!e||0===e.length;var xo=Io;const To=Object(l.forwardRef)((e,t)=>Object(l.createElement)(xo,Object(i.a)({ref:t},e,{__unstableDisableFormats:!0,preserveWhiteSpace:!0})));To.Content=({value:e="",tagName:t="div",...n})=>Object(l.createElement)(t,n,e);var Po=To;var Ro=Object(l.forwardRef)(({__experimentalVersion:e,...t},n)=>{if(2===e)return Object(l.createElement)(Po,Object(i.a)({ref:n},t));const{className:o,onChange:r,...c}=t;return Object(l.createElement)(ro.a,Object(i.a)({ref:n,className:V()("block-editor-plain-text",o),onChange:e=>r(e.target.value)},c))});function No({property:e,viewport:t,desc:n}){const o=Object(Q.useInstanceId)(No),r=n||Object(s.sprintf)(Object(s._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."),e,t.label);return Object(l.createElement)(l.Fragment,null,Object(l.createElement)("span",{"aria-describedby":"rbc-desc-"+o},t.label),Object(l.createElement)(u.VisuallyHidden,{as:"span",id:"rbc-desc-"+o},r))}var Lo=function(e){const{title:t,property:n,toggleLabel:o,onIsResponsiveChange:r,renderDefaultControl:c,renderResponsiveControls:i,isResponsive:a=!1,defaultLabel:d={id:"all",label:Object(s.__)("All")},viewports:b=[{id:"small",label:Object(s.__)("Small screens")},{id:"medium",label:Object(s.__)("Medium screens")},{id:"large",label:Object(s.__)("Large screens")}]}=e;if(!t||!n||!c)return null;const p=o||Object(s.sprintf)(Object(s.__)("Use the same %s on all screensizes."),n),m=Object(s.__)("Toggle between using the same value for all screen sizes or using a unique value per screen size."),f=c(Object(l.createElement)(No,{property:n,viewport:d}),d);return Object(l.createElement)("fieldset",{className:"block-editor-responsive-block-control"},Object(l.createElement)("legend",{className:"block-editor-responsive-block-control__title"},t),Object(l.createElement)("div",{className:"block-editor-responsive-block-control__inner"},Object(l.createElement)(u.ToggleControl,{className:"block-editor-responsive-block-control__toggle",label:p,checked:!a,onChange:r,help:m}),Object(l.createElement)("div",{className:V()("block-editor-responsive-block-control__group",{"is-responsive":a})},!a&&f,a&&(i?i(b):b.map(e=>Object(l.createElement)(l.Fragment,{key:e.id},c(Object(l.createElement)(No,{property:n,viewport:e}),e)))))))};function Mo({character:e,type:t,onUse:n}){const o=Object(l.useContext)(wo),r=Object(l.useRef)();return r.current=n,Object(l.useEffect)(()=>{function n(n){L.isKeyboardEvent[t](n,e)&&(r.current(),n.preventDefault())}return o.current.add(n),()=>{o.current.delete(n)}},[e,t]),null}function Ao({name:e,shortcutType:t,shortcutCharacter:n,...o}){let r,c="RichText.ToolbarControls";return e&&(c+="."+e),t&&n&&(r=L.displayShortcut[t](n)),Object(l.createElement)(u.Fill,{name:c},Object(l.createElement)(u.ToolbarButton,Object(i.a)({},o,{shortcut:r})))}function Do({inputType:e,onInput:t}){const n=Object(l.useContext)(Bo),o=Object(l.useRef)();return o.current=t,Object(l.useEffect)(()=>{function t(t){t.inputType===e&&(o.current(),t.preventDefault())}return n.current.add(t),()=>{n.current.delete(t)}},[e]),null}const Fo=Object(l.createElement)(u.SVG,{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},Object(l.createElement)(u.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"}));var zo=Object(l.forwardRef)((function(e,t){const n=Object(_.useSelect)(e=>e(S.a).isNavigationMode(),[]),{setNavigationMode:o}=Object(_.useDispatch)(S.a),r=e=>{o("edit"!==e)};return Object(l.createElement)(u.Dropdown,{renderToggle:({isOpen:o,onToggle:r})=>Object(l.createElement)(u.Button,Object(i.a)({},e,{ref:t,icon:n?Fo:Pn.a,"aria-expanded":o,"aria-haspopup":"true",onClick:r,label:Object(s.__)("Tools")})),position:"bottom right",renderContent:()=>Object(l.createElement)(l.Fragment,null,Object(l.createElement)(u.NavigableMenu,{role:"menu","aria-label":Object(s.__)("Tools")},Object(l.createElement)(u.MenuItemsChoice,{value:n?"select":"edit",onSelect:r,choices:[{value:"edit",label:Object(l.createElement)(l.Fragment,null,Object(l.createElement)(A.a,{icon:Pn.a}),Object(s.__)("Edit"))},{value:"select",label:Object(l.createElement)(l.Fragment,null,Fo,Object(s.__)("Select"))}]})),Object(l.createElement)("div",{className:"block-editor-tool-selector__help"},Object(s.__)("Tools provide different interactions for selecting, navigating, and editing blocks. Toggle between select and edit by pressing Escape and Enter.")))})}));function Ho({units:e,...t}){const n=Object(u.__experimentalUseCustomUnits)({availableUnits:Object(it.a)("spacing.units")||["%","px","em","rem","vw"],units:e});return Object(l.createElement)(u.__experimentalUnitControl,Object(i.a)({units:n},t))}var Vo=n("Bpkj"),Go=n("cjQ8");class Uo extends l.Component{constructor(){super(...arguments),this.toggle=this.toggle.bind(this),this.submitLink=this.submitLink.bind(this),this.state={expanded:!1}}toggle(){this.setState({expanded:!this.state.expanded})}submitLink(e){e.preventDefault(),this.toggle()}render(){const{url:e,onChange:t}=this.props,{expanded:n}=this.state,o=e?Object(s.__)("Edit link"):Object(s.__)("Insert link");return Object(l.createElement)("div",{className:"block-editor-url-input__button"},Object(l.createElement)(u.Button,{icon:Vo.a,label:o,onClick:this.toggle,className:"components-toolbar__control",isPressed:!!e}),n&&Object(l.createElement)("form",{className:"block-editor-url-input__button-modal",onSubmit:this.submitLink},Object(l.createElement)("div",{className:"block-editor-url-input__button-modal-line"},Object(l.createElement)(u.Button,{className:"block-editor-url-input__back",icon:Go.a,label:Object(s.__)("Close"),onClick:this.toggle}),Object(l.createElement)(gn,{value:e||"",onChange:t}),Object(l.createElement)(u.Button,{icon:un.a,label:Object(s.__)("Submit"),type:"submit"}))))}}var Wo=Uo,qo=n("w95h");const Ko=["noreferrer","noopener"],$o=Object(l.createElement)(u.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Object(l.createElement)(u.Path,{d:"M0,0h24v24H0V0z",fill:"none"}),Object(l.createElement)(u.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"}),Object(l.createElement)(u.Path,{d:"m14.14 11.86l-3 3.87-2.14-2.59-3 3.86h12l-3.86-5.14z"})),Yo=({linkDestination:e,onChangeUrl:t,url:n,mediaType:o="image",mediaUrl:r,mediaLink:c,linkTarget:i,linkClass:d,rel:b})=>{const[p,m]=Object(l.useState)(!1),f=Object(l.useCallback)(()=>{m(!0)}),[h,g]=Object(l.useState)(!1),[O,v]=Object(l.useState)(null),j=Object(l.useRef)(null),k=Object(l.useCallback)(()=>{"media"!==e&&"attachment"!==e||v(""),g(!0)}),_=Object(l.useCallback)(()=>{g(!1)}),y=Object(l.useCallback)(()=>{v(null),_(),m(!1)}),E=e=>{let t=e;return void 0===e||Object(a.isEmpty)(t)||Object(a.isEmpty)(t)||(Object(a.each)(Ko,e=>{const n=new RegExp("\\b"+e+"\\b","gi");t=t.replace(n,"")}),t!==e&&(t=t.trim()),Object(a.isEmpty)(t)&&(t=void 0)),t},C=Object(l.useCallback)(()=>e=>{const t=j.current;t&&t.contains(e.target)||(m(!1),v(null),_())}),S=Object(l.useCallback)(()=>e=>{if(O){var n;const e=(null===(n=B().find(e=>e.url===O))||void 0===n?void 0:n.linkDestination)||"custom";t({href:O,linkDestination:e})}_(),v(null),e.preventDefault()}),w=Object(l.useCallback)(()=>{t({linkDestination:"none",href:""})}),B=()=>{const e=[{linkDestination:"media",title:Object(s.__)("Media File"),url:"image"===o?r:void 0,icon:$o}];return"image"===o&&c&&e.push({linkDestination:"attachment",title:Object(s.__)("Attachment Page"),url:"image"===o?c:void 0,icon:Object(l.createElement)(u.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Object(l.createElement)(u.Path,{d:"M0 0h24v24H0V0z",fill:"none"}),Object(l.createElement)(u.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"}))}),e},I=Object(l.createElement)(l.Fragment,null,Object(l.createElement)(u.ToggleControl,{label:Object(s.__)("Open in new tab"),onChange:e=>{const n=(e=>{const t=e?"_blank":void 0;let n;return n=t||b?E(b):void 0,{linkTarget:t,rel:n}})(e);t(n)},checked:"_blank"===i}),Object(l.createElement)(u.TextControl,{label:Object(s.__)("Link Rel"),value:E(b)||"",onChange:e=>{t({rel:e})}}),Object(l.createElement)(u.TextControl,{label:Object(s.__)("Link CSS Class"),value:d||"",onChange:e=>{t({linkClass:e})}})),x=null!==O?O:n,T=(Object(a.find)(B(),["linkDestination",e])||{}).title;return Object(l.createElement)(l.Fragment,null,Object(l.createElement)(u.ToolbarButton,{icon:Vo.a,className:"components-toolbar__control",label:n?Object(s.__)("Edit link"):Object(s.__)("Insert link"),"aria-expanded":p,onClick:f}),p&&Object(l.createElement)(Jn,{onFocusOutside:C(),onClose:y,renderSettings:()=>I,additionalControls:!x&&Object(l.createElement)(u.NavigableMenu,null,Object(a.map)(B(),e=>Object(l.createElement)(u.MenuItem,{key:e.linkDestination,icon:e.icon,onClick:()=>{v(null),(e=>{const n=B();let o;o=e?(Object(a.find)(n,t=>t.url===e)||{linkDestination:"custom"}).linkDestination:"none",t({linkDestination:o,href:e})})(e.url),_()}},e.title)))},(!n||h)&&Object(l.createElement)(Jn.LinkEditor,{className:"block-editor-format-toolbar__link-container-content",value:x,onChangeInputValue:v,onSubmit:S(),autocompleteRef:j}),n&&!h&&Object(l.createElement)(l.Fragment,null,Object(l.createElement)(Jn.LinkViewer,{className:"block-editor-format-toolbar__link-container-content",url:n,onEditLinkClick:k,urlLabel:T}),Object(l.createElement)(u.Button,{icon:qo.a,label:Object(s.__)("Remove link"),onClick:w}))))};var Xo=n("Jyyd"),Zo=n("mlss");function Qo({children:e,className:t,isEnabled:n=!0,deviceType:o,setDeviceType:r}){if(Object(Q.useViewportMatch)("small","<"))return null;const c={className:V()(t,"block-editor-post-preview__dropdown-content"),position:"bottom left"},i={variant:"tertiary",className:"block-editor-post-preview__button-toggle",disabled:!n,children:Object(s.__)("Preview")};return Object(l.createElement)(u.DropdownMenu,{className:"block-editor-post-preview__dropdown",popoverProps:c,toggleProps:i,icon:null},()=>Object(l.createElement)(l.Fragment,null,Object(l.createElement)(u.MenuGroup,null,Object(l.createElement)(u.MenuItem,{className:"block-editor-post-preview__button-resize",onClick:()=>r("Desktop"),icon:"Desktop"===o&&Xt.a},Object(s.__)("Desktop")),Object(l.createElement)(u.MenuItem,{className:"block-editor-post-preview__button-resize",onClick:()=>r("Tablet"),icon:"Tablet"===o&&Xt.a},Object(s.__)("Tablet")),Object(l.createElement)(u.MenuItem,{className:"block-editor-post-preview__button-resize",onClick:()=>r("Mobile"),icon:"Mobile"===o&&Xt.a},Object(s.__)("Mobile"))),e))}function Jo(e){const[t,n]=Object(l.useState)(window.innerWidth);Object(l.useEffect)(()=>{if("Desktop"===e)return;const t=()=>n(window.innerWidth);return window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)}},[e]);const o=e=>{let n;switch(e){case"Tablet":n=780;break;case"Mobile":n=360;break;default:return null}return n{const t="Mobile"===e?"768px":"1024px";switch(e){case"Tablet":case"Mobile":return{width:o(e),margin:(window.innerHeight<800?36:72)+"px auto",height:t,borderRadius:"2px 2px 2px 2px",border:"1px solid #ddd",overflowY:"auto"};default:return null}})(e)}var er=n("PKbb");var tr=Object(_.withSelect)(e=>({selectedBlockClientId:e(S.a).getBlockSelectionStart()}))(({selectedBlockClientId:e})=>{const t=Object(er.b)(e);return e?Object(l.createElement)(u.Button,{variant:"secondary",className:"block-editor-skip-to-selected-block",onClick:()=>{t.current.focus()}},Object(s.__)("Skip to the selected block")):null}),nr=n("GvwK"),or=n("7NR9"),rr=n("7fqt"),cr=n("wzfx");var ir=Object(_.withSelect)(e=>{const{getMultiSelectedBlocks:t}=e(S.a);return{blocks:t()}})((function({blocks:e}){const t=Object(rr.count)(Object(j.serialize)(e),"words");return Object(l.createElement)("div",{className:"block-editor-multi-selection-inspector__card"},Object(l.createElement)(C.a,{icon:cr.a,showColors:!0}),Object(l.createElement)("div",{className:"block-editor-multi-selection-inspector__card-content"},Object(l.createElement)("div",{className:"block-editor-multi-selection-inspector__card-title"},Object(s.sprintf)(Object(s._n)("%d block","%d blocks",e.length),e.length)),Object(l.createElement)("div",{className:"block-editor-multi-selection-inspector__card-description"},Object(s.sprintf)(Object(s._n)("%d word","%d words",t),t))))}));function lr({blockName:e}){const{preferredStyle:t,onUpdatePreferredStyleVariations:n,styles:o}=Object(_.useSelect)(t=>{var n,o;const r=t(S.a).getSettings().__experimentalPreferredStyleVariations;return{preferredStyle:null==r||null===(n=r.value)||void 0===n?void 0:n[e],onUpdatePreferredStyleVariations:null!==(o=null==r?void 0:r.onChange)&&void 0!==o?o:null,styles:t(j.store).getBlockStyles(e)}},[e]),r=Object(l.useMemo)(()=>[{label:Object(s.__)("Not set"),value:""},...o.map(({label:e,name:t})=>({label:e,value:t}))],[o]),c=Object(l.useCallback)(t=>{n(e,t)},[e,n]);return n&&Object(l.createElement)(u.SelectControl,{options:r,value:t||"",label:Object(s.__)("Default Style"),onChange:c})}const ar=({clientId:e,blockName:t,hasBlockStyles:n,bubblesVirtually:o})=>{const r=Object(ce.a)(e);return Object(l.createElement)("div",{className:"block-editor-block-inspector"},Object(l.createElement)(nr.a,r),Object(l.createElement)($e,{blockClientId:e}),n&&Object(l.createElement)("div",null,Object(l.createElement)(u.PanelBody,{title:Object(s.__)("Styles")},Object(l.createElement)(or.a,{clientId:e}),Object(j.hasBlockSupport)(t,"defaultStylePicker",!0)&&Object(l.createElement)(lr,{blockName:t}))),Object(l.createElement)(an.b.Slot,{bubblesVirtually:o}),Object(l.createElement)(an.b.Slot,{__experimentalGroup:"typography",bubblesVirtually:o,label:Object(s.__)("Typography")}),Object(l.createElement)(an.b.Slot,{__experimentalGroup:"dimensions",bubblesVirtually:o,label:Object(s.__)("Dimensions")}),Object(l.createElement)("div",null,Object(l.createElement)(sr,{bubblesVirtually:o})),Object(l.createElement)(tr,{key:"back"}))},sr=({bubblesVirtually:e})=>{const t=Object(u.__experimentalUseSlot)(an.a.slotName);return Boolean(t.fills&&t.fills.length)?Object(l.createElement)(u.PanelBody,{className:"block-editor-block-inspector__advanced",title:Object(s.__)("Advanced"),initialOpen:!1},Object(l.createElement)(an.b.Slot,{__experimentalGroup:"advanced",bubblesVirtually:e})):null};var ur=({showNoBlockSelectedMessage:e=!0,bubblesVirtually:t=!0})=>{const{count:n,hasBlockStyles:o,selectedBlockName:r,selectedBlockClientId:c,blockType:i}=Object(_.useSelect)(e=>{const{getSelectedBlockClientId:t,getSelectedBlockCount:n,getBlockName:o}=e(S.a),{getBlockStyles:r}=e(j.store),c=t(),i=c&&o(c),l=i&&Object(j.getBlockType)(i),a=i&&r(i);return{count:n(),selectedBlockClientId:c,selectedBlockName:i,blockType:l,hasBlockStyles:a&&a.length>0}},[]);if(n>1)return Object(l.createElement)("div",{className:"block-editor-block-inspector"},Object(l.createElement)(ir,null),Object(l.createElement)(an.b.Slot,{bubblesVirtually:t}));const a=r===Object(j.getUnregisteredTypeHandlerName)();return i&&c&&!a?Object(l.createElement)(ar,{clientId:c,blockName:i.name,hasBlockStyles:o,bubblesVirtually:t}):e?Object(l.createElement)("span",{className:"block-editor-block-inspector__no-blocks"},Object(s.__)("No block selected.")):null},dr=n("VyCT"),br=n("nlh6"),pr=n("w8sn"),mr=n("JygI"),fr=n("zQI6"),hr=n("U1WI"),gr=n("pXCJ"),Or=n("+gtr"),vr=n("hF7m"),jr=n("PS/H"),kr=n("xCFn"),_r=n("JUfZ"),yr=n("2z9l");function Er({children:e,__unstableContentRef:t,...n}){const o=Object(Q.useViewportMatch)("medium"),r=Object(_.useSelect)(e=>e(S.a).getSettings().hasFixedToolbar,[]),c=Object(vr.__unstableUseShortcutEventMatch)(),{getSelectedBlockClientIds:s,getBlockRootClientId:d}=Object(_.useSelect)(S.a),{duplicateBlocks:b,removeBlocks:p,insertAfterBlock:m,insertBeforeBlock:f,clearSelectedBlock:h,moveBlocksUp:g,moveBlocksDown:O}=Object(_.useDispatch)(S.a);return Object(l.createElement)("div",Object(i.a)({},n,{onKeyDown:function(e){if(c("core/block-editor/move-up",e)){const t=s();if(t.length){e.preventDefault();const n=d(Object(a.first)(t));g(t,n)}}else if(c("core/block-editor/move-down",e)){const t=s();if(t.length){e.preventDefault();const n=d(Object(a.first)(t));O(t,n)}}else if(c("core/block-editor/duplicate",e)){const t=s();t.length&&(e.preventDefault(),b(t))}else if(c("core/block-editor/remove",e)){const t=s();t.length&&(e.preventDefault(),p(t))}else if(c("core/block-editor/insert-after",e)){const t=s();t.length&&(e.preventDefault(),m(Object(a.last)(t)))}else if(c("core/block-editor/insert-before",e)){const t=s();t.length&&(e.preventDefault(),f(Object(a.first)(t)))}else if(c("core/block-editor/delete-multi-selection",e)){const t=s();t.length>1&&(e.preventDefault(),p(t))}else if(c("core/block-editor/unselect",e)){s().length>1&&(e.preventDefault(),h(),e.target.ownerDocument.defaultView.getSelection().removeAllRanges())}}}),Object(l.createElement)(jr.b,{__unstableContentRef:t},(r||!o)&&Object(l.createElement)(_r.a,{isFixed:!0}),Object(l.createElement)(kr.a,{__unstableContentRef:t}),Object(l.createElement)(u.Popover.Slot,{name:"block-toolbar",ref:Object(yr.a)(t)}),e,Object(l.createElement)(u.Popover.Slot,{name:"__unstable-block-tools-after",ref:Object(yr.a)(t)})))}var Cr=n("+0ps"),Sr=n("5L8O"),wr=n("KyyN"),Br=n("qrxh"),Ir=n("xZzQ");var xr=function({rootClientId:e,clientId:t,isAppender:n,showInserterHelpPanel:o,showMostUsedBlocks:r=!1,__experimentalInsertionIndex:c,__experimentalFilterValue:i,onSelect:s=a.noop,shouldFocusBlock:u=!1}){const d=Object(_.useSelect)(n=>{const{getBlockRootClientId:o}=n(S.a);return e||o(t)||void 0},[t,e]);return Object(l.createElement)(Ir.a,{onSelect:s,rootClientId:d,clientId:t,isAppender:n,showInserterHelpPanel:o,showMostUsedBlocks:r,__experimentalInsertionIndex:c,__experimentalFilterValue:i,shouldFocusBlock:u})};function Tr(){return null}Tr.Register=function(){const{registerShortcut:e}=Object(_.useDispatch)(vr.store);return Object(l.useEffect)(()=>{e({name:"core/block-editor/duplicate",category:"block",description:Object(s.__)("Duplicate the selected block(s)."),keyCombination:{modifier:"primaryShift",character:"d"}}),e({name:"core/block-editor/remove",category:"block",description:Object(s.__)("Remove the selected block(s)."),keyCombination:{modifier:"access",character:"z"}}),e({name:"core/block-editor/insert-before",category:"block",description:Object(s.__)("Insert a new block before the selected block(s)."),keyCombination:{modifier:"primaryAlt",character:"t"}}),e({name:"core/block-editor/insert-after",category:"block",description:Object(s.__)("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:Object(s.__)("Remove multiple selected blocks."),keyCombination:{character:"del"},aliases:[{character:"backspace"}]}),e({name:"core/block-editor/select-all",category:"selection",description:Object(s.__)("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:Object(s.__)("Clear selection."),keyCombination:{character:"escape"}}),e({name:"core/block-editor/focus-toolbar",category:"global",description:Object(s.__)("Navigate to the nearest toolbar."),keyCombination:{modifier:"alt",character:"F10"}}),e({name:"core/block-editor/move-up",category:"block",description:Object(s.__)("Move the selected block(s) up."),keyCombination:{modifier:"secondary",character:"t"}}),e({name:"core/block-editor/move-down",category:"block",description:Object(s.__)("Move the selected block(s) down."),keyCombination:{modifier:"secondary",character:"y"}})},[e]),null};var Pr=Tr;function Rr(){return Xn()("wp.blockEditor.MultiSelectScrollIntoView",{hint:"This behaviour is now built-in."}),null}var Nr=n("GkEL");const Lr=new Set([L.UP,L.RIGHT,L.DOWN,L.LEFT,L.ENTER,L.BACKSPACE]);function Mr(){const e=Object(_.useSelect)(e=>e(S.a).isTyping(),[]),{stopTyping:t}=Object(_.useDispatch)(S.a);return Object(Q.useRefEffect)(n=>{if(!e)return;const{ownerDocument:o}=n;let r,c;function i(e){const{clientX:n,clientY:o}=e;r&&c&&(r!==n||c!==o)&&t(),r=n,c=o}return o.addEventListener("mousemove",i),()=>{o.removeEventListener("mousemove",i)}},[e,t])}function Ar(){const e=Object(_.useSelect)(e=>e(S.a).isTyping()),{startTyping:t,stopTyping:n}=Object(_.useDispatch)(S.a),o=Mr(),r=Object(Q.useRefEffect)(o=>{const{ownerDocument:r}=o,{defaultView:c}=r;if(e){let e;function i(t){const{target:o}=t;e=c.setTimeout(()=>{Object(dn.isTextField)(o)||n()})}function l(e){const{keyCode:t}=e;t!==L.ESCAPE&&t!==L.TAB||n()}function a(){const e=c.getSelection();e.rangeCount>0&&e.getRangeAt(0).collapsed||n()}return o.addEventListener("focus",i),o.addEventListener("keydown",l),r.addEventListener("selectionchange",a),()=>{c.clearTimeout(e),o.removeEventListener("focus",i),o.removeEventListener("keydown",l),r.removeEventListener("selectionchange",a)}}function s(e){const{type:n,target:r}=e;Object(dn.isTextField)(r)&&o.contains(r)&&("keydown"!==n||function(e){const{keyCode:t,shiftKey:n}=e;return!n&&Lr.has(t)}(e))&&t()}return o.addEventListener("keypress",s),o.addEventListener("keydown",s),()=>{o.removeEventListener("keypress",s),o.removeEventListener("keydown",s)}},[e,t,n]);return Object(Q.useMergeRefs)([o,r])}var Dr=function({children:e}){return Object(l.createElement)("div",{ref:Ar()},e)};function Fr(){return Xn()("PreserveScrollInReorder component",{since:"5.4",hint:"This behavior is now built-in the block list"}),null}const zr=-1!==window.navigator.userAgent.indexOf("Trident"),Hr=new Set([L.UP,L.DOWN,L.LEFT,L.RIGHT]);function Vr(){const e=Object(_.useSelect)(e=>e(S.a).hasSelectedBlock(),[]);return Object(Q.useRefEffect)(t=>{if(!e)return;const{ownerDocument:n}=t,{defaultView:o}=n;let r,c,i;function l(){r||(r=o.requestAnimationFrame(()=>{b(),r=null}))}function a(e){c&&o.cancelAnimationFrame(c),c=o.requestAnimationFrame(()=>{s(e),c=null})}function s({keyCode:e}){if(!p())return;const r=Object(dn.computeCaretRect)(o);if(!r)return;if(!i)return void(i=r);if(Hr.has(e))return void(i=r);const c=r.top-i.top;if(0===c)return;const l=Object(dn.getScrollContainer)(t);if(!l)return;const a=l===n.body,s=a?o.scrollY:l.scrollTop,u=a?0:l.getBoundingClientRect().top,d=a?i.top/o.innerHeight:(i.top-u)/(o.innerHeight-u);if(0===s&&d<.75&&function(){const e=t.querySelectorAll('[contenteditable="true"]');return e[e.length-1]===n.activeElement}())return void(i=r);const b=a?o.innerHeight:l.clientHeight;i.top+i.height>u+b||i.top{o.removeEventListener("scroll",l,!0),o.removeEventListener("resize",l,!0),t.removeEventListener("keydown",a),t.removeEventListener("keyup",s),t.removeEventListener("mousedown",u),t.removeEventListener("touchstart",u),n.removeEventListener("selectionchange",d),o.cancelAnimationFrame(r),o.cancelAnimationFrame(c)}},[e])}var Gr=zr?e=>e.children:function({children:e}){return Object(l.createElement)("div",{ref:Vr(),className:"block-editor__typewriter"},e)},Ur=n("Zzu2"),Wr=n("TVFh");const qr=Object(a.overEvery)([dn.isTextField,dn.focus.tabbable.isTabbableIndex]);function Kr(){return Object(Q.useRefEffect)(e=>{function t(t){if(t.target!==e)return;const n=dn.focus.focusable.find(e),o=Object(a.findLast)(n,qr);if(!o)return;const{bottom:r}=o.getBoundingClientRect();t.clientY{e.addEventListener("mousedown",t)}},[])}var $r=n("hHnB");const Yr=Object(l.createContext)({});function Xr(e,t=""){var n;const o=Object(l.useContext)(Yr),{name:r}=Object(k.c)();t=t||r;const c=Boolean(null===(n=o[t])||void 0===n?void 0:n.has(e)),i=Object(l.useMemo)(()=>function(e,t,n){const o={...e,[t]:e[t]?new Set(e[t]):new Set};return o[t].add(n),o}(o,t,e),[o,t,e]);return[c,Object(l.useCallback)(({children:e})=>Object(l.createElement)(Yr.Provider,{value:i},e),[i])]}var Zr=n("/QNa")},"16Al":function(e,t,n){"use strict";var o=n("WbBG");function r(){}function c(){}c.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,c,i){if(i!==o){var l=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 l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array: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:c,resetWarningCache:r};return n.PropTypes=n,n}},"17x9":function(e,t,n){e.exports=n("16Al")()},"1CF3":function(e,t){e.exports=window.wp.dom},"1K8p":function(e,t,n){"use strict";var o=n("jrfk"),r=n("ez49");function c(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}}c.getEventType=function(){return o.firefox()?"DOMMouseScroll":r("wheel")?"wheel":"mousewheel"},e.exports=c},"1ZqX":function(e,t){e.exports=window.wp.data},"1eGn":function(e,t,n){"use strict";var o=n("wx14"),r=n("GRId"),c=n("YLtl"),i=n("l3Sj"),l=n("tI+e"),a=n("1ZqX"),s=n("VKE3"),u=n("HSyU"),d=n("hF7m"),b=n("K9lf"),p=n("+0ps"),m=n("BhPs");function f({clientIds:e,children:t,__experimentalUpdateSelection:n}){const{canInsertBlockType:o,getBlockRootClientId:r,getBlocksByClientId:i,canMoveBlocks:l,canRemoveBlocks:s}=Object(a.useSelect)(m.a),{getDefaultBlockName:d,getGroupingBlockName:b}=Object(a.useSelect)(u.store),f=i(e),h=r(e[0]),g=Object(c.every)(f,e=>!!e&&Object(u.hasBlockSupport)(e.name,"multiple",!0)&&o(e.name,h)),O=o(d(),h),v=l(e,h),j=s(e,h),{removeBlocks:k,replaceBlocks:_,duplicateBlocks:y,insertAfterBlock:E,insertBeforeBlock:C,flashBlock:S,setBlockMovingClientId:w,setNavigationMode:B,selectBlock:I}=Object(a.useDispatch)(m.a),x=Object(p.c)();return t({canDuplicate:g,canInsertDefaultBlock:O,canMove:v,canRemove:j,rootClientId:h,blocks:f,onDuplicate:()=>y(e,n),onRemove:()=>k(e,n),onInsertBefore(){C(Object(c.first)(Object(c.castArray)(e)))},onInsertAfter(){E(Object(c.last)(Object(c.castArray)(e)))},onMoveTo(){B(!0),I(e[0]),w(e[0])},onGroup(){if(!f.length)return;const t=b(),n=Object(u.switchToBlockType)(f,t);n&&_(e,n)},onUngroup(){if(!f.length)return;const t=f[0].innerBlocks;t.length&&_(e,t)},onCopy(){const e=f.map(({clientId:e})=>e);1===f.length&&S(e[0]),x("copy",e)}})}var h=Object(b.compose)([Object(a.withSelect)((e,{clientId:t})=>{const{getBlock:n,getBlockMode:o,getSettings:r}=e(m.a),c=n(t),i=r().codeEditingEnabled;return{mode:o(t),blockType:c?Object(u.getBlockType)(c.name):null,isCodeEditingEnabled:i}}),Object(a.withDispatch)((e,{onToggle:t=c.noop,clientId:n})=>({onToggleMode(){e(m.a).toggleBlockMode(n),t()}}))])((function({blockType:e,mode:t,onToggleMode:n,small:o=!1,isCodeEditingEnabled:c=!0}){if(!Object(u.hasBlockSupport)(e,"html",!0)||!c)return null;const a="visual"===t?Object(i.__)("Edit as HTML"):Object(i.__)("Edit visually");return Object(r.createElement)(l.MenuItem,{onClick:n},!o&&a)}));var g=Object(b.compose)(Object(a.withSelect)((e,{clientId:t})=>{const n=e(m.a).getBlock(t);return{block:n,shouldRender:n&&"core/html"===n.name}}),Object(a.withDispatch)((e,{block:t})=>({onClick:()=>e(m.a).replaceBlocks(t.clientId,Object(u.rawHandler)({HTML:Object(u.getBlockContent)(t)}))})))((function({shouldRender:e,onClick:t,small:n}){if(!e)return null;const o=Object(i.__)("Convert to Blocks");return Object(r.createElement)(l.MenuItem,{onClick:t},!n&&o)})),O=n("Jyyd"),v=n("pXCJ");const j={className:"block-editor-block-settings-menu__popover",position:"bottom right",isAlternate:!0};function k({blocks:e,onCopy:t}){const n=Object(b.useCopyToClipboard)(()=>Object(u.serialize)(e),t);return Object(r.createElement)(l.MenuItem,{ref:n},Object(i.__)("Copy"))}t.a=function({clientIds:e,__experimentalSelectBlock:t,children:n,...b}){const p=Object(c.castArray)(e),_=p.length,y=p[0],{onlyBlock:E,title:C}=Object(a.useSelect)(e=>{var t;const{getBlockCount:n,getBlockName:o}=e(m.a),{getBlockType:r}=e(u.store);return{onlyBlock:1===n(),title:null===(t=r(o(y)))||void 0===t?void 0:t.title}},[y]),S=Object(a.useSelect)(e=>{const{getShortcutRepresentation:t}=e(d.store);return{duplicate:t("core/block-editor/duplicate"),remove:t("core/block-editor/remove"),insertAfter:t("core/block-editor/insert-after"),insertBefore:t("core/block-editor/insert-before")}},[]),w=Object(r.useCallback)(t?async e=>{const n=await e;n&&n[0]&&t(n[0])}:c.noop,[t]),B=Object(i.sprintf)(Object(i.__)("Remove %s"),C),I=1===_?B:Object(i.__)("Remove blocks");return Object(r.createElement)(f,{clientIds:e,__experimentalUpdateSelection:!t},({canDuplicate:t,canInsertDefaultBlock:a,canMove:u,canRemove:d,onDuplicate:p,onInsertAfter:m,onInsertBefore:f,onRemove:C,onCopy:B,onMoveTo:x,blocks:T})=>Object(r.createElement)(l.DropdownMenu,Object(o.a)({icon:s.a,label:Object(i.__)("Options"),className:"block-editor-block-settings-menu",popoverProps:j,noIcons:!0},b),({onClose:o})=>Object(r.createElement)(r.Fragment,null,Object(r.createElement)(l.MenuGroup,null,Object(r.createElement)(O.a.Slot,{fillProps:{onClose:o}}),1===_&&Object(r.createElement)(g,{clientId:y}),Object(r.createElement)(k,{blocks:T,onCopy:B}),t&&Object(r.createElement)(l.MenuItem,{onClick:Object(c.flow)(o,p,w),shortcut:S.duplicate},Object(i.__)("Duplicate")),a&&Object(r.createElement)(r.Fragment,null,Object(r.createElement)(l.MenuItem,{onClick:Object(c.flow)(o,f),shortcut:S.insertBefore},Object(i.__)("Insert before")),Object(r.createElement)(l.MenuItem,{onClick:Object(c.flow)(o,m),shortcut:S.insertAfter},Object(i.__)("Insert after"))),u&&!E&&Object(r.createElement)(l.MenuItem,{onClick:Object(c.flow)(o,x)},Object(i.__)("Move to")),1===_&&Object(r.createElement)(h,{clientId:y,onToggle:o})),Object(r.createElement)(v.a.Slot,{fillProps:{onClose:o},clientIds:e}),"function"==typeof n?n({onClose:o}):r.Children.map(e=>Object(r.cloneElement)(e,{onClose:o})),d&&Object(r.createElement)(l.MenuGroup,null,Object(r.createElement)(l.MenuItem,{onClick:Object(c.flow)(o,C,w),shortcut:S.remove},I)))))}},"1iEr":function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z"}));t.a=c},"1oY3":function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var o=n("wx14"),r=n("GRId"),c=n("NtoT"),i=n("jwne");const l=c.a;l.Slot=i.a;const a=e=>Object(r.createElement)(c.a,Object(o.a)({},e,{__experimentalGroup:"advanced"}));a.Slot=e=>Object(r.createElement)(i.a,Object(o.a)({},e,{__experimentalGroup:"advanced"})),a.slotName="InspectorAdvancedControls",t.b=l},"1uGa":function(e,t,n){"use strict";var o=n("GRId"),r=n("tI+e"),c=n("l3Sj"),i=n("RxS6");t.a=function({colorPalette:e,duotonePalette:t,disableCustomColors:n,disableCustomDuotone:l,value:a,onChange:s}){return Object(o.createElement)(r.Dropdown,{popoverProps:{className:"block-editor-duotone-control__popover",headerTitle:Object(c.__)("Duotone"),isAlternate:!0},renderToggle:({isOpen:e,onToggle:t})=>Object(o.createElement)(r.ToolbarButton,{showTooltip:!0,onClick:t,"aria-haspopup":"true","aria-expanded":e,onKeyDown:n=>{e||n.keyCode!==i.DOWN||(n.preventDefault(),t())},label:Object(c.__)("Apply duotone filter"),icon:Object(o.createElement)(r.DuotoneSwatch,{values:a})}),renderContent:()=>Object(o.createElement)(r.MenuGroup,{label:Object(c.__)("Duotone")},Object(o.createElement)("div",{className:"block-editor-duotone-control__description"},Object(c.__)("Create a two-tone color effect without losing your original image.")),Object(o.createElement)(r.DuotonePicker,{colorPalette:e,duotonePalette:t,disableCustomColors:n,disableCustomDuotone:l,value:a,onChange:s}))})}},"2YCo":function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var o=n("GRId"),r=n("tI+e"),c=n("l3Sj"),i=n("bVTw"),l=n("Tqx9");var a=Object(o.createElement)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none"},Object(o.createElement)(l.Path,{fillRule:"evenodd",d:"M5 11.25h3v1.5H5v-1.5zm5.5 0h3v1.5h-3v-1.5zm8.5 0h-3v1.5h3v-1.5z",clipRule:"evenodd"}));var s=Object(o.createElement)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none"},Object(o.createElement)(l.Path,{fillRule:"evenodd",d:"M5.25 11.25h1.5v1.5h-1.5v-1.5zm3 0h1.5v1.5h-1.5v-1.5zm4.5 0h-1.5v1.5h1.5v-1.5zm1.5 0h1.5v1.5h-1.5v-1.5zm4.5 0h-1.5v1.5h1.5v-1.5z",clipRule:"evenodd"}));const u=[{label:Object(c.__)("Solid"),icon:i.a,value:"solid"},{label:Object(c.__)("Dashed"),icon:a,value:"dashed"},{label:Object(c.__)("Dotted"),icon:s,value:"dotted"}];function d({onChange:e,value:t}){return Object(o.createElement)("fieldset",{className:"components-border-style-control"},Object(o.createElement)("legend",null,Object(c.__)("Style")),Object(o.createElement)("div",{className:"components-border-style-control__buttons"},u.map(n=>Object(o.createElement)(r.Button,{key:n.value,icon:n.icon,isSmall:!0,isPressed:n.value===t,onClick:()=>e(n.value===t?void 0:n.value),"aria-label":n.label}))))}},"2gm7":function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z"}));t.a=c},"2z9l":function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var o=n("K9lf");function r(e){return Object(o.useRefEffect)(t=>{if(!e)return;function n(t){const{deltaX:n,deltaY:o}=t;e.current.scrollBy(n,o)}const o={passive:!0};return t.addEventListener("wheel",n,o),()=>{t.removeEventListener("wheel",n,o)}},[e])}},"5L8O":function(e,t,n){"use strict";var o=n("GRId"),r=n("TSYQ"),c=n.n(r),i=n("l3Sj"),l=n("K9lf"),a=n("HSyU"),s=n("rmEH"),u=n("1ZqX"),d=n("qrxh"),b=n("BhPs");t.a=Object(l.compose)(Object(u.withSelect)((e,t)=>{const{getBlockCount:n,getBlockName:o,isBlockValid:r,getSettings:c,getTemplateLock:i}=e(b.a),l=!n(t.rootClientId),s=o(t.lastBlockClientId)===Object(a.getDefaultBlockName)(),u=r(t.lastBlockClientId),{bodyPlaceholder:d}=c();return{isVisible:l||!s||!u,showPrompt:l,isLocked:!!i(t.rootClientId),placeholder:d}}),Object(u.withDispatch)((e,t)=>{const{insertDefaultBlock:n,startTyping:o}=e(b.a);return{onAppend(){const{rootClientId:e}=t;n(void 0,e),o()}}}))((function({isLocked:e,isVisible:t,onAppend:n,showPrompt:r,placeholder:l,rootClientId:a}){if(e||!t)return null;const u=Object(s.decodeEntities)(l)||Object(i.__)("Type / to choose a block");return Object(o.createElement)("div",{"data-root-client-id":a||"",className:c()("block-editor-default-block-appender",{"has-visible-prompt":r})},Object(o.createElement)("p",{tabIndex:"0",contentEditable:!0,suppressContentEditableWarning:!0,role:"button","aria-label":Object(i.__)("Add block"),className:"block-editor-default-block-appender__content",onFocus:n},r?u:"\ufeff"),Object(o.createElement)(d.a,{rootClientId:a,position:"bottom right",isAppender:!0,__experimentalIsQuick:!0}))}))},"5gPN":function(e,t,n){"use strict";n.d(t,"b",(function(){return o.a})),n.d(t,"c",(function(){return o.b})),n.d(t,"d",(function(){return o.c})),n.d(t,"a",(function(){return d})),n.d(t,"e",(function(){return b}));var o=n("bVpQ"),r=n("wx14"),c=n("GRId"),i=n("YLtl"),l=n("K9lf"),a=n("v5LD");const s=[];function u(e,t){const n=Object(i.reduce)(e,(e,t)=>({...e,...Object(i.isString)(t)?{[t]:Object(i.kebabCase)(t)}:t}),{});return Object(l.compose)([t,e=>class extends c.Component{constructor(e){super(e),this.setters=this.createSetters(),this.colorUtils={getMostReadableColor:this.getMostReadableColor.bind(this)},this.state={}}getMostReadableColor(e){const{colors:t}=this.props;return Object(o.d)(t,e)}createSetters(){return Object(i.reduce)(n,(e,t,n)=>{const o=Object(i.upperFirst)(n),r="custom"+o;return e["set"+o]=this.createSetColor(n,r),e},{})}createSetColor(e,t){return n=>{const r=Object(o.c)(this.props.colors,n);this.props.setAttributes({[e]:r&&r.slug?r.slug:void 0,[t]:r&&r.slug?void 0:n})}}static getDerivedStateFromProps({attributes:e,colors:t},r){return Object(i.reduce)(n,(n,c,l)=>{const a=Object(o.b)(t,e[l],e["custom"+Object(i.upperFirst)(l)]),s=r[l];return(null==s?void 0:s.color)===a.color&&s?n[l]=s:n[l]={...a,class:Object(o.a)(c,a.slug)},n},{})}render(){return Object(c.createElement)(e,Object(r.a)({},this.props,{colors:void 0},this.state,this.setters,{colorUtils:this.colorUtils}))}}])}function d(e){return(...t)=>{const n=(e=>Object(l.createHigherOrderComponent)(t=>n=>Object(c.createElement)(t,Object(r.a)({},n,{colors:e})),"withCustomColorPalette"))(e);return Object(l.createHigherOrderComponent)(u(t,n),"withCustomColors")}}function b(...e){const t=Object(l.createHigherOrderComponent)(e=>t=>{const n=Object(a.a)("color.palette")||s;return Object(c.createElement)(e,Object(r.a)({},t,{colors:n}))},"withEditorColorPalette");return Object(l.createHigherOrderComponent)(u(e,t),"withColors")}},"6ZVF":function(e,t,n){"use strict";var o=n("GRId"),r=n("HSyU"),c=n("wx14"),i=n("TSYQ"),l=n.n(i),a=n("RxS6"),s=n("7SSY"),u=n("M+co"),d=n("j6zP");function b(e=window){const{platform:t}=e.navigator;return-1!==t.indexOf("Mac")||["iPad","iPhone"].includes(t)}var p=Object(o.memo)((function({className:e,isFirst:t,item:n,onSelect:i,onHover:p,isDraggable:m,...f}){const h=Object(o.useRef)(!1),g=n.icon?{backgroundColor:n.icon.background,color:n.icon.foreground}:{},O=Object(o.useMemo)(()=>[Object(r.createBlock)(n.name,n.initialAttributes,Object(r.createBlocksFromInnerBlocksTemplate)(n.innerBlocks))],[n.name,n.initialAttributes,n.initialAttributes]);return Object(o.createElement)(d.a,{isEnabled:m&&!n.disabled,blocks:O,icon:n.icon},({draggable:r,onDragStart:d,onDragEnd:m})=>Object(o.createElement)("div",{className:"block-editor-block-types-list__list-item",draggable:r,onDragStart:e=>{h.current=!0,d&&(p(null),d(e))},onDragEnd:e=>{h.current=!1,m&&m(e)}},Object(o.createElement)(u.a,Object(c.a)({isFirst:t,className:l()("block-editor-block-types-list__item",e),disabled:n.isDisabled,onClick:e=>{e.preventDefault(),i(n,b()?e.metaKey:e.ctrlKey),p(null)},onKeyDown:e=>{const{keyCode:t}=e;t===a.ENTER&&(e.preventDefault(),i(n,b()?e.metaKey:e.ctrlKey),p(null))},onFocus:()=>{h.current||p(n)},onMouseEnter:()=>{h.current||p(n)},onMouseLeave:()=>p(null),onBlur:()=>p(null)},f),Object(o.createElement)("span",{className:"block-editor-block-types-list__item-icon",style:g},Object(o.createElement)(s.a,{icon:n.icon,showColors:!0})),Object(o.createElement)("span",{className:"block-editor-block-types-list__item-title"},n.title))))})),m=n("xkPd"),f=n("HC45");t.a=function({items:e=[],onSelect:t,onHover:n=(()=>{}),children:c,label:i,isDraggable:l=!0}){return Object(o.createElement)(m.a,{className:"block-editor-block-types-list","aria-label":i},function(e,t){const n=[];for(let o=0,r=e.length;oObject(o.createElement)(f.a,{key:c},e.map((e,i)=>Object(o.createElement)(p,{key:e.id,item:e,className:Object(r.getBlockMenuDefaultClassName)(e.id),onSelect:t,onHover:n,isDraggable:l,isFirst:0===c&&0===i})))),c)}},"6c9H":function(e,t,n){"use strict";var o=n("GRId"),r=n("fHnH"),c=n("abaT"),i=n("7bKH"),l=n("gdqT"),a=n("l3Sj"),s=n("tI+e");function u({colordBackgroundColor:e,colordTextColor:t,backgroundColor:n,textColor:r}){const c=e.brightness(){Object(l.speak)(Object(a.__)("This color combination may be hard for people to read."))},[n,r]),Object(o.createElement)("div",{className:"block-editor-contrast-checker"},Object(o.createElement)(s.Notice,{spokenMessage:null,status:"warning",isDismissible:!1},c))}Object(r.b)([c.a,i.a]),t.a=function({backgroundColor:e,fallbackBackgroundColor:t,fallbackTextColor:n,fontSize:c,isLargeText:i,textColor:l}){if(!e&&!t||!l&&!n)return null;const a=Object(r.a)(e||t),s=Object(r.a)(l||n);return 1!==a.alpha()||1!==s.alpha()||s.isReadable(a,{level:"AA",size:i||!1!==i&&c>=24?"large":"small"})?null:Object(o.createElement)(u,{backgroundColor:e,textColor:l,colordBackgroundColor:a,colordTextColor:s})}},"6jxZ":function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var o=n("1ZqX"),r=n("K9lf"),c=n("OL6h"),i=n("BhPs");function l(e){const{isBlockSelected:t}=Object(o.useSelect)(i.a),{selectBlock:n,selectionChange:l}=Object(o.useDispatch)(i.a);return Object(r.useRefEffect)(o=>{function r(r){t(e)?r.target.isContentEditable||l(e):Object(c.c)(o,r.target)&&n(e)}return o.addEventListener("focusin",r),()=>{o.removeEventListener("focusin",r)}},[t,n])}},"715p":function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var o=n("YLtl");const r=e=>{if(!Object(o.isObject)(e)||Array.isArray(e))return e;const t=Object(o.pickBy)(Object(o.mapValues)(e,r),o.identity);return Object(o.isEmpty)(t)?void 0:t}},"7NR9":function(e,t,n){"use strict";var o=n("GRId"),r=n("YLtl"),c=n("TSYQ"),i=n.n(c),l=n("1ZqX"),a=n("RxS6"),s=n("l3Sj"),u=n("HSyU"),d=n("BLeD"),b=n.n(d);var p=n("REKd"),m=n("BhPs");const f={};function h({genericPreviewBlock:e,viewportWidth:t,style:n,isActive:r,onBlur:c,onHover:l,onSelect:s,styleClassName:u,itemRole:d}){const b=Object(o.useMemo)(()=>({...e,attributes:{...e.attributes,className:u}}),[e,u]);return Object(o.createElement)("div",{key:n.name,className:i()("block-editor-block-styles__item",{"is-active":r}),onClick:()=>s(),onKeyDown:e=>{a.ENTER!==e.keyCode&&a.SPACE!==e.keyCode||(e.preventDefault(),s())},onMouseEnter:l,onMouseLeave:c,role:d||"button",tabIndex:"0","aria-label":n.label||n.name},Object(o.createElement)("div",{className:"block-editor-block-styles__item-preview"},Object(o.createElement)(p.a,{viewportWidth:t,blocks:b})),Object(o.createElement)("div",{className:"block-editor-block-styles__item-label"},n.label||n.name))}t.a=function({clientId:e,onSwitch:t=r.noop,onHoverClassName:n=r.noop,itemRole:c}){const{styles:i,block:a,type:d,className:p}=Object(l.useSelect)(t=>{const{getBlock:n}=t(m.a),o=n(e);if(!o)return f;const r=Object(u.getBlockType)(o.name),{getBlockStyles:c}=t(u.store);return{block:o,type:r,styles:c(o.name),className:o.attributes.className||""}},[e]),{updateBlockAttributes:g}=Object(l.useDispatch)(m.a),O=function(e,t){return Object(o.useMemo)(()=>{const n=null==t?void 0:t.example,o=null==t?void 0:t.name;return n&&o?Object(u.getBlockFromExample)(o,{attributes:n.attributes,innerBlocks:n.innerBlocks}):e?Object(u.cloneBlock)(e):void 0},[null!=t&&t.example?null==e?void 0:e.name:e,t])}(a,d);if(!i||0===i.length)return null;const v=Object(r.find)(i,"isDefault")?i:[{name:"default",label:Object(s._x)("Default","block style"),isDefault:!0},...i],j=function(e,t){for(const n of new b.a(t).values()){if(-1===n.indexOf("is-style-"))continue;const t=n.substring(9),o=Object(r.find)(e,{name:t});if(o)return o}return Object(r.find)(e,"isDefault")}(v,p);return Object(o.createElement)("div",{className:"block-editor-block-styles"},v.map(r=>{var i,l;const a=function(e,t,n){const o=new b.a(e);return t&&o.remove("is-style-"+t.name),o.add("is-style-"+n.name),o.value}(p,j,r);return Object(o.createElement)(h,{genericPreviewBlock:O,viewportWidth:null!==(i=null===(l=d.example)||void 0===l?void 0:l.viewportWidth)&&void 0!==i?i:500,className:p,isActive:j===r,key:r.name,onSelect:()=>{g(e,{className:a}),n(null),t()},onBlur:()=>n(null),onHover:()=>n(a),style:r,styleClassName:a,itemRole:c})}))}},"7SSY":function(e,t,n){"use strict";var o=n("GRId"),r=n("TSYQ"),c=n.n(r),i=n("tI+e"),l=n("//Lo");t.a=Object(o.memo)((function({icon:e,showColors:t=!1,className:n}){var r;"block-default"===(null===(r=e)||void 0===r?void 0:r.src)&&(e={src:l.a});const a=Object(o.createElement)(i.Icon,{icon:e&&e.src?e.src:e}),s=t?{backgroundColor:e&&e.background,color:e&&e.foreground}:{};return Object(o.createElement)("span",{style:s,className:c()("block-editor-block-icon",n,{"has-colors":t})},a)}))},"7bKH":function(e,t,n){"use strict";var o=function(e){var t=e/255;return t<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},r=function(e){return.2126*o(e.r)+.7152*o(e.g)+.0722*o(e.b)};t.a=function(e){e.prototype.luminance=function(){return e=r(this.rgba),void 0===(t=2)&&(t=0),void 0===n&&(n=Math.pow(10,t)),Math.round(n*e)/n+0;var e,t,n},e.prototype.contrast=function(t){void 0===t&&(t="#FFF");var n,o,c,i,l,a,s,u=t instanceof e?t:new e(t);return i=this.rgba,l=u.toRgb(),n=(a=r(i))>(s=r(l))?(a+.05)/(s+.05):(s+.05)/(a+.05),void 0===(o=2)&&(o=0),void 0===c&&(c=Math.pow(10,o)),Math.floor(c*n)/c+0},e.prototype.isReadable=function(e,t){return void 0===e&&(e="#FFF"),void 0===t&&(t={}),this.contrast(e)>=(i=void 0===(c=(n=t).size)?"normal":c,"AAA"===(r=void 0===(o=n.level)?"AA":o)&&"normal"===i?7:"AA"===r&&"large"===i?3:4.5);var n,o,r,c,i}}},"7fqt":function(e,t){e.exports=window.wp.wordcount},"8oxB":function(e,t){var n,o,r=e.exports={};function c(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function l(e){if(n===setTimeout)return setTimeout(e,0);if((n===c||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:c}catch(e){n=c}try{o="function"==typeof clearTimeout?clearTimeout:i}catch(e){o=i}}();var a,s=[],u=!1,d=-1;function b(){u&&a&&(u=!1,a.length?s=a.concat(s):d=-1,s.length&&p())}function p(){if(!u){var e=l(b);u=!0;for(var t=s.length;t;){for(a=s,s=[];++d1)for(var n=1;n"up"===e?"horizontal"===i?Object(b.isRTL)()?"right":"left":"up":"down"===e?"horizontal"===i?Object(b.isRTL)()?"left":"right":"down":null;if(e>1)return function(e,t,n,o,r){const c=t+1;if(r<0&&n)return Object(b.__)("Blocks cannot be moved up as they are already at the top");if(r>0&&o)return Object(b.__)("Blocks cannot be moved down as they are already at the bottom");if(r<0&&!n)return Object(b.sprintf)(Object(b._n)("Move %1$d block from position %2$d up by one place","Move %1$d blocks from position %2$d up by one place",e),e,c);if(r>0&&!o)return Object(b.sprintf)(Object(b._n)("Move %1$d block from position %2$d down by one place","Move %1$d blocks from position %2$d down by one place",e),e,c)}(e,n,o,r,c);if(o&&r)return Object(b.sprintf)(Object(b.__)("Block %s is the only block, and cannot be moved"),t);if(c>0&&!r){const e=a("down");if("down"===e)return Object(b.sprintf)(Object(b.__)("Move %1$s block from position %2$d down to position %3$d"),t,l,l+1);if("left"===e)return Object(b.sprintf)(Object(b.__)("Move %1$s block from position %2$d left to position %3$d"),t,l,l+1);if("right"===e)return Object(b.sprintf)(Object(b.__)("Move %1$s block from position %2$d right to position %3$d"),t,l,l+1)}if(c>0&&r){const e=a("down");if("down"===e)return Object(b.sprintf)(Object(b.__)("Block %1$s is at the end of the content and can’t be moved down"),t);if("left"===e)return Object(b.sprintf)(Object(b.__)("Block %1$s is at the end of the content and can’t be moved left"),t);if("right"===e)return Object(b.sprintf)(Object(b.__)("Block %1$s is at the end of the content and can’t be moved right"),t)}if(c<0&&!o){const e=a("up");if("up"===e)return Object(b.sprintf)(Object(b.__)("Move %1$s block from position %2$d up to position %3$d"),t,l,l-1);if("left"===e)return Object(b.sprintf)(Object(b.__)("Move %1$s block from position %2$d left to position %3$d"),t,l,l-1);if("right"===e)return Object(b.sprintf)(Object(b.__)("Move %1$s block from position %2$d right to position %3$d"),t,l,l-1)}if(c<0&&o){const e=a("up");if("up"===e)return Object(b.sprintf)(Object(b.__)("Block %1$s is at the beginning of the content and can’t be moved up"),t);if("left"===e)return Object(b.sprintf)(Object(b.__)("Block %1$s is at the beginning of the content and can’t be moved left"),t);if("right"===e)return Object(b.sprintf)(Object(b.__)("Block %1$s is at the beginning of the content and can’t be moved right"),t)}}var O=n("BhPs");const v=(e,t)=>"up"===e?"horizontal"===t?Object(b.isRTL)()?p.a:m.a:f.a:"down"===e?"horizontal"===t?Object(b.isRTL)()?m.a:p.a:h.a:null,j=(e,t)=>"up"===e?"horizontal"===t?Object(b.isRTL)()?Object(b.__)("Move right"):Object(b.__)("Move left"):Object(b.__)("Move up"):"down"===e?"horizontal"===t?Object(b.isRTL)()?Object(b.__)("Move left"):Object(b.__)("Move right"):Object(b.__)("Move down"):null,k=Object(r.forwardRef)(({clientIds:e,direction:t,orientation:n,...c},b)=>{const p=Object(u.useInstanceId)(k),m=Object(l.castArray)(e).length,{blockType:f,isDisabled:h,rootClientId:_,isFirst:y,isLast:E,firstIndex:C,orientation:S="vertical"}=Object(d.useSelect)(o=>{const{getBlockIndex:r,getBlockRootClientId:c,getBlockOrder:i,getBlock:s,getBlockListSettings:u}=o(O.a),d=Object(l.castArray)(e),b=Object(l.first)(d),p=c(b),m=r(b,p),f=r(Object(l.last)(d),p),h=i(p),g=s(b),v=0===m,j=f===h.length-1,{orientation:k}=u(p)||{};return{blockType:g?Object(a.getBlockType)(g.name):null,isDisabled:"up"===t?v:j,rootClientId:p,firstIndex:m,isFirst:v,isLast:j,orientation:n||k}},[e,t]),{moveBlocksDown:w,moveBlocksUp:B}=Object(d.useDispatch)(O.a),I="up"===t?B:w,x="block-editor-block-mover-button__description-"+p;return Object(r.createElement)(r.Fragment,null,Object(r.createElement)(s.Button,Object(o.a)({ref:b,className:i()("block-editor-block-mover-button",`is-${t}-button`),icon:v(t,S),label:j(t,S),"aria-describedby":x},c,{onClick:h?null:t=>{I(e,_),c.onClick&&c.onClick(t)},"aria-disabled":h})),Object(r.createElement)("span",{id:x,className:"block-editor-block-mover-button__description"},g(m,f&&f.title,C,y,E,"up"===t?-1:1,S)))}),_=Object(r.forwardRef)((e,t)=>Object(r.createElement)(k,Object(o.a)({direction:"up",ref:t},e))),y=Object(r.forwardRef)((e,t)=>Object(r.createElement)(k,Object(o.a)({direction:"down",ref:t},e)))},"9XVa":function(e,t,n){"use strict";n.d(t,"b",(function(){return o.a})),n.d(t,"c",(function(){return o.b})),n.d(t,"d",(function(){return o.c})),n.d(t,"a",(function(){return r.a})),n.d(t,"e",(function(){return d}));var o=n("NMUH"),r=n("QP/w"),c=n("wx14"),i=n("GRId"),l=n("YLtl"),a=n("K9lf"),s=n("v5LD");const u=[];var d=(...e)=>{const t=Object(l.reduce)(e,(e,t)=>(e[t]="custom"+Object(l.upperFirst)(t),e),{});return Object(a.createHigherOrderComponent)(Object(a.compose)([Object(a.createHigherOrderComponent)(e=>t=>{const n=Object(s.a)("typography.fontSizes")||u;return Object(i.createElement)(e,Object(c.a)({},t,{fontSizes:n}))},"withFontSizes"),e=>class extends i.Component{constructor(e){super(e),this.setters=this.createSetters(),this.state={}}createSetters(){return Object(l.reduce)(t,(e,t,n)=>(e["set"+Object(l.upperFirst)(n)]=this.createSetFontSize(n,t),e),{})}createSetFontSize(e,t){return n=>{const o=Object(l.find)(this.props.fontSizes,{size:Number(n)});this.props.setAttributes({[e]:o&&o.slug?o.slug:void 0,[t]:o&&o.slug?void 0:n})}}static getDerivedStateFromProps({attributes:e,fontSizes:n},r){const c=(t,n)=>!r[n]||(e[n]?e[n]!==r[n].slug:r[n].size!==e[t]);if(!Object(l.some)(t,c))return null;const i=Object(l.reduce)(Object(l.pickBy)(t,c),(t,r,c)=>{const i=e[c],l=Object(o.a)(n,i,e[r]);return t[c]={...l,class:Object(o.b)(i)},t},{});return{...r,...i}}render(){return Object(i.createElement)(e,Object(c.a)({},this.props,{fontSizes:void 0},this.state,this.setters))}}]),"withFontSizes")}},AHN3:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));const o="core/block-editor"},AORF:function(e,t,n){"use strict";var o=n("YLtl"),r=n("1ZqX"),c=n("HSyU"),i=n("l3Sj"),l=n("gdqT"),a=n("GRId"),s=n("BhPs");t.a=function({rootClientId:e="",insertionIndex:t,clientId:n,isAppender:u,onSelect:d,shouldFocusBlock:b=!0}){const{getSelectedBlock:p}=Object(r.useSelect)(s.a),{destinationRootClientId:m,destinationIndex:f}=Object(r.useSelect)(o=>{const{getSelectedBlockClientId:r,getBlockRootClientId:c,getBlockIndex:i,getBlockOrder:l}=o(s.a),a=r();let d,b=e;return void 0!==t?d=t:n?d=i(n,b):!u&&a?(b=c(a),d=i(a,b)+1):d=l(b).length,{destinationRootClientId:b,destinationIndex:d}},[e,t,n,u]),{replaceBlocks:h,insertBlocks:g,showInsertionPoint:O,hideInsertionPoint:v}=Object(r.useDispatch)(s.a),j=Object(a.useCallback)((e,t,n=!1)=>{const r=p();!u&&r&&Object(c.isUnmodifiedDefaultBlock)(r)?h(r.clientId,e,null,b||n?0:null,t):g(e,f,m,!0,b||n?0:null,t);const a=Object(i.sprintf)(Object(i._n)("%d block added.","%d blocks added.",Object(o.castArray)(e).length),Object(o.castArray)(e).length);Object(l.speak)(a),d&&d()},[u,p,h,g,m,f,d,b]),k=Object(a.useCallback)(e=>{e?O(m,f):v()},[O,v,m,f]);return[m,j,k]}},B9Az:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");var c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M20.1 5.1L16.9 2 6.2 12.7l-1.3 4.4 4.5-1.3L20.1 5.1zM4 20.8h8v-1.5H4v1.5z"}));t.a=c},BCrt:function(e,t,n){"use strict";n.d(t,"c",(function(){return o.a})),n.d(t,"d",(function(){return c})),n.d(t,"e",(function(){return i})),n.d(t,"a",(function(){return l.a})),n.d(t,"b",(function(){return p}));var o=n("vSu0"),r=n("lJLt");function c(e){if(void 0===e)e=r.b.colors;else{const t=e.filter(e=>e.color);0===t.length?e=r.b.colors:t.lengthe.gradient);0===t.length?e=r.b.gradients:t.lengtha(d(e,t)).value).filter(Boolean);switch(n[0]){case"min":return Math.min(...o)+"px";case"max":return Math.max(...o)+"px";case"clamp":return 3!==o.length?null:o[1]o[2]?o[2]+"px":o[1]+"px";case"calc":return o[0]+"px"}}function u(e){let t=!1;const n=e.split(/[+-/*/]/g).filter(Boolean);for(const o of n){const n=a(d(o));if(!parseFloat(n.value)){t=!0;break}e=e.replace(o,n.value)}return t?null:(o=e,Function(`'use strict'; return (${o})`)()).toFixed(0)+"px";var o}function d(e,t={}){if(Number.isFinite(e))return e.toFixed(0)+"px";if(void 0===e)return null;let n=a(e);return n.unit||(n=function(e){for(;;){const t=e,n=/(max|min|calc|clamp)\(([^()]*)\)/g.exec(e)||[];if(n[0]){const t=s(n[0]);e=e.replace(n[0],t)}if(e===t||parseFloat(e))break}return a(e)}(e)),function(e){for(let t=0;tn.height?n.width:n.height),"%":.01*("font"===n.type?n.fontSize:n.width),ch:8,ex:7.15625,lh:n.lineHeight},r={in:96,cm:96/2.54,mm:96/25.4,pt:96/72,pc:16,px:1,Q:96/2.54/40};return o[e.unit]?(o[e.unit]*e.value).toFixed(0)+"px":r[e.unit]?(r[e.unit]*e.value).toFixed(0)+"px":null}(n,t)}const b={};var p=function(e,t={}){const n=e+function(e){let t="";e.hasOwnProperty("fontSize")&&(t=":"+e.width);e.hasOwnProperty("lineHeight")&&(t=":"+e.lineHeight);e.hasOwnProperty("width")&&(t=":"+e.width);e.hasOwnProperty("height")&&(t=":"+e.height);e.hasOwnProperty("type")&&(t=":"+e.type);return t}(t);return b[n]||(b[n]=d(e,t)),b[n]}},BLeD:function(e,t){e.exports=window.wp.tokenList},BhPs:function(e,t,n){"use strict";n.d(t,"b",(function(){return En})),n.d(t,"a",(function(){return Cn}));var o={};n.r(o),n.d(o,"getBlockName",(function(){return S})),n.d(o,"isBlockValid",(function(){return w})),n.d(o,"getBlockAttributes",(function(){return B})),n.d(o,"getBlock",(function(){return I})),n.d(o,"__unstableGetBlockWithoutInnerBlocks",(function(){return x})),n.d(o,"getBlocks",(function(){return T})),n.d(o,"__unstableGetClientIdWithClientIdsTree",(function(){return P})),n.d(o,"__unstableGetClientIdsTree",(function(){return R})),n.d(o,"getClientIdsOfDescendants",(function(){return N})),n.d(o,"getClientIdsWithDescendants",(function(){return L})),n.d(o,"getGlobalBlockCount",(function(){return M})),n.d(o,"getBlocksByClientId",(function(){return A})),n.d(o,"getBlockCount",(function(){return D})),n.d(o,"getSelectionStart",(function(){return F})),n.d(o,"getSelectionEnd",(function(){return z})),n.d(o,"getBlockSelectionStart",(function(){return H})),n.d(o,"getBlockSelectionEnd",(function(){return V})),n.d(o,"getSelectedBlockCount",(function(){return G})),n.d(o,"hasSelectedBlock",(function(){return U})),n.d(o,"getSelectedBlockClientId",(function(){return W})),n.d(o,"getSelectedBlock",(function(){return q})),n.d(o,"getBlockRootClientId",(function(){return K})),n.d(o,"getBlockParents",(function(){return $})),n.d(o,"getBlockParentsByBlockName",(function(){return Y})),n.d(o,"getBlockHierarchyRootClientId",(function(){return X})),n.d(o,"getLowestCommonAncestorWithSelectedBlock",(function(){return Z})),n.d(o,"getAdjacentBlockClientId",(function(){return Q})),n.d(o,"getPreviousBlockClientId",(function(){return J})),n.d(o,"getNextBlockClientId",(function(){return ee})),n.d(o,"getSelectedBlocksInitialCaretPosition",(function(){return te})),n.d(o,"getSelectedBlockClientIds",(function(){return ne})),n.d(o,"getMultiSelectedBlockClientIds",(function(){return oe})),n.d(o,"getMultiSelectedBlocks",(function(){return re})),n.d(o,"getFirstMultiSelectedBlockClientId",(function(){return ce})),n.d(o,"getLastMultiSelectedBlockClientId",(function(){return ie})),n.d(o,"isFirstMultiSelectedBlock",(function(){return le})),n.d(o,"isBlockMultiSelected",(function(){return ae})),n.d(o,"isAncestorMultiSelected",(function(){return se})),n.d(o,"getMultiSelectedBlocksStartClientId",(function(){return ue})),n.d(o,"getMultiSelectedBlocksEndClientId",(function(){return de})),n.d(o,"getBlockOrder",(function(){return be})),n.d(o,"getBlockIndex",(function(){return pe})),n.d(o,"isBlockSelected",(function(){return me})),n.d(o,"hasSelectedInnerBlock",(function(){return fe})),n.d(o,"isBlockWithinSelection",(function(){return he})),n.d(o,"hasMultiSelection",(function(){return ge})),n.d(o,"isMultiSelecting",(function(){return Oe})),n.d(o,"isSelectionEnabled",(function(){return ve})),n.d(o,"getBlockMode",(function(){return je})),n.d(o,"isTyping",(function(){return ke})),n.d(o,"isDraggingBlocks",(function(){return _e})),n.d(o,"getDraggedBlockClientIds",(function(){return ye})),n.d(o,"isBlockBeingDragged",(function(){return Ee})),n.d(o,"isAncestorBeingDragged",(function(){return Ce})),n.d(o,"isCaretWithinFormattedText",(function(){return Se})),n.d(o,"getBlockInsertionPoint",(function(){return we})),n.d(o,"isBlockInsertionPointVisible",(function(){return Be})),n.d(o,"isValidTemplate",(function(){return Ie})),n.d(o,"getTemplate",(function(){return xe})),n.d(o,"getTemplateLock",(function(){return Te})),n.d(o,"canInsertBlockType",(function(){return Ne})),n.d(o,"canInsertBlocks",(function(){return Le})),n.d(o,"canRemoveBlock",(function(){return Me})),n.d(o,"canRemoveBlocks",(function(){return Ae})),n.d(o,"canMoveBlock",(function(){return De})),n.d(o,"canMoveBlocks",(function(){return Fe})),n.d(o,"getInserterItems",(function(){return We})),n.d(o,"getBlockTransformItems",(function(){return qe})),n.d(o,"hasInserterItems",(function(){return Ke})),n.d(o,"__experimentalGetAllowedBlocks",(function(){return $e})),n.d(o,"__experimentalGetDirectInsertBlock",(function(){return Ye})),n.d(o,"__experimentalGetParsedPattern",(function(){return Xe})),n.d(o,"__experimentalGetAllowedPatterns",(function(){return Qe})),n.d(o,"__experimentalGetPatternsByBlockTypes",(function(){return Je})),n.d(o,"__experimentalGetPatternTransformItems",(function(){return et})),n.d(o,"getBlockListSettings",(function(){return tt})),n.d(o,"getSettings",(function(){return nt})),n.d(o,"isLastBlockChangePersistent",(function(){return ot})),n.d(o,"__experimentalGetBlockListSettingsForBlocks",(function(){return rt})),n.d(o,"__experimentalGetReusableBlockTitle",(function(){return ct})),n.d(o,"__unstableIsLastBlockChangeIgnored",(function(){return it})),n.d(o,"__experimentalGetLastBlockAttributeChanges",(function(){return lt})),n.d(o,"isNavigationMode",(function(){return st})),n.d(o,"hasBlockMovingClientId",(function(){return ut})),n.d(o,"didAutomaticChange",(function(){return dt})),n.d(o,"isBlockHighlighted",(function(){return bt})),n.d(o,"areInnerBlocksControlled",(function(){return pt})),n.d(o,"__experimentalGetActiveBlockIdByBlockNames",(function(){return mt})),n.d(o,"wasBlockJustInserted",(function(){return ft}));var r={};n.r(r),n.d(r,"resetBlocks",(function(){return kt})),n.d(r,"validateBlocksToTemplate",(function(){return _t})),n.d(r,"resetSelection",(function(){return yt})),n.d(r,"receiveBlocks",(function(){return Et})),n.d(r,"updateBlockAttributes",(function(){return Ct})),n.d(r,"updateBlock",(function(){return St})),n.d(r,"selectBlock",(function(){return wt})),n.d(r,"selectPreviousBlock",(function(){return Bt})),n.d(r,"selectNextBlock",(function(){return It})),n.d(r,"startMultiSelect",(function(){return xt})),n.d(r,"stopMultiSelect",(function(){return Tt})),n.d(r,"multiSelect",(function(){return Pt})),n.d(r,"clearSelectedBlock",(function(){return Rt})),n.d(r,"toggleSelection",(function(){return Nt})),n.d(r,"replaceBlocks",(function(){return Mt})),n.d(r,"replaceBlock",(function(){return At})),n.d(r,"moveBlocksDown",(function(){return Ft})),n.d(r,"moveBlocksUp",(function(){return zt})),n.d(r,"moveBlocksToPosition",(function(){return Ht})),n.d(r,"moveBlockToPosition",(function(){return Vt})),n.d(r,"insertBlock",(function(){return Gt})),n.d(r,"insertBlocks",(function(){return Ut})),n.d(r,"showInsertionPoint",(function(){return Wt})),n.d(r,"hideInsertionPoint",(function(){return qt})),n.d(r,"setTemplateValidity",(function(){return Kt})),n.d(r,"synchronizeTemplate",(function(){return $t})),n.d(r,"mergeBlocks",(function(){return Yt})),n.d(r,"removeBlocks",(function(){return Xt})),n.d(r,"removeBlock",(function(){return Zt})),n.d(r,"replaceInnerBlocks",(function(){return Qt})),n.d(r,"toggleBlockMode",(function(){return Jt})),n.d(r,"startTyping",(function(){return en})),n.d(r,"stopTyping",(function(){return tn})),n.d(r,"startDraggingBlocks",(function(){return nn})),n.d(r,"stopDraggingBlocks",(function(){return on})),n.d(r,"enterFormattedText",(function(){return rn})),n.d(r,"exitFormattedText",(function(){return cn})),n.d(r,"selectionChange",(function(){return ln})),n.d(r,"insertDefaultBlock",(function(){return an})),n.d(r,"updateBlockListSettings",(function(){return sn})),n.d(r,"updateSettings",(function(){return un})),n.d(r,"__unstableSaveReusableBlock",(function(){return dn})),n.d(r,"__unstableMarkLastChangeAsPersistent",(function(){return bn})),n.d(r,"__unstableMarkNextChangeAsNotPersistent",(function(){return pn})),n.d(r,"__unstableMarkAutomaticChange",(function(){return mn})),n.d(r,"setNavigationMode",(function(){return fn})),n.d(r,"setBlockMovingClientId",(function(){return hn})),n.d(r,"duplicateBlocks",(function(){return gn})),n.d(r,"insertBeforeBlock",(function(){return On})),n.d(r,"insertAfterBlock",(function(){return vn})),n.d(r,"toggleBlockHighlight",(function(){return jn})),n.d(r,"flashBlock",(function(){return kn})),n.d(r,"setHasControlledInnerBlocks",(function(){return _n}));var c=n("1ZqX"),i=n("YLtl"),l=n("HSyU"),a=n("lJLt");function s(e,t,n){return[...e.slice(0,n),...Object(i.castArray)(t),...e.slice(n)]}function u(e,t,n,o=1){const r=[...e];return r.splice(t,o),s(r,e.slice(t,t+o),n)}function d(e,t=""){const n={[t]:[]};return e.forEach(e=>{const{clientId:o,innerBlocks:r}=e;n[t].push(o),Object.assign(n,d(r,o))}),n}function b(e,t=""){return e.reduce((e,n)=>Object.assign(e,{[n.clientId]:t},b(n.innerBlocks,n.clientId)),{})}function p(e,t=i.identity){const n={},o=[...e];for(;o.length;){const{innerBlocks:e,...r}=o.shift();o.push(...e),n[r.clientId]=t(r)}return n}function m(e){return p(e,e=>Object(i.omit)(e,"attributes"))}function f(e){return p(e,e=>e.attributes)}function h(e,t){return"UPDATE_BLOCK_ATTRIBUTES"===e.type&&void 0!==t&&"UPDATE_BLOCK_ATTRIBUTES"===t.type&&Object(i.isEqual)(e.clientIds,t.clientIds)&&(n=e.attributes,o=t.attributes,Object(i.isEqual)(Object(i.keys)(n),Object(i.keys)(o)));var n,o}function g(e,t){const n={},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[e.clientId]={};for(const t of r)n[t.clientId]=Object.assign(n[t.clientId],{...e.byClientId[t.clientId],attributes:e.attributes[t.clientId],innerBlocks:t.innerBlocks.map(e=>n[e.clientId])});return n}function O(e,t,n,o=!1){const r=new Set([]),c=new Set;for(const t of n){let n=o?t:e.parents[t];do{if(e.controlledInnerBlocks[n]){c.add(n);break}r.add(n),n=e.parents[n]}while(void 0!==n)}for(const e of r)t[e]={...t[e]};for(const n of r)t[n].innerBlocks=(e.order[n]||[]).map(e=>t[e]);for(const n of c)t["controlled||"+n]={innerBlocks:(e.order[n]||[]).map(e=>t[e])};return t}const v=Object(i.flow)(c.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=Object(i.mapValues)(t.attributes,(n,r)=>{const{name:c}=t.byClientId[r];return"core/block"===c&&n.ref===e?{...n,ref:o}:n})}return e(t,n)},e=>(t={},n)=>{const o=e(t,n);if(o===t)return t;switch(o.tree=t.tree?t.tree:{},n.type){case"RECEIVE_BLOCKS":case"INSERT_BLOCKS":{const e=g(o,n.blocks);o.tree=O(o,{...o.tree,...e},n.rootClientId?[n.rootClientId]:[""],!0);break}case"UPDATE_BLOCK":o.tree=O(o,{...o.tree,[n.clientId]:{...o.tree[n.clientId],...o.byClientId[n.clientId],attributes:o.attributes[n.clientId]}},[n.clientId],!1);break;case"UPDATE_BLOCK_ATTRIBUTES":{const e=n.clientIds.reduce((e,t)=>(e[t]={...o.tree[t],attributes:o.attributes[t]},e),{});o.tree=O(o,{...o.tree,...e},n.clientIds,!1);break}case"REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN":{const e=g(o,n.blocks);o.tree=O(o,{...Object(i.omit)(o.tree,n.replacedClientIds.concat(n.replacedClientIds.map(e=>"controlled||"+e))),...e},n.blocks.map(e=>e.clientId),!1);const r=[];for(const e of n.clientIds)void 0===t.parents[e]||""!==t.parents[e]&&!o.byClientId[t.parents[e]]||r.push(t.parents[e]);o.tree=O(o,o.tree,r,!0);break}case"REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN":const e=[];for(const r of n.clientIds)void 0===t.parents[r]||""!==t.parents[r]&&!o.byClientId[t.parents[r]]||e.push(t.parents[r]);o.tree=O(o,Object(i.omit)(o.tree,n.removedClientIds.concat(n.removedClientIds.map(e=>"controlled||"+e))),e,!0);break;case"MOVE_BLOCKS_TO_POSITION":{const e=[];n.fromRootClientId&&e.push(n.fromRootClientId),n.toRootClientId&&e.push(n.toRootClientId),n.fromRootClientId&&n.fromRootClientId||e.push(""),o.tree=O(o,o.tree,e,!0);break}case"MOVE_BLOCKS_UP":case"MOVE_BLOCKS_DOWN":{const e=[n.rootClientId?n.rootClientId:""];o.tree=O(o,o.tree,e,!0);break}case"SAVE_REUSABLE_BLOCK_SUCCESS":{const e=Object(i.keys)(Object(i.omitBy)(o.attributes,(e,t)=>"core/block"!==o.byClientId[t].name||e.ref!==n.updatedId));o.tree=O(o,{...o.tree,...e.reduce((e,t)=>(e[t]={...o.byClientId[t],attributes:o.attributes[t],innerBlocks:o.tree[t].innerBlocks},e),{})},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[n.rootClientId]&&(r=e(r,{type:"REMOVE_BLOCKS",keepControlledInnerBlocks:o,clientIds:t.order[n.rootClientId]}));let c=r;return n.blocks.length&&(c=e(c,{...n,type:"INSERT_BLOCKS",index:0}),c.order={...c.order,...Object(i.reduce)(o,(e,n,o)=>(t.order[o]&&(e[o]=t.order[o]),e),{})}),c},e=>(t,n)=>{if("RESET_BLOCKS"===n.type){var o,r,c;const e=function e(t,n="",o={}){return Object(i.reduce)(t[n],(n,r)=>o[r]?n:[...n,r,...e(t,r)],[])}(null!==(o=null==t?void 0:t.order)&&void 0!==o?o:{},"",null!==(r=null==t?void 0:t.controlledInnerBlocks)&&void 0!==r?r:{}),l=Object.keys(Object(i.pickBy)(null!==(c=null==t?void 0:t.controlledInnerBlocks)&&void 0!==c?c:{})),a={...t,byClientId:{...Object(i.omit)(null==t?void 0:t.byClientId,e),...m(n.blocks)},attributes:{...Object(i.omit)(null==t?void 0:t.attributes,e),...f(n.blocks)},order:{...Object(i.omit)(null==t?void 0:t.order,e),...Object(i.omit)(d(n.blocks),l)},parents:{...Object(i.omit)(null==t?void 0:t.parents,e),...b(n.blocks)},controlledInnerBlocks:(null==t?void 0:t.controlledInnerBlocks)||{}},s=g(a,n.blocks);return a.tree={...Object(i.omit)(null==t?void 0:t.tree,e),...s,"":{innerBlocks:n.blocks.map(e=>s[e.clientId])}},a}return e(t,n)},(function(e){let t,n=!1;return(o,r)=>{let c=e(o,r);const i="MARK_LAST_CHANGE_AS_PERSISTENT"===r.type||n;if(o===c&&!i){var l;n="MARK_NEXT_CHANGE_AS_NOT_PERSISTENT"===r.type;const e=null===(l=null==o?void 0:o.isPersistentChange)||void 0===l||l;return o.isPersistentChange===e?o:{...c,isPersistentChange:e}}return c={...c,isPersistentChange:i?!n:!h(r,t)},t=r,n="MARK_NEXT_CHANGE_AS_NOT_PERSISTENT"===r.type,c}}),(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}}))({byClientId(e={},t){switch(t.type){case"RECEIVE_BLOCKS":case"INSERT_BLOCKS":return{...e,...m(t.blocks)};case"UPDATE_BLOCK":if(!e[t.clientId])return e;const n=Object(i.omit)(t.updates,"attributes");return Object(i.isEmpty)(n)?e:{...e,[t.clientId]:{...e[t.clientId],...n}};case"REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN":return t.blocks?{...Object(i.omit)(e,t.replacedClientIds),...m(t.blocks)}:e;case"REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN":return Object(i.omit)(e,t.removedClientIds)}return e},attributes(e={},t){switch(t.type){case"RECEIVE_BLOCKS":case"INSERT_BLOCKS":return{...e,...f(t.blocks)};case"UPDATE_BLOCK":return e[t.clientId]&&t.updates.attributes?{...e,[t.clientId]:{...e[t.clientId],...t.updates.attributes}}:e;case"UPDATE_BLOCK_ATTRIBUTES":{if(t.clientIds.every(t=>!e[t]))return e;const n=t.clientIds.reduce((n,o)=>({...n,[o]:Object(i.reduce)(t.uniqueByBlock?t.attributes[o]:t.attributes,(t,n,r)=>{var c,i;return n!==t[r]&&((t=(c=e[o])===(i=t)?{...c}:i)[r]=n),t},e[o])}),{});return t.clientIds.every(t=>n[t]===e[t])?e:{...e,...n}}case"REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN":return t.blocks?{...Object(i.omit)(e,t.replacedClientIds),...f(t.blocks)}:e;case"REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN":return Object(i.omit)(e,t.removedClientIds)}return e},order(e={},t){switch(t.type){case"RECEIVE_BLOCKS":{const n=d(t.blocks);return{...e,...Object(i.omit)(n,""),"":((null==e?void 0:e[""])||[]).concat(n[""])}}case"INSERT_BLOCKS":{const{rootClientId:n=""}=t,o=e[n]||[],r=d(t.blocks,n),{index:c=o.length}=t;return{...e,...r,[n]:s(o,r[n],c)}}case"MOVE_BLOCKS_TO_POSITION":{const{fromRootClientId:n="",toRootClientId:o="",clientIds:r}=t,{index:c=e[o].length}=t;if(n===o){const t=e[o].indexOf(r[0]);return{...e,[o]:u(e[o],t,c,r.length)}}return{...e,[n]:Object(i.without)(e[n],...r),[o]:s(e[o],r,c)}}case"MOVE_BLOCKS_UP":{const{clientIds:n,rootClientId:o=""}=t,r=Object(i.first)(n),c=e[o];if(!c.length||r===Object(i.first)(c))return e;const l=c.indexOf(r);return{...e,[o]:u(c,l,l-1,n.length)}}case"MOVE_BLOCKS_DOWN":{const{clientIds:n,rootClientId:o=""}=t,r=Object(i.first)(n),c=Object(i.last)(n),l=e[o];if(!l.length||c===Object(i.last)(l))return e;const a=l.indexOf(r);return{...e,[o]:u(l,a,a+1,n.length)}}case"REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN":{const{clientIds:n}=t;if(!t.blocks)return e;const o=d(t.blocks);return Object(i.flow)([e=>Object(i.omit)(e,t.replacedClientIds),e=>({...e,...Object(i.omit)(o,"")}),e=>Object(i.mapValues)(e,e=>Object(i.reduce)(e,(e,t)=>t===n[0]?[...e,...o[""]]:(-1===n.indexOf(t)&&e.push(t),e),[]))])(e)}case"REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN":return Object(i.flow)([e=>Object(i.omit)(e,t.removedClientIds),e=>Object(i.mapValues)(e,e=>Object(i.without)(e,...t.removedClientIds))])(e)}return e},parents(e={},t){switch(t.type){case"RECEIVE_BLOCKS":return{...e,...b(t.blocks)};case"INSERT_BLOCKS":return{...e,...b(t.blocks,t.rootClientId||"")};case"MOVE_BLOCKS_TO_POSITION":return{...e,...t.clientIds.reduce((e,n)=>(e[n]=t.toRootClientId||"",e),{})};case"REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN":return{...Object(i.omit)(e,t.replacedClientIds),...b(t.blocks,e[t.clientIds[0]])};case"REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN":return Object(i.omit)(e,t.removedClientIds)}return e},controlledInnerBlocks:(e={},{type:t,clientId:n,hasControlledInnerBlocks:o})=>"SET_HAS_CONTROLLED_INNER_BLOCKS"===t?{...e,[n]:o}:e});function j(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}var k=Object(c.combineReducers)({blocks:v,isTyping:function(e=!1,t){switch(t.type){case"START_TYPING":return!0;case"STOP_TYPING":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},isCaretWithinFormattedText:function(e=!1,t){switch(t.type){case"ENTER_FORMATTED_TEXT":return!0;case"EXIT_FORMATTED_TEXT":return!1}return e},selection:function(e={},t){var n,o;switch(t.type){case"SELECTION_CHANGE":return{selectionStart:{clientId:t.clientId,attributeKey:t.attributeKey,offset:t.startOffset},selectionEnd:{clientId:t.clientId,attributeKey:t.attributeKey,offset:t.endOffset}};case"RESET_SELECTION":const{selectionStart:r,selectionEnd:c}=t;return{selectionStart:r,selectionEnd:c};case"MULTI_SELECT":const{start:i,end:l}=t;return{selectionStart:{clientId:i},selectionEnd:{clientId:l}};case"RESET_BLOCKS":const a=null==e||null===(n=e.selectionStart)||void 0===n?void 0:n.clientId,s=null==e||null===(o=e.selectionEnd)||void 0===o?void 0:o.clientId;if(!a&&!s)return e;if(!t.blocks.some(e=>e.clientId===a))return{selectionStart:{},selectionEnd:{}};if(!t.blocks.some(e=>e.clientId===s))return{...e,selectionEnd:e.selectionStart}}return{selectionStart:j(e.selectionStart,t),selectionEnd:j(e.selectionEnd,t)}},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){switch(t.type){case"TOGGLE_SELECTION":return t.isSelectionEnabled}return e},initialPosition:function(e=null,t){return"REPLACE_BLOCKS"===t.type&&void 0!==t.initialPosition||["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(i.omit)(e,t.clientIds);case"UPDATE_BLOCK_LIST_SETTINGS":{const{clientId:n}=t;return t.settings?Object(i.isEqual)(e[n],t.settings)?e:{...e,[n]:t.settings}:e.hasOwnProperty(n)?Object(i.omit)(e,n):e}}return e},insertionPoint:function(e=null,t){switch(t.type){case"SHOW_INSERTION_POINT":const{rootClientId:e,index:n,__unstableWithInserter:o}=t;return{rootClientId:e,index:n,__unstableWithInserter:o};case"HIDE_INSERTION_POINT":return null}return e},template:function(e={isValid:!0},t){switch(t.type){case"SET_TEMPLATE_VALIDITY":return{...e,isValid:t.isValid}}return e},settings:function(e=a.b,t){switch(t.type){case"UPDATE_SETTINGS":return{...e,...t.settings}}return e},preferences:function(e=a.a,t){switch(t.type){case"INSERT_BLOCKS":case"REPLACE_BLOCKS":return t.blocks.reduce((e,n)=>{const{attributes:o,name:r}=n,i=Object(c.select)(l.store).getActiveBlockVariation(r,o);let a=null!=i&&i.name?`${r}/${i.name}`:r;const s={name:a};return"core/block"===r&&(s.ref=o.ref,a+="/"+o.ref),{...e,insertUsage:{...e.insertUsage,[a]:{time:t.time,count:e.insertUsage[a]?e.insertUsage[a].count+1:1,insert:s}}}},e)}return e},lastBlockAttributesChange:function(e,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 null},isNavigationMode:function(e=!1,t){return"INSERT_BLOCKS"!==t.type&&("SET_NAVIGATION_MODE"===t.type?t.isNavigationMode:e)},hasBlockMovingClientId:function(e=null,t){return"SET_BLOCK_MOVING_MODE"===t.type?t.hasBlockMovingClientId:"SET_NAVIGATION_MODE"===t.type?null:e},automaticChangeStatus:function(e,t){switch(t.type){case"MARK_AUTOMATIC_CHANGE":return"pending";case"MARK_AUTOMATIC_CHANGE_FINAL":return"pending"===e?"final":void 0;case"SELECTION_CHANGE":return"final"!==e?e:void 0;case"START_TYPING":case"STOP_TYPING":return 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){var n;switch(t.type){case"INSERT_BLOCKS":if(!t.blocks.length)return e;return{clientId:t.blocks[0].clientId,source:null===(n=t.meta)||void 0===n?void 0:n.source};case"RESET_BLOCKS":return{}}return e}}),_=n("pPDe"),y=n("GRId"),E=n("+WrK");const C=[];function S(e,t){const n=e.blocks.byClientId[t];if("web"!==y.Platform.OS&&"core/social-link"===(null==n?void 0:n.name)){const n=e.blocks.attributes[t],{service:o}=n;return o?"core/social-link-"+o:"core/social-link"}return n?n.name:null}function w(e,t){const n=e.blocks.byClientId[t];return!!n&&n.isValid}function B(e,t){return e.blocks.byClientId[t]?e.blocks.attributes[t]:null}function I(e,t){return e.blocks.byClientId[t]?e.blocks.tree[t]:null}const x=Object(_.a)((e,t)=>{const n=e.blocks.byClientId[t];return n?{...n,attributes:B(e,t)}:null},(e,t)=>[e.blocks.byClientId[t],e.blocks.attributes[t]]);function T(e,t){var n;const o=t&&pt(e,t)?"controlled||"+t:t||"";return(null===(n=e.blocks.tree[o])||void 0===n?void 0:n.innerBlocks)||C}const P=Object(_.a)((e,t)=>({clientId:t,innerBlocks:R(e,t)}),e=>[e.blocks.order]),R=Object(_.a)((e,t="")=>Object(i.map)(be(e,t),t=>P(e,t)),e=>[e.blocks.order]),N=(e,t)=>Object(i.flatMap)(t,t=>{const n=be(e,t);return[...n,...N(e,n)]}),L=Object(_.a)(e=>{const t=be(e);return[...t,...N(e,t)]},e=>[e.blocks.order]),M=Object(_.a)((e,t)=>{const n=L(e);return t?Object(i.reduce)(n,(n,o)=>e.blocks.byClientId[o].name===t?n+1:n,0):n.length},e=>[e.blocks.order,e.blocks.byClientId]),A=Object(_.a)((e,t)=>Object(i.map)(Object(i.castArray)(t),t=>I(e,t)),(e,t)=>Object(i.map)(Object(i.castArray)(t),t=>e.blocks.tree[t]));function D(e,t){return be(e,t).length}function F(e){return e.selection.selectionStart}function z(e){return e.selection.selectionEnd}function H(e){return e.selection.selectionStart.clientId}function V(e){return e.selection.selectionEnd.clientId}function G(e){const t=oe(e).length;return t||(e.selection.selectionStart.clientId?1:0)}function U(e){const{selectionStart:t,selectionEnd:n}=e.selection;return!!t.clientId&&t.clientId===n.clientId}function W(e){const{selectionStart:t,selectionEnd:n}=e.selection,{clientId:o}=t;return o&&o===n.clientId?o:null}function q(e){const t=W(e);return t?I(e,t):null}function K(e,t){return void 0!==e.blocks.parents[t]?e.blocks.parents[t]:null}const $=Object(_.a)((e,t,n=!1)=>{const o=[];let r=t;for(;e.blocks.parents[r];)r=e.blocks.parents[r],o.push(r);return n?o:o.reverse()},e=>[e.blocks.parents]),Y=Object(_.a)((e,t,n,o=!1)=>{const r=$(e,t,o);return Object(i.map)(Object(i.filter)(Object(i.map)(r,t=>({id:t,name:S(e,t)})),({name:e})=>Array.isArray(n)?n.includes(e):e===n),({id:e})=>e)},e=>[e.blocks.parents]);function X(e,t){let n,o=t;do{n=o,o=e.blocks.parents[o]}while(o);return n}function Z(e,t){const n=W(e),o=[...$(e,t),t],r=[...$(e,n),n];let c;const i=Math.min(o.length,r.length);for(let e=0;e{const{selectionStart:t,selectionEnd:n}=e.selection;if(void 0===t.clientId||void 0===n.clientId)return C;if(t.clientId===n.clientId)return[t.clientId];const o=K(e,t.clientId);if(null===o)return C;const r=be(e,o),c=r.indexOf(t.clientId),i=r.indexOf(n.clientId);return c>i?r.slice(i,c+1):r.slice(c,i+1)},e=>[e.blocks.order,e.selection.selectionStart.clientId,e.selection.selectionEnd.clientId]);function oe(e){const{selectionStart:t,selectionEnd:n}=e.selection;return t.clientId===n.clientId?C:ne(e)}const re=Object(_.a)(e=>{const t=oe(e);return t.length?t.map(t=>I(e,t)):C},e=>[...ne.getDependants(e),e.blocks.byClientId,e.blocks.order,e.blocks.attributes]);function ce(e){return Object(i.first)(oe(e))||null}function ie(e){return Object(i.last)(oe(e))||null}function le(e,t){return ce(e)===t}function ae(e,t){return-1!==oe(e).indexOf(t)}const se=Object(_.a)((e,t)=>{let n=t,o=!1;for(;n&&!o;)n=K(e,n),o=ae(e,n);return o},e=>[e.blocks.order,e.selection.selectionStart.clientId,e.selection.selectionEnd.clientId]);function ue(e){const{selectionStart:t,selectionEnd:n}=e.selection;return t.clientId===n.clientId?null:t.clientId||null}function de(e){const{selectionStart:t,selectionEnd:n}=e.selection;return t.clientId===n.clientId?null:n.clientId||null}function be(e,t){return e.blocks.order[t||""]||C}function pe(e,t,n){return be(e,n).indexOf(t)}function me(e,t){const{selectionStart:n,selectionEnd:o}=e.selection;return n.clientId===o.clientId&&n.clientId===t}function fe(e,t,n=!1){return Object(i.some)(be(e,t),t=>me(e,t)||ae(e,t)||n&&fe(e,t,n))}function he(e,t){if(!t)return!1;const n=oe(e),o=n.indexOf(t);return o>-1&&oEe(e,t))}function Se(e){return e.isCaretWithinFormattedText}function we(e){let t,n;const{insertionPoint:o,selection:{selectionEnd:r}}=e;if(null!==o)return o;const{clientId:c}=r;return c?(t=K(e,c)||void 0,n=pe(e,r.clientId,t)+1):n=be(e).length,{rootClientId:t,index:n}}function Be(e){return null!==e.insertionPoint}function Ie(e){return e.template.isValid}function xe(e){return e.settings.template}function Te(e,t){if(!t)return e.settings.templateLock;const n=tt(e,t);return n?n.templateLock:null}const Pe=(e,t,n=null)=>Object(i.isBoolean)(e)?e:Object(i.isArray)(e)?!(!e.includes("core/post-content")||null!==t)||e.includes(t):n,Re=(e,t,n=null)=>{let o;if(t&&"object"==typeof t?(o=t,t=o.name):o=Object(l.getBlockType)(t),!o)return!1;const{allowedBlockTypes:r}=nt(e);if(!Pe(r,t,!0))return!1;if(!!Te(e,n))return!1;const c=tt(e,n);if(n&&void 0===c)return!1;const i=null==c?void 0:c.allowedBlocks,a=Pe(i,t),s=o.parent,u=S(e,n),d=Pe(s,u);return null!==a&&null!==d?a||d:null!==a?a:null===d||d},Ne=Object(_.a)(Re,(e,t,n)=>[e.blockListSettings[n],e.blocks.byClientId[n],e.settings.allowedBlockTypes,e.settings.templateLock]);function Le(e,t,n=null){return t.every(t=>Ne(e,S(e,t),n))}function Me(e,t,n=null){const o=B(e,t);if(null===o)return!0;const{lock:r}=o,c=!!Te(e,n);return void 0===r||void 0===(null==r?void 0:r.remove)?!c:!(null!=r&&r.remove)}function Ae(e,t,n=null){return t.every(t=>Me(e,t,n))}function De(e,t,n=null){const o=B(e,t);if(null===o)return;const{lock:r}=o,c="all"===Te(e,n);return void 0===r||void 0===(null==r?void 0:r.move)?!c:!(null!=r&&r.move)}function Fe(e,t,n=null){return t.every(t=>De(e,t,n))}function ze(e,t){var n,o;return null!==(n=null===(o=e.preferences.insertUsage)||void 0===o?void 0:o[t])&&void 0!==n?n:null}const He=(e,t,n)=>!!Object(l.hasBlockSupport)(t,"inserter",!0)&&Re(e,t.name,n),Ve=(e,t)=>n=>{const o=`${t.id}/${n.name}`,{time:r,count:c=0}=ze(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:Ge(r,c)}},Ge=(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}},Ue=(e,{buildScope:t="inserter"})=>n=>{const o=n.name;let r=!1;Object(l.hasBlockSupport)(n.name,"multiple",!0)||(r=Object(i.some)(A(e,L(e)),{name:n.name}));const{time:c,count:a=0}=ze(e,o)||{},s={id:o,name:n.name,title:n.title,icon:n.icon,isDisabled:r,frecency:Ge(c,a)};if("transform"===t)return s;const u=Object(l.getBlockVariations)(n.name,"inserter");return{...s,initialAttributes:{},description:n.description,category:n.category,keywords:n.keywords,variations:u,example:n.example,utility:1}},We=Object(_.a)((e,t=null)=>{const n=Ue(e,{buildScope:"inserter"}),o=/^\s*)[^])*)\5|[^]*?)}\s+)?(\/)?-->/,r=Object(l.getBlockTypes)().filter(n=>He(e,n,t)).map(n),c=Re(e,"core/block",t)?at(e).map(t=>{let n=E.a;if("web"===y.Platform.OS){const e=("string"==typeof t.content.raw?t.content.raw:t.content).match(o);if(e){const[,,t="core/",o]=e,r=Object(l.getBlockType)(t+o);r&&(n=r.icon)}}const r="core/block/"+t.id,{time:c,count:i=0}=ze(e,r)||{},a=Ge(c,i);return{id:r,name:"core/block",initialAttributes:{ref:t.id},title:t.title.raw,icon:n,category:"reusable",keywords:[],isDisabled:!1,utility:1,frecency:a}}):[],i=r.filter(({variations:e=[]})=>!e.some(({isDefault:e})=>e)),a=[];for(const t of r){const{variations:n=[]}=t;if(n.length){const o=Ve(e,t);a.push(...n.map(o))}}const s=(e,t)=>{const{core:n,noncore:o}=e;return(t.name.startsWith("core/")?n:o).push(t),e},u=i.reduce(s,{core:[],noncore:[]}),d=a.reduce(s,{core:[],noncore:[]});return[...[...u.core,...d.core,...u.noncore,...d.noncore],...c]},(e,t)=>[e.blockListSettings[t],e.blocks.byClientId,e.blocks.order,e.preferences.insertUsage,e.settings.allowedBlockTypes,e.settings.templateLock,at(e),Object(l.getBlockTypes)()]),qe=Object(_.a)((e,t,n=null)=>{const o=Ue(e,{buildScope:"transform"}),r=Object(l.getBlockTypes)().filter(t=>He(e,t,n)).map(o),c=Object(i.mapKeys)(r,({name:e})=>e),a=Object(l.getPossibleBlockTransformations)(t).reduce((e,t)=>(c[null==t?void 0:t.name]&&e.push(c[t.name]),e),[]);return Object(i.orderBy)(a,e=>c[e.name].frecency,"desc")},(e,t)=>[e.blockListSettings[t],e.blocks.byClientId,e.preferences.insertUsage,e.settings.allowedBlockTypes,e.settings.templateLock,Object(l.getBlockTypes)()]),Ke=Object(_.a)((e,t=null)=>{if(Object(i.some)(Object(l.getBlockTypes)(),n=>He(e,n,t)))return!0;return Re(e,"core/block",t)&&at(e).length>0},(e,t)=>[e.blockListSettings[t],e.blocks.byClientId,e.settings.allowedBlockTypes,e.settings.templateLock,at(e),Object(l.getBlockTypes)()]),$e=Object(_.a)((e,t=null)=>{if(t)return Object(i.filter)(Object(l.getBlockTypes)(),n=>He(e,n,t))},(e,t)=>[e.blockListSettings[t],e.blocks.byClientId,e.settings.allowedBlockTypes,e.settings.templateLock,Object(l.getBlockTypes)()]),Ye=Object(_.a)((e,t=null)=>{var n,o;if(!t)return;const r=null===(n=e.blockListSettings[t])||void 0===n?void 0:n.__experimentalDefaultBlock,c=null===(o=e.blockListSettings[t])||void 0===o?void 0:o.__experimentalDirectInsert;return r&&c?"function"==typeof c?c(I(e,t))?r:null:r:void 0},(e,t)=>[e.blockListSettings[t],e.blocks.tree[t]]),Xe=Object(_.a)((e,t)=>{const n=e.settings.__experimentalBlockPatterns.find(({name:e})=>e===t);return n?{...n,blocks:Object(l.parse)(n.content)}:null},e=>[e.settings.__experimentalBlockPatterns]),Ze=Object(_.a)(e=>{const t=e.settings.__experimentalBlockPatterns,{allowedBlockTypes:n}=nt(e);return t.filter(({inserter:e=!0})=>!!e).map(({name:t})=>Xe(e,t)).filter(({blocks:e})=>((e,t)=>{if(Object(i.isBoolean)(t))return t;const n=[...e];for(;n.length>0;){var o;const e=n.shift();if(!Pe(t,e.name||e.blockName,!0))return!1;null===(o=e.innerBlocks)||void 0===o||o.forEach(e=>{n.push(e)})}return!0})(e,n))},e=>[e.settings.__experimentalBlockPatterns,e.settings.allowedBlockTypes]),Qe=Object(_.a)((e,t=null)=>{const n=Ze(e);return Object(i.filter)(n,({blocks:n})=>n.every(({name:n})=>Ne(e,n,t)))},(e,t)=>[e.settings.__experimentalBlockPatterns,e.settings.allowedBlockTypes,e.settings.templateLock,e.blockListSettings[t],e.blocks.byClientId[t]]),Je=Object(_.a)((e,t,n=null)=>{if(!t)return C;const o=Qe(e,n),r=Array.isArray(t)?t:[t];return o.filter(e=>{var t,n;return null==e||null===(t=e.blockTypes)||void 0===t||null===(n=t.some)||void 0===n?void 0:n.call(t,e=>r.includes(e))})},(e,t)=>[...Qe.getDependants(e,t)]),et=Object(_.a)((e,t,n=null)=>{if(!t)return C;if(t.some(({clientId:t,innerBlocks:n})=>n.length||pt(e,t)))return C;const o=Array.from(new Set(t.map(({name:e})=>e)));return Je(e,o,n)},(e,t)=>[...Je.getDependants(e,t)]);function tt(e,t){return e.blockListSettings[t]}function nt(e){return e.settings}function ot(e){return e.blocks.isPersistentChange}const rt=Object(_.a)((e,t=[])=>t.reduce((t,n)=>e.blockListSettings[n]?{...t,[n]:e.blockListSettings[n]}:t,{}),e=>[e.blockListSettings]),ct=Object(_.a)((e,t)=>{var n;const o=Object(i.find)(at(e),e=>e.id===t);return o?null===(n=o.title)||void 0===n?void 0:n.raw:null},e=>[at(e)]);function it(e){return e.blocks.isIgnoredChange}function lt(e){return e.lastBlockAttributesChange}function at(e){var t,n;return null!==(t=null==e||null===(n=e.settings)||void 0===n?void 0:n.__experimentalReusableBlocks)&&void 0!==t?t:C}function st(e){return e.isNavigationMode}function ut(e){return e.hasBlockMovingClientId}function dt(e){return!!e.automaticChangeStatus}function bt(e,t){return e.highlightedBlock===t}function pt(e,t){return!!e.blocks.controlledInnerBlocks[t]}const mt=Object(_.a)((e,t)=>{if(!t.length)return null;const n=W(e);if(t.includes(S(e,n)))return n;const o=oe(e),r=Y(e,n||o[0],t);return r?Object(i.last)(r):null},(e,t)=>[e.selection.selectionStart.clientId,e.selection.selectionEnd.clientId,t]);function ft(e,t,n){const{lastBlockInserted:o}=e;return o.clientId===t&&o.source===n}var ht=n("gdqT"),gt=n("l3Sj"),Ot=n("qRz9"),vt=n("NMb1"),jt=n.n(vt);const kt=e=>({dispatch:t})=>{t({type:"RESET_BLOCKS",blocks:e}),t(_t(e))},_t=e=>({select:t,dispatch:n})=>{const o=t.getTemplate(),r=t.getTemplateLock(),c=!o||"all"!==r||Object(l.doBlocksMatchTemplate)(e,o);if(c!==t.isValidTemplate())return n.setTemplateValidity(c),c};function yt(e,t,n){return{type:"RESET_SELECTION",selectionStart:e,selectionEnd:t,initialPosition:n}}function Et(e){return jt()('wp.data.dispatch( "core/block-editor" ).receiveBlocks',{since:"5.9",alternative:"resetBlocks or insertBlocks"}),{type:"RECEIVE_BLOCKS",blocks:e}}function Ct(e,t,n=!1){return{type:"UPDATE_BLOCK_ATTRIBUTES",clientIds:Object(i.castArray)(e),attributes:t,uniqueByBlock:n}}function St(e,t){return{type:"UPDATE_BLOCK",clientId:e,updates:t}}function wt(e,t=0){return{type:"SELECT_BLOCK",initialPosition:t,clientId:e}}const Bt=e=>({select:t,dispatch:n})=>{const o=t.getPreviousBlockClientId(e);o&&n.selectBlock(o,-1)},It=e=>({select:t,dispatch:n})=>{const o=t.getNextBlockClientId(e);o&&n.selectBlock(o)};function xt(){return{type:"START_MULTI_SELECT"}}function Tt(){return{type:"STOP_MULTI_SELECT"}}const Pt=(e,t)=>({select:n,dispatch:o})=>{if(n.getBlockRootClientId(e)!==n.getBlockRootClientId(t))return;o({type:"MULTI_SELECT",start:e,end:t});const r=n.getSelectedBlockCount();Object(ht.speak)(Object(gt.sprintf)(Object(gt._n)("%s block selected.","%s blocks selected.",r),r),"assertive")};function Rt(){return{type:"CLEAR_SELECTED_BLOCK"}}function Nt(e=!0){return{type:"TOGGLE_SELECTION",isSelectionEnabled:e}}function Lt(e,t){var n,o;const r=null!==(n=null==t||null===(o=t.__experimentalPreferredStyleVariations)||void 0===o?void 0:o.value)&&void 0!==n?n:{};return e.map(e=>{var t;const n=e.name;if(!Object(l.hasBlockSupport)(n,"defaultStylePicker",!0))return e;if(!r[n])return e;const o=null===(t=e.attributes)||void 0===t?void 0:t.className;if(null!=o&&o.includes("is-style-"))return e;const{attributes:c={}}=e,i=r[n];return{...e,attributes:{...c,className:`${o||""} is-style-${i}`.trim()}}})}const Mt=(e,t,n,o=0,r)=>({select:c,dispatch:l})=>{e=Object(i.castArray)(e),t=Lt(Object(i.castArray)(t),c.getSettings());const a=c.getBlockRootClientId(Object(i.first)(e));for(let e=0;e{if(e.getBlockCount()>0)return;const{__unstableHasCustomAppender:n}=e.getSettings();n||t.insertDefaultBlock()})};function At(e,t){return Mt(e,t)}const Dt=e=>(t,n)=>({select:o,dispatch:r})=>{o.canMoveBlocks(t,n)&&r({type:e,clientIds:Object(i.castArray)(t),rootClientId:n})},Ft=Dt("MOVE_BLOCKS_DOWN"),zt=Dt("MOVE_BLOCKS_UP"),Ht=(e,t="",n="",o)=>({select:r,dispatch:c})=>{if(r.canMoveBlocks(e,t)){if(t!==n){if(!r.canRemoveBlocks(e,t))return;if(!r.canInsertBlocks(e,n))return}c({type:"MOVE_BLOCKS_TO_POSITION",fromRootClientId:t,toRootClientId:n,clientIds:e,index:o})}};function Vt(e,t="",n="",o){return Ht([e],t,n,o)}function Gt(e,t,n,o,r){return Ut([e],t,n,o,0,r)}const Ut=(e,t,n,o=!0,r=0,c)=>({select:l,dispatch:a})=>{Object(i.isObject)(r)&&(c=r,r=0,jt()("meta argument in wp.data.dispatch('core/block-editor')",{since:"10.1",plugin:"Gutenberg",hint:"The meta argument is now the 6th argument of the function"})),e=Lt(Object(i.castArray)(e),l.getSettings());const s=[];for(const t of e){l.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:c})};function Wt(e,t,n={}){const{__unstableWithInserter:o}=n;return{type:"SHOW_INSERTION_POINT",rootClientId:e,index:t,__unstableWithInserter:o}}function qt(){return{type:"HIDE_INSERTION_POINT"}}function Kt(e){return{type:"SET_TEMPLATE_VALIDITY",isValid:e}}const $t=()=>({select:e,dispatch:t})=>{t({type:"SYNCHRONIZE_TEMPLATE"});const n=e.getBlocks(),o=e.getTemplate(),r=Object(l.synchronizeBlocksWithTemplate)(n,o);t.resetBlocks(r)},Yt=(e,t)=>({select:n,dispatch:o})=>{const r=[e,t];o({type:"MERGE_BLOCKS",blocks:r});const[c,a]=r,s=n.getBlock(c),u=Object(l.getBlockType)(s.name);if(u&&!u.merge)return void o.selectBlock(s.clientId);const d=n.getBlock(a),b=Object(l.getBlockType)(d.name),{clientId:p,attributeKey:m,offset:f}=n.getSelectionStart(),h=(p===c?u:b).attributes[m],g=(p===c||p===a)&&void 0!==m&&void 0!==f&&!!h;h||("number"==typeof m?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 m):window.console.error("The RichText identifier prop does not match any attributes defined by the block."));const O=Object(l.cloneBlock)(s),v=Object(l.cloneBlock)(d);if(g){const e=p===c?O:v,t=e.attributes[m],{multiline:n,__unstableMultilineWrapperTags:o,__unstablePreserveWhiteSpace:r}=h,i=Object(Ot.insert)(Object(Ot.create)({html:t,multilineTag:n,multilineWrapperTags:o,preserveWhiteSpace:r}),"†",f,f);e.attributes[m]=Object(Ot.toHTMLString)({value:i,multilineTag:n,preserveWhiteSpace:r})}const j=s.name===d.name?[v]:Object(l.switchToBlockType)(v,s.name);if(!j||!j.length)return;const k=u.merge(O.attributes,j[0].attributes);if(g){const e=Object(i.findKey)(k,e=>"string"==typeof e&&-1!==e.indexOf("†")),t=k[e],{multiline:n,__unstableMultilineWrapperTags:r,__unstablePreserveWhiteSpace:c}=u.attributes[e],l=Object(Ot.create)({html:t,multilineTag:n,multilineWrapperTags:r,preserveWhiteSpace:c}),a=l.text.indexOf("†"),d=Object(Ot.remove)(l,a,a+1),b=Object(Ot.toHTMLString)({value:d,multilineTag:n,preserveWhiteSpace:c});k[e]=b,o.selectionChange(s.clientId,e,a,a)}o.replaceBlocks([s.clientId,d.clientId],[{...s,attributes:{...s.attributes,...k}},...j.slice(1)],0)},Xt=(e,t=!0)=>({select:n,dispatch:o})=>{if(!e||!e.length)return;e=Object(i.castArray)(e);const r=n.getBlockRootClientId(e[0]);n.canRemoveBlocks(e,r)&&(t&&o.selectPreviousBlock(e[0]),o({type:"REMOVE_BLOCKS",clientIds:e}),o(({select:e,dispatch:t})=>{if(e.getBlockCount()>0)return;const{__unstableHasCustomAppender:n}=e.getSettings();n||t.insertDefaultBlock()}))};function Zt(e,t){return Xt([e],t)}function Qt(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 Jt(e){return{type:"TOGGLE_BLOCK_MODE",clientId:e}}function en(){return{type:"START_TYPING"}}function tn(){return{type:"STOP_TYPING"}}function nn(e=[]){return{type:"START_DRAGGING_BLOCKS",clientIds:e}}function on(){return{type:"STOP_DRAGGING_BLOCKS"}}function rn(){return{type:"ENTER_FORMATTED_TEXT"}}function cn(){return{type:"EXIT_FORMATTED_TEXT"}}function ln(e,t,n,o){return{type:"SELECTION_CHANGE",clientId:e,attributeKey:t,startOffset:n,endOffset:o}}function an(e,t,n){const o=Object(l.getDefaultBlockName)();if(!o)return;return Gt(Object(l.createBlock)(o,e),n,t)}function sn(e,t){return{type:"UPDATE_BLOCK_LIST_SETTINGS",clientId:e,settings:t}}function un(e){return{type:"UPDATE_SETTINGS",settings:e}}function dn(e,t){return{type:"SAVE_REUSABLE_BLOCK_SUCCESS",id:e,updatedId:t}}function bn(){return{type:"MARK_LAST_CHANGE_AS_PERSISTENT"}}function pn(){return{type:"MARK_NEXT_CHANGE_AS_NOT_PERSISTENT"}}const mn=()=>({dispatch:e})=>{e({type:"MARK_AUTOMATIC_CHANGE"});const{requestIdleCallback:t=(e=>setTimeout(e,100))}=window;t(()=>{e({type:"MARK_AUTOMATIC_CHANGE_FINAL"})})},fn=(e=!0)=>({dispatch:t})=>{t({type:"SET_NAVIGATION_MODE",isNavigationMode:e}),e?Object(ht.speak)(Object(gt.__)("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.")):Object(ht.speak)(Object(gt.__)("You are currently in edit mode. To return to the navigation mode, press Escape."))},hn=(e=null)=>({dispatch:t})=>{t({type:"SET_BLOCK_MOVING_MODE",hasBlockMovingClientId:e}),e&&Object(ht.speak)(Object(gt.__)("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."))},gn=(e,t=!0)=>({select:n,dispatch:o})=>{if(!e||!e.length)return;const r=n.getBlocksByClientId(e);if(Object(i.some)(r,e=>!e))return;if(r.map(e=>e.name).some(e=>!Object(l.hasBlockSupport)(e,"multiple",!0)))return;const c=n.getBlockRootClientId(e[0]),a=n.getBlockIndex(Object(i.last)(Object(i.castArray)(e)),c),s=r.map(e=>Object(l.__experimentalCloneSanitizedBlock)(e));return o.insertBlocks(s,a+1,c,t),s.length>1&&t&&o.multiSelect(Object(i.first)(s).clientId,Object(i.last)(s).clientId),s.map(e=>e.clientId)},On=e=>({select:t,dispatch:n})=>{if(!e)return;const o=t.getBlockRootClientId(e);if(t.getTemplateLock(o))return;const r=t.getBlockIndex(e,o);return n.insertDefaultBlock({},o,r)},vn=e=>({select:t,dispatch:n})=>{if(!e)return;const o=t.getBlockRootClientId(e);if(t.getTemplateLock(o))return;const r=t.getBlockIndex(e,o);return n.insertDefaultBlock({},o,r+1)};function jn(e,t){return{type:"TOGGLE_BLOCK_HIGHLIGHT",clientId:e,isHighlighted:t}}const kn=e=>async({dispatch:t})=>{t(jn(e,!0)),await new Promise(e=>setTimeout(e,150)),t(jn(e,!1))};function _n(e,t){return{type:"SET_HAS_CONTROLLED_INNER_BLOCKS",hasControlledInnerBlocks:t,clientId:e}}var yn=n("AHN3");const En={reducer:k,selectors:o,actions:r,__experimentalUseThunks:!0},Cn=Object(c.createReduxStore)(yn.a,{...En,persist:["preferences"]});Object(c.registerStore)(yn.a,{...En,persist:["preferences"]})},Bo0k:function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return s}));var o=n("GRId"),r=n("tI+e"),c=n("l3Sj");const i=[{name:Object(c.__)("Regular"),value:"normal"},{name:Object(c.__)("Italic"),value:"italic"}],l=[{name:Object(c.__)("Thin"),value:"100"},{name:Object(c.__)("Extra Light"),value:"200"},{name:Object(c.__)("Light"),value:"300"},{name:Object(c.__)("Regular"),value:"400"},{name:Object(c.__)("Medium"),value:"500"},{name:Object(c.__)("Semi Bold"),value:"600"},{name:Object(c.__)("Bold"),value:"700"},{name:Object(c.__)("Extra Bold"),value:"800"},{name:Object(c.__)("Black"),value:"900"}],a=(e,t)=>e?t?Object(c.__)("Appearance"):Object(c.__)("Font style"):Object(c.__)("Font weight");function s(e){const{onChange:t,hasFontStyles:n=!0,hasFontWeights:s=!0,value:{fontStyle:u,fontWeight:d}}=e,b=n||s,p=a(n,s),m={key:"default",name:Object(c.__)("Default"),style:{fontStyle:void 0,fontWeight:void 0}},f=Object(o.useMemo)(()=>n&&s?(()=>{const e=[m];return i.forEach(({name:t,value:n})=>{l.forEach(({name:o,value:r})=>{const i="normal"===n?o:Object(c.sprintf)(Object(c.__)("%1$s %2$s"),o,t);e.push({key:`${n}-${r}`,name:i,style:{fontStyle:n,fontWeight:r}})})}),e})():n?(()=>{const e=[m];return i.forEach(({name:t,value:n})=>{e.push({key:n,name:t,style:{fontStyle:n,fontWeight:void 0}})}),e})():(()=>{const e=[m];return l.forEach(({name:t,value:n})=>{e.push({key:n,name:t,style:{fontStyle:void 0,fontWeight:n}})}),e})(),[e.options]),h=f.find(e=>e.style.fontStyle===u&&e.style.fontWeight===d)||f[0];return b&&Object(o.createElement)(r.CustomSelectControl,{className:"components-font-appearance-control",label:p,describedBy:h?n?s?Object(c.sprintf)(Object(c.__)("Currently selected font appearance: %s"),h.name):Object(c.sprintf)(Object(c.__)("Currently selected font style: %s"),h.name):Object(c.sprintf)(Object(c.__)("Currently selected font weight: %s"),h.name):Object(c.__)("No selected font appearance"),options:f,value:h,onChange:({selectedItem:e})=>t(e.style)})}},Bpkj:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M15.6 7.2H14v1.5h1.6c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.8 0 5.2-2.3 5.2-5.2 0-2.9-2.3-5.2-5.2-5.2zM4.7 12.4c0-2 1.7-3.7 3.7-3.7H10V7.2H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H10v-1.5H8.4c-2 0-3.7-1.7-3.7-3.7zm4.6.9h5.3v-1.5H9.3v1.5z"}));t.a=c},Btt3:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var o=n("YLtl");const r=(e,t)=>{if(!t||!e)return;const n=t.filter(({attributes:t})=>!(!t||!Object.keys(t).length)&&Object(o.isMatch)(e,t));return 1===n.length?n[0]:void 0}},CNgt: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)}),c=this&&this.__assign||Object.assign||function(e){for(var t,n=1,o=arguments.length;n{const{getBlockAttributes:r}=o(a.a),c=r(n)||{};return{customGradient:c[t],gradient:c[e]}},[n,e,t]),{updateBlockAttributes:f}=Object(c.useDispatch)(a.a),h=Object(r.useCallback)(r=>{const c=p(o,r);f(n,c?{[e]:c,[t]:void 0}:{[e]:void 0,[t]:r})},[o,n,f]),g=u(b);let O;return O=b?d(o,b):m,{gradientClass:g,gradientValue:O,setGradient:h}}},Crq9:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.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"}));t.a=c},"DmX/":function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M20 9h-7.2V4h-1.6v5H4v6h7.2v5h1.6v-5H20z"}));t.a=c},ERVc:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var o=n("1ZqX"),r=n("HSyU"),c=n("BhPs");function i(e){return Object(o.useSelect)(t=>{const{getBlockName:n,getBlockAttributes:o}=t(c.a),i=o(e);if(null==i||!i.className)return;const l=Object(r.getBlockType)(n(e));return(null==l?void 0:l.apiVersion)>1?i.className:void 0},[e])}},EpZT:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M7 9v6h10V9H7zM5 19.8h14v-1.5H5v1.5zM5 4.3v1.5h14V4.3H5z"}));t.a=c},Fmc1:function(e,t,n){"use strict";var o=n("wx14"),r=n("GRId"),c=n("tI+e"),i=n("K9lf"),l=n("l3Sj"),a=n("REKd"),s=n("j6zP");function u({isDraggable:e,pattern:t,onClick:n,composite:l}){const{blocks:d,viewportWidth:b}=t,p="block-editor-block-patterns-list__item-description-"+Object(i.useInstanceId)(u);return Object(r.createElement)(s.a,{isEnabled:e,blocks:d},({draggable:e,onDragStart:i,onDragEnd:s})=>Object(r.createElement)("div",{className:"block-editor-block-patterns-list__list-item","aria-label":t.title,"aria-describedby":t.description?p:void 0,draggable:e,onDragStart:i,onDragEnd:s},Object(r.createElement)(c.__unstableCompositeItem,Object(o.a)({role:"option",as:"div"},l,{className:"block-editor-block-patterns-list__item",onClick:()=>n(t,d)}),Object(r.createElement)(a.a,{blocks:d,viewportWidth:b}),Object(r.createElement)("div",{className:"block-editor-block-patterns-list__item-title"},t.title),!!t.description&&Object(r.createElement)(c.VisuallyHidden,{id:p},t.description))))}function d(){return Object(r.createElement)("div",{className:"block-editor-block-patterns-list__item is-placeholder"})}t.a=function({isDraggable:e,blockPatterns:t,shownPatterns:n,onClickPattern:i,orientation:a,label:s=Object(l.__)("Block Patterns")}){const b=Object(c.__unstableUseCompositeState)({orientation:a});return Object(r.createElement)(c.__unstableComposite,Object(o.a)({},b,{role:"listbox",className:"block-editor-block-patterns-list","aria-label":s}),t.map(t=>n.includes(t)?Object(r.createElement)(u,{key:t.name,pattern:t,onClick:i,isDraggable:e,composite:b}):Object(r.createElement)(d,{key:t.name})))}},FnAh:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.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"}));t.a=c},G4zt:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var o=n("9Do8"),r=n.n(o),c=n("GRId"),i=n("1ZqX"),l=n("1CF3"),a=n("BhPs");function s(e){const t=Object(c.useRef)(),n=Object(i.useSelect)(t=>{const{isBlockSelected:n,getBlockSelectionEnd:o}=t(a.a);return n(e)||o()===e},[e]);return Object(c.useEffect)(()=>{if(!n)return;const e=t.current;if(!e)return;if(e.contains(e.ownerDocument.activeElement))return;const o=Object(l.getScrollContainer)(e)||e.ownerDocument.defaultView;o&&r()(e,o,{onlyScrollIfNeeded:!0})},[n]),t}},GKUk:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var o=n("wx14"),r=n("GRId"),c=n("YLtl"),i=n("tI+e"),l=n("l3Sj"),a=n("v5LD");function s({value:e="",onChange:t,fontFamilies:n,...s}){const u=Object(a.a)("typography.fontFamilies");if(n||(n=u),Object(c.isEmpty)(n))return null;const d=[{value:"",label:Object(l.__)("Default")},...n.map(({fontFamily:e,name:t})=>({value:e,label:t||e}))];return Object(r.createElement)(i.SelectControl,Object(o.a)({label:Object(l.__)("Font family"),options:d,value:e,onChange:t,labelPosition:"top"},s))}},GOly:function(e,t,n){"use strict";var o=n("GRId");const r=Object(o.createContext)();t.a=r},GRId:function(e,t){e.exports=window.wp.element},GemG:function(e,t,n){var o,r,c; /*! autosize 4.0.4 license: MIT http://www.jacklmoore.com/autosize -*/r=[e,t],void 0===(c="function"==typeof(o=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))}}),c=function(e){return new Event(e,{bubbles:!0})};try{new Event("test")}catch(e){c=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t}}function l(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!r.has(e)){var t,n=null,o=null,l=null,i=function(){e.clientWidth!==o&&d()},a=function(t){window.removeEventListener("resize",i,!1),e.removeEventListener("input",d,!1),e.removeEventListener("keyup",d,!1),e.removeEventListener("autosize:destroy",a,!1),e.removeEventListener("autosize:update",d,!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",d,!1),window.addEventListener("resize",i,!1),e.addEventListener("input",d,!1),e.addEventListener("autosize:update",d,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",r.set(e,{destroy:a,update:d}),"vertical"===(t=window.getComputedStyle(e,null)).resize?e.style.resize="none":"both"===t.resize&&(e.style.resize="horizontal"),n="content-box"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),isNaN(n)&&(n=0),d()}function s(t){var n=e.style.width;e.style.width="0px",e.offsetWidth,e.style.width=n,e.style.overflowY=t}function u(){if(0!==e.scrollHeight){var t=function(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}(e),r=document.documentElement&&document.documentElement.scrollTop;e.style.height="",e.style.height=e.scrollHeight+n+"px",o=e.clientWidth,t.forEach((function(e){e.node.scrollTop=e.scrollTop})),r&&(document.documentElement.scrollTop=r)}}function d(){u();var t=Math.round(parseFloat(e.style.height)),n=window.getComputedStyle(e,null),o="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):e.offsetHeight;if(o-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))}}),c=function(e){return new Event(e,{bubbles:!0})};try{new Event("test")}catch(e){c=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,n=null,o=null,i=null,l=function(){e.clientWidth!==o&&d()},a=function(t){window.removeEventListener("resize",l,!1),e.removeEventListener("input",d,!1),e.removeEventListener("keyup",d,!1),e.removeEventListener("autosize:destroy",a,!1),e.removeEventListener("autosize:update",d,!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",d,!1),window.addEventListener("resize",l,!1),e.addEventListener("input",d,!1),e.addEventListener("autosize:update",d,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",r.set(e,{destroy:a,update:d}),"vertical"===(t=window.getComputedStyle(e,null)).resize?e.style.resize="none":"both"===t.resize&&(e.style.resize="horizontal"),n="content-box"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),isNaN(n)&&(n=0),d()}function s(t){var n=e.style.width;e.style.width="0px",e.offsetWidth,e.style.width=n,e.style.overflowY=t}function u(){if(0!==e.scrollHeight){var t=function(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}(e),r=document.documentElement&&document.documentElement.scrollTop;e.style.height="",e.style.height=e.scrollHeight+n+"px",o=e.clientWidth,t.forEach((function(e){e.node.scrollTop=e.scrollTop})),r&&(document.documentElement.scrollTop=r)}}function d(){u();var t=Math.round(parseFloat(e.style.height)),n=window.getComputedStyle(e,null),o="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):e.offsetHeight;if(o{!function(e){const[t]=a.focus.tabbable.find(e);t&&t.focus()}(e.current)},[]);Object(s.useShortcut)("core/block-editor/focus-toolbar",d),Object(r.useEffect)(()=>{i&&d()},[n,i,d]),Object(r.useEffect)(()=>{let t=0;return l&&!i&&(t=window.requestAnimationFrame(()=>{const t=u(e.current),n=l||0;var o;t[n]&&(o=e.current).contains(o.ownerDocument.activeElement)&&t[n].focus()})),()=>{if(window.cancelAnimationFrame(t),!c||!e.current)return;const n=u(e.current).findIndex(e=>0===e.tabIndex);c(n)}},[l,i])}t.a=function({children:e,focusOnMount:t,__experimentalInitialIndex:n,__experimentalOnIndexChange:i,...s}){const u=Object(r.useRef)(),b=function(e){const[t,n]=Object(r.useState)(!0),o=Object(r.useCallback)(()=>{const t=a.focus.tabbable.find(e.current),o=!t.some(e=>!("toolbarItem"in e.dataset));o||l()("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"}),n(o)},[]);return Object(r.useLayoutEffect)(()=>{const t=new window.MutationObserver(o);return t.observe(e.current,{childList:!0,subtree:!0}),()=>t.disconnect()},[t]),t}(u);return d(u,t,b,n,i),b?Object(r.createElement)(c.Toolbar,Object(o.a)({label:s["aria-label"],ref:u},s),e):Object(r.createElement)(c.NavigableMenu,Object(o.a)({orientation:"horizontal",role:"toolbar",ref:u},s),e)}},GvwK:function(e,t,n){"use strict";var o=n("GRId"),r=n("NMb1"),c=n.n(r),i=n("7SSY");t.a=function({title:e,icon:t,description:n,blockType:r}){return r&&(c()("`blockType` property in `BlockCard component`",{since:"5.7",alternative:"`title, icon and description` properties"}),({title:e,icon:t,description:n}=r)),Object(o.createElement)("div",{className:"block-editor-block-card"},Object(o.createElement)(i.a,{icon:t,showColors:!0}),Object(o.createElement)("div",{className:"block-editor-block-card__content"},Object(o.createElement)("h2",{className:"block-editor-block-card__title"},e),Object(o.createElement)("span",{className:"block-editor-block-card__description"},n)))}},HC45:function(e,t,n){"use strict";var o=n("wx14"),r=n("GRId"),c=n("tI+e"),i=n("GOly");t.a=Object(r.forwardRef)((function(e,t){const n=Object(r.useContext)(i.a);return Object(r.createElement)(c.__unstableCompositeGroup,Object(o.a)({state:n,role:"presentation",ref:t},e))}))},HSyU:function(e,t){e.exports=window.wp.blocks},HgtZ:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var o=n("1ZqX"),r=n("ur0x"),c=n("BhPs");function i(){const{isSelected:e,clientId:t,name:n}=Object(r.c)();return Object(o.useSelect)(o=>{if(e)return!0;const{getBlockName:r,isFirstMultiSelectedBlock:i,getMultiSelectedBlockClientIds:l}=o(c.a);return!!i(t)&&l().every(e=>r(e)===n)},[t,e,n])}},I5Hl:function(e,t,n){"use strict";n.d(t,"a",(function(){return m}));var o=n("GRId"),r=n("TSYQ"),c=n.n(r),i=n("tI+e"),l=n("l3Sj"),a=n("iClF"),s=n("Q4Sy"),u=n("NMb1"),d=n.n(u),b=n("qrxh");function p({rootClientId:e,className:t,onFocus:n,tabIndex:r},u){return Object(o.createElement)(b.a,{position:"bottom center",rootClientId:e,__experimentalIsQuick:!0,renderToggle:({onToggle:e,disabled:d,isOpen:b,blockTitle:p,hasSingleBlockType:m})=>{let f;f=m?Object(l.sprintf)(Object(l._x)("Add %s","directly add the only allowed block"),p):Object(l._x)("Add block","Generic label for block inserter button");const h=!m;let g=Object(o.createElement)(i.Button,{ref:u,onFocus:n,tabIndex:r,className:c()(t,"block-editor-button-block-appender"),onClick:e,"aria-haspopup":h?"true":void 0,"aria-expanded":h?b:void 0,disabled:d,label:f},!m&&Object(o.createElement)(i.VisuallyHidden,{as:"span"},f),Object(o.createElement)(a.a,{icon:s.a}));return(h||m)&&(g=Object(o.createElement)(i.Tooltip,{text:f},g)),g},isAppender:!0})}const m=Object(o.forwardRef)((e,t)=>(d()("wp.blockEditor.ButtonBlockerAppender",{alternative:"wp.blockEditor.ButtonBlockAppender"}),p(e,t)));t.b=Object(o.forwardRef)(p)},JDWi:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var o=n("1ZqX"),r=n("K9lf"),c=n("BhPs");function i(e){const{isNavigationMode:t,isBlockSelected:n}=Object(o.useSelect)(c.a),{setNavigationMode:i,selectBlock:l}=Object(o.useDispatch)(c.a);return Object(r.useRefEffect)(o=>{function r(o){t()&&!o.defaultPrevented&&(o.preventDefault(),n(e)?i(!1):l(e))}return o.addEventListener("mousedown",r),()=>{o.addEventListener("mousedown",r)}},[e,t,n,i])}},JGYp:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var o=n("YLtl"),r=n("GRId"),c=n("1ZqX"),i=n("HSyU"),l=n("BhPs");function a({clientId:e=null,value:t,selection:n,onChange:a=o.noop,onInput:s=o.noop}){const u=Object(c.useRegistry)(),{resetBlocks:d,resetSelection:b,replaceInnerBlocks:p,setHasControlledInnerBlocks:m,__unstableMarkNextChangeAsNotPersistent:f}=u.dispatch(l.a),{getBlockName:h,getBlocks:g}=u.select(l.a),O=Object(r.useRef)({incoming:null,outgoing:[]}),v=Object(r.useRef)(!1),j=Object(r.useRef)(s),k=Object(r.useRef)(a);Object(r.useEffect)(()=>{j.current=s,k.current=a},[s,a]),Object(r.useEffect)(()=>{O.current.outgoing.includes(t)?Object(o.last)(O.current.outgoing)===t&&(O.current.outgoing=[]):g(e)!==t&&(O.current.outgoing=[],(()=>{if(t)if(f(),e){m(e,!0),f();const n=t.map(e=>Object(i.cloneBlock)(e));v.current&&(O.current.incoming=n),p(e,n)}else v.current&&(O.current.incoming=t),d(t)})(),n&&b(n.selectionStart,n.selectionEnd,n.initialPosition))},[t,e]),Object(r.useEffect)(()=>{const{getSelectionStart:t,getSelectionEnd:n,getSelectedBlocksInitialCaretPosition:o,isLastBlockChangePersistent:r,__unstableIsLastBlockChangeIgnored:c}=u.select(l.a);let i=g(e),a=r(),s=!1;v.current=!0;const d=u.subscribe(()=>{if(null!==e&&null===h(e))return;const l=r(),u=g(e),d=u!==i;if(i=u,d&&(O.current.incoming||c()))return O.current.incoming=null,void(a=l);if(d||s&&!d&&l&&!a){a=l,O.current.outgoing.push(i);(a?k.current:j.current)(i,{selection:{selectionStart:t(),selectionEnd:n(),initialPosition:o()}})}s=d});return()=>d()},[u,e])}},JRTi:function(e,t,n){"use strict";n.d(t,"a",(function(){return m}));var o=n("GRId"),r=n("wx14"),c=n("TSYQ"),i=n.n(c),l=n("YLtl"),a=n("tI+e"),s=n("HSyU"),u=n("uoCR");const d={};var b=Object(a.withFilters)("editor.BlockEdit")(e=>{const{attributes:t={},name:n}=e,c=Object(s.getBlockType)(n),a=Object(o.useContext)(u.b),b=Object(o.useMemo)(()=>c&&c.usesContext?Object(l.pick)(a,c.usesContext):d,[c,a]);if(!c)return null;const p=c.edit||c.save;if(c.apiVersion>1)return Object(o.createElement)(p,Object(r.a)({},e,{context:b}));const m=Object(s.hasBlockSupport)(c,"className",!0)?Object(s.getBlockDefaultClassName)(n):null,f=i()(m,t.className);return Object(o.createElement)(p,Object(r.a)({},e,{context:b,className:f}))}),p=n("ur0x");function m(e){const{name:t,isSelected:n,clientId:r}=e,c={name:t,isSelected:n,clientId:r};return Object(o.createElement)(p.a,{value:Object(o.useMemo)(()=>c,Object.values(c))},Object(o.createElement)(b,e))}},JUfZ:function(e,t,n){"use strict";var o=n("wx14"),r=n("GRId"),c=n("TSYQ"),i=n.n(c),l=n("l3Sj"),a=n("HSyU"),s=n("1ZqX"),u=n("GkEL"),d=n("+gtr"),b=n("BhPs");t.a=function({focusOnMount:e,isFixed:t,...n}){const{blockType:c,hasParents:p,showParentSelector:m}=Object(s.useSelect)(e=>{const{getBlockName:t,getBlockParents:n,getSelectedBlockClientIds:o}=e(b.a),{getBlockType:r}=e(a.store),c=o(),i=c[0],l=n(i),s=r(t(l[l.length-1]));return{blockType:i&&r(t(i)),hasParents:l.length,showParentSelector:Object(a.hasBlockSupport)(s,"__experimentalParentSelector",!0)&&c.length<=1}},[]);if(c&&!Object(a.hasBlockSupport)(c,"__experimentalToolbar",!0))return null;const f=i()("block-editor-block-contextual-toolbar",{"has-parent":p&&m,"is-fixed":t});return Object(r.createElement)(u.a,Object(o.a)({focusOnMount:e,className:f,"aria-label":Object(l.__)("Block tools")},n),Object(r.createElement)(d.a,{hideDragHandle:t}))}},JygI:function(e,t,n){"use strict";var o=n("wx14"),r=n("GRId"),c=n("YLtl"),i=n("TSYQ"),l=n.n(i),a=n("xN+R"),s=n("tI+e"),u=n("HSyU"),d=n("1ZqX"),b=n("l3Sj"),p=n("ZAjO"),m=n("9Ma0"),f=n("BhPs");t.a=Object(d.withSelect)((e,{clientIds:t})=>{var n;const{getBlock:o,getBlockIndex:r,getBlockListSettings:i,canMoveBlocks:l,getBlockOrder:a,getBlockRootClientId:s}=e(f.a),d=Object(c.castArray)(t),b=Object(c.first)(d),p=o(b),m=s(Object(c.first)(d)),h=r(b,m),g=0===h,O=r(Object(c.last)(d),m)===a(m).length-1;return{blockType:p?Object(u.getBlockType)(p.name):null,canMove:l(t,m),rootClientId:m,firstIndex:h,isFirst:g,isLast:O,orientation:null===(n=i(m))||void 0===n?void 0:n.orientation}})((function({isFirst:e,isLast:t,clientIds:n,canMove:c,isHidden:i,rootClientId:u,orientation:d,hideDragHandle:f}){const[h,g]=Object(r.useState)(!1),O=()=>g(!0),v=()=>g(!1);if(!c||e&&t&&!u)return null;const j=Object(b.__)("Drag");return Object(r.createElement)("div",{className:l()("block-editor-block-mover",{"is-visible":h||!i,"is-horizontal":"horizontal"===d})},!f&&Object(r.createElement)(p.a,{clientIds:n,cloneClassname:"block-editor-block-mover__drag-clone"},e=>Object(r.createElement)(s.Button,Object(o.a)({icon:a.a,className:"block-editor-block-mover__drag-handle","aria-hidden":"true",label:j,tabIndex:"-1"},e))),Object(r.createElement)(s.ToolbarGroup,{className:"block-editor-block-mover__move-button-container"},Object(r.createElement)(s.ToolbarItem,{onFocus:O,onBlur:v},e=>Object(r.createElement)(m.b,Object(o.a)({clientIds:n},e))),Object(r.createElement)(s.ToolbarItem,{onFocus:O,onBlur:v},e=>Object(r.createElement)(m.a,Object(o.a)({clientIds:n},e)))))}))},Jyyd:function(e,t,n){"use strict";var o=n("tI+e");const{Fill:r,Slot:c}=Object(o.createSlotFill)("__unstableBlockSettingsMenuFirstItem");r.Slot=c,t.a=r},"K/rC":function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var o=n("1ZqX"),r=n("w8sn"),c=n("BhPs"),i=n("PPMp");const l=["none","left","center","right","wide","full"],a=["wide","full"];function s(e=l){e.includes("none")||(e=["none",...e]);const{wideControlsEnabled:t=!1,themeSupportsLayout:n}=Object(o.useSelect)(e=>{const{getSettings:t}=e(c.a),n=t();return{wideControlsEnabled:n.alignWide,themeSupportsLayout:n.supportsLayout}},[]),s=Object(r.d)(),u=Object(i.a)(null==s?void 0:s.type),d=u.getAlignments(s);if(n){const t=d.filter(({name:t})=>e.includes(t));return 1===t.length&&"none"===t[0].name?[]:t}if("default"!==u.name)return[];const{alignments:b=l}=s,p=e.filter(e=>(s.alignments||t||!a.includes(e))&&b.includes(e)).map(e=>({name:e}));return 1===p.length&&"none"===p[0].name?[]:p}},K9lf:function(e,t){e.exports=window.wp.compose},KyyN:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var o=n("GRId"),r=n("fHnH"),c=n("abaT"),i=n("7bKH"),l=n("vSu0");function a(e){return Object(o.useCallback)(e=>{if(!e)return;const{ownerDocument:t}=e,{defaultView:n,body:o}=t,c=t.querySelector(".editor-styles-wrapper");let i;if(c)i=n.getComputedStyle(c,null).getPropertyValue("background-color");else{const e=t.createElement("div");e.classList.add("editor-styles-wrapper"),o.appendChild(e),i=n.getComputedStyle(e,null).getPropertyValue("background-color"),o.removeChild(e)}const l=Object(r.a)(i);l.luminance()>.5||0===l.alpha()?o.classList.remove("is-dark-theme"):o.classList.add("is-dark-theme")},[e])}function s({styles:e}){const t=Object(o.useMemo)(()=>Object(l.a)(e,".editor-styles-wrapper"),[e]);return Object(o.createElement)(o.Fragment,null,Object(o.createElement)("style",{ref:a(e)}),t.map((e,t)=>Object(o.createElement)("style",{key:t},e)))}Object(r.b)([c.a,i.a])},LolH:function(e,t,n){"use strict";var o=n("GRId"),r=n("l3Sj"),c=n("iClF"),i=n("//Lo");t.a=function(){return Object(o.createElement)("div",{className:"block-editor-inserter__no-results"},Object(o.createElement)(c.a,{className:"block-editor-inserter__no-results-icon",icon:i.a}),Object(o.createElement)("p",null,Object(r.__)("No results found.")))}},"M+co":function(e,t,n){"use strict";var o=n("wx14"),r=n("GRId"),c=n("tI+e"),i=n("GOly");t.a=Object(r.forwardRef)((function({isFirst:e,as:t,children:n,...l},a){const s=Object(r.useContext)(i.a);return Object(r.createElement)(c.__unstableCompositeItem,Object(o.a)({ref:a,state:s,role:"option",focusable:!0},l),o=>{const i={...o,tabIndex:e?0:o.tabIndex};return t?Object(r.createElement)(t,i,n):"function"==typeof n?n(i):Object(r.createElement)(c.Button,i,n)})}))},Mmq9:function(e,t){e.exports=window.wp.url},Mp0b:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M15.6 7.3h-.7l1.6-3.5-.9-.4-3.9 8.5H9v1.5h2l-1.3 2.8H8.4c-2 0-3.7-1.7-3.7-3.7s1.7-3.7 3.7-3.7H10V7.3H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H9l-1.4 3.2.9.4 5.7-12.5h1.4c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.9 0 5.2-2.3 5.2-5.2 0-2.9-2.4-5.2-5.2-5.2z"}));t.a=c},NMUH:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"c",(function(){return c})),n.d(t,"b",(function(){return i}));var o=n("YLtl");const r=(e,t,n)=>{if(t){const n=Object(o.find)(e,{slug:t});if(n)return n}return{size:n}};function c(e,t){const n=Object(o.find)(e,{size:t});return n||{size:t}}function i(e){if(e)return`has-${Object(o.kebabCase)(e)}-font-size`}},NMb1:function(e,t){e.exports=window.wp.deprecated},NTP4:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.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"}));t.a=c},NWDH:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Object(o.createElement)(r.Path,{d:"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z"}));t.a=c},NtoT:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a}));var o=n("GRId"),r=n("YLtl"),c=n("tI+e"),i=(n("Z23Y"),n("HgtZ")),l=n("VrEk");function a({__experimentalGroup:t="default",children:n}){var a;const s=Object(i.a)(),u=null===(a=l.a[t])||void 0===a?void 0:a.Fill;return u?s?Object(o.createElement)(c.__experimentalStyleProvider,{document:document},Object(o.createElement)(u,null,e=>{const t=Object(r.isEmpty)(e)?null:e;return Object(o.createElement)(c.__experimentalToolsPanelContext.Provider,{value:t},n)})):null:(void 0!==e&&e.env,null)}}).call(this,n("8oxB"))},O6Fj:function(e,t,n){"use strict";t.__esModule=!0;var o=n("CNgt");t.default=o.TextareaAutosize},OL6h:function(e,t,n){"use strict";n.d(t,"b",(function(){return c})),n.d(t,"c",(function(){return i})),n.d(t,"a",(function(){return l}));const o=".block-editor-block-list__block",r=".block-list-appender";function c(e,t){return e.closest(o)===t.closest(o)}function i(e,t){return t.closest([o,r].join(","))===e}function l(e){for(;e&&e.nodeType!==e.ELEMENT_NODE;)e=e.parentNode;if(!e)return;const t=e.closest(o);return t?t.id.slice("block-".length):void 0}},OzlF:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Object(o.createElement)(r.Path,{d:"M13.8 5.2H3v1.5h10.8V5.2zm-3.6 12v1.5H21v-1.5H10.2zm7.2-6H6.6v1.5h10.8v-1.5z"}));t.a=c},P7XM:function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},PKbb:function(e,t,n){"use strict";n.d(t,"c",(function(){return i})),n.d(t,"b",(function(){return l})),n.d(t,"a",(function(){return a}));var o=n("GRId"),r=n("K9lf"),c=n("cDhi");function i(e){const{refs:t,callbacks:n}=Object(o.useContext)(c.a),i=Object(o.useRef)();return Object(o.useLayoutEffect)(()=>(t.set(i,e),()=>{t.delete(i)}),[e]),Object(r.useRefEffect)(t=>{i.current=t,n.forEach((n,o)=>{e===n&&o(t)})},[e])}function l(e){const{refs:t}=Object(o.useContext)(c.a),n=Object(o.useRef)();return n.current=e,Object(o.useMemo)(()=>({get current(){let e=null;for(const[o,r]of t.entries())r===n.current&&o.current&&(e=o.current);return e}}),[])}function a(e){const{callbacks:t}=Object(o.useContext)(c.a),n=l(e),[r,i]=Object(o.useState)(null);return Object(o.useLayoutEffect)(()=>{if(e)return t.set(i,e),()=>{t.delete(i)}},[e]),n.current||r}},PPMp:function(e,t,n){"use strict";n.d(t,"a",(function(){return B})),n.d(t,"b",(function(){return I}));var o=n("GRId"),r=n("l3Sj"),c=n("kWXm"),i=n("DmX/"),l=n("suLj"),a=n("bTSr"),s=n("Tqx9");var u=Object(o.createElement)(s.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(s.Path,{d:"M14.3 6.7l-1.1 1.1 4 4H4v1.5h13.3l-4.1 4.4 1.1 1.1 5.8-6.3z"}));var d=Object(o.createElement)(s.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(s.Path,{d:"M16.2 13.2l-4 4V4h-1.5v13.3l-4.5-4.1-1 1.1 6.2 5.8 5.8-5.8-1-1.1z"})),b=n("tI+e");function p(e,t=""){return e.split(",").map(e=>`.editor-styles-wrapper ${e} ${t}`).join(",")}var m=n("v5LD"),f=n("fOYa"),h=n("0E5u");const g={left:"flex-start",right:"flex-end",center:"center","space-between":"space-between"},O={left:"flex-start",right:"flex-end",center:"center"},v=["wrap","nowrap"];var j={name:"flex",label:Object(r.__)("Flex"),inspectorControls:function({layout:e={},onChange:t}){const{allowOrientation:n=!0}=e;return Object(o.createElement)(o.Fragment,null,Object(o.createElement)(b.Flex,null,Object(o.createElement)(b.FlexItem,null,Object(o.createElement)(k,{layout:e,onChange:t})),Object(o.createElement)(b.FlexItem,null,n&&Object(o.createElement)(y,{layout:e,onChange:t}))),Object(o.createElement)(_,{layout:e,onChange:t}))},toolBarControls:function({layout:e={},onChange:t,layoutBlockSupport:n}){return null!=n&&n.allowSwitching?null:Object(o.createElement)(f.b,{group:"block",__experimentalShareWithChildBlocks:!0},Object(o.createElement)(k,{layout:e,onChange:t,isToolbar:!0}))},save:function({selector:e,layout:t}){const{orientation:n="horizontal"}=t,r=null!==Object(m.a)("spacing.blockGap"),c=g[t.justifyContent]||g.left,i=v.includes(t.flexWrap)?t.flexWrap:"wrap",l=`\n\t\tflex-direction: row;\n\t\talign-items: center;\n\t\tjustify-content: ${c};\n\t\t--justification-setting: ${c};\n\t\t`,a=O[t.justifyContent]||O.left,s=`\n\t\tflex-direction: column;\n\t\talign-items: ${a};\n\t\t--justification-setting: ${a};\n\t\t`;return Object(o.createElement)("style",null,`\n\t\t\t\t${p(e)} {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tgap: ${r?"var( --wp--style--block-gap, 0.5em )":"0.5em"};\n\t\t\t\t\tflex-wrap: ${i};\n\t\t\t\t\t${"horizontal"===n?l:s}\n\t\t\t\t}\n\n\t\t\t\t${p(e,"> *")} {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t}\n\t\t\t`)},getOrientation(e){const{orientation:t="horizontal"}=e;return t},getAlignments:()=>[]};function k({layout:e,onChange:t,isToolbar:n=!1}){const{justifyContent:s="left",orientation:u="horizontal"}=e,d=n=>{t({...e,justifyContent:n})},p=["left","center","right"];if("horizontal"===u&&p.push("space-between"),n)return Object(o.createElement)(h.a,{allowedControls:p,value:s,onChange:d,popoverProps:{position:"bottom right",isAlternate:!0}});const m=[{value:"left",icon:c.a,label:Object(r.__)("Justify items left")},{value:"center",icon:i.a,label:Object(r.__)("Justify items center")},{value:"right",icon:l.a,label:Object(r.__)("Justify items right")}];return"horizontal"===u&&m.push({value:"space-between",icon:a.a,label:Object(r.__)("Space between items")}),Object(o.createElement)("fieldset",{className:"block-editor-hooks__flex-layout-justification-controls"},Object(o.createElement)("legend",null,Object(r.__)("Justification")),Object(o.createElement)("div",null,m.map(({value:e,icon:t,label:n})=>Object(o.createElement)(b.Button,{key:e,label:n,icon:t,isPressed:s===e,onClick:()=>d(e)}))))}function _({layout:e,onChange:t}){const{flexWrap:n="wrap"}=e;return Object(o.createElement)(b.ToggleControl,{label:Object(r.__)("Allow to wrap to multiple lines"),onChange:n=>{t({...e,flexWrap:n?"wrap":"nowrap"})},checked:"wrap"===n})}function y({layout:e,onChange:t}){const{orientation:n="horizontal"}=e;return Object(o.createElement)("fieldset",{className:"block-editor-hooks__flex-layout-orientation-controls"},Object(o.createElement)("legend",null,Object(r.__)("Orientation")),Object(o.createElement)(b.Button,{label:"horizontal",icon:u,isPressed:"horizontal"===n,onClick:()=>t({...e,orientation:"horizontal"})}),Object(o.createElement)(b.Button,{label:"vertical",icon:d,isPressed:"vertical"===n,onClick:()=>t({...e,orientation:"vertical"})}))}var E=n("iClF"),C=n("EpZT"),S=n("beZb");const w=[{name:"default",label:Object(r.__)("Flow"),inspectorControls:function({layout:e,onChange:t}){const{wideSize:n,contentSize:c}=e,i=Object(b.__experimentalUseCustomUnits)({availableUnits:Object(m.a)("spacing.units")||["%","px","em","rem","vw"]});return Object(o.createElement)(o.Fragment,null,Object(o.createElement)("div",{className:"block-editor-hooks__layout-controls"},Object(o.createElement)("div",{className:"block-editor-hooks__layout-controls-unit"},Object(o.createElement)(b.__experimentalUnitControl,{label:Object(r.__)("Content"),labelPosition:"top",__unstableInputWidth:"80px",value:c||n||"",onChange:n=>{n=0>parseFloat(n)?"0":n,t({...e,contentSize:n})},units:i}),Object(o.createElement)(E.a,{icon:C.a})),Object(o.createElement)("div",{className:"block-editor-hooks__layout-controls-unit"},Object(o.createElement)(b.__experimentalUnitControl,{label:Object(r.__)("Wide"),labelPosition:"top",__unstableInputWidth:"80px",value:n||c||"",onChange:n=>{n=0>parseFloat(n)?"0":n,t({...e,wideSize:n})},units:i}),Object(o.createElement)(E.a,{icon:S.a}))),Object(o.createElement)("div",{className:"block-editor-hooks__layout-controls-reset"},Object(o.createElement)(b.Button,{variant:"secondary",isSmall:!0,disabled:!c&&!n,onClick:()=>t({contentSize:void 0,wideSize:void 0,inherit:!1})},Object(r.__)("Reset"))),Object(o.createElement)("p",{className:"block-editor-hooks__layout-controls-helptext"},Object(r.__)("Customize the width for all elements that are assigned to the center or wide columns.")))},toolBarControls:function(){return null},save:function({selector:e,layout:t={}}){const{contentSize:n,wideSize:r}=t,c=null!==Object(m.a)("spacing.blockGap");let i=n||r?`\n\t\t\t\t\t${p(e,"> *")} {\n\t\t\t\t\t\tmax-width: ${null!=n?n:r};\n\t\t\t\t\t\tmargin-left: auto !important;\n\t\t\t\t\t\tmargin-right: auto !important;\n\t\t\t\t\t}\n\n\t\t\t\t\t${p(e,'> [data-align="wide"]')} {\n\t\t\t\t\t\tmax-width: ${null!=r?r:n};\n\t\t\t\t\t}\n\n\t\t\t\t\t${p(e,'> [data-align="full"]')} {\n\t\t\t\t\t\tmax-width: none;\n\t\t\t\t\t}\n\t\t\t\t`:"";return i+=`\n\t\t\t${p(e,'> [data-align="left"]')} {\n\t\t\t\tfloat: left;\n\t\t\t\tmargin-right: 2em;\n\t\t\t}\n\n\t\t\t${p(e,'> [data-align="right"]')} {\n\t\t\t\tfloat: right;\n\t\t\t\tmargin-left: 2em;\n\t\t\t}\n\n\t\t`,c&&(i+=`\n\t\t\t\t${p(e,"> *")} {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t}\n\t\t\t\t${p(e,"> * + *")} {\n\t\t\t\t\tmargin-top: var( --wp--style--block-gap );\n\t\t\t\t}\n\t\t\t`),Object(o.createElement)("style",null,i)},getOrientation:()=>"vertical",getAlignments(e){const t=function(e){const{contentSize:t,wideSize:n}=e,o={},c=/^(?!0)\d+(px|em|rem|vw|vh|%)?$/i;c.test(t)&&(o.none=Object(r.sprintf)(Object(r.__)("Max %s wide"),t));c.test(n)&&(o.wide=Object(r.sprintf)(Object(r.__)("Max %s wide"),n));return o}(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,c=[{name:"left"},{name:"center"},{name:"right"}];return n&&c.unshift({name:"full"}),o&&c.unshift({name:"wide",info:t.wide}),c.unshift({name:"none",info:t.none}),c}},j];function B(e="default"){return w.find(t=>t.name===e)}function I(){return w}},"PS/H":function(e,t,n){"use strict";n.d(t,"a",(function(){return m})),n.d(t,"b",(function(){return h}));var o=n("GRId"),r=n("TSYQ"),c=n.n(r),i=n("1ZqX"),l=n("tI+e"),a=n("K9lf"),s=n("l3Sj"),u=n("qrxh"),d=n("BhPs"),b=n("PKbb"),p=n("2z9l");const m=Object(o.createContext)();function f({__unstablePopoverSlot:e,__unstableContentRef:t}){const{selectBlock:n}=Object(i.useDispatch)(d.a),r=Object(o.useContext)(m),f=Object(o.useRef)(),{orientation:h,previousClientId:g,nextClientId:O,rootClientId:v,isInserterShown:j}=Object(i.useSelect)(e=>{var t;const{getBlockOrder:n,getBlockListSettings:o,getBlockInsertionPoint:r,isBlockBeingDragged:c,getPreviousBlockClientId:i,getNextBlockClientId:l}=e(d.a),a=r(),s=n(a.rootClientId);if(!s.length)return{};let u=s[a.index-1],b=s[a.index];for(;c(u);)u=i(u);for(;c(b);)b=l(b);return{previousClientId:u,nextClientId:b,orientation:(null===(t=o(a.rootClientId))||void 0===t?void 0:t.orientation)||"vertical",rootClientId:a.rootClientId,isInserterShown:null==a?void 0:a.__unstableWithInserter}},[]),k=Object(b.a)(g),_=Object(b.a)(O),y="vertical"===h,E=Object(o.useMemo)(()=>{if(!k&&!_)return{};const e=k?k.getBoundingClientRect():null,t=_?_.getBoundingClientRect():null;if(y)return{width:k?k.offsetWidth:_.offsetWidth,height:t&&e?t.top-e.bottom:0};let n=0;return e&&t&&(n=Object(s.isRTL)()?e.left-t.right:t.left-e.right),{width:n,height:k?k.offsetHeight:_.offsetHeight}},[k,_]),C=Object(o.useCallback)(()=>{if(!k&&!_)return{};const{ownerDocument:e}=k||_,t=k?k.getBoundingClientRect():null,n=_?_.getBoundingClientRect():null;return y?Object(s.isRTL)()?{top:t?t.bottom:n.top,left:t?t.right:n.right,right:t?t.left:n.left,bottom:n?n.top:t.bottom,ownerDocument:e}:{top:t?t.bottom:n.top,left:t?t.left:n.left,right:t?t.right:n.right,bottom:n?n.top:t.bottom,ownerDocument:e}:Object(s.isRTL)()?{top:t?t.top:n.top,left:t?t.left:n.right,right:n?n.right:t.left,bottom:t?t.bottom:n.bottom,ownerDocument:e}:{top:t?t.top:n.top,left:t?t.right:n.left,right:n?n.left:t.right,bottom:t?t.bottom:n.bottom,ownerDocument:e}},[k,_]),S=Object(p.a)(t),w=Object(a.useReducedMotion)(),B=c()("block-editor-block-list__insertion-point","is-"+h);const I=k&&_&&j,x={start:{...y?{height:0,left:"50%",right:"50%",y:0}:{width:0,top:"50%",bottom:"50%",x:0},opacity:0},rest:{...y?{height:4,left:0,right:0,y:-2}:{width:4,top:0,bottom:0,x:-2},opacity:1,borderRadius:"2px",transition:{delay:I?.4:0}},hover:{...y?{height:4,left:0,right:0,y:-2}:{width:4,top:0,bottom:0,x:-2},opacity:1,borderRadius:"2px",transition:{delay:.4}}},T={start:{scale:w?1:0},rest:{scale:1,transition:{delay:.2}}};return Object(o.createElement)(l.Popover,{ref:S,noArrow:!0,animate:!1,getAnchorRect:C,focusOnMount:!1,className:"block-editor-block-list__insertion-point-popover",__unstableSlotName:e||null,key:O+"--"+v},Object(o.createElement)(l.__unstableMotion.div,{layout:!w,initial:w?"rest":"start",animate:"rest",whileHover:"hover",whileTap:"pressed",exit:"start",ref:f,tabIndex:-1,onClick:function(e){e.target===f.current&&O&&n(O,-1)},onFocus:function(e){e.target!==f.current&&(r.current=!0)},className:c()(B,{"is-with-inserter":I}),style:E},Object(o.createElement)(l.__unstableMotion.div,{variants:x,className:"block-editor-block-list__insertion-point-indicator"}),I&&Object(o.createElement)(l.__unstableMotion.div,{variants:T,className:c()("block-editor-block-list__insertion-point-inserter")},Object(o.createElement)(u.a,{position:"bottom center",clientId:O,rootClientId:v,__experimentalIsQuick:!0,onToggle:e=>{r.current=e},onSelectOrClose:()=>{r.current=!1}}))))}function h({children:e,__unstablePopoverSlot:t,__unstableContentRef:n}){const r=Object(i.useSelect)(e=>e(d.a).isBlockInsertionPointVisible(),[]);return Object(o.createElement)(m.Provider,{value:Object(o.useRef)(!1)},r&&Object(o.createElement)(f,{__unstablePopoverSlot:t,__unstableContentRef:n}),e)}},Q2Xw:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var o=n("TSYQ"),r=n.n(o),c=n("1ZqX"),i=n("HSyU"),l=n("BhPs");function a(e){return Object(c.useSelect)(t=>{const{isBlockBeingDragged:n,isBlockHighlighted:o,isBlockSelected:c,isBlockMultiSelected:a,getBlockName:s,getSettings:u,hasSelectedInnerBlock:d,isTyping:b,__experimentalGetActiveBlockIdByBlockNames:p}=t(l.a),{__experimentalSpotlightEntityBlocks:m,outlineMode:f}=u(),h=n(e),g=c(e),O=s(e),v=d(e,!0),j=p(m);return r()({"is-selected":g,"is-highlighted":o(e),"is-multi-selected":a(e),"is-reusable":Object(i.isReusableBlock)(Object(i.getBlockType)(O)),"is-dragging":h,"has-child-selected":v,"has-active-entity":j,"is-active-entity":j===e,"remove-outline":g&&f&&b()})},[e])}},Q4Sy:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M18 11.2h-5.2V6h-1.6v5.2H6v1.6h5.2V18h1.6v-5.2H18z"}));t.a=c},"QP/w":function(e,t,n){"use strict";var o=n("wx14"),r=n("GRId"),c=n("tI+e"),i=n("v5LD");t.a=function(e){const t=Object(i.a)("typography.fontSizes"),n=!Object(i.a)("typography.customFontSize");return Object(r.createElement)(c.FontSizePicker,Object(o.a)({},e,{fontSizes:t,disableCustomFontSizes:n}))}},REKd:function(e,t,n){"use strict";var o=n("GRId"),r=n("YLtl"),c=n("1ZqX"),i=n("/QNa"),l=n("tI+e"),a=n("VyCT");function s({onClick:e}){return Object(o.createElement)("div",{tabIndex:0,role:"button",onClick:e,onKeyPress:e},Object(o.createElement)(l.Disabled,null,Object(o.createElement)(a.c,null)))}var u=n("K9lf"),d=n("hHnB"),b=n("KyyN"),p=n("BhPs");let m;var f=function({viewportWidth:e,__experimentalPadding:t}){const[n,{width:r}]=Object(u.useResizeObserver)(),[i,{height:s}]=Object(u.useResizeObserver)(),f=Object(c.useSelect)(e=>e(p.a).getSettings().styles,[]);m=m||Object(u.pure)(a.c);const h=r/e;return Object(o.createElement)("div",{className:"block-editor-block-preview__container"},n,Object(o.createElement)(l.Disabled,{className:"block-editor-block-preview__content",style:{transform:`scale(${h})`,height:s*h}},Object(o.createElement)(d.a,{head:Object(o.createElement)(b.a,{styles:f}),contentRef:Object(u.useRefEffect)(e=>{const{ownerDocument:{documentElement:n}}=e;n.style.position="absolute",n.style.width="100%",e.style.padding=t+"px"},[]),"aria-hidden":!0,tabIndex:-1,style:{position:"absolute",width:e,height:s,pointerEvents:"none"}},i,Object(o.createElement)(m,{renderAppender:!1}))))};t.a=Object(o.memo)((function({blocks:e,__experimentalPadding:t=0,viewportWidth:n=1200,__experimentalLive:l=!1,__experimentalOnClick:a}){const u=Object(c.useSelect)(e=>e(p.a).getSettings(),[]),d=Object(o.useMemo)(()=>{const e={...u};return e.__experimentalBlockPatterns=[],e},[u]),b=Object(o.useMemo)(()=>Object(r.castArray)(e),[e]);return e&&0!==e.length?Object(o.createElement)(i.a,{value:b,settings:d},l?Object(o.createElement)(s,{onClick:a}):Object(o.createElement)(f,{viewportWidth:n,__experimentalPadding:t})):null}))},RMJe:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z"}));t.a=c},Rk8H:function(e,t,n){var o=n("jTPX");e.exports=function(e){var t=o(e,"line-height"),n=parseFloat(t,10);if(t===n+""){var r=e.style.lineHeight;e.style.lineHeight=t+"em",t=o(e,"line-height"),n=parseFloat(t,10),r?e.style.lineHeight=r:delete e.style.lineHeight}if(-1!==t.indexOf("pt")?(n*=4,n/=3):-1!==t.indexOf("mm")?(n*=96,n/=25.4):-1!==t.indexOf("cm")?(n*=96,n/=2.54):-1!==t.indexOf("in")?n*=96:-1!==t.indexOf("pc")&&(n*=16),n=Math.round(n),"normal"===t){var c=e.nodeName,i=document.createElement(c);i.innerHTML=" ","TEXTAREA"===c.toUpperCase()&&i.setAttribute("rows","1");var l=o(e,"font-size");i.style.fontSize=l,i.style.padding="0px",i.style.border="0px";var a=document.body;a.appendChild(i),n=i.offsetHeight,a.removeChild(i)}return n}},RxS6:function(e,t){e.exports=window.wp.keycodes},SVSp:function(e,t){e.exports=window.wp.shortcode},TSYQ:function(e,t,n){var o; /*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var e=[],t=0;t1?t-1:0),o=1;o=n.length)break;c=n[r++]}else{if((r=n.next()).done)break;c=r.value}for(var l=c,i=!1,a=0;a=m.startTime+s.duration;else if(s.decay)g=p+v/(1-.998)*(1-Math.exp(-(1-.998)*(t-m.startTime))),(u=Math.abs(m.lastPosition-g)<.1)&&(f=g);else{d=void 0!==m.lastTime?m.lastTime:t,v=void 0!==m.lastVelocity?m.lastVelocity:s.initialVelocity,t>d+64&&(d=t);for(var j=Math.floor(t-d),k=0;kf:g=e);++n);return n-1}(e,c);return function(e,t,n,o,r,c,l,i,a){var s=a?a(e):e;if(sn){if("identity"===i)return s;"clamp"===i&&(s=n)}if(o===r)return o;if(t===n)return e<=t?o:r;t===-1/0?s=-s:n===1/0?s-=t:s=(s-t)/(n-t);s=c(s),o===-1/0?s=-s:r===1/0?s+=o:s=s*(r-o)+o;return s}(e,c[t],c[t+1],r[t],r[t+1],a,l,i,o.map)}}var V=function(e){function t(n,o,r,c){var l;return(l=e.call(this)||this).calc=void 0,l.payload=n instanceof v&&!(n instanceof t)?n.getPayload():Array.isArray(n)?n:[n],l.calc=F(o,r,c),l}a(t,e);var n=t.prototype;return n.getValue=function(){return this.calc.apply(this,this.payload.map((function(e){return e.getValue()})))},n.updateConfig=function(e,t,n){this.calc=F(e,t,n)},n.interpolate=function(e,n,o){return new t(this,e,n,o)},t}(v);var H=function(e){function t(t){var n;return(n=e.call(this)||this).animatedStyles=new Set,n.value=void 0,n.startPosition=void 0,n.lastPosition=void 0,n.lastVelocity=void 0,n.startTime=void 0,n.lastTime=void 0,n.done=!1,n.setValue=function(e,t){void 0===t&&(t=!0),n.value=e,t&&n.flush()},n.value=t,n.startPosition=t,n.lastPosition=t,n}a(t,e);var n=t.prototype;return n.flush=function(){0===this.animatedStyles.size&&function e(t,n){"update"in t?n.add(t):t.getChildren().forEach((function(t){return e(t,n)}))}(this,this.animatedStyles),this.animatedStyles.forEach((function(e){return e.update()}))},n.clearStyles=function(){this.animatedStyles.clear()},n.getValue=function(){return this.value},n.interpolate=function(e,t,n){return new V(this,e,t,n)},t}(O),z=function(e){function t(t){var n;return(n=e.call(this)||this).payload=t.map((function(e){return new H(e)})),n}a(t,e);var n=t.prototype;return n.setValue=function(e,t){var n=this;void 0===t&&(t=!0),Array.isArray(e)?e.length===this.payload.length&&e.forEach((function(e,o){return n.payload[o].setValue(e,t)})):this.payload.forEach((function(n){return n.setValue(e,t)}))},n.getValue=function(){return this.payload.map((function(e){return e.getValue()}))},n.interpolate=function(e,t){return new V(this,e,t)},t}(v),G=0,U=function(){function e(){var e=this;this.id=void 0,this.idle=!0,this.hasChanged=!1,this.guid=0,this.local=0,this.props={},this.merged={},this.animations={},this.interpolations={},this.values={},this.configs=[],this.listeners=[],this.queue=[],this.localQueue=void 0,this.getValues=function(){return e.interpolations},this.id=G++}var t=e.prototype;return t.update=function(e){if(!e)return this;var t=f(e),n=t.delay,o=void 0===n?0:n,l=t.to,i=c(t,["delay","to"]);if(u.arr(l)||u.fun(l))this.queue.push(r({},i,{delay:o,to:l}));else if(l){var a={};Object.entries(l).forEach((function(e){var t,n=e[0],c=e[1],l=r({to:(t={},t[n]=c,t),delay:p(o,n)},i),s=a[l.delay]&&a[l.delay].to;a[l.delay]=r({},a[l.delay],l,{to:r({},s,l.to)})})),this.queue=Object.values(a)}return this.queue=this.queue.sort((function(e,t){return e.delay-t.delay})),this.diff(i),this},t.start=function(e){var t,n=this;if(this.queue.length){this.idle=!1,this.localQueue&&this.localQueue.forEach((function(e){var t=e.from,o=void 0===t?{}:t,c=e.to,l=void 0===c?{}:c;u.obj(o)&&(n.merged=r({},o,n.merged)),u.obj(l)&&(n.merged=r({},n.merged,l))}));var o=this.local=++this.guid,l=this.localQueue=this.queue;this.queue=[],l.forEach((function(t,r){var i=t.delay,a=c(t,["delay"]),s=function(t){r===l.length-1&&o===n.guid&&t&&(n.idle=!0,n.props.onRest&&n.props.onRest(n.merged)),e&&e()},d=u.arr(a.to)||u.fun(a.to);i?setTimeout((function(){o===n.guid&&(d?n.runAsync(a,s):n.diff(a).start(s))}),i):d?n.runAsync(a,s):n.diff(a).start(s)}))}else u.fun(e)&&this.listeners.push(e),this.props.onStart&&this.props.onStart(),t=this,M.has(t)||M.add(t),A||(A=!0,E(T||D));return this},t.stop=function(e){return this.listeners.forEach((function(t){return t(e)})),this.listeners=[],this},t.pause=function(e){var t;return this.stop(!0),e&&(t=this,M.has(t)&&M.delete(t)),this},t.runAsync=function(e,t){var n=this,o=(e.delay,c(e,["delay"])),l=this.local,i=Promise.resolve(void 0);if(u.arr(o.to))for(var a=function(e){var t=e,c=r({},o,f(o.to[t]));u.arr(c.config)&&(c.config=c.config[t]),i=i.then((function(){if(l===n.guid)return new Promise((function(e){return n.diff(c).start(e)}))}))},s=0;s=o.length)return"break";l=o[c++]}else{if((c=o.next()).done)return"break";l=c.value}var n=l.key,i=function(e){return e.key!==n};(u.und(t)||t===n)&&(e.current.instances.delete(n),e.current.transitions=e.current.transitions.filter(i),e.current.deleted=e.current.deleted.filter(i))},o=e.current.deleted,r=Array.isArray(o),c=0;for(o=r?o:o[Symbol.iterator]();;){var l;if("break"===n())break}e.current.forceUpdate()}var X=function(e){function t(t){var n;return void 0===t&&(t={}),n=e.call(this)||this,!t.transform||t.transform instanceof O||(t=g.transform(t)),n.payload=t,n}return a(t,e),t}(j),Q={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},Z="[-+]?\\d*\\.?\\d+";function J(){for(var e=arguments.length,t=new Array(e),n=0;n1&&(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 se(e,t,n){var o=n<.5?n*(1+t):n+t-n*t,r=2*n-o,c=ae(r,o,e+1/3),l=ae(r,o,e),i=ae(r,o,e-1/3);return Math.round(255*c)<<24|Math.round(255*l)<<16|Math.round(255*i)<<8}function ue(e){var t=parseInt(e,10);return t<0?0:t>255?255:t}function de(e){return(parseFloat(e)%360+360)%360/360}function be(e){var t=parseFloat(e);return t<0?0:t>1?255:Math.round(255*t)}function me(e){var t=parseFloat(e);return t<0?0:t>100?1:t/100}function pe(e){var t,n,o="number"==typeof(t=e)?t>>>0===t&&t>=0&&t<=4294967295?t:null:(n=le.exec(t))?parseInt(n[1]+"ff",16)>>>0:Q.hasOwnProperty(t)?Q[t]:(n=ee.exec(t))?(ue(n[1])<<24|ue(n[2])<<16|ue(n[3])<<8|255)>>>0:(n=te.exec(t))?(ue(n[1])<<24|ue(n[2])<<16|ue(n[3])<<8|be(n[4]))>>>0:(n=re.exec(t))?parseInt(n[1]+n[1]+n[2]+n[2]+n[3]+n[3]+"ff",16)>>>0:(n=ie.exec(t))?parseInt(n[1],16)>>>0:(n=ce.exec(t))?parseInt(n[1]+n[1]+n[2]+n[2]+n[3]+n[3]+n[4]+n[4],16)>>>0:(n=ne.exec(t))?(255|se(de(n[1]),me(n[2]),me(n[3])))>>>0:(n=oe.exec(t))?(se(de(n[1]),me(n[2]),me(n[3]))|be(n[4]))>>>0:null;return null===o?e:"rgba("+((4278190080&(o=o||0))>>>24)+", "+((16711680&o)>>>16)+", "+((65280&o)>>>8)+", "+(255&o)/255+")"}var fe=/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,ge=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,he=new RegExp("("+Object.keys(Q).join("|")+")","g"),Oe={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},ve=["Webkit","Ms","Moz","O"];function je(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||Oe.hasOwnProperty(e)&&Oe[e]?(""+t).trim():t+"px"}Oe=Object.keys(Oe).reduce((function(e,t){return ve.forEach((function(n){return e[function(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}(n,t)]=e[t]})),e}),Oe);var ke={};P((function(e){return new X(e)})),I("div"),S((function(e){var t=e.output.map((function(e){return e.replace(ge,pe)})).map((function(e){return e.replace(he,pe)})),n=t[0].match(fe).map((function(){return[]}));t.forEach((function(e){e.match(fe).forEach((function(e,t){return n[t].push(+e)}))}));var o=t[0].match(fe).map((function(t,o){return F(r({},e,{output:n[o]}))}));return function(e){var n=0;return t[0].replace(fe,(function(){return o[n++](e)})).replace(/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi,(function(e,t,n,o,r){return"rgba("+Math.round(t)+", "+Math.round(n)+", "+Math.round(o)+", "+r+")"}))}})),_(Q),k((function(e,t){if(!e.nodeType||void 0===e.setAttribute)return!1;var n=t.style,o=t.children,r=t.scrollTop,l=t.scrollLeft,i=c(t,["style","children","scrollTop","scrollLeft"]),a="filter"===e.nodeName||e.parentNode&&"filter"===e.parentNode.nodeName;for(var s in void 0!==r&&(e.scrollTop=r),void 0!==l&&(e.scrollLeft=l),void 0!==o&&(e.textContent=o),n)if(n.hasOwnProperty(s)){var u=0===s.indexOf("--"),d=je(s,n[s],u);"float"===s&&(s="cssFloat"),u?e.style.setProperty(s,d):e.style[s]=d}for(var b in i){var m=a?b:ke[b]||(ke[b]=b.replace(/([A-Z])/g,(function(e){return"-"+e.toLowerCase()})));void 0!==e.getAttribute(m)&&e.setAttribute(m,i[b])}}),(function(e){return e}));var _e,ye,Ee=(_e=function(e){return l.forwardRef((function(t,n){var o=d(),a=l.useRef(!0),s=l.useRef(null),b=l.useRef(null),m=l.useCallback((function(e){var t=s.current;s.current=new R(e,(function(){var e=!1;b.current&&(e=g.fn(b.current,s.current.getAnimatedValue())),b.current&&!1!==e||o()})),t&&t.detach()}),[]);l.useEffect((function(){return function(){a.current=!1,s.current&&s.current.detach()}}),[]),l.useImperativeHandle(n,(function(){return N(b,a,o)})),m(t);var p,f=s.current.getValue(),h=(f.scrollTop,f.scrollLeft,c(f,["scrollTop","scrollLeft"])),O=(p=e,!u.fun(p)||p.prototype instanceof i.Component?function(e){return b.current=function(e,t){return t&&(u.fun(t)?t(e):u.obj(t)&&(t.current=e)),e}(e,n)}:void 0);return i.createElement(e,r({},h,{ref:O}))}))},void 0===(ye=!1)&&(ye=!0),function(e){return(u.arr(e)?e:Object.keys(e)).reduce((function(e,t){var n=ye?t[0].toLowerCase()+t.substring(1):t;return e[n]=_e(n),e}),_e)}),Ce=Ee(["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"]);t.apply=Ee,t.config={default:{tension:170,friction:26},gentle:{tension:120,friction:14},wobbly:{tension:180,friction:12},stiff:{tension:210,friction:20},slow:{tension:280,friction:60},molasses:{tension:280,friction:120}},t.update=D,t.animated=Ce,t.a=Ce,t.interpolate=function(e,t,n){return e&&new V(e,t,n)},t.Globals=L,t.useSpring=function(e){var t=u.fun(e),n=W(1,t?e:[e]),o=n[0],r=n[1],c=n[2];return t?[o[0],r,c]:o},t.useTrail=function(e,t){var n=l.useRef(!1),o=u.fun(t),c=p(t),i=l.useRef(),a=W(e,(function(e,t){return 0===e&&(i.current=[]),i.current.push(t),r({},c,{config:p(c.config,e),attach:e>0&&function(){return i.current[e-1]}})})),s=a[0],d=a[1],b=a[2],m=l.useMemo((function(){return function(e){return d((function(t,n){e.reverse;var o=e.reverse?t+1:t-1,l=i.current[o];return r({},e,{config:p(e.config||c.config,t),attach:l&&function(){return l}})}))}}),[e,c.reverse]);return l.useEffect((function(){n.current&&!o&&m(t)})),l.useEffect((function(){n.current=!0}),[]),o?[s,m,b]:s},t.useTransition=function(e,t,n){var o=r({items:e,keys:t||function(e){return e}},n),i=$(o),a=i.lazy,s=void 0!==a&&a,u=(i.unique,i.reset),b=void 0!==u&&u,m=(i.enter,i.leave,i.update,i.onDestroyed),f=(i.keys,i.items,i.onFrame),g=i.onRest,h=i.onStart,O=i.ref,v=c(i,["lazy","unique","reset","enter","leave","update","onDestroyed","keys","items","onFrame","onRest","onStart","ref"]),j=d(),k=l.useRef(!1),_=l.useRef({mounted:!1,first:!0,deleted:[],current:{},transitions:[],prevProps:{},paused:!!o.ref,instances:!k.current&&new Map,forceUpdate:j});return l.useImperativeHandle(o.ref,(function(){return{start:function(){return Promise.all(Array.from(_.current.instances).map((function(e){var t=e[1];return new Promise((function(e){return t.start(e)}))})))},stop:function(e){return Array.from(_.current.instances).forEach((function(t){return t[1].stop(e)}))},get controllers(){return Array.from(_.current.instances).map((function(e){return e[1]}))}}})),_.current=function(e,t){var n=e.first,o=e.prevProps,l=c(e,["first","prevProps"]),i=$(t),a=i.items,s=i.keys,u=i.initial,d=i.from,b=i.enter,m=i.leave,f=i.update,g=i.trail,h=void 0===g?0:g,O=i.unique,v=i.config,j=i.order,k=void 0===j?["enter","leave","update"]:j,_=$(o),y=_.keys,E=_.items,C=r({},l.current),S=[].concat(l.deleted),w=Object.keys(C),B=new Set(w),I=new Set(s),x=s.filter((function(e){return!B.has(e)})),T=l.transitions.filter((function(e){return!e.destroyed&&!I.has(e.originalKey)})).map((function(e){return e.originalKey})),N=s.filter((function(e){return B.has(e)})),P=-h;for(;k.length;){switch(k.shift()){case"enter":x.forEach((function(e,t){O&&S.find((function(t){return t.originalKey===e}))&&(S=S.filter((function(t){return t.originalKey!==e})));var o=s.indexOf(e),r=a[o],c=n&&void 0!==u?"initial":"enter";C[e]={slot:c,originalKey:e,key:O?String(e):K++,item:r,trail:P+=h,config:p(v,r,c),from:p(n&&void 0!==u?u||{}:d,r),to:p(b,r)}}));break;case"leave":T.forEach((function(e){var t=y.indexOf(e),n=E[t];S.unshift(r({},C[e],{slot:"leave",destroyed:!0,left:y[Math.max(0,t-1)],right:y[Math.min(y.length,t+1)],trail:P+=h,config:p(v,n,"leave"),to:p(m,n)})),delete C[e]}));break;case"update":N.forEach((function(e){var t=s.indexOf(e),n=a[t];C[e]=r({},C[e],{item:n,slot:"update",trail:P+=h,config:p(v,n,"update"),to:p(f,n)})}))}}var L=s.map((function(e){return C[e]}));return S.forEach((function(e){var t,n=e.left,o=(e.right,c(e,["left","right"]));-1!==(t=L.findIndex((function(e){return e.originalKey===n})))&&(t+=1),t=Math.max(0,t),L=[].concat(L.slice(0,t),[o],L.slice(t))})),r({},l,{changed:x.length||T.length||N.length,first:n&&0===x.length,transitions:L,current:C,deleted:S,prevProps:t})}(_.current,o),_.current.changed&&_.current.transitions.forEach((function(e){var t=e.slot,n=e.from,o=e.to,c=e.config,l=e.trail,i=e.key,a=e.item;_.current.instances.has(i)||_.current.instances.set(i,new U);var u=_.current.instances.get(i),d=r({},v,{to:o,from:n,config:c,ref:O,onRest:function(n){_.current.mounted&&(e.destroyed&&(O||s||Y(_,i),m&&m(a)),!Array.from(_.current.instances).some((function(e){return!e[1].idle}))&&(O||s)&&_.current.deleted.length>0&&Y(_),g&&g(a,t,n))},onStart:h&&function(){return h(a,t)},onFrame:f&&function(e){return f(a,t,e)},delay:l,reset:b&&"enter"===t});u.update(d),_.current.paused||u.start()})),l.useEffect((function(){return _.current.mounted=k.current=!0,function(){_.current.mounted=k.current=!1,Array.from(_.current.instances).map((function(e){return e[1].destroy()})),_.current.instances.clear()}}),[]),_.current.transitions.map((function(e){var t=e.item,n=e.slot,o=e.key;return{item:t,key:o,state:n,props:_.current.instances.get(o).getValues()}}))},t.useChain=function(e,t,n){void 0===n&&(n=1e3);var o=l.useRef();l.useEffect((function(){u.equ(e,o.current)?e.forEach((function(e){var t=e.current;return t&&t.start()})):t?e.forEach((function(e,o){var c=e.current;if(c){var l=c.controllers;if(l.length){var i=n*t[o];l.forEach((function(e){e.queue=e.queue.map((function(e){return r({},e,{delay:e.delay+i})})),e.start()}))}}})):e.reduce((function(e,t,n){var o=t.current;return e.then((function(){return o.start()}))}),Promise.resolve()),o.current=e}))},t.useSprings=W},Zss7:function(e,t,n){var o;!function(r){var c=/^\s+/,l=/\s+$/,i=0,a=r.round,s=r.min,u=r.max,d=r.random;function b(e,t){if(t=t||{},(e=e||"")instanceof b)return e;if(!(this instanceof b))return new b(e,t);var n=function(e){var t={r:0,g:0,b:0},n=1,o=null,i=null,a=null,d=!1,b=!1;"string"==typeof e&&(e=function(e){e=e.replace(c,"").replace(l,"").toLowerCase();var t,n=!1;if(x[e])e=x[e],n=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};if(t=G.rgb.exec(e))return{r:t[1],g:t[2],b:t[3]};if(t=G.rgba.exec(e))return{r:t[1],g:t[2],b:t[3],a:t[4]};if(t=G.hsl.exec(e))return{h:t[1],s:t[2],l:t[3]};if(t=G.hsla.exec(e))return{h:t[1],s:t[2],l:t[3],a:t[4]};if(t=G.hsv.exec(e))return{h:t[1],s:t[2],v:t[3]};if(t=G.hsva.exec(e))return{h:t[1],s:t[2],v:t[3],a:t[4]};if(t=G.hex8.exec(e))return{r:R(t[1]),g:R(t[2]),b:R(t[3]),a:F(t[4]),format:n?"name":"hex8"};if(t=G.hex6.exec(e))return{r:R(t[1]),g:R(t[2]),b:R(t[3]),format:n?"name":"hex"};if(t=G.hex4.exec(e))return{r:R(t[1]+""+t[1]),g:R(t[2]+""+t[2]),b:R(t[3]+""+t[3]),a:F(t[4]+""+t[4]),format:n?"name":"hex8"};if(t=G.hex3.exec(e))return{r:R(t[1]+""+t[1]),g:R(t[2]+""+t[2]),b:R(t[3]+""+t[3]),format:n?"name":"hex"};return!1}(e));"object"==typeof e&&(U(e.r)&&U(e.g)&&U(e.b)?(m=e.r,p=e.g,f=e.b,t={r:255*P(m,255),g:255*P(p,255),b:255*P(f,255)},d=!0,b="%"===String(e.r).substr(-1)?"prgb":"rgb"):U(e.h)&&U(e.s)&&U(e.v)?(o=M(e.s),i=M(e.v),t=function(e,t,n){e=6*P(e,360),t=P(t,100),n=P(n,100);var o=r.floor(e),c=e-o,l=n*(1-t),i=n*(1-c*t),a=n*(1-(1-c)*t),s=o%6;return{r:255*[n,i,l,l,a,n][s],g:255*[a,n,n,i,l,l][s],b:255*[l,l,a,n,n,i][s]}}(e.h,o,i),d=!0,b="hsv"):U(e.h)&&U(e.s)&&U(e.l)&&(o=M(e.s),a=M(e.l),t=function(e,t,n){var o,r,c;function l(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}if(e=P(e,360),t=P(t,100),n=P(n,100),0===t)o=r=c=n;else{var i=n<.5?n*(1+t):n+t-n*t,a=2*n-i;o=l(a,i,e+1/3),r=l(a,i,e),c=l(a,i,e-1/3)}return{r:255*o,g:255*r,b:255*c}}(e.h,o,a),d=!0,b="hsl"),e.hasOwnProperty("a")&&(n=e.a));var m,p,f;return n=N(n),{ok:d,format:e.format||b,r:s(255,u(t.r,0)),g:s(255,u(t.g,0)),b:s(255,u(t.b,0)),a:n}}(e);this._originalInput=e,this._r=n.r,this._g=n.g,this._b=n.b,this._a=n.a,this._roundA=a(100*this._a)/100,this._format=t.format||n.format,this._gradientType=t.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=n.ok,this._tc_id=i++}function m(e,t,n){e=P(e,255),t=P(t,255),n=P(n,255);var o,r,c=u(e,t,n),l=s(e,t,n),i=(c+l)/2;if(c==l)o=r=0;else{var a=c-l;switch(r=i>.5?a/(2-c-l):a/(c+l),c){case e:o=(t-n)/a+(t>1)+720)%360;--t;)o.h=(o.h+r)%360,c.push(b(o));return c}function I(e,t){t=t||6;for(var n=b(e).toHsv(),o=n.h,r=n.s,c=n.v,l=[],i=1/t;t--;)l.push(b({h:o,s:r,v:c})),c=(c+i)%1;return l}b.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,t,n,o=this.toRgb();return e=o.r/255,t=o.g/255,n=o.b/255,.2126*(e<=.03928?e/12.92:r.pow((e+.055)/1.055,2.4))+.7152*(t<=.03928?t/12.92:r.pow((t+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:r.pow((n+.055)/1.055,2.4))},setAlpha:function(e){return this._a=N(e),this._roundA=a(100*this._a)/100,this},toHsv:function(){var e=p(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=p(this._r,this._g,this._b),t=a(360*e.h),n=a(100*e.s),o=a(100*e.v);return 1==this._a?"hsv("+t+", "+n+"%, "+o+"%)":"hsva("+t+", "+n+"%, "+o+"%, "+this._roundA+")"},toHsl:function(){var e=m(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=m(this._r,this._g,this._b),t=a(360*e.h),n=a(100*e.s),o=a(100*e.l);return 1==this._a?"hsl("+t+", "+n+"%, "+o+"%)":"hsla("+t+", "+n+"%, "+o+"%, "+this._roundA+")"},toHex:function(e){return f(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return function(e,t,n,o,r){var c=[A(a(e).toString(16)),A(a(t).toString(16)),A(a(n).toString(16)),A(D(o))];if(r&&c[0].charAt(0)==c[0].charAt(1)&&c[1].charAt(0)==c[1].charAt(1)&&c[2].charAt(0)==c[2].charAt(1)&&c[3].charAt(0)==c[3].charAt(1))return c[0].charAt(0)+c[1].charAt(0)+c[2].charAt(0)+c[3].charAt(0);return c.join("")}(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+a(this._r)+", "+a(this._g)+", "+a(this._b)+")":"rgba("+a(this._r)+", "+a(this._g)+", "+a(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:a(100*P(this._r,255))+"%",g:a(100*P(this._g,255))+"%",b:a(100*P(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+a(100*P(this._r,255))+"%, "+a(100*P(this._g,255))+"%, "+a(100*P(this._b,255))+"%)":"rgba("+a(100*P(this._r,255))+"%, "+a(100*P(this._g,255))+"%, "+a(100*P(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(T[f(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t="#"+g(this._r,this._g,this._b,this._a),n=t,o=this._gradientType?"GradientType = 1, ":"";if(e){var r=b(e);n="#"+g(r._r,r._g,r._b,r._a)}return"progid:DXImageTransform.Microsoft.gradient("+o+"startColorstr="+t+",endColorstr="+n+")"},toString:function(e){var t=!!e;e=e||this._format;var n=!1,o=this._a<1&&this._a>=0;return t||!o||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(n=this.toRgbString()),"prgb"===e&&(n=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(n=this.toHexString()),"hex3"===e&&(n=this.toHexString(!0)),"hex4"===e&&(n=this.toHex8String(!0)),"hex8"===e&&(n=this.toHex8String()),"name"===e&&(n=this.toName()),"hsl"===e&&(n=this.toHslString()),"hsv"===e&&(n=this.toHsvString()),n||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return b(this.toString())},_applyModification:function(e,t){var n=e.apply(null,[this].concat([].slice.call(t)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(j,arguments)},brighten:function(){return this._applyModification(k,arguments)},darken:function(){return this._applyModification(_,arguments)},desaturate:function(){return this._applyModification(h,arguments)},saturate:function(){return this._applyModification(O,arguments)},greyscale:function(){return this._applyModification(v,arguments)},spin:function(){return this._applyModification(y,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(B,arguments)},complement:function(){return this._applyCombination(E,arguments)},monochromatic:function(){return this._applyCombination(I,arguments)},splitcomplement:function(){return this._applyCombination(w,arguments)},triad:function(){return this._applyCombination(C,arguments)},tetrad:function(){return this._applyCombination(S,arguments)}},b.fromRatio=function(e,t){if("object"==typeof e){var n={};for(var o in e)e.hasOwnProperty(o)&&(n[o]="a"===o?e[o]:M(e[o]));e=n}return b(e,t)},b.equals=function(e,t){return!(!e||!t)&&b(e).toRgbString()==b(t).toRgbString()},b.random=function(){return b.fromRatio({r:d(),g:d(),b:d()})},b.mix=function(e,t,n){n=0===n?0:n||50;var o=b(e).toRgb(),r=b(t).toRgb(),c=n/100;return b({r:(r.r-o.r)*c+o.r,g:(r.g-o.g)*c+o.g,b:(r.b-o.b)*c+o.b,a:(r.a-o.a)*c+o.a})},b.readability=function(e,t){var n=b(e),o=b(t);return(r.max(n.getLuminance(),o.getLuminance())+.05)/(r.min(n.getLuminance(),o.getLuminance())+.05)},b.isReadable=function(e,t,n){var o,r,c=b.readability(e,t);switch(r=!1,(o=function(e){var t,n;t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),n=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA");"small"!==n&&"large"!==n&&(n="small");return{level:t,size:n}}(n)).level+o.size){case"AAsmall":case"AAAlarge":r=c>=4.5;break;case"AAlarge":r=c>=3;break;case"AAAsmall":r=c>=7}return r},b.mostReadable=function(e,t,n){var o,r,c,l,i=null,a=0;r=(n=n||{}).includeFallbackColors,c=n.level,l=n.size;for(var s=0;sa&&(a=o,i=b(t[s]));return b.isReadable(e,i,{level:c,size:l})||!r?i:(n.includeFallbackColors=!1,b.mostReadable(e,["#fff","#000"],n))};var x=b.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},T=b.hexNames=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);return t}(x);function N(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function P(e,t){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var n=function(e){return"string"==typeof e&&-1!=e.indexOf("%")}(e);return e=s(t,u(0,parseFloat(e))),n&&(e=parseInt(e*t,10)/100),r.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function L(e){return s(1,u(0,e))}function R(e){return parseInt(e,16)}function A(e){return 1==e.length?"0"+e:""+e}function M(e){return e<=1&&(e=100*e+"%"),e}function D(e){return r.round(255*parseFloat(e)).toString(16)}function F(e){return R(e)/255}var V,H,z,G=(H="[\\s|\\(]+("+(V="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+V+")[,|\\s]+("+V+")\\s*\\)?",z="[\\s|\\(]+("+V+")[,|\\s]+("+V+")[,|\\s]+("+V+")[,|\\s]+("+V+")\\s*\\)?",{CSS_UNIT:new RegExp(V),rgb:new RegExp("rgb"+H),rgba:new RegExp("rgba"+z),hsl:new RegExp("hsl"+H),hsla:new RegExp("hsla"+z),hsv:new RegExp("hsv"+H),hsva:new RegExp("hsva"+z),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function U(e){return!!G.CSS_UNIT.exec(e)}e.exports?e.exports=b:void 0===(o=function(){return b}.call(t,n,t,e))||(e.exports=o)}(Math)},b2RC:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7.8 16.5H5c-.3 0-.5-.2-.5-.5v-6.2h6.8v6.7zm0-8.3H4.5V5c0-.3.2-.5.5-.5h6.2v6.7zm8.3 7.8c0 .3-.2.5-.5.5h-6.2v-6.8h6.8V19zm0-7.8h-6.8V4.5H19c.3 0 .5.2.5.5v6.2z",fillRule:"evenodd",clipRule:"evenodd"}));t.a=c},bWcr:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.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"}));t.a=c},btIw:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"-2 -2 24 24"},Object(o.createElement)(r.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"}));t.a=c},cDcd:function(e,t){e.exports=window.React},cGtP:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M13.5 6C10.5 6 8 8.5 8 11.5c0 1.1.3 2.1.9 3l-3.4 3 1 1.1 3.4-2.9c1 .9 2.2 1.4 3.6 1.4 3 0 5.5-2.5 5.5-5.5C19 8.5 16.5 6 13.5 6zm0 9.5c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"}));t.a=c},cjQ8:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M20 10.8H6.7l4.1-4.5-1.1-1.1-5.8 6.3 5.8 5.8 1.1-1.1-4-3.9H20z"}));t.a=c},eGrx:function(e,t){var n=e.exports=function(e){return new o(e)};function o(e){this.value=e}function r(e,t,n){var o=[],r=[],i=!0;return function e(d){var b=n?c(d):d,m={},p=!0,f={node:b,node_:d,path:[].concat(o),parent:r[r.length-1],parents:r,key:o.slice(-1)[0],isRoot:0===o.length,level:o.length,circular:null,update:function(e,t){f.isRoot||(f.parent.node[f.key]=e),f.node=e,t&&(p=!1)},delete:function(e){delete f.parent.node[f.key],e&&(p=!1)},remove:function(e){a(f.parent.node)?f.parent.node.splice(f.key,1):delete f.parent.node[f.key],e&&(p=!1)},keys:null,before:function(e){m.before=e},after:function(e){m.after=e},pre:function(e){m.pre=e},post:function(e){m.post=e},stop:function(){i=!1},block:function(){p=!1}};if(!i)return f;function g(){if("object"==typeof f.node&&null!==f.node){f.keys&&f.node_===f.node||(f.keys=l(f.node)),f.isLeaf=0==f.keys.length;for(var e=0;ee.length?n:e})),s.value=e.join(d)}else s.value=e.join(n.slice(i,i+s.count));i+=s.count,s.added||(a+=s.count)}}var b=t[l-1];return l>1&&"string"==typeof b.value&&(b.added||b.removed)&&e.equals("",b.value)&&(t[l-2].value+=b.value,t.pop()),t}function c(e){return{newPos:e.newPos,components:e.components.slice(0)}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o,o.prototype={diff:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.callback;"function"==typeof n&&(o=n,n={}),this.options=n;var l=this;function i(e){return o?(setTimeout((function(){o(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,u=1,d=a+s,b=[{newPos:-1,components:[]}],m=this.extractCommon(b[0],t,e,0);if(b[0].newPos+1>=a&&m+1>=s)return i([{value:this.join(t),count:t.length}]);function p(){for(var n=-1*u;n<=u;n+=2){var o=void 0,d=b[n-1],m=b[n+1],p=(m?m.newPos:0)-n;d&&(b[n-1]=void 0);var f=d&&d.newPos+1=a&&p+1>=s)return i(r(l,o.components,t,e,l.useLongestToken));b[n]=o}else b[n]=void 0}u++}if(o)!function e(){setTimeout((function(){if(u>d)return o();p()||e()}),0)}();else for(;u<=d;){var f=p();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,c=n.length,l=e.newPos,i=l-o,a=0;l+1{const{clientId:o,innerBlocks:r}=e;n[t].push(o),Object.assign(n,E(r,o))}),n}function C(e,t=""){return e.reduce((e,n)=>Object.assign(e,{[n.clientId]:t},C(n.innerBlocks,n.clientId)),{})}function S(e,t=u.identity){const n={},o=[...e];for(;o.length;){const{innerBlocks:e,...r}=o.shift();o.push(...e),n[r.clientId]=t(r)}return n}function w(e){return S(e,e=>Object(u.omit)(e,"attributes"))}function B(e){return S(e,e=>e.attributes)}function I(e,t){return"UPDATE_BLOCK_ATTRIBUTES"===e.type&&void 0!==t&&"UPDATE_BLOCK_ATTRIBUTES"===t.type&&Object(u.isEqual)(e.clientIds,t.clientIds)&&(n=e.attributes,o=t.attributes,Object(u.isEqual)(Object(u.keys)(n),Object(u.keys)(o)));var n,o}const x=e=>e.reduce((e,t)=>(e[t]={},e),{});const T=Object(u.flow)(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=Object(u.mapValues)(t.attributes,(n,r)=>{const{name:c}=t.byClientId[r];return"core/block"===c&&n.ref===e?{...n,ref:o}:n})}return e(t,n)},e=>(t={},n)=>{const o=e(t,n);if(o===t)return t;o.cache=t.cache?t.cache:{};const r=e=>e.reduce((e,n)=>{let o=n;do{e.push(o),o=t.parents[o]}while(o&&!t.controlledInnerBlocks[o]);return e},[]);switch(n.type){case"RESET_BLOCKS":o.cache=Object(u.mapValues)(S(n.blocks),()=>({}));break;case"RECEIVE_BLOCKS":case"INSERT_BLOCKS":{const e=Object(u.keys)(S(n.blocks));n.rootClientId&&!t.controlledInnerBlocks[n.rootClientId]&&e.push(n.rootClientId),o.cache={...o.cache,...x(r(e))};break}case"UPDATE_BLOCK":o.cache={...o.cache,...x(r([n.clientId]))};break;case"UPDATE_BLOCK_ATTRIBUTES":o.cache={...o.cache,...x(r(n.clientIds))};break;case"REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN":const e=x(r(n.replacedClientIds));o.cache={...Object(u.omit)(o.cache,n.replacedClientIds),...Object(u.omit)(e,n.replacedClientIds),...x(Object(u.keys)(S(n.blocks)))};break;case"REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN":o.cache={...Object(u.omit)(o.cache,n.removedClientIds),...x(Object(u.difference)(r(n.clientIds),n.clientIds))};break;case"MOVE_BLOCKS_TO_POSITION":{const e=[...n.clientIds];n.fromRootClientId&&e.push(n.fromRootClientId),n.toRootClientId&&e.push(n.toRootClientId),o.cache={...o.cache,...x(r(e))};break}case"MOVE_BLOCKS_UP":case"MOVE_BLOCKS_DOWN":{const e=[];n.rootClientId&&e.push(n.rootClientId),o.cache={...o.cache,...x(r(e))};break}case"SAVE_REUSABLE_BLOCK_SUCCESS":{const e=Object(u.keys)(Object(u.omitBy)(o.attributes,(e,t)=>"core/block"!==o.byClientId[t].name||e.ref!==n.updatedId));o.cache={...o.cache,...x(r(e))}}}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[n.rootClientId]&&(r=e(r,{type:"REMOVE_BLOCKS",keepControlledInnerBlocks:o,clientIds:t.order[n.rootClientId]}));let c=r;return n.blocks.length&&(c=e(c,{...n,type:"INSERT_BLOCKS",index:0}),c.order={...c.order,...Object(u.reduce)(o,(e,n,o)=>(t.order[o]&&(e[o]=t.order[o]),e),{})}),c},e=>(t,n)=>{if(t&&"RESET_BLOCKS"===n.type){const e=function e(t,n="",o={}){return Object(u.reduce)(t[n],(n,r)=>o[r]?n:[...n,r,...e(t,r)],[])}(t.order,"",t.controlledInnerBlocks),o=Object.keys(Object(u.pickBy)(t.controlledInnerBlocks));return{...t,byClientId:{...Object(u.omit)(t.byClientId,e),...w(n.blocks)},attributes:{...Object(u.omit)(t.attributes,e),...B(n.blocks)},order:{...Object(u.omit)(t.order,e),...Object(u.omit)(E(n.blocks),o)},parents:{...Object(u.omit)(t.parents,e),...C(n.blocks)},cache:{...Object(u.omit)(t.cache,e),...Object(u.omit)(Object(u.mapValues)(S(n.blocks),()=>({})),o)}}}return e(t,n)},(function(e){let t,n=!1;return(o,r)=>{let c=e(o,r);const l="MARK_LAST_CHANGE_AS_PERSISTENT"===r.type||n;if(o===c&&!l){var i;n="MARK_NEXT_CHANGE_AS_NOT_PERSISTENT"===r.type;const e=null===(i=null==o?void 0:o.isPersistentChange)||void 0===i||i;return o.isPersistentChange===e?o:{...c,isPersistentChange:e}}return c={...c,isPersistentChange:l?!n:!I(r,t)},t=r,n="MARK_NEXT_CHANGE_AS_NOT_PERSISTENT"===r.type,c}}),(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}}))({byClientId(e={},t){switch(t.type){case"RESET_BLOCKS":return w(t.blocks);case"RECEIVE_BLOCKS":case"INSERT_BLOCKS":return{...e,...w(t.blocks)};case"UPDATE_BLOCK":if(!e[t.clientId])return e;const n=Object(u.omit)(t.updates,"attributes");return Object(u.isEmpty)(n)?e:{...e,[t.clientId]:{...e[t.clientId],...n}};case"REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN":return t.blocks?{...Object(u.omit)(e,t.replacedClientIds),...w(t.blocks)}:e;case"REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN":return Object(u.omit)(e,t.removedClientIds)}return e},attributes(e={},t){switch(t.type){case"RESET_BLOCKS":return B(t.blocks);case"RECEIVE_BLOCKS":case"INSERT_BLOCKS":return{...e,...B(t.blocks)};case"UPDATE_BLOCK":return e[t.clientId]&&t.updates.attributes?{...e,[t.clientId]:{...e[t.clientId],...t.updates.attributes}}:e;case"UPDATE_BLOCK_ATTRIBUTES":{if(t.clientIds.every(t=>!e[t]))return e;const n=t.clientIds.reduce((n,o)=>({...n,[o]:Object(u.reduce)(t.uniqueByBlock?t.attributes[o]:t.attributes,(t,n,r)=>{var c,l;return n!==t[r]&&((t=(c=e[o])===(l=t)?{...c}:l)[r]=n),t},e[o])}),{});return t.clientIds.every(t=>n[t]===e[t])?e:{...e,...n}}case"REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN":return t.blocks?{...Object(u.omit)(e,t.replacedClientIds),...B(t.blocks)}:e;case"REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN":return Object(u.omit)(e,t.removedClientIds)}return e},order(e={},t){switch(t.type){case"RESET_BLOCKS":return E(t.blocks);case"RECEIVE_BLOCKS":return{...e,...Object(u.omit)(E(t.blocks),"")};case"INSERT_BLOCKS":{const{rootClientId:n=""}=t,o=e[n]||[],r=E(t.blocks,n),{index:c=o.length}=t;return{...e,...r,[n]:_(o,r[n],c)}}case"MOVE_BLOCKS_TO_POSITION":{const{fromRootClientId:n="",toRootClientId:o="",clientIds:r}=t,{index:c=e[o].length}=t;if(n===o){const t=e[o].indexOf(r[0]);return{...e,[o]:y(e[o],t,c,r.length)}}return{...e,[n]:Object(u.without)(e[n],...r),[o]:_(e[o],r,c)}}case"MOVE_BLOCKS_UP":{const{clientIds:n,rootClientId:o=""}=t,r=Object(u.first)(n),c=e[o];if(!c.length||r===Object(u.first)(c))return e;const l=c.indexOf(r);return{...e,[o]:y(c,l,l-1,n.length)}}case"MOVE_BLOCKS_DOWN":{const{clientIds:n,rootClientId:o=""}=t,r=Object(u.first)(n),c=Object(u.last)(n),l=e[o];if(!l.length||c===Object(u.last)(l))return e;const i=l.indexOf(r);return{...e,[o]:y(l,i,i+1,n.length)}}case"REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN":{const{clientIds:n}=t;if(!t.blocks)return e;const o=E(t.blocks);return Object(u.flow)([e=>Object(u.omit)(e,t.replacedClientIds),e=>({...e,...Object(u.omit)(o,"")}),e=>Object(u.mapValues)(e,e=>Object(u.reduce)(e,(e,t)=>t===n[0]?[...e,...o[""]]:(-1===n.indexOf(t)&&e.push(t),e),[]))])(e)}case"REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN":return Object(u.flow)([e=>Object(u.omit)(e,t.removedClientIds),e=>Object(u.mapValues)(e,e=>Object(u.without)(e,...t.removedClientIds))])(e)}return e},parents(e={},t){switch(t.type){case"RESET_BLOCKS":return C(t.blocks);case"RECEIVE_BLOCKS":return{...e,...C(t.blocks)};case"INSERT_BLOCKS":return{...e,...C(t.blocks,t.rootClientId||"")};case"MOVE_BLOCKS_TO_POSITION":return{...e,...t.clientIds.reduce((e,n)=>(e[n]=t.toRootClientId||"",e),{})};case"REPLACE_BLOCKS_AUGMENTED_WITH_CHILDREN":return{...Object(u.omit)(e,t.replacedClientIds),...C(t.blocks,e[t.clientIds[0]])};case"REMOVE_BLOCKS_AUGMENTED_WITH_CHILDREN":return Object(u.omit)(e,t.removedClientIds)}return e},controlledInnerBlocks:(e={},{type:t,clientId:n,hasControlledInnerBlocks:o})=>"SET_HAS_CONTROLLED_INNER_BLOCKS"===t?{...e,[n]:o}:e});function N(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.indexToSelect||t.blocks.length-1,o=t.blocks[n];return o?o.clientId===e.clientId?e:{clientId:o.clientId}:{}}}return e}var P=Object(f.combineReducers)({blocks:T,isTyping:function(e=!1,t){switch(t.type){case"START_TYPING":return!0;case"STOP_TYPING":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},isCaretWithinFormattedText:function(e=!1,t){switch(t.type){case"ENTER_FORMATTED_TEXT":return!0;case"EXIT_FORMATTED_TEXT":return!1}return e},selection:function(e={},t){var n,o;switch(t.type){case"SELECTION_CHANGE":return{selectionStart:{clientId:t.clientId,attributeKey:t.attributeKey,offset:t.startOffset},selectionEnd:{clientId:t.clientId,attributeKey:t.attributeKey,offset:t.endOffset}};case"RESET_SELECTION":const{selectionStart:r,selectionEnd:c}=t;return{selectionStart:r,selectionEnd:c};case"MULTI_SELECT":const{start:l,end:i}=t;return{selectionStart:{clientId:l},selectionEnd:{clientId:i}};case"RESET_BLOCKS":const a=null==e||null===(n=e.selectionStart)||void 0===n?void 0:n.clientId,s=null==e||null===(o=e.selectionEnd)||void 0===o?void 0:o.clientId;if(!a&&!s)return e;if(!t.blocks.some(e=>e.clientId===a))return{selectionStart:{},selectionEnd:{}};if(!t.blocks.some(e=>e.clientId===s))return{...e,selectionEnd:e.selectionStart}}return{selectionStart:N(e.selectionStart,t),selectionEnd:N(e.selectionEnd,t)}},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){switch(t.type){case"TOGGLE_SELECTION":return t.isSelectionEnabled}return e},initialPosition:function(e=null,t){return"REPLACE_BLOCKS"===t.type&&void 0!==t.initialPosition||["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(u.omit)(e,t.clientIds);case"UPDATE_BLOCK_LIST_SETTINGS":{const{clientId:n}=t;return t.settings?Object(u.isEqual)(e[n],t.settings)?e:{...e,[n]:t.settings}:e.hasOwnProperty(n)?Object(u.omit)(e,n):e}}return e},insertionPoint:function(e=null,t){switch(t.type){case"SHOW_INSERTION_POINT":const{rootClientId:e,index:n,__unstableWithInserter:o}=t;return{rootClientId:e,index:n,__unstableWithInserter:o};case"HIDE_INSERTION_POINT":return null}return e},template:function(e={isValid:!0},t){switch(t.type){case"SET_TEMPLATE_VALIDITY":return{...e,isValid:t.isValid}}return e},settings:function(e=k,t){switch(t.type){case"UPDATE_SETTINGS":return{...e,...t.settings}}return e},preferences:function(e=j,t){switch(t.type){case"INSERT_BLOCKS":case"REPLACE_BLOCKS":return t.blocks.reduce((e,n)=>{const{attributes:o,name:r}=n,c=Object(f.select)(m.store).getActiveBlockVariation(r,o);let l=null!=c&&c.name?`${r}/${c.name}`:r;const i={name:l};return"core/block"===r&&(i.ref=o.ref,l+="/"+o.ref),{...e,insertUsage:{...e.insertUsage,[l]:{time:t.time,count:e.insertUsage[l]?e.insertUsage[l].count+1:1,insert:i}}}},e)}return e},lastBlockAttributesChange:function(e,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 null},isNavigationMode:function(e=!1,t){return"INSERT_BLOCKS"!==t.type&&("SET_NAVIGATION_MODE"===t.type?t.isNavigationMode:e)},hasBlockMovingClientId:function(e=null,t){return"SET_BLOCK_MOVING_MODE"===t.type?t.hasBlockMovingClientId:"SET_NAVIGATION_MODE"===t.type?null:e},automaticChangeStatus:function(e,t){switch(t.type){case"MARK_AUTOMATIC_CHANGE":return"pending";case"MARK_AUTOMATIC_CHANGE_FINAL":return"pending"===e?"final":void 0;case"SELECTION_CHANGE":return"final"!==e?e:void 0;case"START_TYPING":case"STOP_TYPING":return 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){var n;switch(t.type){case"INSERT_BLOCKS":if(!t.blocks.length)return e;return{clientId:t.blocks[0].clientId,source:null===(n=t.meta)||void 0===n?void 0:n.source};case"RESET_BLOCKS":return{}}return e}}),L=n("pPDe");const R=Object(i.createElement)(p.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(p.Rect,{x:"0",fill:"none",width:"24",height:"24"}),Object(i.createElement)(p.G,null,Object(i.createElement)(p.Path,{d:"M19 3H5c-1.105 0-2 .895-2 2v14c0 1.105.895 2 2 2h14c1.105 0 2-.895 2-2V5c0-1.105-.895-2-2-2zM6 6h5v5H6V6zm4.5 13C9.12 19 8 17.88 8 16.5S9.12 14 10.5 14s2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5zm3-6l3-5 3 5h-6z"}))),A=[];function M(e,t){const n=e.blocks.byClientId[t];if("web"!==i.Platform.OS&&"core/social-link"===(null==n?void 0:n.name)){const n=e.blocks.attributes[t],{service:o}=n;return o?"core/social-link-"+o:"core/social-link"}return n?n.name:null}function D(e,t){const n=e.blocks.byClientId[t];return!!n&&n.isValid}function F(e,t){return e.blocks.byClientId[t]?e.blocks.attributes[t]:null}const V=Object(L.a)((e,t)=>{const n=e.blocks.byClientId[t];return n?{...n,attributes:F(e,t),innerBlocks:_t(e,t)?A:z(e,t)}:null},(e,t)=>[e.blocks.cache[t]]),H=Object(L.a)((e,t)=>{const n=e.blocks.byClientId[t];return n?{...n,attributes:F(e,t)}:null},(e,t)=>[e.blocks.byClientId[t],e.blocks.attributes[t]]),z=Object(L.a)((e,t)=>Object(u.map)(Ce(e,t),t=>V(e,t)),(e,t)=>Object(u.map)(e.blocks.order[t||""],t=>e.blocks.cache[t])),G=Object(L.a)((e,t)=>{const n=e.blocks.byClientId[t];return n?{...n,attributes:F(e,t),innerBlocks:U(e,t)}:null},e=>[e.blocks.byClientId,e.blocks.order,e.blocks.attributes]),U=Object(L.a)((e,t="")=>Object(u.map)(Ce(e,t),t=>G(e,t)),e=>[e.blocks.byClientId,e.blocks.order,e.blocks.attributes]),W=Object(L.a)((e,t)=>({clientId:t,innerBlocks:K(e,t)}),e=>[e.blocks.order]),K=Object(L.a)((e,t="")=>Object(u.map)(Ce(e,t),t=>W(e,t)),e=>[e.blocks.order]),q=(e,t)=>Object(u.flatMap)(t,t=>{const n=Ce(e,t);return[...n,...q(e,n)]}),$=Object(L.a)(e=>{const t=Ce(e);return[...t,...q(e,t)]},e=>[e.blocks.order]),Y=Object(L.a)((e,t)=>{const n=$(e);return t?Object(u.reduce)(n,(n,o)=>e.blocks.byClientId[o].name===t?n+1:n,0):n.length},e=>[e.blocks.order,e.blocks.byClientId]),X=Object(L.a)((e,t)=>Object(u.map)(Object(u.castArray)(t),t=>V(e,t)),e=>[e.blocks.byClientId,e.blocks.order,e.blocks.attributes]);function Q(e,t){return Ce(e,t).length}function Z(e){return e.selection.selectionStart}function J(e){return e.selection.selectionEnd}function ee(e){return e.selection.selectionStart.clientId}function te(e){return e.selection.selectionEnd.clientId}function ne(e){const t=ge(e).length;return t||(e.selection.selectionStart.clientId?1:0)}function oe(e){const{selectionStart:t,selectionEnd:n}=e.selection;return!!t.clientId&&t.clientId===n.clientId}function re(e){const{selectionStart:t,selectionEnd:n}=e.selection,{clientId:o}=t;return o&&o===n.clientId?o:null}function ce(e){const t=re(e);return t?V(e,t):null}function le(e,t){return void 0!==e.blocks.parents[t]?e.blocks.parents[t]:null}const ie=Object(L.a)((e,t,n=!1)=>{const o=[];let r=t;for(;e.blocks.parents[r];)r=e.blocks.parents[r],o.push(r);return n?o:o.reverse()},e=>[e.blocks.parents]),ae=Object(L.a)((e,t,n,o=!1)=>{const r=ie(e,t,o);return Object(u.map)(Object(u.filter)(Object(u.map)(r,t=>({id:t,name:M(e,t)})),({name:e})=>Array.isArray(n)?n.includes(e):e===n),({id:e})=>e)},e=>[e.blocks.parents]);function se(e,t){let n,o=t;do{n=o,o=e.blocks.parents[o]}while(o);return n}function ue(e,t){const n=re(e),o=[...ie(e,t),t],r=[...ie(e,n),n];let c;const l=Math.min(o.length,r.length);for(let e=0;e{const{selectionStart:t,selectionEnd:n}=e.selection;if(void 0===t.clientId||void 0===n.clientId)return A;if(t.clientId===n.clientId)return[t.clientId];const o=le(e,t.clientId);if(null===o)return A;const r=Ce(e,o),c=r.indexOf(t.clientId),l=r.indexOf(n.clientId);return c>l?r.slice(l,c+1):r.slice(c,l+1)},e=>[e.blocks.order,e.selection.selectionStart.clientId,e.selection.selectionEnd.clientId]);function ge(e){const{selectionStart:t,selectionEnd:n}=e.selection;return t.clientId===n.clientId?A:fe(e)}const he=Object(L.a)(e=>{const t=ge(e);return t.length?t.map(t=>V(e,t)):A},e=>[...fe.getDependants(e),e.blocks.byClientId,e.blocks.order,e.blocks.attributes]);function Oe(e){return Object(u.first)(ge(e))||null}function ve(e){return Object(u.last)(ge(e))||null}function je(e,t){return Oe(e)===t}function ke(e,t){return-1!==ge(e).indexOf(t)}const _e=Object(L.a)((e,t)=>{let n=t,o=!1;for(;n&&!o;)n=le(e,n),o=ke(e,n);return o},e=>[e.blocks.order,e.selection.selectionStart.clientId,e.selection.selectionEnd.clientId]);function ye(e){const{selectionStart:t,selectionEnd:n}=e.selection;return t.clientId===n.clientId?null:t.clientId||null}function Ee(e){const{selectionStart:t,selectionEnd:n}=e.selection;return t.clientId===n.clientId?null:n.clientId||null}function Ce(e,t){return e.blocks.order[t||""]||A}function Se(e,t,n){return Ce(e,n).indexOf(t)}function we(e,t){const{selectionStart:n,selectionEnd:o}=e.selection;return n.clientId===o.clientId&&n.clientId===t}function Be(e,t,n=!1){return Object(u.some)(Ce(e,t),t=>we(e,t)||ke(e,t)||n&&Be(e,t,n))}function Ie(e,t){if(!t)return!1;const n=ge(e),o=n.indexOf(t);return o>-1&&oMe(e,t))}function Fe(e){return e.isCaretWithinFormattedText}function Ve(e){let t,n;const{insertionPoint:o,selection:{selectionEnd:r}}=e;if(null!==o)return o;const{clientId:c}=r;return c?(t=le(e,c)||void 0,n=Se(e,r.clientId,t)+1):n=Ce(e).length,{rootClientId:t,index:n}}function He(e){return null!==e.insertionPoint}function ze(e){return e.template.isValid}function Ge(e){return e.settings.template}function Ue(e,t){if(!t)return e.settings.templateLock;const n=st(e,t);return n?n.templateLock:null}const We=(e,t,n=null)=>Object(u.isBoolean)(e)?e:Object(u.isArray)(e)?!(!e.includes("core/post-content")||null!==t)||e.includes(t):n,Ke=(e,t,n=null)=>{let o;if(t&&"object"==typeof t?(o=t,t=o.name):o=Object(m.getBlockType)(t),!o)return!1;const{allowedBlockTypes:r}=ut(e);if(!We(r,t,!0))return!1;if(!!Ue(e,n))return!1;const c=st(e,n);if(n&&void 0===c)return!1;const l=null==c?void 0:c.allowedBlocks,i=We(l,t),a=o.parent,s=M(e,n),u=We(a,s);return null!==i&&null!==u?i||u:null!==i?i:null===u||u},qe=Object(L.a)(Ke,(e,t,n)=>[e.blockListSettings[n],e.blocks.byClientId[n],e.settings.allowedBlockTypes,e.settings.templateLock]);function $e(e,t,n=null){return t.every(t=>qe(e,M(e,t),n))}function Ye(e,t){var n,o;return null!==(n=null===(o=e.preferences.insertUsage)||void 0===o?void 0:o[t])&&void 0!==n?n:null}const Xe=(e,t,n)=>!!Object(m.hasBlockSupport)(t,"inserter",!0)&&Ke(e,t.name,n),Qe=(e,t)=>n=>{const o=`${t.id}/${n.name}`,{time:r,count:c=0}=Ye(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:Ze(r,c)}},Ze=(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}},Je=(e,{buildScope:t="inserter"})=>n=>{const o=n.name;let r=!1;Object(m.hasBlockSupport)(n.name,"multiple",!0)||(r=Object(u.some)(X(e,$(e)),{name:n.name}));const{time:c,count:l=0}=Ye(e,o)||{},i={id:o,name:n.name,title:n.title,icon:n.icon,isDisabled:r,frecency:Ze(c,l)};if("transform"===t)return i;const a=n.variations.filter(({scope:e})=>!e||e.includes("inserter"));return{...i,initialAttributes:{},description:n.description,category:n.category,keywords:n.keywords,variations:a,example:n.example,utility:1}},et=Object(L.a)((e,t=null)=>{const n=Je(e,{buildScope:"inserter"}),o=Object(m.getBlockTypes)().filter(n=>Xe(e,n,t)).map(n),r=Ke(e,"core/block",t)?ht(e).map(t=>{const n="core/block/"+t.id,o=mt(e,t.id);let r;1===o.length&&(r=Object(m.getBlockType)(o[0].name));const{time:c,count:l=0}=Ye(e,n)||{},i=Ze(c,l);return{id:n,name:"core/block",initialAttributes:{ref:t.id},title:t.title.raw,icon:r?r.icon:R,category:"reusable",keywords:[],isDisabled:!1,utility:1,frecency:i}}):[],c=o.filter(({variations:e=[]})=>!e.some(({isDefault:e})=>e)),l=[];for(const t of o){const{variations:n=[]}=t;if(n.length){const o=Qe(e,t);l.push(...n.map(o))}}return[...[...c,...l].sort((e,t)=>{const n=e.name.startsWith("core/"),o=t.name.startsWith("core/");return n&&o?0:n&&!o?-1:1}),...r]},(e,t)=>[e.blockListSettings[t],e.blocks.byClientId,e.blocks.order,e.preferences.insertUsage,e.settings.allowedBlockTypes,e.settings.templateLock,ht(e),Object(m.getBlockTypes)()]),tt=Object(L.a)((e,t,n=null)=>{const o=Je(e,{buildScope:"transform"}),r=Object(m.getBlockTypes)().filter(t=>Xe(e,t,n)).map(o),c=Object(u.mapKeys)(r,({name:e})=>e),l=Object(m.getPossibleBlockTransformations)(t).reduce((e,t)=>(c[null==t?void 0:t.name]&&e.push(c[t.name]),e),[]);return Object(u.orderBy)(l,e=>c[e.name].frecency,"desc")},(e,t)=>[e.blockListSettings[t],e.blocks.byClientId,e.preferences.insertUsage,e.settings.allowedBlockTypes,e.settings.templateLock,Object(m.getBlockTypes)()]),nt=Object(L.a)((e,t=null)=>{if(Object(u.some)(Object(m.getBlockTypes)(),n=>Xe(e,n,t)))return!0;return Ke(e,"core/block",t)&&ht(e).length>0},(e,t)=>[e.blockListSettings[t],e.blocks.byClientId,e.settings.allowedBlockTypes,e.settings.templateLock,ht(e),Object(m.getBlockTypes)()]),ot=Object(L.a)((e,t=null)=>{if(t)return Object(u.filter)(Object(m.getBlockTypes)(),n=>Xe(e,n,t))},(e,t)=>[e.blockListSettings[t],e.blocks.byClientId,e.settings.allowedBlockTypes,e.settings.templateLock,Object(m.getBlockTypes)()]),rt=Object(L.a)((e,t)=>{const n=e.settings.__experimentalBlockPatterns.find(({name:e})=>e===t);return n?{...n,blocks:Object(m.parse)(n.content)}:null},e=>[e.settings.__experimentalBlockPatterns]),ct=Object(L.a)(e=>{const t=e.settings.__experimentalBlockPatterns,{allowedBlockTypes:n}=ut(e);return t.map(({name:t})=>rt(e,t)).filter(({blocks:e})=>((e,t)=>{if(Object(u.isBoolean)(t))return t;const n=[...e];for(;n.length>0;){var o;const e=n.shift();if(!We(t,e.name||e.blockName,!0))return!1;null===(o=e.innerBlocks)||void 0===o||o.forEach(e=>{n.push(e)})}return!0})(e,n))},e=>[e.settings.__experimentalBlockPatterns,e.settings.allowedBlockTypes]),lt=Object(L.a)((e,t=null)=>{const n=ct(e);return Object(u.filter)(n,({blocks:n})=>n.every(({name:n})=>qe(e,n,t)))},(e,t)=>[e.settings.__experimentalBlockPatterns,e.settings.allowedBlockTypes,e.settings.templateLock,e.blockListSettings[t],e.blocks.byClientId[t]]),it=Object(L.a)((e,t,n=null)=>{if(!t)return A;const o=lt(e,n),r=Array.isArray(t)?t:[t];return o.filter(e=>{var t,n;return null==e||null===(t=e.blockTypes)||void 0===t||null===(n=t.some)||void 0===n?void 0:n.call(t,e=>r.includes(e))})},(e,t)=>[...lt.getDependants(e,t)]),at=Object(L.a)((e,t,n=null)=>{if(!t)return A;if(t.some(({clientId:t,innerBlocks:n})=>n.length||_t(e,t)))return A;const o=Array.from(new Set(t.map(({name:e})=>e)));return it(e,o,n)},(e,t)=>[...it.getDependants(e,t)]);function st(e,t){return e.blockListSettings[t]}function ut(e){return e.settings}function dt(e){return e.blocks.isPersistentChange}const bt=Object(L.a)((e,t=[])=>t.reduce((t,n)=>e.blockListSettings[n]?{...t,[n]:e.blockListSettings[n]}:t,{}),e=>[e.blockListSettings]),mt=Object(L.a)((e,t)=>{const n=Object(u.find)(ht(e),e=>e.id===t);return n?Object(m.parse)("string"==typeof n.content.raw?n.content.raw:n.content):null},e=>[ht(e)]),pt=Object(L.a)((e,t)=>{var n;const o=Object(u.find)(ht(e),e=>e.id===t);return o?null===(n=o.title)||void 0===n?void 0:n.raw:null},e=>[ht(e)]);function ft(e){return e.blocks.isIgnoredChange}function gt(e){return e.lastBlockAttributesChange}function ht(e){var t,n;return null!==(t=null==e||null===(n=e.settings)||void 0===n?void 0:n.__experimentalReusableBlocks)&&void 0!==t?t:A}function Ot(e){return e.isNavigationMode}function vt(e){return e.hasBlockMovingClientId}function jt(e){return!!e.automaticChangeStatus}function kt(e,t){return e.highlightedBlock===t}function _t(e,t){return!!e.blocks.controlledInnerBlocks[t]}const yt=Object(L.a)((e,t)=>{if(!t.length)return null;const n=re(e);if(t.includes(M(e,n)))return n;const o=ge(e),r=ae(e,n||o[0],t);return r?Object(u.last)(r):null},(e,t)=>[e.selection.selectionStart.clientId,e.selection.selectionEnd.clientId,t]);function Et(e,t,n){const{lastBlockInserted:o}=e;return o.clientId===t&&o.source===n}var Ct=n("gdqT"),St=n("NMb1"),wt=n.n(St);var Bt={SLEEP:({duration:e})=>new Promise(t=>{setTimeout(t,e)}),MARK_AUTOMATIC_CHANGE_FINAL_CONTROL:Object(f.createRegistryControl)(e=>()=>{const{requestIdleCallback:t=(e=>setTimeout(e,100))}=window;t(()=>e.dispatch(Rn).__unstableMarkAutomaticChangeFinal())})};const It="core/block-editor";function*xt(){if(0===(yield f.controls.select(It,"getBlockCount"))){const{__unstableHasCustomAppender:e}=yield f.controls.select(It,"getSettings");if(e)return;return yield On()}}function*Tt(e){return yield{type:"RESET_BLOCKS",blocks:e},yield*Nt(e)}function*Nt(e){const t=yield f.controls.select(It,"getTemplate"),n=yield f.controls.select(It,"getTemplateLock"),o=!t||"all"!==n||Object(m.doBlocksMatchTemplate)(e,t);if(o!==(yield f.controls.select(It,"isValidTemplate")))return yield on(o),o}function Pt(e,t,n){return{type:"RESET_SELECTION",selectionStart:e,selectionEnd:t,initialPosition:n}}function Lt(e){return{type:"RECEIVE_BLOCKS",blocks:e}}function Rt(e,t,n=!1){return{type:"UPDATE_BLOCK_ATTRIBUTES",clientIds:Object(u.castArray)(e),attributes:t,uniqueByBlock:n}}function At(e,t){return{type:"UPDATE_BLOCK",clientId:e,updates:t}}function Mt(e,t=0){return{type:"SELECT_BLOCK",initialPosition:t,clientId:e}}function*Dt(e){const t=yield f.controls.select(It,"getPreviousBlockClientId",e);if(t)return yield Mt(t,-1),[t]}function*Ft(e){const t=yield f.controls.select(It,"getNextBlockClientId",e);if(t)return yield Mt(t),[t]}function Vt(){return{type:"START_MULTI_SELECT"}}function Ht(){return{type:"STOP_MULTI_SELECT"}}function*zt(e,t){if((yield f.controls.select(It,"getBlockRootClientId",e))!==(yield f.controls.select(It,"getBlockRootClientId",t)))return;yield{type:"MULTI_SELECT",start:e,end:t};const n=yield f.controls.select(It,"getSelectedBlockCount");Object(Ct.speak)(Object(v.sprintf)(Object(v._n)("%s block selected.","%s blocks selected.",n),n),"assertive")}function Gt(){return{type:"CLEAR_SELECTED_BLOCK"}}function Ut(e=!0){return{type:"TOGGLE_SELECTION",isSelectionEnabled:e}}function Wt(e,t){var n,o;const r=null!==(n=null==t||null===(o=t.__experimentalPreferredStyleVariations)||void 0===o?void 0:o.value)&&void 0!==n?n:{};return e.map(e=>{var t;const n=e.name;if(!Object(m.hasBlockSupport)(n,"defaultStylePicker",!0))return e;if(!r[n])return e;const o=null===(t=e.attributes)||void 0===t?void 0:t.className;if(null!=o&&o.includes("is-style-"))return e;const{attributes:c={}}=e,l=r[n];return{...e,attributes:{...c,className:`${o||""} is-style-${l}`.trim()}}})}function*Kt(e,t,n,o=0,r){e=Object(u.castArray)(e),t=Wt(Object(u.castArray)(t),yield f.controls.select(It,"getSettings"));const c=yield f.controls.select(It,"getBlockRootClientId",Object(u.first)(e));for(let e=0;e({clientIds:Object(u.castArray)(t),type:e,rootClientId:n})}const Yt=$t("MOVE_BLOCKS_DOWN"),Xt=$t("MOVE_BLOCKS_UP");function*Qt(e,t="",n="",o){const r=yield f.controls.select(It,"getTemplateLock",t);if("all"===r)return;const c={type:"MOVE_BLOCKS_TO_POSITION",fromRootClientId:t,toRootClientId:n,clientIds:e,index:o};if(t===n)return void(yield c);if("insert"===r)return;(yield f.controls.select(It,"canInsertBlocks",e,n))&&(yield c)}function*Zt(e,t="",n="",o){yield Qt([e],t,n,o)}function Jt(e,t,n,o=!0,r){return en([e],t,n,o,0,r)}function*en(e,t,n,o=!0,r=0,c){Object(u.isObject)(r)&&(c=r,r=0,wt()("meta argument in wp.data.dispatch('core/block-editor')",{since:"10.1",plugin:"Gutenberg",hint:"The meta argument is now the 6th argument of the function"})),e=Wt(Object(u.castArray)(e),yield f.controls.select(It,"getSettings"));const l=[];for(const t of e){(yield f.controls.select(It,"canInsertBlockType",t.name,n))&&l.push(t)}if(l.length)return{type:"INSERT_BLOCKS",blocks:l,index:t,rootClientId:n,time:Date.now(),updateSelection:o,initialPosition:o?r:null,meta:c}}function tn(e,t,n={}){const{__unstableWithInserter:o}=n;return{type:"SHOW_INSERTION_POINT",rootClientId:e,index:t,__unstableWithInserter:o}}function nn(){return{type:"HIDE_INSERTION_POINT"}}function on(e){return{type:"SET_TEMPLATE_VALIDITY",isValid:e}}function*rn(){yield{type:"SYNCHRONIZE_TEMPLATE"};const e=yield f.controls.select(It,"getBlocks"),t=yield f.controls.select(It,"getTemplate"),n=Object(m.synchronizeBlocksWithTemplate)(e,t);return yield Tt(n)}function*cn(e,t){const n=[e,t];yield{type:"MERGE_BLOCKS",blocks:n};const[o,r]=n,l=yield f.controls.select(It,"getBlock",o),i=Object(m.getBlockType)(l.name);if(!i.merge)return void(yield Mt(l.clientId));const a=yield f.controls.select(It,"getBlock",r),s=Object(m.getBlockType)(a.name),{clientId:d,attributeKey:b,offset:p}=yield f.controls.select(It,"getSelectionStart"),g=(d===o?i:s).attributes[b],h=(d===o||d===r)&&void 0!==b&&void 0!==p&&!!g;g||("number"==typeof b?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 b):window.console.error("The RichText identifier prop does not match any attributes defined by the block."));const O=Object(m.cloneBlock)(l),v=Object(m.cloneBlock)(a);if(h){const e=d===o?O:v,t=e.attributes[b],{multiline:n,__unstableMultilineWrapperTags:r,__unstablePreserveWhiteSpace:l}=g,i=Object(c.insert)(Object(c.create)({html:t,multilineTag:n,multilineWrapperTags:r,preserveWhiteSpace:l}),"†",p,p);e.attributes[b]=Object(c.toHTMLString)({value:i,multilineTag:n,preserveWhiteSpace:l})}const j=l.name===a.name?[v]:Object(m.switchToBlockType)(v,l.name);if(!j||!j.length)return;const k=i.merge(O.attributes,j[0].attributes);if(h){const e=Object(u.findKey)(k,e=>"string"==typeof e&&-1!==e.indexOf("†")),t=k[e],{multiline:n,__unstableMultilineWrapperTags:o,__unstablePreserveWhiteSpace:r}=i.attributes[e],a=Object(c.create)({html:t,multilineTag:n,multilineWrapperTags:o,preserveWhiteSpace:r}),s=a.text.indexOf("†"),d=Object(c.remove)(a,s,s+1),b=Object(c.toHTMLString)({value:d,multilineTag:n,preserveWhiteSpace:r});k[e]=b,yield hn(l.clientId,e,s,s)}yield*Kt([l.clientId,a.clientId],[{...l,attributes:{...l.attributes,...k}},...j.slice(1)])}function*ln(e,t=!0){if(!e||!e.length)return;e=Object(u.castArray)(e);const n=yield f.controls.select(It,"getBlockRootClientId",e[0]);if(yield f.controls.select(It,"getTemplateLock",n))return;let o;o=t?yield Dt(e[0]):yield f.controls.select(It,"getPreviousBlockClientId",e[0]),yield{type:"REMOVE_BLOCKS",clientIds:e};const r=yield*xt();return[o||r]}function an(e,t){return ln([e],t)}function sn(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 un(e){return{type:"TOGGLE_BLOCK_MODE",clientId:e}}function dn(){return{type:"START_TYPING"}}function bn(){return{type:"STOP_TYPING"}}function mn(e=[]){return{type:"START_DRAGGING_BLOCKS",clientIds:e}}function pn(){return{type:"STOP_DRAGGING_BLOCKS"}}function fn(){return{type:"ENTER_FORMATTED_TEXT"}}function gn(){return{type:"EXIT_FORMATTED_TEXT"}}function hn(e,t,n,o){return{type:"SELECTION_CHANGE",clientId:e,attributeKey:t,startOffset:n,endOffset:o}}function On(e,t,n){const o=Object(m.getDefaultBlockName)();if(!o)return;return Jt(Object(m.createBlock)(o,e),n,t)}function vn(e,t){return{type:"UPDATE_BLOCK_LIST_SETTINGS",clientId:e,settings:t}}function jn(e){return{type:"UPDATE_SETTINGS",settings:e}}function kn(e,t){return{type:"SAVE_REUSABLE_BLOCK_SUCCESS",id:e,updatedId:t}}function _n(){return{type:"MARK_LAST_CHANGE_AS_PERSISTENT"}}function yn(){return{type:"MARK_NEXT_CHANGE_AS_NOT_PERSISTENT"}}function*En(){yield{type:"MARK_AUTOMATIC_CHANGE"},yield{type:"MARK_AUTOMATIC_CHANGE_FINAL_CONTROL"}}function Cn(){return{type:"MARK_AUTOMATIC_CHANGE_FINAL"}}function*Sn(e=!0){yield{type:"SET_NAVIGATION_MODE",isNavigationMode:e},e?Object(Ct.speak)(Object(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.")):Object(Ct.speak)(Object(v.__)("You are currently in edit mode. To return to the navigation mode, press Escape."))}function*wn(e=null){yield{type:"SET_BLOCK_MOVING_MODE",hasBlockMovingClientId:e},e&&Object(Ct.speak)(Object(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."))}function*Bn(e,t=!0){if(!e&&!e.length)return;const n=yield f.controls.select(It,"getBlocksByClientId",e),o=yield f.controls.select(It,"getBlockRootClientId",e[0]);if(Object(u.some)(n,e=>!e))return;const r=n.map(e=>e.name);if(Object(u.some)(r,e=>!Object(m.hasBlockSupport)(e,"multiple",!0)))return;const c=yield f.controls.select(It,"getBlockIndex",Object(u.last)(Object(u.castArray)(e)),o),l=n.map(e=>Object(m.__experimentalCloneSanitizedBlock)(e));return yield en(l,c+1,o,t),l.length>1&&t&&(yield zt(Object(u.first)(l).clientId,Object(u.last)(l).clientId)),l.map(e=>e.clientId)}function*In(e){if(!e)return;const t=yield f.controls.select(It,"getBlockRootClientId",e);if(yield f.controls.select(It,"getTemplateLock",t))return;const n=yield f.controls.select(It,"getBlockIndex",e,t);return yield On({},t,n)}function*xn(e){if(!e)return;const t=yield f.controls.select(It,"getBlockRootClientId",e);if(yield f.controls.select(It,"getTemplateLock",t))return;const n=yield f.controls.select(It,"getBlockIndex",e,t);return yield On({},t,n+1)}function Tn(e,t){return{type:"TOGGLE_BLOCK_HIGHLIGHT",clientId:e,isHighlighted:t}}function*Nn(e){yield Tn(e,!0),yield{type:"SLEEP",duration:150},yield Tn(e,!1)}function Pn(e,t){return{type:"SET_HAS_CONTROLLED_INNER_BLOCKS",hasControlledInnerBlocks:t,clientId:e}}const Ln={reducer:P,selectors:o,actions:r,controls:Bt},Rn=Object(f.createReduxStore)(It,{...Ln,persist:["preferences"]});function An(){const{isSelected:e,clientId:t,name:n}=O(),o=Object(f.useSelect)(o=>{if(e)return;const{getBlockName:r,isFirstMultiSelectedBlock:c,getMultiSelectedBlockClientIds:l}=o(Rn);return!!c(t)&&l().every(e=>r(e)===n)},[t,e,n]);return e||o}Object(f.registerStore)(It,{...Ln,persist:["preferences"]});var Mn={default:Object(p.createSlotFill)("BlockControls"),block:Object(p.createSlotFill)("BlockControlsBlock"),inline:Object(p.createSlotFill)("BlockFormatControls"),other:Object(p.createSlotFill)("BlockControlsOther")};function Dn({group:e="default",controls:t,children:n}){if(!An())return null;const o=Mn[e].Fill;return Object(i.createElement)(p.__experimentalStyleProvider,{document:document},Object(i.createElement)(o,null,o=>{const r=Object(u.isEmpty)(o)?null:o;return Object(i.createElement)(p.__experimentalToolbarContext.Provider,{value:r},"default"===e&&Object(i.createElement)(p.ToolbarGroup,{controls:t}),n)}))}function Fn({group:e="default",...t}){const n=Object(i.useContext)(p.__experimentalToolbarContext),o=Mn[e].Slot,r=Object(p.__experimentalUseSlot)(o.__unstableName);return Boolean(r.fills&&r.fills.length)?"default"===e?Object(i.createElement)(o,Object(l.a)({},t,{bubblesVirtually:!0,fillProps:n})):Object(i.createElement)(p.ToolbarGroup,null,Object(i.createElement)(o,Object(l.a)({},t,{bubblesVirtually:!0,fillProps:n}))):null}const Vn=Dn;Vn.Slot=Fn;const Hn=e=>Object(i.createElement)(Dn,Object(l.a)({group:"inline"},e));Hn.Slot=e=>Object(i.createElement)(Fn,Object(l.a)({group:"inline"},e));var zn=Vn,Gn=n("Tqx9");var Un=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.Path,{d:"M4 9v6h14V9H4zm8-4.8H4v1.5h8V4.2zM4 19.8h8v-1.5H4v1.5z"}));var Wn=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.Path,{d:"M5 15h14V9H5v6zm0 4.8h14v-1.5H5v1.5zM5 4.2v1.5h14V4.2H5z"}));var Kn=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.Path,{d:"M6 15h14V9H6v6zm6-10.8v1.5h8V4.2h-8zm0 15.6h8v-1.5h-8v1.5z"}));var qn=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.Path,{d:"M5 9v6h14V9H5zm11-4.8H8v1.5h8V4.2zM8 19.8h8v-1.5H8v1.5z"}));var $n=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.Path,{d:"M5 4v11h14V4H5zm3 15.8h8v-1.5H8v1.5z"}));const Yn={type:"default"},Xn=Object(i.createContext)(Yn);function Qn(e,t){return e.split(",").map(e=>`.editor-styles-wrapper ${e} ${t}`).join(",")}const Zn=Xn.Provider;function Jn({selector:e,layout:t={}}){const{contentSize:n,wideSize:o}=t;let r=n||o?`\n\t\t\t\t${Qn(e,"> *")} {\n\t\t\t\t\tmax-width: ${null!=n?n:o};\n\t\t\t\t\tmargin-left: auto !important;\n\t\t\t\t\tmargin-right: auto !important;\n\t\t\t\t}\n\n\t\t\t\t${Qn(e,'> [data-align="wide"]')} {\n\t\t\t\t\tmax-width: ${null!=o?o:n};\n\t\t\t\t}\n\n\t\t\t\t${Qn(e,'> [data-align="full"]')} {\n\t\t\t\t\tmax-width: none;\n\t\t\t\t}\n\t\t\t`:"";return r+=`\n\t\t${Qn(e,'> [data-align="left"]')} {\n\t\t\tfloat: left;\n\t\t\tmargin-right: 2em;\n\t\t}\n\n\t\t${Qn(e,'> [data-align="right"]')} {\n\t\t\tfloat: right;\n\t\t\tmargin-left: 2em;\n\t\t}\n\t`,Object(i.createElement)("style",null,r)}const eo=["left","center","right","wide","full"],to=["wide","full"];function no(e=eo){const{wideControlsEnabled:t=!1}=Object(f.useSelect)(e=>{const{getSettings:t}=e(Rn);return{wideControlsEnabled:t().alignWide}},[]),n=Object(i.useContext)(Xn);if(!("default"===n.type))return[];const{alignments:o=eo}=n;return e.filter(e=>(n.alignments||t||!to.includes(e))&&o.includes(e))}const oo={left:{icon:Un,title:Object(v.__)("Align left")},center:{icon:Wn,title:Object(v.__)("Align center")},right:{icon:Kn,title:Object(v.__)("Align right")},wide:{icon:qn,title:Object(v.__)("Wide width")},full:{icon:$n,title:Object(v.__)("Full width")}},ro={isAlternate:!0};var co=function({value:e,onChange:t,controls:n,isToolbar:o,isCollapsed:r=!0}){const c=no(n);if(0===c.length)return null;const a=oo[e],s=oo.center,u=o?p.ToolbarGroup:p.ToolbarDropdownMenu,d=o?{isCollapsed:r}:{};return Object(i.createElement)(u,Object(l.a)({popoverProps:ro,icon:a?a.icon:s.icon,label:Object(v.__)("Align"),toggleProps:{describedBy:Object(v.__)("Change alignment")},controls:c.map(n=>{return{...oo[n],isActive:e===n,role:r?"menuitemradio":void 0,onClick:(o=n,()=>t(e===o?void 0:o))};var o})},d))};function lo(e){return Object(i.createElement)(co,Object(l.a)({},e,{isToolbar:!1}))}function io(e){return Object(i.createElement)(co,Object(l.a)({},e,{isToolbar:!0}))}const ao=["left","center","right","wide","full"],so=["wide","full"];function uo(e,t=!0,n=!0){let o;return o=Array.isArray(e)?ao.filter(t=>e.includes(t)):!0===e?ao:[],!n||!0===e&&!t?Object(u.without)(o,...so):o}const bo=Object(d.createHigherOrderComponent)(e=>t=>{const{name:n}=t,o=no(uo(Object(m.getBlockSupport)(n,"align"),Object(m.hasBlockSupport)(n,"alignWide",!0)));return[o.length>0&&t.isSelected&&Object(i.createElement)(zn,{key:"align-controls",group:"block"},Object(i.createElement)(lo,{value:t.attributes.align,onChange:e=>{if(!e){var n,o;(null===(n=Object(m.getBlockType)(t.name).attributes)||void 0===n||null===(o=n.align)||void 0===o?void 0:o.default)&&(e="")}t.setAttributes({align:e})},controls:o})),Object(i.createElement)(e,Object(l.a)({key:"edit"},t))]},"withToolbarControls"),mo=Object(d.createHigherOrderComponent)(e=>t=>{const{name:n,attributes:o}=t,{align:r}=o,c=no(uo(Object(m.getBlockSupport)(n,"align"),Object(m.hasBlockSupport)(n,"alignWide",!0)));if(void 0===r)return Object(i.createElement)(e,t);let a=t.wrapperProps;return c.includes(r)&&(a={...a,"data-align":r}),Object(i.createElement)(e,Object(l.a)({},t,{wrapperProps:a}))});Object(b.addFilter)("blocks.registerBlockType","core/align/addAttribute",(function(e){return Object(u.has)(e.attributes,["align","type"])||Object(m.hasBlockSupport)(e,"align")&&(e.attributes={...e.attributes,align:{type:"string",enum:[...ao,""]}}),e})),Object(b.addFilter)("editor.BlockListBlock","core/editor/align/with-data-align",mo),Object(b.addFilter)("editor.BlockEdit","core/editor/align/with-toolbar-controls",bo),Object(b.addFilter)("blocks.getSaveContent.extraProps","core/align/addAssignedAlign",(function(e,t,n){const{align:o}=n;return uo(Object(m.getBlockSupport)(t,"align"),Object(m.hasBlockSupport)(t,"alignWide",!0)).includes(o)&&(e.className=s()("align"+o,e.className)),e}));const{Fill:po,Slot:fo}=Object(p.createSlotFill)("InspectorAdvancedControls");function go({children:e}){const{isSelected:t}=O();return t?Object(i.createElement)(p.__experimentalStyleProvider,{document:document},Object(i.createElement)(po,null,e)):null}go.slotName="InspectorAdvancedControls",go.Slot=fo;var ho=go;const{Fill:Oo,Slot:vo}=Object(p.createSlotFill)("InspectorControls");function jo({children:e}){return An()?Object(i.createElement)(p.__experimentalStyleProvider,{document:document},Object(i.createElement)(Oo,null,e)):null}jo.Slot=vo;var ko=jo;const _o=/[\s#]/g;const yo=Object(d.createHigherOrderComponent)(e=>t=>{if(Object(m.hasBlockSupport)(t.name,"anchor")&&t.isSelected){const n="web"===i.Platform.OS,o=Object(i.createElement)(p.TextControl,{className:"html-anchor-control",label:Object(v.__)("HTML anchor"),help:Object(i.createElement)(i.Fragment,null,Object(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."),Object(i.createElement)(p.ExternalLink,{href:"https://wordpress.org/support/article/page-jumps/"},Object(v.__)("Learn more about anchors"))),value:t.attributes.anchor||"",placeholder:n?null:Object(v.__)("Add an anchor"),onChange:e=>{e=e.replace(_o,"-"),t.setAttributes({anchor:e})},autoCapitalize:"none",autoComplete:"off"});return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(e,t),n&&Object(i.createElement)(ho,null,o),!n&&"core/heading"===t.name&&Object(i.createElement)(ko,null,Object(i.createElement)(p.PanelBody,{title:Object(v.__)("Heading settings")},o)))}return Object(i.createElement)(e,t)},"withInspectorControl");Object(b.addFilter)("blocks.registerBlockType","core/anchor/attribute",(function(e){return Object(u.has)(e.attributes,["anchor","type"])||Object(m.hasBlockSupport)(e,"anchor")&&(e.attributes={...e.attributes,anchor:{type:"string",source:"attribute",attribute:"id",selector:"*"}}),e})),Object(b.addFilter)("editor.BlockEdit","core/editor/anchor/with-inspector-control",yo),Object(b.addFilter)("blocks.getSaveContent.extraProps","core/anchor/save-props",(function(e,t,n){return Object(m.hasBlockSupport)(t,"anchor")&&(e.id=""===n.anchor?null:n.anchor),e}));const Eo=Object(d.createHigherOrderComponent)(e=>t=>Object(m.hasBlockSupport)(t.name,"customClassName",!0)&&t.isSelected?Object(i.createElement)(i.Fragment,null,Object(i.createElement)(e,t),Object(i.createElement)(ho,null,Object(i.createElement)(p.TextControl,{autoComplete:"off",label:Object(v.__)("Additional CSS class(es)"),value:t.attributes.className||"",onChange:e=>{t.setAttributes({className:""!==e?e:void 0})},help:Object(v.__)("Separate multiple classes with spaces.")}))):Object(i.createElement)(e,t),"withInspectorControl");function Co(e){e=`
    ${e}
    `;const t=Object(m.parseWithAttributeSchema)(e,{type:"string",source:"attribute",selector:"[data-custom-class-name] > *",attribute:"class"});return t?t.trim().split(/\s+/):[]}Object(b.addFilter)("blocks.registerBlockType","core/custom-class-name/attribute",(function(e){return Object(m.hasBlockSupport)(e,"customClassName",!0)&&(e.attributes={...e.attributes,className:{type:"string"}}),e})),Object(b.addFilter)("editor.BlockEdit","core/editor/custom-class-name/with-inspector-control",Eo),Object(b.addFilter)("blocks.getSaveContent.extraProps","core/custom-class-name/save-props",(function(e,t,n){return Object(m.hasBlockSupport)(t,"customClassName",!0)&&n.className&&(e.className=s()(e.className,n.className)),e})),Object(b.addFilter)("blocks.getBlockAttributes","core/custom-class-name/addParsedDifference",(function(e,t,n){if(Object(m.hasBlockSupport)(t,"customClassName",!0)){const o=Object(u.omit)(e,["className"]),r=Object(m.getSaveContent)(t,o),c=Co(r),l=Co(n),i=Object(u.difference)(l,c);i.length?e.className=i.join(" "):r&&delete e.className}return e})),Object(b.addFilter)("blocks.getSaveContent.extraProps","core/generated-class-name/save-props",(function(e,t){return Object(m.hasBlockSupport)(t,"className",!0)&&("string"==typeof e.className?e.className=Object(u.uniq)([Object(m.getBlockDefaultClassName)(t.name),...e.className.split(" ")]).join(" ").trim():e.className=Object(m.getBlockDefaultClassName)(t.name)),e}));const So={"color.palette":e=>void 0===e.colors?void 0:e.colors,"color.gradients":e=>void 0===e.gradients?void 0: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=>void 0===e.fontSizes?void 0:e.fontSizes,"typography.customFontSize":e=>void 0===e.disableCustomFontSizes?void 0:!e.disableCustomFontSizes,"typography.customLineHeight":e=>e.enableCustomLineHeight,"spacing.units":e=>{if(void 0!==e.enableCustomUnits)return!0===e.enableCustomUnits?["px","em","rem","vh","vw","%"]:e.enableCustomUnits},"spacing.customPadding":e=>e.enableCustomSpacing},wo={"color.gradients":!0,"color.palette":!0,"typography.fontFamilies":!0,"typography.fontSizes":!0};function Bo(e){const{name:t}=O();return Object(f.useSelect)(n=>{var o;const r=n(Rn).getSettings(),c="__experimentalFeatures."+e,l=`__experimentalFeatures.blocks.${t}.${e}`,i=null!==(o=Object(u.get)(r,l))&&void 0!==o?o:Object(u.get)(r,c);var a,s;if(void 0!==i)return wo[e]?null!==(a=null!==(s=i.user)&&void 0!==s?s:i.theme)&&void 0!==a?a:i.core:i;const d=So[e]?So[e](r):void 0;return void 0!==d?d:"typography.dropCap"===e||void 0},[t,e])}var Io=n("Zss7"),xo=n.n(Io);const To=(e,t,n)=>{if(t){const n=Object(u.find)(e,{slug:t});if(n)return n}return{color:n}},No=(e,t)=>Object(u.find)(e,{color:t});function Po(e,t){if(e&&t)return`has-${Object(u.kebabCase)(t)}-${e}`}const Lo=[];function Ro(e){if(e)return`has-${e}-gradient-background`}function Ao(e,t){const n=Object(u.find)(e,["slug",t]);return n&&n.gradient}function Mo(e,t){return Object(u.find)(e,["gradient",t])}function Do(e,t){const n=Mo(e,t);return n&&n.slug}function Fo({gradientAttribute:e="gradient",customGradientAttribute:t="customGradient"}={}){const{clientId:n}=O(),o=Bo("color.gradients")||Lo,{gradient:r,customGradient:c}=Object(f.useSelect)(o=>{const{getBlockAttributes:r}=o(Rn),c=r(n)||{};return{customGradient:c[t],gradient:c[e]}},[n,e,t]),{updateBlockAttributes:l}=Object(f.useDispatch)(Rn),a=Object(i.useCallback)(r=>{const c=Do(o,r);l(n,c?{[e]:c,[t]:void 0}:{[e]:void 0,[t]:r})},[o,n,l]),s=Ro(r);let u;return u=r?Ao(o,r):c,{gradientClass:s,gradientValue:u,setGradient:a}}const Vo=Object(v.__)("(Color: %s)"),Ho=Object(v.__)("(Gradient: %s)"),zo=["colors","disableCustomColors","gradients","disableCustomGradients"];function Go({colors:e,gradients:t,label:n,currentTab:o,colorValue:r,gradientValue:c}){let l,a;if("color"===o){if(r){l=r;const t=No(e,l),n=t&&t.name;a=Object(v.sprintf)(Vo,n||l)}}else if("gradient"===o&&c){l=c;const e=Mo(t,l),n=e&&e.name;a=Object(v.sprintf)(Ho,n||l)}return Object(i.createElement)(i.Fragment,null,n,!!l&&Object(i.createElement)(p.ColorIndicator,{colorValue:l,"aria-label":a}))}function Uo({colors:e,gradients:t,disableCustomColors:n,disableCustomGradients:o,className:r,label:c,onColorChange:l,onGradientChange:a,colorValue:d,gradientValue:b,clearable:m}){const f=l&&(!Object(u.isEmpty)(e)||!n),g=a&&(!Object(u.isEmpty)(t)||!o),[h,O]=Object(i.useState)(b?"gradient":!!f&&"color");return f||g?Object(i.createElement)(p.BaseControl,{className:s()("block-editor-color-gradient-control",r)},Object(i.createElement)("fieldset",null,Object(i.createElement)("legend",null,Object(i.createElement)("div",{className:"block-editor-color-gradient-control__color-indicator"},Object(i.createElement)(p.BaseControl.VisualLabel,null,Object(i.createElement)(Go,{currentTab:h,label:c,colorValue:d,gradientValue:b})))),f&&g&&Object(i.createElement)(p.ButtonGroup,{className:"block-editor-color-gradient-control__button-tabs"},Object(i.createElement)(p.Button,{isSmall:!0,isPressed:"color"===h,onClick:()=>O("color")},Object(v.__)("Solid")),Object(i.createElement)(p.Button,{isSmall:!0,isPressed:"gradient"===h,onClick:()=>O("gradient")},Object(v.__)("Gradient"))),("color"===h||!g)&&Object(i.createElement)(p.ColorPalette,{value:d,onChange:g?e=>{l(e),a()}:l,colors:e,disableCustomColors:n,clearable:m}),("gradient"===h||!f)&&Object(i.createElement)(p.__experimentalGradientPicker,{value:b,onChange:f?e=>{a(e),l()}:a,gradients:t,disableCustomGradients:o,clearable:m}))):null}function Wo(e){const t={};return t.colors=Bo("color.palette"),t.gradients=Bo("color.gradients"),t.disableCustomColors=!Bo("color.custom"),t.disableCustomGradients=!Bo("color.customGradient"),Object(i.createElement)(Uo,Object(l.a)({},t,e))}var Ko=function(e){return Object(u.every)(zo,t=>e.hasOwnProperty(t))?Object(i.createElement)(Uo,e):Object(i.createElement)(Wo,e)};const qo=e=>{if(!Object(u.isObject)(e)||Array.isArray(e))return e;const t=Object(u.pickBy)(Object(u.mapValues)(e,qo),u.identity);return Object(u.isEmpty)(t)?void 0:t},$o=[];function Yo(e){var t;const{attributes:{borderColor:n,style:o},setAttributes:r}=e,c=Bo("color.palette")||$o,l=!Bo("color.custom"),a=!Bo("color.customGradient");return Object(i.createElement)(Ko,{label:Object(v.__)("Border color"),value:n||(null==o||null===(t=o.border)||void 0===t?void 0:t.color),colors:c,gradients:void 0,disableCustomColors:l,disableCustomGradients:a,onColorChange:e=>{const t=No(c,e),n={...o,border:{...null==o?void 0:o.border,color:null!=t&&t.slug?void 0:e}},l=null!=t&&t.slug?t.slug:void 0;r({style:qo(n),borderColor:l})}})}function Xo(e,t,n){var o;if(!cr(t,"color")||lr(t))return e;const{borderColor:r,style:c}=n,l=Po("border-color",r),i=s()(e.className,{"has-border-color":r||(null==c||null===(o=c.border)||void 0===o?void 0:o.color),[l]:!!l});return e.className=i||void 0,e}const Qo=Object(d.createHigherOrderComponent)(e=>t=>{var n,o;const{name:r,attributes:c}=t,{borderColor:a}=c,s=Bo("color.palette")||$o;if(!cr(r,"color")||lr(r))return Object(i.createElement)(e,t);const u={borderColor:a?null===(n=To(s,a))||void 0===n?void 0:n.color:void 0};let d=t.wrapperProps;return d={...t.wrapperProps,style:{...u,...null===(o=t.wrapperProps)||void 0===o?void 0:o.style}},Object(i.createElement)(e,Object(l.a)({},t,{wrapperProps:d}))});Object(b.addFilter)("blocks.registerBlockType","core/border/addAttributes",(function(e){return cr(e,"color")?e.attributes.borderColor?e:{...e,attributes:{...e.attributes,borderColor:{type:"string"}}}:e})),Object(b.addFilter)("blocks.getSaveContent.extraProps","core/border/addSaveProps",Xo),Object(b.addFilter)("blocks.registerBlockType","core/border/addEditProps",(function(e){if(!cr(e,"color")||lr(e))return e;const t=e.getEditWrapperProps;return e.getEditWrapperProps=n=>{let o={};return t&&(o=t(n)),Xo(o,e,n)},e})),Object(b.addFilter)("editor.BlockListBlock","core/border/with-border-color-palette-styles",Qo);function Zo(e){var t;const{attributes:{style:n},setAttributes:o}=e;return Object(i.createElement)(p.RangeControl,{value:null==n||null===(t=n.border)||void 0===t?void 0:t.radius,label:Object(v.__)("Border radius"),min:0,max:50,initialPosition:0,allowReset:!0,onChange:e=>{let t={...n,border:{...null==n?void 0:n.border,radius:e}};void 0===e&&(t=qo(t)),o({style:t})}})}const Jo={key:"default",name:Object(v.__)("Default"),style:{borderStyle:void 0}},er=[Jo,{key:"none",name:Object(v.__)("None"),style:{borderStyle:"none"}},{key:"solid",name:Object(v.__)("Solid"),style:{borderStyle:"solid"}},{key:"dashed",name:Object(v.__)("Dashed"),style:{borderStyle:"dashed"}},{key:"dotted",name:Object(v.__)("Dotted"),style:{borderStyle:"dotted"}}];function tr({onChange:e,value:t}){const n=er.find(e=>e.key===t);return Object(i.createElement)("fieldset",{className:"components-border-style-control"},Object(i.createElement)(p.CustomSelectControl,{className:"components-border-style-control__select",label:Object(v.__)("Border style"),options:er,value:n||Jo,onChange:({selectedItem:t})=>"default"===t.key?e(void 0):e(t.key)}))}const nr=e=>{var t;const{attributes:{style:n},setAttributes:o}=e;return Object(i.createElement)(tr,{value:null==n||null===(t=n.border)||void 0===t?void 0:t.style,onChange:e=>{const t={...n,border:{...null==n?void 0:n.border,style:e}};o({style:qo(t)})}})},or=e=>{var t;const{attributes:{style:n},setAttributes:o}=e;return Object(i.createElement)(p.RangeControl,{value:null==n||null===(t=n.border)||void 0===t?void 0:t.width,label:Object(v.__)("Border width"),min:0,max:50,initialPosition:0,allowReset:!0,onChange:e=>{const t={...n,border:{...null==n?void 0:n.border,width:e}};o({style:qo(t)})}})};function rr(e){const t=ir(e),n=cr(e.name),o=Bo("border.customColor")&&cr(e.name,"color"),r=Bo("border.customRadius")&&cr(e.name,"radius"),c=Bo("border.customStyle")&&cr(e.name,"style"),l=Bo("border.customWidth")&&cr(e.name,"width");return t||!n?null:Object(i.createElement)(ko,null,Object(i.createElement)(p.PanelBody,{title:Object(v.__)("Border settings"),initialOpen:!1},c&&Object(i.createElement)(nr,e),l&&Object(i.createElement)(or,e),r&&Object(i.createElement)(Zo,e),o&&Object(i.createElement)(Yo,e)))}function cr(e,t="any"){if("web"!==i.Platform.OS)return!1;const n=Object(m.getBlockSupport)(e,"__experimentalBorder");return!0===n||("any"===t?!!(null!=n&&n.color||null!=n&&n.radius||null!=n&&n.width||null!=n&&n.style):!(null==n||!n[t]))}function lr(e){const t=Object(m.getBlockSupport)(e,"__experimentalBorder");return null==t?void 0:t.__experimentalSkipSerialization}const ir=()=>[!Bo("border.customColor"),!Bo("border.customRadius"),!Bo("border.customStyle"),!Bo("border.customWidth")].every(Boolean),ar=Object(v.__)("(%s: color %s)"),sr=Object(v.__)("(%s: gradient %s)"),ur=["colors","disableCustomColors","gradients","disableCustomGradients"],dr=({colors:e,gradients:t,settings:n})=>n.map(({colorValue:n,gradientValue:o,label:r,colors:c,gradients:l},a)=>{if(!n&&!o)return null;let s;if(n){const t=No(c||e,n);s=Object(v.sprintf)(ar,r.toLowerCase(),t&&t.name||n)}else{const e=Mo(l||t,n);s=Object(v.sprintf)(sr,r.toLowerCase(),e&&e.name||o)}return Object(i.createElement)(p.ColorIndicator,{key:a,colorValue:n||o,"aria-label":s})}),br=({className:e,colors:t,gradients:n,disableCustomColors:o,disableCustomGradients:r,children:c,settings:a,title:d,...b})=>{if(Object(u.isEmpty)(t)&&Object(u.isEmpty)(n)&&o&&r&&Object(u.every)(a,e=>Object(u.isEmpty)(e.colors)&&Object(u.isEmpty)(e.gradients)&&(void 0===e.disableCustomColors||e.disableCustomColors)&&(void 0===e.disableCustomGradients||e.disableCustomGradients)))return null;const m=Object(i.createElement)("span",{className:"block-editor-panel-color-gradient-settings__panel-title"},d,Object(i.createElement)(dr,{colors:t,gradients:n,settings:a}));return Object(i.createElement)(p.PanelBody,Object(l.a)({className:s()("block-editor-panel-color-gradient-settings",e),title:m},b),a.map((e,c)=>Object(i.createElement)(Ko,Object(l.a)({key:c,colors:t,gradients:n,disableCustomColors:o,disableCustomGradients:r},e))),c)},mr=e=>{const t={};return t.colors=Bo("color.palette"),t.gradients=Bo("color.gradients"),t.disableCustomColors=!Bo("color.custom"),t.disableCustomGradients=!Bo("color.customGradient"),Object(i.createElement)(br,Object(l.a)({},t,e))};var pr=e=>Object(u.every)(ur,t=>e.hasOwnProperty(t))?Object(i.createElement)(br,e):Object(i.createElement)(mr,e);function fr({tinyBackgroundColor:e,tinyTextColor:t,backgroundColor:n,textColor:o}){const r=e.getBrightness(){Object(Ct.speak)(Object(v.__)("This color combination may be hard for people to read."))},[n,o]),Object(i.createElement)("div",{className:"block-editor-contrast-checker"},Object(i.createElement)(p.Notice,{spokenMessage:null,status:"warning",isDismissible:!1},r))}var gr=function({backgroundColor:e,fallbackBackgroundColor:t,fallbackTextColor:n,fontSize:o,isLargeText:r,textColor:c}){if(!e&&!t||!c&&!n)return null;const l=xo()(e||t),a=xo()(c||n);return 1!==l.getAlpha()||1!==a.getAlpha()||xo.a.isReadable(l,a,{level:"AA",size:r||!1!==r&&o>=24?"large":"small"})?null:Object(i.createElement)(fr,{backgroundColor:e,textColor:c,tinyBackgroundColor:l,tinyTextColor:a})};const hr=Object(i.createContext)();function Or({children:e}){const t=Object(i.useMemo)(()=>({refs:new Map,callbacks:new Map}),[]);return Object(i.createElement)(hr.Provider,{value:t},e)}function vr(e){const{refs:t,callbacks:n}=Object(i.useContext)(hr),o=Object(i.useRef)();return Object(i.useLayoutEffect)(()=>(t.set(o,e),()=>{t.delete(o)}),[e]),Object(d.useRefEffect)(t=>{o.current=t,n.forEach((n,o)=>{e===n&&o(t)})},[e])}function jr(e){const{refs:t}=Object(i.useContext)(hr),n=Object(i.useRef)();return n.current=e,Object(i.useMemo)(()=>({get current(){let e=null;for(const[o,r]of t.entries())r===n.current&&o.current&&(e=o.current);return e}}),[])}function kr(e){const{callbacks:t}=Object(i.useContext)(hr),n=jr(e),[o,r]=Object(i.useState)(null);return Object(i.useLayoutEffect)(()=>{if(e)return t.set(r,e),()=>{t.delete(r)}},[e]),n.current||o}function _r(e){return e.ownerDocument.defaultView.getComputedStyle(e)}function yr({settings:e,clientId:t,enableContrastChecking:n=!0}){const[o,r]=Object(i.useState)(),[c,l]=Object(i.useState)(),a=jr(t);return Object(i.useEffect)(()=>{if(!n)return;if(!a.current)return;l(_r(a.current).color);let e=a.current,t=_r(e).backgroundColor;for(;"rgba(0, 0, 0, 0)"===t&&e.parentNode&&e.parentNode.nodeType===e.parentNode.ELEMENT_NODE;)e=e.parentNode,t=_r(e).backgroundColor;r(t)}),Object(i.createElement)(ko,null,Object(i.createElement)(pr,{title:Object(v.__)("Color"),initialOpen:!1,settings:e},n&&Object(i.createElement)(gr,{backgroundColor:o,textColor:c})))}const Er=[],Cr=e=>{const t=Object(m.getBlockSupport)(e,"color");return t&&(!0===t.link||!0===t.gradient||!1!==t.background||!1!==t.text)},Sr=e=>{const t=Object(m.getBlockSupport)(e,"color");return null==t?void 0:t.__experimentalSkipSerialization},wr=e=>{if("web"!==i.Platform.OS)return!1;const t=Object(m.getBlockSupport)(e,"color");return Object(u.isObject)(t)&&!!t.gradients};function Br(e,t,n){var o,r,c,l,i,a;if(!Cr(t)||Sr(t))return e;const u=wr(t),{backgroundColor:d,textColor:b,gradient:m,style:p}=n,f=Po("background-color",d),g=Ro(m),h=Po("color",b),O=s()(e.className,h,g,{[f]:!(u&&null!=p&&null!==(o=p.color)&&void 0!==o&&o.gradient||!f),"has-text-color":b||(null==p||null===(r=p.color)||void 0===r?void 0:r.text),"has-background":d||(null==p||null===(c=p.color)||void 0===c?void 0:c.background)||u&&(m||(null==p||null===(l=p.color)||void 0===l?void 0:l.gradient)),"has-link-color":null==p||null===(i=p.elements)||void 0===i||null===(a=i.link)||void 0===a?void 0:a.color});return e.className=O||void 0,e}const Ir=(e,t)=>{const n=/var:preset\|color\|(.+)/.exec(t);return n&&n[1]?To(e,n[1]).color:t};function xr(e){var t,n,o,r,c,l,a,s,d;const{name:b,attributes:p}=e,f=Bo("color.palette")||Er,g=Bo("color.gradients")||Er,h=Bo("color.custom"),O=Bo("color.customGradient"),j=Bo("color.link"),k=Object(i.useRef)(p);if(Object(i.useEffect)(()=>{k.current=p},[p]),!Cr(b)||"web"!==i.Platform.OS)return null;const _=(e=>{if("web"!==i.Platform.OS)return!1;const t=Object(m.getBlockSupport)(e,"color");return Object(u.isObject)(t)&&!!t.link})(b)&&j&&(f.length>0||h),y=(e=>{const t=Object(m.getBlockSupport)(e,"color");return t&&!1!==t.text})(b)&&(f.length>0||h),E=(e=>{const t=Object(m.getBlockSupport)(e,"color");return t&&!1!==t.background})(b)&&(f.length>0||h),C=wr(b)&&(g.length>0||O);if(!(_||y||E||C))return null;const{style:S,textColor:w,backgroundColor:B,gradient:I}=p;let x;if(C&&I)x=Ao(g,I);else if(C){var T;x=null==S||null===(T=S.color)||void 0===T?void 0:T.gradient}const N=t=>n=>{var o,r;const c=No(f,n),l=t+"Color",i={...k.current.style,color:{...null===(o=k.current)||void 0===o||null===(r=o.style)||void 0===r?void 0:r.color,[t]:null!=c&&c.slug?void 0:n}},a=null!=c&&c.slug?c.slug:void 0,s={style:qo(i),[l]:a};e.setAttributes(s),k.current={...k.current,...s}};return Object(i.createElement)(yr,{enableContrastChecking:!("web"!==i.Platform.OS||I||null!=S&&null!==(t=S.color)&&void 0!==t&&t.gradient),clientId:e.clientId,settings:[...y?[{label:Object(v.__)("Text color"),onColorChange:N("text"),colorValue:To(f,w,null==S||null===(n=S.color)||void 0===n?void 0:n.text).color}]:[],...E||C?[{label:Object(v.__)("Background color"),onColorChange:E?N("background"):void 0,colorValue:To(f,B,null==S||null===(o=S.color)||void 0===o?void 0:o.background).color,gradientValue:x,onGradientChange:C?t=>{const n=Do(g,t);let o;if(n){var r,c,l;const e={...null===(r=k.current)||void 0===r?void 0:r.style,color:{...null===(c=k.current)||void 0===c||null===(l=c.style)||void 0===l?void 0:l.color,gradient:void 0}};o={style:qo(e),gradient:n}}else{var i,a,s;const e={...null===(i=k.current)||void 0===i?void 0:i.style,color:{...null===(a=k.current)||void 0===a||null===(s=a.style)||void 0===s?void 0:s.color,gradient:t}};o={style:qo(e),gradient:void 0}}e.setAttributes(o),k.current={...k.current,...o}}:void 0}]:[],..._?[{label:Object(v.__)("Link Color"),onColorChange:t=>{const n=No(f,t),o=null!=n&&n.slug?"var:preset|color|"+n.slug:t,r=function(e,t,n){return Object(u.setWith)(e?Object(u.clone)(e):{},t,n,u.clone)}(S,["elements","link","color","text"],o);e.setAttributes({style:r})},colorValue:Ir(f,null==S||null===(r=S.elements)||void 0===r||null===(c=r.link)||void 0===c||null===(l=c.color)||void 0===l?void 0:l.text),clearable:!(null==S||null===(a=S.elements)||void 0===a||null===(s=a.link)||void 0===s||null===(d=s.color)||void 0===d||!d.text)}]:[]]})}const Tr=Object(d.createHigherOrderComponent)(e=>t=>{var n,o,r;const{name:c,attributes:a}=t,{backgroundColor:s,textColor:u}=a,d=Bo("color.palette")||Er;if(!Cr(c)||Sr(c))return Object(i.createElement)(e,t);const b={color:u?null===(n=To(d,u))||void 0===n?void 0:n.color:void 0,backgroundColor:s?null===(o=To(d,s))||void 0===o?void 0:o.color:void 0};let m=t.wrapperProps;return m={...t.wrapperProps,style:{...b,...null===(r=t.wrapperProps)||void 0===r?void 0:r.style}},Object(i.createElement)(e,Object(l.a)({},t,{wrapperProps:m}))});Object(b.addFilter)("blocks.registerBlockType","core/color/addAttribute",(function(e){return Cr(e)?(e.attributes.backgroundColor||Object.assign(e.attributes,{backgroundColor:{type:"string"}}),e.attributes.textColor||Object.assign(e.attributes,{textColor:{type:"string"}}),wr(e)&&!e.attributes.gradient&&Object.assign(e.attributes,{gradient:{type:"string"}}),e):e})),Object(b.addFilter)("blocks.getSaveContent.extraProps","core/color/addSaveProps",Br),Object(b.addFilter)("blocks.registerBlockType","core/color/addEditProps",(function(e){if(!Cr(e)||Sr(e))return e;const t=e.getEditWrapperProps;return e.getEditWrapperProps=n=>{let o={};return t&&(o=t(n)),Br(o,e,n)},e})),Object(b.addFilter)("editor.BlockListBlock","core/color/with-color-palette-styles",Tr);var Nr=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.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"})),Pr=n("Crq9");const Lr=[{name:Object(v.__)("Underline"),value:"underline",icon:Nr},{name:Object(v.__)("Strikethrough"),value:"line-through",icon:Pr.a}];function Rr({value:e,onChange:t}){return Object(i.createElement)("fieldset",{className:"block-editor-text-decoration-control"},Object(i.createElement)("legend",null,Object(v.__)("Decoration")),Object(i.createElement)("div",{className:"block-editor-text-decoration-control__buttons"},Lr.map(n=>Object(i.createElement)(p.Button,{key:n.value,icon:n.icon,isSmall:!0,isPressed:n.value===e,onClick:()=>t(n.value===e?void 0:n.value),"aria-label":n.name}))))}function Ar(e){var t;const{attributes:{style:n},setAttributes:o}=e;if(Mr(e))return null;return Object(i.createElement)(Rr,{value:null==n||null===(t=n.typography)||void 0===t?void 0:t.textDecoration,onChange:function(e){o({style:qo({...n,typography:{...null==n?void 0:n.typography,textDecoration:e}})})}})}function Mr({name:e}={}){const t=!Object(m.hasBlockSupport)(e,"typography.__experimentalTextDecoration"),n=Bo("typography.customTextDecorations");return t||!n}var Dr=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.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"}));var Fr=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.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"}));var Vr=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.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"}));const Hr=[{name:Object(v.__)("Uppercase"),value:"uppercase",icon:Dr},{name:Object(v.__)("Lowercase"),value:"lowercase",icon:Fr},{name:Object(v.__)("Capitalize"),value:"capitalize",icon:Vr}];function zr({value:e,onChange:t}){return Object(i.createElement)("fieldset",{className:"block-editor-text-transform-control"},Object(i.createElement)("legend",null,Object(v.__)("Letter case")),Object(i.createElement)("div",{className:"block-editor-text-transform-control__buttons"},Hr.map(n=>Object(i.createElement)(p.Button,{key:n.value,icon:n.icon,isSmall:!0,isPressed:e===n.value,"aria-label":n.name,onClick:()=>t(e===n.value?void 0:n.value)}))))}function Gr(e){var t;const{attributes:{style:n},setAttributes:o}=e;if(Ur(e))return null;return Object(i.createElement)(zr,{value:null==n||null===(t=n.typography)||void 0===t?void 0:t.textTransform,onChange:function(e){o({style:qo({...n,typography:{...null==n?void 0:n.typography,textTransform:e}})})}})}function Ur({name:e}={}){const t=!Object(m.hasBlockSupport)(e,"typography.__experimentalTextTransform"),n=Bo("typography.customTextTransforms");return t||!n}function Wr(e){const t=!Mr(e),n=!Ur(e);return t||n?Object(i.createElement)("div",{className:"block-editor-text-decoration-and-transform"},t&&Object(i.createElement)(Ar,e),n&&Object(i.createElement)(Gr,e)):null}var Kr=n("RxS6");function qr({value:e,onChange:t}){const n=function(e){return void 0!==e&&""!==e}(e),o=n?e:"";return Object(i.createElement)("div",{className:"block-editor-line-height-control"},Object(i.createElement)(p.TextControl,{autoComplete:"off",onKeyDown:e=>{const{keyCode:o}=e;o!==Kr.ZERO||n||(e.preventDefault(),t("0"))},onChange:e=>{if(n)return void t(e);let o=e;switch(e){case"0.1":o=1.6;break;case"0":o=1.4}t(o)},label:Object(v.__)("Line height"),placeholder:1.5,step:.1,type:"number",value:o,min:0}))}function $r(e){var t;const{attributes:{style:n}}=e;if(Yr(e))return null;return Object(i.createElement)(qr,{value:null==n||null===(t=n.typography)||void 0===t?void 0:t.lineHeight,onChange:t=>{const o={...n,typography:{...null==n?void 0:n.typography,lineHeight:t}};e.setAttributes({style:qo(o)})}})}function Yr({name:e}={}){const t=!Bo("typography.customLineHeight");return!Object(m.hasBlockSupport)(e,"typography.lineHeight")||t}const Xr=[{name:Object(v.__)("Regular"),value:"normal"},{name:Object(v.__)("Italic"),value:"italic"}],Qr=[{name:Object(v.__)("Thin"),value:"100"},{name:Object(v.__)("Extra Light"),value:"200"},{name:Object(v.__)("Light"),value:"300"},{name:Object(v.__)("Regular"),value:"400"},{name:Object(v.__)("Medium"),value:"500"},{name:Object(v.__)("Semi Bold"),value:"600"},{name:Object(v.__)("Bold"),value:"700"},{name:Object(v.__)("Extra Bold"),value:"800"},{name:Object(v.__)("Black"),value:"900"}];function Zr(e){const{onChange:t,hasFontStyles:n=!0,hasFontWeights:o=!0,value:{fontStyle:r,fontWeight:c}}=e,l=n||o,a={key:"default",name:Object(v.__)("Default"),style:{fontStyle:void 0,fontWeight:void 0}},s=Object(i.useMemo)(()=>n&&o?(()=>{const e=[a];return Xr.forEach(({name:t,value:n})=>{Qr.forEach(({name:o,value:r})=>{const c="normal"===n?o:Object(v.sprintf)(Object(v.__)("%1$s %2$s"),o,t);e.push({key:`${n}-${r}`,name:c,style:{fontStyle:n,fontWeight:r}})})}),e})():n?(()=>{const e=[a];return Xr.forEach(({name:t,value:n})=>{e.push({key:n,name:t,style:{fontStyle:n,fontWeight:void 0}})}),e})():(()=>{const e=[a];return Qr.forEach(({name:t,value:n})=>{e.push({key:n,name:t,style:{fontStyle:void 0,fontWeight:n}})}),e})(),[e.options]),u=s.find(e=>e.style.fontStyle===r&&e.style.fontWeight===c);return Object(i.createElement)("fieldset",{className:"components-font-appearance-control"},l&&Object(i.createElement)(p.CustomSelectControl,{className:"components-font-appearance-control__select",label:n?o?Object(v.__)("Appearance"):Object(v.__)("Font style"):Object(v.__)("Font weight"),options:s,value:u,onChange:({selectedItem:e})=>t(e.style)}))}function Jr(e){var t,n;const{attributes:{style:o},setAttributes:r}=e,c=!ec(e),l=!tc(e);if(!c&&!l)return null;const a=null==o||null===(t=o.typography)||void 0===t?void 0:t.fontStyle,s=null==o||null===(n=o.typography)||void 0===n?void 0:n.fontWeight;return Object(i.createElement)(Zr,{onChange:e=>{r({style:qo({...o,typography:{...null==o?void 0:o.typography,fontStyle:e.fontStyle,fontWeight:e.fontWeight}})})},hasFontStyles:c,hasFontWeights:l,value:{fontStyle:a,fontWeight:s}})}function ec({name:e}={}){const t=Object(m.hasBlockSupport)(e,"typography.__experimentalFontStyle"),n=Bo("typography.customFontStyle");return!t||!n}function tc({name:e}={}){const t=Object(m.hasBlockSupport)(e,"typography.__experimentalFontWeight"),n=Bo("typography.customFontWeight");return!t||!n}function nc(e){const t=ec(e),n=tc(e);return t&&n}function oc({value:e="",onChange:t,fontFamilies:n,...o}){const r=Bo("typography.fontFamilies");if(n||(n=r),Object(u.isEmpty)(n))return null;const c=[{value:"",label:Object(v.__)("Default")},...n.map(({fontFamily:e,name:t})=>({value:e,label:t||e}))];return Object(i.createElement)(p.SelectControl,Object(l.a)({label:Object(v.__)("Font family"),options:c,value:e,onChange:t,labelPosition:"top"},o))}function rc({name:e,setAttributes:t,attributes:{style:n={}}}){var o;const r=Bo("typography.fontFamilies");if(cc({name:e}))return null;const c=((e,t)=>{const n=/var:preset\|font-family\|(.+)/.exec(t);if(n&&n[1]){const t=Object(u.find)(e,({slug:e})=>e===n[1]);if(t)return t.fontFamily}return t})(r,null===(o=n.typography)||void 0===o?void 0:o.fontFamily);return Object(i.createElement)(oc,{className:"block-editor-hooks-font-family-control",fontFamilies:r,value:c,onChange:function(e){const o=Object(u.find)(r,({fontFamily:t})=>t===e);t({style:qo({...n,typography:{...n.typography||{},fontFamily:o?"var:preset|font-family|"+o.slug:e||void 0}})})}})}function cc({name:e}){const t=Bo("typography.fontFamilies");return!t||0===t.length||!Object(m.hasBlockSupport)(e,"typography.__experimentalFontFamily")}var lc=n("BLeD"),ic=n.n(lc);const ac=(e,t,n)=>{if(t){const n=Object(u.find)(e,{slug:t});if(n)return n}return{size:n}};function sc(e,t){const n=Object(u.find)(e,{size:t});return n||{size:t}}function uc(e){if(e)return`has-${Object(u.kebabCase)(e)}-font-size`}var dc=function(e){const t=Bo("typography.fontSizes"),n=!Bo("typography.customFontSize");return Object(i.createElement)(p.FontSizePicker,Object(l.a)({},e,{fontSizes:t,disableCustomFontSizes:n}))};function bc(e,t,n){if(!Object(m.hasBlockSupport)(t,"typography.fontSize"))return e;if(Object(m.hasBlockSupport)(t,"typography.__experimentalSkipSerialization"))return e;const o=new ic.a(e.className);o.add(uc(n.fontSize));const r=o.value;return e.className=r||void 0,e}function mc(e){var t,n;const{attributes:{fontSize:o,style:r},setAttributes:c}=e,l=pc(e),a=Bo("typography.fontSizes");if(l)return null;const s=ac(a,o,null==r||null===(t=r.typography)||void 0===t?void 0:t.fontSize),u=(null==s?void 0:s.size)||(null==r||null===(n=r.typography)||void 0===n?void 0:n.fontSize)||o;return Object(i.createElement)(dc,{onChange:e=>{const t=sc(a,e).slug;c({style:qo({...r,typography:{...null==r?void 0:r.typography,fontSize:t?void 0:e}}),fontSize:t})},value:u})}function pc({name:e}={}){const t=Bo("typography.fontSizes"),n=!(null==t||!t.length);return!Object(m.hasBlockSupport)(e,"typography.fontSize")||!n}const fc=Object(d.createHigherOrderComponent)(e=>t=>{var n,o;const r=Bo("typography.fontSizes"),{name:c,attributes:{fontSize:l,style:a},wrapperProps:s}=t;if(!Object(m.hasBlockSupport)(c,"typography.fontSize")||Object(m.hasBlockSupport)(c,"typography.__experimentalSkipSerialization")||!l||null!=a&&null!==(n=a.typography)&&void 0!==n&&n.fontSize)return Object(i.createElement)(e,t);const u=ac(r,l,null==a||null===(o=a.typography)||void 0===o?void 0:o.fontSize).size,d={...t,wrapperProps:{...s,style:{fontSize:u,...null==s?void 0:s.style}}};return Object(i.createElement)(e,d)},"withFontSizeInlineStyles");Object(b.addFilter)("blocks.registerBlockType","core/font/addAttribute",(function(e){return Object(m.hasBlockSupport)(e,"typography.fontSize")?(e.attributes.fontSize||Object.assign(e.attributes,{fontSize:{type:"string"}}),e):e})),Object(b.addFilter)("blocks.getSaveContent.extraProps","core/font/addSaveProps",bc),Object(b.addFilter)("blocks.registerBlockType","core/font/addEditProps",(function(e){if(!Object(m.hasBlockSupport)(e,"typography.fontSize"))return e;const t=e.getEditWrapperProps;return e.getEditWrapperProps=n=>{let o={};return t&&(o=t(n)),bc(o,e,n)},e})),Object(b.addFilter)("editor.BlockListBlock","core/font-size/with-font-size-inline-styles",fc);const gc=["typography.lineHeight","typography.fontSize","typography.__experimentalFontStyle","typography.__experimentalFontWeight","typography.__experimentalFontFamily","typography.__experimentalTextDecoration","typography.__experimentalTextTransform"];function hc(e){const t=function(e={}){const t=[nc(e),pc(e),Yr(e),cc(e),Mr(e),Ur(e)];return t.filter(Boolean).length===t.length}(e),n=Oc(e.name);return t||!n?null:Object(i.createElement)(ko,null,Object(i.createElement)(p.PanelBody,{title:Object(v.__)("Typography")},Object(i.createElement)(p.__unstableComponentSystemProvider,{__unstableNextInclude:["WPComponentsFontSizePicker"]},Object(i.createElement)(rc,e),Object(i.createElement)(mc,e),Object(i.createElement)(Jr,e),Object(i.createElement)($r,e),Object(i.createElement)(Wr,e))))}const Oc=e=>"web"===i.Platform.OS&&gc.some(t=>Object(m.hasBlockSupport)(e,t));function vc(e){const t=Object(m.getBlockSupport)(e,Cc);return!!(!0===t||null!=t&&t.margin)}function jc({name:e}={}){const t=!Bo("spacing.customMargin");return!vc(e)||t}function kc(e){var t;const{name:n,attributes:{style:o},setAttributes:r}=e,c=Object(p.__experimentalUseCustomUnits)({availableUnits:Bo("spacing.units")||["%","px","em","rem","vw"]}),l=Bc(n,"margin");if(jc(e))return null;return i.Platform.select({web:Object(i.createElement)(i.Fragment,null,Object(i.createElement)(p.__experimentalBoxControl,{values:null==o||null===(t=o.spacing)||void 0===t?void 0:t.margin,onChange:e=>{const t={...o,spacing:{...null==o?void 0:o.spacing,margin:e}};r({style:qo(t)})},onChangeShowVisualizer:e=>{const t={...o,visualizers:{margin:e}};r({style:qo(t)})},label:Object(v.__)("Margin"),sides:l,units:c})),native:null})}function _c(e){const t=Object(m.getBlockSupport)(e,Cc);return!!(!0===t||null!=t&&t.padding)}function yc({name:e}={}){const t=!Bo("spacing.customPadding");return!_c(e)||t}function Ec(e){var t;const{name:n,attributes:{style:o},setAttributes:r}=e,c=Object(p.__experimentalUseCustomUnits)({availableUnits:Bo("spacing.units")||["%","px","em","rem","vw"]}),l=Bc(n,"padding");if(yc(e))return null;return i.Platform.select({web:Object(i.createElement)(i.Fragment,null,Object(i.createElement)(p.__experimentalBoxControl,{values:null==o||null===(t=o.spacing)||void 0===t?void 0:t.padding,onChange:e=>{const t={...o,spacing:{...null==o?void 0:o.spacing,padding:e}};r({style:qo(t)})},onChangeShowVisualizer:e=>{const t={...o,visualizers:{padding:e}};r({style:qo(t)})},label:Object(v.__)("Padding"),sides:l,units:c})),native:null})}const Cc="spacing";function Sc(e){const t=wc(e),n=function(e){if("web"!==i.Platform.OS)return!1;return _c(e)||vc(e)}(e.name);return t||!n?null:Object(i.createElement)(ko,{key:"spacing"},Object(i.createElement)(p.PanelBody,{title:Object(v.__)("Spacing")},Object(i.createElement)(Ec,e),Object(i.createElement)(kc,e)))}const wc=(e={})=>{const t=yc(e),n=jc(e);return t&&n};function Bc(e,t){const n=Object(m.getBlockSupport)(e,Cc);if("boolean"!=typeof n[t])return n[t]}const Ic=[...gc,"__experimentalBorder","color",Cc],xc=e=>Ic.some(t=>Object(m.hasBlockSupport)(e,t));function Tc(e){if(Object(u.startsWith)(e,"var:")){return`var(--wp--${e.slice("var:".length).split("|").join("--")})`}return e}function Nc(e={}){const t={};return Object.keys(m.__EXPERIMENTAL_STYLE_PROPERTY).forEach(n=>{const o=m.__EXPERIMENTAL_STYLE_PROPERTY[n].value,r=m.__EXPERIMENTAL_STYLE_PROPERTY[n].properties;Object(u.has)(e,o)&&"elements"!==Object(u.first)(o)&&(r?r.forEach(r=>{t[n+Object(u.capitalize)(r)]=Tc(Object(u.get)(e,[...o,r]))}):t[n]=Tc(Object(u.get)(e,o)))}),t}const Pc={"__experimentalBorder.__experimentalSkipSerialization":["border"],"color.__experimentalSkipSerialization":["color"],"typography.__experimentalSkipSerialization":["typography"]};function Lc(e,t,n){if(!xc(t))return e;let{style:o}=n;return Object(u.forEach)(Pc,(e,n)=>{Object(m.getBlockSupport)(t,n)&&(o=Object(u.omit)(o,e))}),e.style={...Nc(o),...e.style},e}const Rc=Object(d.createHigherOrderComponent)(e=>t=>{const n=An();return Object(i.createElement)(i.Fragment,null,n&&Object(i.createElement)(i.Fragment,null,Object(i.createElement)(hc,t),Object(i.createElement)(rr,t),Object(i.createElement)(xr,t),Object(i.createElement)(Sc,t)),Object(i.createElement)(e,t))},"withToolbarControls"),Ac=Object(d.createHigherOrderComponent)(e=>t=>{var n,o;const r=null===(n=t.attributes.style)||void 0===n?void 0:n.elements,c="wp-elements-"+Object(d.useInstanceId)(e),a=function(e,t={}){return Object(u.map)(t,(t,n)=>{const o=Nc(t);return Object(u.isEmpty)(o)?"":[`.${e} ${m.__EXPERIMENTAL_ELEMENTS[n]}{`,...Object(u.map)(o,(e,t)=>`\t${Object(u.kebabCase)(t)}: ${e}${"link"===n?"!important":""};`),"}"].join("\n")}).join("\n")}(c,null===(o=t.attributes.style)||void 0===o?void 0:o.elements);return Object(i.createElement)(i.Fragment,null,r&&Object(i.createElement)("style",{dangerouslySetInnerHTML:{__html:a}}),Object(i.createElement)(e,Object(l.a)({},t,{className:r?s()(t.className,c):t.className})))});Object(b.addFilter)("blocks.registerBlockType","core/style/addAttribute",(function(e){return xc(e)?(e.attributes.style||Object.assign(e.attributes,{style:{type:"object"}}),e):e})),Object(b.addFilter)("blocks.getSaveContent.extraProps","core/style/addSaveProps",Lc),Object(b.addFilter)("blocks.registerBlockType","core/style/addEditProps",(function(e){if(!xc(e))return e;const t=e.getEditWrapperProps;return e.getEditWrapperProps=n=>{let o={};return t&&(o=t(n)),Lc(o,e,n)},e})),Object(b.addFilter)("editor.BlockEdit","core/style/with-block-controls",Rc),Object(b.addFilter)("editor.BlockListBlock","core/editor/with-elements-styles",Ac);var Mc=function({value:e,onChange:t,onToggle:n,duotonePalette:o,colorPalette:r,disableCustomColors:c,disableCustomDuotone:l}){return Object(i.createElement)(p.Popover,{className:"block-editor-duotone-control__popover",headerTitle:Object(v.__)("Duotone"),onFocusOutside:n},Object(i.createElement)(p.MenuGroup,{label:Object(v.__)("Duotone")},Object(i.createElement)(p.DuotonePicker,{colorPalette:r,duotonePalette:o,disableCustomColors:c,disableCustomDuotone:l,value:e,onChange:t})))};var Dc=function({colorPalette:e,duotonePalette:t,disableCustomColors:n,disableCustomDuotone:o,value:r,onChange:c}){const[l,a]=Object(i.useState)(!1),s=()=>{a(e=>!e)};return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(p.ToolbarButton,{showTooltip:!0,onClick:s,"aria-haspopup":"true","aria-expanded":l,onKeyDown:e=>{l||e.keyCode!==Kr.DOWN||(e.preventDefault(),e.stopPropagation(),s())},label:Object(v.__)("Apply duotone filter"),icon:Object(i.createElement)(p.DuotoneSwatch,{values:r})}),l&&Object(i.createElement)(Mc,{value:r,onChange:c,onToggle:s,duotonePalette:t,colorPalette:e,disableCustomColors:n,disableCustomDuotone:o}))};const Fc=Object(i.createContext)();function Vc({children:e}){const[t,n]=Object(i.useState)();return Object(i.createElement)(Fc.Provider,{value:t},Object(i.createElement)("div",{ref:n}),e)}Vc.context=Fc;const Hc=[];function zc(e=[]){const t={r:[],g:[],b:[]};return e.forEach(e=>{const n=xo()(e);t.r.push(n._r/255),t.g.push(n._g/255),t.b.push(n._b/255)}),t}function Gc({selector:e,id:t,values:n}){const o=`\n${e} {\n\tfilter: url( #${t} );\n}\n`;return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(p.SVG,{xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 0 0",width:"0",height:"0",focusable:"false",role:"none",style:{visibility:"hidden",position:"absolute",left:"-9999px",overflow:"hidden"}},Object(i.createElement)("defs",null,Object(i.createElement)("filter",{id:t},Object(i.createElement)("feColorMatrix",{type:"matrix",values:".299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 0 0 0 1 0"}),Object(i.createElement)("feComponentTransfer",{colorInterpolationFilters:"sRGB"},Object(i.createElement)("feFuncR",{type:"table",tableValues:n.r.join(" ")}),Object(i.createElement)("feFuncG",{type:"table",tableValues:n.g.join(" ")}),Object(i.createElement)("feFuncB",{type:"table",tableValues:n.b.join(" ")}))))),Object(i.createElement)("style",{dangerouslySetInnerHTML:{__html:o}}))}function Uc({attributes:e,setAttributes:t}){var n;const o=null==e?void 0:e.style,r=null==o||null===(n=o.color)||void 0===n?void 0:n.duotone,c=Bo("color.duotone")||Hc,l=Bo("color.palette")||Hc,a=!Bo("color.custom"),s=!Bo("color.customDuotone")||0===(null==l?void 0:l.length)&&a;return 0===(null==c?void 0:c.length)&&s?null:Object(i.createElement)(zn,{group:"block"},Object(i.createElement)(Dc,{duotonePalette:c,colorPalette:l,disableCustomDuotone:s,disableCustomColors:a,value:r,onChange:e=>{const n={...o,color:{...null==o?void 0:o.color,duotone:e}};t({style:n})}}))}const Wc=Object(d.createHigherOrderComponent)(e=>t=>{const n=Object(m.hasBlockSupport)(t.name,"color.__experimentalDuotone");return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(e,t),n&&Object(i.createElement)(Uc,t))},"withDuotoneControls"),Kc=Object(d.createHigherOrderComponent)(e=>t=>{var n,o,r;const c=Object(m.getBlockSupport)(t.name,"color.__experimentalDuotone"),a=null==t||null===(n=t.attributes)||void 0===n||null===(o=n.style)||void 0===o||null===(r=o.color)||void 0===r?void 0:r.duotone;if(!c||!a)return Object(i.createElement)(e,t);const u="wp-duotone-filter-"+Object(d.useInstanceId)(e),b=c.split(",").map(e=>`.${u} ${e.trim()}`).join(", "),p=s()(null==t?void 0:t.className,u),f=Object(i.useContext)(Vc.context);return Object(i.createElement)(i.Fragment,null,f&&Object(i.createPortal)(Object(i.createElement)(Gc,{selector:b,id:u,values:zc(a)}),f),Object(i.createElement)(e,Object(l.a)({},t,{className:p})))},"withDuotoneStyles");Object(b.addFilter)("blocks.registerBlockType","core/editor/duotone/add-attributes",(function(e){return Object(m.hasBlockSupport)(e,"color.__experimentalDuotone")?(e.attributes.style||Object.assign(e.attributes,{style:{type:"object"}}),e):e})),Object(b.addFilter)("editor.BlockEdit","core/editor/duotone/with-editor-controls",Wc),Object(b.addFilter)("editor.BlockListBlock","core/editor/duotone/with-styles",Kc);var qc=n("iClF");function $c({setAttributes:e,attributes:t}){const{layout:n={}}=t,{wideSize:o,contentSize:r,inherit:c=!1}=n,l=Bo("layout"),a=Object(f.useSelect)(e=>{const{getSettings:t}=e(Rn);return t().supportsLayout},[]),s=Object(p.__experimentalUseCustomUnits)({availableUnits:Bo("spacing.units")||["%","px","em","rem","vw"]});return a?Object(i.createElement)(ko,null,Object(i.createElement)(p.PanelBody,{title:Object(v.__)("Layout")},!!l&&Object(i.createElement)(p.ToggleControl,{label:Object(v.__)("Inherit default layout"),checked:!!c,onChange:()=>e({layout:{inherit:!c}})}),!c&&Object(i.createElement)(i.Fragment,null,Object(i.createElement)("div",{className:"block-editor-hooks__layout-controls"},Object(i.createElement)("div",{className:"block-editor-hooks__layout-controls-unit"},Object(i.createElement)(p.__experimentalUnitControl,{label:Object(v.__)("Content"),labelPosition:"top",__unstableInputWidth:"80px",value:r||o||"",onChange:t=>{t=0>parseFloat(t)?"0":t,e({layout:{...n,contentSize:t}})},units:s}),Object(i.createElement)(qc.a,{icon:Wn})),Object(i.createElement)("div",{className:"block-editor-hooks__layout-controls-unit"},Object(i.createElement)(p.__experimentalUnitControl,{label:Object(v.__)("Wide"),labelPosition:"top",__unstableInputWidth:"80px",value:o||r||"",onChange:t=>{t=0>parseFloat(t)?"0":t,e({layout:{...n,wideSize:t}})},units:s}),Object(i.createElement)(qc.a,{icon:qn}))),Object(i.createElement)("div",{className:"block-editor-hooks__layout-controls-reset"},Object(i.createElement)(p.Button,{isSecondary:!0,isSmall:!0,disabled:!r&&!o,onClick:()=>e({layout:{contentSize:void 0,wideSize:void 0,inherit:!1}})},Object(v.__)("Reset")))),Object(i.createElement)("p",{className:"block-editor-hooks__layout-controls-helptext"},Object(v.__)("Customize the width for all elements that are assigned to the center or wide columns.")))):null}const Yc=Object(d.createHigherOrderComponent)(e=>t=>{const{name:n}=t;return[Object(m.hasBlockSupport)(n,"__experimentalLayout")&&Object(i.createElement)($c,Object(l.a)({key:"layout"},t)),Object(i.createElement)(e,Object(l.a)({key:"edit"},t))]},"withInspectorControls"),Xc=Object(d.createHigherOrderComponent)(e=>t=>{const{name:n,attributes:o}=t,r=Object(m.hasBlockSupport)(n,"__experimentalLayout"),c=Object(d.useInstanceId)(e),a=Bo("layout")||{};if(!r)return Object(i.createElement)(e,t);const{layout:u={}}=o,b=u&&u.inherit?a:u,p=s()(null==t?void 0:t.className,"wp-container-"+c),f=Object(i.useContext)(Vc.context);return Object(i.createElement)(i.Fragment,null,f&&Object(i.createPortal)(Object(i.createElement)(Jn,{selector:".wp-container-"+c,layout:b}),f),Object(i.createElement)(e,Object(l.a)({},t,{className:p})))});Object(b.addFilter)("blocks.registerBlockType","core/layout/addAttribute",(function(e){return Object(u.has)(e.attributes,["layout","type"])||Object(m.hasBlockSupport)(e,"__experimentalLayout")&&(e.attributes={...e.attributes,layout:{type:"object"}}),e})),Object(b.addFilter)("editor.BlockListBlock","core/editor/layout/with-layout-styles",Xc),Object(b.addFilter)("editor.BlockEdit","core/editor/layout/with-inspector-controls",Yc);const Qc=[];function Zc({borderColor:e,style:t}){var n;const o=(null==t?void 0:t.border)||{},r=Po("border-color",e);return{className:s()({[r]:!!r,"has-border-color":e||(null==t||null===(n=t.border)||void 0===n?void 0:n.color)})||void 0,style:Nc({border:o})}}function Jc(e){const t=Bo("color.palette")||Qc,n=Zc(e);if(e.borderColor){const o=To(t,e.borderColor);n.style.borderColor=o.color}return n}const el=[];function tl(e){var t,n,o,r,c,l;const{backgroundColor:i,textColor:a,gradient:u,style:d}=e,b=Po("background-color",i),m=Po("color",a),p=Ro(u),f=p||(null==d||null===(t=d.color)||void 0===t?void 0:t.gradient);return{className:s()(m,p,{[b]:!f&&!!b,"has-text-color":a||(null==d||null===(n=d.color)||void 0===n?void 0:n.text),"has-background":i||(null==d||null===(o=d.color)||void 0===o?void 0:o.background)||u||(null==d||null===(r=d.color)||void 0===r?void 0:r.gradient),"has-link-color":null==d||null===(c=d.elements)||void 0===c||null===(l=c.link)||void 0===l?void 0:l.color})||void 0,style:Nc({color:(null==d?void 0:d.color)||{}})}}function nl(e){const{backgroundColor:t,textColor:n,gradient:o}=e,r=Bo("color.palette")||el,c=Bo("color.gradients")||el,l=tl(e);if(t){const e=To(r,t);l.style.backgroundColor=e.color}if(o&&(l.style.background=Ao(c,o)),n){const e=To(r,n);l.style.color=e.color}return l}const ol=[];function rl(e,t){const n=Object(u.reduce)(e,(e,t)=>({...e,...Object(u.isString)(t)?{[t]:Object(u.kebabCase)(t)}:t}),{});return Object(d.compose)([t,e=>class extends i.Component{constructor(e){super(e),this.setters=this.createSetters(),this.colorUtils={getMostReadableColor:this.getMostReadableColor.bind(this)},this.state={}}getMostReadableColor(e){const{colors:t}=this.props;return function(e,t){return xo.a.mostReadable(t,Object(u.map)(e,"color")).toHexString()}(t,e)}createSetters(){return Object(u.reduce)(n,(e,t,n)=>{const o=Object(u.upperFirst)(n),r="custom"+o;return e["set"+o]=this.createSetColor(n,r),e},{})}createSetColor(e,t){return n=>{const o=No(this.props.colors,n);this.props.setAttributes({[e]:o&&o.slug?o.slug:void 0,[t]:o&&o.slug?void 0:n})}}static getDerivedStateFromProps({attributes:e,colors:t},o){return Object(u.reduce)(n,(n,r,c)=>{const l=To(t,e[c],e["custom"+Object(u.upperFirst)(c)]),i=o[c];return(null==i?void 0:i.color)===l.color&&i?n[c]=i:n[c]={...l,class:Po(r,l.slug)},n},{})}render(){return Object(i.createElement)(e,Object(l.a)({},this.props,{colors:void 0},this.state,this.setters,{colorUtils:this.colorUtils}))}}])}function cl(e){return(...t)=>{const n=(e=>Object(d.createHigherOrderComponent)(t=>n=>Object(i.createElement)(t,Object(l.a)({},n,{colors:e})),"withCustomColorPalette"))(e);return Object(d.createHigherOrderComponent)(rl(t,n),"withCustomColors")}}function ll(...e){const t=Object(d.createHigherOrderComponent)(e=>t=>{const n=Bo("color.palette")||ol;return Object(i.createElement)(e,Object(l.a)({},t,{colors:n}))},"withEditorColorPalette");return Object(d.createHigherOrderComponent)(rl(e,t),"withColors")}var il=n("4eJC"),al=n.n(il);var sl=({colorSettings:e,...t})=>{const n=e.map(({value:e,onChange:t,...n})=>({...n,colorValue:e,onColorChange:t}));return Object(i.createElement)(pr,Object(l.a)({settings:n,gradients:[],disableCustomGradients:!0},t))};const ul=(e,t,n)=>"function"==typeof e?e(t):!0===e?n:e;function dl({title:e,colorSettings:t,colorPanelProps:n,contrastCheckers:o,detectedBackgroundColor:r,detectedColor:c,panelChildren:a,initialOpen:s}){return Object(i.createElement)(sl,Object(l.a)({title:e,initialOpen:s,colorSettings:Object.values(t)},n),o&&(Array.isArray(o)?o.map(({backgroundColor:e,textColor:n,...o})=>(e=ul(e,t,r),n=ul(n,t,c),Object(i.createElement)(gr,Object(l.a)({key:`${e}-${n}`,backgroundColor:e,textColor:n},o)))):Object(u.map)(t,({value:e})=>{let{backgroundColor:n,textColor:a}=o;return n=ul(n||e,t,r),a=ul(a||e,t,c),Object(i.createElement)(gr,Object(l.a)({},o,{key:`${n}-${a}`,backgroundColor:n,textColor:a}))})),"function"==typeof a?a(t):a)}function bl(e){return e.ownerDocument.defaultView.getComputedStyle(e)}const ml=[],pl={textColor:Object(v.__)("Text color"),backgroundColor:Object(v.__)("Background color")},fl=e=>Object(i.createElement)(ko,null,Object(i.createElement)(dl,e));function gl(e,{panelTitle:t=Object(v.__)("Color"),colorPanelProps:n,contrastCheckers:o,panelChildren:r,colorDetector:{targetRef:c,backgroundColorTargetRef:l=c,textColorTargetRef:a=c}={}}={panelTitle:Object(v.__)("Color")},d=[]){const{clientId:b}=O(),m=Bo("color.palette")||ml,{attributes:p}=Object(f.useSelect)(e=>{const{getBlockAttributes:t}=e(Rn);return{attributes:t(b)}},[b]),{updateBlockAttributes:g}=Object(f.useDispatch)(Rn),h=Object(i.useCallback)(e=>g(b,e),[g,b]),j=Object(i.useMemo)(()=>al()((e,t,n,o,r,c)=>({children:l,className:a="",style:d={}})=>{let b={};o?b={[t]:r}:c&&(b={[t]:c});const m={className:s()(a,{[`has-${Object(u.kebabCase)(o)}-${Object(u.kebabCase)(t)}`]:o,[n||"has-"+Object(u.kebabCase)(e)]:o||c}),style:{...b,...d}};return Object(u.isFunction)(l)?l(m):i.Children.map(l,e=>Object(i.cloneElement)(e,{className:s()(e.props.className,m.className),style:{...m.style,...e.props.style||{}}}))},{maxSize:e.length}),[e.length]),k=Object(i.useMemo)(()=>al()((e,t)=>n=>{const o=t.find(e=>e.color===n);h({[o?Object(u.camelCase)("custom "+e):e]:void 0}),h({[o?e:Object(u.camelCase)("custom "+e)]:o?o.slug:n})},{maxSize:e.length}),[h,e.length]),[_,y]=Object(i.useState)(),[E,C]=Object(i.useState)();return Object(i.useEffect)(()=>{if(!o)return;let e=!1,t=!1;for(const{backgroundColor:n,textColor:r}of Object(u.castArray)(o))if(e||(e=!0===n),t||(t=!0===r),e&&t)break;if(t&&C(bl(a.current).color),e){let e=l.current,t=bl(e).backgroundColor;for(;"rgba(0, 0, 0, 0)"===t&&e.parentNode&&e.parentNode.nodeType===e.parentNode.ELEMENT_NODE;)e=e.parentNode,t=bl(e).backgroundColor;y(t)}},[e.reduce((e,t)=>`${e} | ${p[t.name]} | ${p[Object(u.camelCase)("custom "+t.name)]}`,""),...d]),Object(i.useMemo)(()=>{const c={},l=e.reduce((e,t)=>{"string"==typeof t&&(t={name:t});const{name:n,property:o=n,className:r,panelLabel:l=t.label||pl[n]||Object(u.startCase)(n),componentName:i=Object(u.startCase)(n).replace(/\s/g,""),color:a=t.color,colors:s=m}={...t,color:p[t.name]},d=p[Object(u.camelCase)("custom "+n)],b=d?void 0:s.find(e=>e.slug===a);return e[i]=j(n,o,r,a,b&&b.color,d),e[i].displayName=i,e[i].color=d||b&&b.color,e[i].slug=a,e[i].setColor=k(n,s),c[i]={value:b?b.color:p[Object(u.camelCase)("custom "+n)],onChange:e[i].setColor,label:l,colors:s},s||delete c[i].colors,e},{}),a={title:t,initialOpen:!1,colorSettings:c,colorPanelProps:n,contrastCheckers:o,detectedBackgroundColor:_,detectedColor:E,panelChildren:r};return{...l,ColorPanel:Object(i.createElement)(dl,a),InspectorControlsColorPanel:Object(i.createElement)(fl,a)}},[p,h,E,_,...d])}const hl=[];var Ol=(...e)=>{const t=Object(u.reduce)(e,(e,t)=>(e[t]="custom"+Object(u.upperFirst)(t),e),{});return Object(d.createHigherOrderComponent)(Object(d.compose)([Object(d.createHigherOrderComponent)(e=>t=>{const n=Bo("typography.fontSizes")||hl;return Object(i.createElement)(e,Object(l.a)({},t,{fontSizes:n}))},"withFontSizes"),e=>class extends i.Component{constructor(e){super(e),this.setters=this.createSetters(),this.state={}}createSetters(){return Object(u.reduce)(t,(e,t,n)=>(e["set"+Object(u.upperFirst)(n)]=this.createSetFontSize(n,t),e),{})}createSetFontSize(e,t){return n=>{const o=Object(u.find)(this.props.fontSizes,{size:Number(n)});this.props.setAttributes({[e]:o&&o.slug?o.slug:void 0,[t]:o&&o.slug?void 0:n})}}static getDerivedStateFromProps({attributes:e,fontSizes:n},o){const r=(t,n)=>!o[n]||(e[n]?e[n]!==o[n].slug:o[n].size!==e[t]);if(!Object(u.some)(t,r))return null;const c=Object(u.reduce)(Object(u.pickBy)(t,r),(t,o,r)=>{const c=e[r],l=ac(n,c,e[o]);return t[r]={...l,class:uc(c)},t},{});return{...o,...c}}render(){return Object(i.createElement)(e,Object(l.a)({},this.props,{fontSizes:void 0},this.state,this.setters))}}]),"withFontSizes")},vl=n("fPbg"),jl=n("plpT"),kl=n("ziDm");const _l=[{icon:vl.a,title:Object(v.__)("Align text left"),align:"left"},{icon:jl.a,title:Object(v.__)("Align text center"),align:"center"},{icon:kl.a,title:Object(v.__)("Align text right"),align:"right"}],yl={position:"bottom right",isAlternate:!0};var El=function({value:e,onChange:t,alignmentControls:n=_l,label:o=Object(v.__)("Align"),describedBy:r=Object(v.__)("Change text alignment"),isCollapsed:c=!0,isToolbar:a}){function s(n){return()=>t(e===n?void 0:n)}const d=Object(u.find)(n,t=>t.align===e),b=a?p.ToolbarGroup:p.ToolbarDropdownMenu,m=a?{isCollapsed:c}:{};return Object(i.createElement)(b,Object(l.a)({icon:d?d.icon:Object(v.isRTL)()?kl.a:vl.a,label:o,toggleProps:{describedBy:r},popoverProps:yl,controls:n.map(t=>{const{align:n}=t,o=e===n;return{...t,isActive:o,role:c?"menuitemradio":void 0,onClick:s(n)}})},m))};function Cl(e){return Object(i.createElement)(El,Object(l.a)({},e,{isToolbar:!1}))}function Sl(e){return Object(i.createElement)(El,Object(l.a)({},e,{isToolbar:!0}))}const wl=e=>e.name||"",Bl=e=>e.title,Il=e=>e.description||"",xl=e=>e.keywords||[],Tl=e=>e.category,Nl=()=>null;function Pl(e=""){return e=(e=(e=Object(u.deburr)(e)).replace(/^\//,"")).toLowerCase()}const Ll=(e="")=>Object(u.words)(Pl(e)),Rl=(e,t,n,o)=>{if(0===Ll(o).length)return e;return Al(e,o,{getCategory:e=>{var n;return null===(n=Object(u.find)(t,{slug:e.category}))||void 0===n?void 0:n.title},getCollection:e=>{var t;return null===(t=n[e.name.split("/")[0]])||void 0===t?void 0:t.title}})},Al=(e=[],t="",n={})=>{if(0===Ll(t).length)return e;const o=e.map(e=>[e,Ml(e,t,n)]).filter(([,e])=>e>0);return o.sort(([,e],[,t])=>t-e),o.map(([e])=>e)};function Ml(e,t,n={}){const{getName:o=wl,getTitle:r=Bl,getDescription:c=Il,getKeywords:l=xl,getCategory:i=Tl,getCollection:a=Nl}=n,s=o(e),d=r(e),b=c(e),m=l(e),p=i(e),f=a(e),g=Pl(t),h=Pl(d);let O=0;if(g===h)O+=30;else if(h.startsWith(g))O+=20;else{const e=[s,d,b,...m,p,f].join(" ");0===((e,t)=>Object(u.differenceWith)(e,Ll(t),(e,t)=>t.includes(e)))(Object(u.words)(g),e).length&&(O+=10)}return 0!==O&&s.startsWith("core/")&&O++,O}var Dl=(e,t)=>{const{categories:n,collections:o,items:r}=Object(f.useSelect)(t=>{const{getInserterItems:n}=t(Rn),{getCategories:o,getCollections:r}=t(m.store);return{categories:o(),collections:r(),items:n(e)}},[e]);return[r,n,o,Object(i.useCallback)(({name:e,initialAttributes:n,innerBlocks:o},r)=>{const c=Object(m.createBlock)(e,n,Object(m.createBlocksFromInnerBlocksTemplate)(o));t(c,void 0,r)},[t])]},Fl=n("//Lo");function Vl({icon:e,showColors:t=!1,className:n}){var o;"block-default"===(null===(o=e)||void 0===o?void 0:o.src)&&(e={src:Fl.a});const r=Object(i.createElement)(p.Icon,{icon:e&&e.src?e.src:e}),c=t?{backgroundColor:e&&e.background,color:e&&e.foreground}:{};return Object(i.createElement)("span",{style:c,className:s()("block-editor-block-icon",n,{"has-colors":t})},r)}var Hl={name:"blocks",className:"block-editor-autocompleters__block",triggerPrefix:"/",useItems(e){const{rootClientId:t,selectedBlockName:n}=Object(f.useSelect)(e=>{const{getSelectedBlockClientId:t,getBlockName:n,getBlockInsertionPoint:o}=e(Rn),r=t();return{selectedBlockName:r?n(r):null,rootClientId:o().rootClientId}},[]),[o,r,c]=Dl(t,u.noop),l=Object(i.useMemo)(()=>(e.trim()?Rl(o,r,c,e):Object(u.orderBy)(o,["frecency"],["desc"])).filter(e=>e.name!==n).slice(0,9),[e,n,o,r,c]);return[Object(i.useMemo)(()=>l.map(e=>{const{title:t,icon:n,isDisabled:o}=e;return{key:"block-"+e.id,value:e,label:Object(i.createElement)(i.Fragment,null,Object(i.createElement)(Vl,{key:"icon",icon:n,showColors:!0}),t),isDisabled:o}}),[l])]},allowContext:(e,t)=>!(/\S/.test(e)||/\S/.test(t)),getOptionCompletion(e){const{name:t,initialAttributes:n,innerBlocks:o}=e;return{action:"replace",value:Object(m.createBlock)(t,n,Object(m.createBlocksFromInnerBlocksTemplate)(o))}}};const zl=[];function Gl({completers:e=zl}){const{name:t}=O();return Object(i.useMemo)(()=>{let n=e;return t===Object(m.getDefaultBlockName)()&&(n=n.concat([Hl])),Object(b.hasFilter)("editor.Autocomplete.completers")&&(n===e&&(n=n.map(u.clone)),n=Object(b.applyFilters)("editor.Autocomplete.completers",n,t)),n},[e,t])}var Ul=function(e){return Object(i.createElement)(p.Autocomplete,Object(l.a)({},e,{completers:Gl(e)}))};var Wl=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.Path,{d:"M4.2 9h1.5V5.8H9V4.2H4.2V9zm14 9.2H15v1.5h4.8V15h-1.5v3.2zM15 4.2v1.5h3.2V9h1.5V4.2H15zM5.8 15H4.2v4.8H9v-1.5H5.8V15z"}));var Kl=function({isActive:e,label:t=Object(v.__)("Toggle full height"),onToggle:n,isDisabled:o}){return Object(i.createElement)(p.ToolbarButton,{isActive:e,icon:Wl,label:t,onClick:()=>n(!e),disabled:o})};var ql=function(e){const{label:t=Object(v.__)("Change matrix alignment"),onChange:n=u.noop,value:o="center",isDisabled:r}=e,c=Object(i.createElement)(p.__experimentalAlignmentMatrixControl.Icon,{value:o}),l="block-editor-block-alignment-matrix-control";return Object(i.createElement)(p.Dropdown,{position:"bottom right",className:l,popoverProps:{className:"block-editor-block-alignment-matrix-control__popover",isAlternate:!0},renderToggle:({onToggle:e,isOpen:n})=>Object(i.createElement)(p.ToolbarButton,{onClick:e,"aria-haspopup":"true","aria-expanded":n,onKeyDown:t=>{n||t.keyCode!==Kr.DOWN||(t.preventDefault(),t.stopPropagation(),e())},label:t,icon:c,showTooltip:!0,disabled:r}),renderContent:()=>Object(i.createElement)(p.__experimentalAlignmentMatrixControl,{hasFocusBorder:!1,onChange:n,value:o})})};function $l(e){return Object(f.useSelect)(t=>{if(!e)return null;const{getBlockName:n,getBlockAttributes:o}=t(Rn),{getBlockType:r,getActiveBlockVariation:c}=t(m.store),l=n(e),i=r(l);if(!i)return null;const a=o(e),s=c(l,a),u={title:i.title,icon:i.icon,description:i.description,anchor:null==a?void 0:a.anchor};return s?{title:s.title||i.title,icon:s.icon||i.icon,description:s.description||i.description}:u},[e])}function Yl({clientId:e}){const{attributes:t,name:n,reusableBlockTitle:o}=Object(f.useSelect)(t=>{if(!e)return{};const{getBlockName:n,getBlockAttributes:o,__experimentalGetReusableBlockTitle:r}=t(Rn),c=n(e);if(!c)return{};const l=Object(m.isReusableBlock)(Object(m.getBlockType)(c));return{attributes:o(e),name:c,reusableBlockTitle:l&&r(o(e).ref)}},[e]),r=$l(e);if(!n||!r)return null;const c=Object(m.getBlockType)(n),l=o||Object(m.__experimentalGetBlockLabel)(c,t);return l!==c.title?Object(u.truncate)(l,{length:35}):r.title}var Xl=function({rootLabelText:e}){const{selectBlock:t,clearSelectedBlock:n}=Object(f.useDispatch)(Rn),{clientId:o,parents:r,hasSelection:c}=Object(f.useSelect)(e=>{const{getSelectionStart:t,getSelectedBlockClientId:n,getBlockParents:o}=e(Rn),r=n();return{parents:o(r),clientId:r,hasSelection:!!t().clientId}},[]),l=e||Object(v.__)("Document");return Object(i.createElement)("ul",{className:"block-editor-block-breadcrumb",role:"list","aria-label":Object(v.__)("Block breadcrumb")},Object(i.createElement)("li",{className:c?void 0:"block-editor-block-breadcrumb__current","aria-current":c?void 0:"true"},c&&Object(i.createElement)(p.Button,{className:"block-editor-block-breadcrumb__button",isTertiary:!0,onClick:n},l),!c&&l),r.map(e=>Object(i.createElement)("li",{key:e},Object(i.createElement)(p.Button,{className:"block-editor-block-breadcrumb__button",isTertiary:!0,onClick:()=>t(e)},Object(i.createElement)(Yl,{clientId:e})))),!!o&&Object(i.createElement)("li",{className:"block-editor-block-breadcrumb__current","aria-current":"true"},Object(i.createElement)(Yl,{clientId:o})))};const Ql=Object(i.createContext)({});function Zl({value:e,children:t}){const n=Object(i.useContext)(Ql),o=Object(i.useMemo)(()=>({...n,...e}),[n,e]);return Object(i.createElement)(Ql.Provider,{value:o,children:t})}var Jl=Ql;const ei=()=>Object(i.createElement)(p.SVG,{xmlns:"https://www.w3.org/2000/svg",viewBox:"0 0 20 20"},Object(i.createElement)(p.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"})),ti=({style:e,className:t})=>Object(i.createElement)("div",{className:"block-library-colors-selector__icon-container"},Object(i.createElement)("div",{className:t+" block-library-colors-selector__state-selection",style:e},Object(i.createElement)(ei,null))),ni=({TextColor:e,BackgroundColor:t})=>({onToggle:n,isOpen:o})=>Object(i.createElement)(p.ToolbarGroup,null,Object(i.createElement)(p.ToolbarButton,{className:"components-toolbar__control block-library-colors-selector__toggle",label:Object(v.__)("Open Colors Selector"),onClick:n,onKeyDown:e=>{o||e.keyCode!==Kr.DOWN||(e.preventDefault(),e.stopPropagation(),n())},icon:Object(i.createElement)(t,null,Object(i.createElement)(e,null,Object(i.createElement)(ti,null)))}));var oi=({children:e,...t})=>Object(i.createElement)(p.Dropdown,{position:"bottom right",className:"block-library-colors-selector",contentClassName:"block-library-colors-selector__popover",renderToggle:ni(t),renderContent:()=>e});const ri={};var ci=Object(p.withFilters)("editor.BlockEdit")(e=>{const{attributes:t={},name:n}=e,o=Object(m.getBlockType)(n),r=Object(i.useContext)(Jl),c=Object(i.useMemo)(()=>o&&o.usesContext?Object(u.pick)(r,o.usesContext):ri,[o,r]);if(!o)return null;const a=o.edit||o.save;if(o.apiVersion>1||Object(m.hasBlockSupport)(o,"lightBlockWrapper",!1))return Object(i.createElement)(a,Object(l.a)({},e,{context:c}));const d=Object(m.hasBlockSupport)(o,"className",!0)?Object(m.getBlockDefaultClassName)(n):null,b=s()(d,t.className);return Object(i.createElement)(a,Object(l.a)({},e,{context:c,className:b}))});function li(e){const{name:t,isSelected:n,clientId:o}=e,r={name:t,isSelected:n,clientId:o};return Object(i.createElement)(h,{value:Object(i.useMemo)(()=>r,Object.values(r))},Object(i.createElement)(ci,e))}var ii=n("OzlF"),ai=n("VKE3"),si=n("ZO3Q"),ui=n("1CF3");const di=e=>e+1,bi=e=>({top:e.offsetTop,left:e.offsetLeft});var mi=function({isSelected:e,adjustScrolling:t,enableAnimation:n,triggerAnimationOnChange:o}){const r=Object(i.useRef)(),c=Object(d.useReducedMotion)()||!n,[l,a]=Object(i.useReducer)(di,0),[s,u]=Object(i.useReducer)(di,0),[b,m]=Object(i.useState)({x:0,y:0}),p=Object(i.useMemo)(()=>r.current?bi(r.current):null,[o]),f=Object(i.useMemo)(()=>{if(!t||!r.current)return()=>{};const e=Object(ui.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]);function g({x:t,y:n}){t=Math.round(t),n=Math.round(n),t===g.x&&n===g.y||(!function({x:t,y:n}){if(!r.current)return;const o=0===t&&0===n;r.current.style.transformOrigin=o?"":"center",r.current.style.transform=o?"":`translate3d(${t}px,${n}px,0)`,r.current.style.zIndex=!e||o?"":"1",f()}({x:t,y:n}),g.x=t,g.y=n)}return Object(i.useLayoutEffect)(()=>{l&&u()},[l]),Object(i.useLayoutEffect)(()=>{if(!p)return;if(c)return void f();r.current.style.transform="";const e=bi(r.current);a(),m({x:Math.round(p.left-e.left),y:Math.round(p.top-e.top)})},[o]),g.x=0,g.y=0,Object(si.useSpring)({from:{x:b.x,y:b.y},to:{x:0,y:0},reset:l!==s,config:{mass:5,tension:2e3,friction:200},immediate:c,onFrame:g}),r};const pi=Object(si.animated)(p.__experimentalTreeGridRow);function fi({isSelected:e,position:t,level:n,rowCount:o,children:r,className:c,path:a,...u}){const d=mi({isSelected:e,adjustScrolling:!1,enableAnimation:!0,triggerAnimationOnChange:a.join("_")});return Object(i.createElement)(pi,Object(l.a)({ref:d,className:s()("block-editor-block-navigation-leaf",c),level:n,positionInSet:t,setSize:o},u),r)}var gi=n("1iEr"),hi=n("2gm7"),Oi=n("XgzB"),vi=n("NWDH");function ji(e,t,n,o,r,c,l){const i=n+1,a=e=>"up"===e?"horizontal"===l?Object(v.isRTL)()?"right":"left":"up":"down"===e?"horizontal"===l?Object(v.isRTL)()?"left":"right":"down":null;if(e>1)return function(e,t,n,o,r){const c=t+1;if(r<0&&n)return Object(v.__)("Blocks cannot be moved up as they are already at the top");if(r>0&&o)return Object(v.__)("Blocks cannot be moved down as they are already at the bottom");if(r<0&&!n)return Object(v.sprintf)(Object(v._n)("Move %1$d block from position %2$d up by one place","Move %1$d blocks from position %2$d up by one place",e),e,c);if(r>0&&!o)return Object(v.sprintf)(Object(v._n)("Move %1$d block from position %2$d down by one place","Move %1$d blocks from position %2$d down by one place",e),e,c)}(e,n,o,r,c);if(o&&r)return Object(v.sprintf)(Object(v.__)("Block %s is the only block, and cannot be moved"),t);if(c>0&&!r){const e=a("down");if("down"===e)return Object(v.sprintf)(Object(v.__)("Move %1$s block from position %2$d down to position %3$d"),t,i,i+1);if("left"===e)return Object(v.sprintf)(Object(v.__)("Move %1$s block from position %2$d left to position %3$d"),t,i,i+1);if("right"===e)return Object(v.sprintf)(Object(v.__)("Move %1$s block from position %2$d right to position %3$d"),t,i,i+1)}if(c>0&&r){const e=a("down");if("down"===e)return Object(v.sprintf)(Object(v.__)("Block %1$s is at the end of the content and can’t be moved down"),t);if("left"===e)return Object(v.sprintf)(Object(v.__)("Block %1$s is at the end of the content and can’t be moved left"),t);if("right"===e)return Object(v.sprintf)(Object(v.__)("Block %1$s is at the end of the content and can’t be moved right"),t)}if(c<0&&!o){const e=a("up");if("up"===e)return Object(v.sprintf)(Object(v.__)("Move %1$s block from position %2$d up to position %3$d"),t,i,i-1);if("left"===e)return Object(v.sprintf)(Object(v.__)("Move %1$s block from position %2$d left to position %3$d"),t,i,i-1);if("right"===e)return Object(v.sprintf)(Object(v.__)("Move %1$s block from position %2$d right to position %3$d"),t,i,i-1)}if(c<0&&o){const e=a("up");if("up"===e)return Object(v.sprintf)(Object(v.__)("Block %1$s is at the beginning of the content and can’t be moved up"),t);if("left"===e)return Object(v.sprintf)(Object(v.__)("Block %1$s is at the beginning of the content and can’t be moved left"),t);if("right"===e)return Object(v.sprintf)(Object(v.__)("Block %1$s is at the beginning of the content and can’t be moved right"),t)}}const ki=(e,t)=>"up"===e?"horizontal"===t?Object(v.isRTL)()?gi.a:hi.a:Oi.a:"down"===e?"horizontal"===t?Object(v.isRTL)()?hi.a:gi.a:vi.a:null,_i=(e,t)=>"up"===e?"horizontal"===t?Object(v.isRTL)()?Object(v.__)("Move right"):Object(v.__)("Move left"):Object(v.__)("Move up"):"down"===e?"horizontal"===t?Object(v.isRTL)()?Object(v.__)("Move left"):Object(v.__)("Move right"):Object(v.__)("Move down"):null,yi=Object(i.forwardRef)(({clientIds:e,direction:t,orientation:n,...o},r)=>{const c=Object(d.useInstanceId)(yi),a=Object(u.castArray)(e).length,{blockType:b,isDisabled:g,rootClientId:h,isFirst:O,isLast:v,firstIndex:j,orientation:k="vertical"}=Object(f.useSelect)(o=>{const{getBlockIndex:r,getBlockRootClientId:c,getBlockOrder:l,getBlock:i,getBlockListSettings:a}=o(Rn),s=Object(u.castArray)(e),d=Object(u.first)(s),b=c(d),p=r(d,b),f=r(Object(u.last)(s),b),g=l(b),h=i(d),O=0===p,v=f===g.length-1,{orientation:j}=a(b)||{};return{blockType:h?Object(m.getBlockType)(h.name):null,isDisabled:"up"===t?O:v,rootClientId:b,firstIndex:p,isFirst:O,isLast:v,orientation:n||j}},[e,t]),{moveBlocksDown:_,moveBlocksUp:y}=Object(f.useDispatch)(Rn),E="up"===t?y:_,C="block-editor-block-mover-button__description-"+c;return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(p.Button,Object(l.a)({ref:r,className:s()("block-editor-block-mover-button",`is-${t}-button`),icon:ki(t,k),label:_i(t,k),"aria-describedby":C},o,{onClick:g?null:t=>{E(e,h),o.onClick&&o.onClick(t)},"aria-disabled":g})),Object(i.createElement)("span",{id:C,className:"block-editor-block-mover-button__description"},ji(a,b&&b.title,j,O,v,"up"===t?-1:1,k)))}),Ei=Object(i.forwardRef)((e,t)=>Object(i.createElement)(yi,Object(l.a)({direction:"up",ref:t},e))),Ci=Object(i.forwardRef)((e,t)=>Object(i.createElement)(yi,Object(l.a)({direction:"down",ref:t},e))),Si=Object(i.createContext)({__experimentalFeatures:!1,__experimentalPersistentListViewFeatures:!1}),wi=()=>Object(i.useContext)(Si);var Bi=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.Path,{d:"M11 13h2v-2h-2v2zm-6 0h2v-2H5v2zm12-2v2h2v-2h-2z"}));var Ii=function({className:e,actions:t,children:n,secondaryActions:o}){return Object(i.createElement)("div",{className:s()(e,"block-editor-warning")},Object(i.createElement)("div",{className:"block-editor-warning__contents"},Object(i.createElement)("p",{className:"block-editor-warning__message"},n),(i.Children.count(t)>0||o)&&Object(i.createElement)("div",{className:"block-editor-warning__actions"},i.Children.count(t)>0&&i.Children.map(t,(e,t)=>Object(i.createElement)("span",{key:t,className:"block-editor-warning__action"},e)),o&&Object(i.createElement)(p.DropdownMenu,{className:"block-editor-warning__secondary",icon:Bi,label:Object(v.__)("More options"),popoverProps:{position:"bottom left",className:"block-editor-warning__dropdown"},noIcons:!0},()=>Object(i.createElement)(p.MenuGroup,null,o.map((e,t)=>Object(i.createElement)(p.MenuItem,{onClick:e.onClick,key:t},e.title)))))))},xi=n("iA5R");function Ti({title:e,rawContent:t,renderedContent:n,action:o,actionText:r,className:c}){return Object(i.createElement)("div",{className:c},Object(i.createElement)("div",{className:"block-editor-block-compare__content"},Object(i.createElement)("h2",{className:"block-editor-block-compare__heading"},e),Object(i.createElement)("div",{className:"block-editor-block-compare__html"},t),Object(i.createElement)("div",{className:"block-editor-block-compare__preview edit-post-visual-editor"},Object(i.createElement)(i.RawHTML,null,Object(ui.safeHTML)(n)))),Object(i.createElement)("div",{className:"block-editor-block-compare__action"},Object(i.createElement)(p.Button,{isSecondary:!0,tabIndex:"0",onClick:o},r)))}var Ni=function({block:e,onKeep:t,onConvert:n,convertor:o,convertButtonText:r}){const c=(l=o(e),Object(u.castArray)(l).map(e=>Object(m.getSaveContent)(e.name,e.attributes,e.innerBlocks)).join(""));var l;const a=(d=e.originalContent,b=c,Object(xi.diffChars)(d,b).map((e,t)=>{const n=s()({"block-editor-block-compare__added":e.added,"block-editor-block-compare__removed":e.removed});return Object(i.createElement)("span",{key:t,className:n},e.value)}));var d,b;return Object(i.createElement)("div",{className:"block-editor-block-compare__wrapper"},Object(i.createElement)(Ti,{title:Object(v.__)("Current"),className:"block-editor-block-compare__current",action:t,actionText:Object(v.__)("Convert to HTML"),rawContent:e.originalContent,renderedContent:e.originalContent}),Object(i.createElement)(Ti,{title:Object(v.__)("After Conversion"),className:"block-editor-block-compare__converted",action:n,actionText:r,rawContent:a,renderedContent:c}))};const Pi=e=>Object(m.rawHandler)({HTML:e.originalContent});var Li=Object(d.compose)([Object(f.withSelect)((e,{clientId:t})=>({block:e(Rn).getBlock(t)})),Object(f.withDispatch)((e,{block:t})=>{const{replaceBlock:n}=e(Rn);return{convertToClassic(){n(t.clientId,(e=>Object(m.createBlock)("core/freeform",{content:e.originalContent}))(t))},convertToHTML(){n(t.clientId,(e=>Object(m.createBlock)("core/html",{content:e.originalContent}))(t))},convertToBlocks(){n(t.clientId,Pi(t))},attemptBlockRecovery(){n(t.clientId,(({name:e,attributes:t,innerBlocks:n})=>Object(m.createBlock)(e,t,n))(t))}}})])((function({convertToHTML:e,convertToBlocks:t,convertToClassic:n,attemptBlockRecovery:o,block:r}){const c=!!Object(m.getBlockType)("core/html"),[l,a]=Object(i.useState)(!1),s=Object(i.useCallback)(()=>a(!0),[]),u=Object(i.useCallback)(()=>a(!1),[]),d=Object(i.useMemo)(()=>[{title:Object(v._x)("Resolve","imperative verb"),onClick:s},c&&{title:Object(v.__)("Convert to HTML"),onClick:e},{title:Object(v.__)("Convert to Classic Block"),onClick:n}].filter(Boolean),[s,e,n]);return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(Ii,{actions:[Object(i.createElement)(p.Button,{key:"recover",onClick:o,isPrimary:!0},Object(v.__)("Attempt Block Recovery"))],secondaryActions:d},Object(v.__)("This block contains unexpected or invalid content.")),l&&Object(i.createElement)(p.Modal,{title:Object(v.__)("Resolve Block"),onRequestClose:u,className:"block-editor-block-compare"},Object(i.createElement)(Ni,{block:r,onKeep:e,onConvert:t,convertor:Pi,convertButtonText:Object(v.__)("Convert to Blocks")})))}));const Ri=Object(i.createElement)(Ii,{className:"block-editor-block-list__block-crash-warning"},Object(v.__)("This block has encountered an error and cannot be previewed."));var Ai=()=>Ri;class Mi extends i.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 Di=Mi,Fi=n("O6Fj"),Vi=n.n(Fi);var Hi=function({clientId:e}){const[t,n]=Object(i.useState)(""),o=Object(f.useSelect)(t=>t(Rn).getBlock(e),[e]),{updateBlock:r}=Object(f.useDispatch)(Rn);return Object(i.useEffect)(()=>{n(Object(m.getBlockContent)(o))},[o]),Object(i.createElement)(Vi.a,{className:"block-editor-block-list__block-html-textarea",value:t,onBlur:()=>{const c=Object(m.getBlockType)(o.name),l=Object(m.getBlockAttributes)(c,t,o.attributes),i=t||Object(m.getSaveContent)(c,l),a=!t||Object(m.isValidBlockContent)(c,l,i);r(e,{attributes:l,originalContent:i,isValid:a}),t||n({content:i})},onChange:e=>n(e.target.value)})};const zi=".block-editor-block-list__block";function Gi(e,t){return t.closest(zi)===e}function Ui(e){const t=Object(i.useRef)(),n=function(e){return Object(f.useSelect)(t=>{const{getSelectedBlocksInitialCaretPosition:n,isMultiSelecting:o,isNavigationMode:r,isBlockSelected:c}=t(Rn);if(c(e)&&!o()&&!r())return n()},[e])}(e);return Object(i.useEffect)(()=>{if(null==n)return;if(!t.current)return;const{ownerDocument:e}=t.current;if(t.current.contains(e.activeElement))return;const o=ui.focus.tabbable.find(t.current).filter(e=>Object(ui.isTextField)(e)),r=-1===n,c=(r?u.last:u.first)(o)||t.current;Gi(t.current,c)&&!c.closest(".block-list-appender")?Object(ui.placeCaretAtHorizontalEdge)(c,r):t.current.focus()},[n]),t}function Wi(e){if(e.defaultPrevented)return;const t="mouseover"===e.type?"add":"remove";e.preventDefault(),e.currentTarget.classList[t]("is-hovered")}function Ki(){const e=Object(f.useSelect)(e=>{const{isNavigationMode:t,getSettings:n}=e(Rn);return t()||n().outlineMode},[]);return Object(d.useRefEffect)(t=>{if(e)return t.addEventListener("mouseout",Wi),t.addEventListener("mouseover",Wi),()=>{t.removeEventListener("mouseout",Wi),t.removeEventListener("mouseover",Wi),t.classList.remove("is-hovered")}},[e])}function qi(e){return Object(f.useSelect)(t=>{const{isBlockBeingDragged:n,isBlockHighlighted:o,isBlockSelected:r,isBlockMultiSelected:c,getBlockName:l,getSettings:i,hasSelectedInnerBlock:a,isTyping:u,__experimentalGetActiveBlockIdByBlockNames:d}=t(Rn),{__experimentalSpotlightEntityBlocks:b,outlineMode:p}=i(),f=n(e),g=r(e),h=l(e),O=a(e,!0),v=d(b);return s()({"is-selected":g,"is-highlighted":o(e),"is-multi-selected":c(e),"is-reusable":Object(m.isReusableBlock)(Object(m.getBlockType)(h)),"is-dragging":f,"has-child-selected":O,"has-active-entity":v,"is-active-entity":v===e,"remove-outline":g&&p&&u()})},[e])}function $i(e){return Object(f.useSelect)(t=>{const n=t(Rn).getBlockName(e),o=Object(m.getBlockType)(n);if(o.apiVersion>1||Object(m.hasBlockSupport)(o,"lightBlockWrapper",!1))return Object(m.getBlockDefaultClassName)(n)},[e])}function Yi(e){return Object(f.useSelect)(t=>{const{getBlockName:n,getBlockAttributes:o}=t(Rn),{className:r}=o(e);if(!r)return;const c=Object(m.getBlockType)(n(e));return c.apiVersion>1||Object(m.hasBlockSupport)(c,"lightBlockWrapper",!1)?r:void 0},[e])}function Xi(e){return Object(f.useSelect)(t=>{const{hasBlockMovingClientId:n,canInsertBlockType:o,getBlockName:r,getBlockRootClientId:c,isBlockSelected:l}=t(Rn);if(!l(e))return;const i=n();return i?s()("is-block-moving-mode",{"can-insert-moving-block":o(r(i),c(e))}):void 0},[e])}function Qi(e){const{isBlockSelected:t}=Object(f.useSelect)(Rn),{selectBlock:n,selectionChange:o}=Object(f.useDispatch)(Rn);return Object(d.useRefEffect)(r=>{function c(c){t(e)?c.target.isContentEditable||o(e):Gi(r,c.target)&&n(e)}return r.addEventListener("focusin",c),()=>{r.removeEventListener("focusin",c)}},[t,n])}function Zi(e){const t=Object(f.useSelect)(t=>t(Rn).isBlockSelected(e),[e]),{getBlockRootClientId:n,getBlockIndex:o}=Object(f.useSelect)(Rn),{insertDefaultBlock:r,removeBlock:c}=Object(f.useDispatch)(Rn);return Object(d.useRefEffect)(l=>{if(t)return l.addEventListener("keydown",i),l.addEventListener("dragstart",a),()=>{l.removeEventListener("keydown",i),l.removeEventListener("dragstart",a)};function i(t){const{keyCode:i,target:a}=t;i!==Kr.ENTER&&i!==Kr.BACKSPACE&&i!==Kr.DELETE||a!==l||Object(ui.isTextField)(a)||(t.preventDefault(),i===Kr.ENTER?r({},n(e),o(e)+1):c(e))}function a(e){e.preventDefault()}},[e,t,n,o,r,c])}function Ji(e){const{isNavigationMode:t,isBlockSelected:n}=Object(f.useSelect)(Rn),{setNavigationMode:o,selectBlock:r}=Object(f.useDispatch)(Rn);return Object(d.useRefEffect)(c=>{function l(c){t()&&!c.defaultPrevented&&(c.preventDefault(),n(e)?o(!1):r(e))}return c.addEventListener("mousedown",l),()=>{c.addEventListener("mousedown",l)}},[e,t,n,o])}var ea=n("9Do8"),ta=n.n(ea);function na(e){const t=Object(i.useRef)(),n=Object(f.useSelect)(t=>{const{isBlockSelected:n,getBlockSelectionEnd:o}=t(Rn);return n(e)||o()===e},[e]);return Object(i.useEffect)(()=>{if(!n)return;const e=t.current;if(!e)return;if(e.contains(e.ownerDocument.activeElement))return;const o=Object(ui.getScrollContainer)(e)||e.ownerDocument.defaultView;o&&ta()(e,o,{onlyScrollIfNeeded:!0})},[n]),t}function oa(e,t){Array.from(e.closest(".is-root-container").querySelectorAll(".rich-text")).forEach(e=>{t?e.setAttribute("contenteditable",!0):e.removeAttribute("contenteditable")})}function ra(e){const{startMultiSelect:t,stopMultiSelect:n,multiSelect:o,selectBlock:r}=Object(f.useDispatch)(Rn),{isSelectionEnabled:c,isBlockSelected:l,getBlockParents:i,getBlockSelectionStart:a,hasMultiSelection:s}=Object(f.useSelect)(Rn);return Object(d.useRefEffect)(u=>{const{ownerDocument:d}=u,{defaultView:b}=d;let m,p;function f({isSelectionEnd:t}){const n=b.getSelection();if(!n.rangeCount||n.isCollapsed)return void oa(u,!0);const c=function(e){for(;e&&e.nodeType!==e.ELEMENT_NODE;)e=e.parentNode;if(!e)return;const t=e.closest(zi);return t?t.id.slice("block-".length):void 0}(n.focusNode);if(e===c){if(r(e),t&&(oa(u,!0),n.rangeCount)){const{commonAncestorContainer:e}=n.getRangeAt(0);m.contains(e)&&m.focus()}}else{const t=[...i(e),e],n=[...i(c),c],r=Math.min(t.length,n.length)-1;o(t[r],n[r])}}function g(){d.removeEventListener("selectionchange",f),b.removeEventListener("mouseup",g),p=b.requestAnimationFrame(()=>{f({isSelectionEnd:!0}),n()})}function h({buttons:n}){1===n&&c()&&l(e)&&(m=d.activeElement,t(),d.addEventListener("selectionchange",f),b.addEventListener("mouseup",g),oa(u,!1))}function O(t){if(c()&&0===t.button)if(t.shiftKey){const n=a();n!==e&&(oa(u,!1),o(n,e),t.preventDefault())}else s()&&r(e)}return u.addEventListener("mousedown",O),u.addEventListener("mouseleave",h),()=>{u.removeEventListener("mousedown",O),u.removeEventListener("mouseleave",h),d.removeEventListener("selectionchange",f),b.removeEventListener("mouseup",g),b.cancelAnimationFrame(p)}},[e,t,n,o,r,c,l,i])}var ca=n("rmEH"),la=n("Q4Sy");const ia=[Object(i.createInterpolateElement)(Object(v.__)("While writing, you can press / to quickly insert new blocks."),{kbd:Object(i.createElement)("kbd",null)}),Object(i.createInterpolateElement)(Object(v.__)("Indent a list by pressing space at the beginning of a line."),{kbd:Object(i.createElement)("kbd",null)}),Object(i.createInterpolateElement)(Object(v.__)("Outdent a list by pressing backspace at the beginning of a line."),{kbd:Object(i.createElement)("kbd",null)}),Object(v.__)("Drag files into the editor to automatically insert media blocks."),Object(v.__)("Change a block's type by pressing the block icon on the toolbar.")];var aa=function(){const[e]=Object(i.useState)(Math.floor(Math.random()*ia.length));return Object(i.createElement)(p.Tip,null,ia[e])},sa=n("bWcr"),ua=n("cGtP");var da=function e({className:t,onChange:n,value:o,label:r,placeholder:c}){const l=Object(d.useInstanceId)(e),a=Object(i.useRef)();return Object(i.createElement)("div",{className:s()("block-editor-inserter__search",t)},Object(i.createElement)(p.VisuallyHidden,{as:"label",htmlFor:"block-editor-inserter__search-"+l},r||c),Object(i.createElement)("input",{ref:a,className:"block-editor-inserter__search-input",id:"block-editor-inserter__search-"+l,type:"search",placeholder:c,onChange:e=>n(e.target.value),autoComplete:"off",value:o||""}),Object(i.createElement)("div",{className:"block-editor-inserter__search-icon"},!!o&&Object(i.createElement)(p.Button,{icon:sa.a,label:Object(v.__)("Reset search"),onClick:()=>{n(""),a.current.focus()}}),!o&&Object(i.createElement)(qc.a,{icon:ua.a})))};var ba=function({title:e,icon:t,description:n,blockType:o}){return o&&(wt()("`blockType` property in `BlockCard component`",{since:"5.7",alternative:"`title, icon and description` properties"}),({title:e,icon:t,description:n}=o)),Object(i.createElement)("div",{className:"block-editor-block-card"},Object(i.createElement)(Vl,{icon:t,showColors:!0}),Object(i.createElement)("div",{className:"block-editor-block-card__content"},Object(i.createElement)("h2",{className:"block-editor-block-card__title"},e),Object(i.createElement)("span",{className:"block-editor-block-card__description"},n)))};function ma({clientId:e=null,value:t,selection:n,onChange:o=u.noop,onInput:r=u.noop}){const c=Object(f.useRegistry)(),{resetBlocks:l,resetSelection:a,replaceInnerBlocks:s,setHasControlledInnerBlocks:d,__unstableMarkNextChangeAsNotPersistent:b}=c.dispatch(Rn),{getBlockName:p,getBlocks:g}=c.select(Rn),h=Object(i.useRef)({incoming:null,outgoing:[]}),O=Object(i.useRef)(!1),v=Object(i.useRef)(r),j=Object(i.useRef)(o);Object(i.useEffect)(()=>{v.current=r,j.current=o},[r,o]),Object(i.useEffect)(()=>{h.current.outgoing.includes(t)?Object(u.last)(h.current.outgoing)===t&&(h.current.outgoing=[]):g(e)!==t&&(h.current.outgoing=[],(()=>{if(t)if(b(),e){d(e,!0),b();const n=t.map(e=>Object(m.cloneBlock)(e));O.current&&(h.current.incoming=n),s(e,n)}else O.current&&(h.current.incoming=t),l(t)})(),n&&a(n.selectionStart,n.selectionEnd,n.initialPosition))},[t,e]),Object(i.useEffect)(()=>{const{getSelectionStart:t,getSelectionEnd:n,getSelectedBlocksInitialCaretPosition:o,isLastBlockChangePersistent:r,__unstableIsLastBlockChangeIgnored:l}=c.select(Rn);let i=g(e),a=r(),s=!1;O.current=!0;const u=c.subscribe(()=>{if(null!==e&&null===p(e))return;const c=r(),u=g(e),d=u!==i;if(i=u,d&&(h.current.incoming||l()))return h.current.incoming=null,void(a=c);if(d||s&&!d&&c&&!a){a=c,h.current.outgoing.push(i);(a?j.current:v.current)(i,{selection:{selectionStart:t(),selectionEnd:n(),initialPosition:o()}})}s=d});return()=>u()},[c,e])}var pa=Object(d.createHigherOrderComponent)(e=>Object(f.withRegistry)(({useSubRegistry:t=!0,registry:n,...o})=>{if(!t)return Object(i.createElement)(e,Object(l.a)({registry:n},o));const[r,c]=Object(i.useState)(null);return Object(i.useEffect)(()=>{const e=Object(f.createRegistry)({},n);e.registerStore(It,Ln),c(e)},[n]),r?Object(i.createElement)(f.RegistryProvider,{value:r},Object(i.createElement)(e,Object(l.a)({registry:r},o))):null}),"withRegistryProvider")((function(e){const{children:t,settings:n}=e,{updateSettings:o}=Object(f.useDispatch)(Rn);return Object(i.useEffect)(()=>{o(n)},[n]),ma(e),Object(i.createElement)(Or,null,t)}));function fa({onClick:e}){return Object(i.createElement)("div",{tabIndex:0,role:"button",onClick:e,onKeyPress:e},Object(i.createElement)(p.Disabled,null,Object(i.createElement)(Su,null)))}let ga;var ha=function({viewportWidth:e,__experimentalPadding:t}){const[n,{width:o}]=Object(d.useResizeObserver)(),[r,{height:c}]=Object(d.useResizeObserver)();ga=ga||Object(d.pure)(Su);const l=(o-2*t)/e;return Object(i.createElement)("div",{className:"block-editor-block-preview__container editor-styles-wrapper","aria-hidden":!0,style:{height:c*l+2*t}},n,Object(i.createElement)(p.Disabled,{style:{transform:`scale(${l})`,width:e,left:t,right:t,top:t},className:"block-editor-block-preview__content"},r,Object(i.createElement)(ga,null)))};var Oa=Object(i.memo)((function({blocks:e,__experimentalPadding:t=0,viewportWidth:n=1200,__experimentalLive:o=!1,__experimentalOnClick:r}){const c=Object(f.useSelect)(e=>e(Rn).getSettings(),[]),l=Object(i.useMemo)(()=>{const e={...c};return e.__experimentalBlockPatterns=[],e},[c]),a=Object(i.useMemo)(()=>Object(u.castArray)(e),[e]);return e&&0!==e.length?Object(i.createElement)(pa,{value:a,settings:l},o?Object(i.createElement)(fa,{onClick:r}):Object(i.createElement)(ha,{viewportWidth:n,__experimentalPadding:t})):null}));var va=function({item:e}){var t,n;const{name:o,title:r,icon:c,description:l,initialAttributes:a}=e,s=Object(m.getBlockType)(o),u=Object(m.isReusableBlock)(e);return Object(i.createElement)("div",{className:"block-editor-inserter__preview-container"},Object(i.createElement)("div",{className:"block-editor-inserter__preview"},u||s.example?Object(i.createElement)("div",{className:"block-editor-inserter__preview-content"},Object(i.createElement)(Oa,{__experimentalPadding:16,viewportWidth:null!==(t=null===(n=s.example)||void 0===n?void 0:n.viewportWidth)&&void 0!==t?t:500,blocks:s.example?Object(m.getBlockFromExample)(e.name,{attributes:{...s.example.attributes,...a},innerBlocks:s.example.innerBlocks}):Object(m.createBlock)(o,a)})):Object(i.createElement)("div",{className:"block-editor-inserter__preview-content-missing"},Object(v.__)("No Preview Available."))),!u&&Object(i.createElement)(ba,{title:r,icon:c,description:l}))};var ja=Object(i.createContext)();var ka=Object(i.forwardRef)((function({isFirst:e,as:t,children:n,...o},r){const c=Object(i.useContext)(ja);return Object(i.createElement)(p.__unstableCompositeItem,Object(l.a)({ref:r,state:c,role:"option",focusable:!0},o),o=>{const r={...o,tabIndex:e?0:o.tabIndex};return t?Object(i.createElement)(t,r,n):"function"==typeof n?n(r):Object(i.createElement)(p.Button,r,n)})}));var _a=Object(i.createElement)(Gn.SVG,{width:"18",height:"18",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 18 18"},Object(i.createElement)(Gn.Path,{d:"M5 4h2V2H5v2zm6-2v2h2V2h-2zm-6 8h2V8H5v2zm6 0h2V8h-2v2zm-6 6h2v-2H5v2zm6 0h2v-2h-2v2z"}));function ya({count:e,icon:t}){return Object(i.createElement)("div",{className:"block-editor-block-draggable-chip-wrapper"},Object(i.createElement)("div",{className:"block-editor-block-draggable-chip"},Object(i.createElement)(p.Flex,{justify:"center",className:"block-editor-block-draggable-chip__content"},Object(i.createElement)(p.FlexItem,null,t?Object(i.createElement)(Vl,{icon:t}):Object(v.sprintf)(Object(v._n)("%d block","%d blocks",e),e)),Object(i.createElement)(p.FlexItem,null,Object(i.createElement)(Vl,{icon:_a})))))}var Ea=({isEnabled:e,blocks:t,icon:n,children:o})=>{const r={type:"inserter",blocks:t};return Object(i.createElement)(p.Draggable,{__experimentalTransferDataType:"wp-blocks",transferData:r,__experimentalDragComponent:Object(i.createElement)(ya,{count:t.length,icon:n})},({onDraggableStart:t,onDraggableEnd:n})=>o({draggable:e,onDragStart:e?t:void 0,onDragEnd:e?n:void 0}))};function Ca(e=window){const{platform:t}=e.navigator;return-1!==t.indexOf("Mac")||["iPad","iPhone"].includes(t)}var Sa=Object(i.memo)((function({className:e,isFirst:t,item:n,onSelect:o,onHover:r,isDraggable:c,...a}){const u=Object(i.useRef)(!1),d=n.icon?{backgroundColor:n.icon.background,color:n.icon.foreground}:{},b=Object(i.useMemo)(()=>[Object(m.createBlock)(n.name,n.initialAttributes,Object(m.createBlocksFromInnerBlocksTemplate)(n.innerBlocks))],[n.name,n.initialAttributes,n.initialAttributes]);return Object(i.createElement)(Ea,{isEnabled:c&&!n.disabled,blocks:b,icon:n.icon},({draggable:c,onDragStart:b,onDragEnd:m})=>Object(i.createElement)("div",{className:"block-editor-block-types-list__list-item",draggable:c,onDragStart:e=>{u.current=!0,b&&(r(null),b(e))},onDragEnd:e=>{u.current=!1,m&&m(e)}},Object(i.createElement)(ka,Object(l.a)({isFirst:t,className:s()("block-editor-block-types-list__item",e),disabled:n.isDisabled,onClick:e=>{e.preventDefault(),o(n,Ca()?e.metaKey:e.ctrlKey),r(null)},onKeyDown:e=>{const{keyCode:t}=e;t===Kr.ENTER&&(e.preventDefault(),o(n,Ca()?e.metaKey:e.ctrlKey),r(null))},onFocus:()=>{u.current||r(n)},onMouseEnter:()=>{u.current||r(n)},onMouseLeave:()=>r(null),onBlur:()=>r(null)},a),Object(i.createElement)("span",{className:"block-editor-block-types-list__item-icon",style:d},Object(i.createElement)(Vl,{icon:n.icon,showColors:!0})),Object(i.createElement)("span",{className:"block-editor-block-types-list__item-title"},n.title))))}));var wa=Object(i.forwardRef)((function(e,t){const[n,o]=Object(i.useState)(!1);return Object(i.useEffect)(()=>{n&&Object(Ct.speak)(Object(v.__)("Use left and right arrow keys to move through blocks"))},[n]),Object(i.createElement)("div",Object(l.a)({ref:t,role:"listbox","aria-orientation":"horizontal",onFocus:()=>{o(!0)},onBlur:e=>{!e.currentTarget.contains(e.relatedTarget)&&o(!1)}},e))}));var Ba=Object(i.forwardRef)((function(e,t){const n=Object(i.useContext)(ja);return Object(i.createElement)(p.__unstableCompositeGroup,Object(l.a)({state:n,role:"presentation",ref:t},e))}));var Ia=function({items:e=[],onSelect:t,onHover:n=(()=>{}),children:o,label:r,isDraggable:c=!0}){return Object(i.createElement)(wa,{className:"block-editor-block-types-list","aria-label":r},function(e,t){const n=[];for(let o=0,r=e.length;oObject(i.createElement)(Ba,{key:o},e.map((e,r)=>Object(i.createElement)(Sa,{key:e.id,item:e,className:Object(m.getBlockMenuDefaultClassName)(e.id),onSelect:t,onHover:n,isDraggable:c,isFirst:0===o&&0===r})))),o)};var xa=function({title:e,icon:t,children:n}){return Object(i.createElement)(i.Fragment,null,Object(i.createElement)("div",{className:"block-editor-inserter__panel-header"},Object(i.createElement)("h2",{className:"block-editor-inserter__panel-title"},e),Object(i.createElement)(p.Icon,{icon:t})),Object(i.createElement)("div",{className:"block-editor-inserter__panel-content"},n))};var Ta=function({children:e}){const t=Object(p.__unstableUseCompositeState)({shift:!0,wrap:"horizontal"});return Object(i.createElement)(ja.Provider,{value:t},e)};var Na=function({rootClientId:e,onInsert:t,onHover:n,showMostUsedBlocks:o}){const[r,c,l,a]=Dl(e,t),s=Object(i.useMemo)(()=>Object(u.orderBy)(r,["frecency"],["desc"]).slice(0,6),[r]),d=Object(i.useMemo)(()=>r.filter(e=>!e.category),[r]),b=Object(i.useMemo)(()=>Object(u.flow)(e=>e.filter(e=>e.category&&"reusable"!==e.category),e=>Object(u.groupBy)(e,"category"))(r),[r]),m=Object(i.useMemo)(()=>{const e={...l};return Object.keys(l).forEach(t=>{e[t]=r.filter(e=>(e=>e.name.split("/")[0])(e)===t),0===e[t].length&&delete e[t]}),e},[r,l]);return Object(i.useEffect)(()=>()=>n(null),[]),Object(i.createElement)(Ta,null,Object(i.createElement)("div",null,o&&!!s.length&&Object(i.createElement)(xa,{title:Object(v._x)("Most used","blocks")},Object(i.createElement)(Ia,{items:s,onSelect:a,onHover:n,label:Object(v._x)("Most used","blocks")})),Object(u.map)(c,e=>{const t=b[e.slug];return t&&t.length?Object(i.createElement)(xa,{key:e.slug,title:e.title,icon:e.icon},Object(i.createElement)(Ia,{items:t,onSelect:a,onHover:n,label:e.title})):null}),d.length>0&&Object(i.createElement)(xa,{className:"block-editor-inserter__uncategorized-blocks-panel",title:Object(v.__)("Uncategorized")},Object(i.createElement)(Ia,{items:d,onSelect:a,onHover:n,label:Object(v.__)("Uncategorized")})),Object(u.map)(l,(e,t)=>{const o=m[t];return o&&o.length?Object(i.createElement)(xa,{key:t,title:e.title,icon:e.icon},Object(i.createElement)(Ia,{items:o,onSelect:a,onHover:n,label:e.title})):null})))};var Pa=function({selectedCategory:e,patternCategories:t,onClickCategory:n,children:o}){return Object(i.createElement)(i.Fragment,null,Object(i.createElement)("div",{className:s()("block-editor-inserter__panel-header","block-editor-inserter__panel-header-patterns")},Object(i.createElement)(p.SelectControl,{className:"block-editor-inserter__panel-dropdown",label:Object(v.__)("Filter patterns"),hideLabelFromVision:!0,value:e.name,onChange:e=>{n(t.find(t=>e===t.name))},onBlur:e=>{null!=e&&e.relatedTarget||e.stopPropagation()},options:(()=>{const e=[];return t.map(t=>e.push({value:t.name,label:t.label})),e})()})),Object(i.createElement)("div",{className:"block-editor-inserter__panel-content"},o))},La=n("onLe");var Ra=(e,t)=>{const{patternCategories:n,patterns:o}=Object(f.useSelect)(e=>{const{__experimentalGetAllowedPatterns:n,getSettings:o}=e(Rn);return{patterns:n(t),patternCategories:o().__experimentalBlockPatternCategories}},[t]),{createSuccessNotice:r}=Object(f.useDispatch)(La.store);return[o,n,Object(i.useCallback)((t,n)=>{e(Object(u.map)(n,e=>Object(m.cloneBlock)(e)),t.name),r(Object(v.sprintf)(Object(v.__)('Block pattern "%s" inserted.'),t.title),{type:"snackbar"})},[])]};function Aa({isDraggable:e,pattern:t,onClick:n,composite:o}){const{name:r,viewportWidth:c}=t,{blocks:a}=Object(f.useSelect)(e=>e(Rn).__experimentalGetParsedPattern(r),[r]),s="block-editor-block-patterns-list__item-description-"+Object(d.useInstanceId)(Aa);return Object(i.createElement)(Ea,{isEnabled:e,blocks:a},({draggable:e,onDragStart:r,onDragEnd:u})=>Object(i.createElement)("div",{className:"block-editor-block-patterns-list__list-item","aria-label":t.title,"aria-describedby":t.description?s:void 0,draggable:e,onDragStart:r,onDragEnd:u},Object(i.createElement)(p.__unstableCompositeItem,Object(l.a)({role:"option",as:"div"},o,{className:"block-editor-block-patterns-list__item",onClick:()=>n(t,a)}),Object(i.createElement)(Oa,{blocks:a,viewportWidth:c}),Object(i.createElement)("div",{className:"block-editor-block-patterns-list__item-title"},t.title),!!t.description&&Object(i.createElement)(p.VisuallyHidden,{id:s},t.description))))}function Ma(){return Object(i.createElement)("div",{className:"block-editor-block-patterns-list__item is-placeholder"})}var Da=function({isDraggable:e,blockPatterns:t,shownPatterns:n,onClickPattern:o,orientation:r,label:c=Object(v.__)("Block Patterns")}){const a=Object(p.__unstableUseCompositeState)({orientation:r});return Object(i.createElement)(p.__unstableComposite,Object(l.a)({},a,{role:"listbox",className:"block-editor-block-patterns-list","aria-label":c}),t.map(t=>n.includes(t)?Object(i.createElement)(Aa,{key:t.name,pattern:t,onClick:o,isDraggable:e,composite:a}):Object(i.createElement)(Ma,{key:t.name})))};function Fa({rootClientId:e,onInsert:t,selectedCategory:n,onClickCategory:o}){const[r,c,l]=Ra(t,e),a=Object(i.useMemo)(()=>c.filter(e=>r.some(t=>{var n;return null===(n=t.categories)||void 0===n?void 0:n.includes(e.name)})),[r,c]),s=n||a[0];Object(i.useEffect)(()=>{r.some(e=>b(e)===1/0)&&!a.find(e=>"uncategorized"===e.name)&&a.push({name:"uncategorized",label:Object(v._x)("Uncategorized")})},[a,r]);const b=Object(i.useCallback)(e=>{if(!e.categories||!e.categories.length)return 1/0;const t=Object(u.fromPairs)(a.map(({name:e},t)=>[e,t]));return Math.min(...e.categories.map(e=>void 0!==t[e]?t[e]:1/0))},[a]),m=Object(i.useMemo)(()=>r.filter(e=>"uncategorized"===s.name?b(e)===1/0:e.categories&&e.categories.includes(s.name)),[r,s]),p=Object(i.useMemo)(()=>m.sort((e,t)=>b(e)-b(t)),[m,b]),f=Object(d.useAsyncList)(p);return Object(i.createElement)(i.Fragment,null,!!m.length&&Object(i.createElement)(Pa,{selectedCategory:s,patternCategories:a,onClickCategory:o},Object(i.createElement)(Da,{shownPatterns:f,blockPatterns:m,onClickPattern:l,label:s.label,orientation:"vertical",isDraggable:!0})))}var Va=function({rootClientId:e,onInsert:t,onClickCategory:n,selectedCategory:o}){return Object(i.createElement)(Fa,{rootClientId:e,selectedCategory:o,onInsert:t,onClickCategory:n})},Ha=n("Mmq9");var za=function(){return Object(i.createElement)("div",{className:"block-editor-inserter__no-results"},Object(i.createElement)(qc.a,{className:"block-editor-inserter__no-results-icon",icon:Fl.a}),Object(i.createElement)("p",null,Object(v.__)("No results found.")))};function Ga({onHover:e,onInsert:t,rootClientId:n}){const[o,,,r]=Dl(n,t),c=Object(i.useMemo)(()=>o.filter(({category:e})=>"reusable"===e),[o]);return 0===c.length?Object(i.createElement)(za,null):Object(i.createElement)(xa,{title:Object(v.__)("Reusable blocks")},Object(i.createElement)(Ia,{items:c,onSelect:r,onHover:e,label:Object(v.__)("Reusable blocks")}))}var Ua=function({rootClientId:e,onInsert:t,onHover:n}){return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(Ga,{onHover:n,onInsert:t,rootClientId:e}),Object(i.createElement)("div",{className:"block-editor-inserter__manage-reusable-blocks-container"},Object(i.createElement)("a",{className:"block-editor-inserter__manage-reusable-blocks",href:Object(Ha.addQueryArgs)("edit.php",{post_type:"wp_block"})},Object(v.__)("Manage Reusable blocks"))))};const{Fill:Wa,Slot:Ka}=Object(p.createSlotFill)("__unstableInserterMenuExtension");Wa.Slot=Ka;var qa=Wa;var $a=function({rootClientId:e="",insertionIndex:t,clientId:n,isAppender:o,onSelect:r,shouldFocusBlock:c=!0}){const{getSelectedBlock:l}=Object(f.useSelect)(Rn),{destinationRootClientId:a,destinationIndex:s}=Object(f.useSelect)(r=>{const{getSelectedBlockClientId:c,getBlockRootClientId:l,getBlockIndex:i,getBlockOrder:a}=r(Rn),s=c();let u,d=e;return void 0!==t?u=t:n?u=i(n,d):!o&&s?(d=l(s),u=i(s,d)+1):u=a(d).length,{destinationRootClientId:d,destinationIndex:u}},[e,t,n,o]),{replaceBlocks:d,insertBlocks:b,showInsertionPoint:p,hideInsertionPoint:g}=Object(f.useDispatch)(Rn),h=Object(i.useCallback)((e,t,n=!1)=>{const i=l();!o&&i&&Object(m.isUnmodifiedDefaultBlock)(i)?d(i.clientId,e,null,c||n?0:null,t):b(e,s,a,!0,c||n?0:null,t);const p=Object(v.sprintf)(Object(v._n)("%d block added.","%d blocks added.",Object(u.castArray)(e).length),Object(u.castArray)(e).length);Object(Ct.speak)(p),r&&r()},[o,l,d,b,a,s,r,c]),O=Object(i.useCallback)(e=>{e?p(a,s):g()},[p,g,a,s]);return[a,h,O]};var Ya=function({filterValue:e,onSelect:t,onHover:n,rootClientId:o,clientId:r,isAppender:c,__experimentalInsertionIndex:l,maxBlockPatterns:a,maxBlockTypes:s,showBlockDirectory:b=!1,isDraggable:m=!0,shouldFocusBlock:f=!0}){const g=Object(d.useDebounce)(Ct.speak,500),[h,O]=$a({onSelect:t,rootClientId:o,clientId:r,isAppender:c,insertionIndex:l,shouldFocusBlock:f}),[j,k,_,y]=Dl(h,O),[E,,C]=Ra(O,h),S=Object(i.useMemo)(()=>{const t=Rl(Object(u.orderBy)(j,["frecency"],["desc"]),k,_,e);return void 0!==s?t.slice(0,s):t},[e,j,k,_,s]),w=Object(i.useMemo)(()=>{const t=Al(E,e);return void 0!==a?t.slice(0,a):t},[e,E,a]);Object(i.useEffect)(()=>{if(!e)return;const t=S.length+w.length,n=Object(v.sprintf)(Object(v._n)("%d result found.","%d results found.",t),t);g(n)},[e,g]);const B=Object(d.useAsyncList)(w),I=!Object(u.isEmpty)(S)||!Object(u.isEmpty)(w);return Object(i.createElement)(Ta,null,!b&&!I&&Object(i.createElement)(za,null),!!S.length&&Object(i.createElement)(xa,{title:Object(i.createElement)(p.VisuallyHidden,null,Object(v.__)("Blocks"))},Object(i.createElement)(Ia,{items:S,onSelect:y,onHover:n,label:Object(v.__)("Blocks"),isDraggable:m})),!!S.length&&!!w.length&&Object(i.createElement)("div",{className:"block-editor-inserter__quick-inserter-separator"}),!!w.length&&Object(i.createElement)(xa,{title:Object(i.createElement)(p.VisuallyHidden,null,Object(v.__)("Block Patterns"))},Object(i.createElement)("div",{className:"block-editor-inserter__quick-inserter-patterns"},Object(i.createElement)(Da,{shownPatterns:B,blockPatterns:w,onClickPattern:C,isDraggable:m}))),b&&Object(i.createElement)(qa.Slot,{fillProps:{onSelect:y,onHover:n,filterValue:e,hasItems:I,rootClientId:h}},e=>e.length?e:I?null:Object(i.createElement)(za,null)))};const Xa={name:"blocks",title:Object(v.__)("Blocks")},Qa={name:"patterns",title:Object(v.__)("Patterns")},Za={name:"reusable",title:Object(v.__)("Reusable")};var Ja=function({children:e,showPatterns:t=!1,showReusableBlocks:n=!1,onSelect:o}){const r=Object(i.useMemo)(()=>{const e=[Xa];return t&&e.push(Qa),n&&e.push(Za),e},[Xa,t,Qa,n,Za]);return Object(i.createElement)(p.TabPanel,{className:"block-editor-inserter__tabs",tabs:r,onSelect:o},e)};var es=function({rootClientId:e,clientId:t,isAppender:n,__experimentalInsertionIndex:o,onSelect:r,showInserterHelpPanel:c,showMostUsedBlocks:l,shouldFocusBlock:a=!0}){const[s,u]=Object(i.useState)(""),[d,b]=Object(i.useState)(null),[m,g]=Object(i.useState)(null),[h,O,j]=$a({rootClientId:e,clientId:t,isAppender:n,insertionIndex:o,shouldFocusBlock:a}),{showPatterns:k,hasReusableBlocks:_}=Object(f.useSelect)(e=>{var t;const{__experimentalGetAllowedPatterns:n,getSettings:o}=e(Rn);return{showPatterns:!!n(h).length,hasReusableBlocks:!(null===(t=o().__experimentalReusableBlocks)||void 0===t||!t.length)}},[h]),y=Object(i.useCallback)((e,t,n)=>{O(e,t,n),r()},[O,r]),E=Object(i.useCallback)((e,t)=>{O(e,{patternName:t}),r()},[O,r]),C=Object(i.useCallback)(e=>{j(!!e),b(e)},[j,b]),S=Object(i.useCallback)(e=>{g(e)},[g]),w=Object(i.useMemo)(()=>Object(i.createElement)(i.Fragment,null,Object(i.createElement)("div",{className:"block-editor-inserter__block-list"},Object(i.createElement)(Na,{rootClientId:h,onInsert:y,onHover:C,showMostUsedBlocks:l})),c&&Object(i.createElement)("div",{className:"block-editor-inserter__tips"},Object(i.createElement)(p.VisuallyHidden,{as:"h2"},Object(v.__)("A tip for using the block editor")),Object(i.createElement)(aa,null))),[h,y,C,s,l,c]),B=Object(i.useMemo)(()=>Object(i.createElement)(Va,{rootClientId:h,onInsert:E,onClickCategory:S,selectedCategory:m}),[h,E,S,m]),I=Object(i.useMemo)(()=>Object(i.createElement)(Ua,{rootClientId:h,onInsert:y,onHover:C}),[h,y,C]),x=Object(i.useCallback)(e=>"blocks"===e.name?w:"patterns"===e.name?B:I,[w,B,I]);return Object(i.createElement)("div",{className:"block-editor-inserter__menu"},Object(i.createElement)("div",{className:"block-editor-inserter__main-area"},Object(i.createElement)("div",{className:"block-editor-inserter__content"},Object(i.createElement)(da,{onChange:e=>{d&&b(null),u(e)},value:s,label:Object(v.__)("Search for blocks and patterns"),placeholder:Object(v.__)("Search")}),!!s&&Object(i.createElement)(Ya,{filterValue:s,onSelect:r,onHover:C,rootClientId:e,clientId:t,isAppender:n,__experimentalInsertionIndex:o,showBlockDirectory:!0,shouldFocusBlock:a}),!s&&(k||_)&&Object(i.createElement)(Ja,{showPatterns:k,showReusableBlocks:_},x),!s&&!k&&!_&&w)),c&&d&&Object(i.createElement)(va,{item:d}))};function ts({onSelect:e,rootClientId:t,clientId:n,isAppender:o}){const[r,c]=Object(i.useState)(""),[l,a]=$a({onSelect:e,rootClientId:t,clientId:n,isAppender:o}),[u]=Dl(l,a),[d]=Ra(a,l),b=d.length&&!!r,m=b&&d.length>6||u.length>6,{setInserterIsOpened:g,insertionIndex:h}=Object(f.useSelect)(e=>{const{getSettings:o,getBlockIndex:r,getBlockCount:c}=e(Rn),l=r(n,t);return{setInserterIsOpened:o().__experimentalSetIsInserterOpened,insertionIndex:-1===l?c():l}},[n,t]);Object(i.useEffect)(()=>{g&&g(!1)},[g]);return Object(i.createElement)("div",{className:s()("block-editor-inserter__quick-inserter",{"has-search":m,"has-expand":g})},m&&Object(i.createElement)(da,{value:r,onChange:e=>{c(e)},label:Object(v.__)("Search for blocks and patterns"),placeholder:Object(v.__)("Search")}),Object(i.createElement)("div",{className:"block-editor-inserter__quick-inserter-results"},Object(i.createElement)(Ya,{filterValue:r,onSelect:e,rootClientId:t,clientId:n,isAppender:o,maxBlockPatterns:b?2:0,maxBlockTypes:6,isDraggable:!1})),g&&Object(i.createElement)(p.Button,{className:"block-editor-inserter__quick-inserter-expand",onClick:()=>{g({rootClientId:t,insertionIndex:h})},"aria-label":Object(v.__)("Browse all. This will open the main inserter panel in the editor toolbar.")},Object(v.__)("Browse all")))}const ns=({onToggle:e,disabled:t,isOpen:n,blockTitle:o,hasSingleBlockType:r,toggleProps:c={}})=>{let a;a=r?Object(v.sprintf)(Object(v._x)("Add %s","directly add the only allowed block"),o):Object(v._x)("Add block","Generic label for block inserter button");const{onClick:s,...u}=c;return Object(i.createElement)(p.Button,Object(l.a)({icon:la.a,label:a,tooltipPosition:"bottom",onClick:function(t){e&&e(t),s&&s(t)},className:"block-editor-inserter__toggle","aria-haspopup":!r&&"true","aria-expanded":!r&&n,disabled:t},u))};class os extends i.Component{constructor(){super(...arguments),this.onToggle=this.onToggle.bind(this),this.renderToggle=this.renderToggle.bind(this),this.renderContent=this.renderContent.bind(this)}onToggle(e){const{onToggle:t}=this.props;t&&t(e)}renderToggle({onToggle:e,isOpen:t}){const{disabled:n,blockTitle:o,hasSingleBlockType:r,toggleProps:c,hasItems:l,renderToggle:i=ns}=this.props;return i({onToggle:e,isOpen:t,disabled:n||!l,blockTitle:o,hasSingleBlockType:r,toggleProps:c})}renderContent({onClose:e}){const{rootClientId:t,clientId:n,isAppender:o,showInserterHelpPanel:r,__experimentalIsQuick:c}=this.props;return c?Object(i.createElement)(ts,{onSelect:()=>{e()},rootClientId:t,clientId:n,isAppender:o}):Object(i.createElement)(es,{onSelect:()=>{e()},rootClientId:t,clientId:n,isAppender:o,showInserterHelpPanel:r})}render(){const{position:e,hasSingleBlockType:t,insertOnlyAllowedBlock:n,__experimentalIsQuick:o,onSelectOrClose:r}=this.props;return t?this.renderToggle({onToggle:n}):Object(i.createElement)(p.Dropdown,{className:"block-editor-inserter",contentClassName:s()("block-editor-inserter__popover",{"is-quick":o}),position:e,onToggle:this.onToggle,expandOnMobile:!0,headerTitle:Object(v.__)("Add a block"),renderToggle:this.renderToggle,renderContent:this.renderContent,onClose:r})}}var rs=Object(d.compose)([Object(f.withSelect)((e,{clientId:t,rootClientId:n})=>{const{getBlockRootClientId:o,hasInserterItems:r,__experimentalGetAllowedBlocks:c}=e(Rn),{getBlockVariations:l}=e(m.store),i=c(n=n||o(t)||void 0),a=1===Object(u.size)(i)&&0===Object(u.size)(l(i[0].name,"inserter"));let s=!1;return a&&(s=i[0]),{hasItems:r(n),hasSingleBlockType:a,blockTitle:s?s.title:"",allowedBlockType:s,rootClientId:n}}),Object(f.withDispatch)((e,t,{select:n})=>({insertOnlyAllowedBlock(){const{rootClientId:o,clientId:r,isAppender:c,hasSingleBlockType:l,allowedBlockType:i,onSelectOrClose:a}=t;if(!l)return;const{insertBlock:s}=e(Rn);s(Object(m.createBlock)(i.name),function(){const{getBlockIndex:e,getBlockSelectionEnd:t,getBlockOrder:l,getBlockRootClientId:i}=n(Rn);if(r)return e(r,o);const a=t();return!c&&a&&i(a)===o?e(a,o)+1:l(o).length}(),o),a&&a();const u=Object(v.sprintf)(Object(v.__)("%s block added"),i.title);Object(Ct.speak)(u)}})),Object(d.ifCondition)(({hasItems:e,isAppender:t,rootClientId:n,clientId:o})=>e||!t&&!n&&!o)])(os);var cs=Object(d.compose)(Object(f.withSelect)((e,t)=>{const{getBlockCount:n,getBlockName:o,isBlockValid:r,getSettings:c,getTemplateLock:l}=e(Rn),i=!n(t.rootClientId),a=o(t.lastBlockClientId)===Object(m.getDefaultBlockName)(),s=r(t.lastBlockClientId),{bodyPlaceholder:u}=c();return{isVisible:i||!a||!s,showPrompt:i,isLocked:!!l(t.rootClientId),placeholder:u}}),Object(f.withDispatch)((e,t)=>{const{insertDefaultBlock:n,startTyping:o}=e(Rn);return{onAppend(){const{rootClientId:e}=t;n(void 0,e),o()}}}))((function({isLocked:e,isVisible:t,onAppend:n,showPrompt:o,placeholder:r,rootClientId:c}){if(e||!t)return null;const l=Object(ca.decodeEntities)(r)||Object(v.__)("Type / to choose a block");return Object(i.createElement)("div",{"data-root-client-id":c||"",className:"block-editor-default-block-appender"},Object(i.createElement)("p",{tabIndex:"0",contentEditable:!0,suppressContentEditableWarning:!0,role:"button","aria-label":Object(v.__)("Add block"),className:"wp-block block-editor-default-block-appender__content",onFocus:n},o?l:"\ufeff"),Object(i.createElement)(rs,{rootClientId:c,position:"bottom right",isAppender:!0,__experimentalIsQuick:!0}))}));function ls({rootClientId:e,className:t,onFocus:n,tabIndex:o},r){return Object(i.createElement)(rs,{position:"bottom center",rootClientId:e,__experimentalIsQuick:!0,renderToggle:({onToggle:e,disabled:c,isOpen:l,blockTitle:a,hasSingleBlockType:u})=>{let d;d=u?Object(v.sprintf)(Object(v._x)("Add %s","directly add the only allowed block"),a):Object(v._x)("Add block","Generic label for block inserter button");const b=!u;let m=Object(i.createElement)(p.Button,{ref:r,onFocus:n,tabIndex:o,className:s()(t,"block-editor-button-block-appender"),onClick:e,"aria-haspopup":b?"true":void 0,"aria-expanded":b?l:void 0,disabled:c,label:d},!u&&Object(i.createElement)(p.VisuallyHidden,{as:"span"},d),Object(i.createElement)(qc.a,{icon:la.a}));return(b||u)&&(m=Object(i.createElement)(p.Tooltip,{text:d},m)),m},isAppender:!0})}const is=Object(i.forwardRef)((e,t)=>(wt()("wp.blockEditor.ButtonBlockerAppender",{alternative:"wp.blockEditor.ButtonBlockAppender"}),ls(e,t)));var as=Object(i.forwardRef)(ls);Object(i.createContext)();function ss(e){e.stopPropagation()}var us=Object(f.withSelect)((e,{rootClientId:t})=>{const{getBlockOrder:n,canInsertBlockType:o,getTemplateLock:r,getSelectedBlockClientId:c}=e(Rn);return{isLocked:!!r(t),blockClientIds:n(t),canInsertDefaultBlock:o(Object(m.getDefaultBlockName)(),t),selectedBlockClientId:c()}})((function({blockClientIds:e,rootClientId:t,canInsertDefaultBlock:n,isLocked:o,renderAppender:r,className:c,selectedBlockClientId:l,tagName:a="div"}){if(o||!1===r)return null;let d;if(r)d=Object(i.createElement)(r,null);else{const o=!t,r=l===t,c=l&&!e.includes(l);if(!o&&!r&&(!l||c))return null;d=n?Object(i.createElement)(cs,{rootClientId:t,lastBlockClientId:Object(u.last)(e)}):Object(i.createElement)(as,{rootClientId:t,className:"block-list-appender__toggle"})}return Object(i.createElement)(a,{tabIndex:-1,onFocus:ss,className:s()("block-list-appender",c)},d)}));function ds(e,t,n,o,r,c,l){return i=>{const{srcRootClientId:a,srcClientIds:s,type:u,blocks:d}=function(e){let t={srcRootClientId:null,srcClientIds:null,srcIndex:null,type:null,blocks:null};if(!e.dataTransfer)return t;try{t=Object.assign(t,JSON.parse(e.dataTransfer.getData("wp-blocks")))}catch(e){return t}return t}(i);if("inserter"===u&&(l(),c(d,t,e,!0,null)),"block"===u){const c=n(s[0],a);if(a===e&&c===t)return;if(s.includes(e)||o(s).some(t=>t===e))return;const l=a===e,i=s.length;r(s,a,e,l&&ce(Rn).getSettings().mediaUpload,[]),{canInsertBlockType:o,getBlockIndex:r,getClientIdsOfDescendants:c}=Object(f.useSelect)(Rn),{insertBlocks:l,moveBlocksToPosition:i,updateBlockAttributes:a,clearSelectedBlock:s}=Object(f.useDispatch)(Rn),u=ds(e,t,r,c,i,l,s),d=function(e,t,n,o,r,c){return l=>{if(!n)return;const i=Object(m.findTransform)(Object(m.getBlockTransforms)("from"),t=>"files"===t.type&&r(t.blockName,e)&&t.isMatch(l));if(i){const n=i.transform(l,o);c(n,t,e)}}}(e,t,n,a,o,l),b=function(e,t,n){return o=>{const r=Object(m.pasteHandler)({HTML:o,mode:"BLOCKS"});r.length&&n(r,t,e)}}(e,t,l);return e=>{const t=Object(ui.getFilesFromDataTransfer)(e.dataTransfer),n=e.dataTransfer.getData("text/html");t.length?d(t):n?b(n):u(e)}}function ms(e,t,n=["top","bottom","left","right"]){let o,r;return n.forEach(n=>{const c=function(e,t,n){const o="top"===n||"bottom"===n,{x:r,y:c}=e,l=o?r:c,i=o?c:r,a=o?t.left:t.top,s=o?t.right:t.bottom,u=t[n];let d;return d=l>=a&&l<=s?l:l{const{getTemplateLock:n}=t(Rn);return"all"===n(e)},[e]),{getBlockListSettings:r}=Object(f.useSelect)(Rn),{showInsertionPoint:c,hideInsertionPoint:l}=Object(f.useDispatch)(Rn),a=bs(e,t),s=Object(d.useThrottle)(Object(i.useCallback)((t,o)=>{var l;const i=function(e,t,n){const o="horizontal"===n?["left","right"]:["top","bottom"],r=Object(v.isRTL)();let c,l;return e.forEach((e,n)=>{const i=e.getBoundingClientRect(),[a,s]=ms(t,i,o);if(void 0===l||ae.classList.contains("wp-block")),{x:t.clientX,y:t.clientY},null===(l=r(e))||void 0===l?void 0:l.orientation);n(void 0===i?0:i),null!==i&&c(e,i)},[]),200);return Object(d.__experimentalUseDropZone)({isDisabled:o,onDrop:a,onDragOver(e){s(e,e.currentTarget)},onDragLeave(){s.cancel(),l(),n(null)},onDragEnd(){s.cancel(),l(),n(null)}})}function fs(e){return Object(d.useRefEffect)(t=>{if(e)return t.addEventListener("wheel",n),()=>{t.removeEventListener("wheel",n)};function n(t){const{deltaX:n,deltaY:o}=t;e.current.scrollBy(n,o)}},[e])}const gs=Object(i.createContext)();function hs({__unstablePopoverSlot:e,__unstableContentRef:t}){const{selectBlock:n}=Object(f.useDispatch)(Rn),o=Object(i.useContext)(gs),r=Object(i.useRef)(),{orientation:c,previousClientId:l,nextClientId:a,rootClientId:u,isInserterShown:d}=Object(f.useSelect)(e=>{var t;const{getBlockOrder:n,getBlockListSettings:o,getBlockInsertionPoint:r,isBlockBeingDragged:c,getPreviousBlockClientId:l,getNextBlockClientId:i}=e(Rn),a=r(),s=n(a.rootClientId);if(!s.length)return{};let u=s[a.index-1],d=s[a.index];for(;c(u);)u=l(u);for(;c(d);)d=i(d);return{previousClientId:u,nextClientId:d,orientation:(null===(t=o(a.rootClientId))||void 0===t?void 0:t.orientation)||"vertical",rootClientId:a.rootClientId,isInserterShown:null==a?void 0:a.__unstableWithInserter}},[]),b=kr(l),m=kr(a),g=Object(i.useMemo)(()=>{if(!b&&!m)return{};const e=b?b.getBoundingClientRect():null,t=m?m.getBoundingClientRect():null;if("vertical"===c)return{width:b?b.offsetWidth:m.offsetWidth,height:t&&e?t.top-e.bottom:0};let n=0;return e&&t&&(n=Object(v.isRTL)()?e.left-t.right:t.left-e.right),{width:n,height:b?b.offsetHeight:m.offsetHeight}},[b,m]),h=Object(i.useCallback)(()=>{if(!b&&!m)return{};const{ownerDocument:e}=b||m,t=b?b.getBoundingClientRect():null,n=m?m.getBoundingClientRect():null;return"vertical"===c?Object(v.isRTL)()?{top:t?t.bottom:n.top,left:t?t.right:n.right,right:t?t.left:n.left,bottom:n?n.top:t.bottom,ownerDocument:e}:{top:t?t.bottom:n.top,left:t?t.left:n.left,right:t?t.right:n.right,bottom:n?n.top:t.bottom,ownerDocument:e}:Object(v.isRTL)()?{top:t?t.top:n.top,left:t?t.left:n.right,right:n?n.right:t.left,bottom:t?t.bottom:n.bottom,ownerDocument:e}:{top:t?t.top:n.top,left:t?t.right:n.left,right:n?n.left:t.right,bottom:t?t.bottom:n.bottom,ownerDocument:e}},[b,m]),O=fs(t),j=s()("block-editor-block-list__insertion-point","is-"+c);const k=b&&m&&d;return Object(i.createElement)(p.Popover,{ref:O,noArrow:!0,animate:!1,getAnchorRect:h,focusOnMount:!1,className:"block-editor-block-list__insertion-point-popover",__unstableSlotName:e||null},Object(i.createElement)("div",{ref:r,tabIndex:-1,onClick:function(e){e.target===r.current&&a&&n(a,-1)},onFocus:function(e){e.target!==r.current&&(o.current=!0)},className:s()(j,{"is-with-inserter":k}),style:g},Object(i.createElement)("div",{className:"block-editor-block-list__insertion-point-indicator"}),k&&Object(i.createElement)("div",{className:s()("block-editor-block-list__insertion-point-inserter")},Object(i.createElement)(rs,{position:"bottom center",clientId:a,rootClientId:u,__experimentalIsQuick:!0,onToggle:e=>{o.current=e},onSelectOrClose:()=>{o.current=!1}}))))}function Os({children:e,__unstablePopoverSlot:t,__unstableContentRef:n}){const o=Object(f.useSelect)(e=>e(Rn).isBlockInsertionPointVisible(),[]);return Object(i.createElement)(gs.Provider,{value:Object(i.useRef)(!1)},o&&Object(i.createElement)(hs,{__unstablePopoverSlot:t,__unstableContentRef:n}),e)}function vs(){const e=Object(i.useContext)(gs),t=Object(f.useSelect)(e=>e(Rn).getSettings().hasReducedUI,[]),{getBlockListSettings:n,getBlockRootClientId:o,getBlockIndex:r,isBlockInsertionPointVisible:c,isMultiSelecting:l,getSelectedBlockClientIds:a,getTemplateLock:s}=Object(f.useSelect)(Rn),{showInsertionPoint:u,hideInsertionPoint:b}=Object(f.useDispatch)(Rn);return Object(d.useRefEffect)(o=>{if(!t)return o.addEventListener("mousemove",i),()=>{o.removeEventListener("mousemove",i)};function i(t){var o;if(e.current)return;if(l())return;if(!t.target.classList.contains("block-editor-block-list__layout"))return void(c()&&b());let i;if(!t.target.classList.contains("is-root-container")){i=(t.target.getAttribute("data-block")?t.target:t.target.closest("[data-block]")).getAttribute("data-block")}if(s(i))return;const d=(null===(o=n(i))||void 0===o?void 0:o.orientation)||"vertical",m=t.target.getBoundingClientRect(),p=t.clientY-m.top,f=t.clientX-m.left;let g=Array.from(t.target.children).find(e=>e.classList.contains("wp-block")&&"vertical"===d&&e.offsetTop>p||e.classList.contains("wp-block")&&"horizontal"===d&&e.offsetLeft>f);if(!g)return;if(!g.id&&(g=g.firstElementChild,!g))return;const h=g.id.slice("block-".length);if(!h)return;if(a().includes(h))return;const O=g.getBoundingClientRect();if("horizontal"===d&&(t.clientY>O.bottom||t.clientYO.right||t.clientX{setTimeout(()=>e(Date.now()),0)}:window.requestIdleCallback||window.requestAnimationFrame,ks="undefined"==typeof window?clearTimeout:window.cancelIdleCallback||window.cancelAnimationFrame;var _s=n("hF7m");var ys=({children:e,clientIds:t,cloneClassname:n,onDragStart:o,onDragEnd:r,elementId:c})=>{const{srcRootClientId:l,isDraggable:a,icon:s}=Object(f.useSelect)(e=>{var n;const{getBlockRootClientId:o,getTemplateLock:r,getBlockName:c}=e(Rn),l=o(t[0]),i=l?r(l):null,a=c(t[0]);return{srcRootClientId:l,isDraggable:"all"!==i,icon:null===(n=Object(m.getBlockType)(a))||void 0===n?void 0:n.icon}},[t]),u=Object(i.useRef)(!1),[d,b,g]=function(){const e=Object(i.useRef)(null),t=Object(i.useRef)(null),n=Object(i.useRef)(null),o=Object(i.useRef)(null);return Object(i.useEffect)(()=>()=>{o.current&&(clearInterval(o.current),o.current=null)},[]),[Object(i.useCallback)(r=>{e.current=r.clientY,n.current=Object(ui.getScrollContainer)(r.target),o.current=setInterval(()=>{if(n.current&&t.current){const e=n.current.scrollTop+t.current;n.current.scroll({top:e})}},25)},[]),Object(i.useCallback)(o=>{if(!n.current)return;const r=n.current.offsetHeight,c=e.current-n.current.offsetTop,l=o.clientY-n.current.offsetTop;if(o.clientY>c){const e=Math.max(r-c-50,0),n=Math.max(l-c-50,0)/e;t.current=25*n}else if(o.clientY{e.current=null,n.current=null,o.current&&(clearInterval(o.current),o.current=null)}]}(),{startDraggingBlocks:h,stopDraggingBlocks:O}=Object(f.useDispatch)(Rn);if(Object(i.useEffect)(()=>()=>{u.current&&O()},[]),!a)return e({isDraggable:!1});const v={type:"block",srcClientIds:t,srcRootClientId:l};return Object(i.createElement)(p.Draggable,{cloneClassname:n,elementId:c,__experimentalTransferDataType:"wp-blocks",transferData:v,onDragStart:e=>{h(t),u.current=!0,d(e),o&&o()},onDragOver:b,onDragEnd:()=>{O(),u.current=!1,g(),r&&r()},__experimentalDragComponent:Object(i.createElement)(ya,{count:t.length,icon:s})},({onDraggableStart:t,onDraggableEnd:n})=>e({draggable:!0,onDragStart:t,onDragEnd:n}))};var Es=function({clientId:e,rootClientId:t,blockElement:n}){const o=$l(e),r=Object(f.useSelect)(n=>{var o;const{__unstableGetBlockWithoutInnerBlocks:r,getBlockIndex:c,hasBlockMovingClientId:l,getBlockListSettings:i}=n(Rn),a=c(e,t),{name:s,attributes:u}=r(e);return{index:a,name:s,attributes:u,blockMovingMode:l(),orientation:null===(o=i(t))||void 0===o?void 0:o.orientation}},[e,t]),{index:c,name:a,attributes:u,blockMovingMode:d,orientation:b}=r,{setNavigationMode:g,removeBlock:h}=Object(f.useDispatch)(Rn),O=Object(i.useRef)();Object(i.useEffect)(()=>{O.current.focus(),window.navigator.platform.indexOf("Win")>-1&&Object(Ct.speak)(P)},[]);const{hasBlockMovingClientId:j,getBlockIndex:k,getBlockRootClientId:_,getClientIdsOfDescendants:y,getSelectedBlockClientId:E,getMultiSelectedBlocksEndClientId:C,getPreviousBlockClientId:S,getNextBlockClientId:w}=Object(f.useSelect)(Rn),{selectBlock:B,clearSelectedBlock:I,setBlockMovingClientId:x,moveBlockToPosition:T}=Object(f.useDispatch)(Rn),N=Object(m.getBlockType)(a),P=Object(m.__experimentalGetAccessibleBlockLabel)(N,u,c+1,b),L=s()("block-editor-block-list__block-selection-button",{"is-block-moving-mode":!!d}),R=Object(v.__)("Drag");return Object(i.createElement)("div",{className:L},Object(i.createElement)(p.Flex,{justify:"center",className:"block-editor-block-list__block-selection-button__content"},Object(i.createElement)(p.FlexItem,null,Object(i.createElement)(Vl,{icon:null==o?void 0:o.icon,showColors:!0})),Object(i.createElement)(p.FlexItem,null,Object(i.createElement)(ys,{clientIds:[e]},e=>Object(i.createElement)(p.Button,Object(l.a)({icon:_a,className:"block-selection-button_drag-handle","aria-hidden":"true",label:R,tabIndex:"-1"},e)))),Object(i.createElement)(p.FlexItem,null,Object(i.createElement)(p.Button,{ref:O,onClick:()=>g(!1),onKeyDown:function(t){const{keyCode:o}=t,r=o===Kr.UP,c=o===Kr.DOWN,l=o===Kr.LEFT,i=o===Kr.RIGHT,a=o===Kr.TAB,s=o===Kr.ESCAPE,u=o===Kr.ENTER,d=o===Kr.SPACE,b=t.shiftKey;if(o===Kr.BACKSPACE||o===Kr.DELETE)return h(e),void t.preventDefault();const m=E(),p=C(),f=S(p||m),g=w(p||m),O=a&&b||r,v=a&&!b||c,N=l,P=i;let L;if(O)L=f;else if(v)L=g;else if(N){var R;L=null!==(R=_(m))&&void 0!==R?R:m}else if(P){var A;L=null!==(A=y([m])[0])&&void 0!==A?A:m}const M=j();if(s&&M&&x(null),(u||d)&&M){const e=_(M),t=_(m),n=k(M,e);let o=k(m,t);n{!function(e){const[t]=ui.focus.tabbable.find(e);t&&t.focus()}(e.current)},[]);Object(_s.useShortcut)("core/block-editor/focus-toolbar",a,{bindGlobal:!0,eventName:"keydown"}),Object(i.useEffect)(()=>{c&&a()},[n,c,a]),Object(i.useEffect)(()=>{let t=0;return l&&!c&&(t=window.requestAnimationFrame(()=>{const t=Cs(e.current),n=l||0;var o;t[n]&&(o=e.current).contains(o.ownerDocument.activeElement)&&t[n].focus()})),()=>{if(window.cancelAnimationFrame(t),!r)return;const n=Cs(e.current).findIndex(e=>0===e.tabIndex);r(n)}},[l,c])}var ws=function({children:e,focusOnMount:t,__experimentalInitialIndex:n,__experimentalOnIndexChange:o,...r}){const c=Object(i.useRef)(),a=function(e){const[t,n]=Object(i.useState)(!0),o=Object(i.useCallback)(()=>{const t=ui.focus.tabbable.find(e.current),o=!t.some(e=>!("toolbarItem"in e.dataset));o||wt()("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"}),n(o)},[]);return Object(i.useLayoutEffect)(()=>{const t=new window.MutationObserver(o);return t.observe(e.current,{childList:!0,subtree:!0}),()=>t.disconnect()},[t]),t}(c);return Ss(c,t,a,n,o),a?Object(i.createElement)(p.Toolbar,Object(l.a)({label:r["aria-label"],ref:c},r),e):Object(i.createElement)(p.NavigableMenu,Object(l.a)({orientation:"horizontal",role:"toolbar",ref:c},r),e)};var Bs=Object(f.withSelect)((e,{clientIds:t})=>{var n;const{getBlock:o,getBlockIndex:r,getBlockListSettings:c,getTemplateLock:l,getBlockOrder:i,getBlockRootClientId:a}=e(Rn),s=Object(u.castArray)(t),d=Object(u.first)(s),b=o(d),p=a(Object(u.first)(s)),f=r(d,p),g=0===f,h=r(Object(u.last)(s),p)===i(p).length-1;return{blockType:b?Object(m.getBlockType)(b.name):null,isLocked:"all"===l(p),rootClientId:p,firstIndex:f,isFirst:g,isLast:h,orientation:null===(n=c(p))||void 0===n?void 0:n.orientation}})((function({isFirst:e,isLast:t,clientIds:n,isLocked:o,isHidden:r,rootClientId:c,orientation:a,hideDragHandle:u}){const[d,b]=Object(i.useState)(!1),m=()=>b(!0),f=()=>b(!1);if(o||e&&t&&!c)return null;const g=Object(v.__)("Drag");return Object(i.createElement)("div",{className:s()("block-editor-block-mover",{"is-visible":d||!r,"is-horizontal":"horizontal"===a})},!u&&Object(i.createElement)(ys,{clientIds:n,cloneClassname:"block-editor-block-mover__drag-clone"},e=>Object(i.createElement)(p.Button,Object(l.a)({icon:_a,className:"block-editor-block-mover__drag-handle","aria-hidden":"true",label:g,tabIndex:"-1"},e))),Object(i.createElement)(p.ToolbarGroup,{className:"block-editor-block-mover__move-button-container"},Object(i.createElement)(p.ToolbarItem,{onFocus:m,onBlur:f},e=>Object(i.createElement)(Ei,Object(l.a)({clientIds:n},e))),Object(i.createElement)(p.ToolbarItem,{onFocus:m,onBlur:f},e=>Object(i.createElement)(Ci,Object(l.a)({clientIds:n},e)))))}));const{clearTimeout:Is,setTimeout:xs}=window;function Ts({ref:e,isFocused:t,debounceTimeout:n=200,onChange:o=u.noop}){const[r,c]=Object(i.useState)(!1),l=Object(i.useRef)(),a=t=>{null!=e&&e.current&&c(t),o(t)},s=()=>{const n=(null==e?void 0:e.current)&&e.current.matches(":hover");return!t&&!n},d=()=>{const e=l.current;e&&Is&&Is(e)};return Object(i.useEffect)(()=>()=>d(),[]),{showMovers:r,debouncedShowMovers:e=>{e&&e.stopPropagation(),d(),r||a(!0)},debouncedHideMovers:e=>{e&&e.stopPropagation(),d(),l.current=xs(()=>{s()&&a(!1)},n)}}}function Ns({ref:e,debounceTimeout:t=200,onChange:n=u.noop}){const[o,r]=Object(i.useState)(!1),{showMovers:c,debouncedShowMovers:l,debouncedHideMovers:a}=Ts({ref:e,debounceTimeout:t,isFocused:o,onChange:n}),s=Object(i.useRef)(!1),d=()=>(null==e?void 0:e.current)&&e.current.contains(e.current.ownerDocument.activeElement);return Object(i.useEffect)(()=>{const t=e.current,n=()=>{d()&&(r(!0),l())},o=()=>{d()||(r(!1),a())};return t&&!s.current&&(t.addEventListener("focus",n,!0),t.addEventListener("blur",o,!0),s.current=!0),()=>{t&&(t.removeEventListener("focus",n),t.removeEventListener("blur",o))}},[e,s,r,l,a]),{showMovers:c,gestures:{onMouseMove:l,onMouseLeave:a}}}function Ps(){const{selectBlock:e,toggleBlockHighlight:t}=Object(f.useDispatch)(Rn),{firstParentClientId:n,shouldHide:o,hasReducedUI:r}=Object(f.useSelect)(e=>{const{getBlockName:t,getBlockParents:n,getSelectedBlockClientId:o,getSettings:r}=e(Rn),{hasBlockSupport:c}=e(m.store),l=n(o()),i=l[l.length-1],a=t(i),s=Object(m.getBlockType)(a),u=r();return{firstParentClientId:i,shouldHide:!c(s,"__experimentalParentSelector",!0),hasReducedUI:u.hasReducedUI}},[]),c=$l(n),a=Object(i.useRef)(),{gestures:s}=Ns({ref:a,onChange(e){e&&r||t(n,e)}});return o||void 0===n?null:Object(i.createElement)("div",Object(l.a)({className:"block-editor-block-parent-selector",key:n,ref:a},s),Object(i.createElement)(p.ToolbarButton,{className:"block-editor-block-parent-selector__button",onClick:()=>e(n),label:Object(v.sprintf)(Object(v.__)("Select %s"),c.title),showTooltip:!0,icon:Object(i.createElement)(Vl,{icon:c.icon})}))}var Ls=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.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"}));function Rs({blocks:e}){return Object(i.createElement)("div",{className:"block-editor-block-switcher__popover__preview__parent"},Object(i.createElement)("div",{className:"block-editor-block-switcher__popover__preview__container"},Object(i.createElement)(p.Popover,{className:"block-editor-block-switcher__preview__popover",position:"bottom right",focusOnMount:!1},Object(i.createElement)("div",{className:"block-editor-block-switcher__preview"},Object(i.createElement)("div",{className:"block-editor-block-switcher__preview-title"},Object(v.__)("Preview")),Object(i.createElement)(Oa,{viewportWidth:500,blocks:e})))))}var As=({className:e,possibleBlockTransformations:t,onSelect:n,blocks:o})=>{const[r,c]=Object(i.useState)();return Object(i.createElement)(p.MenuGroup,{label:Object(v.__)("Transform to"),className:e},r&&Object(i.createElement)(Rs,{blocks:Object(m.switchToBlockType)(o,r)}),t.map(e=>{const{name:t,icon:o,title:r,isDisabled:l}=e;return Object(i.createElement)(p.MenuItem,{key:t,className:Object(m.getBlockMenuDefaultClassName)(t),onClick:e=>{e.preventDefault(),n(t)},disabled:l,onMouseLeave:()=>c(null),onMouseEnter:()=>c(t)},Object(i.createElement)(Vl,{icon:o,showColors:!0}),r)}))};const Ms={};function Ds({genericPreviewBlock:e,style:t,isActive:n,onBlur:o,onHover:r,onSelect:c,styleClassName:l,itemRole:a}){const u=Object(i.useMemo)(()=>({...e,attributes:{...e.attributes,className:l}}),[e,l]);return Object(i.createElement)("div",{key:t.name,className:s()("block-editor-block-styles__item",{"is-active":n}),onClick:()=>c(),onKeyDown:e=>{Kr.ENTER!==e.keyCode&&Kr.SPACE!==e.keyCode||(e.preventDefault(),c())},onMouseEnter:r,onMouseLeave:o,role:a||"button",tabIndex:"0","aria-label":t.label||t.name},Object(i.createElement)("div",{className:"block-editor-block-styles__item-preview"},Object(i.createElement)(Oa,{viewportWidth:500,blocks:u})),Object(i.createElement)("div",{className:"block-editor-block-styles__item-label"},t.label||t.name))}var Fs=function({clientId:e,onSwitch:t=u.noop,onHoverClassName:n=u.noop,itemRole:o}){const{styles:r,block:c,type:l,className:a}=Object(f.useSelect)(t=>{const{getBlock:n}=t(Rn),o=n(e);if(!o)return Ms;const r=Object(m.getBlockType)(o.name),{getBlockStyles:c}=t(m.store);return{block:o,type:r,styles:c(o.name),className:o.attributes.className||""}},[e]),{updateBlockAttributes:s}=Object(f.useDispatch)(Rn),d=function(e,t){return Object(i.useMemo)(()=>{const n=null==t?void 0:t.example,o=null==t?void 0:t.name;return n&&o?Object(m.getBlockFromExample)(o,{attributes:n.attributes,innerBlocks:n.innerBlocks}):e?Object(m.cloneBlock)(e):void 0},[null!=t&&t.example?null==e?void 0:e.name:e,t])}(c,l);if(!r||0===r.length)return null;const b=Object(u.find)(r,"isDefault")?r:[{name:"default",label:Object(v._x)("Default","block style"),isDefault:!0},...r],p=function(e,t){for(const n of new ic.a(t).values()){if(-1===n.indexOf("is-style-"))continue;const t=n.substring(9),o=Object(u.find)(e,{name:t});if(o)return o}return Object(u.find)(e,"isDefault")}(b,a);return Object(i.createElement)("div",{className:"block-editor-block-styles"},b.map(r=>{const c=function(e,t,n){const o=new ic.a(e);return t&&o.remove("is-style-"+t.name),o.add("is-style-"+n.name),o.value}(a,p,r);return Object(i.createElement)(Ds,{genericPreviewBlock:d,className:a,isActive:p===r,key:r.name,onSelect:()=>{s(e,{className:c}),n(null),t()},onBlur:()=>n(null),onHover:()=>n(c),style:r,styleClassName:c,itemRole:o})}))};function Vs({hoveredBlock:e,onSwitch:t}){const{name:n,clientId:o}=e,[r,c]=Object(i.useState)(),l=Object(f.useSelect)(e=>e(m.store).getBlockType(n),[n]);return Object(i.createElement)(p.MenuGroup,{label:Object(v.__)("Styles"),className:"block-editor-block-switcher__styles__menugroup"},r&&Object(i.createElement)(Rs,{blocks:l.example?Object(m.getBlockFromExample)(l.name,{attributes:{...l.example.attributes,className:r},innerBlocks:l.example.innerBlocks}):Object(m.cloneBlock)(e,{className:r})}),Object(i.createElement)(Fs,{clientId:o,onSwitch:t,onHoverClassName:c,itemRole:"menuitem"}))}const Hs=(e,t,n=new Set)=>{const{clientId:o,name:r,innerBlocks:c=[]}=e;if(!n.has(o)){if(r===t)return e;for(const e of c){const o=Hs(e,t,n);if(o)return o}}},zs=(e,t)=>{const n=((e,t)=>{const n=Object(m.__experimentalGetBlockAttributesNamesByRole)(e,"content");return null!=n&&n.length?n.reduce((e,n)=>(t[n]&&(e[n]=t[n]),e),{}):t})(t.name,t.attributes);e.attributes={...e.attributes,...n}};var Gs=(e,t)=>Object(i.useMemo)(()=>e.reduce((e,n)=>{const o=((e,t)=>{const n=t.map(e=>Object(m.cloneBlock)(e)),o=new Set;for(const t of e){let e=!1;for(const r of n){const n=Hs(r,t.name,o);if(n){e=!0,o.add(n.clientId),zs(n,t);break}}if(!e)return}return n})(t,n.blocks);return o&&e.push({...n,transformedBlocks:o}),e},[]),[e,t]);function Us({patterns:e,onSelect:t}){return Object(i.createElement)("div",{className:"block-editor-block-switcher__popover__preview__parent"},Object(i.createElement)("div",{className:"block-editor-block-switcher__popover__preview__container"},Object(i.createElement)(p.Popover,{className:"block-editor-block-switcher__preview__popover",position:"bottom right"},Object(i.createElement)("div",{className:"block-editor-block-switcher__preview"},Object(i.createElement)("div",{className:"block-editor-block-switcher__preview-title"},Object(v.__)("Preview")),Object(i.createElement)(Ws,{patterns:e,onSelect:t})))))}function Ws({patterns:e,onSelect:t}){const n=Object(p.__unstableUseCompositeState)();return Object(i.createElement)(p.__unstableComposite,Object(l.a)({},n,{role:"listbox",className:"block-editor-block-switcher__preview-patterns-container","aria-label":Object(v.__)("Patterns list")}),e.map(e=>Object(i.createElement)(Ks,{key:e.name,pattern:e,onSelect:t,composite:n})))}function Ks({pattern:e,onSelect:t,composite:n}){const o="block-editor-block-switcher__preview-patterns-container",r=Object(d.useInstanceId)(Ks,o+"-list__item-description");return Object(i.createElement)("div",{className:o+"-list__list-item","aria-label":e.title,"aria-describedby":e.description?r:void 0},Object(i.createElement)(p.__unstableCompositeItem,Object(l.a)({role:"option",as:"div"},n,{className:o+"-list__item",onClick:()=>t(e.transformedBlocks)}),Object(i.createElement)(Oa,{blocks:e.transformedBlocks,viewportWidth:e.viewportWidth||500}),Object(i.createElement)("div",{className:o+"-list__item-title"},e.title)),!!e.description&&Object(i.createElement)(p.VisuallyHidden,{id:r},e.description))}var qs=function({blocks:e,patterns:t,onSelect:n}){const[o,r]=Object(i.useState)(!1),c=Gs(t,e);return c.length?Object(i.createElement)(p.MenuGroup,{className:"block-editor-block-switcher__pattern__transforms__menugroup"},o&&Object(i.createElement)(Us,{patterns:c,onSelect:n}),Object(i.createElement)(p.MenuItem,{onClick:e=>{e.preventDefault(),r(!o)},icon:gi.a},Object(v.__)("Patterns"))):null};const $s=({clientIds:e,blocks:t})=>{const{replaceBlocks:n}=Object(f.useDispatch)(Rn),o=$l(t[0].clientId),{possibleBlockTransformations:r,hasBlockStyles:c,icon:l,blockTitle:a,patterns:s}=Object(f.useSelect)(n=>{const{getBlockRootClientId:r,getBlockTransformItems:c,__experimentalGetPatternTransformItems:l}=n(Rn),{getBlockStyles:i,getBlockType:a}=n(m.store),s=r(Object(u.castArray)(e)[0]),[{name:d}]=t,b=1===t.length,p=b&&i(d);let f;if(b)f=null==o?void 0:o.icon;else{var g;f=1===Object(u.uniq)(t.map(({name:e})=>e)).length?null===(g=a(d))||void 0===g?void 0:g.icon:Ls}return{possibleBlockTransformations:c(t,s),hasBlockStyles:!(null==p||!p.length),icon:f,blockTitle:a(d).title,patterns:l(t,s)}},[e,t,null==o?void 0:o.icon]),d=1===t.length&&Object(m.isReusableBlock)(t[0]),b=1===t.length&&Object(m.isTemplatePart)(t[0]),g=!!r.length,h=!(null==s||!s.length);if(!c&&!g)return Object(i.createElement)(p.ToolbarGroup,null,Object(i.createElement)(p.ToolbarButton,{disabled:!0,className:"block-editor-block-switcher__no-switcher-icon",title:a,icon:Object(i.createElement)(Vl,{icon:l,showColors:!0})}));const O=a,j=1===t.length?Object(v.sprintf)(Object(v.__)("%s: Change block type or style"),a):Object(v.sprintf)(Object(v._n)("Change type of %d block","Change type of %d blocks",t.length),t.length),k=c||g||h;return Object(i.createElement)(p.ToolbarGroup,null,Object(i.createElement)(p.ToolbarItem,null,o=>Object(i.createElement)(p.DropdownMenu,{className:"block-editor-block-switcher",label:O,popoverProps:{position:"bottom right",isAlternate:!0,className:"block-editor-block-switcher__popover"},icon:Object(i.createElement)(i.Fragment,null,Object(i.createElement)(Vl,{icon:l,className:"block-editor-block-switcher__toggle",showColors:!0}),(d||b)&&Object(i.createElement)("span",{className:"block-editor-block-switcher__toggle-text"},Object(i.createElement)(Yl,{clientId:e}))),toggleProps:{describedBy:j,...o},menuProps:{orientation:"both"}},({onClose:o})=>k&&Object(i.createElement)("div",{className:"block-editor-block-switcher__container"},h&&Object(i.createElement)(qs,{blocks:t,patterns:s,onSelect:t=>{(t=>{n(e,t)})(t),o()}}),g&&Object(i.createElement)(As,{className:"block-editor-block-switcher__transforms__menugroup",possibleBlockTransformations:r,blocks:t,onSelect:r=>{(o=>{n(e,Object(m.switchToBlockType)(t,o))})(r),o()}}),c&&Object(i.createElement)(Vs,{hoveredBlock:t[0],onSwitch:o})))))};var Ys=({clientIds:e})=>{const t=Object(f.useSelect)(t=>t(Rn).getBlocksByClientId(e),[e]);return!t.length||t.some(e=>!e)?null:Object(i.createElement)($s,{clientIds:e,blocks:t})},Xs=n("xTGt");function Qs(){const{getBlockName:e}=Object(f.useSelect)(Rn),{getBlockType:t}=Object(f.useSelect)(m.store),{createSuccessNotice:n}=Object(f.useDispatch)(La.store);return Object(i.useCallback)((o,r)=>{let c="";if(1===r.length){const n=r[0],{title:l}=t(e(n));c="copy"===o?Object(v.sprintf)(Object(v.__)('Copied "%s" to clipboard.'),l):Object(v.sprintf)(Object(v.__)('Moved "%s" to clipboard.'),l)}else c="copy"===o?Object(v.sprintf)(Object(v._n)("Copied %d block to clipboard.","Copied %d blocks to clipboard.",r.length),r.length):Object(v.sprintf)(Object(v._n)("Moved %d block to clipboard.","Moved %d blocks to clipboard.",r.length),r.length);n(c,{type:"snackbar"})},[])}function Zs(){const{getBlocksByClientId:e,getSelectedBlockClientIds:t,hasMultiSelection:n,getSettings:o}=Object(f.useSelect)(Rn),{flashBlock:r,removeBlocks:c,replaceBlocks:l}=Object(f.useDispatch)(Rn),i=Qs();return Object(d.useRefEffect)(a=>{function s(s){const u=t();if(0!==u.length){if(!n()){const{target:e}=s,{ownerDocument:t}=e;if("copy"===s.type||"cut"===s.type?Object(ui.documentHasUncollapsedSelection)(t):Object(ui.documentHasSelection)(t))return}if(a.contains(s.target.ownerDocument.activeElement)){if(s.preventDefault(),"copy"===s.type||"cut"===s.type){1===u.length&&r(u[0]),i(s.type,u);const t=e(u),n=Object(m.serialize)(t);s.clipboardData.setData("text/plain",n),s.clipboardData.setData("text/html",n)}if("cut"===s.type)c(u);else if("paste"===s.type){const{__experimentalCanUserUseUnfilteredHTML:e}=o(),{plainText:t,html:n}=function({clipboardData:e}){let t="",n="";try{t=e.getData("text/plain"),n=e.getData("text/html")}catch(t){try{n=e.getData("Text")}catch(e){return}}const o=Object(ui.getFilesFromDataTransfer)(e).filter(({type:e})=>/^image\/(?:jpe?g|png|gif)$/.test(e));return o.length&&!n&&(n=o.map(e=>``).join(""),t=""),{html:n,plainText:t}}(s),r=Object(m.pasteHandler)({HTML:n,plainText:t,mode:"BLOCKS",canUserUseUnfilteredHTML:e});l(u,r,r.length-1,-1)}}}}return a.ownerDocument.addEventListener("copy",s),a.ownerDocument.addEventListener("cut",s),a.ownerDocument.addEventListener("paste",s),()=>{a.ownerDocument.removeEventListener("copy",s),a.ownerDocument.removeEventListener("cut",s),a.ownerDocument.removeEventListener("paste",s)}},[])}var Js=function({children:e}){return Object(i.createElement)("div",{ref:Zs()},e)};function eu({clientIds:e,children:t,__experimentalUpdateSelection:n}){const{canInsertBlockType:o,getBlockRootClientId:r,getBlocksByClientId:c,getTemplateLock:l}=Object(f.useSelect)(e=>e(Rn),[]),{getDefaultBlockName:i,getGroupingBlockName:a}=Object(f.useSelect)(e=>e(m.store),[]),s=c(e),d=r(e[0]),b=Object(u.every)(s,e=>!!e&&Object(m.hasBlockSupport)(e.name,"multiple",!0)&&o(e.name,d)),p=o(i(),d),{removeBlocks:g,replaceBlocks:h,duplicateBlocks:O,insertAfterBlock:v,insertBeforeBlock:j,flashBlock:k,setBlockMovingClientId:_,setNavigationMode:y,selectBlock:E}=Object(f.useDispatch)(Rn),C=Qs();return t({canDuplicate:b,canInsertDefaultBlock:p,isLocked:!!l(d),rootClientId:d,blocks:s,onDuplicate:()=>O(e,n),onRemove:()=>g(e,n),onInsertBefore(){j(Object(u.first)(Object(u.castArray)(e)))},onInsertAfter(){v(Object(u.last)(Object(u.castArray)(e)))},onMoveTo(){y(!0),E(e[0]),_(e[0])},onGroup(){if(!s.length)return;const t=a(),n=Object(m.switchToBlockType)(s,t);n&&h(e,n)},onUngroup(){if(!s.length)return;const t=s[0].innerBlocks;t.length&&h(e,t)},onCopy(){const e=s.map(({clientId:e})=>e);1===s.length&&k(e[0]),C("copy",e)}})}var tu=Object(d.compose)([Object(f.withSelect)((e,{clientId:t})=>{const{getBlock:n,getBlockMode:o,getSettings:r}=e(Rn),c=n(t),l=r().codeEditingEnabled;return{mode:o(t),blockType:c?Object(m.getBlockType)(c.name):null,isCodeEditingEnabled:l}}),Object(f.withDispatch)((e,{onToggle:t=u.noop,clientId:n})=>({onToggleMode(){e(Rn).toggleBlockMode(n),t()}}))])((function({blockType:e,mode:t,onToggleMode:n,small:o=!1,isCodeEditingEnabled:r=!0}){if(!Object(m.hasBlockSupport)(e,"html",!0)||!r)return null;const c="visual"===t?Object(v.__)("Edit as HTML"):Object(v.__)("Edit visually");return Object(i.createElement)(p.MenuItem,{onClick:n},!o&&c)}));var nu=Object(d.compose)(Object(f.withSelect)((e,{clientId:t})=>{const n=e(Rn).getBlock(t);return{block:n,shouldRender:n&&"core/html"===n.name}}),Object(f.withDispatch)((e,{block:t})=>({onClick:()=>e(Rn).replaceBlocks(t.clientId,Object(m.rawHandler)({HTML:Object(m.getBlockContent)(t)}))})))((function({shouldRender:e,onClick:t,small:n}){if(!e)return null;const o=Object(v.__)("Convert to Blocks");return Object(i.createElement)(p.MenuItem,{onClick:t},!n&&o)}));const{Fill:ou,Slot:ru}=Object(p.createSlotFill)("__unstableBlockSettingsMenuFirstItem");ou.Slot=ru;var cu=ou;function lu({clientIds:e,isGroupable:t,isUngroupable:n,blocksSelection:o,groupingBlockName:r,onClose:c=(()=>{})}){const{replaceBlocks:l}=Object(f.useDispatch)(Rn);return t||n?Object(i.createElement)(i.Fragment,null,t&&Object(i.createElement)(p.MenuItem,{onClick:()=>{(()=>{const t=Object(m.switchToBlockType)(o,r);t&&l(e,t)})(),c()}},Object(v._x)("Group","verb")),n&&Object(i.createElement)(p.MenuItem,{onClick:()=>{(()=>{const t=o[0].innerBlocks;t.length&&l(e,t)})(),c()}},Object(v._x)("Ungroup","Ungrouping blocks from within a Group block back into individual blocks within the Editor "))):null}const{Fill:iu,Slot:au}=Object(p.createSlotFill)("BlockSettingsMenuControls");function su({...e}){return Object(i.createElement)(p.__experimentalStyleProvider,{document:document},Object(i.createElement)(iu,e))}su.Slot=({fillProps:e,clientIds:t=null})=>{const n=Object(f.useSelect)(e=>{const{getBlocksByClientId:n,getSelectedBlockClientIds:o}=e(Rn),r=null!==t?t:o();return Object(u.map)(Object(u.compact)(n(r)),e=>e.name)},[t]),o=function(){const{clientIds:e,isGroupable:t,isUngroupable:n,blocksSelection:o,groupingBlockName:r}=Object(f.useSelect)(e=>{var t;const{getBlockRootClientId:n,getBlocksByClientId:o,canInsertBlockType:r,getSelectedBlockClientIds:c}=e(Rn),{getGroupingBlockName:l}=e(m.store),i=c(),a=l(),s=r(a,null!=i&&i.length?n(i[0]):void 0),u=o(i),d=1===u.length&&(null===(t=u[0])||void 0===t?void 0:t.name)===a;return{clientIds:i,isGroupable:s&&u.length&&!d,isUngroupable:d&&!!u[0].innerBlocks.length,blocksSelection:u,groupingBlockName:a}},[]);return{clientIds:e,isGroupable:t,isUngroupable:n,blocksSelection:o,groupingBlockName:r}}(),{isGroupable:r,isUngroupable:c}=o,a=r||c;return Object(i.createElement)(au,{fillProps:{...e,selectedBlocks:n}},t=>{if((null==t?void 0:t.length)>0||a)return Object(i.createElement)(p.MenuGroup,null,t,Object(i.createElement)(lu,Object(l.a)({},o,{onClose:null==e?void 0:e.onClose})))})};var uu=su;const du={className:"block-editor-block-settings-menu__popover",position:"bottom right",isAlternate:!0};function bu({blocks:e,onCopy:t}){const n=Object(d.useCopyToClipboard)(()=>Object(m.serialize)(e),t);return Object(i.createElement)(p.MenuItem,{ref:n},Object(v.__)("Copy"))}var mu=function({clientIds:e,__experimentalSelectBlock:t,children:n,...o}){const r=Object(u.castArray)(e),c=r.length,a=r[0],s=Object(f.useSelect)(e=>{const{getShortcutRepresentation:t}=e(_s.store);return{duplicate:t("core/block-editor/duplicate"),remove:t("core/block-editor/remove"),insertAfter:t("core/block-editor/insert-after"),insertBefore:t("core/block-editor/insert-before")}},[]),d=Object(i.useCallback)(t?async e=>{const n=await e;n&&n[0]&&t(n[0])}:u.noop,[t]),b=1===c?Object(v.__)("Remove block"):Object(v.__)("Remove blocks");return Object(i.createElement)(eu,{clientIds:e,__experimentalUpdateSelection:!t},({canDuplicate:t,canInsertDefaultBlock:r,isLocked:m,onDuplicate:f,onInsertAfter:g,onInsertBefore:h,onRemove:O,onCopy:j,onMoveTo:k,blocks:_})=>Object(i.createElement)(p.DropdownMenu,Object(l.a)({icon:ai.a,label:Object(v.__)("Options"),className:"block-editor-block-settings-menu",popoverProps:du,noIcons:!0},o),({onClose:o})=>Object(i.createElement)(i.Fragment,null,Object(i.createElement)(p.MenuGroup,null,Object(i.createElement)(cu.Slot,{fillProps:{onClose:o}}),1===c&&Object(i.createElement)(nu,{clientId:a}),Object(i.createElement)(bu,{blocks:_,onCopy:j}),t&&Object(i.createElement)(p.MenuItem,{onClick:Object(u.flow)(o,f,d),shortcut:s.duplicate},Object(v.__)("Duplicate")),r&&Object(i.createElement)(i.Fragment,null,Object(i.createElement)(p.MenuItem,{onClick:Object(u.flow)(o,h),shortcut:s.insertBefore},Object(v.__)("Insert before")),Object(i.createElement)(p.MenuItem,{onClick:Object(u.flow)(o,g),shortcut:s.insertAfter},Object(v.__)("Insert after"))),!m&&Object(i.createElement)(p.MenuItem,{onClick:Object(u.flow)(o,k)},Object(v.__)("Move to")),1===c&&Object(i.createElement)(tu,{clientId:a,onToggle:o})),Object(i.createElement)(uu.Slot,{fillProps:{onClose:o},clientIds:e}),"function"==typeof n?n({onClose:o}):i.Children.map(e=>Object(i.cloneElement)(e,{onClose:o})),Object(i.createElement)(p.MenuGroup,null,!m&&Object(i.createElement)(p.MenuItem,{onClick:Object(u.flow)(o,O,d),shortcut:s.remove},b)))))};var pu=function({clientIds:e,...t}){return Object(i.createElement)(p.ToolbarGroup,null,Object(i.createElement)(p.ToolbarItem,null,n=>Object(i.createElement)(mu,Object(l.a)({clientIds:e,toggleProps:n},t))))};function fu({hideDragHandle:e}){const{blockClientIds:t,blockClientId:n,blockType:o,hasFixedToolbar:r,hasReducedUI:c,isValid:a,isVisual:u}=Object(f.useSelect)(e=>{const{getBlockName:t,getBlockMode:n,getSelectedBlockClientIds:o,isBlockValid:r,getBlockRootClientId:c,getSettings:l}=e(Rn),i=o(),a=i[0],s=c(a),u=l();return{blockClientIds:i,blockClientId:a,blockType:a&&Object(m.getBlockType)(t(a)),hasFixedToolbar:u.hasFixedToolbar,hasReducedUI:u.hasReducedUI,rootClientId:s,isValid:i.every(e=>r(e)),isVisual:i.every(e=>"visual"===n(e))}},[]),{toggleBlockHighlight:b}=Object(f.useDispatch)(Rn),g=Object(i.useRef)(),{showMovers:h,gestures:O}=Ns({ref:g,onChange(e){e&&c||b(n,e)}}),v=Object(d.useViewportMatch)("medium","<")||r;if(o&&!Object(m.hasBlockSupport)(o,"__experimentalToolbar",!0))return null;const j=v||h;if(0===t.length)return null;const k=a&&u,_=t.length>1,y=s()("block-editor-block-toolbar",j&&"is-showing-movers");return Object(i.createElement)("div",{className:y},!_&&!v&&Object(i.createElement)(Ps,{clientIds:t}),Object(i.createElement)("div",Object(l.a)({ref:g},O),(k||_)&&Object(i.createElement)(p.ToolbarGroup,{className:"block-editor-block-toolbar__block-controls"},Object(i.createElement)(Ys,{clientIds:t}),Object(i.createElement)(Bs,{clientIds:t,hideDragHandle:e||c}))),k&&Object(i.createElement)(i.Fragment,null,Object(i.createElement)(zn.Slot,{group:"block",className:"block-editor-block-toolbar__slot"}),Object(i.createElement)(zn.Slot,{className:"block-editor-block-toolbar__slot"}),Object(i.createElement)(zn.Slot,{group:"inline",className:"block-editor-block-toolbar__slot"}),Object(i.createElement)(zn.Slot,{group:"other",className:"block-editor-block-toolbar__slot"})),Object(i.createElement)(pu,{clientIds:t}))}var gu=function({focusOnMount:e,isFixed:t,...n}){const{blockType:o,hasParents:r,showParentSelector:c}=Object(f.useSelect)(e=>{const{getBlockName:t,getBlockParents:n,getSelectedBlockClientIds:o}=e(Rn),{getBlockType:r}=e(m.store),c=o()[0],l=n(c),i=r(t(l[l.length-1]));return{blockType:c&&r(t(c)),hasParents:l.length,showParentSelector:Object(m.hasBlockSupport)(i,"__experimentalParentSelector",!0)}},[]);if(o&&!Object(m.hasBlockSupport)(o,"__experimentalToolbar",!0))return null;const a=s()("block-editor-block-contextual-toolbar",{"has-parent":r&&c,"is-fixed":t});return Object(i.createElement)(ws,Object(l.a)({focusOnMount:e,className:a,"aria-label":Object(v.__)("Block tools")},n),Object(i.createElement)(fu,{hideDragHandle:t}))};function hu(e){const{isNavigationMode:t,isMultiSelecting:n,hasMultiSelection:o,isTyping:r,isCaretWithinFormattedText:c,getSettings:l,getLastMultiSelectedBlockClientId:i}=e(Rn);return{isNavigationMode:t(),isMultiSelecting:n(),isTyping:r(),isCaretWithinFormattedText:c(),hasMultiSelection:o(),hasFixedToolbar:l().hasFixedToolbar,lastClientId:i()}}function Ou({clientId:e,rootClientId:t,isValid:n,isEmptyDefaultBlock:o,capturingClientId:r,__unstablePopoverSlot:c,__unstableContentRef:l}){const{isNavigationMode:a,isMultiSelecting:u,isTyping:b,isCaretWithinFormattedText:m,hasMultiSelection:g,hasFixedToolbar:h,lastClientId:O}=Object(f.useSelect)(hu,[]),v=Object(f.useSelect)(t=>{const{isBlockInsertionPointVisible:n,getBlockInsertionPoint:o,getBlockOrder:r}=t(Rn);if(!n())return!1;const c=o();return r(c.rootClientId)[c.index]===e},[e]),j=Object(d.useViewportMatch)("medium"),[k,_]=Object(i.useState)(!1),[y,E]=Object(i.useState)(!1),{stopTyping:C}=Object(f.useDispatch)(Rn),S=!b&&!a&&o&&n,w=a,B=!a&&!h&&j&&!S&&!u&&(!b||m),I=!(a||B||h||o);Object(_s.useShortcut)("core/block-editor/focus-toolbar",Object(i.useCallback)(()=>{_(!0),C(!0)},[]),{bindGlobal:!0,eventName:"keydown",isDisabled:!I}),Object(i.useEffect)(()=>{B||_(!1)},[B]);const x=Object(i.useRef)(),T=kr(e),N=kr(O),P=kr(r),L=fs(l);if(!(w||B||k||S))return null;let R=T;if(!R)return null;r&&(R=P);let A=R;if(g){if(!N)return null;A={top:R,bottom:N}}const M=S?"top left right":"top right left",{ownerDocument:D}=R,F=S?void 0:D.defaultView.frameElement||Object(ui.getScrollContainer)(R)||D.body;return Object(i.createElement)(p.Popover,{ref:L,noArrow:!0,animate:!1,position:M,focusOnMount:!1,anchorRef:A,className:s()("block-editor-block-list__block-popover",{"is-insertion-point-visible":v}),__unstableStickyBoundaryElement:F,__unstableSlotName:c||null,__unstableBoundaryParent:!0,__unstableObserveElement:R,shouldAnchorIncludePadding:!0},(B||k)&&Object(i.createElement)("div",{onFocus:function(){E(!0)},onBlur:function(){E(!1)},tabIndex:-1,className:s()("block-editor-block-list__block-popover-inserter",{"is-visible":y})},Object(i.createElement)(rs,{clientId:e,rootClientId:t,__experimentalIsQuick:!0})),(B||k)&&Object(i.createElement)(gu,{focusOnMount:k,__experimentalInitialIndex:x.current,__experimentalOnIndexChange:e=>{x.current=e},key:e}),w&&Object(i.createElement)(Es,{clientId:e,rootClientId:t,blockElement:R}),S&&Object(i.createElement)("div",{className:"block-editor-block-list__empty-block-inserter"},Object(i.createElement)(rs,{position:"bottom right",rootClientId:t,clientId:e,__experimentalIsQuick:!0})))}function vu(e){const{getSelectedBlockClientId:t,getFirstMultiSelectedBlockClientId:n,getBlockRootClientId:o,__unstableGetBlockWithoutInnerBlocks:r,getBlockParents:c,__experimentalGetBlockListSettingsForBlocks:l}=e(Rn),i=t()||n();if(!i)return;const{name:a,attributes:s={},isValid:d}=r(i)||{},b=c(i),p=l(b),f=Object(u.find)(b,e=>{var t;return null===(t=p[e])||void 0===t?void 0:t.__experimentalCaptureToolbars});return{clientId:i,rootClientId:o(i),name:a,isValid:d,isEmptyDefaultBlock:a&&Object(m.isUnmodifiedDefaultBlock)({name:a,attributes:s}),capturingClientId:f}}function ju({__unstablePopoverSlot:e,__unstableContentRef:t}){const n=Object(f.useSelect)(vu,[]);if(!n)return null;const{clientId:o,rootClientId:r,name:c,isValid:l,isEmptyDefaultBlock:a,capturingClientId:s}=n;return c?Object(i.createElement)(Ou,{clientId:o,rootClientId:r,isValid:l,isEmptyDefaultBlock:a,capturingClientId:s,__unstablePopoverSlot:e,__unstableContentRef:t}):null}function ku({children:e}){const t=Object(i.useContext)(gs),n=Object(i.useContext)(p.Disabled.Context);return t||n?e:(wt()('wp.components.Popover.Slot name="block-toolbar"',{alternative:"wp.blockEditor.BlockTools"}),Object(i.createElement)(Os,{__unstablePopoverSlot:"block-toolbar"},Object(i.createElement)(ju,{__unstablePopoverSlot:"block-toolbar"}),e))}function _u(){const{hasSelectedBlock:e,hasMultiSelection:t}=Object(f.useSelect)(Rn),{clearSelectedBlock:n}=Object(f.useDispatch)(Rn);return Object(d.useRefEffect)(o=>{function r(r){(e()||t())&&r.target===o&&n()}return o.addEventListener("mousedown",r),()=>{o.removeEventListener("mousedown",r)}},[e,t,n])}function yu(e){return Object(i.createElement)("div",Object(l.a)({ref:_u()},e))}const Eu=Object(i.createContext)();function Cu({className:e,children:t}){const n=Object(d.useViewportMatch)("medium"),{isOutlineMode:o,isFocusMode:r,isNavigationMode:c}=Object(f.useSelect)(e=>{const{getSettings:t,isNavigationMode:n}=e(Rn),{outlineMode:o,focusMode:r}=t();return{isOutlineMode:o,isFocusMode:r,isNavigationMode:n()}},[]);return Object(i.createElement)(Vc,null,Object(i.createElement)("div",{ref:Object(d.useMergeRefs)([_u(),ps(),vs()]),className:s()("block-editor-block-list__layout is-root-container",e,{"is-outline-mode":o,"is-focus-mode":r&&n,"is-navigate-mode":c})},t))}function Su({className:e,...t}){return function(){const e=Object(f.useSelect)(e=>e(Rn).getSettings().__experimentalBlockPatterns,[]);Object(i.useEffect)(()=>{if(null==e||!e.length)return;let t,n=-1;const o=()=>{n++,n>=e.length||(Object(f.select)(Rn).__experimentalGetParsedPattern(e[n].name),t=js(o))};return t=js(o),()=>ks(t)},[e])}(),Object(i.createElement)(ku,null,Object(i.createElement)(Cu,{className:e},Object(i.createElement)(Bu,t)))}function wu({placeholder:e,rootClientId:t,renderAppender:n,__experimentalAppenderTagName:o,__experimentalLayout:r=Yn}){const[c,l]=Object(i.useState)(new Set),a=Object(i.useMemo)(()=>{const{IntersectionObserver:e}=window;if(e)return new e(e=>{l(t=>{const n=new Set(t);for(const t of e){const e=t.target.getAttribute("data-block");n[t.isIntersecting?"add":"delete"](e)}return n})})},[l]),{order:s,selectedBlocks:u}=Object(f.useSelect)(e=>{const{getBlockOrder:n,getSelectedBlockClientIds:o}=e(Rn);return{order:n(t),selectedBlocks:o()}},[t]);return Object(i.createElement)(Zn,{value:r},Object(i.createElement)(Eu.Provider,{value:a},s.map(e=>Object(i.createElement)(f.AsyncModeProvider,{key:e,value:!c.has(e)&&!u.includes(e)},Object(i.createElement)(Ru,{rootClientId:t,clientId:e})))),s.length<1&&e,Object(i.createElement)(us,{tagName:o,rootClientId:t,renderAppender:n}))}function Bu(e){return Object(i.createElement)(f.AsyncModeProvider,{value:!1},Object(i.createElement)(wu,e))}function Iu(){const e=Object(i.useContext)(Eu);return Object(d.useRefEffect)(t=>{if(e)return e.observe(t),()=>{e.unobserve(t)}},[e])}function xu(e={},{__unstableIsHtml:t}={}){const{clientId:n,className:o,wrapperProps:r={},isAligned:c}=Object(i.useContext)(Tu),{index:l,mode:a,name:u,blockTitle:b,isPartOfSelection:p,adjustScrolling:g,enableAnimation:h}=Object(f.useSelect)(e=>{const{getBlockRootClientId:t,getBlockIndex:o,getBlockMode:r,getBlockName:c,isTyping:l,getGlobalBlockCount:i,isBlockSelected:a,isBlockMultiSelected:s,isAncestorMultiSelected:u,isFirstMultiSelectedBlock:d}=e(Rn),b=a(n),p=s(n)||u(n),f=c(n),g=t(n);return{index:o(n,g),mode:r(n),name:f,blockTitle:Object(m.getBlockType)(f).title,isPartOfSelection:b||p,adjustScrolling:b||d(n),enableAnimation:!l()&&i()<=200}},[n]),O=Object(v.sprintf)(Object(v.__)("Block: %s"),b),j="html"!==a||t?"":"-visual",k=Object(d.useMergeRefs)([e.ref,Ui(n),na(n),vr(n),Qi(n),ra(n),Zi(n),Ji(n),Ki(),Iu(),mi({isSelected:p,adjustScrolling:g,enableAnimation:h,triggerAnimationOnChange:l})]);return{...r,...e,ref:k,id:`block-${n}${j}`,tabIndex:0,role:"group","aria-label":O,"data-block":n,"data-type":u,"data-title":b,className:s()(s()("block-editor-block-list__block",{"wp-block":!c}),o,e.className,r.className,qi(n),$i(n),Yi(n),Xi(n)),style:{...r.style,...e.style}}}xu.save=m.__unstableGetBlockProps;const Tu=Object(i.createContext)();function Nu({children:e,isHtml:t,...n}){return Object(i.createElement)("div",xu(n,{__unstableIsHtml:t}),e)}const Pu=Object(f.withSelect)((e,{clientId:t,rootClientId:n})=>{const{isBlockSelected:o,getBlockMode:r,isSelectionEnabled:c,getTemplateLock:l,__unstableGetBlockWithoutInnerBlocks:i}=e(Rn),a=i(t),s=o(t),u=l(n),{name:d,attributes:b,isValid:m}=a||{};return{mode:r(t),isSelectionEnabled:c(),isLocked:!!u,block:a,name:d,attributes:b,isValid:m,isSelected:s}}),Lu=Object(f.withDispatch)((e,t,{select:n})=>{const{updateBlockAttributes:o,insertBlocks:r,mergeBlocks:c,replaceBlocks:l,toggleSelection:i,__unstableMarkLastChangeAsPersistent:a}=e(Rn);return{setAttributes(e){const{getMultiSelectedBlockClientIds:r}=n(Rn),c=r(),{clientId:l}=t,i=c.length?c:[l];o(i,e)},onInsertBlocks(e,n){const{rootClientId:o}=t;r(e,n,o)},onInsertBlocksAfter(e){const{clientId:o,rootClientId:c}=t,{getBlockIndex:l}=n(Rn),i=l(o,c);r(e,i+1,c)},onMerge(e){const{clientId:o}=t,{getPreviousBlockClientId:r,getNextBlockClientId:l}=n(Rn);if(e){const e=l(o);e&&c(o,e)}else{const e=r(o);e&&c(e,o)}},onReplace(e,n,o){e.length&&!Object(m.isUnmodifiedDefaultBlock)(e[e.length-1])&&a(),l([t.clientId],e,n,o)},toggleSelection(e){i(e)}}});var Ru=Object(d.compose)(d.pure,Pu,Lu,Object(d.ifCondition)(({block:e})=>!!e),Object(p.withFilters)("editor.BlockListBlock"))((function({mode:e,isLocked:t,clientId:n,isSelected:o,isSelectionEnabled:r,className:c,name:l,isValid:a,attributes:d,wrapperProps:b,setAttributes:p,onReplace:g,onInsertBlocksAfter:h,onMerge:O,toggleSelection:v}){const{removeBlock:j}=Object(f.useDispatch)(Rn),k=Object(i.useCallback)(()=>j(n),[n]);let _=Object(i.createElement)(li,{name:l,isSelected:o,attributes:d,setAttributes:p,insertBlocksAfter:t?void 0:h,onReplace:t?void 0:g,onRemove:t?void 0:k,mergeBlocks:t?void 0:O,clientId:n,isSelectionEnabled:r,toggleSelection:v});const y=Object(m.getBlockType)(l),E=y.apiVersion>1||Object(m.hasBlockSupport)(y,"lightBlockWrapper",!1);y.getEditWrapperProps&&(b=function(e,t){const n={...e,...t};return e&&t&&e.className&&t.className&&(n.className=s()(e.className,t.className)),e&&t&&e.style&&t.style&&(n.style={...e.style,...t.style}),n}(b,y.getEditWrapperProps(d)));const C=b&&!!b["data-align"];let S;if(C&&(_=Object(i.createElement)("div",{className:"wp-block","data-align":b["data-align"]},_)),a)S="html"===e?Object(i.createElement)(i.Fragment,null,Object(i.createElement)("div",{style:{display:"none"}},_),Object(i.createElement)(Nu,{isHtml:!0},Object(i.createElement)(Hi,{clientId:n}))):E?_:Object(i.createElement)(Nu,b,_);else{const e=Object(m.getSaveContent)(y,d);S=Object(i.createElement)(Nu,{className:"has-warning"},Object(i.createElement)(Li,{clientId:n}),Object(i.createElement)(i.RawHTML,null,Object(ui.safeHTML)(e)))}const w={clientId:n,className:c,wrapperProps:Object(u.omit)(b,["data-align"]),isAligned:C},B=Object(i.useMemo)(()=>w,Object.values(w));return Object(i.createElement)(Tu.Provider,{value:B},Object(i.createElement)(Di,{fallback:Object(i.createElement)(Nu,{className:"has-warning"},Object(i.createElement)(Ai,null))},S))}));const Au=(e,t,n)=>Object(v.sprintf)(Object(v.__)("Block %1$d of %2$d, Level %3$d"),e,t,n),Mu=(e,t)=>Object(u.isArray)(t)&&t.length?-1!==t.indexOf(e):t===e;var Du=Object(i.forwardRef)((function e({className:t,block:{clientId:n},isSelected:o,onClick:r,position:c,siblingBlockCount:l,level:a,tabIndex:u,onFocus:b,onDragStart:m,onDragEnd:f,draggable:g},h){const O=$l(n),j="block-navigation-block-select-button__"+Object(d.useInstanceId)(e),k=Au(c,l,a);return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(p.Button,{className:s()("block-editor-block-navigation-block-select-button",t),onClick:r,"aria-describedby":j,ref:h,tabIndex:u,onFocus:b,onDragStart:m,onDragEnd:f,draggable:g},Object(i.createElement)(Vl,{icon:null==O?void 0:O.icon,showColors:!0}),Object(i.createElement)(Yl,{clientId:n}),(null==O?void 0:O.anchor)&&Object(i.createElement)("span",{className:"block-editor-block-navigation-block-select-button__anchor"},O.anchor),o&&Object(i.createElement)(p.VisuallyHidden,null,Object(v.__)("(selected block)"))),Object(i.createElement)("div",{className:"block-editor-block-navigation-block-select-button__description",id:j},k))}));const Fu=e=>"BlockNavigationBlock-"+e;var Vu=Object(i.forwardRef)((function e(t,n){const{clientId:o}=t.block,{name:r}=Object(f.useSelect)(e=>e(Rn).getBlockName(o),[o]),c=Object(d.useInstanceId)(e);return Object(i.createElement)(p.Slot,{name:Fu(o)},e=>{if(!e.length)return Object(i.createElement)(Du,Object(l.a)({ref:n},t));const{className:o,isSelected:a,position:u,siblingBlockCount:d,level:b,tabIndex:f,onFocus:g}=t,h=Object(m.getBlockType)(r),O="block-navigation-block-slot__"+c,j=Au(u,d,b),k={tabIndex:f,onFocus:g,ref:n,"aria-describedby":O};return Object(i.createElement)(i.Fragment,null,Object(i.createElement)("div",{className:s()("block-editor-block-navigation-block-slot",o)},Object(i.createElement)(Vl,{icon:h.icon,showColors:!0}),i.Children.map(e,e=>Object(i.cloneElement)(e,{...e.props,...k})),a&&Object(i.createElement)(p.VisuallyHidden,null,Object(v.__)("(selected block)")),Object(i.createElement)("div",{className:"block-editor-block-navigation-block-slot__description",id:O},j)))})}));const Hu=e=>{const{clientId:t}=Object(i.useContext)(Tu);return Object(i.createElement)(p.Fill,Object(l.a)({},e,{name:Fu(t)}))};var zu=Object(i.forwardRef)(({onClick:e,block:t,isSelected:n,position:o,siblingBlockCount:r,level:c,...a},u)=>{const{__experimentalFeatures:d,blockDropTarget:b={}}=wi(),{clientId:m}=t,{rootClientId:p,blockMovingClientId:g,selectedBlockInBlockEditor:h}=Object(f.useSelect)(e=>{const{getBlockRootClientId:t,hasBlockMovingClientId:n,getSelectedBlockClientId:o}=e(Rn);return{rootClientId:t(m)||"",blockMovingClientId:n(),selectedBlockInBlockEditor:o()}},[m]),O=g&&h===m,{rootClientId:v,clientId:j,dropPosition:k}=b,_=v===p&&j===m&&"top"===k,y=v===p&&j===m&&"bottom"===k,E=v===m&&"inside"===k,C=s()("block-editor-block-navigation-block-contents",{"is-dropping-before":_||O,"is-dropping-after":y,"is-dropping-to-inner-blocks":E});return Object(i.createElement)(ys,{clientIds:[t.clientId],elementId:"block-navigation-block-"+t.clientId},({draggable:s,onDragStart:b,onDragEnd:m})=>d?Object(i.createElement)(Vu,Object(l.a)({ref:u,className:C,block:t,onClick:e,isSelected:n,position:o,siblingBlockCount:r,level:c,draggable:s&&d,onDragStart:b,onDragEnd:m},a)):Object(i.createElement)(Du,Object(l.a)({ref:u,className:C,block:t,onClick:e,isSelected:n,position:o,siblingBlockCount:r,level:c,draggable:s&&d,onDragStart:b,onDragEnd:m},a)))});function Gu({block:e,isSelected:t,isBranchSelected:n,isLastOfSelectedBranch:o,onClick:r,position:c,level:l,rowCount:a,siblingBlockCount:u,showBlockMovers:d,path:b}){const m=Object(i.useRef)(null),[g,h]=Object(i.useState)(!1),{clientId:O}=e,{isDragging:j,blockParents:k}=Object(f.useSelect)(e=>{const{isBlockBeingDragged:t,isAncestorBeingDragged:n,getBlockParents:o}=e(Rn);return{isDragging:t(O)||n(O),blockParents:o(O)}},[O]),{selectBlock:_,toggleBlockHighlight:y}=Object(f.useDispatch)(Rn),E=d&&u>0,C=s()("block-editor-block-navigation-block__mover-cell",{"is-visible":g}),{__experimentalFeatures:S,__experimentalPersistentListViewFeatures:w,isTreeGridMounted:B}=wi(),I=s()("block-editor-block-navigation-block__menu-cell",{"is-visible":g});Object(i.useEffect)(()=>{w&&!B&&t&&m.current.focus()},[]),Object(i.useEffect)(()=>{S&&t&&m.current.focus()},[S,t]);const x=w?y:()=>{},T=()=>{h(!0),x(O,!0)},N=()=>{h(!1),x(O,!1)},P=s()({"is-selected":t,"is-branch-selected":w&&n,"is-last-of-selected-branch":w&&o,"is-dragging":j});return Object(i.createElement)(fi,{className:P,onMouseEnter:T,onMouseLeave:N,onFocus:T,onBlur:N,level:l,position:c,rowCount:a,path:b,id:"block-navigation-block-"+O,"data-block":O},Object(i.createElement)(p.__experimentalTreeGridCell,{className:"block-editor-block-navigation-block__contents-cell",colSpan:E?void 0:2,ref:m},({ref:n,tabIndex:o,onFocus:a})=>Object(i.createElement)("div",{className:"block-editor-block-navigation-block__contents-container"},Object(i.createElement)(zu,{block:e,onClick:()=>r(e.clientId),isSelected:t,position:c,siblingBlockCount:u,level:l,ref:n,tabIndex:o,onFocus:a}))),E&&Object(i.createElement)(i.Fragment,null,Object(i.createElement)(p.__experimentalTreeGridCell,{className:C,withoutGridItem:!0},Object(i.createElement)(p.__experimentalTreeGridItem,null,({ref:e,tabIndex:t,onFocus:n})=>Object(i.createElement)(Ei,{orientation:"vertical",clientIds:[O],ref:e,tabIndex:t,onFocus:n})),Object(i.createElement)(p.__experimentalTreeGridItem,null,({ref:e,tabIndex:t,onFocus:n})=>Object(i.createElement)(Ci,{orientation:"vertical",clientIds:[O],ref:e,tabIndex:t,onFocus:n})))),S&&Object(i.createElement)(p.__experimentalTreeGridCell,{className:I},({ref:e,tabIndex:t,onFocus:n})=>Object(i.createElement)(mu,{clientIds:[O],icon:ai.a,toggleProps:{ref:e,tabIndex:t,onFocus:n},disableOpenOnArrowDown:!0,__experimentalSelectBlock:r},({onClose:e})=>Object(i.createElement)(p.MenuGroup,null,Object(i.createElement)(p.MenuItem,{onClick:async()=>{if(k.length)for(const e of k)await _(e);else await _(null);await _(O),e()}},Object(v.__)("Go to block"))))))}function Uu({parentBlockClientId:e,position:t,level:n,rowCount:o,path:r}){const c=Object(f.useSelect)(t=>{const{isBlockBeingDragged:n,isAncestorBeingDragged:o}=t(Rn);return n(e)||o(e)},[e]),l="block-navigation-appender-row__description_"+Object(d.useInstanceId)(Uu),a=Object(v.sprintf)(Object(v.__)("Add block at position %1$d, Level %2$d"),t,n);return Object(i.createElement)(fi,{className:s()({"is-dragging":c}),level:n,position:t,rowCount:o,path:r},Object(i.createElement)(p.__experimentalTreeGridCell,{className:"block-editor-block-navigation-appender__cell",colSpan:"3"},({ref:t,tabIndex:n,onFocus:o})=>Object(i.createElement)("div",{className:"block-editor-block-navigation-appender__container"},Object(i.createElement)(rs,{rootClientId:e,__experimentalIsQuick:!0,"aria-describedby":l,toggleProps:{ref:t,tabIndex:n,onFocus:o}}),Object(i.createElement)("div",{className:"block-editor-block-navigation-appender__description",id:l},a))))}function Wu(e){const{blocks:t,selectBlock:n,selectedBlockClientIds:o,showAppender:r,showBlockMovers:c,showNestedBlocks:l,parentBlockClientId:a,level:s=1,terminatedLevels:d=[],path:b=[],isBranchSelected:m=!1,isLastOfBranch:p=!1}=e,f=!a,g=Object(u.compact)(t),h=e=>r&&!f&&Mu(e,o),O=h(a),v=g.length,j=O?v+1:v,k=j;return Object(i.createElement)(i.Fragment,null,Object(u.map)(g,(e,t)=>{const{clientId:a,innerBlocks:u}=e,f=t+1,g=j===f?[...d,s]:d,O=[...b,f],k=l&&!!u&&!!u.length,_=h(a),y=k||_,E=Mu(a,o),C=m||E&&y,S=t===v-1,w=E||p&&S,B=p&&!y&&S;return Object(i.createElement)(i.Fragment,{key:a},Object(i.createElement)(Gu,{block:e,onClick:n,isSelected:E,isBranchSelected:C,isLastOfSelectedBranch:B,level:s,position:f,rowCount:j,siblingBlockCount:v,showBlockMovers:c,terminatedLevels:d,path:O}),y&&Object(i.createElement)(Wu,{blocks:u,selectedBlockClientIds:o,selectBlock:n,isBranchSelected:C,isLastOfBranch:w,showAppender:r,showBlockMovers:c,showNestedBlocks:l,parentBlockClientId:a,level:s+1,terminatedLevels:g,path:O}))}),O&&Object(i.createElement)(Uu,{parentBlockClientId:a,position:j,rowCount:k,level:s,terminatedLevels:d,path:[...b,k]}))}Wu.defaultProps={selectBlock:()=>{}};function Ku(e,t,n){const o=(e=>Object(f.useSelect)(t=>{const{getSelectedBlockClientId:n,getSelectedBlockClientIds:o}=t(Rn);return e?o():n()},[e]))(n);return{clientIdsTree:((e,t,n)=>Object(f.useSelect)(o=>{const{getBlockHierarchyRootClientId:r,__unstableGetClientIdsTree:c,__unstableGetClientIdWithClientIdsTree:l}=o(Rn);if(e)return e;const i=t&&!Array.isArray(t);if(!n||!i)return c();const a=l(r(t));if(!a)return c();return!Mu(a.clientId,t)||a.innerBlocks&&0!==a.innerBlocks.length?[a]:c()},[e,t,n]))(e,o,t),selectedClientIds:o}}function qu(e,t){return t.left<=e.x&&t.right>=e.x&&t.top<=e.y&&t.bottom>=e.y}const $u=["top","bottom"];function Yu(){const{getBlockRootClientId:e,getBlockIndex:t,getBlockCount:n,getDraggedBlockClientIds:o,canInsertBlocks:r}=Object(f.useSelect)(Rn),[c,l]=Object(i.useState)(),{rootClientId:a,blockIndex:s}=c||{},u=bs(a,s),b=Object(d.useThrottle)(Object(i.useCallback)((c,i)=>{const a={x:c.clientX,y:c.clientY},s=!!c.dataTransfer.getData("wp-blocks"),u=s?o():void 0,d=function(e,t){let n,o,r,c;for(const l of e){if(l.isDraggedBlock)continue;const i=l.element.getBoundingClientRect(),[a,s]=ms(t,i,$u),u=qu(t,i);if(void 0===r||a0||function(e,t){const n=t.left+t.width/2;return e.x>n}(t,c)))return{rootClientId:o.clientId,blockIndex:0,dropPosition:"inside"};if(!o.canInsertDraggedBlocksAsSibling)return;const i=l?1:0;return{rootClientId:o.rootClientId,clientId:o.clientId,blockIndex:o.blockIndex+i,dropPosition:n}}(Array.from(i.querySelectorAll("[data-block]")).map(o=>{const c=o.dataset.block,l=e(c);return{clientId:c,rootClientId:l,blockIndex:t(c,l),element:o,isDraggedBlock:!!s&&u.includes(c),innerBlockCount:n(c),canInsertDraggedBlocksAsSibling:!s||r(u,l),canInsertDraggedBlocksAsChild:!s||r(u,c)}}),a);d&&l(d)},[]),200);return{ref:Object(d.__experimentalUseDropZone)({onDrop:u,onDragOver(e){b(e,e.currentTarget)},onDragEnd(){b.cancel(),l(null)}}),target:c}}const Xu=()=>{};function Qu({blocks:e,showOnlyCurrentHierarchy:t,onSelect:n=Xu,__experimentalFeatures:o,__experimentalPersistentListViewFeatures:r,...c}){const{clientIdsTree:a,selectedClientIds:s}=Ku(e,t,r),{selectBlock:u}=Object(f.useDispatch)(Rn),d=Object(i.useCallback)(e=>{u(e),n(e)},[u,n]);let{ref:b,target:m}=Yu();const g=Object(i.useRef)(!1);Object(i.useEffect)(()=>{g.current=!0},[]),o||(m=void 0);const h=Object(i.useMemo)(()=>({__experimentalFeatures:o,__experimentalPersistentListViewFeatures:r,blockDropTarget:m,isTreeGridMounted:g.current}),[o,r,m,g.current]);return Object(i.createElement)(p.__experimentalTreeGrid,{className:"block-editor-block-navigation-tree","aria-label":Object(v.__)("Block navigation structure"),ref:b},Object(i.createElement)(Si.Provider,{value:h},Object(i.createElement)(Wu,Object(l.a)({blocks:a,selectBlock:d,selectedBlockClientIds:s},c))))}function Zu({isEnabled:e,onToggle:t,isOpen:n,innerRef:o,...r}){return Object(i.createElement)(p.Button,Object(l.a)({},r,{ref:o,icon:ii.a,"aria-expanded":n,"aria-haspopup":"true",onClick:e?t:void 0,label:Object(v.__)("List view"),className:"block-editor-block-navigation","aria-disabled":!e}))}var Ju=Object(i.forwardRef)((function({isDisabled:e,__experimentalFeatures:t,...n},o){const r=Object(f.useSelect)(e=>!!e(Rn).getBlockCount(),[])&&!e;return Object(i.createElement)(p.Dropdown,{contentClassName:"block-editor-block-navigation__popover",position:"bottom right",renderToggle:({isOpen:e,onToggle:t})=>Object(i.createElement)(Zu,Object(l.a)({},n,{innerRef:o,isOpen:e,onToggle:t,isEnabled:r})),renderContent:()=>Object(i.createElement)("div",{className:"block-editor-block-navigation__container"},Object(i.createElement)("p",{className:"block-editor-block-navigation__label"},Object(v.__)("List view")),Object(i.createElement)(Qu,{showNestedBlocks:!0,showOnlyCurrentHierarchy:!0,__experimentalFeatures:t}))})}));const ed=[Kr.rawShortcut.primary("z"),Kr.rawShortcut.primaryShift("z"),Kr.rawShortcut.primary("y")],td=Object(i.createElement)(p.KeyboardShortcuts,{bindGlobal:!0,shortcuts:Object(u.fromPairs)(ed.map(e=>[e,e=>e.preventDefault()]))}),nd=()=>td,od={position:"bottom right",isAlternate:!0};var rd=()=>Object(i.createElement)(i.Fragment,null,["bold","italic","link","text-color"].map(e=>Object(i.createElement)(p.Slot,{name:"RichText.ToolbarControls."+e,key:e})),Object(i.createElement)(p.Slot,{name:"RichText.ToolbarControls"},e=>0!==e.length&&Object(i.createElement)(p.ToolbarItem,null,t=>Object(i.createElement)(p.DropdownMenu,{icon:vi.a,label:Object(v.__)("More"),toggleProps:t,controls:Object(u.orderBy)(e.map(([{props:e}])=>e),"title"),popoverProps:od}))));var cd=({inline:e,anchorRef:t})=>e?Object(i.createElement)(p.Popover,{noArrow:!0,position:"top center",focusOnMount:!1,anchorRef:t,className:"block-editor-rich-text__inline-format-toolbar",__unstableSlotName:"block-toolbar"},Object(i.createElement)("div",{className:"block-editor-rich-text__inline-format-toolbar-group"},Object(i.createElement)(p.ToolbarGroup,null,Object(i.createElement)(rd,null)))):Object(i.createElement)(zn,{group:"inline"},Object(i.createElement)(rd,null));function ld(){const{didAutomaticChange:e,getSettings:t}=Object(f.useSelect)(Rn);return Object(d.useRefEffect)(n=>{function o(n){const{keyCode:o}=n;o!==Kr.DELETE&&o!==Kr.BACKSPACE&&o!==Kr.ESCAPE||e()&&(n.preventDefault(),t().__experimentalUndo())}return n.addEventListener("keydown",o),()=>{n.removeEventListener("keydown",o)}},[])}function id(e){return e.filter(({type:e})=>/^image\/(?:jpe?g|png|gif)$/.test(e)).map(e=>``).join("")}var ad=n("SVSp");function sd(e,t){if(null!=t&&t.length){let n=e.formats.length;for(;n--;)e.formats[n]=[...t,...e.formats[n]||[]]}}function ud(e){if(!0===e||"p"===e||"li"===e)return!0===e?"p":e}function dd({allowedFormats:e,formattingControls:t,disableFormats:n}){return n?dd.EMPTY_ARRAY:e||t?e||(wt()("wp.blockEditor.RichText formattingControls prop",{since:"5.4",alternative:"allowedFormats"}),t.map(e=>"core/"+e)):void 0}dd.EMPTY_ARRAY=[];function bd({value:e,pastedBlocks:t=[],onReplace:n,onSplit:o,onSplitMiddle:r,multilineTag:l}){if(!n||!o)return;const i=[],[a,s]=Object(c.split)(e),u=t.length>0;let d=-1;const b=Object(c.isEmpty)(a)&&!Object(c.isEmpty)(s);u&&Object(c.isEmpty)(a)||(i.push(o(Object(c.toHTMLString)({value:a,multilineTag:l}),!b)),d+=1),u?(i.push(...t),d+=t.length):r&&i.push(r()),(u||r)&&Object(c.isEmpty)(s)||i.push(o(Object(c.toHTMLString)({value:s,multilineTag:l}),b));n(i,u?d:1,u?-1:0)}function md(e){const t=Object(i.useRef)(e);return t.current=e,Object(d.useRefEffect)(e=>{function n(e){const{isSelected:n,disableFormats:o,onChange:r,value:l,formatTypes:i,tagName:a,onReplace:s,onSplit:u,onSplitMiddle:d,__unstableEmbedURLOnPaste:b,multilineTag:p,preserveWhiteSpace:f,pastePlainText:g}=t.current;if(!n)return void e.preventDefault();const{clipboardData:h}=e;let O="",v="";try{O=h.getData("text/plain"),v=h.getData("text/html")}catch(e){try{v=h.getData("Text")}catch(e){return}}if(e.preventDefault(),window.console.log("Received HTML:\n\n",v),window.console.log("Received plain text:\n\n",O),o)return void r(Object(c.insert)(l,O));const j=i.reduce((e,{__unstablePasteRule:t})=>(t&&e===l&&(e=t(l,{html:v,plainText:O})),e),l);if(j!==l)return void r(j);const k=[...Object(ui.getFilesFromDataTransfer)(h)];if("true"===h.getData("rich-text")){const e=Object(c.create)({html:v,multilineTag:p,multilineWrapperTags:"li"===p?["ul","ol"]:void 0,preserveWhiteSpace:f});return sd(e,l.activeFormats),void r(Object(c.insert)(l,e))}if(g)return void r(Object(c.insert)(l,Object(c.create)({text:O})));if(k&&k.length&&!v){const e=Object(m.pasteHandler)({HTML:id(k),mode:"BLOCKS",tagName:a,preserveWhiteSpace:f});return window.console.log("Received items:\n\n",k),void(s&&Object(c.isEmpty)(l)?s(e):bd({value:l,pastedBlocks:e,onReplace:s,onSplit:u,onSplitMiddle:d,multilineTag:p}))}let _=s&&u?"AUTO":"INLINE";var y;"AUTO"===_&&Object(c.isEmpty)(l)&&(y=O,Object(ad.regexp)(".*").test(y))&&(_="BLOCKS"),b&&Object(c.isEmpty)(l)&&Object(Ha.isURL)(O.trim())&&(_="BLOCKS");const E=Object(m.pasteHandler)({HTML:v,plainText:O,mode:_,tagName:a,preserveWhiteSpace:f});if("string"==typeof E){let e=Object(c.create)({html:E});sd(e,l.activeFormats),p&&(e=Object(c.replace)(e,/\n+/g,c.__UNSTABLE_LINE_SEPARATOR)),r(Object(c.insert)(l,e))}else E.length>0&&(s&&Object(c.isEmpty)(l)?s(E,E.length-1,-1):bd({value:l,pastedBlocks:E,onReplace:s,onSplit:u,onSplitMiddle:d,multilineTag:p}))}return e.addEventListener("paste",n),()=>{e.removeEventListener("paste",n)}},[])}function pd(e){const{__unstableMarkLastChangeAsPersistent:t,__unstableMarkAutomaticChange:n}=Object(f.useDispatch)(Rn),o=Object(i.useRef)(e);return o.current=e,Object(d.useRefEffect)(e=>{function r(){const{value:e,onReplace:t}=o.current;if(!t)return;const{start:r,text:l}=e;if(" "!==l.slice(r-1,r))return;const i=l.slice(0,r).trim(),a=Object(m.getBlockTransforms)("from").filter(({type:e})=>"prefix"===e),s=Object(m.findTransform)(a,({prefix:e})=>i===e);if(!s)return;const u=Object(c.toHTMLString)({value:Object(c.slice)(e,r,l.length)});t([s.transform(u)]),n()}function l(e){const{inputType:c,type:l}=e,{value:i,onChange:a,__unstableAllowPrefixTransformations:s,formatTypes:u}=o.current;if("insertText"!==c&&"compositionend"!==l)return;s&&r&&r();const d=u.reduce((e,{__unstableInputRule:t})=>(t&&(e=t(e)),e),i);d!==i&&(t(),a({...d,activeFormats:i.activeFormats}),n())}return e.addEventListener("input",l),e.addEventListener("compositionend",l),()=>{e.removeEventListener("input",l),e.removeEventListener("compositionend",l)}},[])}function fd(e){const{__unstableMarkAutomaticChange:t}=Object(f.useDispatch)(Rn),n=Object(i.useRef)(e);return n.current=e,Object(d.useRefEffect)(e=>{function o(e){if(e.defaultPrevented)return;const{removeEditorOnlyFormats:o,value:r,onReplace:l,onSplit:i,onSplitMiddle:a,multilineTag:s,onChange:u,disableLineBreaks:d,onSplitAtEnd:b}=n.current;if(e.keyCode!==Kr.ENTER)return;e.preventDefault();const p={...r};p.formats=o(r);const f=l&&i;if(l){const e=Object(m.getBlockTransforms)("from").filter(({type:e})=>"enter"===e),n=Object(m.findTransform)(e,e=>e.regExp.test(p.text));n&&(l([n.transform({content:p.text})]),t())}if(s)e.shiftKey?d||u(Object(c.insert)(p,"\n")):f&&Object(c.__unstableIsEmptyLine)(p)?bd({value:p,onReplace:l,onSplit:i,onSplitMiddle:a,multilineTag:s}):u(Object(c.__unstableInsertLineSeparator)(p));else{const{text:t,start:n,end:o}=p,r=b&&n===o&&o===t.length;e.shiftKey||!f&&!r?d||u(Object(c.insert)(p,"\n")):!f&&r?b():f&&bd({value:p,onReplace:l,onSplit:i,onSplitMiddle:a,multilineTag:s})}}return e.addEventListener("keydown",o),()=>{e.removeEventListener("keydown",o)}},[])}function gd(e){return e(c.store).getFormatTypes()}const hd=new Set(["a","audio","button","details","embed","iframe","input","label","select","textarea","video"]);function Od({formatTypes:e,onChange:t,onFocus:n,value:o,forwardedRef:r}){return e.map(e=>{const{name:l,edit:a}=e;if(!a)return null;const s=Object(c.getActiveFormat)(o,l),u=void 0!==s,d=Object(c.getActiveObject)(o),b=void 0!==d&&d.type===l;return Object(i.createElement)(a,{key:l,isActive:u,activeAttributes:u&&s.attributes||{},isObjectActive:b,activeObjectAttributes:b&&d.attributes||{},value:o,onChange:t,onFocus:n,contentRef:r})})}const vd=Object(i.forwardRef)((function e({children:t,tagName:n="div",value:o="",onChange:r,isSelected:a,multiline:b,inlineToolbar:g,wrapperClassName:h,autocompleters:v,onReplace:j,placeholder:k,allowedFormats:_,formattingControls:y,withoutInteractiveFormatting:E,onRemove:C,onMerge:S,onSplit:w,__unstableOnSplitAtEnd:B,__unstableOnSplitMiddle:I,identifier:x,preserveWhiteSpace:T,__unstablePastePlainText:N,__unstableEmbedURLOnPaste:P,__unstableDisableFormats:L,disableLineBreaks:R,unstableOnFocus:A,__unstableAllowPrefixTransformations:M,...D},F){const V=Object(d.useInstanceId)(e);x=x||V,D=function(e){return Object(u.omit)(e,["__unstableMobileNoFocusOnMount","deleteEnter","placeholderTextColor","textAlign","selectionColor","tagsToEliminate","rootTagsToEliminate","disableEditingMenu","fontSize","fontFamily","fontWeight","fontStyle","minWidth","maxWidth","setRef"])}(D);const H=Object(i.useRef)(),{clientId:z}=O(),{selectionStart:G,selectionEnd:U,isSelected:W,disabled:K}=Object(f.useSelect)(e=>{const{getSelectionStart:t,getSelectionEnd:n,isMultiSelecting:o,hasMultiSelection:r}=e(Rn),c=t(),l=n();let i;return void 0===a?i=c.clientId===z&&c.attributeKey===x:a&&(i=c.clientId===z),{selectionStart:i?c.offset:void 0,selectionEnd:i?l.offset:void 0,isSelected:i,disabled:o()||r()}}),{selectionChange:q}=Object(f.useDispatch)(Rn),$=ud(b),Y=dd({allowedFormats:_,formattingControls:y,disableFormats:L}),X=!Y||Y.length>0;let Q=o,Z=r;Array.isArray(o)&&(Q=m.children.toHTML(o),Z=e=>r(m.children.fromDOM(Object(c.__unstableCreateElement)(document,e).childNodes)));const J=Object(i.useCallback)((e,t)=>{q(z,x,e,t)},[z,x]),{formatTypes:ee,prepareHandlers:te,valueHandlers:ne,changeHandlers:oe,dependencies:re}=function({clientId:e,identifier:t,withoutInteractiveFormatting:n,allowedFormats:o}){const r=Object(f.useSelect)(gd,[]),c=Object(i.useMemo)(()=>r.filter(({name:e,tagName:t})=>!(o&&!o.includes(e))&&(!n||!hd.has(t))),[r,o,hd]),l=Object(f.useSelect)(n=>c.reduce((o,r)=>(r.__experimentalGetPropsForEditableTreePreparation&&(o[r.name]=r.__experimentalGetPropsForEditableTreePreparation(n,{richTextIdentifier:t,blockClientId:e})),o),{}),[c,e,t]),a=Object(f.useDispatch)(),s=[],u=[],d=[],b=[];return c.forEach(n=>{if(n.__experimentalCreatePrepareEditableTree){const o=l[n.name],r=n.__experimentalCreatePrepareEditableTree(o,{richTextIdentifier:t,blockClientId:e});n.__experimentalCreateOnChangeEditableValue?u.push(r):s.push(r);for(const e in o)b.push(o[e])}if(n.__experimentalCreateOnChangeEditableValue){let o={};n.__experimentalGetPropsForEditableTreeChangeHandler&&(o=n.__experimentalGetPropsForEditableTreeChangeHandler(a,{richTextIdentifier:t,blockClientId:e})),d.push(n.__experimentalCreateOnChangeEditableValue({...l[n.name]||{},...o},{richTextIdentifier:t,blockClientId:e}))}}),{formatTypes:c,prepareHandlers:s,valueHandlers:u,changeHandlers:d,dependencies:b}}({clientId:z,identifier:x,withoutInteractiveFormatting:E,allowedFormats:Y});function ce(e){return ee.forEach(t=>{t.__experimentalCreatePrepareEditableTree&&(e=Object(c.removeFormat)(e,t.name,0,e.text.length))}),e.formats}const{value:le,onChange:ie,onFocus:ae,ref:se}=Object(c.__unstableUseRichText)({value:Q,onChange(e,{__unstableFormats:t,__unstableText:n}){Z(e),Object.values(oe).forEach(e=>{e(t,n)})},selectionStart:G,selectionEnd:U,onSelectionChange:J,placeholder:k,__unstableIsSelected:W,__unstableMultilineTag:$,__unstableDisableFormats:L,preserveWhiteSpace:T,__unstableDependencies:[...re,n],__unstableAfterParse:function(e){return ne.reduce((t,n)=>n(t,e.text),e.formats)},__unstableBeforeSerialize:ce,__unstableAddInvisibleFormats:function(e){return te.reduce((t,n)=>n(t,e.text),e.formats)}}),ue=function(e){return Object(p.__unstableUseAutocompleteProps)({...e,completers:Gl(e)})}({onReplace:j,completers:v,record:le,onChange:ie});!function({value:e}){const t=e.activeFormats&&!!e.activeFormats.length,{isCaretWithinFormattedText:n}=Object(f.useSelect)(Rn),{enterFormattedText:o,exitFormattedText:r}=Object(f.useDispatch)(Rn);Object(i.useEffect)(()=>{t?n()||o():n()&&r()},[t])}({value:le}),function({html:e,value:t}){const n=Object(i.useRef)(),o=t.activeFormats&&!!t.activeFormats.length,{__unstableMarkLastChangeAsPersistent:r}=Object(f.useDispatch)(Rn);Object(i.useLayoutEffect)(()=>{if(n.current){if(n.current!==t.text){const e=window.setTimeout(()=>{r()},1e3);return n.current=t.text,()=>{window.clearTimeout(e)}}r()}else n.current=t.text},[e,o])}({html:Q,value:le});const de=n,be=Object(i.createElement)(i.Fragment,null,W&&t&&t({value:le,onChange:ie,onFocus:ae}),W&&Object(i.createElement)(nd,null),W&&Object(i.createElement)(Od,{value:le,onChange:ie,onFocus:ae,formatTypes:ee,forwardedRef:H}),W&&X&&Object(i.createElement)(cd,{inline:g,anchorRef:H.current}),Object(i.createElement)(de,Object(l.a)({role:"textbox","aria-multiline":!0,"aria-label":k},D,ue,{ref:Object(d.useMergeRefs)([ue.ref,D.ref,se,pd({value:le,onChange:ie,__unstableAllowPrefixTransformations:M,formatTypes:ee,onReplace:j}),ld(),md({isSelected:W,disableFormats:L,onChange:ie,value:le,formatTypes:ee,tagName:n,onReplace:j,onSplit:w,onSplitMiddle:I,__unstableEmbedURLOnPaste:P,multilineTag:$,preserveWhiteSpace:T,pastePlainText:N}),fd({removeEditorOnlyFormats:ce,value:le,onReplace:j,onSplit:w,onSplitMiddle:I,multilineTag:$,onChange:ie,disableLineBreaks:R,onSplitAtEnd:B}),H,F]),contentEditable:!K||void 0,suppressContentEditableWarning:!K,className:s()("block-editor-rich-text__editable",D.className,"rich-text"),onFocus:A,onKeyDown:function(e){const{keyCode:t}=e;if(!e.defaultPrevented&&(t===Kr.DELETE||t===Kr.BACKSPACE)){const{start:n,end:o,text:r}=le,l=t===Kr.BACKSPACE,i=le.activeFormats&&!!le.activeFormats.length;if(!Object(c.isCollapsed)(le)||i||l&&0!==n||!l&&o!==r.length)return;S&&S(!l),C&&Object(c.isEmpty)(le)&&l&&C(!l),e.preventDefault()}}})));if(!h)return be;wt()("wp.blockEditor.RichText wrapperClassName prop",{since:"5.4",alternative:"className prop or create your own wrapper div"});const me=s()("block-editor-rich-text",h);return Object(i.createElement)("div",{className:me},be)}));vd.Content=({value:e,tagName:t,multiline:n,...o})=>{Array.isArray(e)&&(e=m.children.toHTML(e));const r=ud(n);!e&&r&&(e=`<${r}>`);const c=Object(i.createElement)(i.RawHTML,null,e);return t?Object(i.createElement)(t,Object(u.omit)(o,["format"]),c):c},vd.isEmpty=e=>!e||0===e.length;var jd=vd;function kd({value:e,onChange:t}){return Object(i.createElement)(Hu,null,Object(i.createElement)(jd,{value:e,onChange:t,placeholder:Object(v.__)("Navigation item"),withoutInteractiveFormatting:!0,allowedFormats:["core/bold","core/italic","core/image","core/strikethrough"]}))}var _d=n("Civd");var yd=function({icon:e=_d.a,label:t=Object(v.__)("Choose variation"),instructions:n=Object(v.__)("Select a variation to start with."),variations:o,onSelect:r,allowSkip:c}){const l=s()("block-editor-block-variation-picker",{"has-many-variations":o.length>4});return Object(i.createElement)(p.Placeholder,{icon:e,label:t,instructions:n,className:l},Object(i.createElement)("ul",{className:"block-editor-block-variation-picker__variations",role:"list","aria-label":Object(v.__)("Block variations")},o.map(e=>Object(i.createElement)("li",{key:e.name},Object(i.createElement)(p.Button,{isSecondary:!0,icon:e.icon,iconSize:48,onClick:()=>r(e),className:"block-editor-block-variation-picker__variation",label:e.description||e.title}),Object(i.createElement)("span",{className:"block-editor-block-variation-picker__variation-label",role:"presentation"},e.title)))),c&&Object(i.createElement)("div",{className:"block-editor-block-variation-picker__skip"},Object(i.createElement)(p.Button,{isLink:!0,onClick:()=>r()},Object(v.__)("Skip"))))},Ed=n("b2RC");const Cd="carousel",Sd="grid",wd=({onStartBlank:e,onBlockPatternSelect:t})=>Object(i.createElement)("div",{className:"block-editor-block-pattern-setup__actions"},Object(i.createElement)(p.Button,{onClick:e},Object(v.__)("Start blank")),Object(i.createElement)(p.Button,{isPrimary:!0,onClick:t},Object(v.__)("Choose"))),Bd=({handlePrevious:e,handleNext:t,activeSlide:n,totalSlides:o})=>Object(i.createElement)("div",{className:"block-editor-block-pattern-setup__navigation"},Object(i.createElement)(p.Button,{icon:hi.a,label:Object(v.__)("Previous pattern"),onClick:e,disabled:0===n}),Object(i.createElement)(p.Button,{icon:gi.a,label:Object(v.__)("Next pattern"),onClick:t,disabled:n===o-1}));var Id=({viewMode:e,setViewMode:t,handlePrevious:n,handleNext:o,activeSlide:r,totalSlides:c,onBlockPatternSelect:l,onStartBlank:a})=>{const s=e===Cd,u=Object(i.createElement)("div",{className:"block-editor-block-pattern-setup__display-controls"},Object(i.createElement)(p.Button,{icon:$n,label:Object(v.__)("Carousel view"),onClick:()=>t(Cd),isPressed:s}),Object(i.createElement)(p.Button,{icon:Ed.a,label:Object(v.__)("Grid view"),onClick:()=>t(Sd),isPressed:e===Sd}));return Object(i.createElement)("div",{className:"block-editor-block-pattern-setup__toolbar"},s&&Object(i.createElement)(Bd,{handlePrevious:n,handleNext:o,activeSlide:r,totalSlides:c}),u,s&&Object(i.createElement)(wd,{onBlockPatternSelect:l,onStartBlank:a}))};var xd=function(e,t,n){return Object(f.useSelect)(o=>{const{getBlockRootClientId:r,__experimentalGetPatternsByBlockTypes:c,__experimentalGetAllowedPatterns:l}=o(Rn),i=r(e);return n?l(i).filter(n):c(t,i)},[e,t,n])};const Td=({viewMode:e,activeSlide:t,patterns:n,onBlockPatternSelect:o})=>{const r=Object(p.__unstableUseCompositeState)(),c="block-editor-block-pattern-setup__container";if(e===Cd){const e=new Map([[t,"active-slide"],[t-1,"previous-slide"],[t+1,"next-slide"]]);return Object(i.createElement)("div",{className:c},Object(i.createElement)("ul",{className:"carousel-container"},n.map((t,n)=>Object(i.createElement)(Pd,{className:e.get(n)||"",key:t.name,pattern:t}))))}return Object(i.createElement)(p.__unstableComposite,Object(l.a)({},r,{role:"listbox",className:c,"aria-label":Object(v.__)("Patterns list")}),n.map(e=>Object(i.createElement)(Nd,{key:e.name,pattern:e,onSelect:o,composite:r})))};function Nd({pattern:e,onSelect:t,composite:n}){const o="block-editor-block-pattern-setup-list",{blocks:r,title:c,description:a,viewportWidth:s=700}=e,u=Object(d.useInstanceId)(Nd,o+"__item-description");return Object(i.createElement)("div",{className:o+"__list-item","aria-label":e.title,"aria-describedby":e.description?u:void 0},Object(i.createElement)(p.__unstableCompositeItem,Object(l.a)({role:"option",as:"div"},n,{className:o+"__item",onClick:()=>t(r)}),Object(i.createElement)(Oa,{blocks:r,viewportWidth:s}),Object(i.createElement)("div",{className:o+"__item-title"},c)),!!a&&Object(i.createElement)(p.VisuallyHidden,{id:u},a))}function Pd({className:e,pattern:t}){const{blocks:n,title:o,description:r}=t,c=Object(d.useInstanceId)(Pd,"block-editor-block-pattern-setup-list__item-description");return Object(i.createElement)("li",{className:"pattern-slide "+e,"aria-label":o,"aria-describedby":r?c:void 0},Object(i.createElement)(Oa,{blocks:n,__experimentalLive:!0}),!!r&&Object(i.createElement)(p.VisuallyHidden,{id:c},r))}var Ld=({clientId:e,blockName:t,filterPatternsFn:n,startBlankComponent:o,onBlockPatternSelect:r})=>{const[c,l]=Object(i.useState)(Cd),[a,s]=Object(i.useState)(0),[u,d]=Object(i.useState)(!1),{replaceBlock:b}=Object(f.useDispatch)(Rn),p=xd(e,t,n);if(null==p||!p.length||u)return o;const g=r||(t=>{const n=t.map(e=>Object(m.cloneBlock)(e));b(e,n)});return Object(i.createElement)("div",{className:"block-editor-block-pattern-setup view-mode-"+c},Object(i.createElement)(Id,{viewMode:c,setViewMode:l,activeSlide:a,totalSlides:p.length,handleNext:()=>{s(e=>e+1)},handlePrevious:()=>{s(e=>e-1)},onBlockPatternSelect:()=>{g(p[a].blocks)},onStartBlank:()=>{d(!0)}}),Object(i.createElement)(Td,{viewMode:c,activeSlide:a,patterns:p,onBlockPatternSelect:g}))};const Rd=(e,t)=>{if(!t||!e)return;const n=t.filter(({attributes:t})=>!(!t||!Object.keys(t).length)&&Object(u.isMatch)(e,t));return 1===n.length?n[0]:void 0};var Ad=function({blockClientId:e}){const[t,n]=Object(i.useState)(),{updateBlockAttributes:o}=Object(f.useDispatch)(Rn),{variations:r,blockAttributes:c}=Object(f.useSelect)(t=>{const{getBlockVariations:n}=t(m.store),{getBlockName:o,getBlockAttributes:r}=t(Rn),c=e&&o(e);return{variations:c&&n(c,"transform"),blockAttributes:r(e)}},[e]);if(Object(i.useEffect)(()=>{var e;n(null===(e=Rd(c,r))||void 0===e?void 0:e.name)},[c,r]),null==r||!r.length)return null;const l=r.map(({name:e,title:t,description:n})=>({value:e,label:t,info:n})),a=t=>{o(e,{...r.find(({name:e})=>e===t).attributes})},s="block-editor-block-variation-transforms";return Object(i.createElement)(p.DropdownMenu,{className:s,label:Object(v.__)("Transform to variation"),text:Object(v.__)("Transform to variation"),popoverProps:{position:"bottom center",className:s+"__popover"},icon:vi.a,toggleProps:{iconPosition:"right"}},()=>Object(i.createElement)("div",{className:s+"__container"},Object(i.createElement)(p.MenuGroup,null,Object(i.createElement)(p.MenuItemsChoice,{choices:l,value:t,onSelect:a}))))};const Md=Object(i.createElement)(p.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(p.Path,{d:"M15 4H9v11h6V4zM4 18.5V20h16v-1.5H4z"})),Dd=Object(i.createElement)(p.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(p.Path,{d:"M20 11h-5V4H9v7H4v1.5h5V20h6v-7.5h5z"})),Fd={top:{icon:Object(i.createElement)(p.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(p.Path,{d:"M9 20h6V9H9v11zM4 4v1.5h16V4H4z"})),title:Object(v._x)("Align top","Block vertical alignment setting")},center:{icon:Dd,title:Object(v._x)("Align middle","Block vertical alignment setting")},bottom:{icon:Md,title:Object(v._x)("Align bottom","Block vertical alignment setting")}},Vd=["top","center","bottom"],Hd={isAlternate:!0};var zd=function({value:e,onChange:t,controls:n=Vd,isCollapsed:o=!0,isToolbar:r}){const c=Fd[e],a=Fd.top,s=r?p.ToolbarGroup:p.ToolbarDropdownMenu,u=r?{isCollapsed:o}:{};return Object(i.createElement)(s,Object(l.a)({popoverProps:Hd,icon:c?c.icon:a.icon,label:Object(v._x)("Change vertical alignment","Block vertical alignment setting label"),controls:n.map(n=>{return{...Fd[n],isActive:e===n,role:o?"menuitemradio":void 0,onClick:(r=n,()=>t(e===r?void 0:r))};var r})},u))};function Gd(e){return Object(i.createElement)(zd,Object(l.a)({},e,{isToolbar:!1}))}function Ud(e){return Object(i.createElement)(zd,Object(l.a)({},e,{isToolbar:!0}))}var Wd=Object(d.createHigherOrderComponent)(e=>t=>{const n=Bo("color.palette"),o=!Bo("color.custom"),r=void 0===t.colors?n:t.colors,c=void 0===t.disableCustomColors?o:t.disableCustomColors,a=!Object(u.isEmpty)(r)||!c;return Object(i.createElement)(e,Object(l.a)({},t,{colors:r,disableCustomColors:c,hasColorsToChoose:a}))},"withColorContext"),Kd=Wd(p.ColorPalette);function qd({onChange:e,value:t,...n}){return Object(i.createElement)(Ko,Object(l.a)({},n,{onColorChange:e,colorValue:t,gradients:[],disableCustomGradients:!0}))}const $d=[];function Yd(e){const t=Bo("color.gradients")||$d,n=!Bo("color.customGradient");return Object(i.createElement)(p.__experimentalGradientPicker,Object(l.a)({gradients:void 0!==e.gradients?e.gradient:t,disableCustomGradients:void 0!==e.disableCustomGradients?e.disableCustomGradients:n},e))}var Xd=function(e){const t=void 0!==e.gradients&&void 0!==e.disableCustomGradients?p.__experimentalGradientPicker:Yd;return Object(i.createElement)(t,e)};function Qd({className:e,value:t,onChange:n,label:o=Object(v.__)("Gradient Presets"),...r}){const c=Bo("color.gradients"),a=!Bo("color.customGradient");return Object(u.isEmpty)(c)&&a?null:Object(i.createElement)(p.BaseControl,{className:s()("block-editor-gradient-picker-control",e)},Object(i.createElement)(p.BaseControl.VisualLabel,null,o),Object(i.createElement)(Xd,Object(l.a)({value:t,onChange:n,className:"block-editor-gradient-picker-control__gradient-picker-presets",gradients:c,disableCustomGradients:a},r)))}function Zd(e){const t=Bo("color.gradients");return Object(u.isEmpty)(t)?null:Object(i.createElement)(p.PanelBody,{title:Object(v.__)("Gradient")},Object(i.createElement)(Qd,e))}const Jd=[25,50,75,100];function eb({imageWidth:e,imageHeight:t,imageSizeOptions:n=[],isResizable:o=!0,slug:r,width:c,height:l,onChange:a,onChangeImage:s=u.noop}){var d,b;function m(e,t){return()=>{a({width:e,height:t})}}return Object(i.createElement)(i.Fragment,null,!Object(u.isEmpty)(n)&&Object(i.createElement)(p.SelectControl,{label:Object(v.__)("Image size"),value:r,options:n,onChange:s}),o&&Object(i.createElement)("div",{className:"block-editor-image-size-control"},Object(i.createElement)("p",{className:"block-editor-image-size-control__row"},Object(v.__)("Image dimensions")),Object(i.createElement)("div",{className:"block-editor-image-size-control__row"},Object(i.createElement)(p.TextControl,{type:"number",className:"block-editor-image-size-control__width",label:Object(v.__)("Width"),value:null!==(d=null!=c?c:e)&&void 0!==d?d:"",min:1,onChange:e=>a({width:parseInt(e,10)})}),Object(i.createElement)(p.TextControl,{type:"number",className:"block-editor-image-size-control__height",label:Object(v.__)("Height"),value:null!==(b=null!=l?l:t)&&void 0!==b?b:"",min:1,onChange:e=>a({height:parseInt(e,10)})})),Object(i.createElement)("div",{className:"block-editor-image-size-control__row"},Object(i.createElement)(p.ButtonGroup,{"aria-label":Object(v.__)("Image size presets")},Jd.map(n=>{const o=Math.round(e*(n/100)),r=Math.round(t*(n/100)),a=c===o&&l===r;return Object(i.createElement)(p.Button,{key:n,isSmall:!0,isPrimary:a,isPressed:a,onClick:m(o,r)},n,"%")})),Object(i.createElement)(p.Button,{isSmall:!0,onClick:m()},Object(v.__)("Reset")))))}var tb=Object(d.createHigherOrderComponent)(e=>t=>{const{clientId:n}=O();return Object(i.createElement)(e,Object(l.a)({},t,{clientId:n}))},"withClientId");var nb=tb(({clientId:e,showSeparator:t,isFloating:n,onAddBlock:o})=>Object(i.createElement)(as,{rootClientId:e,showSeparator:t,isFloating:n,onAddBlock:o}));var ob=Object(d.compose)([tb,Object(f.withSelect)((e,{clientId:t})=>{const{getBlockOrder:n}=e(Rn),o=n(t);return{lastBlockClientId:Object(u.last)(o)}})])(({clientId:e,lastBlockClientId:t})=>Object(i.createElement)(cs,{rootClientId:e,lastBlockClientId:t})),rb=n("rl8x"),cb=n.n(rb);const lb=new WeakMap;function ib(e){const{clientId:t,allowedBlocks:n,template:o,templateLock:r,wrapperRef:c,templateInsertUpdatesSelection:l,__experimentalCaptureToolbars:a,__experimentalAppenderTagName:s,renderAppender:d,orientation:b,placeholder:p,__experimentalLayout:g}=e;!function(e,t,n,o,r){const{updateBlockListSettings:c}=Object(f.useDispatch)(Rn),{blockListSettings:l,parentLock:a}=Object(f.useSelect)(t=>{const n=t(Rn).getBlockRootClientId(e);return{blockListSettings:t(Rn).getBlockListSettings(e),parentLock:t(Rn).getTemplateLock(n)}},[e]),s=Object(i.useMemo)(()=>t,t);Object(i.useLayoutEffect)(()=>{const t={allowedBlocks:s,templateLock:void 0===n?a:n};void 0!==o&&(t.__experimentalCaptureToolbars=o),void 0!==r&&(t.orientation=r),cb()(l,t)||c(e,t)},[e,l,s,n,a,o,r,c])}(t,n,r,a,b),function(e,t,n,o){const{getSelectedBlocksInitialCaretPosition:r}=Object(f.useSelect)(Rn),{replaceInnerBlocks:c}=Object(f.useDispatch)(Rn),l=Object(f.useSelect)(t=>t(Rn).getBlocks(e),[e]),a=Object(i.useRef)(null);Object(i.useLayoutEffect)(()=>{if(0===l.length||"all"===n){if(!Object(u.isEqual)(t,a.current)){a.current=t;const n=Object(m.synchronizeBlocksWithTemplate)(l,t);Object(u.isEqual)(n,l)||c(e,n,0===l.length&&o&&0!==n.length,r())}}},[l,t,n,e])}(t,o,r,l);const h=Object(f.useSelect)(e=>{const n=e(Rn).getBlock(t),o=Object(m.getBlockType)(n.name);if(o&&o.providesContext)return function(e,t){lb.has(t)||lb.set(t,new WeakMap);const n=lb.get(t);if(!n.has(e)){const o=Object(u.mapValues)(t.providesContext,t=>e[t]);n.set(e,o)}return n.get(e)}(n.attributes,o)},[t]);return Object(i.createElement)(Zl,{value:h},Object(i.createElement)(Bu,{rootClientId:t,renderAppender:d,__experimentalAppenderTagName:s,__experimentalLayout:g,wrapperRef:c,placeholder:p}))}function ab(e){return ma(e),Object(i.createElement)(ib,e)}const sb=Object(i.forwardRef)((e,t)=>{const n=ub({ref:t},e);return Object(i.createElement)("div",{className:"block-editor-inner-blocks"},Object(i.createElement)("div",n))});function ub(e={},t={}){const{clientId:n}=O(),o=Object(d.useViewportMatch)("medium","<"),r=Object(f.useSelect)(e=>{const{getBlockName:t,isBlockSelected:r,hasSelectedInnerBlock:c,isNavigationMode:l}=e(Rn),i=l()||o;return"core/template"!==t(n)&&!r(n)&&!c(n,!0)&&i},[n,o]),c=Object(d.useMergeRefs)([e.ref,ps({rootClientId:n})]),a=t.value&&t.onChange?ab:ib;return{...e,ref:c,className:s()(e.className,"block-editor-block-list__layout",{"has-overlay":r}),children:Object(i.createElement)(a,Object(l.a)({},t,{clientId:n}))}}sb.DefaultBlockAppender=ob,sb.ButtonBlockAppender=nb,sb.Content=Object(m.withBlockContentContext)(({BlockContent:e})=>Object(i.createElement)(e,null));var db=sb;var bb=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.Path,{d:"M9 9v6h11V9H9zM4 20h1.5V4H4v16z"}));var mb=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.Path,{d:"M20 9h-7.2V4h-1.6v5H4v6h7.2v5h1.6v-5H20z"}));var pb=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.Path,{d:"M4 15h11V9H4v6zM18.5 4v16H20V4h-1.5z"}));var fb=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(i.createElement)(Gn.Path,{d:"M9 15h6V9H9v6zm-5 5h1.5V4H4v16zM18.5 4v16H20V4h-1.5z"}));const gb={left:bb,center:mb,right:pb,"space-between":fb};var hb=function({allowedControls:e=["left","center","right","space-between"],isCollapsed:t=!0,onChange:n,value:o,popoverProps:r,isToolbar:c}){const a=e=>{n(e===o?void 0:e)},s=o?gb[o]:gb.left,u=[{name:"left",icon:bb,title:Object(v.__)("Justify items left"),isActive:"left"===o,onClick:()=>a("left")},{name:"center",icon:mb,title:Object(v.__)("Justify items center"),isActive:"center"===o,onClick:()=>a("center")},{name:"right",icon:pb,title:Object(v.__)("Justify items right"),isActive:"right"===o,onClick:()=>a("right")},{name:"space-between",icon:fb,title:Object(v.__)("Space between items"),isActive:"space-between"===o,onClick:()=>a("space-between")}],d=c?p.ToolbarGroup:p.ToolbarDropdownMenu,b=c?{isCollapsed:t}:{};return Object(i.createElement)(d,Object(l.a)({icon:s,popoverProps:r,label:Object(v.__)("Change items justification"),controls:u.filter(t=>e.includes(t.name))},b))};function Ob(e){return Object(i.createElement)(hb,Object(l.a)({},e,{isToolbar:!1}))}function vb(e){return Object(i.createElement)(hb,Object(l.a)({},e,{isToolbar:!0}))}var jb=n("btIw");const kb=[{id:"opensInNewTab",title:Object(v.__)("Open in new tab")}];var _b=({value:e,onChange:t=u.noop,settings:n=kb})=>{if(!n||!n.length)return null;const o=n=>o=>{t({...e,[n.id]:o})},r=n.map(t=>Object(i.createElement)(p.ToggleControl,{className:"block-editor-link-control__setting",key:t.id,label:t.title,onChange:o(t),checked:!!e&&!!e[t.id]}));return Object(i.createElement)("fieldset",{className:"block-editor-link-control__settings"},Object(i.createElement)(p.VisuallyHidden,{as:"legend"},Object(v.__)("Currently selected link settings")),r)};class yb extends i.Component{constructor(e){super(e),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=e.autocompleteRef||Object(i.createRef)(),this.inputRef=Object(i.createRef)(),this.updateSuggestions=Object(u.debounce)(this.updateSuggestions.bind(this),200),this.suggestionNodes=[],this.isUpdatingSuggestions=!1,this.state={suggestions:[],showSuggestions:!1,selectedSuggestion:null,suggestionsListboxId:"",suggestionOptionIdPrefix:""}}componentDidUpdate(e){const{showSuggestions:t,selectedSuggestion:n}=this.state,{value:o}=this.props;t&&null!==n&&this.suggestionNodes[n]&&!this.scrollingIntoView&&(this.scrollingIntoView=!0,ta()(this.suggestionNodes[n],this.autocompleteRef.current,{onlyScrollIfNeeded:!0}),this.props.setTimeout(()=>{this.scrollingIntoView=!1},100)),e.value!==o&&this.shouldShowInitialSuggestions()&&this.updateSuggestions()}componentDidMount(){this.shouldShowInitialSuggestions()&&this.updateSuggestions()}componentWillUnmount(){var e,t;null===(e=this.suggestionsRequest)||void 0===e||null===(t=e.cancel)||void 0===t||t.call(e),delete this.suggestionsRequest}bindSuggestionNode(e){return t=>{this.suggestionNodes[e]=t}}shouldShowInitialSuggestions(){const{suggestions:e}=this.state,{__experimentalShowInitialSuggestions:t=!1,value:n}=this.props;return!this.isUpdatingSuggestions&&t&&!(n&&n.length)&&!(e&&e.length)}updateSuggestions(e=""){const{__experimentalFetchLinkSuggestions:t,__experimentalHandleURLSuggestions:n}=this.props;if(!t)return;const o=!(e&&e.length);if(!o&&(e.length<2||!n&&Object(Ha.isURL)(e)))return void this.setState({showSuggestions:!1,selectedSuggestion:null,loading:!1});this.isUpdatingSuggestions=!0,this.setState({selectedSuggestion:null,loading:!0});const r=t(e,{isInitialSuggestions:o});r.then(e=>{this.suggestionsRequest===r&&(this.setState({suggestions:e,loading:!1,showSuggestions:!!e.length}),e.length?this.props.debouncedSpeak(Object(v.sprintf)(Object(v._n)("%d result found, use up and down arrow keys to navigate.","%d results found, use up and down arrow keys to navigate.",e.length),e.length),"assertive"):this.props.debouncedSpeak(Object(v.__)("No results."),"assertive"),this.isUpdatingSuggestions=!1)}).catch(()=>{this.suggestionsRequest===r&&(this.setState({loading:!1}),this.isUpdatingSuggestions=!1)}),this.suggestionsRequest=r}onChange(e){const t=e.target.value;this.props.onChange(t),this.props.disableSuggestions||this.updateSuggestions(t.trim())}onFocus(){const{suggestions:e}=this.state,{disableSuggestions:t,value:n}=this.props;!n||t||this.isUpdatingSuggestions||e&&e.length||this.updateSuggestions(n.trim())}onKeyDown(e){const{showSuggestions:t,selectedSuggestion:n,suggestions:o,loading:r}=this.state;if(!t||!o.length||r){switch(e.keyCode){case Kr.UP:0!==e.target.selectionStart&&(e.stopPropagation(),e.preventDefault(),e.target.setSelectionRange(0,0));break;case Kr.DOWN:this.props.value.length!==e.target.selectionStart&&(e.stopPropagation(),e.preventDefault(),e.target.setSelectionRange(this.props.value.length,this.props.value.length))}return}const c=this.state.suggestions[this.state.selectedSuggestion];switch(e.keyCode){case Kr.UP:{e.stopPropagation(),e.preventDefault();const t=n?n-1:o.length-1;this.setState({selectedSuggestion:t});break}case Kr.DOWN:{e.stopPropagation(),e.preventDefault();const t=null===n||n===o.length-1?0:n+1;this.setState({selectedSuggestion:t});break}case Kr.TAB:null!==this.state.selectedSuggestion&&(this.selectLink(c),this.props.speak(Object(v.__)("Link selected.")));break;case Kr.ENTER:null!==this.state.selectedSuggestion&&(e.stopPropagation(),this.selectLink(c))}}selectLink(e){this.props.onChange(e.url,e),this.setState({selectedSuggestion:null,showSuggestions:!1})}handleOnClick(e){this.selectLink(e),this.inputRef.current.focus()}static getDerivedStateFromProps({value:e,instanceId:t,disableSuggestions:n,__experimentalShowInitialSuggestions:o=!1},{showSuggestions:r}){let c=r;const l=e&&e.length;return o||l||(c=!1),!0===n&&(c=!1),{showSuggestions:c,suggestionsListboxId:"block-editor-url-input-suggestions-"+t,suggestionOptionIdPrefix:"block-editor-url-input-suggestion-"+t}}render(){return Object(i.createElement)(i.Fragment,null,this.renderControl(),this.renderSuggestions())}renderControl(){const{label:e,className:t,isFullWidth:n,instanceId:o,placeholder:r=Object(v.__)("Paste URL or type to search"),__experimentalRenderControl:c,value:l=""}=this.props,{loading:a,showSuggestions:u,selectedSuggestion:d,suggestionsListboxId:b,suggestionOptionIdPrefix:m}=this.state,f={id:"url-input-control-"+o,label:e,className:s()("block-editor-url-input",t,{"is-full-width":n})},g={value:l,required:!0,className:"block-editor-url-input__input",type:"text",onChange:this.onChange,onFocus:this.onFocus,placeholder:r,onKeyDown:this.onKeyDown,role:"combobox","aria-label":Object(v.__)("URL"),"aria-expanded":u,"aria-autocomplete":"list","aria-owns":b,"aria-activedescendant":null!==d?`${m}-${d}`:void 0,ref:this.inputRef};return c?c(f,g,a):Object(i.createElement)(p.BaseControl,f,Object(i.createElement)("input",g),a&&Object(i.createElement)(p.Spinner,null))}renderSuggestions(){const{className:e,__experimentalRenderSuggestions:t,value:n="",__experimentalShowInitialSuggestions:o=!1}=this.props,{showSuggestions:r,suggestions:c,selectedSuggestion:a,suggestionsListboxId:d,suggestionOptionIdPrefix:b,loading:m}=this.state,f={id:d,ref:this.autocompleteRef,role:"listbox"},g=(e,t)=>({role:"option",tabIndex:"-1",id:`${b}-${t}`,ref:this.bindSuggestionNode(t),"aria-selected":t===a});return Object(u.isFunction)(t)&&r&&c.length?t({suggestions:c,selectedSuggestion:a,suggestionsListProps:f,buildSuggestionItemProps:g,isLoading:m,handleSuggestionClick:this.handleOnClick,isInitialSuggestions:o&&!(n&&n.length)}):!Object(u.isFunction)(t)&&r&&c.length?Object(i.createElement)(p.Popover,{position:"bottom",noArrow:!0,focusOnMount:!1},Object(i.createElement)("div",Object(l.a)({},f,{className:s()("block-editor-url-input__suggestions",e+"__suggestions")}),c.map((e,t)=>Object(i.createElement)(p.Button,Object(l.a)({},g(0,t),{key:e.id,className:s()("block-editor-url-input__suggestion",{"is-selected":t===a}),onClick:()=>this.handleOnClick(e)}),e.title)))):null}}var Eb=Object(d.compose)(d.withSafeTimeout,p.withSpokenMessages,d.withInstanceId,Object(f.withSelect)((e,t)=>{if(Object(u.isFunction)(t.__experimentalFetchLinkSuggestions))return;const{getSettings:n}=e(Rn);return{__experimentalFetchLinkSuggestions:n().__experimentalFetchLinkSuggestions}}))(yb);var Cb=({searchTerm:e,onClick:t,itemProps:n,isSelected:o,buttonText:r})=>{if(!e)return null;let c;return c=r?Object(u.isFunction)(r)?r(e):r:Object(i.createInterpolateElement)(Object(v.sprintf)(Object(v.__)("Create: %s"),e),{mark:Object(i.createElement)("mark",null)}),Object(i.createElement)(p.Button,Object(l.a)({},n,{className:s()("block-editor-link-control__search-create block-editor-link-control__search-item",{"is-selected":o}),onClick:t}),Object(i.createElement)(qc.a,{className:"block-editor-link-control__search-item-icon",icon:la.a}),Object(i.createElement)("span",{className:"block-editor-link-control__search-item-header"},Object(i.createElement)("span",{className:"block-editor-link-control__search-item-title"},c)))};var Sb=Object(i.createElement)(Gn.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"-2 -2 24 24"},Object(i.createElement)(Gn.Path,{d:"M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zM1.11 9.68h2.51c.04.91.167 1.814.38 2.7H1.84c-.403-.85-.65-1.764-.73-2.7zm8.57-5.4V1.19c.964.366 1.756 1.08 2.22 2 .205.347.386.708.54 1.08l-2.76.01zm3.22 1.35c.232.883.37 1.788.41 2.7H9.68v-2.7h3.22zM8.32 1.19v3.09H5.56c.154-.372.335-.733.54-1.08.462-.924 1.255-1.64 2.22-2.01zm0 4.44v2.7H4.7c.04-.912.178-1.817.41-2.7h3.21zm-4.7 2.69H1.11c.08-.936.327-1.85.73-2.7H4c-.213.886-.34 1.79-.38 2.7zM4.7 9.68h3.62v2.7H5.11c-.232-.883-.37-1.788-.41-2.7zm3.63 4v3.09c-.964-.366-1.756-1.08-2.22-2-.205-.347-.386-.708-.54-1.08l2.76-.01zm1.35 3.09v-3.04h2.76c-.154.372-.335.733-.54 1.08-.464.92-1.256 1.634-2.22 2v-.04zm0-4.44v-2.7h3.62c-.04.912-.178 1.817-.41 2.7H9.68zm4.71-2.7h2.51c-.08.936-.327 1.85-.73 2.7H14c.21-.87.337-1.757.38-2.65l.01-.05zm0-1.35c-.046-.894-.176-1.78-.39-2.65h2.16c.403.85.65 1.764.73 2.7l-2.5-.05zm1-4H13.6c-.324-.91-.793-1.76-1.39-2.52 1.244.56 2.325 1.426 3.14 2.52h.04zm-9.6-2.52c-.597.76-1.066 1.61-1.39 2.52H2.65c.815-1.094 1.896-1.96 3.14-2.52zm-3.15 12H4.4c.324.91.793 1.76 1.39 2.52-1.248-.567-2.33-1.445-3.14-2.55l-.01.03zm9.56 2.52c.597-.76 1.066-1.61 1.39-2.52h1.76c-.82 1.08-1.9 1.933-3.14 2.48l-.01.04z"}));var wb=({itemProps:e,suggestion:t,isSelected:n=!1,onClick:o,isURL:r=!1,searchTerm:c="",shouldShowType:a=!1})=>Object(i.createElement)(p.Button,Object(l.a)({},e,{onClick:o,className:s()("block-editor-link-control__search-item",{"is-selected":n,"is-url":r,"is-entity":!r})}),r&&Object(i.createElement)(qc.a,{className:"block-editor-link-control__search-item-icon",icon:Sb}),Object(i.createElement)("span",{className:"block-editor-link-control__search-item-header"},Object(i.createElement)("span",{className:"block-editor-link-control__search-item-title"},Object(i.createElement)(p.TextHighlight,{text:t.title,highlight:c})),Object(i.createElement)("span",{"aria-hidden":!r,className:"block-editor-link-control__search-item-info"},!r&&(Object(Ha.filterURLForDisplay)(Object(Ha.safeDecodeURI)(t.url))||""),r&&Object(v.__)("Press ENTER to add this link"))),a&&t.type&&Object(i.createElement)("span",{className:"block-editor-link-control__search-item-type"},"post_tag"===t.type?"tag":t.type));function Bb({instanceId:e,withCreateSuggestion:t,currentInputValue:n,handleSuggestionClick:o,suggestionsListProps:r,buildSuggestionItemProps:c,suggestions:a,selectedSuggestion:u,isLoading:d,isInitialSuggestions:b,createSuggestionButtonText:m,suggestionsQuery:f}){const g=s()("block-editor-link-control__search-results",{"is-loading":d}),h=["url","mailto","tel","internal"],O=1===a.length&&h.includes(a[0].type.toLowerCase()),j=t&&!O&&!b,k=!(null!=f&&f.type),_="block-editor-link-control-search-results-label-"+e,y=b?Object(v.__)("Recently updated"):Object(v.sprintf)(Object(v.__)('Search results for "%s"'),n),E=Object(i.createElement)(b?i.Fragment:p.VisuallyHidden,{},Object(i.createElement)("span",{className:"block-editor-link-control__search-results-label",id:_},y));return Object(i.createElement)("div",{className:"block-editor-link-control__search-results-wrapper"},E,Object(i.createElement)("div",Object(l.a)({},r,{className:g,"aria-labelledby":_}),a.map((e,t)=>j&&"__CREATE__"===e.type?Object(i.createElement)(Cb,{searchTerm:n,buttonText:m,onClick:()=>o(e),key:e.type,itemProps:c(e,t),isSelected:t===u}):"__CREATE__"===e.type?null:Object(i.createElement)(wb,{key:`${e.id}-${e.type}`,itemProps:c(e,t),suggestion:e,index:t,onClick:()=>{o(e)},isSelected:t===u,isURL:h.includes(e.type.toLowerCase()),searchTerm:n,shouldShowType:k}))))}function Ib(e){const t=Object(u.startsWith)(e,"#");return Object(Ha.isURL)(e)||e&&e.includes("www.")||t}const xb=()=>Promise.resolve([]),Tb=e=>{let t="URL";const n=Object(Ha.getProtocol)(e)||"";return n.includes("mailto")&&(t="mailto"),n.includes("tel")&&(t="tel"),Object(u.startsWith)(e,"#")&&(t="internal"),Promise.resolve([{id:e,title:e,url:"URL"===t?Object(Ha.prependHTTP)(e):e,type:t}])};function Nb(e,t,n,o){const{fetchSearchSuggestions:r}=Object(f.useSelect)(e=>{const{getSettings:t}=e(Rn);return{fetchSearchSuggestions:t().__experimentalFetchLinkSuggestions}},[]),c=t?Tb:xb;return Object(i.useCallback)((t,{isInitialSuggestions:l})=>Ib(t)?c(t,{isInitialSuggestions:l}):(async(e,t,n,o,r,c)=>{const{isInitialSuggestions:l}=t;let i=await Promise.all([n(e,t),o(e)]);return i=!e.includes(" ")&&c&&!l?i[0].concat(i[1]):i[0],l||Ib(e)||!r?i:i.concat({title:e,url:e,type:"__CREATE__"})})(t,{...e,isInitialSuggestions:l},r,c,n,o),[c,r,n])}const Pb=Promise.resolve([]),Lb=Object(i.forwardRef)(({value:e,children:t,currentLink:n={},className:o=null,placeholder:r=null,withCreateSuggestion:c=!1,onCreateSuggestion:l=u.noop,onChange:a=u.noop,onSelect:s=u.noop,showSuggestions:b=!0,renderSuggestions:m=(e=>Object(i.createElement)(Bb,e)),fetchSuggestions:p=null,allowDirectEntry:f=!0,showInitialSuggestions:g=!1,suggestionsQuery:h={},withURLSuggestion:O=!0,createSuggestionButtonText:j},k)=>{const _=Nb(h,f,c,O),y=b?p||_:Pb,E=Object(d.useInstanceId)(Lb),[C,S]=Object(i.useState)(),w=async e=>{let t=e;if("__CREATE__"!==e.type)(f||t&&Object.keys(t).length>=1)&&s({...Object(u.omit)(n,"id","url"),...t},t);else try{var o;t=await l(e.title),null!==(o=t)&&void 0!==o&&o.url&&s(t)}catch(e){}};return Object(i.createElement)("form",{onSubmit:t=>{t.preventDefault(),w(C||{url:e})}},Object(i.createElement)(Eb,{className:o,value:e,onChange:(e,t)=>{a(e),S(t)},placeholder:null!=r?r:Object(v.__)("Search or type url"),__experimentalRenderSuggestions:b?t=>m({...t,instanceId:E,withCreateSuggestion:c,currentInputValue:e,createSuggestionButtonText:j,suggestionsQuery:h,handleSuggestionClick:e=>{t.handleSuggestionClick&&t.handleSuggestionClick(e),w(e)}}):null,__experimentalFetchLinkSuggestions:y,__experimentalHandleURLSuggestions:!0,__experimentalShowInitialSuggestions:g,ref:k}),t)});var Rb=Lb;const{Slot:Ab,Fill:Mb}=Object(p.createSlotFill)("BlockEditorLinkControlViewer");function Db({value:e,onEditClick:t}){const n=e&&Object(Ha.filterURLForDisplay)(Object(Ha.safeDecodeURI)(e.url),16)||"";return Object(i.createElement)("div",{"aria-label":Object(v.__)("Currently selected"),"aria-selected":"true",className:s()("block-editor-link-control__search-item",{"is-current":!0})},Object(i.createElement)("span",{className:"block-editor-link-control__search-item-header"},Object(i.createElement)(p.ExternalLink,{className:"block-editor-link-control__search-item-title",href:e.url},e&&e.title||n),e&&e.title&&Object(i.createElement)("span",{className:"block-editor-link-control__search-item-info"},n)),Object(i.createElement)(p.Button,{isSecondary:!0,onClick:()=>t(),className:"block-editor-link-control__search-item-action"},Object(v.__)("Edit")),Object(i.createElement)(Ab,{fillProps:e}))}const Fb=e=>{let t=!1;return{promise:new Promise((n,o)=>{e.then(e=>t?o({isCanceled:!0}):n(e),e=>o(t?{isCanceled:!0}:e))}),cancel(){t=!0}}};function Vb({searchInputPlaceholder:e,value:t,settings:n,onChange:o=u.noop,noDirectEntry:r=!1,showSuggestions:c=!0,showInitialSuggestions:l,forceIsEditingLink:a,createSuggestion:s,withCreateSuggestion:d,inputValue:b="",suggestionsQuery:m={},noURLSuggestion:f=!1,createSuggestionButtonText:g}){void 0===d&&s&&(d=!0);const h=Object(i.useRef)(!0),O=Object(i.useRef)(),[j,k]=Object(i.useState)(t&&t.url||""),_=b||j,[y,E]=Object(i.useState)(void 0!==a?a:!t||!t.url),C=Object(i.useRef)(!1);Object(i.useEffect)(()=>{void 0!==a&&a!==y&&E(a)},[a]),Object(i.useEffect)(()=>{if(h.current)return void(h.current=!1);if(!O.current.contains(O.current.ownerDocument.activeElement)){(ui.focus.focusable.find(O.current)[0]||O.current).focus()}C.current=!1},[y]);const{createPage:S,isCreatingPage:w,errorMessage:B}=function(e){const t=Object(i.useRef)(),[n,o]=Object(i.useState)(!1),[r,c]=Object(i.useState)(null);return Object(i.useEffect)(()=>()=>{t.current&&t.current.cancel()},[]),{createPage:async function(n){o(!0),c(null);try{return t.current=Fb(Promise.resolve(e(n))),await t.current.promise}catch(e){if(e&&e.isCanceled)return;throw c(e.message||Object(v.__)("An unknown error occurred during creation. Please try again.")),e}finally{o(!1)}},isCreatingPage:n,errorMessage:r}}(s);return Object(i.createElement)("div",{tabIndex:-1,ref:O,className:"block-editor-link-control"},w&&Object(i.createElement)("div",{className:"block-editor-link-control__loading"},Object(i.createElement)(p.Spinner,null)," ",Object(v.__)("Creating"),"…"),(y||!t)&&!w&&Object(i.createElement)(i.Fragment,null,Object(i.createElement)("div",{className:"block-editor-link-control__search-input-wrapper"},Object(i.createElement)(Rb,{currentLink:t,className:"block-editor-link-control__search-input",placeholder:e,value:_,withCreateSuggestion:d,onCreateSuggestion:S,onChange:k,onSelect:e=>{var t;o(e),C.current=!(null===(t=O.current)||void 0===t||!t.contains(O.current.ownerDocument.activeElement)),E(!1)},showInitialSuggestions:l,allowDirectEntry:!r,showSuggestions:c,suggestionsQuery:m,withURLSuggestion:!f,createSuggestionButtonText:g},Object(i.createElement)("div",{className:"block-editor-link-control__search-actions"},Object(i.createElement)(p.Button,{type:"submit",label:Object(v.__)("Submit"),icon:jb.a,className:"block-editor-link-control__search-submit"})))),B&&Object(i.createElement)(p.Notice,{className:"block-editor-link-control__search-error",status:"error",isDismissible:!1},B)),t&&!y&&!w&&Object(i.createElement)(Db,{value:t,onEditClick:()=>E(!0)}),Object(i.createElement)(_b,{value:t,settings:n,onChange:o}))}Vb.ViewerFill=Mb;var Hb=Vb,zb=n("rH4q"),Gb=n("NTP4");var Ub=Object(p.withFilters)("editor.MediaUpload")(()=>null);var Wb=function({fallback:e=null,children:t}){return Object(f.useSelect)(e=>{const{getSettings:t}=e(Rn);return!!t().mediaUpload},[])?t:e};var Kb=Object(d.compose)([Object(f.withDispatch)(e=>{const{createNotice:t,removeNotice:n}=e(La.store);return{createNotice:t,removeNotice:n}}),Object(p.withFilters)("editor.MediaReplaceFlow")])(({mediaURL:e,mediaId:t,allowedTypes:n,accept:o,onSelect:r,onSelectURL:c,onFilesUpload:l=u.noop,name:a=Object(v.__)("Replace"),createNotice:s,removeNotice:d})=>{const[b,m]=Object(i.useState)(e),g=Object(f.useSelect)(e=>e(Rn).getSettings().mediaUpload,[]),h=Object(i.createRef)(),O=Object(u.uniqueId)("block-editor/media-replace-flow/error-notice/"),j=e=>{const t=document.createElement("div");t.innerHTML=Object(i.renderToString)(e);const n=t.textContent||t.innerText||"";setTimeout(()=>{s("error",n,{speak:!0,id:O,isDismissible:!0})},1e3)},k=e=>{r(e),m(e.url),Object(Ct.speak)(Object(v.__)("The media file has been replaced")),d(O)},_=e=>{e.keyCode===Kr.DOWN&&(e.preventDefault(),e.stopPropagation(),e.target.click())};return Object(i.createElement)(p.Dropdown,{popoverProps:{isAlternate:!0},contentClassName:"block-editor-media-replace-flow__options",renderToggle:({isOpen:e,onToggle:t})=>Object(i.createElement)(p.ToolbarButton,{ref:h,"aria-expanded":e,"aria-haspopup":"true",onClick:t,onKeyDown:_},a),renderContent:({onClose:e})=>Object(i.createElement)(i.Fragment,null,Object(i.createElement)(p.NavigableMenu,{className:"block-editor-media-replace-flow__media-upload-menu"},Object(i.createElement)(Ub,{value:t,onSelect:e=>k(e),allowedTypes:n,render:({open:e})=>Object(i.createElement)(p.MenuItem,{icon:zb.a,onClick:e},Object(v.__)("Open Media Library"))}),Object(i.createElement)(Wb,null,Object(i.createElement)(p.FormFileUpload,{onChange:e=>{(e=>{const t=e.target.files;l(t);g({allowedTypes:n,filesList:t,onFileChange:([e])=>{k(e)},onError:j})})(e)},accept:o,render:({openFileDialog:e})=>Object(i.createElement)(p.MenuItem,{icon:Gb.a,onClick:()=>{e()}},Object(v.__)("Upload"))}))),c&&Object(i.createElement)("form",{className:"block-editor-media-flow__url-input",onKeyDown:e=>{[Kr.TAB,Kr.ESCAPE].includes(e.keyCode)||e.stopPropagation()},onKeyPress:e=>{[Kr.TAB,Kr.ESCAPE].includes(e.keyCode)||e.stopPropagation()}},Object(i.createElement)("span",{className:"block-editor-media-replace-flow__image-url-label"},Object(v.__)("Current media URL:")),Object(i.createElement)(Hb,{value:{url:b},settings:[],showSuggestions:!1,onChange:({url:e})=>{m(e),c(e),h.current.focus()}})))})}),qb=n("B9Az");function $b({url:e,urlLabel:t,className:n}){const o=s()(n,"block-editor-url-popover__link-viewer-url");return e?Object(i.createElement)(p.ExternalLink,{className:o,href:e},t||Object(Ha.filterURLForDisplay)(Object(Ha.safeDecodeURI)(e))):Object(i.createElement)("span",{className:o})}function Yb({additionalControls:e,children:t,renderSettings:n,position:o="bottom center",focusOnMount:r="firstElement",...c}){const[a,s]=Object(i.useState)(!1),u=!!n&&a;return Object(i.createElement)(p.Popover,Object(l.a)({className:"block-editor-url-popover",focusOnMount:r,position:o},c),Object(i.createElement)("div",{className:"block-editor-url-popover__input-container"},Object(i.createElement)("div",{className:"block-editor-url-popover__row"},t,!!n&&Object(i.createElement)(p.Button,{className:"block-editor-url-popover__settings-toggle",icon:vi.a,label:Object(v.__)("Link settings"),onClick:()=>{s(!a)},"aria-expanded":a})),u&&Object(i.createElement)("div",{className:"block-editor-url-popover__row block-editor-url-popover__settings"},n())),e&&!u&&Object(i.createElement)("div",{className:"block-editor-url-popover__additional-controls"},e))}Yb.LinkEditor=function({autocompleteRef:e,className:t,onChangeInputValue:n,value:o,...r}){return Object(i.createElement)("form",Object(l.a)({className:s()("block-editor-url-popover__link-editor",t)},r),Object(i.createElement)(Eb,{value:o,onChange:n,autocompleteRef:e}),Object(i.createElement)(p.Button,{icon:jb.a,label:Object(v.__)("Apply"),type:"submit"}))},Yb.LinkViewer=function({className:e,linkClassName:t,onEditLinkClick:n,url:o,urlLabel:r,...c}){return Object(i.createElement)("div",Object(l.a)({className:s()("block-editor-url-popover__link-viewer",e)},c),Object(i.createElement)($b,{url:o,urlLabel:r,className:t}),n&&Object(i.createElement)(p.Button,{icon:qb.a,label:Object(v.__)("Edit"),onClick:n}))};var Xb=Yb;const Qb=({src:e,onChange:t,onSubmit:n,onClose:o})=>Object(i.createElement)(Xb,{onClose:o},Object(i.createElement)("form",{className:"block-editor-media-placeholder__url-input-form",onSubmit:n},Object(i.createElement)("input",{className:"block-editor-media-placeholder__url-input-field",type:"url","aria-label":Object(v.__)("URL"),placeholder:Object(v.__)("Paste or type URL"),onChange:t,value:e}),Object(i.createElement)(p.Button,{className:"block-editor-media-placeholder__url-input-submit-button",icon:jb.a,label:Object(v.__)("Apply"),type:"submit"})));var Zb=Object(p.withFilters)("editor.MediaPlaceholder")((function({value:e={},allowedTypes:t,className:n,icon:o,labels:r={},mediaPreview:c,notices:l,isAppender:a,accept:d,addToGallery:b,multiple:m=!1,dropZoneUIOnly:g,disableDropZone:h,disableMediaButtons:O,onError:j,onSelect:k,onCancel:_,onSelectURL:y,onDoubleClick:E,onFilesPreUpload:C=u.noop,onHTMLDrop:S=u.noop,children:w}){const B=Object(f.useSelect)(e=>{const{getSettings:t}=e(Rn);return t().mediaUpload},[]),[I,x]=Object(i.useState)(""),[T,N]=Object(i.useState)(!1);Object(i.useEffect)(()=>{var t;x(null!==(t=null==e?void 0:e.src)&&void 0!==t?t:"")},[null==e?void 0:e.src]);const P=e=>{x(e.target.value)},L=()=>{N(!0)},R=()=>{N(!1)},A=e=>{e.preventDefault(),I&&y&&(y(I),R())},M=n=>{let o;if(C(n),m)if(b){let t=[];o=n=>{const o=(null!=e?e:[]).filter(e=>e.id?!t.some(({id:t})=>Number(t)===Number(e.id)):!t.some(({urlSlug:t})=>e.url.includes(t)));k(o.concat(n)),t=n.map(e=>{const t=e.url.lastIndexOf("."),n=e.url.slice(0,t);return{id:e.id,urlSlug:n}})}}else o=k;else o=([e])=>k(e);B({allowedTypes:t,filesList:n,onFileChange:o,onError:j})},D=e=>{M(e.target.files)},F=(e,u)=>{let{instructions:d,title:b}=r;if(B||y||(d=Object(v.__)("To edit this block, you need permission to upload media.")),void 0===d||void 0===b){const e=null!=t?t:[],[n]=e,o=1===e.length,r=o&&"audio"===n,c=o&&"image"===n,l=o&&"video"===n;void 0===d&&B&&(d=Object(v.__)("Upload a media file or pick one from your media library."),r?d=Object(v.__)("Upload an audio file, pick one from your media library, or add one with a URL."):c?d=Object(v.__)("Upload an image file, pick one from your media library, or add one with a URL."):l&&(d=Object(v.__)("Upload a video file, pick one from your media library, or add one with a URL."))),void 0===b&&(b=Object(v.__)("Media"),r?b=Object(v.__)("Audio"):c?b=Object(v.__)("Image"):l&&(b=Object(v.__)("Video")))}const m=s()("block-editor-media-placeholder",n,{"is-appender":a});return Object(i.createElement)(p.Placeholder,{icon:o,label:b,instructions:d,className:m,notices:l,onClick:u,onDoubleClick:E,preview:c},e,w)},V=()=>h?null:Object(i.createElement)(p.DropZone,{onFilesDrop:M,onHTMLDrop:S}),H=()=>_&&Object(i.createElement)(p.Button,{className:"block-editor-media-placeholder__cancel-button",title:Object(v.__)("Cancel"),isLink:!0,onClick:_},Object(v.__)("Cancel")),z=()=>y&&Object(i.createElement)("div",{className:"block-editor-media-placeholder__url-input-container"},Object(i.createElement)(p.Button,{className:"block-editor-media-placeholder__button",onClick:L,isPressed:T,isTertiary:!0},Object(v.__)("Insert from URL")),T&&Object(i.createElement)(Qb,{src:I,onChange:P,onSubmit:A,onClose:R}));return g||O?(g&&wt()("wp.blockEditor.MediaPlaceholder dropZoneUIOnly prop",{since:"5.4",alternative:"disableMediaButtons"}),Object(i.createElement)(Wb,null,V())):Object(i.createElement)(Wb,{fallback:F(z())},(()=>{const n=Object(i.createElement)(Ub,{addToGallery:b,gallery:m&&!(!t||0===t.length)&&t.every(e=>"image"===e||e.startsWith("image/")),multiple:m,onSelect:k,allowedTypes:t,value:Array.isArray(e)?e.map(({id:e})=>e):e.id,render:({open:e})=>Object(i.createElement)(p.Button,{isTertiary:!0,onClick:t=>{t.stopPropagation(),e()}},Object(v.__)("Media Library"))});if(B&&a)return Object(i.createElement)(i.Fragment,null,V(),Object(i.createElement)(p.FormFileUpload,{onChange:D,accept:d,multiple:m,render:({openFileDialog:e})=>{const t=Object(i.createElement)(i.Fragment,null,Object(i.createElement)(p.Button,{isPrimary:!0,className:s()("block-editor-media-placeholder__button","block-editor-media-placeholder__upload-button")},Object(v.__)("Upload")),n,z(),H());return F(t,e)}}));if(B){const e=Object(i.createElement)(i.Fragment,null,V(),Object(i.createElement)(p.FormFileUpload,{isPrimary:!0,className:s()("block-editor-media-placeholder__button","block-editor-media-placeholder__upload-button"),onChange:D,accept:d,multiple:m},Object(v.__)("Upload")),n,z(),H());return F(e)}return F(n)})())}));const Jb=Object(i.forwardRef)((e,t)=>Object(i.createElement)(jd,Object(l.a)({ref:t},e,{__unstableDisableFormats:!0,preserveWhiteSpace:!0})));Jb.Content=({value:e="",tagName:t="div",...n})=>Object(i.createElement)(t,n,e);var em=Jb;var tm=Object(i.forwardRef)(({__experimentalVersion:e,...t},n)=>{if(2===e)return Object(i.createElement)(em,Object(l.a)({ref:n},t));const{className:o,onChange:r,...c}=t;return Object(i.createElement)(Vi.a,Object(l.a)({ref:n,className:s()("block-editor-plain-text",o),onChange:e=>r(e.target.value)},c))});function nm({property:e,viewport:t,desc:n}){const o=Object(d.useInstanceId)(nm),r=n||Object(v.sprintf)(Object(v._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."),e,t.label);return Object(i.createElement)(i.Fragment,null,Object(i.createElement)("span",{"aria-describedby":"rbc-desc-"+o},t.label),Object(i.createElement)(p.VisuallyHidden,{as:"span",id:"rbc-desc-"+o},r))}var om=function(e){const{title:t,property:n,toggleLabel:o,onIsResponsiveChange:r,renderDefaultControl:c,renderResponsiveControls:l,isResponsive:a=!1,defaultLabel:u={id:"all",label:Object(v.__)("All")},viewports:d=[{id:"small",label:Object(v.__)("Small screens")},{id:"medium",label:Object(v.__)("Medium screens")},{id:"large",label:Object(v.__)("Large screens")}]}=e;if(!t||!n||!c)return null;const b=o||Object(v.sprintf)(Object(v.__)("Use the same %s on all screensizes."),n),m=Object(v.__)("Toggle between using the same value for all screen sizes or using a unique value per screen size."),f=c(Object(i.createElement)(nm,{property:n,viewport:u}),u);return Object(i.createElement)("fieldset",{className:"block-editor-responsive-block-control"},Object(i.createElement)("legend",{className:"block-editor-responsive-block-control__title"},t),Object(i.createElement)("div",{className:"block-editor-responsive-block-control__inner"},Object(i.createElement)(p.ToggleControl,{className:"block-editor-responsive-block-control__toggle",label:b,checked:!a,onChange:r,help:m}),Object(i.createElement)("div",{className:s()("block-editor-responsive-block-control__group",{"is-responsive":a})},!a&&f,a&&(l?l(d):d.map(e=>Object(i.createElement)(i.Fragment,{key:e.id},c(Object(i.createElement)(nm,{property:n,viewport:e}),e)))))))};function rm({character:e,type:t,onUse:n}){return Object(d.useKeyboardShortcut)(Kr.rawShortcut[t](e),()=>(n(),!1),{bindGlobal:!0}),null}function cm({name:e,shortcutType:t,shortcutCharacter:n,...o}){let r,c="RichText.ToolbarControls";return e&&(c+="."+e),t&&n&&(r=Kr.displayShortcut[t](n)),Object(i.createElement)(p.Fill,{name:c},Object(i.createElement)(p.ToolbarButton,Object(l.a)({},o,{shortcut:r})))}class lm extends i.Component{constructor(){super(...arguments),this.onInput=this.onInput.bind(this)}onInput(e){e.inputType===this.props.inputType&&this.props.onInput()}componentDidMount(){document.addEventListener("input",this.onInput,!0)}componentWillUnmount(){document.removeEventListener("input",this.onInput,!0)}render(){return null}}const im=Object(i.createElement)(p.SVG,{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},Object(i.createElement)(p.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"}));var am=Object(i.forwardRef)((function(e,t){const n=Object(f.useSelect)(e=>e(Rn).isNavigationMode(),[]),{setNavigationMode:o}=Object(f.useDispatch)(Rn),r=e=>{o("edit"!==e)};return Object(i.createElement)(p.Dropdown,{renderToggle:({isOpen:o,onToggle:r})=>Object(i.createElement)(p.Button,Object(l.a)({},e,{ref:t,icon:n?im:qb.a,"aria-expanded":o,"aria-haspopup":"true",onClick:r,label:Object(v.__)("Tools")})),position:"bottom right",renderContent:()=>Object(i.createElement)(i.Fragment,null,Object(i.createElement)(p.NavigableMenu,{role:"menu","aria-label":Object(v.__)("Tools")},Object(i.createElement)(p.MenuItemsChoice,{value:n?"select":"edit",onSelect:r,choices:[{value:"edit",label:Object(i.createElement)(i.Fragment,null,Object(i.createElement)(qc.a,{icon:qb.a}),Object(v.__)("Edit"))},{value:"select",label:Object(i.createElement)(i.Fragment,null,im,Object(v.__)("Select"))}]})),Object(i.createElement)("div",{className:"block-editor-tool-selector__help"},Object(v.__)("Tools provide different interactions for selecting, navigating, and editing blocks. Toggle between select and edit by pressing Escape and Enter.")))})}));function sm({units:e,...t}){const n=Object(p.__experimentalUseCustomUnits)({availableUnits:Bo("spacing.units")||["%","px","em","rem","vw"],units:e});return Object(i.createElement)(p.__experimentalUnitControl,Object(l.a)({units:n},t))}var um=n("Bpkj"),dm=n("cjQ8");class bm extends i.Component{constructor(){super(...arguments),this.toggle=this.toggle.bind(this),this.submitLink=this.submitLink.bind(this),this.state={expanded:!1}}toggle(){this.setState({expanded:!this.state.expanded})}submitLink(e){e.preventDefault(),this.toggle()}render(){const{url:e,onChange:t}=this.props,{expanded:n}=this.state,o=e?Object(v.__)("Edit link"):Object(v.__)("Insert link");return Object(i.createElement)("div",{className:"block-editor-url-input__button"},Object(i.createElement)(p.Button,{icon:um.a,label:o,onClick:this.toggle,className:"components-toolbar__control",isPressed:!!e}),n&&Object(i.createElement)("form",{className:"block-editor-url-input__button-modal",onSubmit:this.submitLink},Object(i.createElement)("div",{className:"block-editor-url-input__button-modal-line"},Object(i.createElement)(p.Button,{className:"block-editor-url-input__back",icon:dm.a,label:Object(v.__)("Close"),onClick:this.toggle}),Object(i.createElement)(Eb,{value:e||"",onChange:t}),Object(i.createElement)(p.Button,{icon:jb.a,label:Object(v.__)("Submit"),type:"submit"}))))}}var mm=bm,pm=n("w95h");const fm=["noreferrer","noopener"],gm=Object(i.createElement)(p.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Object(i.createElement)(p.Path,{d:"M0,0h24v24H0V0z",fill:"none"}),Object(i.createElement)(p.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"}),Object(i.createElement)(p.Path,{d:"m14.14 11.86l-3 3.87-2.14-2.59-3 3.86h12l-3.86-5.14z"})),hm=({linkDestination:e,onChangeUrl:t,url:n,mediaType:o="image",mediaUrl:r,mediaLink:c,linkTarget:l,linkClass:a,rel:s})=>{const[d,b]=Object(i.useState)(!1),m=Object(i.useCallback)(()=>{b(!0)}),[f,g]=Object(i.useState)(!1),[h,O]=Object(i.useState)(null),j=Object(i.useRef)(null),k=Object(i.useCallback)(()=>{"media"!==e&&"attachment"!==e||O(""),g(!0)}),_=Object(i.useCallback)(()=>{g(!1)}),y=Object(i.useCallback)(()=>{O(null),_(),b(!1)}),E=e=>{let t=e;return void 0===e||Object(u.isEmpty)(t)||Object(u.isEmpty)(t)||(Object(u.each)(fm,e=>{const n=new RegExp("\\b"+e+"\\b","gi");t=t.replace(n,"")}),t!==e&&(t=t.trim()),Object(u.isEmpty)(t)&&(t=void 0)),t},C=Object(i.useCallback)(()=>e=>{const t=j.current;t&&t.contains(e.target)||(b(!1),O(null),_())}),S=Object(i.useCallback)(()=>e=>{if(h){var n;const e=(null===(n=B().find(e=>e.url===h))||void 0===n?void 0:n.linkDestination)||"custom";t({href:h,linkDestination:e})}_(),O(null),e.preventDefault()}),w=Object(i.useCallback)(()=>{t({linkDestination:"none",href:""})}),B=()=>{const e=[{linkDestination:"media",title:Object(v.__)("Media File"),url:"image"===o?r:void 0,icon:gm}];return"image"===o&&c&&e.push({linkDestination:"attachment",title:Object(v.__)("Attachment Page"),url:"image"===o?c:void 0,icon:Object(i.createElement)(p.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Object(i.createElement)(p.Path,{d:"M0 0h24v24H0V0z",fill:"none"}),Object(i.createElement)(p.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"}))}),e},I=Object(i.createElement)(i.Fragment,null,Object(i.createElement)(p.ToggleControl,{label:Object(v.__)("Open in new tab"),onChange:e=>{const n=(e=>{const t=e?"_blank":void 0;let n;return n=t||s?E(s):void 0,{linkTarget:t,rel:n}})(e);t(n)},checked:"_blank"===l}),Object(i.createElement)(p.TextControl,{label:Object(v.__)("Link Rel"),value:E(s)||"",onChange:e=>{t({rel:e})}}),Object(i.createElement)(p.TextControl,{label:Object(v.__)("Link CSS Class"),value:a||"",onChange:e=>{t({linkClass:e})}})),x=null!==h?h:n,T=(Object(u.find)(B(),["linkDestination",e])||{}).title;return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(p.ToolbarButton,{icon:um.a,className:"components-toolbar__control",label:n?Object(v.__)("Edit link"):Object(v.__)("Insert link"),"aria-expanded":d,onClick:m}),d&&Object(i.createElement)(Xb,{onFocusOutside:C(),onClose:y,renderSettings:()=>I,additionalControls:!x&&Object(i.createElement)(p.NavigableMenu,null,Object(u.map)(B(),e=>Object(i.createElement)(p.MenuItem,{key:e.linkDestination,icon:e.icon,onClick:()=>{O(null),(e=>{const n=B();let o;o=e?(Object(u.find)(n,t=>t.url===e)||{linkDestination:"custom"}).linkDestination:"none",t({linkDestination:o,href:e})})(e.url),_()}},e.title)))},(!n||f)&&Object(i.createElement)(Xb.LinkEditor,{className:"block-editor-format-toolbar__link-container-content",value:x,onChangeInputValue:O,onSubmit:S(),autocompleteRef:j}),n&&!f&&Object(i.createElement)(i.Fragment,null,Object(i.createElement)(Xb.LinkViewer,{className:"block-editor-format-toolbar__link-container-content",url:n,onEditLinkClick:k,urlLabel:T}),Object(i.createElement)(p.Button,{icon:pm.a,label:Object(v.__)("Remove link"),onClick:w}))))};var Om=n("RMJe");function vm({children:e,className:t,isEnabled:n=!0,deviceType:o,setDeviceType:r}){if(Object(d.useViewportMatch)("small","<"))return null;const c={className:s()(t,"block-editor-post-preview__dropdown-content"),position:"bottom left"},l={isTertiary:!0,className:"block-editor-post-preview__button-toggle",disabled:!n,children:Object(v.__)("Preview")};return Object(i.createElement)(p.DropdownMenu,{className:"block-editor-post-preview__dropdown",popoverProps:c,toggleProps:l,icon:null},()=>Object(i.createElement)(i.Fragment,null,Object(i.createElement)(p.MenuGroup,null,Object(i.createElement)(p.MenuItem,{className:"block-editor-post-preview__button-resize",onClick:()=>r("Desktop"),icon:"Desktop"===o&&Om.a},Object(v.__)("Desktop")),Object(i.createElement)(p.MenuItem,{className:"block-editor-post-preview__button-resize",onClick:()=>r("Tablet"),icon:"Tablet"===o&&Om.a},Object(v.__)("Tablet")),Object(i.createElement)(p.MenuItem,{className:"block-editor-post-preview__button-resize",onClick:()=>r("Mobile"),icon:"Mobile"===o&&Om.a},Object(v.__)("Mobile"))),e))}var jm=n("6fKw");const km=/\((min|max)-width:[^\(]*?\)/g;function _m(e){return!!e.media&&!!e.media.mediaText.match(km)}function ym(e,t,n){e.deleteRule(n),e.insertRule(t,n)}function Em(e,t){return e.replace(km,e=>Object(jm.match)(e,{type:"screen",width:t})?"(min-width:0px)":"(min-width:999999px)")}function Cm(e,t){Object(i.useEffect)(()=>{if(!t)return;const n="undefined"==typeof window?[]:Object(u.filter)(null!==(o=null===(r=window)||void 0===r||null===(c=r.document)||void 0===c?void 0:c.styleSheets)&&void 0!==o?o:[],e=>!!e.href&&Object(Ha.getProtocol)(e.href)===window.location.protocol&&Object(Ha.getAuthority)(e.href)===window.location.host);var o,r,c;const l=[];return n.forEach((n,o)=>{let r=!1;for(let c=0;c{l.forEach((e,t)=>{if(e)for(let o=0;o{if("Desktop"===e)return;const t=()=>o(window.innerWidth);return window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)}},[e]);const r=e=>{let t;switch(e){case"Tablet":t=780;break;case"Mobile":t=360;break;default:return null}return t{const t="Mobile"===e?"768px":"1024px";switch(e){case"Tablet":case"Mobile":return{width:r(e),margin:(window.innerHeight<800?36:72)+"px auto",height:t,borderRadius:"2px 2px 2px 2px",border:"1px solid #ddd",overflowY:"auto"};default:return null}})(e)}var wm=Object(f.withSelect)(e=>({selectedBlockClientId:e(Rn).getBlockSelectionStart()}))(({selectedBlockClientId:e})=>{const t=jr(e);return e?Object(i.createElement)(p.Button,{isSecondary:!0,className:"block-editor-skip-to-selected-block",onClick:()=>{t.current.focus()}},Object(v.__)("Skip to the selected block")):null}),Bm=n("7fqt");var Im=Object(f.withSelect)(e=>{const{getMultiSelectedBlocks:t}=e(Rn);return{blocks:t()}})((function({blocks:e}){const t=Object(Bm.count)(Object(m.serialize)(e),"words");return Object(i.createElement)("div",{className:"block-editor-multi-selection-inspector__card"},Object(i.createElement)(Vl,{icon:Ls,showColors:!0}),Object(i.createElement)("div",{className:"block-editor-multi-selection-inspector__card-content"},Object(i.createElement)("div",{className:"block-editor-multi-selection-inspector__card-title"},Object(v.sprintf)(Object(v._n)("%d block","%d blocks",e.length),e.length)),Object(i.createElement)("div",{className:"block-editor-multi-selection-inspector__card-description"},Object(v.sprintf)(Object(v._n)("%d word","%d words",t),t))))}));function xm({blockName:e}){const{preferredStyle:t,onUpdatePreferredStyleVariations:n,styles:o}=Object(f.useSelect)(t=>{var n,o;const r=t(Rn).getSettings().__experimentalPreferredStyleVariations;return{preferredStyle:null==r||null===(n=r.value)||void 0===n?void 0:n[e],onUpdatePreferredStyleVariations:null!==(o=null==r?void 0:r.onChange)&&void 0!==o?o:null,styles:t(m.store).getBlockStyles(e)}},[e]),r=Object(i.useMemo)(()=>[{label:Object(v.__)("Not set"),value:""},...o.map(({label:e,name:t})=>({label:e,value:t}))],[o]),c=Object(i.useCallback)(t=>{n(e,t)},[e,n]);return n&&Object(i.createElement)(p.SelectControl,{options:r,value:t||"",label:Object(v.__)("Default Style"),onChange:c})}const Tm=({clientId:e,blockName:t,hasBlockStyles:n,bubblesVirtually:o})=>{const r=$l(e);return Object(i.createElement)("div",{className:"block-editor-block-inspector"},Object(i.createElement)(ba,r),Object(i.createElement)(Ad,{blockClientId:e}),n&&Object(i.createElement)("div",null,Object(i.createElement)(p.PanelBody,{title:Object(v.__)("Styles")},Object(i.createElement)(Fs,{clientId:e}),Object(m.hasBlockSupport)(t,"defaultStylePicker",!0)&&Object(i.createElement)(xm,{blockName:t}))),Object(i.createElement)(ko.Slot,{bubblesVirtually:o}),Object(i.createElement)("div",null,Object(i.createElement)(Nm,{slotName:ho.slotName,bubblesVirtually:o})),Object(i.createElement)(wm,{key:"back"}))},Nm=({slotName:e,bubblesVirtually:t})=>{const n=Object(p.__experimentalUseSlot)(e);return Boolean(n.fills&&n.fills.length)?Object(i.createElement)(p.PanelBody,{className:"block-editor-block-inspector__advanced",title:Object(v.__)("Advanced"),initialOpen:!1},Object(i.createElement)(ho.Slot,{bubblesVirtually:t})):null};var Pm=({showNoBlockSelectedMessage:e=!0,bubblesVirtually:t=!0})=>{const{count:n,hasBlockStyles:o,selectedBlockName:r,selectedBlockClientId:c,blockType:l}=Object(f.useSelect)(e=>{const{getSelectedBlockClientId:t,getSelectedBlockCount:n,getBlockName:o}=e(Rn),{getBlockStyles:r}=e(m.store),c=t(),l=c&&o(c),i=l&&Object(m.getBlockType)(l),a=l&&r(l);return{count:n(),selectedBlockClientId:c,selectedBlockName:l,blockType:i,hasBlockStyles:a&&a.length>0}},[]);if(n>1)return Object(i.createElement)("div",{className:"block-editor-block-inspector"},Object(i.createElement)(Im,null),Object(i.createElement)(ko.Slot,{bubblesVirtually:t}));const a=r===Object(m.getUnregisteredTypeHandlerName)();return l&&c&&!a?Object(i.createElement)(Tm,{clientId:c,blockName:l.name,hasBlockStyles:o,bubblesVirtually:t}):e?Object(i.createElement)("span",{className:"block-editor-block-inspector__no-blocks"},Object(v.__)("No block selected.")):null};function Lm({children:e,__unstableContentRef:t}){const n=Object(d.useViewportMatch)("medium"),o=Object(f.useSelect)(e=>e(Rn).getSettings().hasFixedToolbar,[]);return Object(i.createElement)(Os,{__unstableContentRef:t},(o||!n)&&Object(i.createElement)(gu,{isFixed:!0}),Object(i.createElement)(ju,{__unstableContentRef:t}),Object(i.createElement)(p.Popover.Slot,{name:"block-toolbar",ref:fs(t)}),e)}var Rm=n("eGrx"),Am=n.n(Rm);const Mm=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g;var Dm=function(e,t){t=t||{};let n=1,o=1;function r(e){const t=e.match(/\n/g);t&&(n+=t.length);const r=e.lastIndexOf("\n");o=~r?e.length-r:o+e.length}function c(){const e={line:n,column:o};return function(t){return t.position=new l(e),m(),t}}function l(e){this.start=e,this.end={line:n,column:o},this.source=t.source}l.prototype.content=e;const i=[];function a(r){const c=new Error(t.source+":"+n+":"+o+": "+r);if(c.reason=r,c.filename=t.source,c.line=n,c.column=o,c.source=e,!t.silent)throw c;i.push(c)}function s(){return b(/^{\s*/)}function u(){return b(/^}/)}function d(){let t;const n=[];for(m(),p(n);e.length&&"}"!==e.charAt(0)&&(t=E()||C());)!1!==t&&(n.push(t),p(n));return n}function b(t){const n=t.exec(e);if(!n)return;const o=n[0];return r(o),e=e.slice(o.length),n}function m(){b(/^\s*/)}function p(e){let t;for(e=e||[];t=f();)!1!==t&&e.push(t);return e}function f(){const t=c();if("/"!==e.charAt(0)||"*"!==e.charAt(1))return;let n=2;for(;""!==e.charAt(n)&&("*"!==e.charAt(n)||"/"!==e.charAt(n+1));)++n;if(n+=2,""===e.charAt(n-1))return a("End of comment missing");const l=e.slice(2,n-2);return o+=2,r(l),e=e.slice(n),o+=2,t({type:"comment",comment:l})}function g(){const e=b(/^([^{]+)/);if(e)return Fm(e[0]).replace(/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*\/+/g,"").replace(/"(?:\\"|[^"])*"|'(?:\\'|[^'])*'/g,(function(e){return e.replace(/,/g,"‌")})).split(/\s*(?![^(]*\)),\s*/).map((function(e){return e.replace(/\u200C/g,",")}))}function h(){const e=c();let t=b(/^(\*?[-#\/\*\\\w]+(\[[0-9a-z_-]+\])?)\s*/);if(!t)return;if(t=Fm(t[0]),!b(/^:\s*/))return a("property missing ':'");const n=b(/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^\)]*?\)|[^};])+)/),o=e({type:"declaration",property:t.replace(Mm,""),value:n?Fm(n[0]).replace(Mm,""):""});return b(/^[;\s]*/),o}function O(){const e=[];if(!s())return a("missing '{'");let t;for(p(e);t=h();)!1!==t&&(e.push(t),p(e));return u()?e:a("missing '}'")}function v(){let e;const t=[],n=c();for(;e=b(/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/);)t.push(e[1]),b(/^,\s*/);if(t.length)return n({type:"keyframe",values:t,declarations:O()})}const j=y("import"),k=y("charset"),_=y("namespace");function y(e){const t=new RegExp("^@"+e+"\\s*([^;]+);");return function(){const n=c(),o=b(t);if(!o)return;const r={type:e};return r[e]=o[1].trim(),n(r)}}function E(){if("@"===e[0])return function(){const e=c();let t=b(/^@([-\w]+)?keyframes\s*/);if(!t)return;const n=t[1];if(t=b(/^([-\w]+)\s*/),!t)return a("@keyframes missing name");const o=t[1];if(!s())return a("@keyframes missing '{'");let r,l=p();for(;r=v();)l.push(r),l=l.concat(p());return u()?e({type:"keyframes",name:o,vendor:n,keyframes:l}):a("@keyframes missing '}'")}()||function(){const e=c(),t=b(/^@media *([^{]+)/);if(!t)return;const n=Fm(t[1]);if(!s())return a("@media missing '{'");const o=p().concat(d());return u()?e({type:"media",media:n,rules:o}):a("@media missing '}'")}()||function(){const e=c(),t=b(/^@custom-media\s+(--[^\s]+)\s*([^{;]+);/);if(t)return e({type:"custom-media",name:Fm(t[1]),media:Fm(t[2])})}()||function(){const e=c(),t=b(/^@supports *([^{]+)/);if(!t)return;const n=Fm(t[1]);if(!s())return a("@supports missing '{'");const o=p().concat(d());return u()?e({type:"supports",supports:n,rules:o}):a("@supports missing '}'")}()||j()||k()||_()||function(){const e=c(),t=b(/^@([-\w]+)?document *([^{]+)/);if(!t)return;const n=Fm(t[1]),o=Fm(t[2]);if(!s())return a("@document missing '{'");const r=p().concat(d());return u()?e({type:"document",document:o,vendor:n,rules:r}):a("@document missing '}'")}()||function(){const e=c();if(!b(/^@page */))return;const t=g()||[];if(!s())return a("@page missing '{'");let n,o=p();for(;n=h();)o.push(n),o=o.concat(p());return u()?e({type:"page",selectors:t,declarations:o}):a("@page missing '}'")}()||function(){const e=c();if(!b(/^@host\s*/))return;if(!s())return a("@host missing '{'");const t=p().concat(d());return u()?e({type:"host",rules:t}):a("@host missing '}'")}()||function(){const e=c();if(!b(/^@font-face\s*/))return;if(!s())return a("@font-face missing '{'");let t,n=p();for(;t=h();)n.push(t),n=n.concat(p());return u()?e({type:"font-face",declarations:n}):a("@font-face missing '}'")}()}function C(){const e=c(),t=g();return t?(p(),e({type:"rule",selectors:t,declarations:O()})):a("selector missing")}return function e(t,n){const o=t&&"string"==typeof t.type,r=o?t:n;for(const n in t){const o=t[n];Array.isArray(o)?o.forEach((function(t){e(t,r)})):o&&"object"==typeof o&&e(o,r)}o&&Object.defineProperty(t,"parent",{configurable:!0,writable:!0,enumerable:!1,value:n||null});return t}(function(){const e=d();return{type:"stylesheet",stylesheet:{source:t.source,rules:e,parsingErrors:i}}}())};function Fm(e){return e?e.replace(/^\s+|\s+$/g,""):""}var Vm=n("P7XM"),Hm=n.n(Vm),zm=Gm;function Gm(e){this.options=e||{}}Gm.prototype.emit=function(e){return e},Gm.prototype.visit=function(e){return this[e.type](e)},Gm.prototype.mapVisit=function(e,t){let n="";t=t||"";for(let o=0,r=e.length;ot=>{if("declaration"===t.type){const c=function(e){const t=/url\((\s*)(['"]?)(.+?)\2(\s*)\)/g;let n;const o=[];for(;null!==(n=t.exec(e));){const e={source:n[0],before:n[1],quote:n[2],value:n[3],after:n[4]};Ym(e)&&o.push(e)}return o}(t.value).map((r=e,e=>({...e,newUrl:"url("+e.before+e.quote+Xm(e.value,r)+e.quote+e.after+")"})));return{...t,value:(n=t.value,o=c,o.forEach(e=>{n=n.replace(e.source,e.newUrl)}),n)}}var n,o,r;return t};const Zm=/^(body|html|:root).*$/;var Jm=(e,t=[])=>n=>{const o=n=>t.includes(n.trim())?n:n.match(Zm)?n.replace(/^(body|html|:root)/,e):e+" "+n;return"rule"===n.type?{...n,selectors:n.selectors.map(o)}:n};var ep=(e,t="")=>Object(u.map)(e,({css:e,baseURL:n,__experimentalNoWrapper:o=!1})=>{const r=[];return t&&!o&&r.push(Jm(t)),n&&r.push(Qm(n)),r.length?$m(e,Object(d.compose)(r)):e});function tp(e){return Object(i.useCallback)(e=>{if(!e)return;const{ownerDocument:t}=e,{defaultView:n,body:o}=t,r=t.querySelector(".editor-styles-wrapper");let c;if(r)c=n.getComputedStyle(r,null).getPropertyValue("background-color");else{const e=t.createElement("div");e.classList.add("editor-styles-wrapper"),o.appendChild(e),c=n.getComputedStyle(e,null).getPropertyValue("background-color"),o.removeChild(e)}xo()(c).getLuminance()>.5||0===xo()(c).getAlpha()?o.classList.remove("is-dark-theme"):o.classList.add("is-dark-theme")},[e])}function np({styles:e}){const t=Object(i.useMemo)(()=>ep(e,".editor-styles-wrapper"),[e]);return Object(i.createElement)(i.Fragment,null,Object(i.createElement)("style",{ref:tp(e)}),t.map((e,t)=>Object(i.createElement)("style",{key:t},e)))}var op=function({rootClientId:e,clientId:t,isAppender:n,showInserterHelpPanel:o,showMostUsedBlocks:r=!1,__experimentalInsertionIndex:c,onSelect:l=u.noop,shouldFocusBlock:a=!1}){const s=Object(f.useSelect)(n=>{const{getBlockRootClientId:o}=n(Rn);return e||o(t)||void 0},[t,e]);return Object(i.createElement)(es,{onSelect:l,rootClientId:s,clientId:t,isAppender:n,showInserterHelpPanel:o,showMostUsedBlocks:r,__experimentalInsertionIndex:c,shouldFocusBlock:a})};function rp(){const{clientIds:e,rootClientId:t}=Object(f.useSelect)(e=>{const{getSelectedBlockClientIds:t,getBlockRootClientId:n}=e(Rn),o=t(),[r]=o;return{clientIds:o,rootClientId:n(r)}},[]),{duplicateBlocks:n,removeBlocks:o,insertAfterBlock:r,insertBeforeBlock:c,clearSelectedBlock:l,moveBlocksUp:a,moveBlocksDown:s}=Object(f.useDispatch)(Rn);return Object(_s.useShortcut)("core/block-editor/move-up",Object(i.useCallback)(n=>{n.preventDefault(),a(e,t)},[e,a]),{bindGlobal:!0,isDisabled:0===e.length}),Object(_s.useShortcut)("core/block-editor/move-down",Object(i.useCallback)(n=>{n.preventDefault(),s(e,t)},[e,s]),{bindGlobal:!0,isDisabled:0===e.length}),Object(_s.useShortcut)("core/block-editor/duplicate",Object(i.useCallback)(t=>{t.preventDefault(),n(e)},[e,n]),{bindGlobal:!0,isDisabled:0===e.length}),Object(_s.useShortcut)("core/block-editor/remove",Object(i.useCallback)(t=>{t.preventDefault(),o(e)},[e,o]),{bindGlobal:!0,isDisabled:0===e.length}),Object(_s.useShortcut)("core/block-editor/insert-after",Object(i.useCallback)(t=>{t.preventDefault(),r(Object(u.last)(e))},[e,r]),{bindGlobal:!0,isDisabled:0===e.length}),Object(_s.useShortcut)("core/block-editor/insert-before",Object(i.useCallback)(t=>{t.preventDefault(),c(Object(u.first)(e))},[e,c]),{bindGlobal:!0,isDisabled:0===e.length}),Object(_s.useShortcut)("core/block-editor/delete-multi-selection",Object(i.useCallback)(t=>{t.preventDefault(),o(e)},[e,o]),{isDisabled:e.length<2}),Object(_s.useShortcut)("core/block-editor/unselect",Object(i.useCallback)(e=>{e.preventDefault(),l(),e.target.ownerDocument.defaultView.getSelection().removeAllRanges()},[e,l]),{isDisabled:e.length<2}),null}rp.Register=function(){const{registerShortcut:e}=Object(f.useDispatch)(_s.store);return Object(i.useEffect)(()=>{e({name:"core/block-editor/duplicate",category:"block",description:Object(v.__)("Duplicate the selected block(s)."),keyCombination:{modifier:"primaryShift",character:"d"}}),e({name:"core/block-editor/remove",category:"block",description:Object(v.__)("Remove the selected block(s)."),keyCombination:{modifier:"access",character:"z"}}),e({name:"core/block-editor/insert-before",category:"block",description:Object(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:Object(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:Object(v.__)("Remove multiple selected blocks."),keyCombination:{character:"del"},aliases:[{character:"backspace"}]}),e({name:"core/block-editor/select-all",category:"selection",description:Object(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:Object(v.__)("Clear selection."),keyCombination:{character:"escape"}}),e({name:"core/block-editor/focus-toolbar",category:"global",description:Object(v.__)("Navigate to the nearest toolbar."),keyCombination:{modifier:"alt",character:"F10"}}),e({name:"core/block-editor/move-up",category:"block",description:Object(v.__)("Move the selected block(s) up."),keyCombination:{modifier:"secondary",character:"t"}}),e({name:"core/block-editor/move-down",category:"block",description:Object(v.__)("Move the selected block(s) down."),keyCombination:{modifier:"secondary",character:"y"}})},[e]),null};var cp=rp;function lp(){return wt()("wp.blockEditor.MultiSelectScrollIntoView",{hint:"This behaviour is now built-in."}),null}const ip=new Set([Kr.UP,Kr.RIGHT,Kr.DOWN,Kr.LEFT,Kr.ENTER,Kr.BACKSPACE]);function ap(){const e=Object(f.useSelect)(e=>e(Rn).isTyping()),{stopTyping:t}=Object(f.useDispatch)(Rn);return Object(d.useRefEffect)(n=>{if(!e)return;const{ownerDocument:o}=n;let r,c;function l(e){const{clientX:n,clientY:o}=e;r&&c&&(r!==n||c!==o)&&t(),r=n,c=o}return o.addEventListener("mousemove",l),()=>{o.removeEventListener("mousemove",l)}},[e,t])}function sp(){const e=Object(f.useSelect)(e=>e(Rn).isTyping()),{startTyping:t,stopTyping:n}=Object(f.useDispatch)(Rn),o=ap(),r=Object(d.useRefEffect)(o=>{const{ownerDocument:r}=o,{defaultView:c}=r;if(e){let e;function l(t){const{target:o}=t;e=c.setTimeout(()=>{Object(ui.isTextField)(o)||n()})}function i(e){const{keyCode:t}=e;t!==Kr.ESCAPE&&t!==Kr.TAB||n()}function a(){const e=c.getSelection();e.rangeCount>0&&e.getRangeAt(0).collapsed||n()}return o.addEventListener("focus",l),o.addEventListener("keydown",i),r.addEventListener("selectionchange",a),()=>{c.clearTimeout(e),o.removeEventListener("focus",l),o.removeEventListener("keydown",i),r.removeEventListener("selectionchange",a)}}function s(e){const{type:n,target:r}=e;Object(ui.isTextField)(r)&&o.contains(r)&&("keydown"!==n||function(e){const{keyCode:t,shiftKey:n}=e;return!n&&ip.has(t)}(e))&&t()}return o.addEventListener("keypress",s),o.addEventListener("keydown",s),()=>{o.removeEventListener("keypress",s),o.removeEventListener("keydown",s)}},[e,t,n]);return Object(d.useMergeRefs)([o,r])}var up=function({children:e}){return Object(i.createElement)("div",{ref:sp()},e)};function dp(){return wt()("PreserveScrollInReorder component",{since:"5.4",hint:"This behavior is now built-in the block list"}),null}const bp=-1!==window.navigator.userAgent.indexOf("Trident"),mp=new Set([Kr.UP,Kr.DOWN,Kr.LEFT,Kr.RIGHT]);function pp(){const e=Object(f.useSelect)(e=>e(Rn).hasSelectedBlock());return Object(d.useRefEffect)(t=>{if(!e)return;const{ownerDocument:n}=t,{defaultView:o}=n;let r,c,l;function i(){r||(r=o.requestAnimationFrame(()=>{b(),r=null}))}function a(e){c&&o.cancelAnimationFrame(c),c=o.requestAnimationFrame(()=>{s(e),c=null})}function s({keyCode:e}){if(!m())return;const r=Object(ui.computeCaretRect)(o);if(!r)return;if(!l)return void(l=r);if(mp.has(e))return void(l=r);const c=r.top-l.top;if(0===c)return;const i=Object(ui.getScrollContainer)(t);if(!i)return;const a=i===n.body,s=a?o.scrollY:i.scrollTop,u=a?0:i.getBoundingClientRect().top,d=a?l.top/o.innerHeight:(l.top-u)/(o.innerHeight-u);if(0===s&&d<.75&&function(){const e=t.querySelectorAll('[contenteditable="true"]');return e[e.length-1]===n.activeElement}())return void(l=r);const b=a?o.innerHeight:i.clientHeight;l.top+l.height>u+b||l.top{o.removeEventListener("scroll",i,!0),o.removeEventListener("resize",i,!0),t.removeEventListener("keydown",a),t.removeEventListener("keyup",s),t.removeEventListener("mousedown",u),t.removeEventListener("touchstart",u),n.removeEventListener("selectionchange",d),o.cancelAnimationFrame(r),o.cancelAnimationFrame(c)}},[e])}var fp=bp?e=>e.children:function({children:e}){return Object(i.createElement)("div",{ref:pp(),className:"block-editor__typewriter"},e)};function gp(e,t){const n="start"===t?"firstChild":"lastChild",o="start"===t?"nextSibling":"previousSibling";for(;e[n];)for(e=e[n];e.nodeType===e.TEXT_NODE&&/^[ \t\n]*$/.test(e.data)&&e[o];)e=e[o];return e}function hp(e){const{isMultiSelecting:t,getMultiSelectedBlockClientIds:n,hasMultiSelection:o,getSelectedBlockClientId:r}=e(Rn);return{isMultiSelecting:t(),multiSelectedBlockClientIds:n(),hasMultiSelection:o(),selectedBlockClientId:r()}}function Op(){const e=Object(i.useRef)(),{isMultiSelecting:t,multiSelectedBlockClientIds:n,hasMultiSelection:o,selectedBlockClientId:r}=Object(f.useSelect)(hp,[]),{selectBlock:c}=Object(f.useDispatch)(Rn),l=jr(r),a=jr(Object(u.first)(n)),s=jr(Object(u.last)(n));return Object(i.useEffect)(()=>{const{ownerDocument:c}=e.current,{defaultView:i}=c;if(!o||t){if(!r||t)return;const e=i.getSelection();if(e.rangeCount&&!e.isCollapsed){const t=l.current,{startContainer:n,endContainer:o}=e.getRangeAt(0);!t||t.contains(n)&&t.contains(o)||e.removeAllRanges()}return}const{length:u}=n;if(u<2)return;e.current.focus();const d=i.getSelection(),b=c.createRange(),m=gp(a.current,"start"),p=gp(s.current,"end");var f,g;f=e.current,g=!1,Array.from(f.querySelectorAll(".rich-text")).forEach(e=>{g?e.setAttribute("contenteditable",!0):e.removeAttribute("contenteditable")}),b.setStartBefore(m),b.setEndAfter(p),d.removeAllRanges(),d.addRange(b)},[o,t,n,c,r]),e}function vp(e){const{tagName:t}=e;return"INPUT"===t||"BUTTON"===t||"SELECT"===t||"TEXTAREA"===t}function jp(e,t,n,o){let r,c=ui.focus.focusable.find(n);return t&&(c=Object(u.reverse)(c)),c=c.slice(c.indexOf(e)+1),o&&(r=e.getBoundingClientRect()),Object(u.find)(c,(function(e){if(!ui.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 kp(){const{getSelectedBlockClientId:e,getMultiSelectedBlocksStartClientId:t,getMultiSelectedBlocksEndClientId:n,getPreviousBlockClientId:o,getNextBlockClientId:r,getFirstMultiSelectedBlockClientId:c,getLastMultiSelectedBlockClientId:l,getSettings:i,hasMultiSelection:a}=Object(f.useSelect)(Rn),{multiSelect:s,selectBlock:u}=Object(f.useDispatch)(Rn);return Object(d.useRefEffect)(d=>{let b;function m(){b=null}function p(c){const l=e(),i=t(),a=n(),d=o(a||l),b=r(a||l),m=c?d:b;m&&(i===m?u(m):s(i||l,m))}function f(e){const t=c(),n=l(),o=e?t:n;o&&u(o)}function g(e,t){const n=jp(e,t,d);return!(n&&(o=e,r=n,o.closest(zi)===r.closest(zi)));var o,r}function h(t){const{keyCode:c,target:l}=t,s=c===Kr.UP,u=c===Kr.DOWN,m=c===Kr.LEFT,h=c===Kr.RIGHT,O=s||m,v=m||h,j=s||u,k=v||j,_=t.shiftKey,y=_||t.ctrlKey||t.altKey||t.metaKey,E=j?ui.isVerticalEdge:ui.isHorizontalEdge,{ownerDocument:C}=d,{defaultView:S}=C;if(a()){if(k){(_?p:f)(O),t.preventDefault()}return}if(j?b||(b=Object(ui.computeCaretRect)(S)):b=null,t.defaultPrevented)return;if(!k)return;if(!function(e,t,n){if((t===Kr.UP||t===Kr.DOWN)&&!n)return!0;const{tagName:o}=e;return"INPUT"!==o&&"TEXTAREA"!==o}(l,c,y))return;const w=Object(ui.isRTL)(l)?!O:O,{keepCaretInsideBlock:B}=i(),I=e();if(_){const e=n(),c=o(e||I),i=r(e||I);(O&&c||!O&&i)&&g(l,O)&&E(l,O)&&(p(O),t.preventDefault())}else if(j&&Object(ui.isVerticalEdge)(l,O)&&!B){const e=jp(l,O,d,!0);e&&(Object(ui.placeCaretAtVerticalEdge)(e,O,b),t.preventDefault())}else if(v&&S.getSelection().isCollapsed&&Object(ui.isHorizontalEdge)(l,w)&&!B){const e=jp(l,w,d);Object(ui.placeCaretAtHorizontalEdge)(e,O),t.preventDefault()}}return d.addEventListener("mousedown",m),d.addEventListener("keydown",h),()=>{d.removeEventListener("mousedown",m),d.removeEventListener("keydown",h)}},[])}function _p(){const{getBlockOrder:e,getSelectedBlockClientIds:t,getBlockRootClientId:n}=Object(f.useSelect)(Rn),{multiSelect:o}=Object(f.useDispatch)(Rn),r=Object(_s.__unstableUseShortcutEventMatch)();return Object(d.useRefEffect)(c=>{function l(c){if(!r("core/block-editor/select-all",c))return;if(!Object(ui.isEntirelySelected)(c.target))return;const l=t(),[i]=l,a=n(i);let s=e(a);l.length===s.length&&(s=e(n(a)));const d=Object(u.first)(s),b=Object(u.last)(s);d!==b&&(o(d,b),c.preventDefault())}return c.addEventListener("keydown",l),()=>{c.removeEventListener("keydown",l)}})}var yp=Object(i.forwardRef)((function({children:e,...t},n){const[o,r,c]=function(){const e=Object(i.useRef)(),t=Object(i.useRef)(),n=Object(i.useRef)(),o=Object(i.useRef)(),{hasMultiSelection:r,getSelectedBlockClientId:c}=Object(f.useSelect)(Rn),{setNavigationMode:l}=Object(f.useDispatch)(Rn),a=Object(f.useSelect)(e=>e(Rn).isNavigationMode(),[])?void 0:"0",s=Object(i.useRef)();function u(t){if(s.current)s.current=null;else if(r())e.current.focus();else if(c())o.current.focus();else{l(!0);const n=t.target.compareDocumentPosition(e.current)&t.target.DOCUMENT_POSITION_FOLLOWING?"findNext":"findPrevious";ui.focus.tabbable[n](t.target).focus()}}const b=Object(i.createElement)("div",{ref:t,tabIndex:a,onFocus:u}),m=Object(i.createElement)("div",{ref:n,tabIndex:a,onFocus:u}),p=Object(d.useRefEffect)(i=>{function a(e){if(e.keyCode===Kr.ESCAPE&&!r())return e.stopPropagation(),e.preventDefault(),void l(!0);if(e.keyCode!==Kr.TAB)return;const o=e.shiftKey,a=o?"findPrevious":"findNext";if(!r()&&!c())return void(e.target===i&&l(!0));if(vp(e.target)&&vp(ui.focus.tabbable[a](e.target)))return;const u=o?t:n;s.current=!0,u.current.focus({preventScroll:!0})}function u(e){o.current=e.target}function d(o){var r;if(o.keyCode!==Kr.TAB)return;if("region"===(null===(r=o.target)||void 0===r?void 0:r.getAttribute("role")))return;if(e.current===o.target)return;const c=o.shiftKey?"findPrevious":"findNext",l=ui.focus.tabbable[c](o.target);l!==t.current&&l!==n.current||(o.preventDefault(),l.focus({preventScroll:!0}))}return i.ownerDocument.defaultView.addEventListener("keydown",d),i.addEventListener("keydown",a),i.addEventListener("focusout",u),()=>{i.ownerDocument.defaultView.removeEventListener("keydown",d),i.removeEventListener("keydown",a),i.removeEventListener("focusout",u)}},[]);return[b,Object(d.useMergeRefs)([e,p]),m]}(),a=Object(f.useSelect)(e=>e(Rn).hasMultiSelection(),[]);return Object(i.createElement)(i.Fragment,null,o,Object(i.createElement)("div",Object(l.a)({},t,{ref:Object(d.useMergeRefs)([n,r,Op(),_p(),kp()]),className:s()(t.className,"block-editor-writing-flow"),tabIndex:-1,"aria-label":a?Object(v.__)("Multiple selected blocks"):void 0}),e),c)}));const Ep=Object(u.overEvery)([ui.isTextField,ui.focus.tabbable.isTabbableIndex]);function Cp(){return Object(d.useRefEffect)(e=>{function t(t){if(t.target!==e)return;const n=ui.focus.focusable.find(e),o=Object(u.findLast)(n,Ep);if(!o)return;const{bottom:r}=o.getBoundingClientRect();t.clientY{e.addEventListener("mousedown",t)}},[])}function Sp(e){e.dir=document.dir,e.body.className="editor-styles-wrapper";for(const t of document.body.classList)t.startsWith("admin-color-")?e.body.classList.add(t):"wp-embed-responsive"===t&&e.body.classList.add("wp-embed-responsive")}function wp(e){return Object(i.useMemo)(()=>{const t=document.implementation.createHTMLDocument("");return t.body.innerHTML=e,Array.from(t.body.children)},[e])}var Bp=Object(i.forwardRef)((function({contentRef:e,children:t,head:n,...o},r){const[,c]=Object(i.useReducer)(()=>({})),[a,s]=Object(i.useState)(),u=wp(window.__editorAssets.styles),b=wp(window.__editorAssets.scripts),m=_u(),f=Object(i.useCallback)(t=>{function n(){const{contentDocument:n}=t,{readyState:o,body:r,documentElement:l}=n;return("interactive"===o||"complete"===o)&&("function"==typeof e?e(r):e&&(e.current=r),Sp(n),function(e){const{defaultView:t}=e,{frameElement:n}=t;function o(e){const o=Object.getPrototypeOf(e).constructor.name,r=window[o],c={};for(const t in e)c[t]=e[t];if(e instanceof t.MouseEvent){const e=n.getBoundingClientRect();c.clientX+=e.left,c.clientY+=e.top}const l=new r(e.type,c);!n.dispatchEvent(l)&&e.preventDefault()}const r=["keydown","keypress","dragover"];for(const t of r)e.addEventListener(t,o)}(n),Sp(n),s(n),m(l),m(r),b.reduce((e,t)=>e.then(()=>async function(e,{id:t,src:n}){return new Promise((o,r)=>{const c=e.createElement("script");c.id=t,n?(c.src=n,c.onload=()=>o(),c.onerror=()=>r()):o(),e.head.appendChild(c)})}(n,t)),Promise.resolve()).finally(()=>{c()}),!0)}t&&(n()||t.addEventListener("load",()=>{n()}))},[]);return Object(i.useEffect)(()=>{var e;a&&(e=a,Array.from(document.styleSheets).forEach(t=>{try{t.cssRules}catch(e){return}const{ownerNode:n,cssRules:o}=t;if(o&&"LINK"===n.tagName&&"wp-reset-editor-styles-css"!==n.id&&Array.from(o).find(({selectorText:e})=>e&&(e.includes(".editor-styles-wrapper")||e.includes(".wp-block")))&&!e.getElementById(n.id)){console.error(`Stylesheet ${n.id} was not properly added.\nFor blocks, use the block API's style (https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#style) or editorStyle (https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#editor-style).\nFor themes, use add_editor_style (https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-support/#editor-styles).`,n.outerHTML),e.head.appendChild(n.cloneNode(!0));const t=n.id.replace("-css","-inline-css"),o=document.getElementById(t);o&&e.head.appendChild(o.cloneNode(!0))}}))},[a]),n=Object(i.createElement)(i.Fragment,null,Object(i.createElement)("style",null,"body{margin:0}"),u.map(({tagName:e,href:t,id:n,rel:o,media:r,textContent:c})=>{const l=e.toLowerCase();return"style"===l?Object(i.createElement)(l,{id:n,key:n},c):Object(i.createElement)(l,{href:t,id:n,rel:o,media:r,key:n})}),n),Object(i.createElement)("iframe",Object(l.a)({},o,{ref:Object(d.useMergeRefs)([r,f]),tabIndex:"0",title:Object(v.__)("Editor canvas"),name:"editor-canvas"}),a&&Object(i.createPortal)(Object(i.createElement)(p.__experimentalStyleProvider,{document:a},t),a.body),a&&Object(i.createPortal)(n,a.head))}));const Ip=Object(i.createContext)({});function xp(e,t=""){var n;const o=Object(i.useContext)(Ip),{name:r}=O();t=t||r;const c=Boolean(null===(n=o[t])||void 0===n?void 0:n.has(e)),l=Object(i.useMemo)(()=>function(e,t,n){const o={...e,[t]:e[t]?new Set(e[t]):new Set};return o[t].add(n),o}(o,t,e),[o,t,e]);return[c,Object(i.useCallback)(({children:e})=>Object(i.createElement)(Ip.Provider,{value:l},e),[l])]}function Tp(e){if(void 0===e)e=k.colors;else{const t=e.filter(e=>e.color);0===t.length?e=k.colors:t.lengthe.gradient);0===t.length?e=k.gradients:t.length0?!0===l?o.scrollTop(t,v.top+j.top):!1===l?o.scrollTop(t,v.top+k.top):j.top<0?o.scrollTop(t,v.top+j.top):o.scrollTop(t,v.top+k.top):c||((l=void 0===l||!!l)?o.scrollTop(t,v.top+j.top):o.scrollTop(t,v.top+k.top)),r&&(j.left<0||k.left>0?!0===i?o.scrollLeft(t,v.left+j.left):!1===i?o.scrollLeft(t,v.left+k.left):j.left<0?o.scrollLeft(t,v.left+j.left):o.scrollLeft(t,v.left+k.left):c||((i=void 0===i||!!i)?o.scrollLeft(t,v.left+j.left):o.scrollLeft(t,v.left+k.left)))}}}); \ No newline at end of file +*/!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var e=[],t=0;t{const{ownerDocument:a}=l,{defaultView:s}=a;if(!n||e){if(!o||e)return;const t=s.getSelection();if(t.rangeCount&&!t.isCollapsed){const e=r.current,{startContainer:n,endContainer:o}=t.getRangeAt(0);!e||e.contains(n)&&e.contains(o)||t.removeAllRanges()}return}const{length:u}=t;if(u<2)return;if(!c.current||!i.current)return;l.focus();const d=s.getSelection(),b=a.createRange(),m=p(c.current,"start"),f=p(i.current,"end");var h,g;h=l,g=!1,Array.from(h.querySelectorAll(".rich-text")).forEach(e=>{g?e.setAttribute("contenteditable",!0):e.removeAttribute("contenteditable")}),b.setStartBefore(m),b.setEndAfter(f),d.removeAllRanges(),d.addRange(b)},[n,e,t,o])}var h=n("1CF3"),g=n("RxS6");function O(e){const{tagName:t}=e;return"INPUT"===t||"BUTTON"===t||"SELECT"===t||"TEXTAREA"===t}var v=n("OL6h");function j(e,t,n,o){let r,c=h.focus.focusable.find(n);return t&&(c=Object(u.reverse)(c)),c=c.slice(c.indexOf(e)+1),o&&(r=e.getBoundingClientRect()),Object(u.find)(c,(function(e){if(!h.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 k(){const{getSelectedBlockClientId:e,getMultiSelectedBlocksStartClientId:t,getMultiSelectedBlocksEndClientId:n,getPreviousBlockClientId:o,getNextBlockClientId:r,getFirstMultiSelectedBlockClientId:c,getLastMultiSelectedBlockClientId:i,getSettings:a,hasMultiSelection:u}=Object(l.useSelect)(d.a),{multiSelect:b,selectBlock:p}=Object(l.useDispatch)(d.a);return Object(s.useRefEffect)(l=>{let s;function d(){s=null}function m(c){const i=e(),l=t(),a=n(),s=o(a||i),u=r(a||i),d=c?s:u;d&&(l===d?p(d):b(l||i,d))}function f(e){const t=c(),n=i(),o=e?t:n;o&&p(o)}function O(t){const{keyCode:c,target:i}=t,d=c===g.UP,b=c===g.DOWN,p=c===g.LEFT,O=c===g.RIGHT,k=d||p,_=p||O,y=d||b,E=_||y,C=t.shiftKey,S=C||t.ctrlKey||t.altKey||t.metaKey,w=y?h.isVerticalEdge:h.isHorizontalEdge,{ownerDocument:B}=l,{defaultView:I}=B;if(u()){if(E){(C?m:f)(k),t.preventDefault()}return}if(y?s||(s=Object(h.computeCaretRect)(I)):s=null,t.defaultPrevented)return;if(!E)return;if(!function(e,t,n){if((t===g.UP||t===g.DOWN)&&!n)return!0;const{tagName:o}=e;return"INPUT"!==o&&"TEXTAREA"!==o}(i,c,S))return;const x=Object(h.isRTL)(i)?!k:k,{keepCaretInsideBlock:T}=a(),P=e();if(C){const e=n(),c=o(e||P),a=r(e||P);(k&&c||!k&&a)&&function(e,t){const n=j(e,t,l);return!n||!Object(v.b)(e,n)}(i,k)&&w(i,k)&&(m(k),t.preventDefault())}else if(y&&Object(h.isVerticalEdge)(i,k)&&!T){const e=j(i,k,l,!0);e&&(Object(h.placeCaretAtVerticalEdge)(e,k,s),t.preventDefault())}else if(_&&I.getSelection().isCollapsed&&Object(h.isHorizontalEdge)(i,x)&&!T){const e=j(i,x,l);Object(h.placeCaretAtHorizontalEdge)(e,k),t.preventDefault()}}return l.addEventListener("mousedown",d),l.addEventListener("keydown",O),()=>{l.removeEventListener("mousedown",d),l.removeEventListener("keydown",O)}},[])}var _=n("hF7m");function y(){const{getBlockOrder:e,getSelectedBlockClientIds:t,getBlockRootClientId:n}=Object(l.useSelect)(d.a),{multiSelect:o}=Object(l.useDispatch)(d.a),r=Object(_.__unstableUseShortcutEventMatch)();return Object(s.useRefEffect)(c=>{function i(c){if(!r("core/block-editor/select-all",c))return;if(!Object(h.isEntirelySelected)(c.target))return;const i=t(),[l]=i,a=n(l);let s=e(a);i.length===s.length&&(s=e(n(a)));const d=Object(u.first)(s),b=Object(u.last)(s);d!==b&&(o(d,b),c.preventDefault())}return c.addEventListener("keydown",i),()=>{c.removeEventListener("keydown",i)}},[])}function E(){const[e,t,n]=function(){const e=Object(r.useRef)(),t=Object(r.useRef)(),n=Object(r.useRef)(),o=Object(r.useRef)(),{hasMultiSelection:c,getSelectedBlockClientId:i,getBlockCount:a}=Object(l.useSelect)(d.a),{setNavigationMode:u}=Object(l.useDispatch)(d.a),b=Object(l.useSelect)(e=>e(d.a).isNavigationMode(),[])?void 0:"0",p=Object(r.useRef)();function m(t){if(p.current)p.current=null;else if(c())e.current.focus();else if(i())o.current.focus();else{u(!0);const n=t.target.compareDocumentPosition(e.current)&t.target.DOCUMENT_POSITION_FOLLOWING?"findNext":"findPrevious";h.focus.tabbable[n](t.target).focus()}}const f=Object(r.createElement)("div",{ref:t,tabIndex:b,onFocus:m}),v=Object(r.createElement)("div",{ref:n,tabIndex:b,onFocus:m}),j=Object(s.useRefEffect)(r=>{function l(e){if(e.defaultPrevented)return;if(e.keyCode===g.ESCAPE&&!c())return e.preventDefault(),void u(!0);if(e.keyCode!==g.TAB)return;const o=e.shiftKey,l=o?"findPrevious":"findNext";if(!c()&&!i())return void(e.target===r&&u(!0));if(O(e.target)&&O(h.focus.tabbable[l](e.target)))return;const a=o?t:n;p.current=!0,a.current.focus({preventScroll:!0})}function s(e){o.current=e.target;const{ownerDocument:t}=r;e.relatedTarget||t.activeElement!==t.body||0!==a()||r.focus()}function d(o){var r;if(o.keyCode!==g.TAB)return;if("region"===(null===(r=o.target)||void 0===r?void 0:r.getAttribute("role")))return;if(e.current===o.target)return;const c=o.shiftKey?"findPrevious":"findNext",i=h.focus.tabbable[c](o.target);i!==t.current&&i!==n.current||(o.preventDefault(),i.focus({preventScroll:!0}))}const{ownerDocument:b}=r,{defaultView:m}=b;return m.addEventListener("keydown",d),r.addEventListener("keydown",l),r.addEventListener("focusout",s),()=>{m.removeEventListener("keydown",d),r.removeEventListener("keydown",l),r.removeEventListener("focusout",s)}},[]);return[f,Object(s.useMergeRefs)([e,j]),v]}(),o=Object(l.useSelect)(e=>e(d.a).hasMultiSelection(),[]);return[e,Object(s.useMergeRefs)([t,f(),y(),k(),Object(s.useRefEffect)(e=>{if(e.tabIndex=-1,o)return e.setAttribute("aria-label",Object(a.__)("Multiple selected blocks")),()=>{e.removeAttribute("aria-label")}},[o])]),n]}t.a=Object(r.forwardRef)((function({children:e,...t},n){const[c,l,a]=E();return Object(r.createElement)(r.Fragment,null,c,Object(r.createElement)("div",Object(o.a)({},t,{ref:Object(s.useMergeRefs)([l,n]),className:i()(t.className,"block-editor-writing-flow")}),e),a)}))},Tqx9:function(e,t){e.exports=window.wp.primitives},U1WI:function(e,t,n){"use strict";var o=n("wx14"),r=n("GRId"),c=n("tI+e"),i=n("1eGn");t.a=function({clientIds:e,...t}){return Object(r.createElement)(c.ToolbarGroup,null,Object(r.createElement)(c.ToolbarItem,null,n=>Object(r.createElement)(i.a,Object(o.a)({clientIds:e,toggleProps:n},t))))}},VKE3:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z"}));t.a=c},VrEk:function(e,t,n){"use strict";var o=n("tI+e");const r={default:Object(o.createSlotFill)("InspectorControls"),advanced:Object(o.createSlotFill)("InspectorAdvancedControls"),dimensions:Object(o.createSlotFill)("InspectorControlsDimensions"),typography:Object(o.createSlotFill)("InspectorControlsTypography")};t.a=r},VyCT:function(e,t,n){"use strict";n.d(t,"b",(function(){return I})),n.d(t,"c",(function(){return T})),n.d(t,"a",(function(){return R}));var o=n("GRId"),r=n("TSYQ"),c=n.n(r),i=n("1ZqX"),l=n("K9lf"),a=n("jBNB"),s=n("YLtl"),u=n("HSyU"),d=n("5L8O"),b=n("I5Hl"),p=n("BhPs");var m=Object(i.withSelect)((e,{rootClientId:t})=>{const{getBlockOrder:n,canInsertBlockType:o,getTemplateLock:r,getSelectedBlockClientId:c}=e(p.a);return{isLocked:!!r(t),blockClientIds:n(t),canInsertDefaultBlock:o(Object(u.getDefaultBlockName)(),t),selectedBlockClientId:c()}})((function({blockClientIds:e,rootClientId:t,canInsertDefaultBlock:n,isLocked:r,renderAppender:i,className:l,selectedBlockClientId:a,tagName:u="div"}){if(r||!1===i)return null;let p;if(i)p=Object(o.createElement)(i,null);else{const r=!t,c=a===t,i=a&&!e.includes(a);if(!r&&!c&&(!a||i))return null;p=n?Object(o.createElement)(d.a,{rootClientId:t,lastBlockClientId:Object(s.last)(e)}):Object(o.createElement)(b.b,{rootClientId:t,className:"block-list-appender__toggle"})}return Object(o.createElement)(u,{tabIndex:-1,className:c()("block-list-appender wp-block",l),"data-block":!0},p)})),f=n("PS/H");function h(){const e=Object(o.useContext)(f.a),t=Object(i.useSelect)(e=>e(p.a).getSettings().hasReducedUI,[]),{getBlockListSettings:n,getBlockRootClientId:r,getBlockIndex:c,isBlockInsertionPointVisible:a,isMultiSelecting:s,getSelectedBlockClientIds:u,getTemplateLock:d}=Object(i.useSelect)(p.a),{showInsertionPoint:b,hideInsertionPoint:m}=Object(i.useDispatch)(p.a);return Object(l.useRefEffect)(o=>{if(!t)return o.addEventListener("mousemove",r),()=>{o.removeEventListener("mousemove",r)};function r(t){var o,r;if(e.current)return;if(s())return;if(!t.target.classList.contains("block-editor-block-list__layout"))return void(a()&&m());let i;if(!t.target.classList.contains("is-root-container")){i=(t.target.getAttribute("data-block")?t.target:t.target.closest("[data-block]")).getAttribute("data-block")}if(d(i))return;const l=(null===(o=n(i))||void 0===o?void 0:o.orientation)||"vertical",p=t.target.getBoundingClientRect(),f=t.clientY-p.top,h=t.clientX-p.left;let g=Array.from(t.target.children).find(e=>e.classList.contains("wp-block")&&"vertical"===l&&e.offsetTop>f||e.classList.contains("wp-block")&&"horizontal"===l&&e.offsetLeft>h);if(!g)return;if(!g.id&&(g=g.firstElementChild,!g))return;if(null===(r=g.parentElement)||void 0===r?void 0:r.closest(".block-editor-block-content-overlay.overlay-active"))return;const O=g.id.slice("block-".length);if(!O)return;if(u().includes(O))return;const v=g.getBoundingClientRect();if("horizontal"===l&&(t.clientY>v.bottom||t.clientYv.right||t.clientX{setTimeout(()=>e(Date.now()),0)}:window.requestIdleCallback||window.requestAnimationFrame,O="undefined"==typeof window?clearTimeout:window.cancelIdleCallback||window.cancelAnimationFrame;var v=n("w8sn"),j=n("tI+e"),k=n("NMb1"),_=n.n(k),y=n("xCFn");function E({children:e}){const t=Object(o.useContext)(f.a),n=Object(o.useContext)(j.Disabled.Context);return t||n?e:(_()('wp.components.Popover.Slot name="block-toolbar"',{alternative:"wp.blockEditor.BlockTools"}),Object(o.createElement)(f.b,{__unstablePopoverSlot:"block-toolbar"},Object(o.createElement)(y.a,{__unstablePopoverSlot:"block-toolbar"}),e))}var C=n("zQI6"),S=n("p3NJ"),w=n("ur0x");const B=Object(o.createContext)(),I=Object(o.createContext)();function x({className:e,...t}){const[n,r]=Object(o.useState)(),a=Object(l.useViewportMatch)("medium"),{isOutlineMode:s,isFocusMode:u,isNavigationMode:d}=Object(i.useSelect)(e=>{const{getSettings:t,isNavigationMode:n}=e(p.a),{outlineMode:o,focusMode:r}=t();return{isOutlineMode:o,isFocusMode:r,isNavigationMode:n()}},[]),b=Object(S.b)({ref:Object(l.useMergeRefs)([Object(C.b)(),h(),r]),className:c()("is-root-container",e,{"is-outline-mode":s,"is-focus-mode":u&&a,"is-navigate-mode":d})},t);return Object(o.createElement)(B.Provider,{value:n},Object(o.createElement)("div",b))}function T(e){return function(){const e=Object(i.useSelect)(e=>e(p.a).getSettings().__experimentalBlockPatterns,[]);Object(o.useEffect)(()=>{if(null==e||!e.length)return;let t,n=-1;const o=()=>{n++,n>=e.length||(Object(i.select)(p.a).__experimentalGetParsedPattern(e[n].name),t=g(o))};return t=g(o),()=>O(t)},[e])}(),Object(o.createElement)(E,null,Object(o.createElement)(w.a,{value:w.b},Object(o.createElement)(x,e)))}function P({placeholder:e,rootClientId:t,renderAppender:n,__experimentalAppenderTagName:r,__experimentalLayout:c=v.c}){const[l,s]=Object(o.useState)(new Set),u=Object(o.useMemo)(()=>{const{IntersectionObserver:e}=window;if(e)return new e(e=>{s(t=>{const n=new Set(t);for(const t of e){const e=t.target.getAttribute("data-block");n[t.isIntersecting?"add":"delete"](e)}return n})})},[s]),{order:d,selectedBlocks:b}=Object(i.useSelect)(e=>{const{getBlockOrder:n,getSelectedBlockClientIds:o}=e(p.a);return{order:n(t),selectedBlocks:o()}},[t]);return Object(o.createElement)(v.a,{value:c},Object(o.createElement)(I.Provider,{value:u},d.map(e=>Object(o.createElement)(i.AsyncModeProvider,{key:e,value:!l.has(e)&&!b.includes(e)},Object(o.createElement)(a.b,{rootClientId:t,clientId:e})))),d.length<1&&e,Object(o.createElement)(m,{tagName:r,rootClientId:t,renderAppender:n}))}function R(e){return Object(o.createElement)(i.AsyncModeProvider,{value:!1},Object(o.createElement)(P,e))}T.__unstableElementContext=B},WbBG:function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},Wg7J:function(e,t,n){"use strict";var o=n("GRId"),r=n("YLtl"),c=n("l3Sj"),i=n("tI+e"),l=n("K9lf"),a=n("gdqT"),s=n("6ZVF"),u=n("Fmc1"),d=n("mlss"),b=n("mdLt"),p=n("LolH"),m=n("AORF"),f=n("nQUx"),h=n("+G0a"),g=n("pOGT"),O=n("wiT/");const v=[];t.a=function({filterValue:e,onSelect:t,onHover:n,rootClientId:j,clientId:k,isAppender:_,__experimentalInsertionIndex:y,maxBlockPatterns:E,maxBlockTypes:C,showBlockDirectory:S=!1,isDraggable:w=!0,shouldFocusBlock:B=!0}){const I=Object(l.useDebounce)(a.speak,500),[x,T]=Object(m.a)({onSelect:t,rootClientId:j,clientId:k,isAppender:_,insertionIndex:y,shouldFocusBlock:B}),[P,R,N,L]=Object(h.a)(x,T),[M,,A]=Object(f.a)(T,x),D=Object(o.useMemo)(()=>{const t=Object(g.a)(Object(r.orderBy)(P,["frecency"],["desc"]),R,N,e);return void 0!==C?t.slice(0,C):t},[e,P,R,N,C]),F=Object(o.useMemo)(()=>{const t=Object(g.b)(M,e);return void 0!==E?t.slice(0,E):t},[e,M,E]);Object(o.useEffect)(()=>{if(!e)return;const t=D.length+F.length,n=Object(c.sprintf)(Object(c._n)("%d result found.","%d results found.",t),t);I(n)},[e,I]);const z=Object(l.useAsyncList)(D,{step:9}),H=Object(l.useAsyncList)(z.length===D.length?F:v),V=!Object(r.isEmpty)(D)||!Object(r.isEmpty)(F);return Object(o.createElement)(O.a,null,!S&&!V&&Object(o.createElement)(p.a,null),!!D.length&&Object(o.createElement)(b.a,{title:Object(o.createElement)(i.VisuallyHidden,null,Object(c.__)("Blocks"))},Object(o.createElement)(s.a,{items:z,onSelect:L,onHover:n,label:Object(c.__)("Blocks"),isDraggable:w})),!!D.length&&!!F.length&&Object(o.createElement)("div",{className:"block-editor-inserter__quick-inserter-separator"}),!!F.length&&Object(o.createElement)(b.a,{title:Object(o.createElement)(i.VisuallyHidden,null,Object(c.__)("Block Patterns"))},Object(o.createElement)("div",{className:"block-editor-inserter__quick-inserter-patterns"},Object(o.createElement)(u.a,{shownPatterns:H,blockPatterns:F,onClickPattern:A,isDraggable:w}))),S&&Object(o.createElement)(d.a.Slot,{fillProps:{onSelect:L,onHover:n,filterValue:e,hasItems:V,rootClientId:x}},e=>e.length?e:V?null:Object(o.createElement)(p.a,null)))}},Wy3j:function(e,t,n){"use strict";n.d(t,"a",(function(){return j}));var o=n("GRId"),r=n("tI+e"),c=n("l3Sj"),i=n("wx14");function l(e){return[...e].sort((t,n)=>e.filter(e=>e===n).length-e.filter(e=>e===t).length).shift()}function a(e={}){if("string"==typeof e)return e;const t=Object.values(e).map(e=>Object(r.__experimentalParseUnit)(e)),n=t.map(e=>e[0]),o=t.map(e=>e[1]),c=n.every(e=>e===n[0])?n[0]:"",i=l(o);return 0===c||c?`${c}${i}`:null}function s(e={}){const t=a(e);return isNaN(parseFloat(t))}function u(e){if(!e)return!1;if("string"==typeof e)return!0;return!!Object.values(e).filter(e=>!!e||0===e).length}function d({onChange:e,values:t,...n}){const l=a(t),d=u(t)&&s(t),b=d?Object(c.__)("Mixed"):null;return Object(o.createElement)(r.__experimentalUnitControl,Object(i.a)({},n,{"aria-label":Object(c.__)("Border radius"),disableUnits:d,isOnly:!0,value:l,onChange:e,placeholder:b}))}const b={topLeft:Object(c.__)("Top left"),topRight:Object(c.__)("Top right"),bottomLeft:Object(c.__)("Bottom left"),bottomRight:Object(c.__)("Bottom right")};function p({onChange:e,values:t,...n}){const c="string"!=typeof t?t:{topLeft:t,topRight:t,bottomLeft:t,bottomRight:t};return Object(o.createElement)("div",{className:"components-border-radius-control__input-controls-wrapper"},Object.entries(b).map(([t,l])=>{return Object(o.createElement)(r.__experimentalUnitControl,Object(i.a)({},n,{key:t,"aria-label":l,value:c[t],onChange:(a=t,t=>{e&&e({...c,[a]:t||void 0})})}));var a}))}var m=n("Bpkj"),f=n("Mp0b");function h({isLinked:e,...t}){const n=e?Object(c.__)("Unlink Radii"):Object(c.__)("Link Radii");return Object(o.createElement)(r.Tooltip,{text:n},Object(o.createElement)(r.Button,Object(i.a)({},t,{className:"component-border-radius-control__linked-button",isPrimary:e,isSecondary:!e,isSmall:!0,icon:e?m.a:f.a,iconSize:16,"aria-label":n})))}var g=n("v5LD");const O={topLeft:null,topRight:null,bottomLeft:null,bottomRight:null},v={px:100,em:20,rem:20};function j({onChange:e,values:t}){const[n,i]=Object(o.useState)(!u(t)||!s(t)),b=Object(r.__experimentalUseCustomUnits)({availableUnits:Object(g.a)("spacing.units")||["px","em","rem"]}),m=function(e={}){if("string"==typeof e){const[,t]=Object(r.__experimentalParseUnit)(e);return t||"px"}return l(Object.values(e).map(e=>{const[,t]=Object(r.__experimentalParseUnit)(e);return t}))||"px"}(t),f=b&&b.find(e=>e.value===m),j=(null==f?void 0:f.step)||1,[k]=Object(r.__experimentalParseUnit)(a(t));return Object(o.createElement)("fieldset",{className:"components-border-radius-control"},Object(o.createElement)("legend",null,Object(c.__)("Radius")),Object(o.createElement)("div",{className:"components-border-radius-control__wrapper"},n?Object(o.createElement)(o.Fragment,null,Object(o.createElement)(d,{className:"components-border-radius-control__unit-control",values:t,min:0,onChange:e,unit:m,units:b}),Object(o.createElement)(r.RangeControl,{className:"components-border-radius-control__range-control",value:k,min:0,max:v[m],initialPosition:0,withInputField:!1,onChange:t=>{e(void 0!==t?`${t}${m}`:void 0)},step:j})):Object(o.createElement)(p,{min:0,onChange:e,values:t||O,units:b}),Object(o.createElement)(h,{onClick:()=>i(!n),isLinked:n})))}},XNw2:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M5 4v11h14V4H5zm3 15.8h8v-1.5H8v1.5z"}));t.a=c},XgzB:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Object(o.createElement)(r.Path,{d:"M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z"}));t.a=c},Xkls:function(e,t,n){"use strict";var o=n("+DUQ"),r=n("GRId"),c=n("K9lf"),i=n("1CF3");const l=e=>e+1,a=e=>({top:e.offsetTop,left:e.offsetLeft});t.a=function({isSelected:e,adjustScrolling:t,enableAnimation:n,triggerAnimationOnChange:s}){const u=Object(r.useRef)(),d=Object(c.useReducedMotion)()||!n,[b,p]=Object(r.useReducer)(l,0),[m,f]=Object(r.useReducer)(l,0),[h,g]=Object(r.useState)({x:0,y:0}),O=Object(r.useMemo)(()=>u.current?a(u.current):null,[s]),v=Object(r.useMemo)(()=>{if(!t||!u.current)return()=>{};const e=Object(i.getScrollContainer)(u.current);if(!e)return()=>{};const n=u.current.getBoundingClientRect();return()=>{const t=u.current.getBoundingClientRect().top-n.top;t&&(e.scrollTop+=t)}},[s,t]);function j({value:t}){let{x:n,y:o}=t;n=Math.round(n),o=Math.round(o),n===j.x&&o===j.y||(!function({x:t,y:n}){if(!u.current)return;const o=0===t&&0===n;u.current.style.transformOrigin=o?"":"center",u.current.style.transform=o?"":`translate3d(${t}px,${n}px,0)`,u.current.style.zIndex=!e||o?"":"1",v()}({x:n,y:o}),j.x=n,j.y=o)}return Object(r.useLayoutEffect)(()=>{b&&f()},[b]),Object(r.useLayoutEffect)(()=>{if(!O)return;if(d)return void v();u.current.style.transform="";const e=a(u.current);p(),g({x:Math.round(O.left-e.left),y:Math.round(O.top-e.top)})},[s]),j.x=0,j.y=0,Object(o.useSpring)({from:{x:h.x,y:h.y},to:{x:0,y:0},reset:b!==m,config:{mass:5,tension:2e3,friction:200},immediate:d,onChange:j}),u}},YLtl:function(e,t){e.exports=window.lodash},YZt4:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var o=n("1ZqX"),r=n("HSyU"),c=n("BhPs");function i(e){return Object(o.useSelect)(t=>{const n=t(c.a).getBlockName(e),o=Object(r.getBlockType)(n);if((null==o?void 0:o.apiVersion)>1)return Object(r.getBlockDefaultClassName)(n)},[e])}},Z23Y:function(e,t){e.exports=window.wp.warning},ZAjO:function(e,t,n){"use strict";var o=n("GRId"),r=n("HSyU"),c=n("tI+e"),i=n("1ZqX"),l=n("q3tz"),a=n("1CF3");var s=n("BhPs");t.a=({children:e,clientIds:t,cloneClassname:n,onDragStart:u,onDragEnd:d})=>{const{srcRootClientId:b,isDraggable:p,icon:m}=Object(i.useSelect)(e=>{var n;const{getBlockRootClientId:o,getTemplateLock:c,getBlockName:i}=e(s.a),l=o(t[0]),a=l?c(l):null,u=i(t[0]);return{srcRootClientId:l,isDraggable:"all"!==a,icon:null===(n=Object(r.getBlockType)(u))||void 0===n?void 0:n.icon}},[t]),f=Object(o.useRef)(!1),[h,g,O]=function(){const e=Object(o.useRef)(null),t=Object(o.useRef)(null),n=Object(o.useRef)(null),r=Object(o.useRef)(null);return Object(o.useEffect)(()=>()=>{r.current&&(clearInterval(r.current),r.current=null)},[]),[Object(o.useCallback)(o=>{e.current=o.clientY,n.current=Object(a.getScrollContainer)(o.target),r.current=setInterval(()=>{if(n.current&&t.current){const e=n.current.scrollTop+t.current;n.current.scroll({top:e})}},25)},[]),Object(o.useCallback)(o=>{if(!n.current)return;const r=n.current.offsetHeight,c=e.current-n.current.offsetTop,i=o.clientY-n.current.offsetTop;if(o.clientY>c){const e=Math.max(r-c-50,0),n=Math.max(i-c-50,0)/e;t.current=25*n}else if(o.clientY{e.current=null,n.current=null,r.current&&(clearInterval(r.current),r.current=null)}]}(),{startDraggingBlocks:v,stopDraggingBlocks:j}=Object(i.useDispatch)(s.a);if(Object(o.useEffect)(()=>()=>{f.current&&j()},[]),!p)return e({isDraggable:!1});const k={type:"block",srcClientIds:t,srcRootClientId:b};return Object(o.createElement)(c.Draggable,{cloneClassname:n,__experimentalTransferDataType:"wp-blocks",transferData:k,onDragStart:e=>{v(t),f.current=!0,h(e),u&&u()},onDragOver:g,onDragEnd:()=>{j(),f.current=!1,O(),d&&d()},__experimentalDragComponent:Object(o.createElement)(l.a,{count:t.length,icon:m})},({onDraggableStart:t,onDraggableEnd:n})=>e({draggable:!0,onDragStart:t,onDragEnd:n}))}},Zzu2:function(e,t,n){"use strict";var o=n("GRId"),r=n("TSYQ"),c=n.n(r),i=n("tI+e"),l=n("l3Sj"),a=n("Tqx9");var s=Object(o.createElement)(a.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(a.Path,{d:"M11 13h2v-2h-2v2zm-6 0h2v-2H5v2zm12-2v2h2v-2h-2z"}));t.a=function({className:e,actions:t,children:n,secondaryActions:r}){return Object(o.createElement)("div",{className:c()(e,"block-editor-warning")},Object(o.createElement)("div",{className:"block-editor-warning__contents"},Object(o.createElement)("p",{className:"block-editor-warning__message"},n),(o.Children.count(t)>0||r)&&Object(o.createElement)("div",{className:"block-editor-warning__actions"},o.Children.count(t)>0&&o.Children.map(t,(e,t)=>Object(o.createElement)("span",{key:t,className:"block-editor-warning__action"},e)),r&&Object(o.createElement)(i.DropdownMenu,{className:"block-editor-warning__secondary",icon:s,label:Object(l.__)("More options"),popoverProps:{position:"bottom left",className:"block-editor-warning__dropdown"},noIcons:!0},()=>Object(o.createElement)(i.MenuGroup,null,r.map((e,t)=>Object(o.createElement)(i.MenuItem,{onClick:e.onClick,key:t},e.title)))))))}},abaT:function(e,t,n){"use strict";t.a=function(e,t){var n={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"},o={};for(var r in n)o[n[r]]=r;var c={};e.prototype.toName=function(t){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var r,i,l=o[this.toHex()];if(l)return l;if(null==t?void 0:t.closest){var a=this.toRgb(),s=1/0,u="black";if(!c.length)for(var d in n)c[d]=new e(n[d]).toRgb();for(var b in n){var p=(r=a,i=c[b],Math.pow(r.r-i.r,2)+Math.pow(r.g-i.g,2)+Math.pow(r.b-i.b,2));p{if(t){const n=Object(o.find)(e,{slug:t});if(n)return n}return{color:n}},a=(e,t)=>Object(o.find)(e,{color:t});function s(e,t){if(e&&t)return`has-${Object(o.kebabCase)(t)}-${e}`}function u(e,t){const n=Object(r.a)(t);return Object(o.maxBy)(e,({color:e})=>n.contrast(e)).color}},beZb:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M5 9v6h14V9H5zm11-4.8H8v1.5h8V4.2zM8 19.8h8v-1.5H8v1.5z"}));t.a=c},btIw:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"-2 -2 24 24"},Object(o.createElement)(r.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"}));t.a=c},c1Zz:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var o=n("GRId"),r=n("tI+e"),c=n("1ZqX"),i=n("BhPs"),l=n("715p");function a({children:e,group:t,label:n}){const{clientId:a,attributes:s}=Object(c.useSelect)(e=>{const{getBlockAttributes:t,getSelectedBlockClientId:n}=e(i.a),o=n();return{clientId:o,attributes:t(o)}},[]),{updateBlockAttributes:u}=Object(c.useDispatch)(i.a);return Object(o.createElement)(r.__experimentalToolsPanel,{className:t+"-block-support-panel",label:n,resetAll:(e=[])=>{const{style:t}=s;let n={style:t};e.forEach(e=>{n={...n,...e(n)}}),n={...n,style:Object(l.a)(n.style)},u(a,n)},key:a,panelId:a,hasInnerWrapper:!0,shouldRenderPlaceholderItems:!0},e)}},cDcd:function(e,t){e.exports=window.React},cDhi:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return c}));var o=n("GRId");const r=Object(o.createContext)();function c({children:e}){const t=Object(o.useMemo)(()=>({refs:new Map,callbacks:new Map}),[]);return Object(o.createElement)(r.Provider,{value:t},e)}},cGtP:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M13.5 6C10.5 6 8 8.5 8 11.5c0 1.1.3 2.1.9 3l-3.4 3 1 1.1 3.4-2.9c1 .9 2.2 1.4 3.6 1.4 3 0 5.5-2.5 5.5-5.5C19 8.5 16.5 6 13.5 6zm0 9.5c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"}));t.a=c},cjQ8:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M20 10.8H6.7l4.1-4.5-1.1-1.1-5.8 6.3 5.8 5.8 1.1-1.1-4-3.9H20z"}));t.a=c},dfZa:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return d})),n.d(t,"c",(function(){return u})),n.d(t,"d",(function(){return k})),n.d(t,"e",(function(){return i})),n.d(t,"f",(function(){return h})),n.d(t,"g",(function(){return a})),n.d(t,"h",(function(){return l}));var o=n("nEW0"),r=n("cDcd");const c=Symbol.for("Animated:node"),i=e=>e&&e[c],l=(e,t)=>Object(o.h)(e,c,t),a=e=>e&&e[c]&&e[c].getPayload();class s{constructor(){this.payload=void 0,l(this,this)}getPayload(){return this.payload||[]}}class u extends s{constructor(e){super(),this.done=!0,this.elapsedTime=void 0,this.lastPosition=void 0,this.lastVelocity=void 0,this.v0=void 0,this.durationProgress=0,this._value=e,o.s.num(this._value)&&(this.lastPosition=this._value)}static create(e){return new u(e)}getPayload(){return[this]}getValue(){return this._value}setValue(e,t){return o.s.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,o.s.num(this._value)&&(this.elapsedTime=0,this.durationProgress=0,this.lastPosition=this._value,e&&(this.lastVelocity=null),this.v0=null)}}class d extends u{constructor(e){super(0),this._string=null,this._toString=void 0,this._toString=Object(o.f)({output:[e,e]})}static create(e){return new d(e)}getValue(){let e=this._string;return null==e?this._string=this._toString(this._value):e}setValue(e){if(o.s.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=Object(o.f)({output:[this.getValue(),e]})),this._value=0,super.reset()}}const b={dependencies:null};class p extends s{constructor(e){super(),this.source=e,this.setValue(e)}getValue(e){const t={};return Object(o.l)(this.source,(n,r)=>{var i;(i=n)&&i[c]===i?t[r]=n.getValue(e):Object(o.r)(n)?t[r]=Object(o.q)(n):e||(t[r]=n)}),t}setValue(e){this.source=e,this.payload=this._makePayload(e)}reset(){this.payload&&Object(o.k)(this.payload,e=>e.reset())}_makePayload(e){if(e){const t=new Set;return Object(o.l)(e,this._addToPayload,t),Array.from(t)}}_addToPayload(e){b.dependencies&&Object(o.r)(e)&&b.dependencies.add(e);const t=a(e);t&&Object(o.k)(t,e=>this.add(e))}}class m extends p{constructor(e){super(e)}static create(e){return new m(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(f)),!0)}}function f(e){return(Object(o.t)(e)?d:u).create(e)}function h(e){const t=i(e);return t?t.constructor:o.s.arr(e)?m:Object(o.t)(e)?d:u}function g(){return(g=Object.assign||function(e){for(var t=1;t{const n=!o.s.fun(e)||e.prototype&&e.prototype.isReactComponent;return Object(r.forwardRef)((c,i)=>{const l=Object(r.useRef)(null),a=n&&Object(r.useCallback)(e=>{l.current=function(e,t){e&&(o.s.fun(e)?e(t):e.current=t);return t}(i,e)},[i]),[s,u]=function(e,t){const n=new Set;b.dependencies=n,e.style&&(e=g({},e,{style:t.createAnimatedStyle(e.style)}));return e=new p(e),b.dependencies=null,[e,n]}(c,t),d=Object(o.z)(),m=()=>{const e=l.current;if(n&&!e)return;!1===(!!e&&t.applyAnimatedValues(e,s.getValue(!0)))&&d()},f=new v(m,u),h=Object(r.useRef)();Object(o.A)(()=>{const e=h.current;h.current=f,Object(o.k)(u,e=>Object(o.c)(e,f)),e&&(Object(o.k)(e.deps,t=>Object(o.x)(t,e)),o.w.cancel(e.update))}),Object(r.useEffect)(m,[]),Object(o.C)(()=>()=>{const e=h.current;Object(o.k)(e.deps,t=>Object(o.x)(t,e))});const O=t.getComponentProps(s.getValue());return r.createElement(e,g({},O,{ref:a}))})};class v{constructor(e,t){this.update=e,this.deps=t}eventObserved(e){"change"==e.type&&o.w.write(this.update)}}const j=Symbol.for("AnimatedComponent"),k=(e,{applyAnimatedValues:t=(()=>!1),createAnimatedStyle:n=(e=>new p(e)),getComponentProps:r=(e=>e)}={})=>{const c={applyAnimatedValues:t,createAnimatedStyle:n,getComponentProps:r},i=e=>{const t=_(e)||"Anonymous";return(e=o.s.str(e)?i[e]||(i[e]=O(e,c)):e[j]||(e[j]=O(e,c))).displayName=`Animated(${t})`,e};return Object(o.l)(e,(t,n)=>{o.s.arr(e)&&(n=_(t)),i[n]=i(t)}),{animated:i}},_=e=>o.s.str(e)?e:e&&o.s.str(e.displayName)?e.displayName:o.s.fun(e)&&e.name||null},eGrx:function(e,t){var n=e.exports=function(e){return new o(e)};function o(e){this.value=e}function r(e,t,n){var o=[],r=[],l=!0;return function e(d){var b=n?c(d):d,p={},m=!0,f={node:b,node_:d,path:[].concat(o),parent:r[r.length-1],parents:r,key:o.slice(-1)[0],isRoot:0===o.length,level:o.length,circular:null,update:function(e,t){f.isRoot||(f.parent.node[f.key]=e),f.node=e,t&&(m=!1)},delete:function(e){delete f.parent.node[f.key],e&&(m=!1)},remove:function(e){a(f.parent.node)?f.parent.node.splice(f.key,1):delete f.parent.node[f.key],e&&(m=!1)},keys:null,before:function(e){p.before=e},after:function(e){p.after=e},pre:function(e){p.pre=e},post:function(e){p.post=e},stop:function(){l=!1},block:function(){m=!1}};if(!l)return f;function h(){if("object"==typeof f.node&&null!==f.node){f.keys&&f.node_===f.node||(f.keys=i(f.node)),f.isLeaf=0==f.keys.length;for(var e=0;e{if(!e)return{};const{getBlockName:n,getBlockAttributes:o,__experimentalGetReusableBlockTitle:r}=t(l.a),i=n(e);if(!i)return{};const a=Object(c.isReusableBlock)(Object(c.getBlockType)(i));return{attributes:o(e),name:i,reusableBlockTitle:a&&r(o(e).ref)}},[e]),s=Object(i.a)(e);if(!n||!s)return null;const u=Object(c.getBlockType)(n),d=u?Object(c.__experimentalGetBlockLabel)(u,t):null,b=a||d;return b&&b!==u.title?Object(o.truncate)(b,{length:35}):s.title}},fHnH:function(e,t,n){"use strict";n.d(t,"a",(function(){return I})),n.d(t,"b",(function(){return T}));var o={grad:.9,turn:360,rad:360/(2*Math.PI)},r=function(e){return"string"==typeof e?e.length>0:"number"==typeof e},c=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=Math.pow(10,t)),Math.round(n*e)/n+0},i=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),e>n?n:e>t?e:t},l=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},a=function(e){return{r:i(e.r,0,255),g:i(e.g,0,255),b:i(e.b,0,255),a:i(e.a)}},s=function(e){return{r:c(e.r),g:c(e.g),b:c(e.b),a:c(e.a,3)}},u=/^#([0-9a-f]{3,8})$/i,d=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},b=function(e){var t=e.r,n=e.g,o=e.b,r=e.a,c=Math.max(t,n,o),i=c-Math.min(t,n,o),l=i?c===t?(n-o)/i:c===n?2+(o-t)/i:4+(t-n)/i:0;return{h:60*(l<0?l+6:l),s:c?i/c*100:0,v:c/255*100,a:r}},p=function(e){var t=e.h,n=e.s,o=e.v,r=e.a;t=t/360*6,n/=100,o/=100;var c=Math.floor(t),i=o*(1-n),l=o*(1-(t-c)*n),a=o*(1-(1-t+c)*n),s=c%6;return{r:255*[o,l,i,i,a,o][s],g:255*[a,o,o,l,i,i][s],b:255*[i,i,a,o,o,l][s],a:r}},m=function(e){return{h:l(e.h),s:i(e.s,0,100),l:i(e.l,0,100),a:i(e.a)}},f=function(e){return{h:c(e.h),s:c(e.s),l:c(e.l),a:c(e.a,3)}},h=function(e){return p((n=(t=e).s,{h:t.h,s:(n*=((o=t.l)<50?o:100-o)/100)>0?2*n/(o+n)*100:0,v:o+n,a:t.a}));var t,n,o},g=function(e){return{h:(t=b(e)).h,s:(r=(200-(n=t.s))*(o=t.v)/100)>0&&r<200?n*o/100/(r<=100?r:200-r)*100:0,l:r/2,a:t.a};var t,n,o,r},O=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,v=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,j=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,k=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,_={string:[[function(e){var t=u.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:4===e.length?c(parseInt(e[3]+e[3],16)/255,2):1}:6===e.length||8===e.length?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:8===e.length?c(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=j.exec(e)||k.exec(e);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(e){var t=O.exec(e)||v.exec(e);if(!t)return null;var n,r,c=m({h:(n=t[1],r=t[2],void 0===r&&(r="deg"),Number(n)*(o[r]||1)),s:Number(t[3]),l:Number(t[4]),a:void 0===t[5]?1:Number(t[5])/(t[6]?100:1)});return h(c)},"hsl"]],object:[[function(e){var t=e.r,n=e.g,o=e.b,c=e.a,i=void 0===c?1:c;return r(t)&&r(n)&&r(o)?a({r:Number(t),g:Number(n),b:Number(o),a:Number(i)}):null},"rgb"],[function(e){var t=e.h,n=e.s,o=e.l,c=e.a,i=void 0===c?1:c;if(!r(t)||!r(n)||!r(o))return null;var l=m({h:Number(t),s:Number(n),l:Number(o),a:Number(i)});return h(l)},"hsl"],[function(e){var t=e.h,n=e.s,o=e.v,c=e.a,a=void 0===c?1:c;if(!r(t)||!r(n)||!r(o))return null;var s=function(e){return{h:l(e.h),s:i(e.s,0,100),v:i(e.v,0,100),a:i(e.a)}}({h:Number(t),s:Number(n),v:Number(o),a:Number(a)});return p(s)},"hsv"]]},y=function(e,t){for(var n=0;n=.5},e.prototype.toHex=function(){return t=(e=s(this.rgba)).r,n=e.g,o=e.b,i=(r=e.a)<1?d(c(255*r)):"","#"+d(t)+d(n)+d(o)+i;var e,t,n,o,r,i},e.prototype.toRgb=function(){return s(this.rgba)},e.prototype.toRgbString=function(){return t=(e=s(this.rgba)).r,n=e.g,o=e.b,(r=e.a)<1?"rgba("+t+", "+n+", "+o+", "+r+")":"rgb("+t+", "+n+", "+o+")";var e,t,n,o,r},e.prototype.toHsl=function(){return f(g(this.rgba))},e.prototype.toHslString=function(){return t=(e=f(g(this.rgba))).h,n=e.s,o=e.l,(r=e.a)<1?"hsla("+t+", "+n+"%, "+o+"%, "+r+")":"hsl("+t+", "+n+"%, "+o+"%)";var e,t,n,o,r},e.prototype.toHsv=function(){return e=b(this.rgba),{h:c(e.h),s:c(e.s),v:c(e.v),a:c(e.a,3)};var e},e.prototype.invert=function(){return I({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a});var e},e.prototype.saturate=function(e){return void 0===e&&(e=.1),I(C(this.rgba,e))},e.prototype.desaturate=function(e){return void 0===e&&(e=.1),I(C(this.rgba,-e))},e.prototype.grayscale=function(){return I(C(this.rgba,-1))},e.prototype.lighten=function(e){return void 0===e&&(e=.1),I(w(this.rgba,e))},e.prototype.darken=function(e){return void 0===e&&(e=.1),I(w(this.rgba,-e))},e.prototype.rotate=function(e){return void 0===e&&(e=15),this.hue(this.hue()+e)},e.prototype.alpha=function(e){return"number"==typeof e?I({r:(t=this.rgba).r,g:t.g,b:t.b,a:e}):c(this.rgba.a,3);var t},e.prototype.hue=function(e){var t=g(this.rgba);return"number"==typeof e?I({h:e,s:t.s,l:t.l,a:t.a}):c(t.h)},e.prototype.isEqual=function(e){return this.toHex()===I(e).toHex()},e}(),I=function(e){return e instanceof B?e:new B(e)},x=[],T=function(e){e.forEach((function(e){x.indexOf(e)<0&&(e(B,_),x.push(e))}))}},fOYa:function(e,t,n){"use strict";n.d(t,"a",(function(){return h}));var o=n("wx14"),r=n("GRId"),c=n("YLtl"),i=n("tI+e"),l=n("HSyU"),a=n("1ZqX");var s={default:Object(i.createSlotFill)("BlockControls"),block:Object(i.createSlotFill)("BlockControlsBlock"),inline:Object(i.createSlotFill)("BlockFormatControls"),other:Object(i.createSlotFill)("BlockControlsOther"),parent:Object(i.createSlotFill)("BlockControlsParent")},u=n("BhPs"),d=n("ur0x"),b=n("HgtZ");function p({group:e="default",controls:t,children:n,__experimentalShareWithChildBlocks:o=!1}){const p=function(e,t){const n=Object(b.a)(),{clientId:o}=Object(d.c)(),r=Object(a.useSelect)(e=>{const{getBlockName:n,hasSelectedInnerBlock:r}=e(u.a),{hasBlockSupport:c}=e(l.store);return t&&c(n(o),"__experimentalExposeControlsToChildren",!1)&&r(o)},[t,o]);var c;return n?null===(c=s[e])||void 0===c?void 0:c.Fill:r?s.parent.Fill:null}(e,o);return p?Object(r.createElement)(i.__experimentalStyleProvider,{document:document},Object(r.createElement)(p,null,o=>{const l=Object(c.isEmpty)(o)?null:o;return Object(r.createElement)(i.__experimentalToolbarContext.Provider,{value:l},"default"===e&&Object(r.createElement)(i.ToolbarGroup,{controls:t}),n)})):null}function m({group:e="default",...t}){const n=Object(r.useContext)(i.__experimentalToolbarContext),c=s[e].Slot,l=Object(i.__experimentalUseSlot)(c.__unstableName);return Boolean(l.fills&&l.fills.length)?"default"===e?Object(r.createElement)(c,Object(o.a)({},t,{bubblesVirtually:!0,fillProps:n})):Object(r.createElement)(i.ToolbarGroup,null,Object(r.createElement)(c,Object(o.a)({},t,{bubblesVirtually:!0,fillProps:n}))):null}const f=p;f.Slot=m;const h=e=>Object(r.createElement)(p,Object(o.a)({group:"inline"},e));h.Slot=e=>Object(r.createElement)(m,Object(o.a)({group:"inline"},e));t.b=f},fPbg:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M4 19.8h8.9v-1.5H4v1.5zm8.9-15.6H4v1.5h8.9V4.2zm-8.9 7v1.5h16v-1.5H4z"}));t.a=c},faye:function(e,t){e.exports=window.ReactDOM},felP:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var o=n("1CF3"),r=n("RxS6"),c=n("1ZqX"),i=n("K9lf"),l=n("BhPs");function a(e){const t=Object(c.useSelect)(t=>t(l.a).isBlockSelected(e),[e]),{getBlockRootClientId:n,getBlockIndex:a}=Object(c.useSelect)(l.a),{insertDefaultBlock:s,removeBlock:u}=Object(c.useDispatch)(l.a);return Object(i.useRefEffect)(c=>{if(t)return c.addEventListener("keydown",i),c.addEventListener("dragstart",l),()=>{c.removeEventListener("keydown",i),c.removeEventListener("dragstart",l)};function i(t){const{keyCode:i,target:l}=t;i!==r.ENTER&&i!==r.BACKSPACE&&i!==r.DELETE||l!==c||Object(o.isTextField)(l)||(t.preventDefault(),i===r.ENTER?s({},n(e),a(e)+1):u(e))}function l(e){e.preventDefault()}},[e,t,n,a,s,u])}},g56x:function(e,t){e.exports=window.wp.hooks},gdqT:function(e,t){e.exports=window.wp.a11y},hF7m:function(e,t){e.exports=window.wp.keyboardShortcuts},hHnB:function(e,t,n){"use strict";var o=n("wx14"),r=n("GRId"),c=n("TSYQ"),i=n.n(c),l=n("l3Sj"),a=n("K9lf"),s=n("tI+e"),u=n("zQI6"),d=n("TVFh");function b(e){return Object(r.useMemo)(()=>{const t=document.implementation.createHTMLDocument("");return t.body.innerHTML=e,Array.from(t.body.children)},[e])}t.a=Object(r.forwardRef)((function({contentRef:e,children:t,head:n,tabIndex:c=0,...p},m){var f,h;const[,g]=Object(r.useReducer)(()=>({})),[O,v]=Object(r.useState)(),[j,k]=Object(r.useState)([]),_=b(null===(f=window.__editorAssets)||void 0===f?void 0:f.styles),y=b(null===(h=window.__editorAssets)||void 0===h?void 0:h.scripts),E=Object(u.b)(),[C,S,w]=Object(d.b)(),B=Object(a.useRefEffect)(e=>{function t(){const{contentDocument:t,ownerDocument:n}=e,{readyState:o,documentElement:r}=t;return("interactive"===o||"complete"===o)&&(function(e){const{defaultView:t}=e,{frameElement:n}=t;function o(e){const o=Object.getPrototypeOf(e).constructor.name,r=window[o],c={};for(const t in e)c[t]=e[t];if(e instanceof t.MouseEvent){const e=n.getBoundingClientRect();c.clientX+=e.left,c.clientY+=e.top}const i=new r(e.type,c);!n.dispatchEvent(i)&&e.preventDefault()}const r=["dragover"];for(const t of r)e.addEventListener(t,o)}(t),v(t),E(r),k(Array.from(n.body.classList).filter(e=>e.startsWith("admin-color-")||"wp-embed-responsive"===e)),t.dir=n.dir,r.removeChild(t.head),r.removeChild(t.body),!0)}t()||e.addEventListener("load",()=>{t()})},[]),I=Object(a.useRefEffect)(e=>{y.reduce((t,n)=>t.then(()=>async function(e,{id:t,src:n}){return new Promise((o,r)=>{const c=e.ownerDocument.createElement("script");c.id=t,n?(c.src=n,c.onload=()=>o(),c.onerror=()=>r()):o(),e.appendChild(c)})}(e,n)),Promise.resolve()).finally(()=>{g()})},[]),x=Object(a.useMergeRefs)([e,E,S]);return Object(r.useEffect)(()=>{var e;O&&(e=O,Array.from(document.styleSheets).forEach(t=>{try{t.cssRules}catch(e){return}const{ownerNode:n,cssRules:o}=t;if(o&&"LINK"===n.tagName&&"wp-reset-editor-styles-css"!==n.id&&Array.from(o).find(({selectorText:e})=>e&&(e.includes(".editor-styles-wrapper")||e.includes(".wp-block")))&&!e.getElementById(n.id)){console.warn(`Stylesheet ${n.id} was not properly added.\nFor blocks, use the block API's style (https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#style) or editorStyle (https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#editor-style).\nFor themes, use add_editor_style (https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-support/#editor-styles).`,n.outerHTML),e.head.appendChild(n.cloneNode(!0));const t=n.id.replace("-css","-inline-css"),o=document.getElementById(t);o&&e.head.appendChild(o.cloneNode(!0))}}))},[O]),n=Object(r.createElement)(r.Fragment,null,Object(r.createElement)("style",null,"body{margin:0}"),_.map(({tagName:e,href:t,id:n,rel:o,media:c,textContent:i})=>{const l=e.toLowerCase();return"style"===l?Object(r.createElement)(l,{id:n,key:n},i):Object(r.createElement)(l,{href:t,id:n,rel:o,media:c,key:n})}),n),Object(r.createElement)(r.Fragment,null,c>=0&&C,Object(r.createElement)("iframe",Object(o.a)({},p,{ref:Object(a.useMergeRefs)([m,B]),tabIndex:c,title:Object(l.__)("Editor canvas")}),O&&Object(r.createPortal)(Object(r.createElement)(r.Fragment,null,Object(r.createElement)("head",{ref:I},n),Object(r.createElement)("body",{ref:x,className:i()("editor-styles-wrapper",...j)},Object(r.createElement)(s.__experimentalStyleProvider,{document:O},t))),O.documentElement)),c>=0&&w)}))},hMaJ:function(e,t,n){"use strict";var o=n("wx14"),r=n("GRId"),c=n("TSYQ"),i=n.n(c),l=n("YLtl"),a=n("tI+e"),s=n("l3Sj"),u=n("v5LD");const d=["colors","disableCustomColors","gradients","disableCustomGradients"];function b({colors:e,gradients:t,disableCustomColors:n,disableCustomGradients:o,__experimentalHasMultipleOrigins:c,className:u,label:d,onColorChange:b,onGradientChange:p,colorValue:m,gradientValue:f,clearable:h,showTitle:g=!0}){const O=b&&(!Object(l.isEmpty)(e)||!n),v=p&&(!Object(l.isEmpty)(t)||!o),[j,k]=Object(r.useState)(f?"gradient":!!O&&"color");return O||v?Object(r.createElement)(a.BaseControl,{className:i()("block-editor-color-gradient-control",u)},Object(r.createElement)("fieldset",null,Object(r.createElement)(a.__experimentalVStack,{spacing:1},g&&Object(r.createElement)("legend",null,Object(r.createElement)("div",{className:"block-editor-color-gradient-control__color-indicator"},Object(r.createElement)(a.BaseControl.VisualLabel,null,d))),O&&v&&Object(r.createElement)(a.__experimentalToggleGroupControl,{value:j,onChange:k,label:Object(s.__)("Select color type"),hideLabelFromVision:!0,isBlock:!0},Object(r.createElement)(a.__experimentalToggleGroupControlOption,{value:"color",label:Object(s.__)("Solid")}),Object(r.createElement)(a.__experimentalToggleGroupControlOption,{value:"gradient",label:Object(s.__)("Gradient")})),("color"===j||!v)&&Object(r.createElement)(a.ColorPalette,{value:m,onChange:v?e=>{b(e),p()}:b,colors:e,disableCustomColors:n,__experimentalHasMultipleOrigins:c,clearable:h}),("gradient"===j||!O)&&Object(r.createElement)(a.GradientPicker,{value:f,onChange:O?e=>{p(e),b()}:p,gradients:t,disableCustomGradients:o,__experimentalHasMultipleOrigins:c,clearable:h})))):null}function p(e){const t={};return t.colors=Object(u.a)("color.palette"),t.gradients=Object(u.a)("color.gradients"),t.disableCustomColors=!Object(u.a)("color.custom"),t.disableCustomGradients=!Object(u.a)("color.customGradient"),Object(r.createElement)(b,Object(o.a)({},t,e))}t.a=function(e){return Object(l.every)(d,t=>e.hasOwnProperty(t))?Object(r.createElement)(b,e):Object(r.createElement)(p,e)}},hw9B:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var o=n("1ZqX"),r=n("K9lf"),c=n("BhPs"),i=n("OL6h");function l(e,t){Array.from(e.closest(".is-root-container").querySelectorAll(".rich-text")).forEach(e=>{t?e.setAttribute("contenteditable",!0):e.removeAttribute("contenteditable")})}function a(e){const{startMultiSelect:t,stopMultiSelect:n,multiSelect:a,selectBlock:s}=Object(o.useDispatch)(c.a),{isSelectionEnabled:u,isBlockSelected:d,getBlockParents:b,getBlockSelectionStart:p,hasMultiSelection:m}=Object(o.useSelect)(c.a);return Object(r.useRefEffect)(o=>{const{ownerDocument:r}=o,{defaultView:c}=r;let f,h;function g({isSelectionEnd:t}){const n=c.getSelection();if(!n.rangeCount||n.isCollapsed)return void l(o,!0);const r=Object(i.a)(n.focusNode);if(e===r){if(s(e),t&&(l(o,!0),n.rangeCount)){const{commonAncestorContainer:e}=n.getRangeAt(0);f.contains(e)&&f.focus()}}else{const t=[...b(e),e],n=[...b(r),r],o=Math.min(t.length,n.length)-1;a(t[o],n[o])}}function O(){r.removeEventListener("selectionchange",g),c.removeEventListener("mouseup",O),h=c.requestAnimationFrame(()=>{g({isSelectionEnd:!0}),n()})}function v({buttons:n}){1===n&&u()&&d(e)&&(f=r.activeElement,t(),r.addEventListener("selectionchange",g),c.addEventListener("mouseup",O),l(o,!1))}function j(t){if(u()&&0===t.button)if(t.shiftKey){const n=p(),r=b(n);if(n&&n!==e&&(null==r||!r.includes(e))){const c=[...r,n],i=[...b(e),e],s=Math.min(c.length,i.length)-1,u=c[s],d=i[s];u!==d&&(l(o,!1),a(u,d),t.preventDefault())}}else m()&&s(e)}return o.addEventListener("mousedown",j),o.addEventListener("mouseleave",v),()=>{o.removeEventListener("mousedown",j),o.removeEventListener("mouseleave",v),r.removeEventListener("selectionchange",g),c.removeEventListener("mouseup",O),c.cancelAnimationFrame(h)}},[e,t,n,a,s,u,d,b])}},iA5R:function(e,t,n){"use strict";var o;Object.defineProperty(t,"__esModule",{value:!0}),t.diffChars=function(e,t,n){return r.diff(e,t,n)},t.characterDiff=void 0;var r=new(((o=n("smQA"))&&o.__esModule?o:{default:o}).default);t.characterDiff=r},iClF:function(e,t,n){"use strict";var o=n("GRId");t.a=function({icon:e,size:t=24,...n}){return Object(o.cloneElement)(e,{width:t,height:t,...n})}},j6zP:function(e,t,n){"use strict";var o=n("GRId"),r=n("tI+e"),c=n("q3tz");t.a=({isEnabled:e,blocks:t,icon:n,children:i})=>{const l={type:"inserter",blocks:t};return Object(o.createElement)(r.Draggable,{__experimentalTransferDataType:"wp-blocks",transferData:l,__experimentalDragComponent:Object(o.createElement)(c.a,{count:t.length,icon:n})},({onDraggableStart:t,onDraggableEnd:n})=>i({draggable:e,onDragStart:e?t:void 0,onDragEnd:e?n:void 0}))}},jB5C:function(e,t,n){"use strict";var o=Object.assign||function(e){for(var t=1;tObject(l.getSaveContent)(e.name,e.attributes,e.innerBlocks)).join(""));var u;const d=(b=e.originalContent,m=s,Object(f.diffChars)(b,m).map((e,t)=>{const n=c()({"block-editor-block-compare__added":e.added,"block-editor-block-compare__removed":e.removed});return Object(o.createElement)("span",{key:t,className:n},e.value)}));var b,m;return Object(o.createElement)("div",{className:"block-editor-block-compare__wrapper"},Object(o.createElement)(h,{title:Object(p.__)("Current"),className:"block-editor-block-compare__current",action:t,actionText:Object(p.__)("Convert to HTML"),rawContent:e.originalContent,renderedContent:e.originalContent}),Object(o.createElement)(h,{title:Object(p.__)("After Conversion"),className:"block-editor-block-compare__converted",action:n,actionText:a,rawContent:d,renderedContent:s}))},O=n("BhPs");const v=e=>Object(l.rawHandler)({HTML:e.originalContent});var j=Object(u.compose)([Object(s.withSelect)((e,{clientId:t})=>({block:e(O.a).getBlock(t)})),Object(s.withDispatch)((e,{block:t})=>{const{replaceBlock:n}=e(O.a);return{convertToClassic(){n(t.clientId,(e=>Object(l.createBlock)("core/freeform",{content:e.originalContent}))(t))},convertToHTML(){n(t.clientId,(e=>Object(l.createBlock)("core/html",{content:e.originalContent}))(t))},convertToBlocks(){n(t.clientId,v(t))},attemptBlockRecovery(){n(t.clientId,(({name:e,attributes:t,innerBlocks:n})=>Object(l.createBlock)(e,t,n))(t))}}})])((function({convertToHTML:e,convertToBlocks:t,convertToClassic:n,attemptBlockRecovery:r,block:c}){const i=!!Object(l.getBlockType)("core/html"),[s,u]=Object(o.useState)(!1),d=Object(o.useCallback)(()=>u(!0),[]),b=Object(o.useCallback)(()=>u(!1),[]),f=Object(o.useMemo)(()=>[{title:Object(p._x)("Resolve","imperative verb"),onClick:d},i&&{title:Object(p.__)("Convert to HTML"),onClick:e},{title:Object(p.__)("Convert to Classic Block"),onClick:n}].filter(Boolean),[d,e,n]);return Object(o.createElement)(o.Fragment,null,Object(o.createElement)(m.a,{actions:[Object(o.createElement)(a.Button,{key:"recover",onClick:r,variant:"primary"},Object(p.__)("Attempt Block Recovery"))],secondaryActions:f},Object(p.__)("This block contains unexpected or invalid content.")),s&&Object(o.createElement)(a.Modal,{title:Object(p.__)("Resolve Block"),onRequestClose:b,className:"block-editor-block-compare"},Object(o.createElement)(g,{block:c,onKeep:e,onConvert:t,convertor:v,convertButtonText:Object(p.__)("Convert to Blocks")})))}));const k=Object(o.createElement)(m.a,{className:"block-editor-block-list__block-crash-warning"},Object(p.__)("This block has encountered an error and cannot be previewed."));var _=()=>k;class y extends o.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 E=y,C=n("O6Fj"),S=n.n(C);var w=function({clientId:e}){const[t,n]=Object(o.useState)(""),r=Object(s.useSelect)(t=>t(O.a).getBlock(e),[e]),{updateBlock:c}=Object(s.useDispatch)(O.a);return Object(o.useEffect)(()=>{n(Object(l.getBlockContent)(r))},[r]),Object(o.createElement)(S.a,{className:"block-editor-block-list__block-html-textarea",value:t,onBlur:()=>{const o=Object(l.getBlockType)(r.name);if(!o)return;const i=Object(l.getBlockAttributes)(o,t,r.attributes),a=t||Object(l.getSaveContent)(o,i),s=!t||Object(l.isValidBlockContent)(o,i,a);c(e,{attributes:i,originalContent:a,isValid:s}),t||n({content:a})},onChange:e=>n(e.target.value)})},B=n("nlh6");const I=Object(o.createContext)();function x({children:e,isHtml:t,...n}){return Object(o.createElement)("div",Object(B.a)(n,{__unstableIsHtml:t}),e)}const T=Object(s.withSelect)((e,{clientId:t,rootClientId:n})=>{const{isBlockSelected:o,getBlockMode:r,isSelectionEnabled:c,getTemplateLock:i,__unstableGetBlockWithoutInnerBlocks:l,canRemoveBlock:a,canMoveBlock:s}=e(O.a),u=l(t),d=o(t),b=i(n),p=a(t,n),m=s(t,n),{name:f,attributes:h,isValid:g}=u||{};return{mode:r(t),isSelectionEnabled:c(),isLocked:!!b,canRemove:p,canMove:m,block:u,name:f,attributes:h,isValid:g,isSelected:d}}),P=Object(s.withDispatch)((e,t,{select:n})=>{const{updateBlockAttributes:o,insertBlocks:r,mergeBlocks:c,replaceBlocks:i,toggleSelection:a,__unstableMarkLastChangeAsPersistent:s}=e(O.a);return{setAttributes(e){const{getMultiSelectedBlockClientIds:r}=n(O.a),c=r(),{clientId:i}=t,l=c.length?c:[i];o(l,e)},onInsertBlocks(e,n){const{rootClientId:o}=t;r(e,n,o)},onInsertBlocksAfter(e){const{clientId:o,rootClientId:c}=t,{getBlockIndex:i}=n(O.a),l=i(o,c);r(e,l+1,c)},onMerge(e){const{clientId:o}=t,{getPreviousBlockClientId:r,getNextBlockClientId:i}=n(O.a);if(e){const e=i(o);e&&c(o,e)}else{const e=r(o);e&&c(e,o)}},onReplace(e,n,o){e.length&&!Object(l.isUnmodifiedDefaultBlock)(e[e.length-1])&&s(),i([t.clientId],e,n,o)},toggleSelection(e){a(e)}}});t.b=Object(u.compose)(u.pure,T,P,Object(u.ifCondition)(({block:e})=>!!e),Object(a.withFilters)("editor.BlockListBlock"))((function({mode:e,isLocked:t,canRemove:n,clientId:r,isSelected:a,isSelectionEnabled:u,className:p,name:m,isValid:f,attributes:h,wrapperProps:g,setAttributes:v,onReplace:k,onInsertBlocksAfter:y,onMerge:C,toggleSelection:S}){const{removeBlock:B}=Object(s.useDispatch)(O.a),T=Object(o.useCallback)(()=>B(r),[r]);let P=Object(o.createElement)(b.a,{name:m,isSelected:a,attributes:h,setAttributes:v,insertBlocksAfter:t?void 0:y,onReplace:n?k:void 0,onRemove:n?T:void 0,mergeBlocks:n?C:void 0,clientId:r,isSelectionEnabled:u,toggleSelection:S});const R=Object(l.getBlockType)(m);null!=R&&R.getEditWrapperProps&&(g=function(e,t){const n={...e,...t};return e&&t&&e.className&&t.className&&(n.className=c()(e.className,t.className)),e&&t&&e.style&&t.style&&(n.style={...e.style,...t.style}),n}(g,R.getEditWrapperProps(h)));const N=g&&!!g["data-align"];let L;if(N&&(P=Object(o.createElement)("div",{className:"wp-block","data-align":g["data-align"]},P)),f)L="html"===e?Object(o.createElement)(o.Fragment,null,Object(o.createElement)("div",{style:{display:"none"}},P),Object(o.createElement)(x,{isHtml:!0},Object(o.createElement)(w,{clientId:r}))):(null==R?void 0:R.apiVersion)>1?P:Object(o.createElement)(x,g,P);else{const e=Object(l.getSaveContent)(R,h);L=Object(o.createElement)(x,{className:"has-warning"},Object(o.createElement)(j,{clientId:r}),Object(o.createElement)(o.RawHTML,null,Object(d.safeHTML)(e)))}const M={clientId:r,className:p,wrapperProps:Object(i.omit)(g,["data-align"]),isAligned:N},A=Object(o.useMemo)(()=>M,Object.values(M));return Object(o.createElement)(I.Provider,{value:A},Object(o.createElement)(E,{fallback:Object(o.createElement)(x,{className:"has-warning"},Object(o.createElement)(_,null))},L))}))},jTPX:function(e,t){e.exports=function(e,t,n){return((n=window.getComputedStyle)?n(e):e.currentStyle)[t.replace(/-(\w)/gi,(function(e,t){return t.toUpperCase()}))]}},jrfk:function(e,t){var n,o,r,c,i,l,a,s,u,d,b,p,m,f,h,g=!1;function O(){if(!g){g=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),O=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(p=/\b(iPhone|iP[ao]d)/.exec(e),m=/\b(iP[ao]d)/.exec(e),d=/Android/i.exec(e),f=/FBAN\/\w+;/i.exec(e),h=/Mobile/i.exec(e),b=!!/Win64/.exec(e),t){(n=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN)&&document&&document.documentMode&&(n=document.documentMode);var v=/(?:Trident\/(\d+.\d+))/.exec(e);l=v?parseFloat(v[1])+4:n,o=t[2]?parseFloat(t[2]):NaN,r=t[3]?parseFloat(t[3]):NaN,(c=t[4]?parseFloat(t[4]):NaN)?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),i=t&&t[1]?parseFloat(t[1]):NaN):i=NaN}else n=o=r=i=c=NaN;if(O){if(O[1]){var j=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);a=!j||parseFloat(j[1].replace("_","."))}else a=!1;s=!!O[2],u=!!O[3]}else a=s=u=!1}}var v={ie:function(){return O()||n},ieCompatibilityMode:function(){return O()||l>n},ie64:function(){return v.ie()&&b},firefox:function(){return O()||o},opera:function(){return O()||r},webkit:function(){return O()||c},safari:function(){return v.webkit()},chrome:function(){return O()||i},windows:function(){return O()||s},osx:function(){return O()||a},linux:function(){return O()||u},iphone:function(){return O()||p},mobile:function(){return O()||p||m||d||h},nativeApp:function(){return O()||f},android:function(){return O()||d},ipad:function(){return O()||m}};e.exports=v},jwne:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return s}));var o=n("wx14"),r=n("GRId"),c=n("tI+e"),i=(n("Z23Y"),n("c1Zz")),l=n("asom"),a=n("VrEk");function s({__experimentalGroup:t="default",bubblesVirtually:n=!0,label:s,...u}){var d;const b=null===(d=a.a[t])||void 0===d?void 0:d.Slot,p=Object(c.__experimentalUseSlot)(null==b?void 0:b.__unstableName);if(!b||!p)return void 0!==e&&e.env,null;return Boolean(p.fills&&p.fills.length)?s?Object(r.createElement)(i.a,{group:t,label:s},Object(r.createElement)(l.a,Object(o.a)({},u,{bubblesVirtually:n,Slot:b}))):Object(r.createElement)(b,Object(o.a)({},u,{bubblesVirtually:n})):null}}).call(this,n("8oxB"))},kBLm:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var o=n("1ZqX"),r=n("K9lf"),c=n("BhPs");function i(e){if(e.defaultPrevented)return;const t="mouseover"===e.type?"add":"remove";e.preventDefault(),e.currentTarget.classList[t]("is-hovered")}function l(){const e=Object(o.useSelect)(e=>{const{isNavigationMode:t,getSettings:n}=e(c.a);return t()||n().outlineMode},[]);return Object(r.useRefEffect)(t=>{if(e)return t.addEventListener("mouseout",i),t.addEventListener("mouseover",i),()=>{t.removeEventListener("mouseout",i),t.removeEventListener("mouseover",i),t.classList.remove("is-hovered")}},[e])}},kVRd:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var o=n("GRId"),r=n("tI+e"),c=n("Tqx9");var i=Object(o.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(c.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"})),l=n("Crq9"),a=n("l3Sj");const s=[{name:Object(a.__)("Underline"),value:"underline",icon:i},{name:Object(a.__)("Strikethrough"),value:"line-through",icon:l.a}];function u({value:e,onChange:t}){return Object(o.createElement)("fieldset",{className:"block-editor-text-decoration-control"},Object(o.createElement)("legend",null,Object(a.__)("Decoration")),Object(o.createElement)("div",{className:"block-editor-text-decoration-control__buttons"},s.map(n=>Object(o.createElement)(r.Button,{key:n.value,icon:n.icon,isSmall:!0,isPressed:n.value===e,onClick:()=>t(n.value===e?void 0:n.value),"aria-label":n.name}))))}},kWXm:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M9 9v6h11V9H9zM4 20h1.5V4H4v16z"}));t.a=c},kaUp:function(e,t){},kmrn:function(e,t,n){"use strict";n.d(t,"useSpring",(function(){return he}));var o=n("nEW0");n.d(t,"Globals",(function(){return o.b}));var r=n("cDcd"),c=n("dfZa");n("kaUp"),n("v8Ku");function i(){return(i=Object.assign||function(e){for(var t=1;t!0===e||!!(t&&e&&(o.s.fun(e)?e(t):Object(o.y)(e).includes(t))),s=(e,t)=>o.s.obj(e)?t&&e[t]:e,u=(e,t)=>!0===e.default?e[t]:e.default?e.default[t]:void 0,d=e=>e,b=(e,t=d)=>{let n=p;e.default&&!0!==e.default&&(e=e.default,n=Object.keys(e));const r={};for(const c of n){const n=t(e[c],c);o.s.und(n)||(r[c]=n)}return r},p=["config","onProps","onStart","onChange","onPause","onResume","onRest"],m={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 f(e){const t=function(e){const t={};let n=0;if(Object(o.l)(e,(e,o)=>{m[o]||(t[o]=e,n++)}),n)return t}(e);if(t){const n={to:t};return Object(o.l)(e,(e,o)=>o in t||(n[o]=e)),n}return i({},e)}function h(e){return e=Object(o.q)(e),o.s.arr(e)?e.map(h):Object(o.t)(e)?o.b.createStringInterpolator({range:[0,1],output:[e,e]})(1):e}function g(e){for(const t in e)return!0;return!1}function O(e){return o.s.fun(e)||o.s.arr(e)&&o.s.obj(e[0])}function v(e,t){var n;null==(n=e.ref)||n.delete(e),null==t||t.delete(e)}function j(e,t){var n;t&&e.ref!==t&&(null==(n=e.ref)||n.delete(e),t.add(e),e.ref=t)}const k=i({},{tension:170,friction:26},{mass:1,damping:1,easing:e=>e,clamp:!1});class _{constructor(){this.tension=void 0,this.friction=void 0,this.frequency=void 0,this.damping=void 0,this.mass=void 0,this.velocity=0,this.restVelocity=void 0,this.precision=void 0,this.progress=void 0,this.duration=void 0,this.easing=void 0,this.clamp=void 0,this.bounce=void 0,this.decay=void 0,this.round=void 0,Object.assign(this,k)}}function y(e,t){if(o.s.und(t.decay)){const n=!o.s.und(t.tension)||!o.s.und(t.friction);!n&&o.s.und(t.frequency)&&o.s.und(t.damping)&&o.s.und(t.mass)||(e.duration=void 0,e.decay=void 0),n&&(e.frequency=void 0)}else e.duration=void 0}const E=[];class C{constructor(){this.changed=!1,this.values=E,this.toValues=null,this.fromValues=E,this.to=void 0,this.from=void 0,this.config=new _,this.immediate=!1}}function S(e,{key:t,props:n,defaultProps:r,state:c,actions:s}){return new Promise((u,d)=>{var b;let p,m,f=a(null!=(b=n.cancel)?b:null==r?void 0:r.cancel,t);if(f)O();else{o.s.und(n.pause)||(c.paused=a(n.pause,t));let e=null==r?void 0:r.pause;!0!==e&&(e=c.paused||a(e,t)),p=l(n.delay||0,t),e?(c.resumeQueue.add(g),s.pause()):(s.resume(),g())}function h(){c.resumeQueue.add(g),c.timeouts.delete(m),m.cancel(),p=m.time-o.w.now()}function g(){p>0?(m=o.w.setTimeout(O,p),c.pauseQueue.add(h),c.timeouts.add(m)):O()}function O(){c.pauseQueue.delete(h),c.timeouts.delete(m),e<=(c.cancelId||0)&&(f=!0);try{s.start(i({},n,{callId:e,cancel:f}),u)}catch(e){d(e)}}})}const w=(e,t)=>1==t.length?t[0]:t.some(e=>e.cancelled)?x(e.get()):t.every(e=>e.noop)?B(e.get()):I(e.get(),t.every(e=>e.finished)),B=e=>({value:e,noop:!0,finished:!0,cancelled:!1}),I=(e,t,n=!1)=>({value:e,finished:t,cancelled:n}),x=e=>({value:e,cancelled:!0,finished:!1});function T(e,t,n,r){const{callId:c,parentId:l,onRest:a}=t,{asyncTo:s,promise:u}=n;return l||e!==s||t.reset?n.promise=(async()=>{n.asyncId=c,n.asyncTo=e;const d=b(t,(e,t)=>"onRest"===t?void 0:e);let p,m;const f=new Promise((e,t)=>(p=e,m=t)),h=e=>{const t=c<=(n.cancelId||0)&&x(r)||c!==n.asyncId&&I(r,!1);if(t)throw e.result=t,m(e),e},g=(e,t)=>{const l=new R,a=new N;return(async()=>{if(o.b.skipAnimation)throw P(n),a.result=I(r,!1),m(a),a;h(l);const s=o.s.obj(e)?i({},e):i({},t,{to:e});s.parentId=c,Object(o.l)(d,(e,t)=>{o.s.und(s[t])&&(s[t]=e)});const u=await r.start(s);return h(l),n.paused&&await new Promise(e=>{n.resumeQueue.add(e)}),u})()};let O;if(o.b.skipAnimation)return P(n),I(r,!1);try{let t;t=o.s.arr(e)?(async e=>{for(const t of e)await g(t)})(e):Promise.resolve(e(g,r.stop.bind(r))),await Promise.all([t.then(p),f]),O=I(r.get(),!0,!1)}catch(e){if(e instanceof R)O=e.result;else{if(!(e instanceof N))throw e;O=e.result}}finally{c==n.asyncId&&(n.asyncId=l,n.asyncTo=l?s:void 0,n.promise=l?u:void 0)}return o.s.fun(a)&&o.w.batchedUpdates(()=>{a(O,r,r.item)}),O})():u}function P(e,t){Object(o.m)(e.timeouts,e=>e.cancel()),e.pauseQueue.clear(),e.resumeQueue.clear(),e.asyncId=e.asyncTo=e.promise=void 0,t&&(e.cancelId=t)}class R 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."),this.result=void 0}}class N extends Error{constructor(){super("SkipAnimationSignal"),this.result=void 0}}const L=e=>e instanceof A;let M=1;class A extends o.a{constructor(...e){super(...e),this.id=M++,this.key=void 0,this._priority=0}get priority(){return this._priority}set priority(e){this._priority!=e&&(this._priority=e,this._onPriorityChange(e))}get(){const e=Object(c.e)(this);return e&&e.getValue()}to(...e){return o.b.to(this,e)}interpolate(...e){return Object(o.j)(),o.b.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){Object(o.d)(this,{type:"change",parent:this,value:e,idle:t})}_onPriorityChange(e){this.idle||o.o.sort(this),Object(o.d)(this,{type:"priority",parent:this,priority:e})}}const D=Symbol.for("SpringPhase"),F=e=>(1&e[D])>0,z=e=>(2&e[D])>0,H=e=>(4&e[D])>0,V=(e,t)=>t?e[D]|=3:e[D]&=-3,G=(e,t)=>t?e[D]|=4:e[D]&=-5;class U extends A{constructor(e,t){if(super(),this.key=void 0,this.animation=new C,this.queue=void 0,this.defaultProps={},this._state={paused:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set},this._pendingCalls=new Set,this._lastCallId=0,this._lastToId=0,this._memoizedDuration=0,!o.s.und(e)||!o.s.und(t)){const n=o.s.obj(e)?i({},e):i({},t,{from:e});o.s.und(n.default)&&(n.default=!0),this.start(n)}}get idle(){return!(z(this)||this._state.asyncTo)||H(this)}get goal(){return Object(o.q)(this.animation.to)}get velocity(){const e=Object(c.e)(this);return e instanceof c.c?e.lastVelocity||0:e.getPayload().map(e=>e.lastVelocity||0)}get hasAnimated(){return F(this)}get isAnimating(){return z(this)}get isPaused(){return H(this)}advance(e){let t=!0,n=!1;const r=this.animation;let{config:i,toValues:l}=r;const a=Object(c.g)(r.to);!a&&Object(o.r)(r.to)&&(l=Object(o.y)(Object(o.q)(r.to))),r.values.forEach((s,u)=>{if(s.done)return;const d=s.constructor==c.b?1:a?a[u].lastPosition:l[u];let b=r.immediate,p=d;if(!b){if(p=s.lastPosition,i.tension<=0)return void(s.done=!0);let t=s.elapsedTime+=e;const n=r.fromValues[u],c=null!=s.v0?s.v0:s.v0=o.s.arr(i.velocity)?i.velocity[u]:i.velocity;let l;if(o.s.und(i.duration))if(i.decay){const e=!0===i.decay?.998:i.decay,o=Math.exp(-(1-e)*t);p=n+c/(1-e)*(1-o),b=Math.abs(s.lastPosition-p)<.1,l=c*o}else{l=null==s.lastVelocity?c:s.lastVelocity;const t=i.precision||(n==d?.005:Math.min(1,.001*Math.abs(d-n))),r=i.restVelocity||t/10,a=i.clamp?0:i.bounce,u=!o.s.und(a),m=n==d?s.v0>0:nr,f||(b=Math.abs(d-p)<=t,!b));++e){u&&(h=p==d||p>d==m,h&&(l=-l*a,p=d));l+=(1e-6*-i.tension*(p-d)+.001*-i.friction*l)/i.mass*g,p+=l*g}}else{let o=1;i.duration>0&&(this._memoizedDuration!==i.duration&&(this._memoizedDuration=i.duration,s.durationProgress>0&&(s.elapsedTime=i.duration*s.durationProgress,t=s.elapsedTime+=e)),o=(i.progress||0)+t/this._memoizedDuration,o=o>1?1:o<0?0:o,s.durationProgress=o),p=n+i.easing(o)*(d-n),l=(p-s.lastPosition)/e,b=1==o}s.lastVelocity=l,Number.isNaN(p)&&(console.warn("Got NaN while animating:",this),b=!0)}a&&!a[u].done&&(b=!1),b?s.done=!0:t=!1,s.setValue(p,i.round)&&(n=!0)});const s=Object(c.e)(this),u=s.getValue();if(t){const e=Object(o.q)(r.to);u===e&&!n||i.decay?n&&i.decay&&this._onChange(u):(s.setValue(e),this._onChange(e)),this._stop()}else n&&this._onChange(u)}set(e){return o.w.batchedUpdates(()=>{this._stop(),this._focus(e),this._set(e)}),this}pause(){this._update({pause:!0})}resume(){this._update({pause:!1})}finish(){if(z(this)){const{to:e,config:t}=this.animation;o.w.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 o.s.und(e)?(n=this.queue||[],this.queue=[]):n=[o.s.obj(e)?e:i({},t,{to:e})],Promise.all(n.map(e=>this._update(e))).then(e=>w(this,e))}stop(e){const{to:t}=this.animation;return this._focus(this.get()),P(this._state,e&&this._lastCallId),o.w.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:r}=e;n=o.s.obj(n)?n[t]:n,(null==n||O(n))&&(n=void 0),r=o.s.obj(r)?r[t]:r,null==r&&(r=void 0);const i={to:n,from:r};return F(this)||(e.reverse&&([n,r]=[r,n]),r=Object(o.q)(r),o.s.und(r)?Object(c.e)(this)||this._set(n):this._set(r)),i}_update(e,t){let n=i({},e);const{key:r,defaultProps:c}=this;n.default&&Object.assign(c,b(n,(e,t)=>/^on/.test(t)?s(e,r):e)),Z(this,n,"onProps"),Q(this,"onProps",n,this);const l=this._prepareNode(n);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 a=this._state;return S(++this._lastCallId,{key:r,props:n,defaultProps:c,state:a,actions:{pause:()=>{H(this)||(G(this,!0),Object(o.n)(a.pauseQueue),Q(this,"onPause",I(this,W(this,this.animation.to)),this))},resume:()=>{H(this)&&(G(this,!1),z(this)&&this._resume(),Object(o.n)(a.resumeQueue),Q(this,"onResume",I(this,W(this,this.animation.to)),this))},start:this._merge.bind(this,l)}}).then(e=>{if(n.loop&&e.finished&&(!t||!e.noop)){const e=q(n);if(e)return this._update(e,!0)}return e})}_merge(e,t,n){if(t.cancel)return this.stop(!0),n(x(this));const r=!o.s.und(e.to),s=!o.s.und(e.from);if(r||s){if(!(t.callId>this._lastToId))return n(x(this));this._lastToId=t.callId}const{key:u,defaultProps:d,animation:b}=this,{to:p,from:m}=b;let{to:f=p,from:g=m}=e;!s||r||t.default&&!o.s.und(f)||(f=g),t.reverse&&([f,g]=[g,f]);const v=!Object(o.u)(g,m);v&&(b.from=g),g=Object(o.q)(g);const j=!Object(o.u)(f,p);j&&this._focus(f);const _=O(t.to),{config:E}=b,{decay:C,velocity:S}=E;(r||s)&&(E.velocity=0),t.config&&!_&&function(e,t,n){n&&(y(n=i({},n),t),t=i({},n,t)),y(e,t),Object.assign(e,t);for(const t in k)null==e[t]&&(e[t]=k[t]);let{mass:r,frequency:c,damping:l}=e;o.s.und(c)||(c<.01&&(c=.01),l<0&&(l=0),e.tension=Math.pow(2*Math.PI/c,2)*r,e.friction=4*Math.PI*l*r/c)}(E,l(t.config,u),t.config!==d.config?l(d.config,u):void 0);let w=Object(c.e)(this);if(!w||o.s.und(f))return n(I(this,!0));const P=o.s.und(t.reset)?s&&!t.default:!o.s.und(g)&&a(t.reset,u),R=P?g:this.get(),N=h(f),L=o.s.num(N)||o.s.arr(N)||Object(o.t)(N),M=!_&&(!L||a(d.immediate||t.immediate,u));if(j){const e=Object(c.f)(f);if(e!==w.constructor){if(!M)throw Error(`Cannot animate between ${w.constructor.name} and ${e.name}, as the "to" prop suggests`);w=this._set(N)}}const A=w.constructor;let D=Object(o.r)(f),H=!1;if(!D){const e=P||!F(this)&&v;(j||e)&&(H=Object(o.u)(h(R),N),D=!H),(Object(o.u)(b.immediate,M)||M)&&Object(o.u)(E.decay,C)&&Object(o.u)(E.velocity,S)||(D=!0)}if(H&&z(this)&&(b.changed&&!P?D=!0:D||this._stop(p)),!_&&((D||Object(o.r)(p))&&(b.values=w.getPayload(),b.toValues=Object(o.r)(f)?null:A==c.b?[1]:Object(o.y)(N)),b.immediate!=M&&(b.immediate=M,M||P||this._set(p)),D)){const{onRest:e}=b;Object(o.k)(X,e=>Z(this,t,e));const r=I(this,W(this,p));Object(o.n)(this._pendingCalls,r),this._pendingCalls.add(n),b.changed&&o.w.batchedUpdates(()=>{b.changed=!P,null==e||e(r,this),P?l(d.onRest,r):null==b.onStart||b.onStart(r,this)})}P&&this._set(R),_?n(T(t.to,t,this._state,this)):D?this._start():z(this)&&!j?this._pendingCalls.add(n):n(B(R))}_focus(e){const t=this.animation;e!==t.to&&(Object(o.p)(this)&&this._detach(),t.to=e,Object(o.p)(this)&&this._attach())}_attach(){let e=0;const{to:t}=this.animation;Object(o.r)(t)&&(Object(o.c)(t,this),L(t)&&(e=t.priority+1)),this.priority=e}_detach(){const{to:e}=this.animation;Object(o.r)(e)&&Object(o.x)(e,this)}_set(e,t=!0){const n=Object(o.q)(e);if(!o.s.und(n)){const e=Object(c.e)(this);if(!e||!Object(o.u)(n,e.getValue())){const r=Object(c.f)(n);e&&e.constructor==r?e.setValue(n):Object(c.h)(this,r.create(n)),e&&o.w.batchedUpdates(()=>{this._onChange(n,t)})}}return Object(c.e)(this)}_onStart(){const e=this.animation;e.changed||(e.changed=!0,Q(this,"onStart",I(this,W(this,e.to)),this))}_onChange(e,t){t||(this._onStart(),l(this.animation.onChange,e,this)),l(this.defaultProps.onChange,e,this),super._onChange(e,t)}_start(){const e=this.animation;Object(c.e)(this).reset(Object(o.q)(e.to)),e.immediate||(e.fromValues=e.values.map(e=>e.lastPosition)),z(this)||(V(this,!0),H(this)||this._resume())}_resume(){o.b.skipAnimation?this.finish():o.o.start(this)}_stop(e,t){if(z(this)){V(this,!1);const n=this.animation;Object(o.k)(n.values,e=>{e.done=!0}),n.toValues&&(n.onChange=n.onPause=n.onResume=void 0),Object(o.d)(this,{type:"idle",parent:this});const r=t?x(this.get()):I(this.get(),W(this,null!=e?e:n.to));Object(o.n)(this._pendingCalls,r),n.changed&&(n.changed=!1,Q(this,"onRest",r,this))}}}function W(e,t){const n=h(t),r=h(e.get());return Object(o.u)(r,n)}function q(e,t=e.loop,n=e.to){let o=l(t);if(o){const r=!0!==o&&f(o),c=(r||e).reverse,l=!r||r.reset;return K(i({},e,{loop:t,default:!1,pause:void 0,to:!c||O(n)?n:void 0,from:l?e.from:void 0,reset:l},r))}}function K(e){const{to:t,from:n}=e=f(e),r=new Set;return o.s.obj(t)&&Y(t,r),o.s.obj(n)&&Y(n,r),e.keys=r.size?Array.from(r):null,e}function $(e){const t=K(e);return o.s.und(t.default)&&(t.default=b(t)),t}function Y(e,t){Object(o.l)(e,(e,n)=>null!=e&&t.add(n))}const X=["onStart","onRest","onChange","onPause","onResume"];function Z(e,t,n){e.animation[n]=t[n]!==u(t,n)?s(t[n],e.key):void 0}function Q(e,t,...n){var o,r,c,i;null==(o=(r=e.animation)[t])||o.call(r,...n),null==(c=(i=e.defaultProps)[t])||c.call(i,...n)}const J=["onStart","onChange","onRest"];let ee=1;class te{constructor(e,t){this.id=ee++,this.springs={},this.queue=[],this.ref=void 0,this._flush=void 0,this._initialProps=void 0,this._lastAsyncId=0,this._active=new Set,this._changed=new Set,this._started=!1,this._item=void 0,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(i({default:!0},e))}get idle(){return!this._state.asyncTo&&Object.values(this.springs).every(e=>e.idle)}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];o.s.und(n)||this.springs[t].set(n)}}update(e){return e&&this.queue.push(K(e)),this}start(e){let{queue:t}=this;return e?t=Object(o.y)(e).map(K):this.queue=[],this._flush?this._flush(this,t):(le(this,t),ne(this,t))}stop(e,t){if(e!==!!e&&(t=e),t){const n=this.springs;Object(o.k)(Object(o.y)(t),t=>n[t].stop(!!e))}else P(this._state,this._lastAsyncId),this.each(t=>t.stop(!!e));return this}pause(e){if(o.s.und(e))this.start({pause:!0});else{const t=this.springs;Object(o.k)(Object(o.y)(e),e=>t[e].pause())}return this}resume(e){if(o.s.und(e))this.start({pause:!1});else{const t=this.springs;Object(o.k)(Object(o.y)(e),e=>t[e].resume())}return this}each(e){Object(o.l)(this.springs,e)}_onFrame(){const{onStart:e,onChange:t,onRest:n}=this._events,r=this._active.size>0,c=this._changed.size>0;(r&&!this._started||c&&!this._started)&&(this._started=!0,Object(o.m)(e,([e,t])=>{t.value=this.get(),e(t,this,this._item)}));const i=!r&&this._started,l=c||i&&n.size?this.get():null;c&&t.size&&Object(o.m)(t,([e,t])=>{t.value=l,e(t,this,this._item)}),i&&(this._started=!1,Object(o.m)(n,([e,t])=>{t.value=l,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)}o.w.onFrame(this._onFrame)}}function ne(e,t){return Promise.all(t.map(t=>async function e(t,n,r){const{keys:c,to:i,from:l,loop:a,onRest:s,onResolve:d}=n,b=o.s.obj(n.default)&&n.default;a&&(n.loop=!1);!1===i&&(n.to=null);!1===l&&(n.from=null);const p=o.s.arr(i)||o.s.fun(i)?i:void 0;p?(n.to=void 0,n.onRest=void 0,b&&(b.onRest=void 0)):Object(o.k)(J,e=>{const r=n[e];if(o.s.fun(r)){const o=t._events[e];n[e]=({finished:e,cancelled:t})=>{const n=o.get(r);n?(e||(n.finished=!1),t&&(n.cancelled=!0)):o.set(r,{value:null,finished:e||!1,cancelled:t||!1})},b&&(b[e]=n[e])}});const m=t._state;n.pause===!m.paused?(m.paused=n.pause,Object(o.n)(n.pause?m.pauseQueue:m.resumeQueue)):m.paused&&(n.pause=!0);const f=(c||Object.keys(t.springs)).map(e=>t.springs[e].start(n)),h=!0===n.cancel||!0===u(n,"cancel");(p||h&&m.asyncId)&&f.push(S(++t._lastAsyncId,{props:n,state:m,actions:{pause:o.v,resume:o.v,start(e,n){h?(P(m,t._lastAsyncId),n(x(t))):(e.onRest=s,n(T(p,e,m,t)))}}}));m.paused&&await new Promise(e=>{m.resumeQueue.add(e)});const g=w(t,await Promise.all(f));if(a&&g.finished&&(!r||!g.noop)){const o=q(n,a,i);if(o)return le(t,[o]),e(t,o,!0)}d&&o.w.batchedUpdates(()=>d(g,t,t.item));return g}(e,t))).then(t=>w(e,t))}function oe(e,t){const n=i({},e.springs);return t&&Object(o.k)(Object(o.y)(t),e=>{o.s.und(e.keys)&&(e=K(e)),o.s.obj(e.to)||(e=i({},e,{to:void 0})),ie(n,e,e=>ce(e))}),re(e,n),n}function re(e,t){Object(o.l)(t,(t,n)=>{e.springs[n]||(e.springs[n]=t,Object(o.c)(t,e))})}function ce(e,t){const n=new U;return n.key=e,t&&Object(o.c)(n,t),n}function ie(e,t,n){t.keys&&Object(o.k)(t.keys,o=>{(e[o]||(e[o]=n(o)))._prepareNode(t)})}function le(e,t){Object(o.k)(t,t=>{ie(e.springs,t,t=>ce(t,e))})}function ae(e,t){if(null==e)return{};var n,o,r={},c=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}const se=["children"],ue=e=>{let{children:t}=e,n=ae(e,se);const c=Object(r.useContext)(de),i=n.pause||!!c.pause,l=n.immediate||!!c.immediate;n=Object(o.B)(()=>({pause:i,immediate:l}),[i,l]);const{Provider:a}=de;return r.createElement(a,{value:n},t)},de=(be=ue,pe={},Object.assign(be,r.createContext(pe)),be.Provider._context=be,be.Consumer._context=be,be);var be,pe;ue.Provider=de.Provider,ue.Consumer=de.Consumer;const me=()=>{const e=[],t=function(t){Object(o.i)();const r=[];return Object(o.k)(e,(e,c)=>{if(o.s.und(t))r.push(e.start());else{const o=n(t,e,c);o&&r.push(e.start(o))}}),r};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 Object(o.k)(e,e=>e.pause(...arguments)),this},t.resume=function(){return Object(o.k)(e,e=>e.resume(...arguments)),this},t.set=function(t){Object(o.k)(e,e=>e.set(t))},t.start=function(t){const n=[];return Object(o.k)(e,(e,r)=>{if(o.s.und(t))n.push(e.start());else{const o=this._getProps(t,e,r);o&&n.push(e.start(o))}}),n},t.stop=function(){return Object(o.k)(e,e=>e.stop(...arguments)),this},t.update=function(t){return Object(o.k)(e,(e,n)=>e.update(this._getProps(t,e,n))),this};const n=function(e,t,n){return o.s.fun(e)?e(n,t):e};return t._getProps=n,t};function fe(e,t,n){const c=o.s.fun(t)&&t;c&&!n&&(n=[]);const l=Object(r.useMemo)(()=>c||3==arguments.length?me():void 0,[]),a=Object(r.useRef)(0),s=Object(o.z)(),u=Object(r.useMemo)(()=>({ctrls:[],queue:[],flush(e,t){const n=oe(e,t);return a.current>0&&!u.queue.length&&!Object.keys(n).some(t=>!e.springs[t])?ne(e,t):new Promise(o=>{re(e,n),u.queue.push(()=>{o(ne(e,t))}),s()})}}),[]),d=Object(r.useRef)([...u.ctrls]),b=[],p=Object(o.D)(e)||0;function m(e,n){for(let o=e;o{Object(o.k)(d.current.slice(e,p),e=>{v(e,l),e.stop(!0)}),d.current.length=e,m(p,e)},[e]),Object(r.useMemo)(()=>{m(0,Math.min(p,e))},n);const f=d.current.map((e,t)=>oe(e,b[t])),h=Object(r.useContext)(ue),O=Object(o.D)(h),k=h!==O&&g(h);Object(o.A)(()=>{a.current++,u.ctrls=d.current;const{queue:e}=u;e.length&&(u.queue=[],Object(o.k)(e,e=>e())),Object(o.k)(d.current,(e,t)=>{null==l||l.add(e),k&&e.start({default:h});const n=b[t];n&&(j(e,n.ref),e.ref?e.queue.push(n):e.start(n))})}),Object(o.C)(()=>()=>{Object(o.k)(u.ctrls,e=>e.stop(!0))});const _=f.map(e=>i({},e));return l?[_,l]:_}function he(e,t){const n=o.s.fun(e),[[r],c]=fe(1,n?e:[e],n?t||[]:t);return n||2==arguments.length?[r,c]:r}let ge;!function(e){e.MOUNT="mount",e.ENTER="enter",e.UPDATE="update",e.LEAVE="leave"}(ge||(ge={}));class Oe extends A{constructor(e,t){super(),this.key=void 0,this.idle=!0,this.calc=void 0,this._active=new Set,this.source=e,this.calc=Object(o.f)(...t);const n=this._get(),r=Object(c.f)(n);Object(c.h)(this,r.create(n))}advance(e){const t=this._get(),n=this.get();Object(o.u)(t,n)||(Object(c.e)(this).setValue(t),this._onChange(t,this.idle)),!this.idle&&je(this._active)&&ke(this)}_get(){const e=o.s.arr(this.source)?this.source.map(o.q):Object(o.y)(Object(o.q)(this.source));return this.calc(...e)}_start(){this.idle&&!je(this._active)&&(this.idle=!1,Object(o.k)(Object(c.g)(this),e=>{e.done=!1}),o.b.skipAnimation?(o.w.batchedUpdates(()=>this.advance()),ke(this)):o.o.start(this))}_attach(){let e=1;Object(o.k)(Object(o.y)(this.source),t=>{Object(o.r)(t)&&Object(o.c)(t,this),L(t)&&(t.idle||this._active.add(t),e=Math.max(e,t.priority+1))}),this.priority=e,this._start()}_detach(){Object(o.k)(Object(o.y)(this.source),e=>{Object(o.r)(e)&&Object(o.x)(e,this)}),this._active.clear(),ke(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=Object(o.y)(this.source).reduce((e,t)=>Math.max(e,(L(t)?t.priority:0)+1),0))}}function ve(e){return!1!==e.idle}function je(e){return!e.size||Array.from(e).every(ve)}function ke(e){e.idle||(e.idle=!0,Object(o.k)(Object(c.g)(e),e=>{e.done=!0}),Object(o.d)(e,{type:"idle",parent:e}))}o.b.assign({createStringInterpolator:o.g,to:(e,t)=>new Oe(e,t)});o.o.advance},l3Sj:function(e,t){e.exports=window.wp.i18n},lJLt:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return c}));var o=n("l3Sj");const r={insertUsage:{}},c={alignWide:!1,supportsLayout:!0,colors:[{name:Object(o.__)("Black"),slug:"black",color:"#000000"},{name:Object(o.__)("Cyan bluish gray"),slug:"cyan-bluish-gray",color:"#abb8c3"},{name:Object(o.__)("White"),slug:"white",color:"#ffffff"},{name:Object(o.__)("Pale pink"),slug:"pale-pink",color:"#f78da7"},{name:Object(o.__)("Vivid red"),slug:"vivid-red",color:"#cf2e2e"},{name:Object(o.__)("Luminous vivid orange"),slug:"luminous-vivid-orange",color:"#ff6900"},{name:Object(o.__)("Luminous vivid amber"),slug:"luminous-vivid-amber",color:"#fcb900"},{name:Object(o.__)("Light green cyan"),slug:"light-green-cyan",color:"#7bdcb5"},{name:Object(o.__)("Vivid green cyan"),slug:"vivid-green-cyan",color:"#00d084"},{name:Object(o.__)("Pale cyan blue"),slug:"pale-cyan-blue",color:"#8ed1fc"},{name:Object(o.__)("Vivid cyan blue"),slug:"vivid-cyan-blue",color:"#0693e3"},{name:Object(o.__)("Vivid purple"),slug:"vivid-purple",color:"#9b51e0"}],fontSizes:[{name:Object(o._x)("Small","font size name"),size:13,slug:"small"},{name:Object(o._x)("Normal","font size name"),size:16,slug:"normal"},{name:Object(o._x)("Medium","font size name"),size:20,slug:"medium"},{name:Object(o._x)("Large","font size name"),size:36,slug:"large"},{name:Object(o._x)("Huge","font size name"),size:42,slug:"huge"}],imageDefaultSize:"large",imageSizes:[{slug:"thumbnail",name:Object(o.__)("Thumbnail")},{slug:"medium",name:Object(o.__)("Medium")},{slug:"large",name:Object(o.__)("Large")},{slug:"full",name:Object(o.__)("Full Size")}],imageEditing:!0,maxWidth:580,allowedBlockTypes:!0,maxUploadFileSize:0,allowedMimeTypes:null,__experimentalCanUserUseUnfilteredHTML:!1,__experimentalBlockDirectory:!1,__mobileEnablePageTemplates:!1,__experimentalBlockPatterns:[],__experimentalBlockPatternCategories:[],__experimentalSpotlightEntityBlocks:[],__unstableGalleryWithImageBlocks:!1,gradients:[{name:Object(o.__)("Vivid cyan blue to vivid purple"),gradient:"linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)",slug:"vivid-cyan-blue-to-vivid-purple"},{name:Object(o.__)("Light green cyan to vivid green cyan"),gradient:"linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%)",slug:"light-green-cyan-to-vivid-green-cyan"},{name:Object(o.__)("Luminous vivid amber to luminous vivid orange"),gradient:"linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%)",slug:"luminous-vivid-amber-to-luminous-vivid-orange"},{name:Object(o.__)("Luminous vivid orange to vivid red"),gradient:"linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%)",slug:"luminous-vivid-orange-to-vivid-red"},{name:Object(o.__)("Very light gray to cyan bluish gray"),gradient:"linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%)",slug:"very-light-gray-to-cyan-bluish-gray"},{name:Object(o.__)("Cool to warm spectrum"),gradient:"linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%)",slug:"cool-to-warm-spectrum"},{name:Object(o.__)("Blush light purple"),gradient:"linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%)",slug:"blush-light-purple"},{name:Object(o.__)("Blush bordeaux"),gradient:"linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%)",slug:"blush-bordeaux"},{name:Object(o.__)("Luminous dusk"),gradient:"linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%)",slug:"luminous-dusk"},{name:Object(o.__)("Pale ocean"),gradient:"linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%)",slug:"pale-ocean"},{name:Object(o.__)("Electric grass"),gradient:"linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%)",slug:"electric-grass"},{name:Object(o.__)("Midnight"),gradient:"linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%)",slug:"midnight"}]}},mdLt:function(e,t,n){"use strict";var o=n("GRId"),r=n("tI+e");t.a=function({title:e,icon:t,children:n}){return Object(o.createElement)(o.Fragment,null,Object(o.createElement)("div",{className:"block-editor-inserter__panel-header"},Object(o.createElement)("h2",{className:"block-editor-inserter__panel-title"},e),Object(o.createElement)(r.Icon,{icon:t})),Object(o.createElement)("div",{className:"block-editor-inserter__panel-content"},n))}},mlss:function(e,t,n){"use strict";var o=n("tI+e");const{Fill:r,Slot:c}=Object(o.createSlotFill)("__unstableInserterMenuExtension");r.Slot=c,t.a=r},nEW0:function(e,t,n){"use strict";n.d(t,"w",(function(){return r})),n.d(t,"a",(function(){return Oe})),n.d(t,"b",(function(){return M})),n.d(t,"c",(function(){return je})),n.d(t,"d",(function(){return ge})),n.d(t,"e",(function(){return q})),n.d(t,"f",(function(){return ue})),n.d(t,"g",(function(){return Ie})),n.d(t,"h",(function(){return y})),n.d(t,"i",(function(){return Le})),n.d(t,"j",(function(){return Re})),n.d(t,"k",(function(){return S})),n.d(t,"l",(function(){return w})),n.d(t,"m",(function(){return I})),n.d(t,"n",(function(){return x})),n.d(t,"o",(function(){return H})),n.d(t,"p",(function(){return he})),n.d(t,"q",(function(){return fe})),n.d(t,"r",(function(){return me})),n.d(t,"s",(function(){return E})),n.d(t,"t",(function(){return Me})),n.d(t,"u",(function(){return C})),n.d(t,"v",(function(){return _})),n.d(t,"x",(function(){return ke})),n.d(t,"y",(function(){return B})),n.d(t,"z",(function(){return Fe})),n.d(t,"A",(function(){return Ge})),n.d(t,"B",(function(){return He})),n.d(t,"C",(function(){return Ae})),n.d(t,"D",(function(){return Ve}));let o=O();const r=e=>m(e,o);let c=O();r.write=e=>m(e,c);let i=O();r.onStart=e=>m(e,i);let l=O();r.onFrame=e=>m(e,l);let a=O();r.onFinish=e=>m(e,a);let s=[];r.setTimeout=(e,t)=>{let n=r.now()+t,o=()=>{let e=s.findIndex(e=>e.cancel==o);~e&&s.splice(e,1),j.count-=~e?1:0},c={time:n,handler:e,cancel:o};return s.splice(u(n),0,c),j.count+=1,f(),c};let u=e=>~(~s.findIndex(t=>t.time>e)||~s.length);r.cancel=e=>{o.delete(e),c.delete(e)},r.sync=e=>{p=!0,r.batchedUpdates(e),p=!1},r.throttle=e=>{let t;function n(){try{e(...t)}finally{t=null}}function o(...e){t=e,r.onStart(n)}return o.handler=e,o.cancel=()=>{i.delete(n),t=null},o};let d="undefined"!=typeof window?window.requestAnimationFrame:()=>{};r.use=e=>d=e,r.now="undefined"!=typeof performance?()=>performance.now():Date.now,r.batchedUpdates=e=>e(),r.catch=console.error,r.frameLoop="always",r.advance=()=>{"demand"!==r.frameLoop?console.warn("Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"):g()};let b=-1,p=!1;function m(e,t){p?(t.delete(e),e(0)):(t.add(e),f())}function f(){b<0&&(b=0,"demand"!==r.frameLoop&&d(h))}function h(){~b&&(d(h),r.batchedUpdates(g))}function g(){let e=b;b=r.now();let t=u(b);t&&(v(s.splice(0,t),e=>e.handler()),j.count-=t),i.flush(),o.flush(e?Math.min(64,b-e):16.667),l.flush(),c.flush(),a.flush()}function O(){let e=new Set,t=e;return{add(n){j.count+=t!=e||e.has(n)?0:1,e.add(n)},delete:n=>(j.count-=t==e&&e.has(n)?1:0,e.delete(n)),flush(n){t.size&&(e=new Set,j.count-=t.size,v(t,t=>t(n)&&e.add(t)),j.count+=e.size,t=e)}}}function v(e,t){e.forEach(e=>{try{t(e)}catch(e){r.catch(e)}})}const j={count:0,clear(){b=-1,s=[],i=O(),o=O(),l=O(),c=O(),a=O(),j.count=0}};var k=n("cDcd");function _(){}const y=(e,t,n)=>Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0}),E={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 C(e,t){if(E.arr(e)){if(!E.arr(t)||e.length!==t.length)return!1;for(let n=0;ne.forEach(t);function w(e,t,n){if(E.arr(e))for(let o=0;oE.und(e)?[]:E.arr(e)?e:[e];function I(e,t){if(e.size){const n=Array.from(e);e.clear(),S(n,t)}}const x=(e,...t)=>I(e,e=>e(...t));let T,P,R=null,N=!1,L=_;var M=Object.freeze({__proto__:null,get createStringInterpolator(){return T},get to(){return P},get colors(){return R},get skipAnimation(){return N},get willAdvance(){return L},assign:e=>{e.to&&(P=e.to),e.now&&(r.now=e.now),void 0!==e.colors&&(R=e.colors),null!=e.skipAnimation&&(N=e.skipAnimation),e.createStringInterpolator&&(T=e.createStringInterpolator),e.requestAnimationFrame&&r.use(e.requestAnimationFrame),e.batchedUpdates&&(r.batchedUpdates=e.batchedUpdates),e.willAdvance&&(L=e.willAdvance),e.frameLoop&&(r.frameLoop=e.frameLoop)}});const A=new Set;let D=[],F=[],z=0;const H={get idle(){return!A.size&&!D.length},start(e){z>e.priority?(A.add(e),r.onStart(V)):(G(e),r(W))},advance:W,sort(e){if(z)r.onFrame(()=>H.sort(e));else{const t=D.indexOf(e);~t&&(D.splice(t,1),U(e))}},clear(){D=[],A.clear()}};function V(){A.forEach(G),A.clear(),r(W)}function G(e){D.includes(e)||U(e)}function U(e){D.splice(function(e,t){const n=e.findIndex(t);return n<0?e.length:n}(D,t=>t.priority>e.priority),0,e)}function W(e){const t=F;for(let n=0;n0}const q={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},K="[-+]?\\d*\\.?\\d+";function $(...e){return"\\(\\s*("+e.join(")\\s*,\\s*(")+")\\s*\\)"}const Y=new RegExp("rgb"+$(K,K,K)),X=new RegExp("rgba"+$(K,K,K,K)),Z=new RegExp("hsl"+$(K,"[-+]?\\d*\\.?\\d+%","[-+]?\\d*\\.?\\d+%")),Q=new RegExp("hsla"+$(K,"[-+]?\\d*\\.?\\d+%","[-+]?\\d*\\.?\\d+%",K)),J=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,ee=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,te=/^#([0-9a-fA-F]{6})$/,ne=/^#([0-9a-fA-F]{8})$/;function oe(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 re(e,t,n){const o=n<.5?n*(1+t):n+t-n*t,r=2*n-o,c=oe(r,o,e+1/3),i=oe(r,o,e),l=oe(r,o,e-1/3);return Math.round(255*c)<<24|Math.round(255*i)<<16|Math.round(255*l)<<8}function ce(e){const t=parseInt(e,10);return t<0?0:t>255?255:t}function ie(e){return(parseFloat(e)%360+360)%360/360}function le(e){const t=parseFloat(e);return t<0?0:t>1?255:Math.round(255*t)}function ae(e){const t=parseFloat(e);return t<0?0:t>100?1:t/100}function se(e){let t=function(e){let t;return"number"==typeof e?e>>>0===e&&e>=0&&e<=4294967295?e:null:(t=te.exec(e))?parseInt(t[1]+"ff",16)>>>0:R&&void 0!==R[e]?R[e]:(t=Y.exec(e))?(ce(t[1])<<24|ce(t[2])<<16|ce(t[3])<<8|255)>>>0:(t=X.exec(e))?(ce(t[1])<<24|ce(t[2])<<16|ce(t[3])<<8|le(t[4]))>>>0:(t=J.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+"ff",16)>>>0:(t=ne.exec(e))?parseInt(t[1],16)>>>0:(t=ee.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+t[4]+t[4],16)>>>0:(t=Z.exec(e))?(255|re(ie(t[1]),ae(t[2]),ae(t[3])))>>>0:(t=Q.exec(e))?(re(ie(t[1]),ae(t[2]),ae(t[3]))|le(t[4]))>>>0:null}(e);return null===t?e:(t=t||0,`rgba(${(4278190080&t)>>>24}, ${(16711680&t)>>>16}, ${(65280&t)>>>8}, ${(255&t)/255})`)}const ue=(e,t,n)=>{if(E.fun(e))return e;if(E.arr(e))return ue({range:e,output:t,extrapolate:n});if(E.str(e.output[0]))return T(e);const o=e,r=o.output,c=o.range||[0,1],i=o.extrapolateLeft||o.extrapolate||"extend",l=o.extrapolateRight||o.extrapolate||"extend",a=o.easing||(e=>e);return e=>{const t=function(e,t){for(var n=1;n=e);++n);return n-1}(e,c);return function(e,t,n,o,r,c,i,l,a){let s=a?a(e):e;if(sn){if("identity"===l)return s;"clamp"===l&&(s=n)}if(o===r)return o;if(t===n)return e<=t?o:r;t===-1/0?s=-s:n===1/0?s-=t:s=(s-t)/(n-t);s=c(s),o===-1/0?s=-s:r===1/0?s+=o:s=s*(r-o)+o;return s}(e,c[t],c[t+1],r[t],r[t+1],a,i,l,o.map)}};function de(){return(de=Object.assign||function(e){for(var t=1;tBoolean(e&&e[be]),fe=e=>e&&e[be]?e[be]():e,he=e=>e[pe]||null;function ge(e,t){let n=e[pe];n&&n.forEach(e=>{!function(e,t){e.eventObserved?e.eventObserved(t):e(t)}(e,t)})}class Oe{constructor(e){if(this[be]=void 0,this[pe]=void 0,!e&&!(e=this.get))throw Error("Unknown getter");ve(this,e)}}const ve=(e,t)=>_e(e,be,t);function je(e,t){if(e[be]){let n=e[pe];n||_e(e,pe,n=new Set),n.has(t)||(n.add(t),e.observerAdded&&e.observerAdded(n.size,t))}return t}function ke(e,t){let n=e[pe];if(n&&n.has(t)){const o=n.size-1;o?n.delete(t):e[pe]=null,e.observerRemoved&&e.observerRemoved(o,t)}}const _e=(e,t,n)=>Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0}),ye=/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,Ee=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,Ce=new RegExp(`(${ye.source})(%|[a-z]+)`,"i");let Se;const we=/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi,Be=(e,t,n,o,r)=>`rgba(${Math.round(t)}, ${Math.round(n)}, ${Math.round(o)}, ${r})`,Ie=e=>{Se||(Se=R?new RegExp(`(${Object.keys(R).join("|")})(?!\\w)`,"g"):/^\b$/);const t=e.output.map(e=>fe(e).replace(Ee,se).replace(Se,se)),n=t.map(e=>e.match(ye).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]})).map(t=>ue(de({},e,{output:t})));return e=>{var n;const r=!Ce.test(t[0])&&(null==(n=t.find(e=>Ce.test(e)))?void 0:n.replace(ye,""));let c=0;return t[0].replace(ye,()=>`${o[c++](e)}${r||""}`).replace(we,Be)}},xe="react-spring: ",Te=e=>{const t=e;let n=!1;if("function"!=typeof t)throw new TypeError(xe+"once requires a function parameter");return(...e)=>{n||(t(...e),n=!0)}},Pe=Te(console.warn);function Re(){Pe(xe+'The "interpolate" function is deprecated in v9 (use "to" instead)')}const Ne=Te(console.warn);function Le(){Ne(xe+'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')}function Me(e){return E.str(e)&&("#"==e[0]||/\d/.test(e)||e in(R||{}))}const Ae=e=>Object(k.useEffect)(e,De),De=[];function Fe(){const e=Object(k.useState)()[1],t=Object(k.useState)(ze)[0];return Ae(t.unmount),()=>{t.current&&e({})}}function ze(){const e={current:!0,unmount:()=>()=>{e.current=!1}};return e}function He(e,t){const[n]=Object(k.useState)(()=>({inputs:t,result:e()})),o=Object(k.useRef)(),r=o.current;let c=r;if(c){Boolean(t&&c.inputs&&function(e,t){if(e.length!==t.length)return!1;for(let n=0;n{o.current=c,r==n&&(n.inputs=n.result=void 0)},[c]),c.result}function Ve(e){const t=Object(k.useRef)();return Object(k.useEffect)(()=>{t.current=e}),t.current}const Ge="undefined"!=typeof window&&window.document&&window.document.createElement?k.useLayoutEffect:k.useEffect},nQUx:function(e,t,n){"use strict";var o=n("YLtl"),r=n("GRId"),c=n("HSyU"),i=n("1ZqX"),l=n("l3Sj"),a=n("onLe"),s=n("BhPs");t.a=(e,t)=>{const{patternCategories:n,patterns:u}=Object(i.useSelect)(e=>{const{__experimentalGetAllowedPatterns:n,getSettings:o}=e(s.a);return{patterns:n(t),patternCategories:o().__experimentalBlockPatternCategories}},[t]),{createSuccessNotice:d}=Object(i.useDispatch)(a.store);return[u,n,Object(r.useCallback)((t,n)=>{e(Object(o.map)(n,e=>Object(c.cloneBlock)(e)),t.name),d(Object(l.sprintf)(Object(l.__)('Block pattern "%s" inserted.'),t.title),{type:"snackbar"})},[])]}},nlh6:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return w}));var o=n("TSYQ"),r=n.n(o),c=n("GRId"),i=n("l3Sj"),l=n("HSyU"),a=n("K9lf"),s=n("1ZqX"),u=(n("Z23Y"),n("Xkls")),d=n("jBNB"),b=n("z+q2"),p=n("kBLm"),m=n("ur0x"),f=n("Q2Xw"),h=n("YZt4"),g=n("ERVc"),O=n("+6d5"),v=n("6jxZ"),j=n("felP"),k=n("JDWi"),_=n("G4zt"),y=n("PKbb"),E=n("hw9B"),C=n("rHRV"),S=n("BhPs");function w(t={},{__unstableIsHtml:n}={}){const{clientId:o,className:w,wrapperProps:B={},isAligned:I}=Object(c.useContext)(d.a),{index:x,mode:T,name:P,blockApiVersion:R,blockTitle:N,isPartOfSelection:L,adjustScrolling:M,enableAnimation:A}=Object(s.useSelect)(e=>{const{getBlockRootClientId:t,getBlockIndex:n,getBlockMode:r,getBlockName:c,isTyping:i,getGlobalBlockCount:a,isBlockSelected:s,isBlockMultiSelected:u,isAncestorMultiSelected:d,isFirstMultiSelectedBlock:b}=e(S.a),p=s(o),m=u(o)||d(o),f=c(o),h=t(o),g=Object(l.getBlockType)(f);return{index:n(o,h),mode:r(o),name:f,blockApiVersion:(null==g?void 0:g.apiVersion)||1,blockTitle:null==g?void 0:g.title,isPartOfSelection:p||m,adjustScrolling:p||b(o),enableAnimation:!i()&&a()<=200}},[o]),D=Object(i.sprintf)(Object(i.__)("Block: %s"),N),F="html"!==T||n?"":"-visual",z=Object(a.useMergeRefs)([t.ref,Object(b.a)(o),Object(_.a)(o),Object(y.c)(o),Object(v.a)(o),Object(E.a)(o),Object(j.a)(o),Object(k.a)(o),Object(p.a)(),Object(C.a)(),Object(u.a)({isSelected:L,adjustScrolling:M,enableAnimation:A,triggerAnimationOnChange:x})]),H=Object(m.c)();return R<2&&o===H.clientId&&void 0!==e&&e.env,{...B,...t,ref:z,id:`block-${o}${F}`,tabIndex:0,role:"document","aria-label":D,"data-block":o,"data-type":P,"data-title":N,className:r()(r()("block-editor-block-list__block",{"wp-block":!I}),w,t.className,B.className,Object(f.a)(o),Object(h.a)(o),Object(g.a)(o),Object(O.a)(o)),style:{...B.style,...t.style}}}w.save=l.__unstableGetBlockProps}).call(this,n("8oxB"))},o97j:function(e,t,n){"use strict";var o=!("undefined"==typeof window||!window.document||!window.document.createElement),r={canUseDOM:o,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:o&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:o&&!!window.screen,isInWorker:!o};e.exports=r},onLe:function(e,t){e.exports=window.wp.notices},p3NJ:function(e,t,n){"use strict";n.d(t,"b",(function(){return P}));var o=n("wx14"),r=n("GRId"),c=n("TSYQ"),i=n.n(c),l=n("K9lf"),a=n("1ZqX"),s=n("HSyU"),u=n("I5Hl"),d=n("ur0x");var b=Object(l.createHigherOrderComponent)(e=>t=>{const{clientId:n}=Object(d.c)();return Object(r.createElement)(e,Object(o.a)({},t,{clientId:n}))},"withClientId");var p=b(({clientId:e,showSeparator:t,isFloating:n,onAddBlock:o,isToggle:c})=>Object(r.createElement)(u.b,{className:i()({"block-list-appender__toggle":c}),rootClientId:e,showSeparator:t,isFloating:n,onAddBlock:o})),m=n("YLtl"),f=n("5L8O"),h=n("BhPs");var g=Object(l.compose)([b,Object(a.withSelect)((e,{clientId:t})=>{const{getBlockOrder:n}=e(h.a),o=n(t);return{lastBlockClientId:Object(m.last)(o)}})])(({clientId:e,lastBlockClientId:t})=>Object(r.createElement)(f.a,{rootClientId:e,lastBlockClientId:t})),O=n("rl8x"),v=n.n(O),j=n("PPMp");const k=new WeakMap;var _=n("VyCT"),y=n("uoCR"),E=n("JGYp"),C=n("l3Sj"),S=n("/lNF"),w=n("vIlp");function B({rootClientId:e=""}={}){const[t,n]=Object(r.useState)(null),o=Object(a.useSelect)(t=>{const{getTemplateLock:n}=t(h.a);return"all"===n(e)},[e]),{getBlockListSettings:c}=Object(a.useSelect)(h.a),{showInsertionPoint:i,hideInsertionPoint:s}=Object(a.useDispatch)(h.a),u=Object(S.a)(e,t),d=Object(l.useThrottle)(Object(r.useCallback)((t,o)=>{var r;const l=function(e,t,n){const o="horizontal"===n?["left","right"]:["top","bottom"],r=Object(C.isRTL)();let c,i;return e.forEach((e,n)=>{const l=e.getBoundingClientRect(),[a,s]=Object(w.a)(t,l,o);if(void 0===i||ae.classList.contains("wp-block")),{x:t.clientX,y:t.clientY},null===(r=c(e))||void 0===r?void 0:r.orientation);n(void 0===l?0:l),null!==l&&i(e,l)},[]),200);return Object(l.__experimentalUseDropZone)({isDisabled:o,onDrop:u,onDragOver(e){d(e,e.currentTarget)},onDragLeave(){d.cancel(),s(),n(null)},onDragEnd(){d.cancel(),s(),n(null)}})}function I(e){const{clientId:t,allowedBlocks:n,__experimentalDefaultBlock:o,__experimentalDirectInsert:c,template:i,templateLock:l,wrapperRef:u,templateInsertUpdatesSelection:d,__experimentalCaptureToolbars:b,__experimentalAppenderTagName:p,renderAppender:f,orientation:g,placeholder:O,__experimentalLayout:E}=e;!function(e,t,n,o,c,i,l,s){const{updateBlockListSettings:u}=Object(a.useDispatch)(h.a),{blockListSettings:d,parentLock:b}=Object(a.useSelect)(t=>{const n=t(h.a).getBlockRootClientId(e);return{blockListSettings:t(h.a).getBlockListSettings(e),parentLock:t(h.a).getTemplateLock(n)}},[e]),p=Object(r.useMemo)(()=>t,t);Object(r.useLayoutEffect)(()=>{const t={allowedBlocks:p,templateLock:void 0===c?b:c};if(void 0!==i&&(t.__experimentalCaptureToolbars=i),void 0!==l)t.orientation=l;else{const e=Object(j.a)(null==s?void 0:s.type);t.orientation=e.getOrientation(s)}void 0!==n&&(t.__experimentalDefaultBlock=n),void 0!==o&&(t.__experimentalDirectInsert=o),v()(d,t)||u(e,t)},[e,d,p,n,o,c,b,i,l,u,s])}(t,n,o,c,l,b,g,E),function(e,t,n,o){const{getSelectedBlocksInitialCaretPosition:c}=Object(a.useSelect)(h.a),{replaceInnerBlocks:i}=Object(a.useDispatch)(h.a),l=Object(a.useSelect)(t=>t(h.a).getBlocks(e),[e]),u=Object(r.useRef)(null);Object(r.useLayoutEffect)(()=>{if(0===l.length||"all"===n){if(!Object(m.isEqual)(t,u.current)){u.current=t;const n=Object(s.synchronizeBlocksWithTemplate)(l,t);Object(m.isEqual)(n,l)||i(e,n,0===l.length&&o&&0!==n.length,c())}}},[l,t,n,e])}(t,i,l,d);const C=Object(a.useSelect)(e=>{const n=e(h.a).getBlock(t),o=Object(s.getBlockType)(n.name);if(o&&o.providesContext)return function(e,t){k.has(t)||k.set(t,new WeakMap);const n=k.get(t);if(!n.has(e)){const o=Object(m.mapValues)(t.providesContext,t=>e[t]);n.set(e,o)}return n.get(e)}(n.attributes,o)},[t]);return Object(r.createElement)(y.a,{value:C},Object(r.createElement)(_.a,{rootClientId:t,renderAppender:f,__experimentalAppenderTagName:p,__experimentalLayout:E,wrapperRef:u,placeholder:O}))}function x(e){return Object(E.a)(e),Object(r.createElement)(I,e)}const T=Object(r.forwardRef)((e,t)=>{const n=P({ref:t},e);return Object(r.createElement)("div",{className:"block-editor-inner-blocks"},Object(r.createElement)("div",n))});function P(e={},t={}){const{clientId:n}=Object(d.c)(),c=Object(l.useViewportMatch)("medium","<"),{__experimentalCaptureToolbars:u,hasOverlay:b}=Object(a.useSelect)(e=>{if(!n)return{};const{getBlockName:t,isBlockSelected:o,hasSelectedInnerBlock:r,isNavigationMode:i}=e(h.a),l=t(n),a=i()||c;return{__experimentalCaptureToolbars:e(s.store).hasBlockSupport(l,"__experimentalExposeControlsToChildren",!1),hasOverlay:"core/template"!==l&&!o(n)&&!r(n,!0)&&a}},[n,c]),p=Object(l.useMergeRefs)([e.ref,B({rootClientId:n})]),m={__experimentalCaptureToolbars:u,...t},f=m.value&&m.onChange?x:I;return{...e,ref:p,className:i()(e.className,"block-editor-block-list__layout",{"has-overlay":b}),children:n?Object(r.createElement)(f,Object(o.a)({},m,{clientId:n})):Object(r.createElement)(_.a,t)}}P.save=s.__unstableGetInnerBlocksProps,T.DefaultBlockAppender=g,T.ButtonBlockAppender=p,T.Content=()=>P.save().children;t.a=T},pOGT:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return p}));var o=n("YLtl");const r=e=>e.name||"",c=e=>e.title,i=e=>e.description||"",l=e=>e.keywords||[],a=e=>e.category,s=()=>null;function u(e=""){return e=(e=(e=Object(o.deburr)(e)).replace(/^\//,"")).toLowerCase()}const d=(e="")=>Object(o.words)(u(e)),b=(e,t,n,r)=>{if(0===d(r).length)return e;return p(e,r,{getCategory:e=>{var n;return null===(n=Object(o.find)(t,{slug:e.category}))||void 0===n?void 0:n.title},getCollection:e=>{var t;return null===(t=n[e.name.split("/")[0]])||void 0===t?void 0:t.title}})},p=(e=[],t="",n={})=>{if(0===d(t).length)return e;const o=e.map(e=>[e,m(e,t,n)]).filter(([,e])=>e>0);return o.sort(([,e],[,t])=>t-e),o.map(([e])=>e)};function m(e,t,n={}){const{getName:b=r,getTitle:p=c,getDescription:m=i,getKeywords:f=l,getCategory:h=a,getCollection:g=s}=n,O=b(e),v=p(e),j=m(e),k=f(e),_=h(e),y=g(e),E=u(t),C=u(v);let S=0;if(E===C)S+=30;else if(C.startsWith(E))S+=20;else{const e=[O,v,j,...k,_,y].join(" ");0===((e,t)=>Object(o.differenceWith)(e,d(t),(e,t)=>t.includes(e)))(Object(o.words)(E),e).length&&(S+=10)}return 0!==S&&O.startsWith("core/")&&S++,S}},pPDe:function(e,t,n){"use strict";var o,r;function c(e){return[e]}function i(){var e={clear:function(){e.head=null}};return e}function l(e,t,n){var o;if(e.length!==t.length)return!1;for(o=n;o{})}){const{replaceBlocks:b}=Object(l.useDispatch)(s.a);return t||n?Object(r.createElement)(r.Fragment,null,t&&Object(r.createElement)(i.MenuItem,{onClick:()=>{(()=>{const t=Object(a.switchToBlockType)(o,c);t&&b(e,t)})(),d()}},Object(u._x)("Group","verb")),n&&Object(r.createElement)(i.MenuItem,{onClick:()=>{(()=>{const t=o[0].innerBlocks;t.length&&b(e,t)})(),d()}},Object(u._x)("Ungroup","Ungrouping blocks from within a Group block back into individual blocks within the Editor "))):null}const{Fill:b,Slot:p}=Object(i.createSlotFill)("BlockSettingsMenuControls");function m({...e}){return Object(r.createElement)(i.__experimentalStyleProvider,{document:document},Object(r.createElement)(b,e))}m.Slot=({fillProps:e,clientIds:t=null})=>{const{selectedBlocks:n,selectedClientIds:u}=Object(l.useSelect)(e=>{const{getBlocksByClientId:n,getSelectedBlockClientIds:o}=e(s.a),r=null!==t?t:o();return{selectedBlocks:Object(c.map)(Object(c.compact)(n(r)),e=>e.name),selectedClientIds:r}},[t]),b=function(){const{clientIds:e,isGroupable:t,isUngroupable:n,blocksSelection:o,groupingBlockName:r}=Object(l.useSelect)(e=>{var t;const{getBlockRootClientId:n,getBlocksByClientId:o,canInsertBlockType:r,getSelectedBlockClientIds:c}=e(s.a),{getGroupingBlockName:i}=e(a.store),l=c(),u=i(),d=r(u,null!=l&&l.length?n(l[0]):void 0),b=o(l),p=1===b.length&&(null===(t=b[0])||void 0===t?void 0:t.name)===u;return{clientIds:l,isGroupable:d&&b.length&&!p,isUngroupable:p&&!!b[0].innerBlocks.length,blocksSelection:b,groupingBlockName:u}},[]);return{clientIds:e,isGroupable:t,isUngroupable:n,blocksSelection:o,groupingBlockName:r}}(),{isGroupable:m,isUngroupable:f}=b,h=m||f;return Object(r.createElement)(p,{fillProps:{...e,selectedBlocks:n,selectedClientIds:u}},t=>{if((null==t?void 0:t.length)>0||h)return Object(r.createElement)(i.MenuGroup,null,t,Object(r.createElement)(d,Object(o.a)({},b,{onClose:null==e?void 0:e.onClose})))})};t.a=m},plpT:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M16.4 4.2H7.6v1.5h8.9V4.2zM4 11.2v1.5h16v-1.5H4zm3.6 8.6h8.9v-1.5H7.6v1.5z"}));t.a=c},q3tz:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var o=n("GRId"),r=n("l3Sj"),c=n("tI+e"),i=n("xN+R"),l=n("7SSY");function a({count:e,icon:t}){return Object(o.createElement)("div",{className:"block-editor-block-draggable-chip-wrapper"},Object(o.createElement)("div",{className:"block-editor-block-draggable-chip"},Object(o.createElement)(c.Flex,{justify:"center",className:"block-editor-block-draggable-chip__content"},Object(o.createElement)(c.FlexItem,null,t?Object(o.createElement)(l.a,{icon:t}):Object(r.sprintf)(Object(r._n)("%d block","%d blocks",e),e)),Object(o.createElement)(c.FlexItem,null,Object(o.createElement)(l.a,{icon:i.a})))))}},qRz9:function(e,t){e.exports=window.wp.richText},qrxh:function(e,t,n){"use strict";var o=n("wx14"),r=n("GRId"),c=n("YLtl"),i=n("TSYQ"),l=n.n(i),a=n("gdqT"),s=n("l3Sj"),u=n("tI+e"),d=n("1ZqX"),b=n("K9lf"),p=n("HSyU"),m=n("Q4Sy"),f=n("xZzQ"),h=n("Wg7J"),g=n("AORF"),O=n("nQUx"),v=n("+G0a"),j=n("BhPs");function k({onSelect:e,rootClientId:t,clientId:n,isAppender:o}){const[c,i]=Object(r.useState)(""),[a,b]=Object(g.a)({onSelect:e,rootClientId:t,clientId:n,isAppender:o}),[p]=Object(v.a)(a,b),[m]=Object(O.a)(b,a),f=m.length&&!!c,k=f&&m.length>6||p.length>6,{setInserterIsOpened:_,insertionIndex:y}=Object(d.useSelect)(e=>{const{getSettings:o,getBlockIndex:r,getBlockCount:c}=e(j.a),i=r(n,t);return{setInserterIsOpened:o().__experimentalSetIsInserterOpened,insertionIndex:-1===i?c():i}},[n,t]);Object(r.useEffect)(()=>{_&&_(!1)},[_]);return Object(r.createElement)("div",{className:l()("block-editor-inserter__quick-inserter",{"has-search":k,"has-expand":_})},k&&Object(r.createElement)(u.SearchControl,{className:"block-editor-inserter__search",value:c,onChange:e=>{i(e)},label:Object(s.__)("Search for blocks and patterns"),placeholder:Object(s.__)("Search")}),Object(r.createElement)("div",{className:"block-editor-inserter__quick-inserter-results"},Object(r.createElement)(h.a,{filterValue:c,onSelect:e,rootClientId:t,clientId:n,isAppender:o,maxBlockPatterns:f?2:0,maxBlockTypes:6,isDraggable:!1})),_&&Object(r.createElement)(u.Button,{className:"block-editor-inserter__quick-inserter-expand",onClick:()=>{_({rootClientId:t,insertionIndex:y,filterValue:c})},"aria-label":Object(s.__)("Browse all. This will open the main inserter panel in the editor toolbar.")},Object(s.__)("Browse all")))}const _=({onToggle:e,disabled:t,isOpen:n,blockTitle:c,hasSingleBlockType:i,toggleProps:l={}})=>{let a;a=i?Object(s.sprintf)(Object(s._x)("Add %s","directly add the only allowed block"),c):Object(s._x)("Add block","Generic label for block inserter button");const{onClick:d,...b}=l;return Object(r.createElement)(u.Button,Object(o.a)({icon:m.a,label:a,tooltipPosition:"bottom",onClick:function(t){e&&e(t),d&&d(t)},className:"block-editor-inserter__toggle","aria-haspopup":!i&&"true","aria-expanded":!i&&n,disabled:t},b))};class y extends r.Component{constructor(){super(...arguments),this.onToggle=this.onToggle.bind(this),this.renderToggle=this.renderToggle.bind(this),this.renderContent=this.renderContent.bind(this)}onToggle(e){const{onToggle:t}=this.props;t&&t(e)}renderToggle({onToggle:e,isOpen:t}){const{disabled:n,blockTitle:o,hasSingleBlockType:r,directInsertBlock:c,toggleProps:i,hasItems:l,renderToggle:a=_}=this.props;return a({onToggle:e,isOpen:t,disabled:n||!l,blockTitle:o,hasSingleBlockType:r,directInsertBlock:c,toggleProps:i})}renderContent({onClose:e}){const{rootClientId:t,clientId:n,isAppender:o,showInserterHelpPanel:c,__experimentalIsQuick:i}=this.props;return i?Object(r.createElement)(k,{onSelect:()=>{e()},rootClientId:t,clientId:n,isAppender:o}):Object(r.createElement)(f.a,{onSelect:()=>{e()},rootClientId:t,clientId:n,isAppender:o,showInserterHelpPanel:c})}render(){const{position:e,hasSingleBlockType:t,directInsertBlock:n,insertOnlyAllowedBlock:o,__experimentalIsQuick:c,onSelectOrClose:i}=this.props;return t||null!=n&&n.length?this.renderToggle({onToggle:o}):Object(r.createElement)(u.Dropdown,{className:"block-editor-inserter",contentClassName:l()("block-editor-inserter__popover",{"is-quick":c}),position:e,onToggle:this.onToggle,expandOnMobile:!0,headerTitle:Object(s.__)("Add a block"),renderToggle:this.renderToggle,renderContent:this.renderContent,onClose:i})}}t.a=Object(b.compose)([Object(d.withSelect)((e,{clientId:t,rootClientId:n})=>{const{getBlockRootClientId:o,hasInserterItems:r,__experimentalGetAllowedBlocks:i,__experimentalGetDirectInsertBlock:l}=e(j.a),{getBlockVariations:a}=e(p.store),s=i(n=n||o(t)||void 0),u=l(n),d=1===Object(c.size)(s)&&0===Object(c.size)(a(s[0].name,"inserter"));let b=!1;return d&&(b=s[0]),{hasItems:r(n),hasSingleBlockType:d,blockTitle:b?b.title:"",allowedBlockType:b,directInsertBlock:u,rootClientId:n}}),Object(d.withDispatch)((e,t,{select:n})=>({insertOnlyAllowedBlock(){const{rootClientId:o,clientId:r,isAppender:c,hasSingleBlockType:i,allowedBlockType:l,directInsertBlock:u,onSelectOrClose:d}=t;if(!(i||null!=u&&u.length))return;const{insertBlock:b}=e(j.a);b(null!=u&&u.length?Object(p.createBlock)(...u):Object(p.createBlock)(l.name),function(){const{getBlockIndex:e,getBlockSelectionEnd:t,getBlockOrder:i,getBlockRootClientId:l}=n(j.a);if(r)return e(r,o);const a=t();return!c&&a&&l(a)===o?e(a,o)+1:i(o).length}(),o),d&&d();const m=Object(s.sprintf)(Object(s.__)("%s block added"),l.title);Object(a.speak)(m)}})),Object(b.ifCondition)(({hasItems:e,isAppender:t,rootClientId:n,clientId:o})=>e||!t&&!n&&!o)])(y)},rH4q:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h13.4c.4 0 .8.4.8.8v13.4zM10 15l5-3-5-3v6z"}));t.a=c},rHRV:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var o=n("K9lf"),r=n("GRId"),c=n("VyCT");function i(){const e=Object(r.useContext)(c.b);return Object(o.useRefEffect)(t=>{if(e)return e.observe(t),()=>{e.unobserve(t)}},[e])}},rl8x:function(e,t){e.exports=window.wp.isShallowEqual},rmEH:function(e,t){e.exports=window.wp.htmlEntities},smQA:function(e,t,n){"use strict";function o(){}function r(e,t,n,o,r){for(var c=0,i=t.length,l=0,a=0;ce.length?n:e})),s.value=e.join(d)}else s.value=e.join(n.slice(l,l+s.count));l+=s.count,s.added||(a+=s.count)}}var b=t[i-1];return i>1&&"string"==typeof b.value&&(b.added||b.removed)&&e.equals("",b.value)&&(t[i-2].value+=b.value,t.pop()),t}function c(e){return{newPos:e.newPos,components:e.components.slice(0)}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o,o.prototype={diff:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.callback;"function"==typeof n&&(o=n,n={}),this.options=n;var i=this;function l(e){return o?(setTimeout((function(){o(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,u=1,d=a+s,b=[{newPos:-1,components:[]}],p=this.extractCommon(b[0],t,e,0);if(b[0].newPos+1>=a&&p+1>=s)return l([{value:this.join(t),count:t.length}]);function m(){for(var n=-1*u;n<=u;n+=2){var o=void 0,d=b[n-1],p=b[n+1],m=(p?p.newPos:0)-n;d&&(b[n-1]=void 0);var f=d&&d.newPos+1=a&&m+1>=s)return l(r(i,o.components,t,e,i.useLongestToken));b[n]=o}else b[n]=void 0}u++}if(o)!function e(){setTimeout((function(){if(u>d)return o();m()||e()}),0)}();else for(;u<=d;){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,c=n.length,i=e.newPos,l=i-o,a=0;i+1e.includes(t)):!0===e?[...m]:[],!n||!0===e&&!t?Object(s.without)(o,...f):o}const g=Object(u.createHigherOrderComponent)(e=>t=>{const{name:n}=t,r=h(Object(o.getBlockSupport)(n,"align"),Object(o.hasBlockSupport)(n,"alignWide",!0)),c=Object(p.a)(r).map(({name:e})=>e);return Object(i.createElement)(i.Fragment,null,!!c.length&&Object(i.createElement)(d.b,{group:"block",__experimentalShareWithChildBlocks:!0},Object(i.createElement)(b.a,{value:t.attributes.align,onChange:e=>{if(!e){var n,r;const c=Object(o.getBlockType)(t.name);(null==c||null===(n=c.attributes)||void 0===n||null===(r=n.align)||void 0===r?void 0:r.default)&&(e="")}t.setAttributes({align:e})},controls:c})),Object(i.createElement)(e,t))},"withToolbarControls"),O=Object(u.createHigherOrderComponent)(e=>t=>{const{name:n,attributes:r}=t,{align:l}=r,a=h(Object(o.getBlockSupport)(n,"align"),Object(o.hasBlockSupport)(n,"alignWide",!0)),s=Object(p.a)(a);if(void 0===l)return Object(i.createElement)(e,t);let u=t.wrapperProps;return s.some(e=>e.name===l)&&(u={...u,"data-align":l}),Object(i.createElement)(e,Object(c.a)({},t,{wrapperProps:u}))});Object(r.addFilter)("blocks.registerBlockType","core/align/addAttribute",(function(e){return Object(s.has)(e.attributes,["align","type"])||Object(o.hasBlockSupport)(e,"align")&&(e.attributes={...e.attributes,align:{type:"string",enum:[...m,""]}}),e})),Object(r.addFilter)("editor.BlockListBlock","core/editor/align/with-data-align",O),Object(r.addFilter)("editor.BlockEdit","core/editor/align/with-toolbar-controls",g),Object(r.addFilter)("blocks.getSaveContent.extraProps","core/align/addAssignedAlign",(function(e,t,n){const{align:r}=n;return h(Object(o.getBlockSupport)(t,"align"),Object(o.hasBlockSupport)(t,"alignWide",!0)).includes(r)&&(e.className=a()("align"+r,e.className)),e})),Object(r.addFilter)("blocks.registerBlockType","core/lock/addAttribute",(function(e){return Object(s.has)(e.attributes,["lock","type"])||(e.attributes={...e.attributes,lock:{type:"object"}}),e}));var v=n("tI+e"),j=n("l3Sj"),k=n("1oY3");const _=/[\s#]/g;const y=Object(u.createHigherOrderComponent)(e=>t=>{if(Object(o.hasBlockSupport)(t.name,"anchor")&&t.isSelected){const n="web"===i.Platform.OS,o=Object(i.createElement)(v.TextControl,{className:"html-anchor-control",label:Object(j.__)("HTML anchor"),help:Object(i.createElement)(i.Fragment,null,Object(j.__)("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&&Object(i.createElement)(v.ExternalLink,{href:Object(j.__)("https://wordpress.org/support/article/page-jumps/")},Object(j.__)("Learn more about anchors"))),value:t.attributes.anchor||"",placeholder:n?null:Object(j.__)("Add an anchor"),onChange:e=>{e=e.replace(_,"-"),t.setAttributes({anchor:e})},autoCapitalize:"none",autoComplete:"off"});return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(e,t),n&&Object(i.createElement)(k.b,{__experimentalGroup:"advanced"},o),!n&&"core/heading"===t.name&&Object(i.createElement)(k.b,null,Object(i.createElement)(v.PanelBody,{title:Object(j.__)("Heading settings")},o)))}return Object(i.createElement)(e,t)},"withInspectorControl");Object(r.addFilter)("blocks.registerBlockType","core/anchor/attribute",(function(e){return Object(s.has)(e.attributes,["anchor","type"])||Object(o.hasBlockSupport)(e,"anchor")&&(e.attributes={...e.attributes,anchor:{type:"string",source:"attribute",attribute:"id",selector:"*"}}),e})),Object(r.addFilter)("editor.BlockEdit","core/editor/anchor/with-inspector-control",y),Object(r.addFilter)("blocks.getSaveContent.extraProps","core/anchor/save-props",(function(e,t,n){return Object(o.hasBlockSupport)(t,"anchor")&&(e.id=""===n.anchor?null:n.anchor),e}));const E=Object(u.createHigherOrderComponent)(e=>t=>Object(o.hasBlockSupport)(t.name,"customClassName",!0)&&t.isSelected?Object(i.createElement)(i.Fragment,null,Object(i.createElement)(e,t),Object(i.createElement)(k.b,{__experimentalGroup:"advanced"},Object(i.createElement)(v.TextControl,{autoComplete:"off",label:Object(j.__)("Additional CSS class(es)"),value:t.attributes.className||"",onChange:e=>{t.setAttributes({className:""!==e?e:void 0})},help:Object(j.__)("Separate multiple classes with spaces.")}))):Object(i.createElement)(e,t),"withInspectorControl");Object(r.addFilter)("blocks.registerBlockType","core/custom-class-name/attribute",(function(e){return Object(o.hasBlockSupport)(e,"customClassName",!0)&&(e.attributes={...e.attributes,className:{type:"string"}}),e})),Object(r.addFilter)("editor.BlockEdit","core/editor/custom-class-name/with-inspector-control",E),Object(r.addFilter)("blocks.getSaveContent.extraProps","core/custom-class-name/save-props",(function(e,t,n){return Object(o.hasBlockSupport)(t,"customClassName",!0)&&n.className&&(e.className=a()(e.className,n.className)),e})),Object(r.addFilter)("blocks.getSaveContent.extraProps","core/generated-class-name/save-props",(function(e,t){return Object(o.hasBlockSupport)(t,"className",!0)&&("string"==typeof e.className?e.className=Object(s.uniq)([Object(o.getBlockDefaultClassName)(t.name),...e.className.split(" ")]).join(" ").trim():e.className=Object(o.getBlockDefaultClassName)(t.name)),e}));var C=n("VyCT"),S=n("v5LD"),w=n("hMaJ"),B=n("bVpQ"),I=n("715p");const x=[];function T(e){const{attributes:{borderColor:t,style:n},setAttributes:o}=e,r=Object(S.a)("color.palette")||x,c=!Object(S.a)("color.custom"),l=!Object(S.a)("color.customGradient"),[a,s]=Object(i.useState)(()=>{var e,o;return null===(e=Object(B.b)(r,t,null==n||null===(o=n.border)||void 0===o?void 0:o.color))||void 0===e?void 0:e.color});return Object(i.createElement)(w.a,{label:Object(j.__)("Color"),colorValue:a,colors:r,gradients:void 0,disableCustomColors:c,disableCustomGradients:l,onColorChange:e=>{s(e);const t=Object(B.c)(r,e),c={...n,border:{...null==n?void 0:n.border,color:null!=t&&t.slug?void 0:e}},i=null!=t&&t.slug?t.slug:void 0;o({style:Object(I.a)(c),borderColor:i})}})}function P(e,t,n){var o;if(!z(t,"color")||H(t))return e;const{borderColor:r,style:c}=n,i=Object(B.a)("border-color",r),l=a()(e.className,{"has-border-color":r||(null==c||null===(o=c.border)||void 0===o?void 0:o.color),[i]:!!i});return e.className=l||void 0,e}const R=Object(u.createHigherOrderComponent)(e=>t=>{var n,o;const{name:r,attributes:l}=t,{borderColor:a}=l,s=Object(S.a)("color.palette")||x;if(!z(r,"color")||H(r))return Object(i.createElement)(e,t);const u={borderColor:a?null===(n=Object(B.b)(s,a))||void 0===n?void 0:n.color:void 0};let d=t.wrapperProps;return d={...t.wrapperProps,style:{...u,...null===(o=t.wrapperProps)||void 0===o?void 0:o.style}},Object(i.createElement)(e,Object(c.a)({},t,{wrapperProps:d}))});Object(r.addFilter)("blocks.registerBlockType","core/border/addAttributes",(function(e){return z(e,"color")?e.attributes.borderColor?e:{...e,attributes:{...e.attributes,borderColor:{type:"string"}}}:e})),Object(r.addFilter)("blocks.getSaveContent.extraProps","core/border/addSaveProps",P),Object(r.addFilter)("blocks.registerBlockType","core/border/addEditProps",(function(e){if(!z(e,"color")||H(e))return e;const t=e.getEditWrapperProps;return e.getEditWrapperProps=n=>{let o={};return t&&(o=t(n)),P(o,e,n)},e})),Object(r.addFilter)("editor.BlockListBlock","core/border/with-border-color-palette-styles",R);var N=n("Wy3j");function L(e){var t;const{attributes:{style:n},setAttributes:o}=e;return Object(i.createElement)(N.a,{values:null==n||null===(t=n.border)||void 0===t?void 0:t.radius,onChange:e=>{let t={...n,border:{...null==n?void 0:n.border,radius:e}};void 0!==e&&""!==e||(t=Object(I.a)(t)),o({style:t})}})}var M=n("2YCo");const A=e=>{var t;const{attributes:{style:n},setAttributes:o}=e;return Object(i.createElement)(M.a,{value:null==n||null===(t=n.border)||void 0===t?void 0:t.style,onChange:e=>{const t={...n,border:{...null==n?void 0:n.border,style:e}};o({style:Object(I.a)(t)})}})},D=e=>{const{attributes:{borderColor:t,style:n},setAttributes:o}=e,{width:r,color:c,style:l}=(null==n?void 0:n.border)||{},[a,s]=Object(i.useState)(),[u,d]=Object(i.useState)();Object(i.useEffect)(()=>{"none"!==l&&s(l)},[l]),Object(i.useEffect)(()=>{(t||c)&&d({name:t||void 0,color:c||void 0})},[t,c]);const b=Object(v.__experimentalUseCustomUnits)({availableUnits:Object(S.a)("spacing.units")||["px","em","rem"]});return Object(i.createElement)(v.__experimentalUnitControl,{value:r,label:Object(j.__)("Width"),min:0,onChange:e=>{let r={...n,border:{...null==n?void 0:n.border,width:e}},c=t;const i=0===parseFloat(e);i&&(c=void 0,r.border.color=void 0,r.border.style="none"),i||"none"!==l||(r.border.style=a),i||void 0!==t||(c=null==u?void 0:u.name,r.border.color=null==u?void 0:u.color),void 0!==e&&""!==e||(r=Object(I.a)(r)),o({borderColor:c,style:r})},units:b})};function F(e){const t=V(e),n=z(e.name),o=Object(S.a)("border.color")&&z(e.name,"color"),r=Object(S.a)("border.radius")&&z(e.name,"radius"),c=Object(S.a)("border.style")&&z(e.name,"style"),l=Object(S.a)("border.width")&&z(e.name,"width");return t||!n?null:Object(i.createElement)(k.b,null,Object(i.createElement)(v.PanelBody,{className:"block-editor-hooks__border-controls",title:Object(j.__)("Border"),initialOpen:!1},(l||c)&&Object(i.createElement)("div",{className:"block-editor-hooks__border-controls-row"},l&&Object(i.createElement)(D,e),c&&Object(i.createElement)(A,e)),o&&Object(i.createElement)(T,e),r&&Object(i.createElement)(L,e)))}function z(e,t="any"){if("web"!==i.Platform.OS)return!1;const n=Object(o.getBlockSupport)(e,"__experimentalBorder");return!0===n||("any"===t?!!(null!=n&&n.color||null!=n&&n.radius||null!=n&&n.width||null!=n&&n.style):!(null==n||!n[t]))}function H(e){const t=Object(o.getBlockSupport)(e,"__experimentalBorder");return null==t?void 0:t.__experimentalSkipSerialization}const V=()=>[!Object(S.a)("border.color"),!Object(S.a)("border.radius"),!Object(S.a)("border.style"),!Object(S.a)("border.width")].every(Boolean);var G=n("Cn0l"),U=n("yU1v"),W=n("6c9H"),q=n("PKbb");function K(e){return e.ownerDocument.defaultView.getComputedStyle(e)}function $({settings:e,clientId:t,enableContrastChecking:n=!0,showTitle:o=!0}){const[r,c]=Object(i.useState)(),[l,a]=Object(i.useState)(),s=Object(q.b)(t);return Object(i.useEffect)(()=>{if(!n)return;if(!s.current)return;a(K(s.current).color);let e=s.current,t=K(e).backgroundColor;for(;"rgba(0, 0, 0, 0)"===t&&e.parentNode&&e.parentNode.nodeType===e.parentNode.ELEMENT_NODE;)e=e.parentNode,t=K(e).backgroundColor;c(t)}),Object(i.createElement)(k.b,null,Object(i.createElement)(U.a,{title:Object(j.__)("Color"),initialOpen:!1,settings:e,showTitle:o,__experimentalHasMultipleOrigins:!0},n&&Object(i.createElement)(W.a,{backgroundColor:r,textColor:l})))}const Y=[],X=e=>{const t=Object(o.getBlockSupport)(e,"color");return t&&(!0===t.link||!0===t.gradient||!1!==t.background||!1!==t.text)},Z=e=>{const t=Object(o.getBlockSupport)(e,"color");return null==t?void 0:t.__experimentalSkipSerialization},Q=e=>{const t=Object(o.getBlockSupport)(e,"color");return Object(s.isObject)(t)&&!!t.gradients};function J(e,t,n){var o,r,c,i,l,s;if(!X(t)||Z(t))return e;const u=Q(t),{backgroundColor:d,textColor:b,gradient:p,style:m}=n,f=Object(B.a)("background-color",d),h=Object(G.a)(p),g=Object(B.a)("color",b),O=a()(e.className,g,h,{[f]:!(u&&null!=m&&null!==(o=m.color)&&void 0!==o&&o.gradient||!f),"has-text-color":b||(null==m||null===(r=m.color)||void 0===r?void 0:r.text),"has-background":d||(null==m||null===(c=m.color)||void 0===c?void 0:c.background)||u&&(p||(null==m||null===(i=m.color)||void 0===i?void 0:i.gradient)),"has-link-color":null==m||null===(l=m.elements)||void 0===l||null===(s=l.link)||void 0===s?void 0:s.color});return e.className=O||void 0,e}const ee=(e,t)=>{const n=/var:preset\|color\|(.+)/.exec(t);return n&&n[1]?Object(B.b)(e,n[1]).color:t};function te(e){var t,n,r,c,l,a,u,d,b;const{name:p,attributes:m}=e,f=Object(S.a)("color.palette")||Y,h=Object(S.a)("color.gradients")||Y,g=Object(S.a)("color.custom"),O=Object(S.a)("color.customGradient"),v=Object(S.a)("color.link"),k=Object(S.a)("color.text"),_=Object(S.a)("color.background"),y=Object(i.useRef)(m);if(Object(i.useEffect)(()=>{y.current=m},[m]),!X(p))return null;const E=(e=>{if("web"!==i.Platform.OS)return!1;const t=Object(o.getBlockSupport)(e,"color");return Object(s.isObject)(t)&&!!t.link})(p)&&v&&(f.length>0||g),C=(e=>{const t=Object(o.getBlockSupport)(e,"color");return t&&!1!==t.text})(p)&&k&&(f.length>0||g),w=(e=>{const t=Object(o.getBlockSupport)(e,"color");return t&&!1!==t.background})(p)&&_&&(f.length>0||g),x=Q(p)&&(h.length>0||O);if(!(E||C||w||x))return null;const{style:T,textColor:P,backgroundColor:R,gradient:N}=m;let L;if(x&&N)L=Object(G.e)(h,N);else if(x){var M;L=null==T||null===(M=T.color)||void 0===M?void 0:M.gradient}const A=t=>n=>{var o,r;const c=Object(B.c)(f,n),i=t+"Color",l={...y.current.style,color:{...null===(o=y.current)||void 0===o||null===(r=o.style)||void 0===r?void 0:r.color,[t]:null!=c&&c.slug?void 0:n}},a=null!=c&&c.slug?c.slug:void 0,s={style:Object(I.a)(l),[i]:a};e.setAttributes(s),y.current={...y.current,...s}};return Object(i.createElement)($,{enableContrastChecking:!("web"!==i.Platform.OS||N||null!=T&&null!==(t=T.color)&&void 0!==t&&t.gradient),clientId:e.clientId,settings:[...C?[{label:Object(j.__)("Text color"),onColorChange:A("text"),colorValue:Object(B.b)(f,P,null==T||null===(n=T.color)||void 0===n?void 0:n.text).color}]:[],...w||x?[{label:Object(j.__)("Background color"),onColorChange:w?A("background"):void 0,colorValue:Object(B.b)(f,R,null==T||null===(r=T.color)||void 0===r?void 0:r.background).color,gradientValue:L,onGradientChange:x?t=>{const n=Object(G.d)(h,t);let o;if(n){var r,c,i;const e={...null===(r=y.current)||void 0===r?void 0:r.style,color:{...null===(c=y.current)||void 0===c||null===(i=c.style)||void 0===i?void 0:i.color,gradient:void 0}};o={style:Object(I.a)(e),gradient:n}}else{var l,a,s;const e={...null===(l=y.current)||void 0===l?void 0:l.style,color:{...null===(a=y.current)||void 0===a||null===(s=a.style)||void 0===s?void 0:s.color,gradient:t}};o={style:Object(I.a)(e),gradient:void 0}}e.setAttributes(o),y.current={...y.current,...o}}:void 0}]:[],...E?[{label:Object(j.__)("Link Color"),onColorChange:t=>{const n=Object(B.c)(f,t),o=null!=n&&n.slug?"var:preset|color|"+n.slug:t,r=Object(I.a)(function(e,t,n){return Object(s.setWith)(e?Object(s.clone)(e):{},t,n,s.clone)}(T,["elements","link","color","text"],o));e.setAttributes({style:r})},colorValue:ee(f,null==T||null===(c=T.elements)||void 0===c||null===(l=c.link)||void 0===l||null===(a=l.color)||void 0===a?void 0:a.text),clearable:!(null==T||null===(u=T.elements)||void 0===u||null===(d=u.link)||void 0===d||null===(b=d.color)||void 0===b||!b.text)}]:[]]})}const ne=Object(u.createHigherOrderComponent)(e=>t=>{var n,o,r;const{name:l,attributes:a}=t,{backgroundColor:s,textColor:u}=a,d=Object(S.a)("color.palette")||Y;if(!X(l)||Z(l))return Object(i.createElement)(e,t);const b={color:u?null===(n=Object(B.b)(d,u))||void 0===n?void 0:n.color:void 0,backgroundColor:s?null===(o=Object(B.b)(d,s))||void 0===o?void 0:o.color:void 0};let p=t.wrapperProps;return p={...t.wrapperProps,style:{...b,...null===(r=t.wrapperProps)||void 0===r?void 0:r.style}},Object(i.createElement)(e,Object(c.a)({},t,{wrapperProps:p}))});Object(r.addFilter)("blocks.registerBlockType","core/color/addAttribute",(function(e){return X(e)?(e.attributes.backgroundColor||Object.assign(e.attributes,{backgroundColor:{type:"string"}}),e.attributes.textColor||Object.assign(e.attributes,{textColor:{type:"string"}}),Q(e)&&!e.attributes.gradient&&Object.assign(e.attributes,{gradient:{type:"string"}}),e):e})),Object(r.addFilter)("blocks.getSaveContent.extraProps","core/color/addSaveProps",J),Object(r.addFilter)("blocks.registerBlockType","core/color/addEditProps",(function(e){if(!X(e)||Z(e))return e;const t=e.getEditWrapperProps;return e.getEditWrapperProps=n=>{let o={};return t&&(o=t(n)),J(o,e,n)},e})),Object(r.addFilter)("editor.BlockListBlock","core/color/with-color-palette-styles",ne);var oe=n("Bo0k"),re=n("weEX");function ce(e){var t;const{attributes:{style:n},setAttributes:o}=e;return Object(i.createElement)(re.a,{value:null==n||null===(t=n.typography)||void 0===t?void 0:t.lineHeight,onChange:e=>{const t={...n,typography:{...null==n?void 0:n.typography,lineHeight:e}};o({style:Object(I.a)(t)})}})}function ie({name:e}={}){const t=!Object(S.a)("typography.lineHeight");return!Object(o.hasBlockSupport)(e,"typography.lineHeight")||t}function le(e){var t,n;const{attributes:{style:o},setAttributes:r}=e,c=!ae(e),l=!se(e),a=null==o||null===(t=o.typography)||void 0===t?void 0:t.fontStyle,s=null==o||null===(n=o.typography)||void 0===n?void 0:n.fontWeight;return Object(i.createElement)(oe.a,{onChange:e=>{r({style:Object(I.a)({...o,typography:{...null==o?void 0:o.typography,fontStyle:e.fontStyle,fontWeight:e.fontWeight}})})},hasFontStyles:c,hasFontWeights:l,value:{fontStyle:a,fontWeight:s}})}function ae({name:e}={}){const t=Object(o.hasBlockSupport)(e,"typography.__experimentalFontStyle"),n=Object(S.a)("typography.fontStyle");return!t||!n}function se({name:e}={}){const t=Object(o.hasBlockSupport)(e,"typography.__experimentalFontWeight"),n=Object(S.a)("typography.fontWeight");return!t||!n}function ue(e){const t=ae(e),n=se(e);return t&&n}var de=n("BLeD"),be=n.n(de),pe=n("GKUk");const me="typography.__experimentalFontFamily";function fe(e,t,n){if(!Object(o.hasBlockSupport)(t,me))return e;if(Object(o.hasBlockSupport)(t,"typography.__experimentalSkipSerialization"))return e;if(null==n||!n.fontFamily)return e;const r=new be.a(e.className);r.add(`has-${Object(s.kebabCase)(null==n?void 0:n.fontFamily)}-font-family`);const c=r.value;return e.className=c||void 0,e}function he({setAttributes:e,attributes:{fontFamily:t}}){var n;const o=Object(S.a)("typography.fontFamilies"),r=null===(n=Object(s.find)(o,({slug:e})=>t===e))||void 0===n?void 0:n.fontFamily;return Object(i.createElement)(pe.a,{className:"block-editor-hooks-font-family-control",fontFamilies:o,value:r,onChange:function(t){const n=Object(s.find)(o,({fontFamily:e})=>e===t);e({fontFamily:null==n?void 0:n.slug})}})}function ge({name:e}){const t=Object(S.a)("typography.fontFamilies");return!t||0===t.length||!Object(o.hasBlockSupport)(e,me)}Object(r.addFilter)("blocks.registerBlockType","core/fontFamily/addAttribute",(function(e){return Object(o.hasBlockSupport)(e,me)?(e.attributes.fontFamily||Object.assign(e.attributes,{fontFamily:{type:"string"}}),e):e})),Object(r.addFilter)("blocks.getSaveContent.extraProps","core/fontFamily/addSaveProps",fe),Object(r.addFilter)("blocks.registerBlockType","core/fontFamily/addEditProps",(function(e){if(!Object(o.hasBlockSupport)(e,me))return e;const t=e.getEditWrapperProps;return e.getEditWrapperProps=n=>{let o={};return t&&(o=t(n)),fe(o,e,n)},e}));var Oe=n("NMUH"),ve=n("QP/w");function je(e,t,n){if(!Object(o.hasBlockSupport)(t,"typography.fontSize"))return e;if(Object(o.hasBlockSupport)(t,"typography.__experimentalSkipSerialization"))return e;const r=new be.a(e.className);r.add(Object(Oe.b)(n.fontSize));const c=r.value;return e.className=c||void 0,e}function ke(e){var t,n;const{attributes:{fontSize:o,style:r},setAttributes:c}=e,l=Object(S.a)("typography.fontSizes"),a=Object(Oe.a)(l,o,null==r||null===(t=r.typography)||void 0===t?void 0:t.fontSize),s=(null==a?void 0:a.size)||(null==r||null===(n=r.typography)||void 0===n?void 0:n.fontSize)||o;return Object(i.createElement)(ve.a,{onChange:e=>{const t=Object(Oe.c)(l,e).slug;c({style:Object(I.a)({...r,typography:{...null==r?void 0:r.typography,fontSize:t?void 0:e}}),fontSize:t})},value:s,withReset:!1})}function _e({name:e}={}){const t=Object(S.a)("typography.fontSizes"),n=!(null==t||!t.length);return!Object(o.hasBlockSupport)(e,"typography.fontSize")||!n}const ye=Object(u.createHigherOrderComponent)(e=>t=>{var n,r;const c=Object(S.a)("typography.fontSizes"),{name:l,attributes:{fontSize:a,style:s},wrapperProps:u}=t;if(!Object(o.hasBlockSupport)(l,"typography.fontSize")||Object(o.hasBlockSupport)(l,"typography.__experimentalSkipSerialization")||!a||null!=s&&null!==(n=s.typography)&&void 0!==n&&n.fontSize)return Object(i.createElement)(e,t);const d=Object(Oe.a)(c,a,null==s||null===(r=s.typography)||void 0===r?void 0:r.fontSize).size,b={...t,wrapperProps:{...u,style:{fontSize:d,...null==u?void 0:u.style}}};return Object(i.createElement)(e,b)},"withFontSizeInlineStyles");Object(r.addFilter)("blocks.registerBlockType","core/font/addAttribute",(function(e){return Object(o.hasBlockSupport)(e,"typography.fontSize")?(e.attributes.fontSize||Object.assign(e.attributes,{fontSize:{type:"string"}}),e):e})),Object(r.addFilter)("blocks.getSaveContent.extraProps","core/font/addSaveProps",je),Object(r.addFilter)("blocks.registerBlockType","core/font/addEditProps",(function(e){if(!Object(o.hasBlockSupport)(e,"typography.fontSize"))return e;const t=e.getEditWrapperProps;return e.getEditWrapperProps=n=>{let o={};return t&&(o=t(n)),je(o,e,n)},e})),Object(r.addFilter)("editor.BlockListBlock","core/font-size/with-font-size-inline-styles",ye);var Ee=n("kVRd");function Ce(e){var t;const{attributes:{style:n},setAttributes:o}=e;return Object(i.createElement)(Ee.a,{value:null==n||null===(t=n.typography)||void 0===t?void 0:t.textDecoration,onChange:function(e){o({style:Object(I.a)({...n,typography:{...null==n?void 0:n.typography,textDecoration:e}})})}})}function Se({name:e}={}){const t=!Object(o.hasBlockSupport)(e,"typography.__experimentalTextDecoration"),n=Object(S.a)("typography.textDecoration");return t||!n}var we=n("/Hvg");function Be(e){var t;const{attributes:{style:n},setAttributes:o}=e;return Object(i.createElement)(we.a,{value:null==n||null===(t=n.typography)||void 0===t?void 0:t.textTransform,onChange:function(e){o({style:Object(I.a)({...n,typography:{...null==n?void 0:n.typography,textTransform:e}})})}})}function Ie({name:e}={}){const t=!Object(o.hasBlockSupport)(e,"typography.__experimentalTextTransform"),n=Object(S.a)("typography.textTransform");return t||!n}var xe=n("xBDm");function Te(e){var t;const{attributes:{style:n},setAttributes:o}=e;return Object(i.createElement)(xe.a,{value:null==n||null===(t=n.typography)||void 0===t?void 0:t.letterSpacing,onChange:function(e){o({style:Object(I.a)({...n,typography:{...null==n?void 0:n.typography,letterSpacing:e}})})},__unstableInputWidth:!1})}function Pe({name:e}={}){const t=!Object(o.hasBlockSupport)(e,"typography.__experimentalLetterSpacing"),n=Object(S.a)("typography.letterSpacing");return t||!n}const Re=["typography.lineHeight","typography.fontSize","typography.__experimentalFontStyle","typography.__experimentalFontWeight",me,"typography.__experimentalTextDecoration","typography.__experimentalTextTransform","typography.__experimentalLetterSpacing"];function Ne(e){const{clientId:t}=e,n=ge(e),r=_e(e),c=ue(e),l=ie(e),a=Se(e),s=Ie(e),u=Pe(e),d=!ae(e),b=!se(e),p=function(e={}){const t=[ue(e),_e(e),ie(e),ge(e),Se(e),Ie(e),Pe(e)];return t.filter(Boolean).length===t.length}(e),m=Le(e.name);if(p||!m)return null;const f=Object(o.getBlockSupport)(e.name,["typography","__experimentalDefaultControls"]),h=e=>t=>{var n;return{...t,style:{...t.style,typography:{...null===(n=t.style)||void 0===n?void 0:n.typography,[e]:void 0}}}};return Object(i.createElement)(k.b,{__experimentalGroup:"typography"},!n&&Object(i.createElement)(v.__experimentalToolsPanelItem,{hasValue:()=>function(e){return!!e.attributes.fontFamily}(e),label:Object(j.__)("Font family"),onDeselect:()=>function({setAttributes:e}){e({fontFamily:void 0})}(e),isShownByDefault:null==f?void 0:f.fontFamily,resetAllFilter:e=>({...e,fontFamily:void 0}),panelId:t},Object(i.createElement)(he,e)),!r&&Object(i.createElement)(v.__experimentalToolsPanelItem,{hasValue:()=>function(e){var t;const{fontSize:n,style:o}=e.attributes;return!!n||!(null==o||null===(t=o.typography)||void 0===t||!t.fontSize)}(e),label:Object(j.__)("Font size"),onDeselect:()=>function({attributes:e={},setAttributes:t}){const{style:n}=e;t({fontSize:void 0,style:Object(I.a)({...n,typography:{...null==n?void 0:n.typography,fontSize:void 0}})})}(e),isShownByDefault:null==f?void 0:f.fontSize,resetAllFilter:e=>{var t;return{...e,fontSize:void 0,style:{...e.style,typography:{...null===(t=e.style)||void 0===t?void 0:t.typography,fontSize:void 0}}}},panelId:t},Object(i.createElement)(ke,e)),!c&&Object(i.createElement)(v.__experimentalToolsPanelItem,{className:"single-column",hasValue:()=>function(e){var t;const{fontStyle:n,fontWeight:o}=(null===(t=e.attributes.style)||void 0===t?void 0:t.typography)||{};return!!n||!!o}(e),label:Object(oe.b)(d,b),onDeselect:()=>function({attributes:e={},setAttributes:t}){const{style:n}=e;t({style:Object(I.a)({...n,typography:{...null==n?void 0:n.typography,fontStyle:void 0,fontWeight:void 0}})})}(e),isShownByDefault:null==f?void 0:f.fontAppearance,resetAllFilter:e=>{var t;return{...e,style:{...e.style,typography:{...null===(t=e.style)||void 0===t?void 0:t.typography,fontStyle:void 0,fontWeight:void 0}}}},panelId:t},Object(i.createElement)(le,e)),!l&&Object(i.createElement)(v.__experimentalToolsPanelItem,{className:"single-column",hasValue:()=>function(e){var t,n;return!(null===(t=e.attributes.style)||void 0===t||null===(n=t.typography)||void 0===n||!n.lineHeight)}(e),label:Object(j.__)("Line height"),onDeselect:()=>function({attributes:e={},setAttributes:t}){const{style:n}=e;t({style:Object(I.a)({...n,typography:{...null==n?void 0:n.typography,lineHeight:void 0}})})}(e),isShownByDefault:null==f?void 0:f.lineHeight,resetAllFilter:h("lineHeight"),panelId:t},Object(i.createElement)(ce,e)),!a&&Object(i.createElement)(v.__experimentalToolsPanelItem,{className:"single-column",hasValue:()=>function(e){var t,n;return!(null===(t=e.attributes.style)||void 0===t||null===(n=t.typography)||void 0===n||!n.textDecoration)}(e),label:Object(j.__)("Decoration"),onDeselect:()=>function({attributes:e={},setAttributes:t}){const{style:n}=e;t({style:Object(I.a)({...n,typography:{...null==n?void 0:n.typography,textDecoration:void 0}})})}(e),isShownByDefault:null==f?void 0:f.textDecoration,resetAllFilter:h("textDecoration"),panelId:t},Object(i.createElement)(Ce,e)),!s&&Object(i.createElement)(v.__experimentalToolsPanelItem,{className:"single-column",hasValue:()=>function(e){var t,n;return!(null===(t=e.attributes.style)||void 0===t||null===(n=t.typography)||void 0===n||!n.textTransform)}(e),label:Object(j.__)("Letter case"),onDeselect:()=>function({attributes:e={},setAttributes:t}){const{style:n}=e;t({style:Object(I.a)({...n,typography:{...null==n?void 0:n.typography,textTransform:void 0}})})}(e),isShownByDefault:null==f?void 0:f.textTransform,resetAllFilter:h("textTransform"),panelId:t},Object(i.createElement)(Be,e)),!u&&Object(i.createElement)(v.__experimentalToolsPanelItem,{className:"single-column",hasValue:()=>function(e){var t,n;return!(null===(t=e.attributes.style)||void 0===t||null===(n=t.typography)||void 0===n||!n.letterSpacing)}(e),label:Object(j.__)("Letter-spacing"),onDeselect:()=>function({attributes:e={},setAttributes:t}){const{style:n}=e;t({style:Object(I.a)({...n,typography:{...null==n?void 0:n.typography,letterSpacing:void 0}})})}(e),isShownByDefault:null==f?void 0:f.letterSpacing,resetAllFilter:h("letterSpacing"),panelId:t},Object(i.createElement)(Te,e)))}const Le=e=>Re.some(t=>Object(o.hasBlockSupport)(e,t));function Me(e){const t=Object(o.getBlockSupport)(e,We);return!!(!0===t||null!=t&&t.blockGap)}function Ae({name:e}={}){const t=!Object(S.a)("spacing.blockGap");return!Me(e)||t}function De(e){var t;const{clientId:n,attributes:{style:o},setAttributes:r}=e,c=Object(v.__experimentalUseCustomUnits)({availableUnits:Object(S.a)("spacing.units")||["%","px","em","rem","vw"]}),l=Object(q.b)(n);if(Ae(e))return null;return i.Platform.select({web:Object(i.createElement)(i.Fragment,null,Object(i.createElement)(v.__experimentalUnitControl,{label:Object(j.__)("Block spacing"),__unstableInputWidth:"80px",min:0,onChange:e=>{var t;const n={...o,spacing:{...null==o?void 0:o.spacing,blockGap:e}};r({style:Object(I.a)(n)});const c=(null===(t=window)||void 0===t?void 0:t.navigator.userAgent)&&window.navigator.userAgent.includes("Safari")&&!window.navigator.userAgent.includes("Chrome ")&&!window.navigator.userAgent.includes("Chromium ");var i;l.current&&c&&(null===(i=l.current.parentNode)||void 0===i||i.replaceChild(l.current,l.current))},units:c,value:null==o||null===(t=o.spacing)||void 0===t?void 0:t.blockGap})),native:null})}function Fe(e){const t=Object(o.getBlockSupport)(e,We);return!!(!0===t||null!=t&&t.margin)}function ze({name:e}={}){const t=!Object(S.a)("spacing.margin"),n=!Ze(e,"margin");return!Fe(e)||t||n}function He(e){var t;const{name:n,attributes:{style:o},setAttributes:r}=e,c=Object(v.__experimentalUseCustomUnits)({availableUnits:Object(S.a)("spacing.units")||["%","px","em","rem","vw"]}),l=Xe(n,"margin"),a=l&&l.some(e=>Ke.includes(e));if(ze(e))return null;return i.Platform.select({web:Object(i.createElement)(i.Fragment,null,Object(i.createElement)(v.__experimentalBoxControl,{values:null==o||null===(t=o.spacing)||void 0===t?void 0:t.margin,onChange:e=>{const t={...o,spacing:{...null==o?void 0:o.spacing,margin:e}};r({style:Object(I.a)(t)})},onChangeShowVisualizer:e=>{const t={...o,visualizers:{margin:e}};r({style:Object(I.a)(t)})},label:Object(j.__)("Margin"),sides:l,units:c,allowReset:!1,splitOnAxis:a})),native:null})}function Ve(e){const t=Object(o.getBlockSupport)(e,We);return!!(!0===t||null!=t&&t.padding)}function Ge({name:e}={}){const t=!Object(S.a)("spacing.padding"),n=!Ze(e,"padding");return!Ve(e)||t||n}function Ue(e){var t;const{name:n,attributes:{style:o},setAttributes:r}=e,c=Object(v.__experimentalUseCustomUnits)({availableUnits:Object(S.a)("spacing.units")||["%","px","em","rem","vw"]}),l=Xe(n,"padding"),a=l&&l.some(e=>Ke.includes(e));if(Ge(e))return null;return i.Platform.select({web:Object(i.createElement)(i.Fragment,null,Object(i.createElement)(v.__experimentalBoxControl,{values:null==o||null===(t=o.spacing)||void 0===t?void 0:t.padding,onChange:e=>{const t={...o,spacing:{...null==o?void 0:o.spacing,padding:e}};r({style:Object(I.a)(t)})},onChangeShowVisualizer:e=>{const t={...o,visualizers:{padding:e}};r({style:Object(I.a)(t)})},label:Object(j.__)("Padding"),sides:l,units:c,allowReset:!1,splitOnAxis:a})),native:null})}const We="spacing",qe=["top","right","bottom","left"],Ke=["vertical","horizontal"];function $e(e){const t=Ae(e),n=Ge(e),r=ze(e),c=Ye(e),l=function(e){if("web"!==i.Platform.OS)return!1;return Me(e)||Ve(e)||Fe(e)}(e.name);if(c||!l)return null;const a=Object(o.getBlockSupport)(e.name,[We,"__experimentalDefaultControls"]),s=e=>t=>{var n;return{...t,style:{...t.style,spacing:{...null===(n=t.style)||void 0===n?void 0:n.spacing,[e]:void 0}}}};return Object(i.createElement)(k.b,{__experimentalGroup:"dimensions"},!n&&Object(i.createElement)(v.__experimentalToolsPanelItem,{hasValue:()=>function(e){var t,n;return void 0!==(null===(t=e.attributes.style)||void 0===t||null===(n=t.spacing)||void 0===n?void 0:n.padding)}(e),label:Object(j.__)("Padding"),onDeselect:()=>function({attributes:e={},setAttributes:t}){const{style:n}=e;t({style:Object(I.a)({...n,spacing:{...null==n?void 0:n.spacing,padding:void 0}})})}(e),resetAllFilter:s("padding"),isShownByDefault:null==a?void 0:a.padding,panelId:e.clientId},Object(i.createElement)(Ue,e)),!r&&Object(i.createElement)(v.__experimentalToolsPanelItem,{hasValue:()=>function(e){var t,n;return void 0!==(null===(t=e.attributes.style)||void 0===t||null===(n=t.spacing)||void 0===n?void 0:n.margin)}(e),label:Object(j.__)("Margin"),onDeselect:()=>function({attributes:e={},setAttributes:t}){const{style:n}=e;t({style:Object(I.a)({...n,spacing:{...null==n?void 0:n.spacing,margin:void 0}})})}(e),resetAllFilter:s("margin"),isShownByDefault:null==a?void 0:a.margin,panelId:e.clientId},Object(i.createElement)(He,e)),!t&&Object(i.createElement)(v.__experimentalToolsPanelItem,{hasValue:()=>function(e){var t,n;return void 0!==(null===(t=e.attributes.style)||void 0===t||null===(n=t.spacing)||void 0===n?void 0:n.blockGap)}(e),label:Object(j.__)("Block spacing"),onDeselect:()=>function({attributes:e={},setAttributes:t}){const{style:n}=e;t({style:{...n,spacing:{...null==n?void 0:n.spacing,blockGap:void 0}}})}(e),resetAllFilter:s("blockGap"),isShownByDefault:null==a?void 0:a.blockGap,panelId:e.clientId},Object(i.createElement)(De,e)))}const Ye=(e={})=>{const t=Ae(e),n=Ge(e),o=ze(e);return t&&n&&o};function Xe(e,t){const n=Object(o.getBlockSupport)(e,We);if(n&&"boolean"!=typeof n[t])return n[t]}function Ze(e,t){const n=Xe(e,t);return!(n&&n.some(e=>qe.includes(e))&&n.some(e=>Ke.includes(e)))||(console.warn(`The ${t} support for the "${e}" block can not be configured to support both axial and arbitrary sides.`),!1)}var Qe=n("HgtZ");const Je=[...Re,"__experimentalBorder","color",We],et=e=>Je.some(t=>Object(o.hasBlockSupport)(e,t));function tt(e){if(Object(s.startsWith)(e,"var:")){return`var(--wp--${e.slice("var:".length).split("|").join("--")})`}return e}function nt(e={}){const t={};return Object.keys(o.__EXPERIMENTAL_STYLE_PROPERTY).forEach(n=>{const r=o.__EXPERIMENTAL_STYLE_PROPERTY[n].value,c=o.__EXPERIMENTAL_STYLE_PROPERTY[n].properties;if(Object(s.has)(e,r)&&"elements"!==Object(s.first)(r)){const o=Object(s.get)(e,r);c&&!Object(s.isString)(o)?Object.entries(c).forEach(e=>{const[n,r]=e,c=Object(s.get)(o,[r]);c&&(t[n]=tt(c))}):t[n]=tt(Object(s.get)(e,r))}}),t}const ot={"__experimentalBorder.__experimentalSkipSerialization":["border"],"color.__experimentalSkipSerialization":["color"],"typography.__experimentalSkipSerialization":["typography"],[We+".__experimentalSkipSerialization"]:["spacing"]},rt={...ot,[""+We]:["spacing.blockGap"]};function ct(e,t,n,r=rt){if(!et(t))return e;let{style:c}=n;return Object(s.forEach)(r,(e,n)=>{Object(o.getBlockSupport)(t,n)&&(c=Object(s.omit)(c,e))}),e.style={...nt(c),...e.style},e}const it=Object(u.createHigherOrderComponent)(e=>t=>{const n=Object(Qe.a)();return Object(i.createElement)(i.Fragment,null,n&&Object(i.createElement)(i.Fragment,null,Object(i.createElement)(te,t),Object(i.createElement)(Ne,t),Object(i.createElement)(F,t),Object(i.createElement)($e,t)),Object(i.createElement)(e,t))},"withToolbarControls"),lt=Object(u.createHigherOrderComponent)(e=>t=>{var n,r;const l=null===(n=t.attributes.style)||void 0===n?void 0:n.elements,d="wp-elements-"+Object(u.useInstanceId)(e),b=function(e,t={}){return Object(s.map)(t,(t,n)=>{const r=nt(t);return Object(s.isEmpty)(r)?"":[`.${e} ${o.__EXPERIMENTAL_ELEMENTS[n]}{`,...Object(s.map)(r,(e,t)=>`\t${Object(s.kebabCase)(t)}: ${e};`),"}"].join("\n")}).join("\n")}(d,null===(r=t.attributes.style)||void 0===r?void 0:r.elements),p=Object(i.useContext)(C.c.__unstableElementContext);return Object(i.createElement)(i.Fragment,null,l&&p&&Object(i.createPortal)(Object(i.createElement)("style",{dangerouslySetInnerHTML:{__html:b}}),p),Object(i.createElement)(e,Object(c.a)({},t,{className:l?a()(t.className,d):t.className})))});Object(r.addFilter)("blocks.registerBlockType","core/style/addAttribute",(function(e){return et(e)?(e.attributes.style||Object.assign(e.attributes,{style:{type:"object"}}),e):e})),Object(r.addFilter)("blocks.getSaveContent.extraProps","core/style/addSaveProps",ct),Object(r.addFilter)("blocks.registerBlockType","core/style/addEditProps",(function(e){if(!et(e))return e;const t=e.getEditWrapperProps;return e.getEditWrapperProps=n=>{let o={};return t&&(o=t(n)),ct(o,e,n,ot)},e})),Object(r.addFilter)("editor.BlockEdit","core/style/with-block-controls",it),Object(r.addFilter)("editor.BlockListBlock","core/editor/with-elements-styles",lt);var at=n("fHnH"),st=n("abaT"),ut=n("1uGa");const dt=[];function bt(e=[]){const t={r:[],g:[],b:[],a:[]};return e.forEach(e=>{const n=Object(at.a)(e).toRgb();t.r.push(n.r/255),t.g.push(n.g/255),t.b.push(n.b/255),t.a.push(n.a)}),t}function pt({selector:e,id:t,values:n}){const o=`\n${e} {\n\tfilter: url( #${t} );\n}\n`;return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(v.SVG,{xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 0 0",width:"0",height:"0",focusable:"false",role:"none",style:{visibility:"hidden",position:"absolute",left:"-9999px",overflow:"hidden"}},Object(i.createElement)("defs",null,Object(i.createElement)("filter",{id:t},Object(i.createElement)("feColorMatrix",{colorInterpolationFilters:"sRGB",type:"matrix",values:" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 "}),Object(i.createElement)("feComponentTransfer",{colorInterpolationFilters:"sRGB"},Object(i.createElement)("feFuncR",{type:"table",tableValues:n.r.join(" ")}),Object(i.createElement)("feFuncG",{type:"table",tableValues:n.g.join(" ")}),Object(i.createElement)("feFuncB",{type:"table",tableValues:n.b.join(" ")}),Object(i.createElement)("feFuncA",{type:"table",tableValues:n.a.join(" ")})),Object(i.createElement)("feComposite",{in2:"SourceGraphic",operator:"in"})))),Object(i.createElement)("style",{dangerouslySetInnerHTML:{__html:o}}))}function mt({attributes:e,setAttributes:t}){var n;const o=null==e?void 0:e.style,r=null==o||null===(n=o.color)||void 0===n?void 0:n.duotone,c=Object(S.a)("color.duotone")||dt,l=Object(S.a)("color.palette")||dt,a=!Object(S.a)("color.custom"),s=!Object(S.a)("color.customDuotone")||0===(null==l?void 0:l.length)&&a;return 0===(null==c?void 0:c.length)&&s?null:Object(i.createElement)(d.b,{group:"block",__experimentalShareWithChildBlocks:!0},Object(i.createElement)(ut.a,{duotonePalette:c,colorPalette:l,disableCustomDuotone:s,disableCustomColors:a,value:r,onChange:e=>{const n={...o,color:{...null==o?void 0:o.color,duotone:e}};t({style:n})}}))}Object(at.b)([st.a]);const ft=Object(u.createHigherOrderComponent)(e=>t=>{const n=Object(o.hasBlockSupport)(t.name,"color.__experimentalDuotone");return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(e,t),n&&Object(i.createElement)(mt,t))},"withDuotoneControls");const ht=Object(u.createHigherOrderComponent)(e=>t=>{var n,r,l;const s=Object(o.getBlockSupport)(t.name,"color.__experimentalDuotone"),d=null==t||null===(n=t.attributes)||void 0===n||null===(r=n.style)||void 0===r||null===(l=r.color)||void 0===l?void 0:l.duotone;if(!s||!d)return Object(i.createElement)(e,t);const b="wp-duotone-"+Object(u.useInstanceId)(e),p=function(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(", ")}(".editor-styles-wrapper ."+b,s),m=a()(null==t?void 0:t.className,b),f=Object(i.useContext)(C.c.__unstableElementContext);return Object(i.createElement)(i.Fragment,null,f&&Object(i.createPortal)(Object(i.createElement)(pt,{selector:p,id:b,values:bt(d)}),f),Object(i.createElement)(e,Object(c.a)({},t,{className:m})))},"withDuotoneStyles");Object(r.addFilter)("blocks.registerBlockType","core/editor/duotone/add-attributes",(function(e){return Object(o.hasBlockSupport)(e,"color.__experimentalDuotone")?(e.attributes.style||Object.assign(e.attributes,{style:{type:"object"}}),e):e})),Object(r.addFilter)("editor.BlockEdit","core/editor/duotone/with-editor-controls",ft),Object(r.addFilter)("editor.BlockListBlock","core/editor/duotone/with-styles",ht);var gt=n("1ZqX"),Ot=n("BhPs"),vt=n("w8sn"),jt=n("PPMp");function kt({setAttributes:e,attributes:t,name:n}){const{layout:r}=t,c=Object(S.a)("layout"),l=Object(gt.useSelect)(e=>{const{getSettings:t}=e(Ot.a);return t().supportsLayout},[]),a=Object(o.getBlockSupport)(n,"__experimentalLayout",{}),{allowSwitching:s,allowEditing:u=!0,allowInheriting:d=!0,default:b}=a;if(!u)return null;const p=r||b||{},{inherit:m=!1,type:f="default"}=p;if("default"===f&&!l)return null;const h=Object(jt.a)(f),g=t=>e({layout:t});return Object(i.createElement)(i.Fragment,null,Object(i.createElement)(k.b,null,Object(i.createElement)(v.PanelBody,{title:Object(j.__)("Layout")},d&&!!c&&Object(i.createElement)(v.ToggleControl,{label:Object(j.__)("Inherit default layout"),checked:!!m,onChange:()=>e({layout:{inherit:!m}})}),!m&&s&&Object(i.createElement)(_t,{type:f,onChange:t=>e({layout:{type:t}})}),!m&&h&&Object(i.createElement)(h.inspectorControls,{layout:p,onChange:g,layoutBlockSupport:a}))),!m&&h&&Object(i.createElement)(h.toolBarControls,{layout:p,onChange:g,layoutBlockSupport:a}))}function _t({type:e,onChange:t}){return Object(i.createElement)(v.ButtonGroup,null,Object(jt.b)().map(({name:n,label:o})=>Object(i.createElement)(v.Button,{key:n,isPressed:e===n,onClick:()=>t(n)},o)))}const yt=Object(u.createHigherOrderComponent)(e=>t=>{const{name:n}=t;return[Object(o.hasBlockSupport)(n,"__experimentalLayout")&&Object(i.createElement)(kt,Object(c.a)({key:"layout"},t)),Object(i.createElement)(e,Object(c.a)({key:"edit"},t))]},"withInspectorControls"),Et=Object(u.createHigherOrderComponent)(e=>t=>{const{name:n,attributes:r}=t,l=Object(o.hasBlockSupport)(n,"__experimentalLayout"),s=Object(u.useInstanceId)(e),d=Object(S.a)("layout")||{},b=Object(i.useContext)(C.c.__unstableElementContext),{layout:p}=r,{default:m}=Object(o.getBlockSupport)(n,"__experimentalLayout")||{},f=null!=p&&p.inherit?d:p||m||{},h=a()(null==t?void 0:t.className,{["wp-container-"+s]:l});return Object(i.createElement)(i.Fragment,null,l&&b&&Object(i.createPortal)(Object(i.createElement)(vt.b,{selector:".wp-container-"+s,layout:f}),b),Object(i.createElement)(e,Object(c.a)({},t,{className:h})))});Object(r.addFilter)("blocks.registerBlockType","core/layout/addAttribute",(function(e){return Object(s.has)(e.attributes,["layout","type"])||Object(o.hasBlockSupport)(e,"__experimentalLayout")&&(e.attributes={...e.attributes,layout:{type:"object"}}),e})),Object(r.addFilter)("editor.BlockListBlock","core/editor/layout/with-layout-styles",Et),Object(r.addFilter)("editor.BlockEdit","core/editor/layout/with-inspector-controls",yt);const Ct=[];function St({borderColor:e,style:t}){var n;const o=(null==t?void 0:t.border)||{},r=Object(B.a)("border-color",e);return{className:a()({[r]:!!r,"has-border-color":e||(null==t||null===(n=t.border)||void 0===n?void 0:n.color)})||void 0,style:nt({border:o})}}function wt(e){const t=Object(S.a)("color.palette")||Ct,n=St(e);if(e.borderColor){const o=Object(B.b)(t,e.borderColor);n.style.borderColor=o.color}return n}const Bt=[];function It(e){var t,n,o,r,c,i;const{backgroundColor:l,textColor:s,gradient:u,style:d}=e,b=Object(B.a)("background-color",l),p=Object(B.a)("color",s),m=Object(G.a)(u),f=m||(null==d||null===(t=d.color)||void 0===t?void 0:t.gradient);return{className:a()(p,m,{[b]:!f&&!!b,"has-text-color":s||(null==d||null===(n=d.color)||void 0===n?void 0:n.text),"has-background":l||(null==d||null===(o=d.color)||void 0===o?void 0:o.background)||u||(null==d||null===(r=d.color)||void 0===r?void 0:r.gradient),"has-link-color":null==d||null===(c=d.elements)||void 0===c||null===(i=c.link)||void 0===i?void 0:i.color})||void 0,style:nt({color:(null==d?void 0:d.color)||{}})}}function xt(e){const{backgroundColor:t,textColor:n,gradient:o}=e,r=Object(S.a)("color.palette")||Bt,c=Object(S.a)("color.gradients")||Bt,i=It(e);if(t){const e=Object(B.b)(r,t);i.style.backgroundColor=e.color}if(o&&(i.style.background=Object(G.e)(c,o)),n){const e=Object(B.b)(r,n);i.style.color=e.color}return i}function Tt(e){const{style:t}=e;return{style:nt({spacing:(null==t?void 0:t.spacing)||{}})}}function Pt(e){const[t,n]=Object(i.useState)(e);return Object(i.useEffect)(()=>{e&&n(e)},[e]),t}var Rt=n("14PQ"),Nt=n("BCrt"),Lt=n("lJLt")},uoCR:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var o=n("GRId");const r=Object(o.createContext)({});function c({value:e,children:t}){const n=Object(o.useContext)(r),c=Object(o.useMemo)(()=>({...n,...e}),[n,e]);return Object(o.createElement)(r.Provider,{value:c,children:t})}t.b=r},ur0x:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return l}));var o=n("GRId");const r={name:"",isSelected:!1},c=Object(o.createContext)(r),{Provider:i}=c;function l(){return Object(o.useContext)(c)}},v5LD:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var o=n("YLtl"),r=n("1ZqX"),c=n("HSyU"),i=n("ur0x"),l=n("BhPs");const a={"color.palette":e=>void 0===e.colors?void 0:e.colors,"color.gradients":e=>void 0===e.gradients?void 0: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=>void 0===e.fontSizes?void 0: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},s={"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"};function u(e){const{name:t}=Object(i.c)();return Object(r.useSelect)(n=>{var r;const i=n(l.a).getSettings(),u=(e=>s[e]||e)(e),d="__experimentalFeatures."+u,b=`__experimentalFeatures.blocks.${t}.${u}`,p=null!==(r=Object(o.get)(i,b))&&void 0!==r?r:Object(o.get)(i,d);var m,f;if(void 0!==p)return c.__EXPERIMENTAL_PATHS_WITH_MERGE[u]?null!==(m=null!==(f=p.user)&&void 0!==f?f:p.theme)&&void 0!==m?m:p.core:p;const h=a[u]?a[u](i):void 0;return void 0!==h?h:"typography.dropCap"===u||void 0},[t,e])}},v8Ku:function(e,t){},vIlp:function(e,t,n){"use strict";function o(e,t,n=["top","bottom","left","right"]){let o,r;return n.forEach(n=>{const c=function(e,t,n){const o="top"===n||"bottom"===n,{x:r,y:c}=e,i=o?r:c,l=o?c:r,a=o?t.left:t.top,s=o?t.right:t.bottom,u=t[n];let d;return d=i>=a&&i<=s?i:it=>{if("declaration"===t.type){const c=function(e){const t=/url\((\s*)(['"]?)(.+?)\2(\s*)\)/g;let n;const o=[];for(;null!==(n=t.exec(e));){const e={source:n[0],before:n[1],quote:n[2],value:n[3],after:n[4]};v(e)&&o.push(e)}return o}(t.value).map((r=e,e=>({...e,newUrl:"url("+e.before+e.quote+j(e.value,r)+e.quote+e.after+")"})));return{...t,value:(n=t.value,o=c,o.forEach(e=>{n=n.replace(e.source,e.newUrl)}),n)}}var n,o,r;return t};const _=/^(body|html|:root).*$/;var y=(e,t=[])=>n=>{const o=n=>t.includes(n.trim())?n:n.match(_)?n.replace(/^(body|html|:root)/,e):e+" "+n;return"rule"===n.type?{...n,selectors:n.selectors.map(o)}:n};t.a=(e,t="")=>Object(o.map)(e,({css:e,baseURL:n,__experimentalNoWrapper:o=!1})=>{const c=[];return t&&!o&&c.push(y(t)),n&&c.push(k(n)),c.length?O(e,Object(r.compose)(c)):e})},vtO0:function(e,t,n){"use strict";n.d(t,"a",(function(){return j})),n.d(t,"b",(function(){return k}));var o=n("wx14"),r=n("GRId"),c=n("TSYQ"),i=n.n(c),l=n("l3Sj"),a=n("tI+e"),s=n("Tqx9");var u=Object(r.createElement)(s.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(r.createElement)(s.Path,{d:"M5 15h14V9H5v6zm0 4.8h14v-1.5H5v1.5zM5 4.2v1.5h14V4.2H5z"}));var d=Object(r.createElement)(s.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(r.createElement)(s.Path,{d:"M4 9v6h14V9H4zm8-4.8H4v1.5h8V4.2zM4 19.8h8v-1.5H4v1.5z"})),b=n("EpZT");var p=Object(r.createElement)(s.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(r.createElement)(s.Path,{d:"M6 15h14V9H6v6zm6-10.8v1.5h8V4.2h-8zm0 15.6h8v-1.5h-8v1.5z"})),m=n("beZb"),f=n("XNw2"),h=n("K/rC");const g={none:{icon:u,title:Object(l.__)("None")},left:{icon:d,title:Object(l.__)("Align left")},center:{icon:b.a,title:Object(l.__)("Align center")},right:{icon:p,title:Object(l.__)("Align right")},wide:{icon:m.a,title:Object(l.__)("Wide width")},full:{icon:f.a,title:Object(l.__)("Full width")}},O={isAlternate:!0};var v=function({value:e,onChange:t,controls:n,isToolbar:c,isCollapsed:s=!0}){const u=Object(h.a)(n);if(!!!u.length)return null;function d(n){t([e,"none"].includes(n)?void 0:n)}const b=g[e],p=g.none,m=c?a.ToolbarGroup:a.ToolbarDropdownMenu,f={popoverProps:O,icon:b?b.icon:p.icon,label:Object(l.__)("Align"),toggleProps:{describedBy:Object(l.__)("Change alignment")}},v=c||r.Platform.isNative?{isCollapsed:c?s:void 0,controls:u.map(({name:t})=>({...g[t],isActive:e===t||!e&&"none"===t,role:s?"menuitemradio":void 0,onClick:()=>d(t)}))}:{children:({onClose:t})=>Object(r.createElement)(r.Fragment,null,Object(r.createElement)(a.MenuGroup,{className:"block-editor-block-alignment-control__menu-group"},u.map(({name:n,info:o})=>{const{icon:c,title:l}=g[n],s=n===e||!e&&"none"===n;return Object(r.createElement)(a.MenuItem,{key:n,icon:c,iconPosition:"left",className:i()("components-dropdown-menu__menu-item",{"is-active":s}),isSelected:s,onClick:()=>{d(n),t()},role:"menuitemradio",info:o},l)})))};return Object(r.createElement)(m,Object(o.a)({},f,v))};function j(e){return Object(r.createElement)(v,Object(o.a)({},e,{isToolbar:!1}))}function k(e){return Object(r.createElement)(v,Object(o.a)({},e,{isToolbar:!0}))}},w8sn:function(e,t,n){"use strict";n.d(t,"c",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"d",(function(){return s})),n.d(t,"b",(function(){return u}));var o=n("wx14"),r=n("GRId"),c=n("PPMp");const i={type:"default"},l=Object(r.createContext)(i),a=l.Provider;function s(){return Object(r.useContext)(l)}function u({layout:e={},...t}){const n=Object(c.a)(e.type);return n?Object(r.createElement)(n.save,Object(o.a)({layout:e},t)):null}},w95h:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.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"}));t.a=c},wC17:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var o=n("1ZqX"),r=n("HSyU"),c=n("BhPs");function i(e){return Object(o.useSelect)(t=>{if(!e)return null;const{getBlockName:n,getBlockAttributes:o}=t(c.a),{getBlockType:i,getActiveBlockVariation:l}=t(r.store),a=n(e),s=i(a);if(!s)return null;const u=o(e),d=l(a,u),b={title:s.title,icon:s.icon,description:s.description,anchor:null==u?void 0:u.anchor};return d?{title:d.title||s.title,icon:d.icon||s.icon,description:d.description||s.description}:b},[e])}},wJiJ:function(e,t,n){e.exports=n("1K8p")},weEX:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var o=n("GRId"),r=n("l3Sj"),c=n("tI+e"),i=n("RxS6");function l({value:e,onChange:t}){const n=function(e){return void 0!==e&&""!==e}(e),l=n?e:"";return Object(o.createElement)("div",{className:"block-editor-line-height-control"},Object(o.createElement)(c.TextControl,{autoComplete:"off",onKeyDown:e=>{const{keyCode:o}=e;o!==i.ZERO||n||(e.preventDefault(),t("0"))},onChange:e=>{if(n)return void t(e);let o=e;switch(e){case"0.1":o=1.6;break;case"0":o=1.4}t(o)},label:Object(r.__)("Line height"),placeholder:1.5,step:.1,type:"number",value:l,min:0}))}},"wiT/":function(e,t,n){"use strict";var o=n("GRId"),r=n("tI+e"),c=n("GOly");t.a=function({children:e}){const t=Object(r.__unstableUseCompositeState)({shift:!0,wrap:"horizontal"});return Object(o.createElement)(c.a.Provider,{value:t},e)}},wx14:function(e,t,n){"use strict";function o(){return(o=Object.assign||function(e){for(var t=1;t{var o;const{getBlock:r,getBlockIndex:c,hasBlockMovingClientId:i,getBlockListSettings:l}=n(j.a),a=c(e,t),{name:s,attributes:u}=r(e);return{index:a,name:s,attributes:u,blockMovingMode:i(),orientation:null===(o=l(t))||void 0===o?void 0:o.orientation}},[e,t]),{index:u,name:d,attributes:y,blockMovingMode:E,orientation:C}=c,{setNavigationMode:S,removeBlock:w}=Object(s.useDispatch)(j.a),B=Object(o.useRef)(),I=Object(l.getBlockType)(d),x=Object(l.__experimentalGetAccessibleBlockLabel)(I,y,u+1,C);Object(o.useEffect)(()=>{B.current.focus(),Object(h.speak)(x)},[x]);const{hasBlockMovingClientId:T,getBlockIndex:P,getBlockRootClientId:R,getClientIdsOfDescendants:N,getSelectedBlockClientId:L,getMultiSelectedBlocksEndClientId:M,getPreviousBlockClientId:A,getNextBlockClientId:D}=Object(s.useSelect)(j.a),{selectBlock:F,clearSelectedBlock:z,setBlockMovingClientId:H,moveBlockToPosition:V}=Object(s.useDispatch)(j.a),G=i()("block-editor-block-list__block-selection-button",{"is-block-moving-mode":!!E}),U=Object(g.__)("Drag");return Object(o.createElement)("div",{className:G},Object(o.createElement)(a.Flex,{justify:"center",className:"block-editor-block-list__block-selection-button__content"},Object(o.createElement)(a.FlexItem,null,Object(o.createElement)(v.a,{icon:null==r?void 0:r.icon,showColors:!0})),Object(o.createElement)(a.FlexItem,null,Object(o.createElement)(k.a,{clientIds:[e]},e=>Object(o.createElement)(a.Button,Object(p.a)({icon:m.a,className:"block-selection-button_drag-handle","aria-hidden":"true",label:U,tabIndex:"-1"},e)))),Object(o.createElement)(a.FlexItem,null,Object(o.createElement)(a.Button,{ref:B,onClick:()=>S(!1),onKeyDown:function(t){const{keyCode:o}=t,r=o===f.UP,c=o===f.DOWN,i=o===f.LEFT,l=o===f.RIGHT,a=o===f.TAB,s=o===f.ESCAPE,u=o===f.ENTER,d=o===f.SPACE,p=t.shiftKey;if(o===f.BACKSPACE||o===f.DELETE)return w(e),void t.preventDefault();const m=L(),h=M(),g=A(h||m),O=D(h||m),v=a&&p||r,j=a&&!p||c,k=i,_=l;let y;if(v)y=g;else if(j)y=O;else if(k){var E;y=null!==(E=R(m))&&void 0!==E?E:m}else if(_){var C;y=null!==(C=N([m])[0])&&void 0!==C?C:m}const S=T();if(s&&S&&!t.defaultPrevented&&(H(null),t.preventDefault()),(u||d)&&S){const e=R(S),t=R(m),n=P(S,e);let o=P(m,t);n{const{isBlockInsertionPointVisible:n,getBlockInsertionPoint:o,getBlockOrder:r}=t(j.a);if(!n())return!1;const c=o();return r(c.rootClientId)[c.index]===e},[e]),I=Object(d.useViewportMatch)("medium"),[x,T]=Object(o.useState)(!1),[P,R]=Object(o.useState)(!1),{stopTyping:N}=Object(s.useDispatch)(j.a),L=!h&&!m&&r&&n,M=m,A=!m&&!v&&I&&!L&&!f&&(!h||g),D=!(m||A||v||r);Object(u.useShortcut)("core/block-editor/focus-toolbar",()=>{T(!0),N(!0)},{isDisabled:!D}),Object(o.useEffect)(()=>{A||T(!1)},[A]);const F=Object(o.useRef)(),z=Object(S.a)(e),H=Object(S.a)(k),V=Object(S.a)(c),G=Object(w.a)(p);if(!(M||A||x||L))return null;let U=z;if(!U)return null;c&&(U=V);let W=U;if(O){if(!H)return null;W={top:U,bottom:H}}const q=L?"top left right":"top right left",{ownerDocument:K}=U,$=L?void 0:K.defaultView.frameElement||Object(b.getScrollContainer)(U)||K.body;return Object(o.createElement)(a.Popover,{ref:G,noArrow:!0,animate:!1,position:q,focusOnMount:!1,anchorRef:W,className:i()("block-editor-block-list__block-popover",{"is-insertion-point-visible":_}),__unstableStickyBoundaryElement:$,__unstableSlotName:l||null,__unstableBoundaryParent:!0,__unstableObserveElement:U,shouldAnchorIncludePadding:!0,__unstableEditorCanvasWrapper:null==p?void 0:p.current},(A||x)&&Object(o.createElement)("div",{onFocus:function(){R(!0)},onBlur:function(){R(!1)},tabIndex:-1,className:i()("block-editor-block-list__block-popover-inserter",{"is-visible":P})},Object(o.createElement)(C.a,{clientId:e,rootClientId:t,__experimentalIsQuick:!0})),(A||x)&&Object(o.createElement)(E.a,{focusOnMount:x,__experimentalInitialIndex:F.current,__experimentalOnIndexChange:e=>{F.current=e},key:e}),M&&Object(o.createElement)(y,{clientId:e,rootClientId:t,blockElement:U}),L&&Object(o.createElement)("div",{className:"block-editor-block-list__empty-block-inserter"},Object(o.createElement)(C.a,{position:"bottom right",rootClientId:t,clientId:e,__experimentalIsQuick:!0})))}function x(e){const{getSelectedBlockClientId:t,getFirstMultiSelectedBlockClientId:n,getBlockRootClientId:o,getBlock:c,getBlockParents:i,__experimentalGetBlockListSettingsForBlocks:a}=e(j.a),s=t()||n();if(!s)return;const{name:u,attributes:d={},isValid:b}=c(s)||{},p=i(s),m=a(p),f=Object(r.find)(p,e=>{var t;return null===(t=m[e])||void 0===t?void 0:t.__experimentalCaptureToolbars});return{clientId:s,rootClientId:o(s),name:u,isValid:b,isEmptyDefaultBlock:u&&Object(l.isUnmodifiedDefaultBlock)({name:u,attributes:d}),capturingClientId:f}}function T({__unstablePopoverSlot:e,__unstableContentRef:t}){const n=Object(s.useSelect)(x,[]);if(!n)return null;const{clientId:r,rootClientId:c,name:i,isValid:l,isEmptyDefaultBlock:a,capturingClientId:u}=n;return i?Object(o.createElement)(I,{clientId:r,rootClientId:c,isValid:l,isEmptyDefaultBlock:a,capturingClientId:u,__unstablePopoverSlot:e,__unstableContentRef:t}):null}},"xN+R":function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{width:"18",height:"18",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 18 18"},Object(o.createElement)(r.Path,{d:"M5 4h2V2H5v2zm6-2v2h2V2h-2zm-6 8h2V8H5v2zm6 0h2V8h-2v2zm-6 6h2v-2H5v2zm6 0h2v-2h-2v2z"}));t.a=c},xTGt:function(e,t){e.exports=window.wp.blob},xZzQ:function(e,t,n){"use strict";var o=n("GRId"),r=n("tI+e"),c=n("l3Sj"),i=n("1ZqX");const l=[Object(o.createInterpolateElement)(Object(c.__)("While writing, you can press / to quickly insert new blocks."),{kbd:Object(o.createElement)("kbd",null)}),Object(o.createInterpolateElement)(Object(c.__)("Indent a list by pressing space at the beginning of a line."),{kbd:Object(o.createElement)("kbd",null)}),Object(o.createInterpolateElement)(Object(c.__)("Outdent a list by pressing backspace at the beginning of a line."),{kbd:Object(o.createElement)("kbd",null)}),Object(c.__)("Drag files into the editor to automatically insert media blocks."),Object(c.__)("Change a block's type by pressing the block icon on the toolbar.")];var a=function(){const[e]=Object(o.useState)(Math.floor(Math.random()*l.length));return Object(o.createElement)(r.Tip,null,l[e])},s=n("HSyU"),u=n("GvwK"),d=n("REKd");var b=function({item:e}){var t,n;const{name:r,title:i,icon:l,description:a,initialAttributes:b}=e,p=Object(s.getBlockType)(r),m=Object(s.isReusableBlock)(e);return Object(o.createElement)("div",{className:"block-editor-inserter__preview-container"},Object(o.createElement)("div",{className:"block-editor-inserter__preview"},m||null!=p&&p.example?Object(o.createElement)("div",{className:"block-editor-inserter__preview-content"},Object(o.createElement)(d.a,{__experimentalPadding:16,viewportWidth:null!==(t=null===(n=p.example)||void 0===n?void 0:n.viewportWidth)&&void 0!==t?t:500,blocks:p.example?Object(s.getBlockFromExample)(e.name,{attributes:{...p.example.attributes,...b},innerBlocks:p.example.innerBlocks}):Object(s.createBlock)(r,b)})):Object(o.createElement)("div",{className:"block-editor-inserter__preview-content-missing"},Object(c.__)("No Preview Available."))),!m&&Object(o.createElement)(u.a,{title:i,icon:l,description:a}))},p=n("YLtl"),m=n("K9lf"),f=n("6ZVF"),h=n("mdLt"),g=n("+G0a"),O=n("wiT/");const v=[];var j=function({rootClientId:e,onInsert:t,onHover:n,showMostUsedBlocks:r}){const[i,l,a,s]=Object(g.a)(e,t),u=Object(o.useMemo)(()=>Object(p.orderBy)(i,["frecency"],["desc"]).slice(0,6),[i]),d=Object(o.useMemo)(()=>i.filter(e=>!e.category),[i]),b=Object(o.useMemo)(()=>Object(p.flow)(e=>e.filter(e=>e.category&&"reusable"!==e.category),e=>Object(p.groupBy)(e,"category"))(i),[i]),j=Object(o.useMemo)(()=>{const e={...a};return Object.keys(a).forEach(t=>{e[t]=i.filter(e=>(e=>e.name.split("/")[0])(e)===t),0===e[t].length&&delete e[t]}),e},[i,a]);Object(o.useEffect)(()=>()=>n(null),[]);const k=Object(m.useAsyncList)(l),_=l.length===k.length,y=Object(o.useMemo)(()=>Object.entries(a),[a]),E=Object(m.useAsyncList)(_?y:v);return Object(o.createElement)(O.a,null,Object(o.createElement)("div",null,r&&!!u.length&&Object(o.createElement)(h.a,{title:Object(c._x)("Most used","blocks")},Object(o.createElement)(f.a,{items:u,onSelect:s,onHover:n,label:Object(c._x)("Most used","blocks")})),Object(p.map)(k,e=>{const t=b[e.slug];return t&&t.length?Object(o.createElement)(h.a,{key:e.slug,title:e.title,icon:e.icon},Object(o.createElement)(f.a,{items:t,onSelect:s,onHover:n,label:e.title})):null}),_&&d.length>0&&Object(o.createElement)(h.a,{className:"block-editor-inserter__uncategorized-blocks-panel",title:Object(c.__)("Uncategorized")},Object(o.createElement)(f.a,{items:d,onSelect:s,onHover:n,label:Object(c.__)("Uncategorized")})),Object(p.map)(E,([e,t])=>{const r=j[e];return r&&r.length?Object(o.createElement)(h.a,{key:e,title:t.title,icon:t.icon},Object(o.createElement)(f.a,{items:r,onSelect:s,onHover:n,label:t.title})):null})))},k=n("TSYQ"),_=n.n(k);var y=function({selectedCategory:e,patternCategories:t,onClickCategory:n,openPatternExplorer:i}){const l=Object(m.useViewportMatch)("medium","<"),a=_()("block-editor-inserter__panel-header","block-editor-inserter__panel-header-patterns");return Object(o.createElement)(r.Flex,{justify:"space-between",align:"start",gap:"4",className:a},Object(o.createElement)(r.FlexItem,{isBlock:!0},Object(o.createElement)(r.SelectControl,{className:"block-editor-inserter__panel-dropdown",label:Object(c.__)("Filter patterns"),hideLabelFromVision:!0,value:e.name,onChange:e=>{n(t.find(t=>e===t.name))},onBlur:e=>{null!=e&&e.relatedTarget||e.stopPropagation()},options:(()=>{const e=[];return t.map(t=>e.push({value:t.name,label:t.label})),e})()})),!l&&Object(o.createElement)(r.FlexItem,null,Object(o.createElement)(r.Button,{variant:"secondary",className:"block-editor-inserter__patterns-explorer-expand",label:Object(c.__)("Explore all patterns"),onClick:()=>i()},Object(c._x)("Explore","Label for showing all block patterns"))))},E=n("nQUx"),C=n("Fmc1");function S({selectedCategory:e,patternCategories:t,onClickCategory:n}){const c="block-editor-block-patterns-explorer__sidebar";return Object(o.createElement)("div",{className:c+"__categories-list"},t.map(({name:t,label:i})=>Object(o.createElement)(r.Button,{key:t,label:i,className:c+"__categories-list__item",isPressed:e===t,onClick:()=>{n(t)}},i)))}function w({filterValue:e,setFilterValue:t}){return Object(o.createElement)("div",{className:"block-editor-block-patterns-explorer__search"},Object(o.createElement)(r.SearchControl,{onChange:t,value:e,label:Object(c.__)("Search for patterns"),placeholder:Object(c.__)("Search")}))}var B=function({selectedCategory:e,patternCategories:t,onClickCategory:n,filterValue:r,setFilterValue:c}){return Object(o.createElement)("div",{className:"block-editor-block-patterns-explorer__sidebar"},Object(o.createElement)(w,{filterValue:r,setFilterValue:c}),!r&&Object(o.createElement)(S,{selectedCategory:e,patternCategories:t,onClickCategory:n}))},I=n("gdqT"),x=n("LolH"),T=n("AORF"),P=n("pOGT");function R({filterValue:e,filteredBlockPatternsLength:t}){return e?Object(o.createElement)(r.__experimentalHeading,{level:2,lineHeight:"48px",className:"block-editor-block-patterns-explorer__search-results-count"},Object(c.sprintf)(Object(c._n)('%1$d pattern found for "%2$s"','%1$d patterns found for "%2$s"',t),t,e)):null}var N=function({filterValue:e,selectedCategory:t,patternCategories:n}){const r=Object(m.useDebounce)(I.speak,500),[i,l]=Object(T.a)({shouldFocusBlock:!0}),[a,,s]=Object(E.a)(l,i),u=Object(o.useMemo)(()=>n.map(e=>e.name),[n]),d=Object(o.useMemo)(()=>e?Object(P.b)(a,e):a.filter(e=>{var n,o;return"uncategorized"===t?!(null!==(n=e.categories)&&void 0!==n&&n.length)||e.categories.every(e=>!u.includes(e)):null===(o=e.categories)||void 0===o?void 0:o.includes(t)}),[e,t,a]);Object(o.useEffect)(()=>{if(!e)return;const t=d.length,n=Object(c.sprintf)(Object(c._n)("%d result found.","%d results found.",t),t);r(n)},[e,r]);const b=Object(m.useAsyncList)(d,{step:2}),p=!(null==d||!d.length);return Object(o.createElement)("div",{className:"block-editor-block-patterns-explorer__list"},p&&Object(o.createElement)(R,{filterValue:e,filteredBlockPatternsLength:d.length}),Object(o.createElement)(O.a,null,!p&&Object(o.createElement)(x.a,null),p&&Object(o.createElement)(C.a,{shownPatterns:b,blockPatterns:d,onClickPattern:s,isDraggable:!1})))};function L({initialCategory:e,patternCategories:t}){const[n,r]=Object(o.useState)(""),[c,i]=Object(o.useState)(null==e?void 0:e.name);return Object(o.createElement)("div",{className:"block-editor-block-patterns-explorer"},Object(o.createElement)(B,{selectedCategory:c,patternCategories:t,onClickCategory:i,filterValue:n,setFilterValue:r}),Object(o.createElement)(N,{filterValue:n,selectedCategory:c,patternCategories:t}))}var M=function({onModalClose:e,...t}){return Object(o.createElement)(r.Modal,{title:Object(c.__)("Patterns"),closeLabel:Object(c.__)("Close"),onRequestClose:e,isFullScreen:!0},Object(o.createElement)(L,t))};function A({rootClientId:e,onInsert:t,selectedCategory:n,populatedCategories:r}){const[c,,i]=Object(E.a)(t,e),l=Object(o.useCallback)(e=>{var t;if(null===(t=e.categories)||void 0===t||!t.length)return 1/0;const n=r.reduce((e,{name:t},n)=>(e[t]=n,e),{});return Math.min(...e.categories.map(e=>void 0!==n[e]?n[e]:1/0))},[r]),a=Object(o.useMemo)(()=>c.filter(e=>{var t;return"uncategorized"===n.name?l(e)===1/0:null===(t=e.categories)||void 0===t?void 0:t.includes(n.name)}),[c,n]),s=Object(o.useMemo)(()=>a.sort((e,t)=>l(e)-l(t)),[a,l]),u=Object(m.useAsyncList)(s);return a.length?Object(o.createElement)("div",{className:"block-editor-inserter__panel-content"},Object(o.createElement)(C.a,{shownPatterns:u,blockPatterns:a,onClickPattern:i,label:n.label,orientation:"vertical",isDraggable:!0})):null}var D=function({rootClientId:e,onInsert:t,onClickCategory:n,selectedCategory:r}){const[i,l]=Object(o.useState)(!1),[a,s]=Object(E.a)(),u=Object(o.useCallback)(e=>!(!e.categories||!e.categories.length)&&e.categories.some(e=>s.some(t=>t.name===e)),[s]),d=Object(o.useMemo)(()=>{const e=s.filter(e=>a.some(t=>{var n;return null===(n=t.categories)||void 0===n?void 0:n.includes(e.name)})).sort(({name:e},{name:t})=>[e,t].includes("featured")?"featured"===e?-1:1:0);return a.some(e=>!u(e))&&!e.find(e=>"uncategorized"===e.name)&&e.push({name:"uncategorized",label:Object(c._x)("Uncategorized")}),e},[a,s]),b=r||d[0];return Object(o.createElement)(o.Fragment,null,!i&&Object(o.createElement)(o.Fragment,null,Object(o.createElement)(y,{selectedCategory:b,patternCategories:d,onClickCategory:n,openPatternExplorer:()=>l(!0)}),Object(o.createElement)(A,{rootClientId:e,onInsert:t,selectedCategory:b,populatedCategories:d})),i&&Object(o.createElement)(M,{initialCategory:b,patternCategories:d,onModalClose:()=>l(!1)}))},F=n("Mmq9");function z({onHover:e,onInsert:t,rootClientId:n}){const[r,,,i]=Object(g.a)(n,t),l=Object(o.useMemo)(()=>r.filter(({category:e})=>"reusable"===e),[r]);return 0===l.length?Object(o.createElement)(x.a,null):Object(o.createElement)(h.a,{title:Object(c.__)("Reusable blocks")},Object(o.createElement)(f.a,{items:l,onSelect:i,onHover:e,label:Object(c.__)("Reusable blocks")}))}var H=function({rootClientId:e,onInsert:t,onHover:n}){return Object(o.createElement)(o.Fragment,null,Object(o.createElement)(z,{onHover:n,onInsert:t,rootClientId:e}),Object(o.createElement)("div",{className:"block-editor-inserter__manage-reusable-blocks-container"},Object(o.createElement)("a",{className:"block-editor-inserter__manage-reusable-blocks",href:Object(F.addQueryArgs)("edit.php",{post_type:"wp_block"})},Object(c.__)("Manage Reusable blocks"))))},V=n("Wg7J");const G={name:"blocks",title:Object(c.__)("Blocks")},U={name:"patterns",title:Object(c.__)("Patterns")},W={name:"reusable",title:Object(c.__)("Reusable")};var q=function({children:e,showPatterns:t=!1,showReusableBlocks:n=!1,onSelect:c}){const i=Object(o.useMemo)(()=>{const e=[G];return t&&e.push(U),n&&e.push(W),e},[G,t,U,n,W]);return Object(o.createElement)(r.TabPanel,{className:"block-editor-inserter__tabs",tabs:i,onSelect:c},e)},K=n("BhPs");t.a=function({rootClientId:e,clientId:t,isAppender:n,__experimentalInsertionIndex:l,onSelect:s,showInserterHelpPanel:u,showMostUsedBlocks:d,__experimentalFilterValue:p="",shouldFocusBlock:m=!0}){const[f,h]=Object(o.useState)(p),[g,O]=Object(o.useState)(null),[v,k]=Object(o.useState)(null),[_,y,E]=Object(T.a)({rootClientId:e,clientId:t,isAppender:n,insertionIndex:l,shouldFocusBlock:m}),{showPatterns:C,hasReusableBlocks:S}=Object(i.useSelect)(e=>{var t;const{__experimentalGetAllowedPatterns:n,getSettings:o}=e(K.a);return{showPatterns:!!n(_).length,hasReusableBlocks:!(null===(t=o().__experimentalReusableBlocks)||void 0===t||!t.length)}},[_]),w=Object(o.useCallback)((e,t,n)=>{y(e,t,n),s()},[y,s]),B=Object(o.useCallback)((e,t)=>{y(e,{patternName:t}),s()},[y,s]),I=Object(o.useCallback)(e=>{E(!!e),O(e)},[E,O]),x=Object(o.useCallback)(e=>{k(e)},[k]),P=Object(o.useMemo)(()=>Object(o.createElement)(o.Fragment,null,Object(o.createElement)("div",{className:"block-editor-inserter__block-list"},Object(o.createElement)(j,{rootClientId:_,onInsert:w,onHover:I,showMostUsedBlocks:d})),u&&Object(o.createElement)("div",{className:"block-editor-inserter__tips"},Object(o.createElement)(r.VisuallyHidden,{as:"h2"},Object(c.__)("A tip for using the block editor")),Object(o.createElement)(a,null))),[_,w,I,f,d,u]),R=Object(o.useMemo)(()=>Object(o.createElement)(D,{rootClientId:_,onInsert:B,onClickCategory:x,selectedCategory:v}),[_,B,x,v]),N=Object(o.useMemo)(()=>Object(o.createElement)(H,{rootClientId:_,onInsert:w,onHover:I}),[_,w,I]),L=Object(o.useCallback)(e=>"blocks"===e.name?P:"patterns"===e.name?R:N,[P,R,N]);return Object(o.createElement)("div",{className:"block-editor-inserter__menu"},Object(o.createElement)("div",{className:"block-editor-inserter__main-area"},Object(o.createElement)("div",{className:"block-editor-inserter__content"},Object(o.createElement)(r.SearchControl,{className:"block-editor-inserter__search",onChange:e=>{g&&O(null),h(e)},value:f,label:Object(c.__)("Search for blocks and patterns"),placeholder:Object(c.__)("Search")}),!!f&&Object(o.createElement)(V.a,{filterValue:f,onSelect:s,onHover:I,rootClientId:e,clientId:t,isAppender:n,__experimentalInsertionIndex:l,showBlockDirectory:!0,shouldFocusBlock:m}),!f&&(C||S)&&Object(o.createElement)(q,{showPatterns:C,showReusableBlocks:S},L),!f&&!C&&!S&&P)),u&&g&&Object(o.createElement)(b,{item:g}))}},xkPd:function(e,t,n){"use strict";var o=n("wx14"),r=n("GRId"),c=n("l3Sj"),i=n("gdqT");t.a=Object(r.forwardRef)((function(e,t){const[n,l]=Object(r.useState)(!1);return Object(r.useEffect)(()=>{n&&Object(i.speak)(Object(c.__)("Use left and right arrow keys to move through blocks"))},[n]),Object(r.createElement)("div",Object(o.a)({ref:t,role:"listbox","aria-orientation":"horizontal",onFocus:()=>{l(!0)},onBlur:e=>{!e.currentTarget.contains(e.relatedTarget)&&l(!1)}},e))}))},yU1v:function(e,t,n){"use strict";var o=n("wx14"),r=n("GRId"),c=n("TSYQ"),i=n.n(c),l=n("YLtl"),a=n("tI+e"),s=n("l3Sj"),u=n("hMaJ"),d=n("bVpQ"),b=n("Cn0l"),p=n("v5LD");const m=Object(s.__)("(%s: color %s)"),f=Object(s.__)("(%s: gradient %s)"),h=["colors","disableCustomColors","gradients","disableCustomGradients"],g=({colors:e,gradients:t,settings:n})=>n.map(({colorValue:n,gradientValue:o,label:c,colors:i,gradients:l},u)=>{if(!n&&!o)return null;let p;if(n){const t=Object(d.c)(i||e,n);p=Object(s.sprintf)(m,c.toLowerCase(),t&&t.name||n)}else{const e=Object(b.b)(l||t,n);p=Object(s.sprintf)(f,c.toLowerCase(),e&&e.name||o)}return Object(r.createElement)(a.ColorIndicator,{key:u,colorValue:n||o,"aria-label":p})}),O=({className:e,colors:t,gradients:n,disableCustomColors:c,disableCustomGradients:s,children:d,settings:b,title:p,showTitle:m=!0,__experimentalHasMultipleOrigins:f,...h})=>{if(Object(l.isEmpty)(t)&&Object(l.isEmpty)(n)&&c&&s&&Object(l.every)(b,e=>Object(l.isEmpty)(e.colors)&&Object(l.isEmpty)(e.gradients)&&(void 0===e.disableCustomColors||e.disableCustomColors)&&(void 0===e.disableCustomGradients||e.disableCustomGradients)))return null;const O=Object(r.createElement)("span",{className:"block-editor-panel-color-gradient-settings__panel-title"},p,Object(r.createElement)(g,{colors:t,gradients:n,settings:b}));return Object(r.createElement)(a.PanelBody,Object(o.a)({className:i()("block-editor-panel-color-gradient-settings",e),title:m?O:void 0},h),b.map((e,i)=>Object(r.createElement)(u.a,Object(o.a)({showTitle:m,key:i,colors:t,gradients:n,disableCustomColors:c,disableCustomGradients:s,__experimentalHasMultipleOrigins:f},e))),d)};function v(){return{disableCustomColors:!Object(p.a)("color.custom"),disableCustomGradients:!Object(p.a)("color.customGradient")}}const j=e=>{const t=v();return t.colors=Object(p.a)("color.palette"),t.gradients=Object(p.a)("color.gradients"),Object(r.createElement)(O,Object(o.a)({},t,e))},k=e=>{const t=v(),n=Object(p.a)("color.palette.user"),c=Object(p.a)("color.palette.theme"),i=Object(p.a)("color.palette.core");t.colors=Object(r.useMemo)(()=>{const e=[];return i&&i.length&&e.push({name:Object(s.__)("Core"),colors:i}),c&&c.length&&e.push({name:Object(s.__)("Theme"),colors:c}),n&&n.length&&e.push({name:Object(s.__)("User"),colors:n}),e},[i,c,n]);const l=Object(p.a)("color.gradients.user"),a=Object(p.a)("color.gradients.theme"),u=Object(p.a)("color.gradients.core");return t.gradients=Object(r.useMemo)(()=>{const e=[];return u&&u.length&&e.push({name:Object(s.__)("Core"),gradients:u}),a&&a.length&&e.push({name:Object(s.__)("Theme"),gradients:a}),l&&l.length&&e.push({name:Object(s.__)("User"),gradients:l}),e},[l,a,u]),Object(r.createElement)(O,Object(o.a)({},t,e))};t.a=e=>Object(l.every)(h,t=>e.hasOwnProperty(t))?Object(r.createElement)(O,e):e.__experimentalHasMultipleOrigins?Object(r.createElement)(k,e):Object(r.createElement)(j,e)},ywyh:function(e,t){e.exports=window.wp.apiFetch},"z+q2":function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var o=n("YLtl"),r=n("GRId"),c=n("1CF3"),i=n("1ZqX"),l=n("OL6h"),a=n("BhPs");function s(e){const t=Object(r.useRef)(),n=function(e){return Object(i.useSelect)(t=>{const{getSelectedBlocksInitialCaretPosition:n,isMultiSelecting:o,isNavigationMode:r,isBlockSelected:c}=t(a.a);if(c(e)&&!o()&&!r())return n()},[e])}(e);return Object(r.useEffect)(()=>{if(null==n)return;if(!t.current)return;const{ownerDocument:e}=t.current;if(t.current.contains(e.activeElement))return;const r=c.focus.tabbable.find(t.current).filter(e=>Object(c.isTextField)(e)),i=-1===n,a=(i?o.last:o.first)(r)||t.current;Object(l.c)(t.current,a)?Object(c.placeCaretAtHorizontalEdge)(a,i):t.current.focus()},[n]),t}},zQI6:function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return s}));var o=n("wx14"),r=n("GRId"),c=n("1ZqX"),i=n("K9lf"),l=n("BhPs");function a(){const{hasSelectedBlock:e,hasMultiSelection:t}=Object(c.useSelect)(l.a),{clearSelectedBlock:n}=Object(c.useDispatch)(l.a);return Object(i.useRefEffect)(o=>{function r(r){(e()||t())&&r.target===o&&n()}return o.addEventListener("mousedown",r),()=>{o.removeEventListener("mousedown",r)}},[e,t,n])}function s(e){return Object(r.createElement)("div",Object(o.a)({ref:a()},e))}},ziDm:function(e,t,n){"use strict";var o=n("GRId"),r=n("Tqx9");const c=Object(o.createElement)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(r.Path,{d:"M11.1 19.8H20v-1.5h-8.9v1.5zm0-15.6v1.5H20V4.2h-8.9zM4 12.8h16v-1.5H4v1.5z"}));t.a=c},zmSX:function(e,t,n){"use strict";var o=n("Cn0l");n.d(t,"a",(function(){return o.a})),n.d(t,"b",(function(){return o.b})),n.d(t,"c",(function(){return o.c})),n.d(t,"d",(function(){return o.d})),n.d(t,"e",(function(){return o.e}))},zt9T:function(e,t,n){"use strict";var o=n("jB5C");e.exports=function(e,t,n){n=n||{},9===t.nodeType&&(t=o.getWindow(t));var r=n.allowHorizontalScroll,c=n.onlyScrollIfNeeded,i=n.alignWithTop,l=n.alignWithLeft,a=n.offsetTop||0,s=n.offsetLeft||0,u=n.offsetBottom||0,d=n.offsetRight||0;r=void 0===r||r;var b=o.isWindow(t),p=o.offset(e),m=o.outerHeight(e),f=o.outerWidth(e),h=void 0,g=void 0,O=void 0,v=void 0,j=void 0,k=void 0,_=void 0,y=void 0,E=void 0,C=void 0;b?(_=t,C=o.height(_),E=o.width(_),y={left:o.scrollLeft(_),top:o.scrollTop(_)},j={left:p.left-y.left-s,top:p.top-y.top-a},k={left:p.left+f-(y.left+E)+d,top:p.top+m-(y.top+C)+u},v=y):(h=o.offset(t),g=t.clientHeight,O=t.clientWidth,v={left:t.scrollLeft,top:t.scrollTop},j={left:p.left-(h.left+(parseFloat(o.css(t,"borderLeftWidth"))||0))-s,top:p.top-(h.top+(parseFloat(o.css(t,"borderTopWidth"))||0))-a},k={left:p.left+f-(h.left+O+(parseFloat(o.css(t,"borderRightWidth"))||0))+d,top:p.top+m-(h.top+g+(parseFloat(o.css(t,"borderBottomWidth"))||0))+u}),j.top<0||k.top>0?!0===i?o.scrollTop(t,v.top+j.top):!1===i?o.scrollTop(t,v.top+k.top):j.top<0?o.scrollTop(t,v.top+j.top):o.scrollTop(t,v.top+k.top):c||((i=void 0===i||!!i)?o.scrollTop(t,v.top+j.top):o.scrollTop(t,v.top+k.top)),r&&(j.left<0||k.left>0?!0===l?o.scrollLeft(t,v.left+j.left):!1===l?o.scrollLeft(t,v.left+k.left):j.left<0?o.scrollLeft(t,v.left+j.left):o.scrollLeft(t,v.left+k.left):c||((l=void 0===l||!!l)?o.scrollLeft(t,v.left+j.left):o.scrollLeft(t,v.left+k.left)))}}}); \ No newline at end of file diff --git a/wp-includes/js/dist/block-library.js b/wp-includes/js/dist/block-library.js index ccf0962371..f1c3895d5a 100644 --- a/wp-includes/js/dist/block-library.js +++ b/wp-includes/js/dist/block-library.js @@ -87,200 +87,62 @@ this["wp"] = this["wp"] || {}; this["wp"]["blockLibrary"] = /************************************************************************/ /******/ ({ +/***/ "+WrK": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const symbol = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["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 */ __webpack_exports__["a"] = (symbol); + + +/***/ }), + +/***/ "//kF": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const footer = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { + fillRule: "evenodd", + d: "M18 5.5h-8v8h8.5V6a.5.5 0 00-.5-.5zm-9.5 8h-3V6a.5.5 0 01.5-.5h2.5v8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z" +})); +/* harmony default export */ __webpack_exports__["a"] = (footer); + + +/***/ }), + /***/ "1CF3": /***/ (function(module, exports) { (function() { module.exports = window["wp"]["dom"]; }()); -/***/ }), - -/***/ "1K8p": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule normalizeWheel - * @typechecks - */ - - - -var UserAgent_DEPRECATED = __webpack_require__("jrfk"); - -var isEventSupported = __webpack_require__("ez49"); - - -// Reasonable defaults -var PIXEL_STEP = 10; -var LINE_HEIGHT = 40; -var PAGE_HEIGHT = 800; - -/** - * Mouse wheel (and 2-finger trackpad) support on the web sucks. It is - * complicated, thus this doc is long and (hopefully) detailed enough to answer - * your questions. - * - * If you need to react to the mouse wheel in a predictable way, this code is - * like your bestest friend. * hugs * - * - * As of today, there are 4 DOM event types you can listen to: - * - * 'wheel' -- Chrome(31+), FF(17+), IE(9+) - * 'mousewheel' -- Chrome, IE(6+), Opera, Safari - * 'MozMousePixelScroll' -- FF(3.5 only!) (2010-2013) -- don't bother! - * 'DOMMouseScroll' -- FF(0.9.7+) since 2003 - * - * So what to do? The is the best: - * - * normalizeWheel.getEventType(); - * - * In your event callback, use this code to get sane interpretation of the - * deltas. This code will return an object with properties: - * - * spinX -- normalized spin speed (use for zoom) - x plane - * spinY -- " - y plane - * pixelX -- normalized distance (to pixels) - x plane - * pixelY -- " - y plane - * - * Wheel values are provided by the browser assuming you are using the wheel to - * scroll a web page by a number of lines or pixels (or pages). Values can vary - * significantly on different platforms and browsers, forgetting that you can - * scroll at different speeds. Some devices (like trackpads) emit more events - * at smaller increments with fine granularity, and some emit massive jumps with - * linear speed or acceleration. - * - * This code does its best to normalize the deltas for you: - * - * - spin is trying to normalize how far the wheel was spun (or trackpad - * dragged). This is super useful for zoom support where you want to - * throw away the chunky scroll steps on the PC and make those equal to - * the slow and smooth tiny steps on the Mac. Key data: This code tries to - * resolve a single slow step on a wheel to 1. - * - * - pixel is normalizing the desired scroll delta in pixel units. You'll - * get the crazy differences between browsers, but at least it'll be in - * pixels! - * - * - positive value indicates scrolling DOWN/RIGHT, negative UP/LEFT. This - * should translate to positive value zooming IN, negative zooming OUT. - * This matches the newer 'wheel' event. - * - * Why are there spinX, spinY (or pixels)? - * - * - spinX is a 2-finger side drag on the trackpad, and a shift + wheel turn - * with a mouse. It results in side-scrolling in the browser by default. - * - * - spinY is what you expect -- it's the classic axis of a mouse wheel. - * - * - I dropped spinZ/pixelZ. It is supported by the DOM 3 'wheel' event and - * probably is by browsers in conjunction with fancy 3D controllers .. but - * you know. - * - * Implementation info: - * - * Examples of 'wheel' event if you scroll slowly (down) by one step with an - * average mouse: - * - * OS X + Chrome (mouse) - 4 pixel delta (wheelDelta -120) - * OS X + Safari (mouse) - N/A pixel delta (wheelDelta -12) - * OS X + Firefox (mouse) - 0.1 line delta (wheelDelta N/A) - * Win8 + Chrome (mouse) - 100 pixel delta (wheelDelta -120) - * Win8 + Firefox (mouse) - 3 line delta (wheelDelta -120) - * - * On the trackpad: - * - * OS X + Chrome (trackpad) - 2 pixel delta (wheelDelta -6) - * OS X + Firefox (trackpad) - 1 pixel delta (wheelDelta N/A) - * - * On other/older browsers.. it's more complicated as there can be multiple and - * also missing delta values. - * - * The 'wheel' event is more standard: - * - * http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents - * - * The basics is that it includes a unit, deltaMode (pixels, lines, pages), and - * deltaX, deltaY and deltaZ. Some browsers provide other values to maintain - * backward compatibility with older events. Those other values help us - * better normalize spin speed. Example of what the browsers provide: - * - * | event.wheelDelta | event.detail - * ------------------+------------------+-------------- - * Safari v5/OS X | -120 | 0 - * Safari v5/Win7 | -120 | 0 - * Chrome v17/OS X | -120 | 0 - * Chrome v17/Win7 | -120 | 0 - * IE9/Win7 | -120 | undefined - * Firefox v4/OS X | undefined | 1 - * Firefox v4/Win7 | undefined | 3 - * - */ -function normalizeWheel(/*object*/ event) /*object*/ { - var sX = 0, sY = 0, // spinX, spinY - pX = 0, pY = 0; // pixelX, pixelY - - // Legacy - if ('detail' in event) { sY = event.detail; } - if ('wheelDelta' in event) { sY = -event.wheelDelta / 120; } - if ('wheelDeltaY' in event) { sY = -event.wheelDeltaY / 120; } - if ('wheelDeltaX' in event) { sX = -event.wheelDeltaX / 120; } - - // side scrolling on FF with DOMMouseScroll - if ( 'axis' in event && event.axis === event.HORIZONTAL_AXIS ) { - sX = sY; - sY = 0; - } - - pX = sX * PIXEL_STEP; - pY = sY * PIXEL_STEP; - - if ('deltaY' in event) { pY = event.deltaY; } - if ('deltaX' in event) { pX = event.deltaX; } - - if ((pX || pY) && event.deltaMode) { - if (event.deltaMode == 1) { // delta in LINE units - pX *= LINE_HEIGHT; - pY *= LINE_HEIGHT; - } else { // delta in PAGE units - pX *= PAGE_HEIGHT; - pY *= PAGE_HEIGHT; - } - } - - // Fall-back if spin cannot be determined - if (pX && !sX) { sX = (pX < 1) ? -1 : 1; } - if (pY && !sY) { sY = (pY < 1) ? -1 : 1; } - - return { spinX : sX, - spinY : sY, - pixelX : pX, - pixelY : pY }; -} - - -/** - * The best combination if you prefer spinX + spinY normalization. It favors - * the older DOMMouseScroll for Firefox, as FF does not include wheelDelta with - * 'wheel' event, making spin speed determination impossible. - */ -normalizeWheel.getEventType = function() /*string*/ { - return (UserAgent_DEPRECATED.firefox()) - ? 'DOMMouseScroll' - : (isEventSupported('wheel')) - ? 'wheel' - : 'mousewheel'; -}; - -module.exports = normalizeWheel; - - /***/ }), /***/ "1Yn1": @@ -712,6 +574,31 @@ const link = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createEleme /* harmony default export */ __webpack_exports__["a"] = (link); +/***/ }), + +/***/ "Civd": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const layout = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["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 */ __webpack_exports__["a"] = (layout); + + /***/ }), /***/ "FEKF": @@ -1174,6 +1061,31 @@ return FastAverageColor; (function() { module.exports = window["wp"]["date"]; }()); +/***/ }), + +/***/ "G8mJ": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); +/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); + + +/** + * WordPress dependencies + */ + +const header = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { + d: "M18.5 10.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 */ __webpack_exports__["a"] = (header); + + /***/ }), /***/ "GRId": @@ -1209,41 +1121,6 @@ __webpack_require__.d(__webpack_exports__, "__experimentalGetCoreBlocks", functi __webpack_require__.d(__webpack_exports__, "registerCoreBlocks", function() { return /* binding */ registerCoreBlocks; }); __webpack_require__.d(__webpack_exports__, "__experimentalRegisterExperimentalCoreBlocks", function() { return /* binding */ __experimentalRegisterExperimentalCoreBlocks; }); -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/paragraph/index.js -var build_module_paragraph_namespaceObject = {}; -__webpack_require__.r(build_module_paragraph_namespaceObject); -__webpack_require__.d(build_module_paragraph_namespaceObject, "metadata", function() { return paragraph_metadata; }); -__webpack_require__.d(build_module_paragraph_namespaceObject, "name", function() { return paragraph_name; }); -__webpack_require__.d(build_module_paragraph_namespaceObject, "settings", function() { return paragraph_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/image/index.js -var build_module_image_namespaceObject = {}; -__webpack_require__.r(build_module_image_namespaceObject); -__webpack_require__.d(build_module_image_namespaceObject, "metadata", function() { return image_metadata; }); -__webpack_require__.d(build_module_image_namespaceObject, "name", function() { return image_name; }); -__webpack_require__.d(build_module_image_namespaceObject, "settings", function() { return image_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/heading/index.js -var build_module_heading_namespaceObject = {}; -__webpack_require__.r(build_module_heading_namespaceObject); -__webpack_require__.d(build_module_heading_namespaceObject, "metadata", function() { return heading_metadata; }); -__webpack_require__.d(build_module_heading_namespaceObject, "name", function() { return heading_name; }); -__webpack_require__.d(build_module_heading_namespaceObject, "settings", function() { return heading_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/quote/index.js -var build_module_quote_namespaceObject = {}; -__webpack_require__.r(build_module_quote_namespaceObject); -__webpack_require__.d(build_module_quote_namespaceObject, "metadata", function() { return quote_metadata; }); -__webpack_require__.d(build_module_quote_namespaceObject, "name", function() { return quote_name; }); -__webpack_require__.d(build_module_quote_namespaceObject, "settings", function() { return quote_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/gallery/index.js -var build_module_gallery_namespaceObject = {}; -__webpack_require__.r(build_module_gallery_namespaceObject); -__webpack_require__.d(build_module_gallery_namespaceObject, "metadata", function() { return gallery_metadata; }); -__webpack_require__.d(build_module_gallery_namespaceObject, "name", function() { return gallery_name; }); -__webpack_require__.d(build_module_gallery_namespaceObject, "settings", function() { return gallery_settings; }); - // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/archives/index.js var archives_namespaceObject = {}; __webpack_require__.r(archives_namespaceObject); @@ -1286,6 +1163,13 @@ __webpack_require__.d(categories_namespaceObject, "metadata", function() { retur __webpack_require__.d(categories_namespaceObject, "name", function() { return categories_name; }); __webpack_require__.d(categories_namespaceObject, "settings", function() { return categories_settings; }); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/freeform/index.js +var freeform_namespaceObject = {}; +__webpack_require__.r(freeform_namespaceObject); +__webpack_require__.d(freeform_namespaceObject, "metadata", function() { return freeform_metadata; }); +__webpack_require__.d(freeform_namespaceObject, "name", function() { return freeform_name; }); +__webpack_require__.d(freeform_namespaceObject, "settings", function() { return freeform_settings; }); + // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/code/index.js var code_namespaceObject = {}; __webpack_require__.r(code_namespaceObject); @@ -1293,13 +1177,6 @@ __webpack_require__.d(code_namespaceObject, "metadata", function() { return code __webpack_require__.d(code_namespaceObject, "name", function() { return code_name; }); __webpack_require__.d(code_namespaceObject, "settings", function() { return code_settings; }); -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/columns/index.js -var build_module_columns_namespaceObject = {}; -__webpack_require__.r(build_module_columns_namespaceObject); -__webpack_require__.d(build_module_columns_namespaceObject, "metadata", function() { return columns_metadata; }); -__webpack_require__.d(build_module_columns_namespaceObject, "name", function() { return columns_name; }); -__webpack_require__.d(build_module_columns_namespaceObject, "settings", function() { return columns_settings; }); - // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/column/index.js var build_module_column_namespaceObject = {}; __webpack_require__.r(build_module_column_namespaceObject); @@ -1307,6 +1184,13 @@ __webpack_require__.d(build_module_column_namespaceObject, "metadata", function( __webpack_require__.d(build_module_column_namespaceObject, "name", function() { return column_name; }); __webpack_require__.d(build_module_column_namespaceObject, "settings", function() { return column_settings; }); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/columns/index.js +var build_module_columns_namespaceObject = {}; +__webpack_require__.r(build_module_columns_namespaceObject); +__webpack_require__.d(build_module_columns_namespaceObject, "metadata", function() { return columns_metadata; }); +__webpack_require__.d(build_module_columns_namespaceObject, "name", function() { return columns_name; }); +__webpack_require__.d(build_module_columns_namespaceObject, "settings", function() { return columns_settings; }); + // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/cover/index.js var build_module_cover_namespaceObject = {}; __webpack_require__.r(build_module_cover_namespaceObject); @@ -1328,6 +1212,27 @@ __webpack_require__.d(build_module_file_namespaceObject, "metadata", function() __webpack_require__.d(build_module_file_namespaceObject, "name", function() { return file_name; }); __webpack_require__.d(build_module_file_namespaceObject, "settings", function() { return file_settings; }); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/gallery/index.js +var build_module_gallery_namespaceObject = {}; +__webpack_require__.r(build_module_gallery_namespaceObject); +__webpack_require__.d(build_module_gallery_namespaceObject, "metadata", function() { return gallery_metadata; }); +__webpack_require__.d(build_module_gallery_namespaceObject, "name", function() { return gallery_name; }); +__webpack_require__.d(build_module_gallery_namespaceObject, "settings", function() { return gallery_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/group/index.js +var group_namespaceObject = {}; +__webpack_require__.r(group_namespaceObject); +__webpack_require__.d(group_namespaceObject, "metadata", function() { return group_metadata; }); +__webpack_require__.d(group_namespaceObject, "name", function() { return group_name; }); +__webpack_require__.d(group_namespaceObject, "settings", function() { return group_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/heading/index.js +var build_module_heading_namespaceObject = {}; +__webpack_require__.r(build_module_heading_namespaceObject); +__webpack_require__.d(build_module_heading_namespaceObject, "metadata", function() { return heading_metadata; }); +__webpack_require__.d(build_module_heading_namespaceObject, "name", function() { return heading_name; }); +__webpack_require__.d(build_module_heading_namespaceObject, "settings", function() { return heading_settings; }); + // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/html/index.js var build_module_html_namespaceObject = {}; __webpack_require__.r(build_module_html_namespaceObject); @@ -1335,12 +1240,12 @@ __webpack_require__.d(build_module_html_namespaceObject, "metadata", function() __webpack_require__.d(build_module_html_namespaceObject, "name", function() { return html_name; }); __webpack_require__.d(build_module_html_namespaceObject, "settings", function() { return html_settings; }); -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/media-text/index.js -var media_text_namespaceObject = {}; -__webpack_require__.r(media_text_namespaceObject); -__webpack_require__.d(media_text_namespaceObject, "metadata", function() { return media_text_metadata; }); -__webpack_require__.d(media_text_namespaceObject, "name", function() { return media_text_name; }); -__webpack_require__.d(media_text_namespaceObject, "settings", function() { return media_text_settings; }); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/image/index.js +var build_module_image_namespaceObject = {}; +__webpack_require__.r(build_module_image_namespaceObject); +__webpack_require__.d(build_module_image_namespaceObject, "metadata", function() { return image_metadata; }); +__webpack_require__.d(build_module_image_namespaceObject, "name", function() { return image_name; }); +__webpack_require__.d(build_module_image_namespaceObject, "settings", function() { return image_settings; }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/latest-comments/index.js var latest_comments_namespaceObject = {}; @@ -1356,6 +1261,13 @@ __webpack_require__.d(latest_posts_namespaceObject, "metadata", function() { ret __webpack_require__.d(latest_posts_namespaceObject, "name", function() { return latest_posts_name; }); __webpack_require__.d(latest_posts_namespaceObject, "settings", function() { return latest_posts_settings; }); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/list/index.js +var build_module_list_namespaceObject = {}; +__webpack_require__.r(build_module_list_namespaceObject); +__webpack_require__.d(build_module_list_namespaceObject, "metadata", function() { return list_metadata; }); +__webpack_require__.d(build_module_list_namespaceObject, "name", function() { return list_name; }); +__webpack_require__.d(build_module_list_namespaceObject, "settings", function() { return list_settings; }); + // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/loginout/index.js var loginout_namespaceObject = {}; __webpack_require__.r(loginout_namespaceObject); @@ -1363,12 +1275,12 @@ __webpack_require__.d(loginout_namespaceObject, "metadata", function() { return __webpack_require__.d(loginout_namespaceObject, "name", function() { return loginout_name; }); __webpack_require__.d(loginout_namespaceObject, "settings", function() { return loginout_settings; }); -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/list/index.js -var build_module_list_namespaceObject = {}; -__webpack_require__.r(build_module_list_namespaceObject); -__webpack_require__.d(build_module_list_namespaceObject, "metadata", function() { return list_metadata; }); -__webpack_require__.d(build_module_list_namespaceObject, "name", function() { return list_name; }); -__webpack_require__.d(build_module_list_namespaceObject, "settings", function() { return list_settings; }); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/media-text/index.js +var media_text_namespaceObject = {}; +__webpack_require__.r(media_text_namespaceObject); +__webpack_require__.d(media_text_namespaceObject, "metadata", function() { return media_text_metadata; }); +__webpack_require__.d(media_text_namespaceObject, "name", function() { return media_text_name; }); +__webpack_require__.d(media_text_namespaceObject, "settings", function() { return media_text_settings; }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/missing/index.js var missing_namespaceObject = {}; @@ -1384,6 +1296,34 @@ __webpack_require__.d(build_module_more_namespaceObject, "metadata", function() __webpack_require__.d(build_module_more_namespaceObject, "name", function() { return more_name; }); __webpack_require__.d(build_module_more_namespaceObject, "settings", function() { return more_settings; }); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/navigation/index.js +var build_module_navigation_namespaceObject = {}; +__webpack_require__.r(build_module_navigation_namespaceObject); +__webpack_require__.d(build_module_navigation_namespaceObject, "metadata", function() { return navigation_metadata; }); +__webpack_require__.d(build_module_navigation_namespaceObject, "name", function() { return navigation_name; }); +__webpack_require__.d(build_module_navigation_namespaceObject, "settings", function() { return navigation_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/navigation-area/index.js +var navigation_area_namespaceObject = {}; +__webpack_require__.r(navigation_area_namespaceObject); +__webpack_require__.d(navigation_area_namespaceObject, "metadata", function() { return navigation_area_metadata; }); +__webpack_require__.d(navigation_area_namespaceObject, "name", function() { return navigation_area_name; }); +__webpack_require__.d(navigation_area_namespaceObject, "settings", function() { return navigation_area_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/navigation-link/index.js +var navigation_link_namespaceObject = {}; +__webpack_require__.r(navigation_link_namespaceObject); +__webpack_require__.d(navigation_link_namespaceObject, "metadata", function() { return navigation_link_metadata; }); +__webpack_require__.d(navigation_link_namespaceObject, "name", function() { return navigation_link_name; }); +__webpack_require__.d(navigation_link_namespaceObject, "settings", function() { return navigation_link_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/navigation-submenu/index.js +var navigation_submenu_namespaceObject = {}; +__webpack_require__.r(navigation_submenu_namespaceObject); +__webpack_require__.d(navigation_submenu_namespaceObject, "metadata", function() { return navigation_submenu_metadata; }); +__webpack_require__.d(navigation_submenu_namespaceObject, "name", function() { return navigation_submenu_name; }); +__webpack_require__.d(navigation_submenu_namespaceObject, "settings", function() { return navigation_submenu_settings; }); + // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/nextpage/index.js var nextpage_namespaceObject = {}; __webpack_require__.r(nextpage_namespaceObject); @@ -1391,6 +1331,13 @@ __webpack_require__.d(nextpage_namespaceObject, "metadata", function() { return __webpack_require__.d(nextpage_namespaceObject, "name", function() { return nextpage_name; }); __webpack_require__.d(nextpage_namespaceObject, "settings", function() { return nextpage_settings; }); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/pattern/index.js +var pattern_namespaceObject = {}; +__webpack_require__.r(pattern_namespaceObject); +__webpack_require__.d(pattern_namespaceObject, "metadata", function() { return pattern_metadata; }); +__webpack_require__.d(pattern_namespaceObject, "name", function() { return pattern_name; }); +__webpack_require__.d(pattern_namespaceObject, "settings", function() { return pattern_settings; }); + // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/page-list/index.js var page_list_namespaceObject = {}; __webpack_require__.r(page_list_namespaceObject); @@ -1398,201 +1345,26 @@ __webpack_require__.d(page_list_namespaceObject, "metadata", function() { return __webpack_require__.d(page_list_namespaceObject, "name", function() { return page_list_name; }); __webpack_require__.d(page_list_namespaceObject, "settings", function() { return page_list_settings; }); -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/preformatted/index.js -var build_module_preformatted_namespaceObject = {}; -__webpack_require__.r(build_module_preformatted_namespaceObject); -__webpack_require__.d(build_module_preformatted_namespaceObject, "metadata", function() { return preformatted_metadata; }); -__webpack_require__.d(build_module_preformatted_namespaceObject, "name", function() { return preformatted_name; }); -__webpack_require__.d(build_module_preformatted_namespaceObject, "settings", function() { return preformatted_settings; }); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/paragraph/index.js +var build_module_paragraph_namespaceObject = {}; +__webpack_require__.r(build_module_paragraph_namespaceObject); +__webpack_require__.d(build_module_paragraph_namespaceObject, "metadata", function() { return paragraph_metadata; }); +__webpack_require__.d(build_module_paragraph_namespaceObject, "name", function() { return paragraph_name; }); +__webpack_require__.d(build_module_paragraph_namespaceObject, "settings", function() { return paragraph_settings; }); -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/pullquote/index.js -var build_module_pullquote_namespaceObject = {}; -__webpack_require__.r(build_module_pullquote_namespaceObject); -__webpack_require__.d(build_module_pullquote_namespaceObject, "metadata", function() { return pullquote_metadata; }); -__webpack_require__.d(build_module_pullquote_namespaceObject, "name", function() { return pullquote_name; }); -__webpack_require__.d(build_module_pullquote_namespaceObject, "settings", function() { return pullquote_settings; }); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-author/index.js +var build_module_post_author_namespaceObject = {}; +__webpack_require__.r(build_module_post_author_namespaceObject); +__webpack_require__.d(build_module_post_author_namespaceObject, "metadata", function() { return post_author_metadata; }); +__webpack_require__.d(build_module_post_author_namespaceObject, "name", function() { return post_author_name; }); +__webpack_require__.d(build_module_post_author_namespaceObject, "settings", function() { return post_author_settings; }); -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/block/index.js -var block_namespaceObject = {}; -__webpack_require__.r(block_namespaceObject); -__webpack_require__.d(block_namespaceObject, "metadata", function() { return block_metadata; }); -__webpack_require__.d(block_namespaceObject, "name", function() { return block_name; }); -__webpack_require__.d(block_namespaceObject, "settings", function() { return block_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/rss/index.js -var build_module_rss_namespaceObject = {}; -__webpack_require__.r(build_module_rss_namespaceObject); -__webpack_require__.d(build_module_rss_namespaceObject, "metadata", function() { return rss_metadata; }); -__webpack_require__.d(build_module_rss_namespaceObject, "name", function() { return rss_name; }); -__webpack_require__.d(build_module_rss_namespaceObject, "settings", function() { return rss_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/search/index.js -var search_namespaceObject = {}; -__webpack_require__.r(search_namespaceObject); -__webpack_require__.d(search_namespaceObject, "metadata", function() { return search_metadata; }); -__webpack_require__.d(search_namespaceObject, "name", function() { return search_name; }); -__webpack_require__.d(search_namespaceObject, "settings", function() { return search_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/group/index.js -var build_module_group_namespaceObject = {}; -__webpack_require__.r(build_module_group_namespaceObject); -__webpack_require__.d(build_module_group_namespaceObject, "metadata", function() { return group_metadata; }); -__webpack_require__.d(build_module_group_namespaceObject, "name", function() { return group_name; }); -__webpack_require__.d(build_module_group_namespaceObject, "settings", function() { return group_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/separator/index.js -var build_module_separator_namespaceObject = {}; -__webpack_require__.r(build_module_separator_namespaceObject); -__webpack_require__.d(build_module_separator_namespaceObject, "metadata", function() { return separator_metadata; }); -__webpack_require__.d(build_module_separator_namespaceObject, "name", function() { return separator_name; }); -__webpack_require__.d(build_module_separator_namespaceObject, "settings", function() { return build_module_separator_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/shortcode/index.js -var build_module_shortcode_namespaceObject = {}; -__webpack_require__.r(build_module_shortcode_namespaceObject); -__webpack_require__.d(build_module_shortcode_namespaceObject, "metadata", function() { return shortcode_metadata; }); -__webpack_require__.d(build_module_shortcode_namespaceObject, "name", function() { return shortcode_name; }); -__webpack_require__.d(build_module_shortcode_namespaceObject, "settings", function() { return shortcode_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/spacer/index.js -var spacer_namespaceObject = {}; -__webpack_require__.r(spacer_namespaceObject); -__webpack_require__.d(spacer_namespaceObject, "metadata", function() { return spacer_metadata; }); -__webpack_require__.d(spacer_namespaceObject, "name", function() { return spacer_name; }); -__webpack_require__.d(spacer_namespaceObject, "settings", function() { return spacer_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/table/index.js -var build_module_table_namespaceObject = {}; -__webpack_require__.r(build_module_table_namespaceObject); -__webpack_require__.d(build_module_table_namespaceObject, "metadata", function() { return table_metadata; }); -__webpack_require__.d(build_module_table_namespaceObject, "name", function() { return table_name; }); -__webpack_require__.d(build_module_table_namespaceObject, "settings", function() { return table_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/text-columns/index.js -var text_columns_namespaceObject = {}; -__webpack_require__.r(text_columns_namespaceObject); -__webpack_require__.d(text_columns_namespaceObject, "metadata", function() { return text_columns_metadata; }); -__webpack_require__.d(text_columns_namespaceObject, "name", function() { return text_columns_name; }); -__webpack_require__.d(text_columns_namespaceObject, "settings", function() { return text_columns_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/verse/index.js -var build_module_verse_namespaceObject = {}; -__webpack_require__.r(build_module_verse_namespaceObject); -__webpack_require__.d(build_module_verse_namespaceObject, "metadata", function() { return verse_metadata; }); -__webpack_require__.d(build_module_verse_namespaceObject, "name", function() { return verse_name; }); -__webpack_require__.d(build_module_verse_namespaceObject, "settings", function() { return verse_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/video/index.js -var build_module_video_namespaceObject = {}; -__webpack_require__.r(build_module_video_namespaceObject); -__webpack_require__.d(build_module_video_namespaceObject, "metadata", function() { return video_metadata; }); -__webpack_require__.d(build_module_video_namespaceObject, "name", function() { return video_name; }); -__webpack_require__.d(build_module_video_namespaceObject, "settings", function() { return video_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/tag-cloud/index.js -var tag_cloud_namespaceObject = {}; -__webpack_require__.r(tag_cloud_namespaceObject); -__webpack_require__.d(tag_cloud_namespaceObject, "metadata", function() { return tag_cloud_metadata; }); -__webpack_require__.d(tag_cloud_namespaceObject, "name", function() { return tag_cloud_name; }); -__webpack_require__.d(tag_cloud_namespaceObject, "settings", function() { return tag_cloud_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/freeform/index.js -var freeform_namespaceObject = {}; -__webpack_require__.r(freeform_namespaceObject); -__webpack_require__.d(freeform_namespaceObject, "metadata", function() { return freeform_metadata; }); -__webpack_require__.d(freeform_namespaceObject, "name", function() { return freeform_name; }); -__webpack_require__.d(freeform_namespaceObject, "settings", function() { return freeform_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/social-links/index.js -var social_links_namespaceObject = {}; -__webpack_require__.r(social_links_namespaceObject); -__webpack_require__.d(social_links_namespaceObject, "metadata", function() { return social_links_metadata; }); -__webpack_require__.d(social_links_namespaceObject, "name", function() { return social_links_name; }); -__webpack_require__.d(social_links_namespaceObject, "settings", function() { return social_links_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/social-link/index.js -var social_link_namespaceObject = {}; -__webpack_require__.r(social_link_namespaceObject); -__webpack_require__.d(social_link_namespaceObject, "metadata", function() { return social_link_metadata; }); -__webpack_require__.d(social_link_namespaceObject, "name", function() { return social_link_name; }); -__webpack_require__.d(social_link_namespaceObject, "settings", function() { return social_link_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-logo/index.js -var build_module_site_logo_namespaceObject = {}; -__webpack_require__.r(build_module_site_logo_namespaceObject); -__webpack_require__.d(build_module_site_logo_namespaceObject, "metadata", function() { return site_logo_metadata; }); -__webpack_require__.d(build_module_site_logo_namespaceObject, "name", function() { return site_logo_name; }); -__webpack_require__.d(build_module_site_logo_namespaceObject, "settings", function() { return site_logo_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-tagline/index.js -var site_tagline_namespaceObject = {}; -__webpack_require__.r(site_tagline_namespaceObject); -__webpack_require__.d(site_tagline_namespaceObject, "metadata", function() { return site_tagline_metadata; }); -__webpack_require__.d(site_tagline_namespaceObject, "name", function() { return site_tagline_name; }); -__webpack_require__.d(site_tagline_namespaceObject, "settings", function() { return site_tagline_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-title/index.js -var site_title_namespaceObject = {}; -__webpack_require__.r(site_title_namespaceObject); -__webpack_require__.d(site_title_namespaceObject, "metadata", function() { return site_title_metadata; }); -__webpack_require__.d(site_title_namespaceObject, "name", function() { return site_title_name; }); -__webpack_require__.d(site_title_namespaceObject, "settings", function() { return site_title_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query/index.js -var query_namespaceObject = {}; -__webpack_require__.r(query_namespaceObject); -__webpack_require__.d(query_namespaceObject, "metadata", function() { return query_metadata; }); -__webpack_require__.d(query_namespaceObject, "name", function() { return query_name; }); -__webpack_require__.d(query_namespaceObject, "settings", function() { return query_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-template/index.js -var post_template_namespaceObject = {}; -__webpack_require__.r(post_template_namespaceObject); -__webpack_require__.d(post_template_namespaceObject, "metadata", function() { return post_template_metadata; }); -__webpack_require__.d(post_template_namespaceObject, "name", function() { return post_template_name; }); -__webpack_require__.d(post_template_namespaceObject, "settings", function() { return post_template_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-title/index.js -var query_title_namespaceObject = {}; -__webpack_require__.r(query_title_namespaceObject); -__webpack_require__.d(query_title_namespaceObject, "metadata", function() { return query_title_metadata; }); -__webpack_require__.d(query_title_namespaceObject, "name", function() { return query_title_name; }); -__webpack_require__.d(query_title_namespaceObject, "settings", function() { return query_title_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination/index.js -var build_module_query_pagination_namespaceObject = {}; -__webpack_require__.r(build_module_query_pagination_namespaceObject); -__webpack_require__.d(build_module_query_pagination_namespaceObject, "metadata", function() { return query_pagination_metadata; }); -__webpack_require__.d(build_module_query_pagination_namespaceObject, "name", function() { return query_pagination_name; }); -__webpack_require__.d(build_module_query_pagination_namespaceObject, "settings", function() { return query_pagination_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-next/index.js -var build_module_query_pagination_next_namespaceObject = {}; -__webpack_require__.r(build_module_query_pagination_next_namespaceObject); -__webpack_require__.d(build_module_query_pagination_next_namespaceObject, "metadata", function() { return query_pagination_next_metadata; }); -__webpack_require__.d(build_module_query_pagination_next_namespaceObject, "name", function() { return query_pagination_next_name; }); -__webpack_require__.d(build_module_query_pagination_next_namespaceObject, "settings", function() { return query_pagination_next_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-numbers/index.js -var build_module_query_pagination_numbers_namespaceObject = {}; -__webpack_require__.r(build_module_query_pagination_numbers_namespaceObject); -__webpack_require__.d(build_module_query_pagination_numbers_namespaceObject, "metadata", function() { return query_pagination_numbers_metadata; }); -__webpack_require__.d(build_module_query_pagination_numbers_namespaceObject, "name", function() { return query_pagination_numbers_name; }); -__webpack_require__.d(build_module_query_pagination_numbers_namespaceObject, "settings", function() { return query_pagination_numbers_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-previous/index.js -var build_module_query_pagination_previous_namespaceObject = {}; -__webpack_require__.r(build_module_query_pagination_previous_namespaceObject); -__webpack_require__.d(build_module_query_pagination_previous_namespaceObject, "metadata", function() { return query_pagination_previous_metadata; }); -__webpack_require__.d(build_module_query_pagination_previous_namespaceObject, "name", function() { return query_pagination_previous_name; }); -__webpack_require__.d(build_module_query_pagination_previous_namespaceObject, "settings", function() { return query_pagination_previous_settings; }); - -// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-title/index.js -var build_module_post_title_namespaceObject = {}; -__webpack_require__.r(build_module_post_title_namespaceObject); -__webpack_require__.d(build_module_post_title_namespaceObject, "metadata", function() { return post_title_metadata; }); -__webpack_require__.d(build_module_post_title_namespaceObject, "name", function() { return post_title_name; }); -__webpack_require__.d(build_module_post_title_namespaceObject, "settings", function() { return post_title_settings; }); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-comments/index.js +var build_module_post_comments_namespaceObject = {}; +__webpack_require__.r(build_module_post_comments_namespaceObject); +__webpack_require__.d(build_module_post_comments_namespaceObject, "metadata", function() { return post_comments_metadata; }); +__webpack_require__.d(build_module_post_comments_namespaceObject, "name", function() { return post_comments_name; }); +__webpack_require__.d(build_module_post_comments_namespaceObject, "settings", function() { return post_comments_settings; }); // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-content/index.js var build_module_post_content_namespaceObject = {}; @@ -1622,6 +1394,20 @@ __webpack_require__.d(build_module_post_featured_image_namespaceObject, "metadat __webpack_require__.d(build_module_post_featured_image_namespaceObject, "name", function() { return post_featured_image_name; }); __webpack_require__.d(build_module_post_featured_image_namespaceObject, "settings", function() { return post_featured_image_settings; }); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-navigation-link/index.js +var post_navigation_link_namespaceObject = {}; +__webpack_require__.r(post_navigation_link_namespaceObject); +__webpack_require__.d(post_navigation_link_namespaceObject, "metadata", function() { return post_navigation_link_metadata; }); +__webpack_require__.d(post_navigation_link_namespaceObject, "name", function() { return post_navigation_link_name; }); +__webpack_require__.d(post_navigation_link_namespaceObject, "settings", function() { return post_navigation_link_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-template/index.js +var post_template_namespaceObject = {}; +__webpack_require__.r(post_template_namespaceObject); +__webpack_require__.d(post_template_namespaceObject, "metadata", function() { return post_template_metadata; }); +__webpack_require__.d(post_template_namespaceObject, "name", function() { return post_template_name; }); +__webpack_require__.d(post_template_namespaceObject, "settings", function() { return post_template_settings; }); + // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-terms/index.js var post_terms_namespaceObject = {}; __webpack_require__.r(post_terms_namespaceObject); @@ -1629,542 +1415,278 @@ __webpack_require__.d(post_terms_namespaceObject, "metadata", function() { retur __webpack_require__.d(post_terms_namespaceObject, "name", function() { return post_terms_name; }); __webpack_require__.d(post_terms_namespaceObject, "settings", function() { return post_terms_settings; }); -// EXTERNAL MODULE: external ["wp","coreData"] -var external_wp_coreData_ = __webpack_require__("jZUy"); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-title/index.js +var build_module_post_title_namespaceObject = {}; +__webpack_require__.r(build_module_post_title_namespaceObject); +__webpack_require__.d(build_module_post_title_namespaceObject, "metadata", function() { return post_title_metadata; }); +__webpack_require__.d(build_module_post_title_namespaceObject, "name", function() { return post_title_name; }); +__webpack_require__.d(build_module_post_title_namespaceObject, "settings", function() { return post_title_settings; }); -// EXTERNAL MODULE: external ["wp","blockEditor"] -var external_wp_blockEditor_ = __webpack_require__("axFQ"); +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/preformatted/index.js +var build_module_preformatted_namespaceObject = {}; +__webpack_require__.r(build_module_preformatted_namespaceObject); +__webpack_require__.d(build_module_preformatted_namespaceObject, "metadata", function() { return preformatted_metadata; }); +__webpack_require__.d(build_module_preformatted_namespaceObject, "name", function() { return preformatted_name; }); +__webpack_require__.d(build_module_preformatted_namespaceObject, "settings", function() { return preformatted_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/pullquote/index.js +var build_module_pullquote_namespaceObject = {}; +__webpack_require__.r(build_module_pullquote_namespaceObject); +__webpack_require__.d(build_module_pullquote_namespaceObject, "metadata", function() { return pullquote_metadata; }); +__webpack_require__.d(build_module_pullquote_namespaceObject, "name", function() { return pullquote_name; }); +__webpack_require__.d(build_module_pullquote_namespaceObject, "settings", function() { return pullquote_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query/index.js +var query_namespaceObject = {}; +__webpack_require__.r(query_namespaceObject); +__webpack_require__.d(query_namespaceObject, "metadata", function() { return query_metadata; }); +__webpack_require__.d(query_namespaceObject, "name", function() { return query_name; }); +__webpack_require__.d(query_namespaceObject, "settings", function() { return query_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination/index.js +var build_module_query_pagination_namespaceObject = {}; +__webpack_require__.r(build_module_query_pagination_namespaceObject); +__webpack_require__.d(build_module_query_pagination_namespaceObject, "metadata", function() { return query_pagination_metadata; }); +__webpack_require__.d(build_module_query_pagination_namespaceObject, "name", function() { return query_pagination_name; }); +__webpack_require__.d(build_module_query_pagination_namespaceObject, "settings", function() { return query_pagination_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-next/index.js +var build_module_query_pagination_next_namespaceObject = {}; +__webpack_require__.r(build_module_query_pagination_next_namespaceObject); +__webpack_require__.d(build_module_query_pagination_next_namespaceObject, "metadata", function() { return query_pagination_next_metadata; }); +__webpack_require__.d(build_module_query_pagination_next_namespaceObject, "name", function() { return query_pagination_next_name; }); +__webpack_require__.d(build_module_query_pagination_next_namespaceObject, "settings", function() { return query_pagination_next_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-numbers/index.js +var build_module_query_pagination_numbers_namespaceObject = {}; +__webpack_require__.r(build_module_query_pagination_numbers_namespaceObject); +__webpack_require__.d(build_module_query_pagination_numbers_namespaceObject, "metadata", function() { return query_pagination_numbers_metadata; }); +__webpack_require__.d(build_module_query_pagination_numbers_namespaceObject, "name", function() { return query_pagination_numbers_name; }); +__webpack_require__.d(build_module_query_pagination_numbers_namespaceObject, "settings", function() { return query_pagination_numbers_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-previous/index.js +var build_module_query_pagination_previous_namespaceObject = {}; +__webpack_require__.r(build_module_query_pagination_previous_namespaceObject); +__webpack_require__.d(build_module_query_pagination_previous_namespaceObject, "metadata", function() { return query_pagination_previous_metadata; }); +__webpack_require__.d(build_module_query_pagination_previous_namespaceObject, "name", function() { return query_pagination_previous_name; }); +__webpack_require__.d(build_module_query_pagination_previous_namespaceObject, "settings", function() { return query_pagination_previous_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-title/index.js +var query_title_namespaceObject = {}; +__webpack_require__.r(query_title_namespaceObject); +__webpack_require__.d(query_title_namespaceObject, "metadata", function() { return query_title_metadata; }); +__webpack_require__.d(query_title_namespaceObject, "name", function() { return query_title_name; }); +__webpack_require__.d(query_title_namespaceObject, "settings", function() { return query_title_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/quote/index.js +var build_module_quote_namespaceObject = {}; +__webpack_require__.r(build_module_quote_namespaceObject); +__webpack_require__.d(build_module_quote_namespaceObject, "metadata", function() { return quote_metadata; }); +__webpack_require__.d(build_module_quote_namespaceObject, "name", function() { return quote_name; }); +__webpack_require__.d(build_module_quote_namespaceObject, "settings", function() { return quote_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/block/index.js +var block_namespaceObject = {}; +__webpack_require__.r(block_namespaceObject); +__webpack_require__.d(block_namespaceObject, "metadata", function() { return block_metadata; }); +__webpack_require__.d(block_namespaceObject, "name", function() { return block_name; }); +__webpack_require__.d(block_namespaceObject, "settings", function() { return block_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/rss/index.js +var build_module_rss_namespaceObject = {}; +__webpack_require__.r(build_module_rss_namespaceObject); +__webpack_require__.d(build_module_rss_namespaceObject, "metadata", function() { return rss_metadata; }); +__webpack_require__.d(build_module_rss_namespaceObject, "name", function() { return rss_name; }); +__webpack_require__.d(build_module_rss_namespaceObject, "settings", function() { return rss_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/search/index.js +var search_namespaceObject = {}; +__webpack_require__.r(search_namespaceObject); +__webpack_require__.d(search_namespaceObject, "metadata", function() { return search_metadata; }); +__webpack_require__.d(search_namespaceObject, "name", function() { return search_name; }); +__webpack_require__.d(search_namespaceObject, "settings", function() { return search_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/separator/index.js +var build_module_separator_namespaceObject = {}; +__webpack_require__.r(build_module_separator_namespaceObject); +__webpack_require__.d(build_module_separator_namespaceObject, "metadata", function() { return separator_metadata; }); +__webpack_require__.d(build_module_separator_namespaceObject, "name", function() { return separator_name; }); +__webpack_require__.d(build_module_separator_namespaceObject, "settings", function() { return build_module_separator_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/shortcode/index.js +var build_module_shortcode_namespaceObject = {}; +__webpack_require__.r(build_module_shortcode_namespaceObject); +__webpack_require__.d(build_module_shortcode_namespaceObject, "metadata", function() { return shortcode_metadata; }); +__webpack_require__.d(build_module_shortcode_namespaceObject, "name", function() { return shortcode_name; }); +__webpack_require__.d(build_module_shortcode_namespaceObject, "settings", function() { return shortcode_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-logo/index.js +var build_module_site_logo_namespaceObject = {}; +__webpack_require__.r(build_module_site_logo_namespaceObject); +__webpack_require__.d(build_module_site_logo_namespaceObject, "metadata", function() { return site_logo_metadata; }); +__webpack_require__.d(build_module_site_logo_namespaceObject, "name", function() { return site_logo_name; }); +__webpack_require__.d(build_module_site_logo_namespaceObject, "settings", function() { return site_logo_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-tagline/index.js +var site_tagline_namespaceObject = {}; +__webpack_require__.r(site_tagline_namespaceObject); +__webpack_require__.d(site_tagline_namespaceObject, "metadata", function() { return site_tagline_metadata; }); +__webpack_require__.d(site_tagline_namespaceObject, "name", function() { return site_tagline_name; }); +__webpack_require__.d(site_tagline_namespaceObject, "settings", function() { return site_tagline_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-title/index.js +var site_title_namespaceObject = {}; +__webpack_require__.r(site_title_namespaceObject); +__webpack_require__.d(site_title_namespaceObject, "metadata", function() { return site_title_metadata; }); +__webpack_require__.d(site_title_namespaceObject, "name", function() { return site_title_name; }); +__webpack_require__.d(site_title_namespaceObject, "settings", function() { return site_title_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/social-link/index.js +var social_link_namespaceObject = {}; +__webpack_require__.r(social_link_namespaceObject); +__webpack_require__.d(social_link_namespaceObject, "metadata", function() { return social_link_metadata; }); +__webpack_require__.d(social_link_namespaceObject, "name", function() { return social_link_name; }); +__webpack_require__.d(social_link_namespaceObject, "settings", function() { return social_link_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/social-links/index.js +var social_links_namespaceObject = {}; +__webpack_require__.r(social_links_namespaceObject); +__webpack_require__.d(social_links_namespaceObject, "metadata", function() { return social_links_metadata; }); +__webpack_require__.d(social_links_namespaceObject, "name", function() { return social_links_name; }); +__webpack_require__.d(social_links_namespaceObject, "settings", function() { return social_links_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/spacer/index.js +var spacer_namespaceObject = {}; +__webpack_require__.r(spacer_namespaceObject); +__webpack_require__.d(spacer_namespaceObject, "metadata", function() { return spacer_metadata; }); +__webpack_require__.d(spacer_namespaceObject, "name", function() { return spacer_name; }); +__webpack_require__.d(spacer_namespaceObject, "settings", function() { return spacer_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/table/index.js +var build_module_table_namespaceObject = {}; +__webpack_require__.r(build_module_table_namespaceObject); +__webpack_require__.d(build_module_table_namespaceObject, "metadata", function() { return table_metadata; }); +__webpack_require__.d(build_module_table_namespaceObject, "name", function() { return table_name; }); +__webpack_require__.d(build_module_table_namespaceObject, "settings", function() { return table_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/tag-cloud/index.js +var tag_cloud_namespaceObject = {}; +__webpack_require__.r(tag_cloud_namespaceObject); +__webpack_require__.d(tag_cloud_namespaceObject, "metadata", function() { return tag_cloud_metadata; }); +__webpack_require__.d(tag_cloud_namespaceObject, "name", function() { return tag_cloud_name; }); +__webpack_require__.d(tag_cloud_namespaceObject, "settings", function() { return tag_cloud_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/template-part/index.js +var template_part_namespaceObject = {}; +__webpack_require__.r(template_part_namespaceObject); +__webpack_require__.d(template_part_namespaceObject, "metadata", function() { return template_part_metadata; }); +__webpack_require__.d(template_part_namespaceObject, "name", function() { return template_part_name; }); +__webpack_require__.d(template_part_namespaceObject, "settings", function() { return template_part_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/term-description/index.js +var build_module_term_description_namespaceObject = {}; +__webpack_require__.r(build_module_term_description_namespaceObject); +__webpack_require__.d(build_module_term_description_namespaceObject, "metadata", function() { return term_description_metadata; }); +__webpack_require__.d(build_module_term_description_namespaceObject, "name", function() { return term_description_name; }); +__webpack_require__.d(build_module_term_description_namespaceObject, "settings", function() { return term_description_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/text-columns/index.js +var text_columns_namespaceObject = {}; +__webpack_require__.r(text_columns_namespaceObject); +__webpack_require__.d(text_columns_namespaceObject, "metadata", function() { return text_columns_metadata; }); +__webpack_require__.d(text_columns_namespaceObject, "name", function() { return text_columns_name; }); +__webpack_require__.d(text_columns_namespaceObject, "settings", function() { return text_columns_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/verse/index.js +var build_module_verse_namespaceObject = {}; +__webpack_require__.r(build_module_verse_namespaceObject); +__webpack_require__.d(build_module_verse_namespaceObject, "metadata", function() { return verse_metadata; }); +__webpack_require__.d(build_module_verse_namespaceObject, "name", function() { return verse_name; }); +__webpack_require__.d(build_module_verse_namespaceObject, "settings", function() { return verse_settings; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/video/index.js +var build_module_video_namespaceObject = {}; +__webpack_require__.r(build_module_video_namespaceObject); +__webpack_require__.d(build_module_video_namespaceObject, "metadata", function() { return video_metadata; }); +__webpack_require__.d(build_module_video_namespaceObject, "name", function() { return video_name; }); +__webpack_require__.d(build_module_video_namespaceObject, "settings", function() { return video_settings; }); // EXTERNAL MODULE: external ["wp","blocks"] var external_wp_blocks_ = __webpack_require__("HSyU"); -// EXTERNAL MODULE: external "lodash" -var external_lodash_ = __webpack_require__("YLtl"); - -// EXTERNAL MODULE: external ["wp","i18n"] -var external_wp_i18n_ = __webpack_require__("l3Sj"); - // EXTERNAL MODULE: external ["wp","element"] var external_wp_element_ = __webpack_require__("GRId"); // EXTERNAL MODULE: external ["wp","primitives"] var external_wp_primitives_ = __webpack_require__("Tqx9"); -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/paragraph.js +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/archive.js /** * WordPress dependencies */ -const paragraph = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" +const archive = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M18.3 4H9.9v-.1l-.9.2c-2.3.4-4 2.4-4 4.8s1.7 4.4 4 4.8l.7.1V20h1.5V5.5h2.9V20h1.5V5.5h2.7V4z" + 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.5zM8 12.8h8v-1.5H8v1.5zm0 3h8v-1.5H8v1.5z" })); -/* harmony default export */ var library_paragraph = (paragraph); - -// EXTERNAL MODULE: ./node_modules/classnames/index.js -var classnames = __webpack_require__("TSYQ"); -var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/deprecated.js - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - -const supports = { - className: false -}; -const deprecated_blockAttributes = { - align: { - type: 'string' - }, - content: { - type: 'string', - source: 'html', - selector: 'p', - default: '' - }, - dropCap: { - type: 'boolean', - default: false - }, - placeholder: { - type: 'string' - }, - textColor: { - type: 'string' - }, - backgroundColor: { - type: 'string' - }, - fontSize: { - type: 'string' - }, - direction: { - type: 'string', - enum: ['ltr', 'rtl'] - }, - style: { - type: 'object' - } -}; - -const migrateCustomColorsAndFontSizes = attributes => { - if (!attributes.customTextColor && !attributes.customBackgroundColor && !attributes.customFontSize) { - return attributes; - } - - const style = {}; - - if (attributes.customTextColor || attributes.customBackgroundColor) { - style.color = {}; - } - - if (attributes.customTextColor) { - style.color.text = attributes.customTextColor; - } - - if (attributes.customBackgroundColor) { - style.color.background = attributes.customBackgroundColor; - } - - if (attributes.customFontSize) { - style.typography = { - fontSize: attributes.customFontSize - }; - } - - return { ...Object(external_lodash_["omit"])(attributes, ['customTextColor', 'customBackgroundColor', 'customFontSize']), - style - }; -}; - -const deprecated = [{ - supports, - attributes: { ...Object(external_lodash_["omit"])(deprecated_blockAttributes, ['style']), - customTextColor: { - type: 'string' - }, - customBackgroundColor: { - type: 'string' - }, - customFontSize: { - type: 'number' - } - }, - migrate: migrateCustomColorsAndFontSizes, - - save({ - attributes - }) { - const { - align, - content, - dropCap, - backgroundColor, - textColor, - customBackgroundColor, - customTextColor, - fontSize, - customFontSize, - direction - } = attributes; - const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); - const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); - const fontSizeClass = Object(external_wp_blockEditor_["getFontSizeClass"])(fontSize); - const className = classnames_default()({ - 'has-text-color': textColor || customTextColor, - 'has-background': backgroundColor || customBackgroundColor, - 'has-drop-cap': dropCap, - [`has-text-align-${align}`]: align, - [fontSizeClass]: fontSizeClass, - [textClass]: textClass, - [backgroundClass]: backgroundClass - }); - const styles = { - backgroundColor: backgroundClass ? undefined : customBackgroundColor, - color: textClass ? undefined : customTextColor, - fontSize: fontSizeClass ? undefined : customFontSize - }; - return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "p", - style: styles, - className: className ? className : undefined, - value: content, - dir: direction - }); - } - -}, { - supports, - attributes: { ...Object(external_lodash_["omit"])(deprecated_blockAttributes, ['style']), - customTextColor: { - type: 'string' - }, - customBackgroundColor: { - type: 'string' - }, - customFontSize: { - type: 'number' - } - }, - migrate: migrateCustomColorsAndFontSizes, - - save({ - attributes - }) { - const { - align, - content, - dropCap, - backgroundColor, - textColor, - customBackgroundColor, - customTextColor, - fontSize, - customFontSize, - direction - } = attributes; - const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); - const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); - const fontSizeClass = Object(external_wp_blockEditor_["getFontSizeClass"])(fontSize); - const className = classnames_default()({ - 'has-text-color': textColor || customTextColor, - 'has-background': backgroundColor || customBackgroundColor, - 'has-drop-cap': dropCap, - [fontSizeClass]: fontSizeClass, - [textClass]: textClass, - [backgroundClass]: backgroundClass - }); - const styles = { - backgroundColor: backgroundClass ? undefined : customBackgroundColor, - color: textClass ? undefined : customTextColor, - fontSize: fontSizeClass ? undefined : customFontSize, - textAlign: align - }; - return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "p", - style: styles, - className: className ? className : undefined, - value: content, - dir: direction - }); - } - -}, { - supports, - attributes: { ...Object(external_lodash_["omit"])(deprecated_blockAttributes, ['style']), - customTextColor: { - type: 'string' - }, - customBackgroundColor: { - type: 'string' - }, - customFontSize: { - type: 'number' - }, - width: { - type: 'string' - } - }, - migrate: migrateCustomColorsAndFontSizes, - - save({ - attributes - }) { - const { - width, - align, - content, - dropCap, - backgroundColor, - textColor, - customBackgroundColor, - customTextColor, - fontSize, - customFontSize - } = attributes; - const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); - const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); - const fontSizeClass = fontSize && `is-${fontSize}-text`; - const className = classnames_default()({ - [`align${width}`]: width, - 'has-background': backgroundColor || customBackgroundColor, - 'has-drop-cap': dropCap, - [fontSizeClass]: fontSizeClass, - [textClass]: textClass, - [backgroundClass]: backgroundClass - }); - const styles = { - backgroundColor: backgroundClass ? undefined : customBackgroundColor, - color: textClass ? undefined : customTextColor, - fontSize: fontSizeClass ? undefined : customFontSize, - textAlign: align - }; - return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "p", - style: styles, - className: className ? className : undefined, - value: content - }); - } - -}, { - supports, - attributes: Object(external_lodash_["omit"])({ ...deprecated_blockAttributes, - fontSize: { - type: 'number' - } - }, ['style']), - - save({ - attributes - }) { - const { - width, - align, - content, - dropCap, - backgroundColor, - textColor, - fontSize - } = attributes; - const className = classnames_default()({ - [`align${width}`]: width, - 'has-background': backgroundColor, - 'has-drop-cap': dropCap - }); - const styles = { - backgroundColor, - color: textColor, - fontSize, - textAlign: align - }; - return Object(external_wp_element_["createElement"])("p", { - style: styles, - className: className ? className : undefined - }, content); - }, - - migrate(attributes) { - return migrateCustomColorsAndFontSizes(Object(external_lodash_["omit"])({ ...attributes, - customFontSize: Object(external_lodash_["isFinite"])(attributes.fontSize) ? attributes.fontSize : undefined, - customTextColor: attributes.textColor && '#' === attributes.textColor[0] ? attributes.textColor : undefined, - customBackgroundColor: attributes.backgroundColor && '#' === attributes.backgroundColor[0] ? attributes.backgroundColor : undefined - }), ['fontSize', 'textColor', 'backgroundColor', 'style']); - } - -}, { - supports, - attributes: { ...deprecated_blockAttributes, - content: { - type: 'string', - source: 'html', - default: '' - } - }, - - save({ - attributes - }) { - return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, attributes.content); - }, - - migrate(attributes) { - return attributes; - } - -}]; -/* harmony default export */ var paragraph_deprecated = (deprecated); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js -var esm_extends = __webpack_require__("wx14"); +/* harmony default export */ var library_archive = (archive); // EXTERNAL MODULE: external ["wp","components"] var external_wp_components_ = __webpack_require__("tI+e"); -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-ltr.js +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); + +// EXTERNAL MODULE: external ["wp","blockEditor"] +var external_wp_blockEditor_ = __webpack_require__("axFQ"); + +// EXTERNAL MODULE: external ["wp","serverSideRender"] +var external_wp_serverSideRender_ = __webpack_require__("JREk"); +var external_wp_serverSideRender_default = /*#__PURE__*/__webpack_require__.n(external_wp_serverSideRender_); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/edit.js /** * WordPress dependencies */ -const formatLtr = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "-2 -2 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM14 14l5-4-5-4v8z" -})); -/* harmony default export */ var format_ltr = (formatLtr); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/edit.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - -const edit_name = 'core/paragraph'; - -function ParagraphRTLControl({ - direction, - setDirection -}) { - return Object(external_wp_i18n_["isRTL"])() && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarDropdownMenu"], { - controls: [{ - icon: format_ltr, - title: Object(external_wp_i18n_["_x"])('Left to right', 'editor button'), - isActive: direction === 'ltr', - - onClick() { - setDirection(direction === 'ltr' ? undefined : 'ltr'); - } - - }] - }); -} - -function ParagraphBlock({ +function ArchivesEdit({ attributes, - mergeBlocks, - onReplace, - onRemove, - setAttributes, - clientId + setAttributes }) { const { - align, - content, - direction, - dropCap, - placeholder + showPostCounts, + displayAsDropdown } = attributes; - const isDropCapFeatureEnabled = Object(external_wp_blockEditor_["useSetting"])('typography.dropCap'); - const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ - className: classnames_default()({ - 'has-drop-cap': dropCap, - [`has-text-align-${align}`]: align - }), - style: { - direction - } - }); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { - group: "block" - }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentControl"], { - value: align, - onChange: newAlign => setAttributes({ - align: newAlign - }) - }), Object(external_wp_element_["createElement"])(ParagraphRTLControl, { - direction: direction, - setDirection: newDirection => setAttributes({ - direction: newDirection - }) - })), isDropCapFeatureEnabled && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { - title: Object(external_wp_i18n_["__"])('Text settings') + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { + title: Object(external_wp_i18n_["__"])('Archives settings') }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { - label: Object(external_wp_i18n_["__"])('Drop cap'), - checked: !!dropCap, + label: Object(external_wp_i18n_["__"])('Display as dropdown'), + checked: displayAsDropdown, onChange: () => setAttributes({ - dropCap: !dropCap - }), - help: dropCap ? Object(external_wp_i18n_["__"])('Showing large initial letter.') : Object(external_wp_i18n_["__"])('Toggle to show a large initial letter.') - }))), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], Object(esm_extends["a" /* default */])({ - identifier: "content", - tagName: "p" - }, blockProps, { - value: content, - onChange: newContent => setAttributes({ - content: newContent - }), - onSplit: (value, isOriginal) => { - let newAttributes; - - if (isOriginal || value) { - newAttributes = { ...attributes, - content: value - }; - } - - const block = Object(external_wp_blocks_["createBlock"])(edit_name, newAttributes); - - if (isOriginal) { - block.clientId = clientId; - } - - return block; - }, - onMerge: mergeBlocks, - onReplace: onReplace, - onRemove: onRemove, - "aria-label": content ? Object(external_wp_i18n_["__"])('Paragraph block') : Object(external_wp_i18n_["__"])('Empty block; start writing or type forward slash to choose a block'), - "data-empty": content ? false : true, - placeholder: placeholder || Object(external_wp_i18n_["__"])('Type / to choose a block'), - __unstableEmbedURLOnPaste: true, - __unstableAllowPrefixTransformations: true - }))); + displayAsDropdown: !displayAsDropdown + }) + }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Show post counts'), + checked: showPostCounts, + onChange: () => setAttributes({ + showPostCounts: !showPostCounts + }) + }))), Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], null, Object(external_wp_element_["createElement"])(external_wp_serverSideRender_default.a, { + block: "core/archives", + attributes: attributes + })))); } -/* harmony default export */ var edit = (ParagraphBlock); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/save.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -function save({ - attributes -}) { - const { - align, - content, - dropCap, - direction - } = attributes; - const className = classnames_default()({ - 'has-drop-cap': dropCap, - [`has-text-align-${align}`]: align - }); - return Object(external_wp_element_["createElement"])("p", external_wp_blockEditor_["useBlockProps"].save({ - className, - dir: direction - }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - value: content - })); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/transforms.js +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/index.js /** * WordPress dependencies */ @@ -2173,401 +1695,124 @@ function save({ * Internal dependencies */ -const { - name: transforms_name -} = { +const archives_metadata = { apiVersion: 2, - name: "core/paragraph", - title: "Paragraph", - category: "text", - description: "Start with the building block of all narrative.", - keywords: ["text"], + name: "core/archives", + title: "Archives", + category: "widgets", + description: "Display a monthly archive of your posts.", textdomain: "default", attributes: { - align: { - type: "string" - }, - content: { - type: "string", - source: "html", - selector: "p", - "default": "", - __experimentalRole: "content" - }, - dropCap: { + displayAsDropdown: { type: "boolean", "default": false }, - placeholder: { - type: "string" - }, - direction: { - type: "string", - "enum": ["ltr", "rtl"] - } - }, - supports: { - anchor: true, - className: false, - color: { - link: true - }, - typography: { - fontSize: true, - lineHeight: true - }, - __experimentalSelector: "p", - __unstablePasteTextInline: true - }, - editorStyle: "wp-block-paragraph-editor", - style: "wp-block-paragraph" -}; -const transforms = { - from: [{ - type: 'raw', - // Paragraph is a fallback and should be matched last. - priority: 20, - selector: 'p', - schema: ({ - phrasingContentSchema, - isPaste - }) => ({ - p: { - children: phrasingContentSchema, - attributes: isPaste ? [] : ['style', 'id'] - } - }), - - transform(node) { - const attributes = Object(external_wp_blocks_["getBlockAttributes"])(transforms_name, node.outerHTML); - const { - textAlign - } = node.style || {}; - - if (textAlign === 'left' || textAlign === 'center' || textAlign === 'right') { - attributes.align = textAlign; - } - - return Object(external_wp_blocks_["createBlock"])(transforms_name, attributes); - } - - }] -}; -/* harmony default export */ var paragraph_transforms = (transforms); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/index.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -const paragraph_metadata = { - apiVersion: 2, - name: "core/paragraph", - title: "Paragraph", - category: "text", - description: "Start with the building block of all narrative.", - keywords: ["text"], - textdomain: "default", - attributes: { - align: { - type: "string" - }, - content: { - type: "string", - source: "html", - selector: "p", - "default": "", - __experimentalRole: "content" - }, - dropCap: { + showPostCounts: { type: "boolean", "default": false - }, - placeholder: { - type: "string" - }, - direction: { - type: "string", - "enum": ["ltr", "rtl"] } }, supports: { - anchor: true, - className: false, - color: { - link: true - }, - typography: { - fontSize: true, - lineHeight: true - }, - __experimentalSelector: "p", - __unstablePasteTextInline: true + align: true, + html: false }, - editorStyle: "wp-block-paragraph-editor", - style: "wp-block-paragraph" + editorStyle: "wp-block-archives-editor" }; - const { - name: paragraph_name -} = paragraph_metadata; + name: archives_name +} = archives_metadata; -const paragraph_settings = { - icon: library_paragraph, - example: { - attributes: { - content: Object(external_wp_i18n_["__"])('In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'), - style: { - typography: { - fontSize: 28 - } - }, - dropCap: true - } - }, - - __experimentalLabel(attributes, { - context - }) { - if (context === 'accessibility') { - const { - content - } = attributes; - return Object(external_lodash_["isEmpty"])(content) ? Object(external_wp_i18n_["__"])('Empty') : content; - } - }, - - transforms: paragraph_transforms, - deprecated: paragraph_deprecated, - - merge(attributes, attributesToMerge) { - return { - content: (attributes.content || '') + (attributesToMerge.content || '') - }; - }, - - edit: edit, - save: save +const archives_settings = { + icon: library_archive, + example: {}, + edit: ArchivesEdit }; -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/image.js +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/audio.js /** * WordPress dependencies */ -const image_image = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { +const audio = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z" + d: "M17.7 4.3c-1.2 0-2.8 0-3.8 1-.6.6-.9 1.5-.9 2.6V14c-.6-.6-1.5-1-2.5-1C8.6 13 7 14.6 7 16.5S8.6 20 10.5 20c1.5 0 2.8-1 3.3-2.3.5-.8.7-1.8.7-2.5V7.9c0-.7.2-1.2.5-1.6.6-.6 1.8-.6 2.8-.6h.3V4.3h-.4z" })); -/* harmony default export */ var library_image = (image_image); +/* harmony default export */ var library_audio = (audio); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/deprecated.js +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/deprecated.js - -/** - * External dependencies - */ - /** * WordPress dependencies */ - -const image_deprecated_blockAttributes = { - align: { - type: 'string' - }, - url: { - type: 'string', - source: 'attribute', - selector: 'img', - attribute: 'src' - }, - alt: { - type: 'string', - source: 'attribute', - selector: 'img', - attribute: 'alt', - default: '' - }, - caption: { - type: 'string', - source: 'html', - selector: 'figcaption' - }, - href: { - type: 'string', - source: 'attribute', - selector: 'figure > a', - attribute: 'href' - }, - rel: { - type: 'string', - source: 'attribute', - selector: 'figure > a', - attribute: 'rel' - }, - linkClass: { - type: 'string', - source: 'attribute', - selector: 'figure > a', - attribute: 'class' - }, - id: { - type: 'number' - }, - width: { - type: 'number' - }, - height: { - type: 'number' - }, - linkDestination: { - type: 'string' - }, - linkTarget: { - type: 'string', - source: 'attribute', - selector: 'figure > a', - attribute: 'target' - } -}; -const deprecated_deprecated = [{ - attributes: image_deprecated_blockAttributes, - - save({ - attributes - }) { - const { - url, - alt, - caption, - align, - href, - width, - height, - id - } = attributes; - const classes = classnames_default()({ - [`align${align}`]: align, - 'is-resized': width || height - }); - const image = Object(external_wp_element_["createElement"])("img", { - src: url, - alt: alt, - className: id ? `wp-image-${id}` : null, - width: width, - height: height - }); - return Object(external_wp_element_["createElement"])("figure", { - className: classes - }, href ? Object(external_wp_element_["createElement"])("a", { - href: href - }, image) : image, !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "figcaption", - value: caption - })); - } - -}, { - attributes: image_deprecated_blockAttributes, - - save({ - attributes - }) { - const { - url, - alt, - caption, - align, - href, - width, - height, - id - } = attributes; - const image = Object(external_wp_element_["createElement"])("img", { - src: url, - alt: alt, - className: id ? `wp-image-${id}` : null, - width: width, - height: height - }); - return Object(external_wp_element_["createElement"])("figure", { - className: align ? `align${align}` : null - }, href ? Object(external_wp_element_["createElement"])("a", { - href: href - }, image) : image, !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "figcaption", - value: caption - })); - } - -}, { - attributes: image_deprecated_blockAttributes, - - save({ - attributes - }) { - const { - url, - alt, - caption, - align, - href, - width, - height - } = attributes; - const extraImageProps = width || height ? { - width, - height - } : {}; - const image = Object(external_wp_element_["createElement"])("img", Object(esm_extends["a" /* default */])({ - src: url, - alt: alt - }, extraImageProps)); - let figureStyle = {}; - - if (width) { - figureStyle = { - width - }; - } else if (align === 'left' || align === 'right') { - figureStyle = { - maxWidth: '50%' - }; +/* harmony default export */ var deprecated = ([{ + attributes: { + src: { + type: 'string', + source: 'attribute', + selector: 'audio', + attribute: 'src' + }, + caption: { + type: 'string', + source: 'html', + selector: 'figcaption' + }, + id: { + type: 'number' + }, + autoplay: { + type: 'boolean', + source: 'attribute', + selector: 'audio', + attribute: 'autoplay' + }, + loop: { + type: 'boolean', + source: 'attribute', + selector: 'audio', + attribute: 'loop' + }, + preload: { + type: 'string', + source: 'attribute', + selector: 'audio', + attribute: 'preload' } + }, + supports: { + align: true + }, - return Object(external_wp_element_["createElement"])("figure", { - className: align ? `align${align}` : null, - style: figureStyle - }, href ? Object(external_wp_element_["createElement"])("a", { - href: href - }, image) : image, !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + save({ + attributes + }) { + const { + autoplay, + caption, + loop, + preload, + src + } = attributes; + return Object(external_wp_element_["createElement"])("figure", null, Object(external_wp_element_["createElement"])("audio", { + controls: "controls", + src: src, + autoPlay: autoplay, + loop: loop, + preload: preload + }), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { tagName: "figcaption", value: caption })); } -}]; -/* harmony default export */ var image_deprecated = (deprecated_deprecated); +}]); // EXTERNAL MODULE: external ["wp","blob"] var external_wp_blob_ = __webpack_require__("xTGt"); @@ -2575,48 +1820,6 @@ var external_wp_blob_ = __webpack_require__("xTGt"); // EXTERNAL MODULE: external ["wp","data"] var external_wp_data_ = __webpack_require__("1ZqX"); -// EXTERNAL MODULE: external ["wp","compose"] -var external_wp_compose_ = __webpack_require__("K9lf"); - -// EXTERNAL MODULE: external ["wp","url"] -var external_wp_url_ = __webpack_require__("Mmq9"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/crop.js - - -/** - * WordPress dependencies - */ - -const crop_crop = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M16.5 7.8v7H18v-7c0-1-.8-1.8-1.8-1.8h-7v1.5h7c.2 0 .3.1.3.3zm-8.7 8.7c-.1 0-.2-.1-.2-.2V2H6v4H2v1.5h4v8.8c0 1 .8 1.8 1.8 1.8h8.8v4H18v-4h4v-1.5H7.8z" -})); -/* harmony default export */ var library_crop = (crop_crop); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/upload.js -var upload = __webpack_require__("NTP4"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/overlay-text.js - - -/** - * WordPress dependencies - */ - -const overlayText = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12-9.8c.4 0 .8-.3.9-.7l1.1-3h3.6l.5 1.7h1.9L13 9h-2.2l-3.4 9.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12H20V6c0-1.1-.9-2-2-2zm-6 7l1.4 3.9h-2.7L12 11z" -})); -/* harmony default export */ var overlay_text = (overlayText); - -// EXTERNAL MODULE: external ["wp","notices"] -var external_wp_notices_ = __webpack_require__("onLe"); - // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/constants.js const ASPECT_RATIOS = [// Common video resolutions. { @@ -2644,6 +1847,9 @@ const ASPECT_RATIOS = [// Common video resolutions. }]; const WP_EMBED_TYPE = 'wp-embed'; +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); + // EXTERNAL MODULE: ./node_modules/classnames/dedupe.js var dedupe = __webpack_require__("A/WM"); var dedupe_default = /*#__PURE__*/__webpack_require__.n(dedupe); @@ -2681,7 +1887,7 @@ const util_metadata = { name: "core/embed", title: "Embed", category: "embed", - description: "Add a block that displays content pulled from other sites, like Twitter, Instagram or YouTube.", + description: "Add a block that displays content pulled from other sites, like Twitter or YouTube.", textdomain: "default", attributes: { url: { @@ -2739,8 +1945,8 @@ const getEmbedInfoByProvider = provider => { /** * Returns true if any of the regular expressions match the URL. * - * @param {string} url The URL to test. - * @param {Array} patterns The list of regular expressions to test agains. + * @param {string} url The URL to test. + * @param {Array} patterns The list of regular expressions to test agains. * @return {boolean} True if any of the regular expressions match the URL. */ @@ -2749,7 +1955,7 @@ const matchesPatterns = (url, patterns = []) => patterns.some(pattern => url.mat * Finds the block variation that should be used for the URL, * based on the provided URL and the variation's patterns. * - * @param {string} url The URL to test. + * @param {string} url The URL to test. * @return {WPBlockVariation} The block variation that should be used for this URL */ @@ -2782,8 +1988,8 @@ const getPhotoHtml = photo => { * versions, so we require that these are generated separately. * See `getAttributesFromPreview` in the generated embed edit component. * - * @param {Object} props The block's props. - * @param {Object} [attributesFromPreview] Attributes generated from the block's most up to date preview. + * @param {Object} props The block's props. + * @param {Object} [attributesFromPreview] Attributes generated from the block's most up to date preview. * @return {Object|undefined} A more suitable embed block if one exists. */ @@ -2792,12 +1998,14 @@ const createUpgradedEmbedBlock = (props, attributesFromPreview = {}) => { const { preview, - attributes: { - url, - providerNameSlug, - type - } = {} + attributes = {} } = props; + const { + url, + providerNameSlug, + type, + ...restAttributes + } = attributes; if (!url || !Object(external_wp_blocks_["getBlockType"])(DEFAULT_EMBED_BLOCK)) return; const matchedBlock = findMoreSuitableBlock(url); // WordPress blocks can work on multiple sites, and so don't have patterns, // so if we're in a WordPress block, assume the user has chosen it for a WordPress URL. @@ -2810,6 +2018,7 @@ const createUpgradedEmbedBlock = (props, attributesFromPreview = {}) => { if (shouldCreateNewBlock) { return Object(external_wp_blocks_["createBlock"])(DEFAULT_EMBED_BLOCK, { url, + ...restAttributes, ...matchedBlock.attributes }); } @@ -2962,1686 +2171,13 @@ const getAttributesFromPreview = memize_default()((preview, title, currentClassN return attributes; }); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/use-client-width.js -/** - * WordPress dependencies - */ - -function useClientWidth(ref, dependencies) { - const [clientWidth, setClientWidth] = Object(external_wp_element_["useState"])(); - - function calculateClientWidth() { - setClientWidth(ref.current.clientWidth); - } - - Object(external_wp_element_["useEffect"])(calculateClientWidth, dependencies); - Object(external_wp_element_["useEffect"])(() => { - const { - defaultView - } = ref.current.ownerDocument; - defaultView.addEventListener('resize', calculateClientWidth); - return () => { - defaultView.removeEventListener('resize', calculateClientWidth); - }; - }, []); - return clientWidth; -} - -// CONCATENATED MODULE: ./node_modules/react-easy-crop/node_modules/tslib/tslib.es6.js -/*! ***************************************************************************** -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 */ - -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) { - 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 __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 (_) 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; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (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; -} - -function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -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 __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: n === "return" } : 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, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to get private field on non-instance"); - } - return privateMap.get(receiver); -} - -function __classPrivateFieldSet(receiver, privateMap, value) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - privateMap.set(receiver, value); - return value; -} - -// EXTERNAL MODULE: external "React" -var external_React_ = __webpack_require__("cDcd"); -var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_); - -// EXTERNAL MODULE: ./node_modules/normalize-wheel/index.js -var normalize_wheel = __webpack_require__("wJiJ"); -var normalize_wheel_default = /*#__PURE__*/__webpack_require__.n(normalize_wheel); - -// CONCATENATED MODULE: ./node_modules/react-easy-crop/index.module.js - - - - -/** - * Compute the dimension of the crop area based on media size, - * aspect ratio and optionally rotation - */ - -function getCropSize(mediaWidth, mediaHeight, containerWidth, containerHeight, aspect, rotation) { - if (rotation === void 0) { - rotation = 0; - } - - var _a = translateSize(mediaWidth, mediaHeight, rotation), - width = _a.width, - height = _a.height; - - var fittingWidth = Math.min(width, containerWidth); - var fittingHeight = Math.min(height, containerHeight); - - if (fittingWidth > fittingHeight * aspect) { - return { - width: fittingHeight * aspect, - height: fittingHeight - }; - } - - return { - width: fittingWidth, - height: fittingWidth / aspect - }; -} -/** - * Ensure a new media position stays in the crop area. - */ - -function index_module_restrictPosition(position, mediaSize, cropSize, zoom, rotation) { - if (rotation === void 0) { - rotation = 0; - } - - var _a = translateSize(mediaSize.width, mediaSize.height, rotation), - width = _a.width, - height = _a.height; - - return { - x: restrictPositionCoord(position.x, width, cropSize.width, zoom), - y: restrictPositionCoord(position.y, height, cropSize.height, zoom) - }; -} - -function restrictPositionCoord(position, mediaSize, cropSize, zoom) { - var maxPosition = mediaSize * zoom / 2 - cropSize / 2; - return Math.min(maxPosition, Math.max(position, -maxPosition)); -} - -function getDistanceBetweenPoints(pointA, pointB) { - return Math.sqrt(Math.pow(pointA.y - pointB.y, 2) + Math.pow(pointA.x - pointB.x, 2)); -} -function getRotationBetweenPoints(pointA, pointB) { - return Math.atan2(pointB.y - pointA.y, pointB.x - pointA.x) * 180 / Math.PI; -} -/** - * Compute the output cropped area of the media in percentages and pixels. - * x/y are the top-left coordinates on the src media - */ - -function computeCroppedArea(crop, mediaSize, cropSize, aspect, zoom, rotation, restrictPosition) { - if (rotation === void 0) { - rotation = 0; - } - - if (restrictPosition === void 0) { - restrictPosition = true; - } // if the media is rotated by the user, we cannot limit the position anymore - // as it might need to be negative. - - - var limitAreaFn = restrictPosition && rotation === 0 ? limitArea : noOp; - var croppedAreaPercentages = { - x: limitAreaFn(100, ((mediaSize.width - cropSize.width / zoom) / 2 - crop.x / zoom) / mediaSize.width * 100), - y: limitAreaFn(100, ((mediaSize.height - cropSize.height / zoom) / 2 - crop.y / zoom) / mediaSize.height * 100), - width: limitAreaFn(100, cropSize.width / mediaSize.width * 100 / zoom), - height: limitAreaFn(100, cropSize.height / mediaSize.height * 100 / zoom) - }; // we compute the pixels size naively - - var widthInPixels = Math.round(limitAreaFn(mediaSize.naturalWidth, croppedAreaPercentages.width * mediaSize.naturalWidth / 100)); - var heightInPixels = Math.round(limitAreaFn(mediaSize.naturalHeight, croppedAreaPercentages.height * mediaSize.naturalHeight / 100)); - var isImgWiderThanHigh = mediaSize.naturalWidth >= mediaSize.naturalHeight * aspect; // then we ensure the width and height exactly match the aspect (to avoid rounding approximations) - // if the media is wider than high, when zoom is 0, the crop height will be equals to iamge height - // thus we want to compute the width from the height and aspect for accuracy. - // Otherwise, we compute the height from width and aspect. - - var sizePixels = isImgWiderThanHigh ? { - width: Math.round(heightInPixels * aspect), - height: heightInPixels - } : { - width: widthInPixels, - height: Math.round(widthInPixels / aspect) - }; - - var croppedAreaPixels = __assign(__assign({}, sizePixels), { - x: Math.round(limitAreaFn(mediaSize.naturalWidth - sizePixels.width, croppedAreaPercentages.x * mediaSize.naturalWidth / 100)), - y: Math.round(limitAreaFn(mediaSize.naturalHeight - sizePixels.height, croppedAreaPercentages.y * mediaSize.naturalHeight / 100)) - }); - - return { - croppedAreaPercentages: croppedAreaPercentages, - croppedAreaPixels: croppedAreaPixels - }; -} -/** - * Ensure the returned value is between 0 and max - */ - -function limitArea(max, value) { - return Math.min(max, Math.max(0, value)); -} - -function noOp(_max, value) { - return value; -} -/** - * Compute the crop and zoom from the croppedAreaPixels - */ - - -function getZoomFromCroppedAreaPixels(croppedAreaPixels, mediaSize, cropSize) { - var mediaZoom = mediaSize.width / mediaSize.naturalWidth; - - if (cropSize) { - var isHeightMaxSize_1 = cropSize.height > cropSize.width; - return isHeightMaxSize_1 ? cropSize.height / mediaZoom / croppedAreaPixels.height : cropSize.width / mediaZoom / croppedAreaPixels.width; - } - - var aspect = croppedAreaPixels.width / croppedAreaPixels.height; - var isHeightMaxSize = mediaSize.naturalWidth >= mediaSize.naturalHeight * aspect; - return isHeightMaxSize ? mediaSize.naturalHeight / croppedAreaPixels.height : mediaSize.naturalWidth / croppedAreaPixels.width; -} -/** - * Compute the crop and zoom from the croppedAreaPixels - */ - - -function getInitialCropFromCroppedAreaPixels(croppedAreaPixels, mediaSize, cropSize) { - var mediaZoom = mediaSize.width / mediaSize.naturalWidth; - var zoom = getZoomFromCroppedAreaPixels(croppedAreaPixels, mediaSize, cropSize); - var cropZoom = mediaZoom * zoom; - var crop = { - x: ((mediaSize.naturalWidth - croppedAreaPixels.width) / 2 - croppedAreaPixels.x) * cropZoom, - y: ((mediaSize.naturalHeight - croppedAreaPixels.height) / 2 - croppedAreaPixels.y) * cropZoom - }; - return { - crop: crop, - zoom: zoom - }; -} -/** - * Return the point that is the center of point a and b - */ - -function getCenter(a, b) { - return { - x: (b.x + a.x) / 2, - y: (b.y + a.y) / 2 - }; -} -/** - * - * Returns an x,y point once rotated around xMid,yMid - */ - -function rotateAroundMidPoint(x, y, xMid, yMid, degrees) { - var cos = Math.cos; - var sin = Math.sin; - var radian = degrees * Math.PI / 180; // Convert to radians - // Subtract midpoints, so that midpoint is translated to origin - // and add it in the end again - - var xr = (x - xMid) * cos(radian) - (y - yMid) * sin(radian) + xMid; - var yr = (x - xMid) * sin(radian) + (y - yMid) * cos(radian) + yMid; - return [xr, yr]; -} -/** - * Returns the new bounding area of a rotated rectangle. - */ - -function translateSize(width, height, rotation) { - var centerX = width / 2; - var centerY = height / 2; - var outerBounds = [rotateAroundMidPoint(0, 0, centerX, centerY, rotation), rotateAroundMidPoint(width, 0, centerX, centerY, rotation), rotateAroundMidPoint(width, height, centerX, centerY, rotation), rotateAroundMidPoint(0, height, centerX, centerY, rotation)]; - var minX = Math.min.apply(Math, outerBounds.map(function (p) { - return p[0]; - })); - var maxX = Math.max.apply(Math, outerBounds.map(function (p) { - return p[0]; - })); - var minY = Math.min.apply(Math, outerBounds.map(function (p) { - return p[1]; - })); - var maxY = Math.max.apply(Math, outerBounds.map(function (p) { - return p[1]; - })); - return { - width: maxX - minX, - height: maxY - minY - }; -} -/** - * Combine multiple class names into a single string. - */ - -function index_module_classNames() { - var args = []; - - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - - return args.filter(function (value) { - if (typeof value === 'string' && value.length > 0) { - return true; - } - - return false; - }).join(' ').trim(); -} - -var css_248z = ".reactEasyCrop_Container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n user-select: none;\n touch-action: none;\n cursor: move;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.reactEasyCrop_Image,\n.reactEasyCrop_Video {\n will-change: transform; /* this improves performances and prevent painting issues on iOS Chrome */\n}\n\n.reactEasyCrop_Contain {\n max-width: 100%;\n max-height: 100%;\n margin: auto;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n.reactEasyCrop_Cover_Horizontal {\n width: 100%;\n height: auto;\n}\n.reactEasyCrop_Cover_Vertical {\n width: auto;\n height: 100%;\n}\n\n.reactEasyCrop_CropArea {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n border: 1px solid rgba(255, 255, 255, 0.5);\n box-sizing: border-box;\n box-shadow: 0 0 0 9999em;\n color: rgba(0, 0, 0, 0.5);\n overflow: hidden;\n}\n\n.reactEasyCrop_CropAreaRound {\n border-radius: 50%;\n}\n\n.reactEasyCrop_CropAreaGrid::before {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 0;\n bottom: 0;\n left: 33.33%;\n right: 33.33%;\n border-top: 0;\n border-bottom: 0;\n}\n\n.reactEasyCrop_CropAreaGrid::after {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 33.33%;\n bottom: 33.33%;\n left: 0;\n right: 0;\n border-left: 0;\n border-right: 0;\n}\n"; - -var MIN_ZOOM = 1; -var MAX_ZOOM = 3; - -var index_module_Cropper = -/** @class */ -function (_super) { - __extends(Cropper, _super); - - function Cropper() { - var _this = _super !== null && _super.apply(this, arguments) || this; - - _this.imageRef = null; - _this.videoRef = null; - _this.containerRef = null; - _this.styleRef = null; - _this.containerRect = null; - _this.mediaSize = { - width: 0, - height: 0, - naturalWidth: 0, - naturalHeight: 0 - }; - _this.dragStartPosition = { - x: 0, - y: 0 - }; - _this.dragStartCrop = { - x: 0, - y: 0 - }; - _this.lastPinchDistance = 0; - _this.lastPinchRotation = 0; - _this.rafDragTimeout = null; - _this.rafPinchTimeout = null; - _this.wheelTimer = null; - _this.state = { - cropSize: null, - hasWheelJustStarted: false - }; // this is to prevent Safari on iOS >= 10 to zoom the page - - _this.preventZoomSafari = function (e) { - return e.preventDefault(); - }; - - _this.cleanEvents = function () { - document.removeEventListener('mousemove', _this.onMouseMove); - document.removeEventListener('mouseup', _this.onDragStopped); - document.removeEventListener('touchmove', _this.onTouchMove); - document.removeEventListener('touchend', _this.onDragStopped); - }; - - _this.clearScrollEvent = function () { - if (_this.containerRef) _this.containerRef.removeEventListener('wheel', _this.onWheel); - - if (_this.wheelTimer) { - clearTimeout(_this.wheelTimer); - } - }; - - _this.onMediaLoad = function () { - _this.computeSizes(); - - _this.emitCropData(); - - _this.setInitialCrop(); - - if (_this.props.onMediaLoaded) { - _this.props.onMediaLoaded(_this.mediaSize); - } - }; - - _this.setInitialCrop = function () { - var _a = _this.props, - initialCroppedAreaPixels = _a.initialCroppedAreaPixels, - cropSize = _a.cropSize; - - if (!initialCroppedAreaPixels) { - return; - } - - var _b = getInitialCropFromCroppedAreaPixels(initialCroppedAreaPixels, _this.mediaSize, cropSize), - crop = _b.crop, - zoom = _b.zoom; - - _this.props.onCropChange(crop); - - _this.props.onZoomChange && _this.props.onZoomChange(zoom); - }; - - _this.computeSizes = function () { - var _a, _b, _c, _d, _e, _f; - - var mediaRef = _this.imageRef || _this.videoRef; - - if (mediaRef && _this.containerRef) { - _this.containerRect = _this.containerRef.getBoundingClientRect(); - _this.mediaSize = { - width: mediaRef.offsetWidth, - height: mediaRef.offsetHeight, - naturalWidth: ((_a = _this.imageRef) === null || _a === void 0 ? void 0 : _a.naturalWidth) || ((_b = _this.videoRef) === null || _b === void 0 ? void 0 : _b.videoWidth) || 0, - naturalHeight: ((_c = _this.imageRef) === null || _c === void 0 ? void 0 : _c.naturalHeight) || ((_d = _this.videoRef) === null || _d === void 0 ? void 0 : _d.videoHeight) || 0 - }; - var cropSize = _this.props.cropSize ? _this.props.cropSize : getCropSize(mediaRef.offsetWidth, mediaRef.offsetHeight, _this.containerRect.width, _this.containerRect.height, _this.props.aspect, _this.props.rotation); - - if (((_e = _this.state.cropSize) === null || _e === void 0 ? void 0 : _e.height) !== cropSize.height || ((_f = _this.state.cropSize) === null || _f === void 0 ? void 0 : _f.width) !== cropSize.width) { - _this.props.onCropSizeChange && _this.props.onCropSizeChange(cropSize); - } - - _this.setState({ - cropSize: cropSize - }, _this.recomputeCropPosition); - } - }; - - _this.onMouseDown = function (e) { - e.preventDefault(); - document.addEventListener('mousemove', _this.onMouseMove); - document.addEventListener('mouseup', _this.onDragStopped); - - _this.onDragStart(Cropper.getMousePoint(e)); - }; - - _this.onMouseMove = function (e) { - return _this.onDrag(Cropper.getMousePoint(e)); - }; - - _this.onTouchStart = function (e) { - e.preventDefault(); - document.addEventListener('touchmove', _this.onTouchMove, { - passive: false - }); // iOS 11 now defaults to passive: true - - document.addEventListener('touchend', _this.onDragStopped); - - if (e.touches.length === 2) { - _this.onPinchStart(e); - } else if (e.touches.length === 1) { - _this.onDragStart(Cropper.getTouchPoint(e.touches[0])); - } - }; - - _this.onTouchMove = function (e) { - // Prevent whole page from scrolling on iOS. - e.preventDefault(); - - if (e.touches.length === 2) { - _this.onPinchMove(e); - } else if (e.touches.length === 1) { - _this.onDrag(Cropper.getTouchPoint(e.touches[0])); - } - }; - - _this.onDragStart = function (_a) { - var _b, _c; - - var x = _a.x, - y = _a.y; - _this.dragStartPosition = { - x: x, - y: y - }; - _this.dragStartCrop = __assign({}, _this.props.crop); - (_c = (_b = _this.props).onInteractionStart) === null || _c === void 0 ? void 0 : _c.call(_b); - }; - - _this.onDrag = function (_a) { - var x = _a.x, - y = _a.y; - if (_this.rafDragTimeout) window.cancelAnimationFrame(_this.rafDragTimeout); - _this.rafDragTimeout = window.requestAnimationFrame(function () { - if (!_this.state.cropSize) return; - if (x === undefined || y === undefined) return; - var offsetX = x - _this.dragStartPosition.x; - var offsetY = y - _this.dragStartPosition.y; - var requestedPosition = { - x: _this.dragStartCrop.x + offsetX, - y: _this.dragStartCrop.y + offsetY - }; - var newPosition = _this.props.restrictPosition ? index_module_restrictPosition(requestedPosition, _this.mediaSize, _this.state.cropSize, _this.props.zoom, _this.props.rotation) : requestedPosition; - - _this.props.onCropChange(newPosition); - }); - }; - - _this.onDragStopped = function () { - var _a, _b; - - _this.cleanEvents(); - - _this.emitCropData(); - - (_b = (_a = _this.props).onInteractionEnd) === null || _b === void 0 ? void 0 : _b.call(_a); - }; - - _this.onWheel = function (e) { - e.preventDefault(); - var point = Cropper.getMousePoint(e); - var pixelY = normalize_wheel_default()(e).pixelY; - var newZoom = _this.props.zoom - pixelY * _this.props.zoomSpeed / 200; - - _this.setNewZoom(newZoom, point); - - if (!_this.state.hasWheelJustStarted) { - _this.setState({ - hasWheelJustStarted: true - }, function () { - var _a, _b; - - return (_b = (_a = _this.props).onInteractionStart) === null || _b === void 0 ? void 0 : _b.call(_a); - }); - } - - if (_this.wheelTimer) { - clearTimeout(_this.wheelTimer); - } - - _this.wheelTimer = window.setTimeout(function () { - return _this.setState({ - hasWheelJustStarted: false - }, function () { - var _a, _b; - - return (_b = (_a = _this.props).onInteractionEnd) === null || _b === void 0 ? void 0 : _b.call(_a); - }); - }, 250); - }; - - _this.getPointOnContainer = function (_a) { - var x = _a.x, - y = _a.y; - - if (!_this.containerRect) { - throw new Error('The Cropper is not mounted'); - } - - return { - x: _this.containerRect.width / 2 - (x - _this.containerRect.left), - y: _this.containerRect.height / 2 - (y - _this.containerRect.top) - }; - }; - - _this.getPointOnMedia = function (_a) { - var x = _a.x, - y = _a.y; - var _b = _this.props, - crop = _b.crop, - zoom = _b.zoom; - return { - x: (x + crop.x) / zoom, - y: (y + crop.y) / zoom - }; - }; - - _this.setNewZoom = function (zoom, point) { - if (!_this.state.cropSize || !_this.props.onZoomChange) return; - - var zoomPoint = _this.getPointOnContainer(point); - - var zoomTarget = _this.getPointOnMedia(zoomPoint); - - var newZoom = Math.min(_this.props.maxZoom, Math.max(zoom, _this.props.minZoom)); - var requestedPosition = { - x: zoomTarget.x * newZoom - zoomPoint.x, - y: zoomTarget.y * newZoom - zoomPoint.y - }; - var newPosition = _this.props.restrictPosition ? index_module_restrictPosition(requestedPosition, _this.mediaSize, _this.state.cropSize, newZoom, _this.props.rotation) : requestedPosition; - - _this.props.onCropChange(newPosition); - - _this.props.onZoomChange(newZoom); - }; - - _this.getCropData = function () { - if (!_this.state.cropSize) { - return null; - } // this is to ensure the crop is correctly restricted after a zoom back (https://github.com/ricardo-ch/react-easy-crop/issues/6) - - - var restrictedPosition = _this.props.restrictPosition ? index_module_restrictPosition(_this.props.crop, _this.mediaSize, _this.state.cropSize, _this.props.zoom, _this.props.rotation) : _this.props.crop; - return computeCroppedArea(restrictedPosition, _this.mediaSize, _this.state.cropSize, _this.getAspect(), _this.props.zoom, _this.props.rotation, _this.props.restrictPosition); - }; - - _this.emitCropData = function () { - var cropData = _this.getCropData(); - - if (!cropData) return; - var croppedAreaPercentages = cropData.croppedAreaPercentages, - croppedAreaPixels = cropData.croppedAreaPixels; - - if (_this.props.onCropComplete) { - _this.props.onCropComplete(croppedAreaPercentages, croppedAreaPixels); - } - - if (_this.props.onCropAreaChange) { - _this.props.onCropAreaChange(croppedAreaPercentages, croppedAreaPixels); - } - }; - - _this.emitCropAreaChange = function () { - var cropData = _this.getCropData(); - - if (!cropData) return; - var croppedAreaPercentages = cropData.croppedAreaPercentages, - croppedAreaPixels = cropData.croppedAreaPixels; - - if (_this.props.onCropAreaChange) { - _this.props.onCropAreaChange(croppedAreaPercentages, croppedAreaPixels); - } - }; - - _this.recomputeCropPosition = function () { - if (!_this.state.cropSize) return; - var newPosition = _this.props.restrictPosition ? index_module_restrictPosition(_this.props.crop, _this.mediaSize, _this.state.cropSize, _this.props.zoom, _this.props.rotation) : _this.props.crop; - - _this.props.onCropChange(newPosition); - - _this.emitCropData(); - }; - - return _this; - } - - Cropper.prototype.componentDidMount = function () { - window.addEventListener('resize', this.computeSizes); - - if (this.containerRef) { - this.props.zoomWithScroll && this.containerRef.addEventListener('wheel', this.onWheel, { - passive: false - }); - this.containerRef.addEventListener('gesturestart', this.preventZoomSafari); - this.containerRef.addEventListener('gesturechange', this.preventZoomSafari); - } - - if (!this.props.disableAutomaticStylesInjection) { - this.styleRef = document.createElement('style'); - this.styleRef.setAttribute('type', 'text/css'); - this.styleRef.innerHTML = css_248z; - document.head.appendChild(this.styleRef); - } // when rendered via SSR, the image can already be loaded and its onLoad callback will never be called - - - if (this.imageRef && this.imageRef.complete) { - this.onMediaLoad(); - } - }; - - Cropper.prototype.componentWillUnmount = function () { - var _a; - - window.removeEventListener('resize', this.computeSizes); - - if (this.containerRef) { - this.containerRef.removeEventListener('gesturestart', this.preventZoomSafari); - this.containerRef.removeEventListener('gesturechange', this.preventZoomSafari); - } - - if (this.styleRef) { - (_a = this.styleRef.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(this.styleRef); - } - - this.cleanEvents(); - this.props.zoomWithScroll && this.clearScrollEvent(); - }; - - Cropper.prototype.componentDidUpdate = function (prevProps) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j; - - if (prevProps.rotation !== this.props.rotation) { - this.computeSizes(); - this.recomputeCropPosition(); - } else if (prevProps.aspect !== this.props.aspect) { - this.computeSizes(); - } else if (prevProps.zoom !== this.props.zoom) { - this.recomputeCropPosition(); - } else if (((_a = prevProps.cropSize) === null || _a === void 0 ? void 0 : _a.height) !== ((_b = this.props.cropSize) === null || _b === void 0 ? void 0 : _b.height) || ((_c = prevProps.cropSize) === null || _c === void 0 ? void 0 : _c.width) !== ((_d = this.props.cropSize) === null || _d === void 0 ? void 0 : _d.width)) { - this.computeSizes(); - } else if (((_e = prevProps.crop) === null || _e === void 0 ? void 0 : _e.x) !== ((_f = this.props.crop) === null || _f === void 0 ? void 0 : _f.x) || ((_g = prevProps.crop) === null || _g === void 0 ? void 0 : _g.y) !== ((_h = this.props.crop) === null || _h === void 0 ? void 0 : _h.y)) { - this.emitCropAreaChange(); - } - - if (prevProps.zoomWithScroll !== this.props.zoomWithScroll && this.containerRef) { - this.props.zoomWithScroll ? this.containerRef.addEventListener('wheel', this.onWheel, { - passive: false - }) : this.clearScrollEvent(); - } - - if (prevProps.video !== this.props.video) { - (_j = this.videoRef) === null || _j === void 0 ? void 0 : _j.load(); - } - }; - - Cropper.prototype.getAspect = function () { - var _a = this.props, - cropSize = _a.cropSize, - aspect = _a.aspect; - - if (cropSize) { - return cropSize.width / cropSize.height; - } - - return aspect; - }; - - Cropper.prototype.onPinchStart = function (e) { - var pointA = Cropper.getTouchPoint(e.touches[0]); - var pointB = Cropper.getTouchPoint(e.touches[1]); - this.lastPinchDistance = getDistanceBetweenPoints(pointA, pointB); - this.lastPinchRotation = getRotationBetweenPoints(pointA, pointB); - this.onDragStart(getCenter(pointA, pointB)); - }; - - Cropper.prototype.onPinchMove = function (e) { - var _this = this; - - var pointA = Cropper.getTouchPoint(e.touches[0]); - var pointB = Cropper.getTouchPoint(e.touches[1]); - var center = getCenter(pointA, pointB); - this.onDrag(center); - if (this.rafPinchTimeout) window.cancelAnimationFrame(this.rafPinchTimeout); - this.rafPinchTimeout = window.requestAnimationFrame(function () { - var distance = getDistanceBetweenPoints(pointA, pointB); - var newZoom = _this.props.zoom * (distance / _this.lastPinchDistance); - - _this.setNewZoom(newZoom, center); - - _this.lastPinchDistance = distance; - var rotation = getRotationBetweenPoints(pointA, pointB); - var newRotation = _this.props.rotation + (rotation - _this.lastPinchRotation); - _this.props.onRotationChange && _this.props.onRotationChange(newRotation); - _this.lastPinchRotation = rotation; - }); - }; - - Cropper.prototype.render = function () { - var _this = this; - - var _a = this.props, - image = _a.image, - video = _a.video, - mediaProps = _a.mediaProps, - transform = _a.transform, - _b = _a.crop, - x = _b.x, - y = _b.y, - rotation = _a.rotation, - zoom = _a.zoom, - cropShape = _a.cropShape, - showGrid = _a.showGrid, - _c = _a.style, - containerStyle = _c.containerStyle, - cropAreaStyle = _c.cropAreaStyle, - mediaStyle = _c.mediaStyle, - _d = _a.classes, - containerClassName = _d.containerClassName, - cropAreaClassName = _d.cropAreaClassName, - mediaClassName = _d.mediaClassName, - objectFit = _a.objectFit; - return /*#__PURE__*/external_React_default.a.createElement("div", { - onMouseDown: this.onMouseDown, - onTouchStart: this.onTouchStart, - ref: function ref(el) { - return _this.containerRef = el; - }, - "data-testid": "container", - style: containerStyle, - className: index_module_classNames('reactEasyCrop_Container', containerClassName) - }, image ? /*#__PURE__*/external_React_default.a.createElement("img", __assign({ - alt: "", - className: index_module_classNames('reactEasyCrop_Image', objectFit === 'contain' && 'reactEasyCrop_Contain', objectFit === 'horizontal-cover' && 'reactEasyCrop_Cover_Horizontal', objectFit === 'vertical-cover' && 'reactEasyCrop_Cover_Vertical', mediaClassName) - }, mediaProps, { - src: image, - ref: function ref(el) { - return _this.imageRef = el; - }, - style: __assign(__assign({}, mediaStyle), { - transform: transform || "translate(" + x + "px, " + y + "px) rotate(" + rotation + "deg) scale(" + zoom + ")" - }), - onLoad: this.onMediaLoad - })) : video && /*#__PURE__*/external_React_default.a.createElement("video", __assign({ - autoPlay: true, - loop: true, - muted: true, - className: index_module_classNames('reactEasyCrop_Video', objectFit === 'contain' && 'reactEasyCrop_Contain', objectFit === 'horizontal-cover' && 'reactEasyCrop_Cover_Horizontal', objectFit === 'vertical-cover' && 'reactEasyCrop_Cover_Vertical', mediaClassName) - }, mediaProps, { - ref: function ref(el) { - return _this.videoRef = el; - }, - onLoadedMetadata: this.onMediaLoad, - style: __assign(__assign({}, mediaStyle), { - transform: transform || "translate(" + x + "px, " + y + "px) rotate(" + rotation + "deg) scale(" + zoom + ")" - }), - controls: false - }), (Array.isArray(video) ? video : [{ - src: video - }]).map(function (item) { - return /*#__PURE__*/external_React_default.a.createElement("source", __assign({ - key: item.src - }, item)); - })), this.state.cropSize && /*#__PURE__*/external_React_default.a.createElement("div", { - style: __assign(__assign({}, cropAreaStyle), { - width: this.state.cropSize.width, - height: this.state.cropSize.height - }), - "data-testid": "cropper", - className: index_module_classNames('reactEasyCrop_CropArea', cropShape === 'round' && 'reactEasyCrop_CropAreaRound', showGrid && 'reactEasyCrop_CropAreaGrid', cropAreaClassName) - })); - }; - - Cropper.defaultProps = { - zoom: 1, - rotation: 0, - aspect: 4 / 3, - maxZoom: MAX_ZOOM, - minZoom: MIN_ZOOM, - cropShape: 'rect', - objectFit: 'contain', - showGrid: true, - style: {}, - classes: {}, - mediaProps: {}, - zoomSpeed: 1, - restrictPosition: true, - zoomWithScroll: true - }; - - Cropper.getMousePoint = function (e) { - return { - x: Number(e.clientX), - y: Number(e.clientY) - }; - }; - - Cropper.getTouchPoint = function (touch) { - return { - x: Number(touch.clientX), - y: Number(touch.clientY) - }; - }; - - return Cropper; -}(external_React_default.a.Component); - -/* harmony default export */ var index_module = (index_module_Cropper); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/constants.js -const constants_MIN_ZOOM = 100; -const constants_MAX_ZOOM = 300; -const constants_POPOVER_PROPS = { - position: 'bottom right', - isAlternate: true -}; - -// EXTERNAL MODULE: external ["wp","apiFetch"] -var external_wp_apiFetch_ = __webpack_require__("ywyh"); -var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/use-save-image.js -/** - * WordPress dependencies - */ - - - - - -function useSaveImage({ - crop, - rotation, - height, - width, - aspect, - url, - id, - onSaveImage, - onFinishEditing -}) { - const { - createErrorNotice - } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); - const [isInProgress, setIsInProgress] = Object(external_wp_element_["useState"])(false); - const cancel = Object(external_wp_element_["useCallback"])(() => { - setIsInProgress(false); - onFinishEditing(); - }, [setIsInProgress, onFinishEditing]); - const apply = Object(external_wp_element_["useCallback"])(() => { - setIsInProgress(true); - let attrs = {}; // The crop script may return some very small, sub-pixel values when the image was not cropped. - // Crop only when the new size has changed by more than 0.1%. - - if (crop.width < 99.9 || crop.height < 99.9) { - attrs = crop; - } - - if (rotation > 0) { - attrs.rotation = rotation; - } - - attrs.src = url; - external_wp_apiFetch_default()({ - path: `/wp/v2/media/${id}/edit`, - method: 'POST', - data: attrs - }).then(response => { - onSaveImage({ - id: response.id, - url: response.source_url, - height: height && width ? width / aspect : undefined - }); - }).catch(error => { - createErrorNotice(Object(external_wp_i18n_["sprintf"])( - /* translators: 1. Error message */ - Object(external_wp_i18n_["__"])('Could not edit image. %s'), error.message), { - id: 'image-editing-error', - type: 'snackbar' - }); - }).finally(() => { - setIsInProgress(false); - onFinishEditing(); - }); - }, [setIsInProgress, crop, rotation, height, width, aspect, url, onSaveImage, createErrorNotice, setIsInProgress, onFinishEditing]); - return Object(external_wp_element_["useMemo"])(() => ({ - isInProgress, - apply, - cancel - }), [isInProgress, apply, cancel]); -} - -// EXTERNAL MODULE: external ["wp","hooks"] -var external_wp_hooks_ = __webpack_require__("g56x"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/use-transform-image.js -/** - * WordPress dependencies - */ - - - -function useTransformState({ - url, - naturalWidth, - naturalHeight -}) { - const [editedUrl, setEditedUrl] = Object(external_wp_element_["useState"])(); - const [crop, setCrop] = Object(external_wp_element_["useState"])(); - const [position, setPosition] = Object(external_wp_element_["useState"])({ - x: 0, - y: 0 - }); - const [zoom, setZoom] = Object(external_wp_element_["useState"])(); - const [rotation, setRotation] = Object(external_wp_element_["useState"])(); - const [aspect, setAspect] = Object(external_wp_element_["useState"])(); - const [defaultAspect, setDefaultAspect] = Object(external_wp_element_["useState"])(); - const initializeTransformValues = Object(external_wp_element_["useCallback"])(() => { - setPosition({ - x: 0, - y: 0 - }); - setZoom(100); - setRotation(0); - setAspect(naturalWidth / naturalHeight); - setDefaultAspect(naturalWidth / naturalHeight); - }, [naturalWidth, naturalHeight, setPosition, setZoom, setRotation, setAspect, setDefaultAspect]); - const rotateClockwise = Object(external_wp_element_["useCallback"])(() => { - const angle = (rotation + 90) % 360; - let naturalAspectRatio = naturalWidth / naturalHeight; - - if (rotation % 180 === 90) { - naturalAspectRatio = naturalHeight / naturalWidth; - } - - if (angle === 0) { - setEditedUrl(); - setRotation(angle); - setAspect(1 / aspect); - setPosition({ - x: -(position.y * naturalAspectRatio), - y: position.x * naturalAspectRatio - }); - return; - } - - function editImage(event) { - const canvas = document.createElement('canvas'); - let translateX = 0; - let translateY = 0; - - if (angle % 180) { - canvas.width = event.target.height; - canvas.height = event.target.width; - } else { - canvas.width = event.target.width; - canvas.height = event.target.height; - } - - if (angle === 90 || angle === 180) { - translateX = canvas.width; - } - - if (angle === 270 || angle === 180) { - translateY = canvas.height; - } - - const context = canvas.getContext('2d'); - context.translate(translateX, translateY); - context.rotate(angle * Math.PI / 180); - context.drawImage(event.target, 0, 0); - canvas.toBlob(blob => { - setEditedUrl(URL.createObjectURL(blob)); - setRotation(angle); - setAspect(1 / aspect); - setPosition({ - x: -(position.y * naturalAspectRatio), - y: position.x * naturalAspectRatio - }); - }); - } - - const el = new window.Image(); - el.src = url; - el.onload = editImage; - const imgCrossOrigin = Object(external_wp_hooks_["applyFilters"])('media.crossOrigin', undefined, url); - - if (typeof imgCrossOrigin === 'string') { - el.crossOrigin = imgCrossOrigin; - } - }, [rotation, naturalWidth, naturalHeight, setEditedUrl, setRotation, setAspect, setPosition]); - return Object(external_wp_element_["useMemo"])(() => ({ - editedUrl, - setEditedUrl, - crop, - setCrop, - position, - setPosition, - zoom, - setZoom, - rotation, - setRotation, - rotateClockwise, - aspect, - setAspect, - defaultAspect, - initializeTransformValues - }), [editedUrl, setEditedUrl, crop, setCrop, position, setPosition, zoom, setZoom, rotation, setRotation, rotateClockwise, aspect, setAspect, defaultAspect, initializeTransformValues]); -} - -function useTransformImage(imageProperties, isEditing) { - const transformState = useTransformState(imageProperties); - const { - initializeTransformValues - } = transformState; - Object(external_wp_element_["useEffect"])(() => { - if (isEditing) { - initializeTransformValues(); - } - }, [isEditing, initializeTransformValues]); - return transformState; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/context.js +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/edit.js /** * WordPress dependencies */ -/** - * Internal dependencies - */ - - - -const ImageEditingContext = Object(external_wp_element_["createContext"])({}); -const useImageEditingContext = () => Object(external_wp_element_["useContext"])(ImageEditingContext); -function ImageEditingProvider({ - id, - url, - naturalWidth, - naturalHeight, - isEditing, - onFinishEditing, - onSaveImage, - children -}) { - const transformImage = useTransformImage({ - url, - naturalWidth, - naturalHeight - }, isEditing); - const saveImage = useSaveImage({ - id, - url, - onSaveImage, - onFinishEditing, - ...transformImage - }); - const providerValue = Object(external_wp_element_["useMemo"])(() => ({ ...transformImage, - ...saveImage - }), [transformImage, saveImage]); - return Object(external_wp_element_["createElement"])(ImageEditingContext.Provider, { - value: providerValue - }, children); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/cropper.js - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - -function ImageCropper({ - url, - width, - height, - clientWidth, - naturalHeight, - naturalWidth -}) { - const { - isInProgress, - editedUrl, - position, - zoom, - aspect, - setPosition, - setCrop, - setZoom, - rotation - } = useImageEditingContext(); - let editedHeight = height || clientWidth * naturalHeight / naturalWidth; - - if (rotation % 180 === 90) { - editedHeight = clientWidth * naturalWidth / naturalHeight; - } - - return Object(external_wp_element_["createElement"])("div", { - className: classnames_default()('wp-block-image__crop-area', { - 'is-applying': isInProgress - }), - style: { - width: width || clientWidth, - height: editedHeight - } - }, Object(external_wp_element_["createElement"])(index_module, { - image: editedUrl || url, - disabled: isInProgress, - minZoom: constants_MIN_ZOOM / 100, - maxZoom: constants_MAX_ZOOM / 100, - crop: position, - zoom: zoom / 100, - aspect: aspect, - onCropChange: setPosition, - onCropComplete: newCropPercent => { - setCrop(newCropPercent); - }, - onZoomChange: newZoom => { - setZoom(newZoom * 100); - } - }), isInProgress && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)); -} - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/search.js -var library_search = __webpack_require__("cGtP"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/zoom-dropdown.js - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - -function ZoomDropdown() { - const { - isInProgress, - zoom, - setZoom - } = useImageEditingContext(); - return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { - contentClassName: "wp-block-image__zoom", - popoverProps: constants_POPOVER_PROPS, - renderToggle: ({ - isOpen, - onToggle - }) => Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - icon: library_search["a" /* default */], - label: Object(external_wp_i18n_["__"])('Zoom'), - onClick: onToggle, - "aria-expanded": isOpen, - disabled: isInProgress - }), - renderContent: () => Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { - label: Object(external_wp_i18n_["__"])('Zoom'), - min: constants_MIN_ZOOM, - max: constants_MAX_ZOOM, - value: Math.round(zoom), - onChange: setZoom - }) - }); -} - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/check.js -var check = __webpack_require__("RMJe"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/aspect-ratio.js - - -/** - * WordPress dependencies - */ - -const aspect_ratio_aspectRatio = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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 = (aspect_ratio_aspectRatio); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/aspect-ratio-dropdown.js - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - - - -function AspectGroup({ - aspectRatios, - isDisabled, - label, - onClick, - value -}) { - return Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { - label: label - }, aspectRatios.map(({ - title, - aspect - }) => Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { - key: aspect, - disabled: isDisabled, - onClick: () => { - onClick(aspect); - }, - role: "menuitemradio", - isSelected: aspect === value, - icon: aspect === value ? check["a" /* default */] : undefined - }, title))); -} - -function AspectRatioDropdown({ - toggleProps -}) { - const { - isInProgress, - aspect, - setAspect, - defaultAspect - } = useImageEditingContext(); - return Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { - icon: aspect_ratio, - label: Object(external_wp_i18n_["__"])('Aspect Ratio'), - popoverProps: constants_POPOVER_PROPS, - toggleProps: toggleProps, - className: "wp-block-image__aspect-ratio" - }, ({ - onClose - }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(AspectGroup, { - isDisabled: isInProgress, - onClick: newAspect => { - setAspect(newAspect); - onClose(); - }, - value: aspect, - aspectRatios: [{ - title: Object(external_wp_i18n_["__"])('Original'), - aspect: defaultAspect - }, { - title: Object(external_wp_i18n_["__"])('Square'), - aspect: 1 - }] - }), Object(external_wp_element_["createElement"])(AspectGroup, { - label: Object(external_wp_i18n_["__"])('Landscape'), - isDisabled: isInProgress, - onClick: newAspect => { - setAspect(newAspect); - onClose(); - }, - value: aspect, - aspectRatios: [{ - title: Object(external_wp_i18n_["__"])('16:10'), - aspect: 16 / 10 - }, { - title: Object(external_wp_i18n_["__"])('16:9'), - aspect: 16 / 9 - }, { - title: Object(external_wp_i18n_["__"])('4:3'), - aspect: 4 / 3 - }, { - title: Object(external_wp_i18n_["__"])('3:2'), - aspect: 3 / 2 - }] - }), Object(external_wp_element_["createElement"])(AspectGroup, { - label: Object(external_wp_i18n_["__"])('Portrait'), - isDisabled: isInProgress, - onClick: newAspect => { - setAspect(newAspect); - onClose(); - }, - value: aspect, - aspectRatios: [{ - title: Object(external_wp_i18n_["__"])('10:16'), - aspect: 10 / 16 - }, { - title: Object(external_wp_i18n_["__"])('9:16'), - aspect: 9 / 16 - }, { - title: Object(external_wp_i18n_["__"])('3:4'), - aspect: 3 / 4 - }, { - title: Object(external_wp_i18n_["__"])('2:3'), - aspect: 2 / 3 - }] - }))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/rotate-right.js - - -/** - * WordPress dependencies - */ - -const rotateRight = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/rotation-button.js - - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -function RotationButton() { - const { - isInProgress, - rotateClockwise - } = useImageEditingContext(); - return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - icon: rotate_right, - label: Object(external_wp_i18n_["__"])('Rotate'), - onClick: rotateClockwise, - disabled: isInProgress - }); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/form-controls.js - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -function FormControls() { - const { - isInProgress, - apply, - cancel - } = useImageEditingContext(); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - onClick: apply, - disabled: isInProgress - }, Object(external_wp_i18n_["__"])('Apply')), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - onClick: cancel - }, Object(external_wp_i18n_["__"])('Cancel'))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/index.js - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - - - - -function ImageEditor({ - url, - width, - height, - clientWidth, - naturalHeight, - naturalWidth -}) { - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(ImageCropper, { - url: url, - width: width, - height: height, - clientWidth: clientWidth, - naturalHeight: naturalHeight, - naturalWidth: naturalWidth - }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(ZoomDropdown, null), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarItem"], null, toggleProps => Object(external_wp_element_["createElement"])(AspectRatioDropdown, { - toggleProps: toggleProps - })), Object(external_wp_element_["createElement"])(RotationButton, null)), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(FormControls, null)))); -} - - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/constants.js -const MIN_SIZE = 20; -const LINK_DESTINATION_NONE = 'none'; -const LINK_DESTINATION_MEDIA = 'media'; -const LINK_DESTINATION_ATTACHMENT = 'attachment'; -const LINK_DESTINATION_CUSTOM = 'custom'; -const NEW_TAB_REL = ['noreferrer', 'noopener']; -const ALLOWED_MEDIA_TYPES = ['image']; - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - @@ -4654,440 +2190,185 @@ const ALLOWED_MEDIA_TYPES = ['image']; */ +const ALLOWED_MEDIA_TYPES = ['audio']; - - -/** - * Module constants - */ - - - -function getFilename(url) { - const path = Object(external_wp_url_["getPath"])(url); - - if (path) { - return Object(external_lodash_["last"])(path.split('/')); - } -} - -function Image({ - temporaryURL, - attributes: { - url = '', - alt, - caption, - align, - id, - href, - rel, - linkClass, - linkDestination, - title, - width, - height, - linkTarget, - sizeSlug - }, +function AudioEdit({ + attributes, + noticeOperations, setAttributes, - isSelected, - insertBlocksAfter, onReplace, - onSelectImage, - onSelectURL, - onUploadError, - containerRef, - clientId + isSelected, + noticeUI, + insertBlocksAfter }) { - const captionRef = Object(external_wp_element_["useRef"])(); - const prevUrl = Object(external_wp_compose_["usePrevious"])(url); const { - getBlock - } = Object(external_wp_data_["useSelect"])(external_wp_blockEditor_["store"]); - const { - image, - multiImageSelection - } = Object(external_wp_data_["useSelect"])(select => { - const { - getMedia - } = select(external_wp_coreData_["store"]); - const { - getMultiSelectedBlockClientIds, - getBlockName - } = select(external_wp_blockEditor_["store"]); - const multiSelectedClientIds = getMultiSelectedBlockClientIds(); - return { - image: id && isSelected ? getMedia(id) : null, - multiImageSelection: multiSelectedClientIds.length && multiSelectedClientIds.every(_clientId => getBlockName(_clientId) === 'core/image') - }; - }, [id, isSelected]); - const { - imageEditing, - imageSizes, - maxWidth, - mediaUpload - } = Object(external_wp_data_["useSelect"])(select => { + id, + autoplay, + caption, + loop, + preload, + src + } = attributes; + const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); + const mediaUpload = Object(external_wp_data_["useSelect"])(select => { const { getSettings } = select(external_wp_blockEditor_["store"]); - return Object(external_lodash_["pick"])(getSettings(), ['imageEditing', 'imageSizes', 'maxWidth', 'mediaUpload']); - }); - const { - replaceBlocks, - toggleSelection - } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); - const { - createErrorNotice, - createSuccessNotice - } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); - const isLargeViewport = Object(external_wp_compose_["useViewportMatch"])('medium'); - const isWideAligned = Object(external_lodash_["includes"])(['wide', 'full'], align); - const [{ - naturalWidth, - naturalHeight - }, setNaturalSize] = Object(external_wp_element_["useState"])({}); - const [isEditingImage, setIsEditingImage] = Object(external_wp_element_["useState"])(false); - const [externalBlob, setExternalBlob] = Object(external_wp_element_["useState"])(); - const clientWidth = useClientWidth(containerRef, [align]); - const isResizable = !isWideAligned && isLargeViewport; - const imageSizeOptions = Object(external_lodash_["map"])(Object(external_lodash_["filter"])(imageSizes, ({ - slug - }) => Object(external_lodash_["get"])(image, ['media_details', 'sizes', slug, 'source_url'])), ({ - name, - slug - }) => ({ - value: slug, - label: name - })); // Check if the cover block is registered. - - const coverBlockExists = !!Object(external_wp_blocks_["getBlockType"])('core/cover'); // If an image is externally hosted, try to fetch the image data. This may - // fail if the image host doesn't allow CORS with the domain. If it works, - // we can enable a button in the toolbar to upload the image. - + return getSettings().mediaUpload; + }, []); Object(external_wp_element_["useEffect"])(() => { - if (!isExternalImage(id, url) || !isSelected || externalBlob) { - return; - } + if (!id && Object(external_wp_blob_["isBlobURL"])(src)) { + const file = Object(external_wp_blob_["getBlobByURL"])(src); - window.fetch(url).then(response => response.blob()).then(blob => setExternalBlob(blob)); - }, [id, url, isSelected, externalBlob]); // Focus the caption after inserting an image from the placeholder. This is - // done to preserve the behaviour of focussing the first tabbable element - // when a block is mounted. Previously, the image block would remount when - // the placeholder is removed. Maybe this behaviour could be removed. - - Object(external_wp_element_["useEffect"])(() => { - if (url && !prevUrl && isSelected) { - captionRef.current.focus(); - } - }, [url, prevUrl]); - - function onResizeStart() { - toggleSelection(false); - } - - function onResizeStop() { - toggleSelection(true); - } - - function onImageError() { - // Check if there's an embed block that handles this URL. - const embedBlock = createUpgradedEmbedBlock({ - attributes: { - url + if (file) { + mediaUpload({ + filesList: [file], + onFileChange: ([{ + id: mediaId, + url + }]) => { + setAttributes({ + id: mediaId, + src: url + }); + }, + onError: e => { + setAttributes({ + src: undefined, + id: undefined + }); + noticeOperations.createErrorNotice(e); + }, + allowedTypes: ALLOWED_MEDIA_TYPES + }); } - }); - - if (undefined !== embedBlock) { - onReplace(embedBlock); } + }, []); + + function toggleAttribute(attribute) { + return newValue => { + setAttributes({ + [attribute]: newValue + }); + }; } - function onSetHref(props) { - setAttributes(props); - } - - function onSetTitle(value) { - // This is the HTML title attribute, separate from the media object - // title. - setAttributes({ - title: value - }); - } - - function updateAlt(newAlt) { - setAttributes({ - alt: newAlt - }); - } - - function updateImage(newSizeSlug) { - const newUrl = Object(external_lodash_["get"])(image, ['media_details', 'sizes', newSizeSlug, 'source_url']); - - if (!newUrl) { - return null; - } - - setAttributes({ - url: newUrl, - width: undefined, - height: undefined, - sizeSlug: newSizeSlug - }); - } - - function uploadExternal() { - mediaUpload({ - filesList: [externalBlob], - - onFileChange([img]) { - onSelectImage(img); - - if (Object(external_wp_blob_["isBlobURL"])(img.url)) { - return; + function onSelectURL(newSrc) { + // Set the block's src from the edit component's state, and switch off + // the editing UI. + if (newSrc !== src) { + // Check if there's an embed block that handles this URL. + const embedBlock = createUpgradedEmbedBlock({ + attributes: { + url: newSrc } + }); - setExternalBlob(); - createSuccessNotice(Object(external_wp_i18n_["__"])('Image uploaded.'), { - type: 'snackbar' - }); - }, - - allowedTypes: ALLOWED_MEDIA_TYPES, - - onError(message) { - createErrorNotice(message, { - type: 'snackbar' - }); + if (undefined !== embedBlock) { + onReplace(embedBlock); + return; } - }); - } - - function updateAlignment(nextAlign) { - const extraUpdatedAttributes = ['wide', 'full'].includes(nextAlign) ? { - width: undefined, - height: undefined - } : {}; - setAttributes({ ...extraUpdatedAttributes, - align: nextAlign - }); - } - - Object(external_wp_element_["useEffect"])(() => { - if (!isSelected) { - setIsEditingImage(false); + setAttributes({ + src: newSrc, + id: undefined + }); } - }, [isSelected]); - const canEditImage = id && naturalWidth && naturalHeight && imageEditing; - const allowCrop = !multiImageSelection && canEditImage && !isEditingImage; - - function switchToCover() { - replaceBlocks(clientId, Object(external_wp_blocks_["switchToBlockType"])(getBlock(clientId), 'core/cover')); } - const controls = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { - group: "block" - }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockAlignmentControl"], { - value: align, - onChange: updateAlignment - }), !multiImageSelection && !isEditingImage && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalImageURLInputUI"], { - url: href || '', - onChangeUrl: onSetHref, - linkDestination: linkDestination, - mediaUrl: image && image.source_url || url, - mediaLink: image && image.link, - linkTarget: linkTarget, - linkClass: linkClass, - rel: rel - }), allowCrop && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - onClick: () => setIsEditingImage(true), - icon: library_crop, - label: Object(external_wp_i18n_["__"])('Crop') - }), externalBlob && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - onClick: uploadExternal, - icon: upload["a" /* default */], - label: Object(external_wp_i18n_["__"])('Upload external image') - }), !multiImageSelection && coverBlockExists && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - icon: overlay_text, - label: Object(external_wp_i18n_["__"])('Add text over image'), - onClick: switchToCover - })), !multiImageSelection && !isEditingImage && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { + function onUploadError(message) { + noticeOperations.removeAllNotices(); + noticeOperations.createErrorNotice(message); + } + + function getAutoplayHelp(checked) { + return checked ? Object(external_wp_i18n_["__"])('Autoplay may cause usability issues for some users.') : null; + } // const { setAttributes, isSelected, noticeUI } = this.props; + + + function onSelectAudio(media) { + if (!media || !media.url) { + // in this case there was an error and we should continue in the editing state + // previous attributes should be removed because they may be temporary blob urls + setAttributes({ + src: undefined, + id: undefined + }); + return; + } // sets the block's attribute and updates the edit component from the + // selected media, then switches off the editing UI + + + setAttributes({ + src: media.url, + id: media.id + }); + } + + if (!src) { + return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { + icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { + icon: library_audio + }), + onSelect: onSelectAudio, + onSelectURL: onSelectURL, + accept: "audio/*", + allowedTypes: ALLOWED_MEDIA_TYPES, + value: attributes, + notices: noticeUI, + onError: onUploadError + })); + } + + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { group: "other" }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { mediaId: id, - mediaURL: url, + mediaURL: src, allowedTypes: ALLOWED_MEDIA_TYPES, - accept: "image/*", - onSelect: onSelectImage, + accept: "audio/*", + onSelect: onSelectAudio, onSelectURL: onSelectURL, onError: onUploadError })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { - title: Object(external_wp_i18n_["__"])('Image settings') - }, !multiImageSelection && Object(external_wp_element_["createElement"])(external_wp_components_["TextareaControl"], { - label: Object(external_wp_i18n_["__"])('Alt text (alternative text)'), - value: alt, - onChange: updateAlt, - help: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { - href: "https://www.w3.org/WAI/tutorials/images/decision-tree" - }, Object(external_wp_i18n_["__"])('Describe the purpose of the image')), Object(external_wp_i18n_["__"])('Leave empty if the image is purely decorative.')) - }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalImageSizeControl"], { - onChangeImage: updateImage, - onChange: value => setAttributes(value), - slug: sizeSlug, - width: width, - height: height, - imageSizeOptions: imageSizeOptions, - isResizable: isResizable, - imageWidth: naturalWidth, - imageHeight: naturalHeight - }))), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorAdvancedControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { - label: Object(external_wp_i18n_["__"])('Title attribute'), - value: title || '', - onChange: onSetTitle, - help: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_i18n_["__"])('Describe the role of this image on the page.'), Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { - href: "https://www.w3.org/TR/html52/dom.html#the-title-attribute" - }, Object(external_wp_i18n_["__"])('(Note: many devices and browsers do not display this text.)'))) - }))); - const filename = getFilename(url); - let defaultedAlt; - - if (alt) { - defaultedAlt = alt; - } else if (filename) { - defaultedAlt = Object(external_wp_i18n_["sprintf"])( - /* translators: %s: file name */ - Object(external_wp_i18n_["__"])('This image has an empty alt attribute; its file name is %s'), filename); - } else { - defaultedAlt = Object(external_wp_i18n_["__"])('This image has an empty alt attribute'); - } - - let img = // Disable reason: Image itself is not meant to be interactive, but - // should direct focus to block. - - /* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */ - Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("img", { - src: temporaryURL || url, - alt: defaultedAlt, - onError: () => onImageError(), - onLoad: event => { - setNaturalSize(Object(external_lodash_["pick"])(event.target, ['naturalWidth', 'naturalHeight'])); - } - }), temporaryURL && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)) - /* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */ - ; - let imageWidthWithinContainer; - let imageHeightWithinContainer; - - if (clientWidth && naturalWidth && naturalHeight) { - const exceedMaxWidth = naturalWidth > clientWidth; - const ratio = naturalHeight / naturalWidth; - imageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth; - imageHeightWithinContainer = exceedMaxWidth ? clientWidth * ratio : naturalHeight; - } - - if (canEditImage && isEditingImage) { - img = Object(external_wp_element_["createElement"])(ImageEditor, { - url: url, - width: width, - height: height, - clientWidth: clientWidth, - naturalHeight: naturalHeight, - naturalWidth: naturalWidth - }); - } else if (!isResizable || !imageWidthWithinContainer) { - img = Object(external_wp_element_["createElement"])("div", { - style: { - width, - height - } - }, img); - } else { - const currentWidth = width || imageWidthWithinContainer; - const currentHeight = height || imageHeightWithinContainer; - const ratio = naturalWidth / naturalHeight; - const minWidth = naturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio; - const minHeight = naturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio; // With the current implementation of ResizableBox, an image needs an - // explicit pixel value for the max-width. In absence of being able to - // set the content-width, this max-width is currently dictated by the - // vanilla editor style. The following variable adds a buffer to this - // vanilla style, so 3rd party themes have some wiggleroom. This does, - // in most cases, allow you to scale the image beyond the width of the - // main column, though not infinitely. - // @todo It would be good to revisit this once a content-width variable - // becomes available. - - const maxWidthBuffer = maxWidth * 2.5; - let showRightHandle = false; - let showLeftHandle = false; - /* eslint-disable no-lonely-if */ - // See https://github.com/WordPress/gutenberg/issues/7584. - - if (align === 'center') { - // When the image is centered, show both handles. - showRightHandle = true; - showLeftHandle = true; - } else if (Object(external_wp_i18n_["isRTL"])()) { - // In RTL mode the image is on the right by default. - // Show the right handle and hide the left handle only when it is - // aligned left. Otherwise always show the left handle. - if (align === 'left') { - showRightHandle = true; - } else { - showLeftHandle = true; - } - } else { - // Show the left handle and hide the right handle only when the - // image is aligned right. Otherwise always show the right handle. - if (align === 'right') { - showLeftHandle = true; - } else { - showRightHandle = true; - } - } - /* eslint-enable no-lonely-if */ - - - img = Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], { - size: { - width: width !== null && width !== void 0 ? width : 'auto', - height: height !== null && height !== void 0 ? height : 'auto' - }, - showHandle: isSelected, - minWidth: minWidth, - maxWidth: maxWidthBuffer, - minHeight: minHeight, - maxHeight: maxWidthBuffer / ratio, - lockAspectRatio: true, - enable: { - top: false, - right: showRightHandle, - bottom: true, - left: showLeftHandle - }, - onResizeStart: onResizeStart, - onResizeStop: (event, direction, elt, delta) => { - onResizeStop(); - setAttributes({ - width: parseInt(currentWidth + delta.width, 10), - height: parseInt(currentHeight + delta.height, 10) - }); - } - }, img); - } - - return Object(external_wp_element_["createElement"])(ImageEditingProvider, { - id: id, - url: url, - naturalWidth: naturalWidth, - naturalHeight: naturalHeight, - clientWidth: clientWidth, - onSaveImage: imageAttributes => setAttributes(imageAttributes), - isEditing: isEditingImage, - onFinishEditing: () => setIsEditingImage(false) - }, !temporaryURL && controls, img, (!external_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { - ref: captionRef, + title: Object(external_wp_i18n_["__"])('Audio settings') + }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Autoplay'), + onChange: toggleAttribute('autoplay'), + checked: autoplay, + help: getAutoplayHelp + }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Loop'), + onChange: toggleAttribute('loop'), + checked: loop + }), Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { + label: Object(external_wp_i18n_["_x"])('Preload', 'noun; Audio block parameter'), + value: preload || '' // `undefined` is required for the preload attribute to be unset. + , + onChange: value => setAttributes({ + preload: value || undefined + }), + options: [{ + value: '', + label: Object(external_wp_i18n_["__"])('Browser default') + }, { + value: 'auto', + label: Object(external_wp_i18n_["__"])('Auto') + }, { + value: 'metadata', + label: Object(external_wp_i18n_["__"])('Metadata') + }, { + value: 'none', + label: Object(external_wp_i18n_["_x"])('None', '"Preload" value') + }] + }))), Object(external_wp_element_["createElement"])("figure", blockProps, Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], { + isDisabled: !isSelected + }, Object(external_wp_element_["createElement"])("audio", { + controls: "controls", + src: src + })), (!external_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { tagName: "figcaption", - "aria-label": Object(external_wp_i18n_["__"])('Image caption text'), + "aria-label": Object(external_wp_i18n_["__"])('Audio caption text'), placeholder: Object(external_wp_i18n_["__"])('Add caption'), value: caption, onChange: value => setAttributes({ @@ -5095,10 +2376,271 @@ function Image({ }), inlineToolbar: true, __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) + }))); +} + +/* harmony default export */ var edit = (Object(external_wp_components_["withNotices"])(AudioEdit)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/save.js + + +/** + * WordPress dependencies + */ + +function save({ + attributes +}) { + const { + autoplay, + caption, + loop, + preload, + src + } = attributes; + return src && Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])("audio", { + controls: "controls", + src: src, + autoPlay: autoplay, + loop: loop, + preload: preload + }), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "figcaption", + value: caption })); } -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/edit.js +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/transforms.js +/** + * WordPress dependencies + */ + + +const transforms_transforms = { + from: [{ + type: 'files', + + isMatch(files) { + return files.length === 1 && files[0].type.indexOf('audio/') === 0; + }, + + transform(files) { + const file = files[0]; // We don't need to upload the media directly here + // It's already done as part of the `componentDidMount` + // in the audio block + + const block = Object(external_wp_blocks_["createBlock"])('core/audio', { + src: Object(external_wp_blob_["createBlobURL"])(file) + }); + return block; + } + + }, { + type: 'shortcode', + tag: 'audio', + attributes: { + src: { + type: 'string', + shortcode: ({ + named: { + src, + mp3, + m4a, + ogg, + wav, + wma + } + }) => { + return src || mp3 || m4a || ogg || wav || wma; + } + }, + loop: { + type: 'string', + shortcode: ({ + named: { + loop + } + }) => { + return loop; + } + }, + autoplay: { + type: 'string', + shortcode: ({ + named: { + autoplay + } + }) => { + return autoplay; + } + }, + preload: { + type: 'string', + shortcode: ({ + named: { + preload + } + }) => { + return preload; + } + } + } + }] +}; +/* harmony default export */ var audio_transforms = (transforms_transforms); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/index.js +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + +const audio_metadata = { + apiVersion: 2, + name: "core/audio", + title: "Audio", + category: "media", + description: "Embed a simple audio player.", + keywords: ["music", "sound", "podcast", "recording"], + textdomain: "default", + attributes: { + src: { + type: "string", + source: "attribute", + selector: "audio", + attribute: "src" + }, + caption: { + type: "string", + source: "html", + selector: "figcaption" + }, + id: { + type: "number" + }, + autoplay: { + type: "boolean", + source: "attribute", + selector: "audio", + attribute: "autoplay" + }, + loop: { + type: "boolean", + source: "attribute", + selector: "audio", + attribute: "loop" + }, + preload: { + type: "string", + source: "attribute", + selector: "audio", + attribute: "preload" + } + }, + supports: { + anchor: true, + align: true + }, + editorStyle: "wp-block-audio-editor", + style: "wp-block-audio" +}; + + +const { + name: audio_name +} = audio_metadata; + +const audio_settings = { + icon: library_audio, + example: { + attributes: { + src: 'https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg' + } + }, + transforms: audio_transforms, + deprecated: deprecated, + edit: edit, + save: save +}; + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/button.js +var library_button = __webpack_require__("oMoS"); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var classnames = __webpack_require__("TSYQ"); +var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); + +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/utils/clean-empty-object.js +/** + * External dependencies + */ + +/** + * Removed empty nodes from nested objects. + * + * @param {Object} object + * @return {Object} Object cleaned from empty nodes. + */ + +const cleanEmptyObject = object => { + if (!Object(external_lodash_["isObject"])(object) || Array.isArray(object)) { + return object; + } + + const cleanedNestedObjects = Object(external_lodash_["pickBy"])(Object(external_lodash_["mapValues"])(object, cleanEmptyObject), external_lodash_["identity"]); + return Object(external_lodash_["isEmpty"])(cleanedNestedObjects) ? undefined : cleanedNestedObjects; +}; + +/* harmony default export */ var clean_empty_object = (cleanEmptyObject); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/utils/migrate-font-family.js +/** + * External dependencies + */ + +/** + * Internal dependencies + */ + + +/** + * Migrates the current style.typography.fontFamily attribute, + * whose value was "var:preset|font-family|helvetica-arial", + * to the style.fontFamily attribute, whose value will be "helvetica-arial". + * + * @param {Object} attributes The current attributes + * @return {Object} The updated attributes. + */ + +/* harmony default export */ var migrate_font_family = (function (attributes) { + var _attributes$style, _attributes$style$typ; + + if (!(attributes !== null && attributes !== void 0 && (_attributes$style = attributes.style) !== null && _attributes$style !== void 0 && (_attributes$style$typ = _attributes$style.typography) !== null && _attributes$style$typ !== void 0 && _attributes$style$typ.fontFamily)) { + return attributes; + } // Clone first so when we delete the fontFamily + // below we're not modifying the original + // attributes. Because the deprecation may be discarded + // we don't want to alter the original attributes. + + + const atts = Object(external_lodash_["cloneDeep"])(attributes); + const fontFamily = atts.style.typography.fontFamily.split('|').pop(); + delete atts.style.typography.fontFamily; + atts.style = clean_empty_object(atts.style); + return { ...atts, + fontFamily + }; +}); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/deprecated.js /** @@ -5112,325 +2654,1163 @@ function Image({ - - - - - -/* global wp */ - /** * Internal dependencies */ -/** - * Module constants - */ +const migrateBorderRadius = attributes => { + var _newAttributes$style, _newAttributes$style$, _newAttributes$style2; -const pickRelevantMediaFiles = (image, size) => { - const imageProps = Object(external_lodash_["pick"])(image, ['alt', 'id', 'link', 'caption']); - imageProps.url = Object(external_lodash_["get"])(image, ['sizes', size, 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', size, 'source_url']) || image.url; - return imageProps; -}; -/** - * Is the URL a temporary blob URL? A blob URL is one that is used temporarily - * while the image is being uploaded and will not have an id yet allocated. - * - * @param {number=} id The id of the image. - * @param {string=} url The url of the image. - * - * @return {boolean} Is the URL a Blob URL - */ - -const isTemporaryImage = (id, url) => !id && Object(external_wp_blob_["isBlobURL"])(url); -/** - * Is the url for the image hosted externally. An externally hosted image has no - * id and is not a blob url. - * - * @param {number=} id The id of the image. - * @param {string=} url The url of the image. - * - * @return {boolean} Is the url an externally hosted url? - */ - - -const isExternalImage = (id, url) => url && !id && !Object(external_wp_blob_["isBlobURL"])(url); -/** - * Checks if WP generated default image size. Size generation is skipped - * when the image is smaller than the said size. - * - * @param {Object} image - * @param {string} defaultSize - * - * @return {boolean} Whether or not it has default image size. - */ - -function hasDefaultSize(image, defaultSize) { - return Object(external_lodash_["has"])(image, ['sizes', defaultSize, 'url']) || Object(external_lodash_["has"])(image, ['media_details', 'sizes', defaultSize, 'source_url']); -} - -function ImageEdit({ - attributes, - setAttributes, - isSelected, - className, - noticeUI, - insertBlocksAfter, - noticeOperations, - onReplace, - clientId -}) { const { - url = '', - alt, - caption, - align, - id, - width, - height, - sizeSlug - } = attributes; - const [temporaryURL, setTemporaryURL] = Object(external_wp_element_["useState"])(); - const altRef = Object(external_wp_element_["useRef"])(); - Object(external_wp_element_["useEffect"])(() => { - altRef.current = alt; - }, [alt]); - const captionRef = Object(external_wp_element_["useRef"])(); - Object(external_wp_element_["useEffect"])(() => { - captionRef.current = caption; - }, [caption]); - const ref = Object(external_wp_element_["useRef"])(); - const { - imageDefaultSize, - mediaUpload - } = Object(external_wp_data_["useSelect"])(select => { - const { - getSettings - } = select(external_wp_blockEditor_["store"]); - return Object(external_lodash_["pick"])(getSettings(), ['imageDefaultSize', 'mediaUpload']); - }, []); + borderRadius, + ...newAttributes + } = attributes; // We have to check old property `borderRadius` and if + // `styles.border.radius` is a `number` - function onUploadError(message) { - noticeOperations.removeAllNotices(); - noticeOperations.createErrorNotice(message); + const oldBorderRadius = [borderRadius, (_newAttributes$style = newAttributes.style) === null || _newAttributes$style === void 0 ? void 0 : (_newAttributes$style$ = _newAttributes$style.border) === null || _newAttributes$style$ === void 0 ? void 0 : _newAttributes$style$.radius].find(possibleBorderRadius => { + return typeof possibleBorderRadius === 'number' && possibleBorderRadius !== 0; + }); + + if (!oldBorderRadius) { + return newAttributes; } - function onSelectImage(media) { - var _wp, _wp$media, _wp$media$view, _wp$media$view$settin, _wp$media$view$settin2; - - if (!media || !media.url) { - setAttributes({ - url: undefined, - alt: undefined, - id: undefined, - title: undefined, - caption: undefined - }); - return; - } - - if (Object(external_wp_blob_["isBlobURL"])(media.url)) { - setTemporaryURL(media.url); - return; - } - - setTemporaryURL(); - let mediaAttributes = pickRelevantMediaFiles(media, imageDefaultSize); // If a caption text was meanwhile written by the user, - // make sure the text is not overwritten by empty captions. - - if (captionRef.current && !Object(external_lodash_["get"])(mediaAttributes, ['caption'])) { - mediaAttributes = Object(external_lodash_["omit"])(mediaAttributes, ['caption']); - } - - let additionalAttributes; // Reset the dimension attributes if changing to a different image. - - if (!media.id || media.id !== id) { - additionalAttributes = { - width: undefined, - height: undefined, - // Fallback to size "full" if there's no default image size. - // It means the image is smaller, and the block will use a full-size URL. - sizeSlug: hasDefaultSize(media, imageDefaultSize) ? imageDefaultSize : 'full' - }; - } else { - // Keep the same url when selecting the same file, so "Image Size" - // option is not changed. - additionalAttributes = { - url - }; - } // Check if default link setting should be used. - - - let linkDestination = attributes.linkDestination; - - if (!linkDestination) { - // Use the WordPress option to determine the proper default. - // The constants used in Gutenberg do not match WP options so a little more complicated than ideal. - // TODO: fix this in a follow up PR, requires updating media-text and ui component. - switch (((_wp = wp) === null || _wp === void 0 ? void 0 : (_wp$media = _wp.media) === null || _wp$media === void 0 ? void 0 : (_wp$media$view = _wp$media.view) === null || _wp$media$view === void 0 ? void 0 : (_wp$media$view$settin = _wp$media$view.settings) === null || _wp$media$view$settin === void 0 ? void 0 : (_wp$media$view$settin2 = _wp$media$view$settin.defaultProps) === null || _wp$media$view$settin2 === void 0 ? void 0 : _wp$media$view$settin2.link) || LINK_DESTINATION_NONE) { - case 'file': - case LINK_DESTINATION_MEDIA: - linkDestination = LINK_DESTINATION_MEDIA; - break; - - case 'post': - case LINK_DESTINATION_ATTACHMENT: - linkDestination = LINK_DESTINATION_ATTACHMENT; - break; - - case LINK_DESTINATION_CUSTOM: - linkDestination = LINK_DESTINATION_CUSTOM; - break; - - case LINK_DESTINATION_NONE: - linkDestination = LINK_DESTINATION_NONE; - break; + return { ...newAttributes, + style: { ...newAttributes.style, + border: { ...((_newAttributes$style2 = newAttributes.style) === null || _newAttributes$style2 === void 0 ? void 0 : _newAttributes$style2.border), + radius: `${oldBorderRadius}px` } - } // Check if the image is linked to it's media. - - - let href; - - switch (linkDestination) { - case LINK_DESTINATION_MEDIA: - href = media.url; - break; - - case LINK_DESTINATION_ATTACHMENT: - href = media.link; - break; } + }; +}; - mediaAttributes.href = href; - setAttributes({ ...mediaAttributes, - ...additionalAttributes, - linkDestination - }); +const migrateCustomColorsAndGradients = attributes => { + if (!attributes.customTextColor && !attributes.customBackgroundColor && !attributes.customGradient) { + return attributes; } - function onSelectURL(newURL) { - if (newURL !== url) { - setAttributes({ - url: newURL, - id: undefined, - width: undefined, - height: undefined, - sizeSlug: imageDefaultSize - }); - } + const style = { + color: {} + }; + + if (attributes.customTextColor) { + style.color.text = attributes.customTextColor; } - function updateAlignment(nextAlign) { - const extraUpdatedAttributes = ['wide', 'full'].includes(nextAlign) ? { - width: undefined, - height: undefined - } : {}; - setAttributes({ ...extraUpdatedAttributes, - align: nextAlign - }); + if (attributes.customBackgroundColor) { + style.color.background = attributes.customBackgroundColor; } - const isTemp = isTemporaryImage(id, url); // Upload a temporary image on mount. + if (attributes.customGradient) { + style.color.gradient = attributes.customGradient; + } - Object(external_wp_element_["useEffect"])(() => { - if (!isTemp) { - return; - } + return { ...Object(external_lodash_["omit"])(attributes, ['customTextColor', 'customBackgroundColor', 'customGradient']), + style + }; +}; - const file = Object(external_wp_blob_["getBlobByURL"])(url); +const oldColorsMigration = attributes => { + return migrateCustomColorsAndGradients(Object(external_lodash_["omit"])({ ...attributes, + customTextColor: attributes.textColor && '#' === attributes.textColor[0] ? attributes.textColor : undefined, + customBackgroundColor: attributes.color && '#' === attributes.color[0] ? attributes.color : undefined + }, ['color', 'textColor'])); +}; - if (file) { - mediaUpload({ - filesList: [file], - onFileChange: ([img]) => { - onSelectImage(img); - }, - allowedTypes: ALLOWED_MEDIA_TYPES, - onError: message => { - noticeOperations.createErrorNotice(message); - setAttributes({ - src: undefined, - id: undefined, - url: undefined - }); - } - }); - } - }, []); // If an image is temporary, revoke the Blob url when it is uploaded (and is - // no longer temporary). - - Object(external_wp_element_["useEffect"])(() => { - if (!temporaryURL) { - return; - } - - return () => { - Object(external_wp_blob_["revokeBlobURL"])(temporaryURL); - }; - }, [temporaryURL]); - const isExternal = isExternalImage(id, url); - const src = isExternal ? url : undefined; - const mediaPreview = !!url && Object(external_wp_element_["createElement"])("img", { - alt: Object(external_wp_i18n_["__"])('Edit image'), - title: Object(external_wp_i18n_["__"])('Edit image'), - className: 'edit-image-preview', - src: url - }); - const classes = classnames_default()(className, { - 'is-transient': temporaryURL, - 'is-resized': !!width || !!height, - [`size-${sizeSlug}`]: sizeSlug - }); - const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ - ref, - className: classes - }); - return Object(external_wp_element_["createElement"])("figure", blockProps, (temporaryURL || url) && Object(external_wp_element_["createElement"])(Image, { - temporaryURL: temporaryURL, - attributes: attributes, - setAttributes: setAttributes, - isSelected: isSelected, - insertBlocksAfter: insertBlocksAfter, - onReplace: onReplace, - onSelectImage: onSelectImage, - onSelectURL: onSelectURL, - onUploadError: onUploadError, - containerRef: ref, - clientId: clientId - }), !url && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { - group: "block" - }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockAlignmentControl"], { - value: align, - onChange: updateAlignment - })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { - icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { - icon: library_image - }), - onSelect: onSelectImage, - onSelectURL: onSelectURL, - notices: noticeUI, - onError: onUploadError, - accept: "image/*", - allowedTypes: ALLOWED_MEDIA_TYPES, - value: { - id, - src +const deprecated_blockAttributes = { + url: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'href' + }, + title: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'title' + }, + text: { + type: 'string', + source: 'html', + selector: 'a' + } +}; +const v10 = { + attributes: { + url: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'href' }, - mediaPreview: mediaPreview, - disableMediaButtons: temporaryURL || url - })); -} -/* harmony default export */ var image_edit = (Object(external_wp_components_["withNotices"])(ImageEdit)); + title: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'title' + }, + text: { + type: 'string', + source: 'html', + selector: 'a' + }, + linkTarget: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'target' + }, + rel: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'rel' + }, + placeholder: { + type: 'string' + }, + backgroundColor: { + type: 'string' + }, + textColor: { + type: 'string' + }, + gradient: { + type: 'string' + }, + width: { + type: 'number' + } + }, + supports: { + anchor: true, + align: true, + alignWide: false, + color: { + __experimentalSkipSerialization: true, + gradients: true + }, + typography: { + fontSize: true, + __experimentalFontFamily: true + }, + reusable: false, + spacing: { + __experimentalSkipSerialization: true, + padding: ['horizontal', 'vertical'], + __experimentalDefaultControls: { + padding: true + } + }, + __experimentalBorder: { + radius: true, + __experimentalSkipSerialization: true + }, + __experimentalSelector: '.wp-block-button__link' + }, + + save({ + attributes, + className + }) { + var _style$border, _style$typography; + + const { + fontSize, + linkTarget, + rel, + style, + text, + title, + url, + width + } = attributes; + + if (!text) { + return null; + } + + const borderProps = Object(external_wp_blockEditor_["__experimentalGetBorderClassesAndStyles"])(attributes); + const colorProps = Object(external_wp_blockEditor_["__experimentalGetColorClassesAndStyles"])(attributes); + const spacingProps = Object(external_wp_blockEditor_["__experimentalGetSpacingClassesAndStyles"])(attributes); + const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, borderProps.className, { + // For backwards compatibility add style that isn't provided via + // block support. + 'no-border-radius': (style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius) === 0 + }); + const buttonStyle = { ...borderProps.style, + ...colorProps.style, + ...spacingProps.style + }; // The use of a `title` attribute here is soft-deprecated, but still applied + // if it had already been assigned, for the sake of backward-compatibility. + // A title will no longer be assigned for new or updated button block links. + + const wrapperClasses = classnames_default()(className, { + [`has-custom-width wp-block-button__width-${width}`]: width, + [`has-custom-font-size`]: fontSize || (style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.fontSize) + }); + return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ + className: wrapperClasses + }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "a", + className: buttonClasses, + href: url, + title: title, + style: buttonStyle, + value: text, + target: linkTarget, + rel: rel + })); + }, + + migrate: migrate_font_family, + + isEligible({ + style + }) { + var _style$typography2; + + return style === null || style === void 0 ? void 0 : (_style$typography2 = style.typography) === null || _style$typography2 === void 0 ? void 0 : _style$typography2.fontFamily; + } + +}; +const deprecated_deprecated = [v10, { + supports: { + anchor: true, + align: true, + alignWide: false, + color: { + __experimentalSkipSerialization: true, + gradients: true + }, + typography: { + fontSize: true, + __experimentalFontFamily: true + }, + reusable: false, + __experimentalSelector: '.wp-block-button__link' + }, + attributes: { ...deprecated_blockAttributes, + linkTarget: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'target' + }, + rel: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'rel' + }, + placeholder: { + type: 'string' + }, + backgroundColor: { + type: 'string' + }, + textColor: { + type: 'string' + }, + gradient: { + type: 'string' + }, + width: { + type: 'number' + } + }, + + isEligible({ + style + }) { + var _style$border2; + + return typeof (style === null || style === void 0 ? void 0 : (_style$border2 = style.border) === null || _style$border2 === void 0 ? void 0 : _style$border2.radius) === 'number'; + }, + + save({ + attributes, + className + }) { + var _style$border3, _style$border4, _style$typography3; + + const { + fontSize, + linkTarget, + rel, + style, + text, + title, + url, + width + } = attributes; + + if (!text) { + return null; + } + + const borderRadius = style === null || style === void 0 ? void 0 : (_style$border3 = style.border) === null || _style$border3 === void 0 ? void 0 : _style$border3.radius; + const colorProps = Object(external_wp_blockEditor_["__experimentalGetColorClassesAndStyles"])(attributes); + const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, { + 'no-border-radius': (style === null || style === void 0 ? void 0 : (_style$border4 = style.border) === null || _style$border4 === void 0 ? void 0 : _style$border4.radius) === 0 + }); + const buttonStyle = { + borderRadius: borderRadius ? borderRadius : undefined, + ...colorProps.style + }; // The use of a `title` attribute here is soft-deprecated, but still applied + // if it had already been assigned, for the sake of backward-compatibility. + // A title will no longer be assigned for new or updated button block links. + + const wrapperClasses = classnames_default()(className, { + [`has-custom-width wp-block-button__width-${width}`]: width, + [`has-custom-font-size`]: fontSize || (style === null || style === void 0 ? void 0 : (_style$typography3 = style.typography) === null || _style$typography3 === void 0 ? void 0 : _style$typography3.fontSize) + }); + return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ + className: wrapperClasses + }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "a", + className: buttonClasses, + href: url, + title: title, + style: buttonStyle, + value: text, + target: linkTarget, + rel: rel + })); + }, + + migrate: Object(external_wp_compose_["compose"])(migrate_font_family, migrateBorderRadius) +}, { + supports: { + anchor: true, + align: true, + alignWide: false, + color: { + __experimentalSkipSerialization: true + }, + reusable: false, + __experimentalSelector: '.wp-block-button__link' + }, + attributes: { ...deprecated_blockAttributes, + linkTarget: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'target' + }, + rel: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'rel' + }, + placeholder: { + type: 'string' + }, + borderRadius: { + type: 'number' + }, + backgroundColor: { + type: 'string' + }, + textColor: { + type: 'string' + }, + gradient: { + type: 'string' + }, + style: { + type: 'object' + }, + width: { + type: 'number' + } + }, + + save({ + attributes, + className + }) { + const { + borderRadius, + linkTarget, + rel, + text, + title, + url, + width + } = attributes; + const colorProps = Object(external_wp_blockEditor_["__experimentalGetColorClassesAndStyles"])(attributes); + const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, { + 'no-border-radius': borderRadius === 0 + }); + const buttonStyle = { + borderRadius: borderRadius ? borderRadius + 'px' : undefined, + ...colorProps.style + }; // The use of a `title` attribute here is soft-deprecated, but still applied + // if it had already been assigned, for the sake of backward-compatibility. + // A title will no longer be assigned for new or updated button block links. + + const wrapperClasses = classnames_default()(className, { + [`has-custom-width wp-block-button__width-${width}`]: width + }); + return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ + className: wrapperClasses + }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "a", + className: buttonClasses, + href: url, + title: title, + style: buttonStyle, + value: text, + target: linkTarget, + rel: rel + })); + }, + + migrate: Object(external_wp_compose_["compose"])(migrate_font_family, migrateBorderRadius) +}, { + supports: { + anchor: true, + align: true, + alignWide: false, + color: { + __experimentalSkipSerialization: true + }, + reusable: false, + __experimentalSelector: '.wp-block-button__link' + }, + attributes: { ...deprecated_blockAttributes, + linkTarget: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'target' + }, + rel: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'rel' + }, + placeholder: { + type: 'string' + }, + borderRadius: { + type: 'number' + }, + backgroundColor: { + type: 'string' + }, + textColor: { + type: 'string' + }, + gradient: { + type: 'string' + }, + style: { + type: 'object' + }, + width: { + type: 'number' + } + }, + + save({ + attributes, + className + }) { + const { + borderRadius, + linkTarget, + rel, + text, + title, + url, + width + } = attributes; + const colorProps = Object(external_wp_blockEditor_["__experimentalGetColorClassesAndStyles"])(attributes); + const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, { + 'no-border-radius': borderRadius === 0 + }); + const buttonStyle = { + borderRadius: borderRadius ? borderRadius + 'px' : undefined, + ...colorProps.style + }; // The use of a `title` attribute here is soft-deprecated, but still applied + // if it had already been assigned, for the sake of backward-compatibility. + // A title will no longer be assigned for new or updated button block links. + + const wrapperClasses = classnames_default()(className, { + [`has-custom-width wp-block-button__width-${width}`]: width + }); + return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ + className: wrapperClasses + }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "a", + className: buttonClasses, + href: url, + title: title, + style: buttonStyle, + value: text, + target: linkTarget, + rel: rel + })); + }, + + migrate: Object(external_wp_compose_["compose"])(migrate_font_family, migrateBorderRadius) +}, { + supports: { + align: true, + alignWide: false, + color: { + gradients: true + } + }, + attributes: { ...deprecated_blockAttributes, + linkTarget: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'target' + }, + rel: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'rel' + }, + placeholder: { + type: 'string' + }, + borderRadius: { + type: 'number' + }, + backgroundColor: { + type: 'string' + }, + textColor: { + type: 'string' + }, + gradient: { + type: 'string' + }, + style: { + type: 'object' + } + }, + + save({ + attributes + }) { + const { + borderRadius, + linkTarget, + rel, + text, + title, + url + } = attributes; + const buttonClasses = classnames_default()('wp-block-button__link', { + 'no-border-radius': borderRadius === 0 + }); + const buttonStyle = { + borderRadius: borderRadius ? borderRadius + 'px' : undefined + }; + return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "a", + className: buttonClasses, + href: url, + title: title, + style: buttonStyle, + value: text, + target: linkTarget, + rel: rel + }); + }, + + migrate: migrateBorderRadius +}, { + supports: { + align: true, + alignWide: false + }, + attributes: { ...deprecated_blockAttributes, + linkTarget: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'target' + }, + rel: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'rel' + }, + placeholder: { + type: 'string' + }, + borderRadius: { + type: 'number' + }, + backgroundColor: { + type: 'string' + }, + textColor: { + type: 'string' + }, + customBackgroundColor: { + type: 'string' + }, + customTextColor: { + type: 'string' + }, + customGradient: { + type: 'string' + }, + gradient: { + type: 'string' + } + }, + isEligible: attributes => !!attributes.customTextColor || !!attributes.customBackgroundColor || !!attributes.customGradient, + migrate: Object(external_wp_compose_["compose"])(migrateBorderRadius, migrateCustomColorsAndGradients), + + save({ + attributes + }) { + const { + backgroundColor, + borderRadius, + customBackgroundColor, + customTextColor, + customGradient, + linkTarget, + gradient, + rel, + text, + textColor, + title, + url + } = attributes; + const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); + const backgroundClass = !customGradient && Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); + + const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); + + const buttonClasses = classnames_default()('wp-block-button__link', { + 'has-text-color': textColor || customTextColor, + [textClass]: textClass, + 'has-background': backgroundColor || customBackgroundColor || customGradient || gradient, + [backgroundClass]: backgroundClass, + 'no-border-radius': borderRadius === 0, + [gradientClass]: gradientClass + }); + const buttonStyle = { + background: customGradient ? customGradient : undefined, + backgroundColor: backgroundClass || customGradient || gradient ? undefined : customBackgroundColor, + color: textClass ? undefined : customTextColor, + borderRadius: borderRadius ? borderRadius + 'px' : undefined + }; // The use of a `title` attribute here is soft-deprecated, but still applied + // if it had already been assigned, for the sake of backward-compatibility. + // A title will no longer be assigned for new or updated button block links. + + return Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "a", + className: buttonClasses, + href: url, + title: title, + style: buttonStyle, + value: text, + target: linkTarget, + rel: rel + })); + } + +}, { + attributes: { ...deprecated_blockAttributes, + align: { + type: 'string', + default: 'none' + }, + backgroundColor: { + type: 'string' + }, + textColor: { + type: 'string' + }, + customBackgroundColor: { + type: 'string' + }, + customTextColor: { + type: 'string' + }, + linkTarget: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'target' + }, + rel: { + type: 'string', + source: 'attribute', + selector: 'a', + attribute: 'rel' + }, + placeholder: { + type: 'string' + } + }, + + isEligible(attribute) { + return attribute.className && attribute.className.includes('is-style-squared'); + }, + + migrate(attributes) { + let newClassName = attributes.className; + + if (newClassName) { + newClassName = newClassName.replace(/is-style-squared[\s]?/, '').trim(); + } + + return migrateBorderRadius(migrateCustomColorsAndGradients({ ...attributes, + className: newClassName ? newClassName : undefined, + borderRadius: 0 + })); + }, + + save({ + attributes + }) { + const { + backgroundColor, + customBackgroundColor, + customTextColor, + linkTarget, + rel, + text, + textColor, + title, + url + } = attributes; + const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); + const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); + const buttonClasses = classnames_default()('wp-block-button__link', { + 'has-text-color': textColor || customTextColor, + [textClass]: textClass, + 'has-background': backgroundColor || customBackgroundColor, + [backgroundClass]: backgroundClass + }); + const buttonStyle = { + backgroundColor: backgroundClass ? undefined : customBackgroundColor, + color: textClass ? undefined : customTextColor + }; + return Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "a", + className: buttonClasses, + href: url, + title: title, + style: buttonStyle, + value: text, + target: linkTarget, + rel: rel + })); + } + +}, { + attributes: { ...deprecated_blockAttributes, + align: { + type: 'string', + default: 'none' + }, + backgroundColor: { + type: 'string' + }, + textColor: { + type: 'string' + }, + customBackgroundColor: { + type: 'string' + }, + customTextColor: { + type: 'string' + } + }, + migrate: oldColorsMigration, + + save({ + attributes + }) { + const { + url, + text, + title, + backgroundColor, + textColor, + customBackgroundColor, + customTextColor + } = attributes; + const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); + const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); + const buttonClasses = classnames_default()('wp-block-button__link', { + 'has-text-color': textColor || customTextColor, + [textClass]: textClass, + 'has-background': backgroundColor || customBackgroundColor, + [backgroundClass]: backgroundClass + }); + const buttonStyle = { + backgroundColor: backgroundClass ? undefined : customBackgroundColor, + color: textClass ? undefined : customTextColor + }; + return Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "a", + className: buttonClasses, + href: url, + title: title, + style: buttonStyle, + value: text + })); + } + +}, { + attributes: { ...deprecated_blockAttributes, + color: { + type: 'string' + }, + textColor: { + type: 'string' + }, + align: { + type: 'string', + default: 'none' + } + }, + + save({ + attributes + }) { + const { + url, + text, + title, + align, + color, + textColor + } = attributes; + const buttonStyle = { + backgroundColor: color, + color: textColor + }; + const linkClass = 'wp-block-button__link'; + return Object(external_wp_element_["createElement"])("div", { + className: `align${align}` + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "a", + className: linkClass, + href: url, + title: title, + style: buttonStyle, + value: text + })); + }, + + migrate: oldColorsMigration +}, { + attributes: { ...deprecated_blockAttributes, + color: { + type: 'string' + }, + textColor: { + type: 'string' + }, + align: { + type: 'string', + default: 'none' + } + }, + + save({ + attributes + }) { + const { + url, + text, + title, + align, + color, + textColor + } = attributes; + return Object(external_wp_element_["createElement"])("div", { + className: `align${align}`, + style: { + backgroundColor: color + } + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "a", + href: url, + title: title, + style: { + color: textColor + }, + value: text + })); + }, + + migrate: oldColorsMigration +}]; +/* harmony default export */ var button_deprecated = (deprecated_deprecated); + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: external ["wp","keycodes"] +var external_wp_keycodes_ = __webpack_require__("RxS6"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/link.js +var library_link = __webpack_require__("Bpkj"); + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/link-off.js +var link_off = __webpack_require__("Mp0b"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/edit.js -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/save.js /** * External dependencies */ +/** + * WordPress dependencies + */ + + + + + + + + +const NEW_TAB_REL = 'noreferrer noopener'; + +function WidthPanel({ + selectedWidth, + setAttributes +}) { + function handleChange(newWidth) { + // Check if we are toggling the width off + const width = selectedWidth === newWidth ? undefined : newWidth; // Update attributes + + setAttributes({ + width + }); + } + + return Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { + title: Object(external_wp_i18n_["__"])('Width settings') + }, Object(external_wp_element_["createElement"])(external_wp_components_["ButtonGroup"], { + "aria-label": Object(external_wp_i18n_["__"])('Button width') + }, [25, 50, 75, 100].map(widthValue => { + return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + key: widthValue, + isSmall: true, + variant: widthValue === selectedWidth ? 'primary' : undefined, + onClick: () => handleChange(widthValue) + }, widthValue, "%"); + }))); +} + +function ButtonEdit(props) { + var _style$border; + + const { + attributes, + setAttributes, + className, + isSelected, + onReplace, + mergeBlocks + } = props; + const { + linkTarget, + placeholder, + rel, + style, + text, + url, + width + } = attributes; + const onSetLinkRel = Object(external_wp_element_["useCallback"])(value => { + setAttributes({ + rel: value + }); + }, [setAttributes]); + + function onToggleOpenInNewTab(value) { + const newLinkTarget = value ? '_blank' : undefined; + let updatedRel = rel; + + if (newLinkTarget && !rel) { + updatedRel = NEW_TAB_REL; + } else if (!newLinkTarget && rel === NEW_TAB_REL) { + updatedRel = undefined; + } + + setAttributes({ + linkTarget: newLinkTarget, + rel: updatedRel + }); + } + + function setButtonText(newText) { + // Remove anchor tags from button text content. + setAttributes({ + text: newText.replace(/<\/?a[^>]*>/g, '') + }); + } + + function onKeyDown(event) { + if (external_wp_keycodes_["isKeyboardEvent"].primary(event, 'k')) { + startEditing(event); + } else if (external_wp_keycodes_["isKeyboardEvent"].primaryShift(event, 'k')) { + var _richTextRef$current; + + unlink(); + (_richTextRef$current = richTextRef.current) === null || _richTextRef$current === void 0 ? void 0 : _richTextRef$current.focus(); + } + } + + const borderProps = Object(external_wp_blockEditor_["__experimentalUseBorderProps"])(attributes); + const colorProps = Object(external_wp_blockEditor_["__experimentalUseColorProps"])(attributes); + const spacingProps = Object(external_wp_blockEditor_["__experimentalGetSpacingClassesAndStyles"])(attributes); + const ref = Object(external_wp_element_["useRef"])(); + const richTextRef = Object(external_wp_element_["useRef"])(); + const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ + ref, + onKeyDown + }); + const [isEditingURL, setIsEditingURL] = Object(external_wp_element_["useState"])(false); + const isURLSet = !!url; + const opensInNewTab = linkTarget === '_blank'; + + function startEditing(event) { + event.preventDefault(); + setIsEditingURL(true); + } + + function unlink() { + setAttributes({ + url: undefined, + linkTarget: undefined, + rel: undefined + }); + setIsEditingURL(false); + } + + Object(external_wp_element_["useEffect"])(() => { + if (!isSelected) { + setIsEditingURL(false); + } + }, [isSelected]); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, blockProps, { + className: classnames_default()(blockProps.className, { + [`has-custom-width wp-block-button__width-${width}`]: width, + [`has-custom-font-size`]: blockProps.style.fontSize + }) + }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { + ref: richTextRef, + "aria-label": Object(external_wp_i18n_["__"])('Button text'), + placeholder: placeholder || Object(external_wp_i18n_["__"])('Add text…'), + value: text, + onChange: value => setButtonText(value), + withoutInteractiveFormatting: true, + className: classnames_default()(className, 'wp-block-button__link', colorProps.className, borderProps.className, { + // For backwards compatibility add style that isn't + // provided via block support. + 'no-border-radius': (style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius) === 0 + }), + style: { ...borderProps.style, + ...colorProps.style, + ...spacingProps.style + }, + onSplit: value => Object(external_wp_blocks_["createBlock"])('core/button', { ...attributes, + text: value + }), + onReplace: onReplace, + onMerge: mergeBlocks, + identifier: "text" + })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { + group: "block" + }, !isURLSet && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + name: "link", + icon: library_link["a" /* default */], + title: Object(external_wp_i18n_["__"])('Link'), + shortcut: external_wp_keycodes_["displayShortcut"].primary('k'), + onClick: startEditing + }), isURLSet && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + name: "link", + icon: link_off["a" /* default */], + title: Object(external_wp_i18n_["__"])('Unlink'), + shortcut: external_wp_keycodes_["displayShortcut"].primaryShift('k'), + onClick: unlink, + isActive: true + })), isSelected && (isEditingURL || isURLSet) && Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { + position: "bottom center", + onClose: () => { + var _richTextRef$current2; + + setIsEditingURL(false); + (_richTextRef$current2 = richTextRef.current) === null || _richTextRef$current2 === void 0 ? void 0 : _richTextRef$current2.focus(); + }, + anchorRef: ref === null || ref === void 0 ? void 0 : ref.current, + focusOnMount: isEditingURL ? 'firstElement' : false + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalLinkControl"], { + className: "wp-block-navigation-link__inline-link-input", + value: { + url, + opensInNewTab + }, + onChange: ({ + url: newURL = '', + opensInNewTab: newOpensInNewTab + }) => { + setAttributes({ + url: newURL + }); + + if (opensInNewTab !== newOpensInNewTab) { + onToggleOpenInNewTab(newOpensInNewTab); + } + }, + onRemove: () => { + var _richTextRef$current3; + + unlink(); + (_richTextRef$current3 = richTextRef.current) === null || _richTextRef$current3 === void 0 ? void 0 : _richTextRef$current3.focus(); + }, + forceIsEditingLink: isEditingURL + })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(WidthPanel, { + selectedWidth: width, + setAttributes: setAttributes + })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], { + __experimentalGroup: "advanced" + }, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { + label: Object(external_wp_i18n_["__"])('Link rel'), + value: rel || '', + onChange: onSetLinkRel + }))); +} + +/* harmony default export */ var button_edit = (ButtonEdit); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/save.js + + +/** + * External dependencies + */ /** * WordPress dependencies @@ -5438,239 +3818,60 @@ function ImageEdit({ function save_save({ - attributes + attributes, + className }) { + var _style$border, _style$typography; + const { - url, - alt, - caption, - align, - href, - rel, - linkClass, - width, - height, - id, + fontSize, linkTarget, - sizeSlug, - title + rel, + style, + text, + title, + url, + width } = attributes; - const newRel = Object(external_lodash_["isEmpty"])(rel) ? undefined : rel; - const classes = classnames_default()({ - [`align${align}`]: align, - [`size-${sizeSlug}`]: sizeSlug, - 'is-resized': width || height + + if (!text) { + return null; + } + + const borderProps = Object(external_wp_blockEditor_["__experimentalGetBorderClassesAndStyles"])(attributes); + const colorProps = Object(external_wp_blockEditor_["__experimentalGetColorClassesAndStyles"])(attributes); + const spacingProps = Object(external_wp_blockEditor_["__experimentalGetSpacingClassesAndStyles"])(attributes); + const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, borderProps.className, { + // For backwards compatibility add style that isn't provided via + // block support. + 'no-border-radius': (style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius) === 0 }); - const image = Object(external_wp_element_["createElement"])("img", { - src: url, - alt: alt, - className: id ? `wp-image-${id}` : null, - width: width, - height: height, - title: title + const buttonStyle = { ...borderProps.style, + ...colorProps.style, + ...spacingProps.style + }; // The use of a `title` attribute here is soft-deprecated, but still applied + // if it had already been assigned, for the sake of backward-compatibility. + // A title will no longer be assigned for new or updated button block links. + + const wrapperClasses = classnames_default()(className, { + [`has-custom-width wp-block-button__width-${width}`]: width, + [`has-custom-font-size`]: fontSize || (style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.fontSize) }); - const figure = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, href ? Object(external_wp_element_["createElement"])("a", { - className: linkClass, - href: href, + return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ + className: wrapperClasses + }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "a", + className: buttonClasses, + href: url, + title: title, + style: buttonStyle, + value: text, target: linkTarget, - rel: newRel - }, image) : image, !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "figcaption", - value: caption + rel: rel })); - - if ('left' === align || 'right' === align || 'center' === align) { - return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])("figure", { - className: classes - }, figure)); - } - - return Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save({ - className: classes - }), figure); } -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/transforms.js -/** - * WordPress dependencies - */ - - -function stripFirstImage(attributes, { - shortcode -}) { - const { - body - } = document.implementation.createHTMLDocument(''); - body.innerHTML = shortcode.content; - let nodeToRemove = body.querySelector('img'); // if an image has parents, find the topmost node to remove - - while (nodeToRemove && nodeToRemove.parentNode && nodeToRemove.parentNode !== body) { - nodeToRemove = nodeToRemove.parentNode; - } - - if (nodeToRemove) { - nodeToRemove.parentNode.removeChild(nodeToRemove); - } - - return body.innerHTML.trim(); -} - -function getFirstAnchorAttributeFormHTML(html, attributeName) { - const { - body - } = document.implementation.createHTMLDocument(''); - body.innerHTML = html; - const { - firstElementChild - } = body; - - if (firstElementChild && firstElementChild.nodeName === 'A') { - return firstElementChild.getAttribute(attributeName) || undefined; - } -} - -const imageSchema = { - img: { - attributes: ['src', 'alt', 'title'], - classes: ['alignleft', 'aligncenter', 'alignright', 'alignnone', /^wp-image-\d+$/] - } -}; - -const schema = ({ - phrasingContentSchema -}) => ({ - figure: { - require: ['img'], - children: { ...imageSchema, - a: { - attributes: ['href', 'rel', 'target'], - children: imageSchema - }, - figcaption: { - children: phrasingContentSchema - } - } - } -}); - -const transforms_transforms = { - from: [{ - type: 'raw', - isMatch: node => node.nodeName === 'FIGURE' && !!node.querySelector('img'), - schema, - transform: node => { - // Search both figure and image classes. Alignment could be - // set on either. ID is set on the image. - const className = node.className + ' ' + node.querySelector('img').className; - const alignMatches = /(?:^|\s)align(left|center|right)(?:$|\s)/.exec(className); - const anchor = node.id === '' ? undefined : node.id; - const align = alignMatches ? alignMatches[1] : undefined; - const idMatches = /(?:^|\s)wp-image-(\d+)(?:$|\s)/.exec(className); - const id = idMatches ? Number(idMatches[1]) : undefined; - const anchorElement = node.querySelector('a'); - const linkDestination = anchorElement && anchorElement.href ? 'custom' : undefined; - const href = anchorElement && anchorElement.href ? anchorElement.href : undefined; - const rel = anchorElement && anchorElement.rel ? anchorElement.rel : undefined; - const linkClass = anchorElement && anchorElement.className ? anchorElement.className : undefined; - const attributes = Object(external_wp_blocks_["getBlockAttributes"])('core/image', node.outerHTML, { - align, - id, - linkDestination, - href, - rel, - linkClass, - anchor - }); - return Object(external_wp_blocks_["createBlock"])('core/image', attributes); - } - }, { - type: 'files', - - isMatch(files) { - return files.length === 1 && files[0].type.indexOf('image/') === 0; - }, - - transform(files) { - const file = files[0]; // We don't need to upload the media directly here - // It's already done as part of the `componentDidMount` - // int the image block - - return Object(external_wp_blocks_["createBlock"])('core/image', { - url: Object(external_wp_blob_["createBlobURL"])(file) - }); - } - - }, { - type: 'shortcode', - tag: 'caption', - attributes: { - url: { - type: 'string', - source: 'attribute', - attribute: 'src', - selector: 'img' - }, - alt: { - type: 'string', - source: 'attribute', - attribute: 'alt', - selector: 'img' - }, - caption: { - shortcode: stripFirstImage - }, - href: { - shortcode: (attributes, { - shortcode - }) => { - return getFirstAnchorAttributeFormHTML(shortcode.content, 'href'); - } - }, - rel: { - shortcode: (attributes, { - shortcode - }) => { - return getFirstAnchorAttributeFormHTML(shortcode.content, 'rel'); - } - }, - linkClass: { - shortcode: (attributes, { - shortcode - }) => { - return getFirstAnchorAttributeFormHTML(shortcode.content, 'class'); - } - }, - id: { - type: 'number', - shortcode: ({ - named: { - id - } - }) => { - if (!id) { - return; - } - - return parseInt(id.replace('attachment_', ''), 10); - } - }, - align: { - type: 'string', - shortcode: ({ - named: { - align = 'alignnone' - } - }) => { - return align.replace('align', ''); - } - } - } - }] -}; -/* harmony default export */ var image_transforms = (transforms_transforms); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/index.js +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/index.js /** * WordPress dependencies */ @@ -5682,23 +3883,4365 @@ const transforms_transforms = { -const image_metadata = { +const button_metadata = { apiVersion: 2, - name: "core/image", - title: "Image", - category: "media", - description: "Insert an image to make a visual statement.", - keywords: ["img", "photo", "picture"], + name: "core/button", + title: "Button", + category: "design", + parent: ["core/buttons"], + description: "Prompt visitors to take action with a button-style link.", + keywords: ["link"], textdomain: "default", attributes: { - align: { - type: "string" - }, url: { type: "string", source: "attribute", - selector: "img", - attribute: "src" + selector: "a", + attribute: "href" + }, + title: { + type: "string", + source: "attribute", + selector: "a", + attribute: "title" + }, + text: { + type: "string", + source: "html", + selector: "a" + }, + linkTarget: { + type: "string", + source: "attribute", + selector: "a", + attribute: "target" + }, + rel: { + type: "string", + source: "attribute", + selector: "a", + attribute: "rel" + }, + placeholder: { + type: "string" + }, + backgroundColor: { + type: "string" + }, + textColor: { + type: "string" + }, + gradient: { + type: "string" + }, + width: { + type: "number" + } + }, + supports: { + anchor: true, + align: true, + alignWide: false, + color: { + __experimentalSkipSerialization: true, + gradients: true + }, + typography: { + fontSize: true, + __experimentalFontFamily: true, + __experimentalDefaultControls: { + fontSize: true + } + }, + reusable: false, + spacing: { + __experimentalSkipSerialization: true, + padding: ["horizontal", "vertical"], + __experimentalDefaultControls: { + padding: true + } + }, + __experimentalBorder: { + radius: true, + __experimentalSkipSerialization: true + }, + __experimentalSelector: ".wp-block-button__link" + }, + styles: [{ + name: "fill", + label: "Fill", + isDefault: true + }, { + name: "outline", + label: "Outline" + }], + editorStyle: "wp-block-button-editor", + style: "wp-block-button" +}; + +const { + name: button_name +} = button_metadata; + +const button_settings = { + icon: library_button["a" /* default */], + example: { + attributes: { + className: 'is-style-fill', + text: Object(external_wp_i18n_["__"])('Call to Action') + } + }, + edit: button_edit, + save: save_save, + deprecated: button_deprecated, + merge: (a, { + text = '' + }) => ({ ...a, + text: (a.text || '') + text + }) +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/buttons.js + + +/** + * WordPress dependencies + */ + +const buttons_buttons = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M17 3H7c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H7c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v4zm-8-1.2h5V6.2h-5v1.6zM17 13H7c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H7c-.3 0-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v4zm-8-1.2h5v-1.5h-5v1.5z" +})); +/* harmony default export */ var library_buttons = (buttons_buttons); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/deprecated.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +/** + * @param {Object} attributes Block's attributes. + */ + +const migrateWithLayout = attributes => { + if (!!attributes.layout) { + return attributes; + } + + const { + contentJustification, + orientation + } = attributes; + const updatedAttributes = { ...attributes + }; + + if (contentJustification || orientation) { + Object.assign(updatedAttributes, { + layout: { + type: 'flex', + justifyContent: contentJustification || 'left', + orientation: orientation || 'horizontal' + } + }); + } + + return updatedAttributes; +}; + +const buttons_deprecated_deprecated = [{ + attributes: { + contentJustification: { + type: 'string' + }, + orientation: { + type: 'string', + default: 'horizontal' + } + }, + supports: { + anchor: true, + align: ['wide', 'full'], + __experimentalExposeControlsToChildren: true, + spacing: { + blockGap: true, + margin: ['top', 'bottom'], + __experimentalDefaultControls: { + blockGap: true + } + } + }, + isEligible: ({ + layout + }) => !layout, + migrate: migrateWithLayout, + + save({ + attributes: { + contentJustification, + orientation + } + }) { + return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ + className: classnames_default()({ + [`is-content-justification-${contentJustification}`]: contentJustification, + 'is-vertical': orientation === 'vertical' + }) + }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); + } + +}, { + supports: { + align: ['center', 'left', 'right'], + anchor: true + }, + + save() { + return Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); + }, + + isEligible({ + align + }) { + return align && ['center', 'left', 'right'].includes(align); + }, + + migrate(attributes) { + return migrateWithLayout({ ...attributes, + align: undefined, + // Floating Buttons blocks shouldn't have been supported in the + // first place. Most users using them probably expected them to + // act like content justification controls, so these blocks are + // migrated to use content justification. + // As for center-aligned Buttons blocks, the content justification + // equivalent will create an identical end result in most cases. + contentJustification: attributes.align + }); + } + +}]; +/* harmony default export */ var buttons_deprecated = (buttons_deprecated_deprecated); + +// EXTERNAL MODULE: external ["wp","richText"] +var external_wp_richText_ = __webpack_require__("qRz9"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/transforms.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + +const { + name: transforms_name +} = { + apiVersion: 2, + name: "core/buttons", + title: "Buttons", + category: "design", + description: "Prompt visitors to take action with a group of button-style links.", + keywords: ["link"], + textdomain: "default", + supports: { + anchor: true, + align: ["wide", "full"], + __experimentalExposeControlsToChildren: true, + spacing: { + blockGap: true, + margin: ["top", "bottom"], + __experimentalDefaultControls: { + blockGap: true + } + }, + __experimentalLayout: { + allowSwitching: false, + allowInheriting: false, + "default": { + type: "flex" + } + } + }, + editorStyle: "wp-block-buttons-editor", + style: "wp-block-buttons" +}; +const buttons_transforms_transforms = { + from: [{ + type: 'block', + isMultiBlock: true, + blocks: ['core/button'], + transform: buttons => // Creates the buttons block + Object(external_wp_blocks_["createBlock"])(transforms_name, {}, // Loop the selected buttons + buttons.map(attributes => // Create singular button in the buttons block + Object(external_wp_blocks_["createBlock"])('core/button', attributes))) + }, { + type: 'block', + isMultiBlock: true, + blocks: ['core/paragraph'], + transform: buttons => // Creates the buttons block + Object(external_wp_blocks_["createBlock"])(transforms_name, {}, // Loop the selected buttons + buttons.map(attributes => { + const element = Object(external_wp_richText_["__unstableCreateElement"])(document, attributes.content); // Remove any HTML tags + + const text = element.innerText || ''; // Get first url + + const link = element.querySelector('a'); + const url = link === null || link === void 0 ? void 0 : link.getAttribute('href'); // Create singular button in the buttons block + + return Object(external_wp_blocks_["createBlock"])('core/button', { + text, + url + }); + })), + isMatch: paragraphs => { + return paragraphs.every(attributes => { + const element = Object(external_wp_richText_["__unstableCreateElement"])(document, attributes.content); + const text = element.innerText || ''; + const links = element.querySelectorAll('a'); + return text.length <= 30 && links.length <= 1; + }); + } + }] +}; +/* harmony default export */ var buttons_transforms = (buttons_transforms_transforms); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/edit.js + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +const ALLOWED_BLOCKS = [button_name]; + +function ButtonsEdit({ + attributes: { + layout = {} + } +}) { + const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); + const preferredStyle = Object(external_wp_data_["useSelect"])(select => { + var _preferredStyleVariat; + + const preferredStyleVariations = select(external_wp_blockEditor_["store"]).getSettings().__experimentalPreferredStyleVariations; + + return preferredStyleVariations === null || preferredStyleVariations === void 0 ? void 0 : (_preferredStyleVariat = preferredStyleVariations.value) === null || _preferredStyleVariat === void 0 ? void 0 : _preferredStyleVariat[button_name]; + }, []); + const innerBlocksProps = Object(external_wp_blockEditor_["useInnerBlocksProps"])(blockProps, { + allowedBlocks: ALLOWED_BLOCKS, + template: [[button_name, { + className: preferredStyle && `is-style-${preferredStyle}` + }]], + __experimentalLayout: layout, + templateInsertUpdatesSelection: true + }); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { + group: "block", + __experimentalShareWithChildBlocks: true + }), Object(external_wp_element_["createElement"])("div", innerBlocksProps)); +} + +/* harmony default export */ var buttons_edit = (ButtonsEdit); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/save.js + + +/** + * WordPress dependencies + */ + +function buttons_save_save() { + const innerBlocksProps = external_wp_blockEditor_["useInnerBlocksProps"].save(external_wp_blockEditor_["useBlockProps"].save()); + return Object(external_wp_element_["createElement"])("div", innerBlocksProps); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/index.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + +const buttons_metadata = { + apiVersion: 2, + name: "core/buttons", + title: "Buttons", + category: "design", + description: "Prompt visitors to take action with a group of button-style links.", + keywords: ["link"], + textdomain: "default", + supports: { + anchor: true, + align: ["wide", "full"], + __experimentalExposeControlsToChildren: true, + spacing: { + blockGap: true, + margin: ["top", "bottom"], + __experimentalDefaultControls: { + blockGap: true + } + }, + __experimentalLayout: { + allowSwitching: false, + allowInheriting: false, + "default": { + type: "flex" + } + } + }, + editorStyle: "wp-block-buttons-editor", + style: "wp-block-buttons" +}; + +const { + name: buttons_name +} = buttons_metadata; + +const buttons_settings = { + icon: library_buttons, + example: { + innerBlocks: [{ + name: 'core/button', + attributes: { + text: Object(external_wp_i18n_["__"])('Find out more') + } + }, { + name: 'core/button', + attributes: { + text: Object(external_wp_i18n_["__"])('Contact us') + } + }] + }, + deprecated: buttons_deprecated, + transforms: buttons_transforms, + edit: buttons_edit, + save: buttons_save_save +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/calendar.js + + +/** + * WordPress dependencies + */ + +const calendar = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V7h15v12zM9 10H7v2h2v-2zm0 4H7v2h2v-2zm4-4h-2v2h2v-2zm4 0h-2v2h2v-2zm-4 4h-2v2h2v-2zm4 0h-2v2h2v-2z" +})); +/* harmony default export */ var library_calendar = (calendar); + +// EXTERNAL MODULE: external "moment" +var external_moment_ = __webpack_require__("wy2R"); +var external_moment_default = /*#__PURE__*/__webpack_require__.n(external_moment_); + +// EXTERNAL MODULE: external ["wp","coreData"] +var external_wp_coreData_ = __webpack_require__("jZUy"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/edit.js + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + + +const getYearMonth = memize_default()(date => { + if (!date) { + return {}; + } + + const momentDate = external_moment_default()(date); + return { + year: momentDate.year(), + month: momentDate.month() + 1 + }; +}); +function CalendarEdit({ + attributes +}) { + const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); + const { + date, + hasPosts, + hasPostsResolved + } = Object(external_wp_data_["useSelect"])(select => { + const { + getEntityRecords, + hasFinishedResolution + } = select(external_wp_coreData_["store"]); + const singlePublishedPostQuery = { + status: 'publish', + per_page: 1 + }; + const posts = getEntityRecords('postType', 'post', singlePublishedPostQuery); + const postsResolved = hasFinishedResolution('getEntityRecords', ['postType', 'post', singlePublishedPostQuery]); + + let _date; // FIXME: @wordpress/block-library should not depend on @wordpress/editor. + // Blocks can be loaded into a *non-post* block editor. + // eslint-disable-next-line @wordpress/data-no-store-string-literals + + + const editorSelectors = select('core/editor'); + + if (editorSelectors) { + const postType = editorSelectors.getEditedPostAttribute('type'); // Dates are used to overwrite year and month used on the calendar. + // This overwrite should only happen for 'post' post types. + // For other post types the calendar always displays the current month. + + if (postType === 'post') { + _date = editorSelectors.getEditedPostAttribute('date'); + } + } + + return { + date: _date, + hasPostsResolved: postsResolved, + hasPosts: postsResolved && (posts === null || posts === void 0 ? void 0 : posts.length) === 1 + }; + }, []); + + if (!hasPosts) { + return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { + icon: library_calendar, + label: Object(external_wp_i18n_["__"])('Calendar') + }, !hasPostsResolved ? Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null) : Object(external_wp_i18n_["__"])('No published posts found.'))); + } + + return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], null, Object(external_wp_element_["createElement"])(external_wp_serverSideRender_default.a, { + block: "core/calendar", + attributes: { ...attributes, + ...getYearMonth(date) + } + }))); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/index.js +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + +const calendar_metadata = { + apiVersion: 2, + name: "core/calendar", + title: "Calendar", + category: "widgets", + description: "A calendar of your site\u2019s posts.", + keywords: ["posts", "archive"], + textdomain: "default", + attributes: { + month: { + type: "integer" + }, + year: { + type: "integer" + } + }, + supports: { + align: true + }, + style: "wp-block-calendar" +}; + +const { + name: calendar_name +} = calendar_metadata; + +const calendar_settings = { + icon: library_calendar, + example: {}, + edit: CalendarEdit +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/category.js + + +/** + * WordPress dependencies + */ + +const category_category = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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_category); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pin.js + + +/** + * WordPress dependencies + */ + +const pin = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "-2 -2 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z" +})); +/* harmony default export */ var library_pin = (pin); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/categories/edit.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + + + +function CategoriesEdit({ + attributes: { + displayAsDropdown, + showHierarchy, + showPostCounts, + showOnlyTopLevel + }, + setAttributes +}) { + const selectId = Object(external_wp_compose_["useInstanceId"])(CategoriesEdit, 'blocks-category-select'); + const { + categories, + isRequesting + } = Object(external_wp_data_["useSelect"])(select => { + const { + getEntityRecords, + isResolving + } = select(external_wp_coreData_["store"]); + const query = { + per_page: -1, + hide_empty: true, + context: 'view' + }; + + if (showOnlyTopLevel) { + query.parent = 0; + } + + return { + categories: getEntityRecords('taxonomy', 'category', query), + isRequesting: isResolving('getEntityRecords', ['taxonomy', 'category', query]) + }; + }, [showOnlyTopLevel]); + + const getCategoriesList = parentId => { + if (!(categories !== null && categories !== void 0 && categories.length)) { + return []; + } + + if (parentId === null) { + return categories; + } + + return categories.filter(({ + parent + }) => parent === parentId); + }; + + const getCategoryListClassName = level => { + return `wp-block-categories__list wp-block-categories__list-level-${level}`; + }; + + const toggleAttribute = attributeName => newValue => setAttributes({ + [attributeName]: newValue + }); + + const renderCategoryName = name => !name ? Object(external_wp_i18n_["__"])('(Untitled)') : Object(external_lodash_["unescape"])(name).trim(); + + const renderCategoryList = () => { + const parentId = showHierarchy ? 0 : null; + const categoriesList = getCategoriesList(parentId); + return Object(external_wp_element_["createElement"])("ul", { + className: getCategoryListClassName(0) + }, categoriesList.map(category => renderCategoryListItem(category, 0))); + }; + + const renderCategoryListItem = (category, level) => { + const childCategories = getCategoriesList(category.id); + const { + id, + link, + count, + name + } = category; + return Object(external_wp_element_["createElement"])("li", { + key: id + }, Object(external_wp_element_["createElement"])("a", { + href: link, + target: "_blank", + rel: "noreferrer noopener" + }, renderCategoryName(name)), showPostCounts && Object(external_wp_element_["createElement"])("span", { + className: "wp-block-categories__post-count" + }, ` (${count})`), showHierarchy && !!childCategories.length && Object(external_wp_element_["createElement"])("ul", { + className: getCategoryListClassName(level + 1) + }, childCategories.map(childCategory => renderCategoryListItem(childCategory, level + 1)))); + }; + + const renderCategoryDropdown = () => { + const parentId = showHierarchy ? 0 : null; + const categoriesList = getCategoriesList(parentId); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { + as: "label", + htmlFor: selectId + }, Object(external_wp_i18n_["__"])('Categories')), Object(external_wp_element_["createElement"])("select", { + id: selectId, + className: "wp-block-categories__dropdown" + }, categoriesList.map(category => renderCategoryDropdownItem(category, 0)))); + }; + + const renderCategoryDropdownItem = (category, level) => { + const { + id, + count, + name + } = category; + const childCategories = getCategoriesList(id); + return [Object(external_wp_element_["createElement"])("option", { + key: id + }, Object(external_lodash_["times"])(level * 3, () => '\xa0'), renderCategoryName(name), showPostCounts && ` (${count})`), showHierarchy && !!childCategories.length && childCategories.map(childCategory => renderCategoryDropdownItem(childCategory, level + 1))]; + }; + + return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { + title: Object(external_wp_i18n_["__"])('Categories settings') + }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Display as dropdown'), + checked: displayAsDropdown, + onChange: toggleAttribute('displayAsDropdown') + }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Show post counts'), + checked: showPostCounts, + onChange: toggleAttribute('showPostCounts') + }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Show only top level categories'), + checked: showOnlyTopLevel, + onChange: toggleAttribute('showOnlyTopLevel') + }), !showOnlyTopLevel && Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Show hierarchy'), + checked: showHierarchy, + onChange: toggleAttribute('showHierarchy') + }))), isRequesting && Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { + icon: library_pin, + label: Object(external_wp_i18n_["__"])('Categories') + }, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)), !isRequesting && (categories === null || categories === void 0 ? void 0 : categories.length) === 0 && Object(external_wp_element_["createElement"])("p", null, Object(external_wp_i18n_["__"])('Your site does not have any posts, so there is nothing to display here at the moment.')), !isRequesting && (categories === null || categories === void 0 ? void 0 : categories.length) > 0 && (displayAsDropdown ? renderCategoryDropdown() : renderCategoryList())); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/categories/index.js +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + +const categories_metadata = { + apiVersion: 2, + name: "core/categories", + title: "Categories", + category: "widgets", + description: "Display a list of all categories.", + textdomain: "default", + attributes: { + displayAsDropdown: { + type: "boolean", + "default": false + }, + showHierarchy: { + type: "boolean", + "default": false + }, + showPostCounts: { + type: "boolean", + "default": false + }, + showOnlyTopLevel: { + type: "boolean", + "default": false + } + }, + supports: { + align: true, + html: false + }, + editorStyle: "wp-block-categories-editor", + style: "wp-block-categories" +}; + +const { + name: categories_name +} = categories_metadata; + +const categories_settings = { + icon: library_category, + example: {}, + edit: CategoriesEdit +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/classic.js + + +/** + * WordPress dependencies + */ + +const classic = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M20 6H4c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H4c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h16c.3 0 .5.2.5.5v9zM10 10H8v2h2v-2zm-5 2h2v-2H5v2zm8-2h-2v2h2v-2zm-5 6h8v-2H8v2zm6-4h2v-2h-2v2zm3 0h2v-2h-2v2zm0 4h2v-2h-2v2zM5 16h2v-2H5v2z" +})); +/* harmony default export */ var library_classic = (classic); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/convert-to-blocks-button.js + + +/** + * WordPress dependencies + */ + + + + + + +const ConvertToBlocksButton = ({ + clientId +}) => { + const { + replaceBlocks + } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); + const block = Object(external_wp_data_["useSelect"])(select => { + return select(external_wp_blockEditor_["store"]).getBlock(clientId); + }, [clientId]); + return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + onClick: () => replaceBlocks(block.clientId, Object(external_wp_blocks_["rawHandler"])({ + HTML: Object(external_wp_blocks_["serialize"])(block) + })) + }, Object(external_wp_i18n_["__"])('Convert to blocks')); +}; + +/* harmony default export */ var convert_to_blocks_button = (ConvertToBlocksButton); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/edit.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + + +/** + * Internal dependencies + */ + + +const { + wp: edit_wp +} = window; + +function isTmceEmpty(editor) { + // When tinyMce is empty the content seems to be: + //


    + // avoid expensive checks for large documents + const body = editor.getBody(); + + if (body.childNodes.length > 1) { + return false; + } else if (body.childNodes.length === 0) { + return true; + } + + if (body.childNodes[0].childNodes.length > 1) { + return false; + } + + return /^\n?$/.test(body.innerText || body.textContent); +} + +function ClassicEdit({ + clientId, + attributes: { + content + }, + setAttributes, + onReplace +}) { + const { + getMultiSelectedBlockClientIds + } = Object(external_wp_data_["useSelect"])(external_wp_blockEditor_["store"]); + const didMount = Object(external_wp_element_["useRef"])(false); + Object(external_wp_element_["useEffect"])(() => { + if (!didMount.current) { + return; + } + + const editor = window.tinymce.get(`editor-${clientId}`); + const currentContent = editor === null || editor === void 0 ? void 0 : editor.getContent(); + + if (currentContent !== content) { + editor.setContent(content || ''); + } + }, [content]); + Object(external_wp_element_["useEffect"])(() => { + const { + baseURL, + suffix + } = window.wpEditorL10n.tinymce; + didMount.current = true; + window.tinymce.EditorManager.overrideDefaults({ + base_url: baseURL, + suffix + }); + + function onSetup(editor) { + let bookmark; + + if (content) { + editor.on('loadContent', () => editor.setContent(content)); + } + + editor.on('blur', () => { + var _getMultiSelectedBloc; + + bookmark = editor.selection.getBookmark(2, true); // There is an issue with Chrome and the editor.focus call in core at https://core.trac.wordpress.org/browser/trunk/src/js/_enqueues/lib/link.js#L451. + // This causes a scroll to the top of editor content on return from some content updating dialogs so tracking + // scroll position until this is fixed in core. + + const scrollContainer = document.querySelector('.interface-interface-skeleton__content'); + const scrollPosition = scrollContainer.scrollTop; // Only update attributes if we aren't multi-selecting blocks. + // Updating during multi-selection can overwrite attributes of other blocks. + + if (!((_getMultiSelectedBloc = getMultiSelectedBlockClientIds()) !== null && _getMultiSelectedBloc !== void 0 && _getMultiSelectedBloc.length)) { + setAttributes({ + content: editor.getContent() + }); + } + + editor.once('focus', () => { + if (bookmark) { + editor.selection.moveToBookmark(bookmark); + + if (scrollContainer.scrollTop !== scrollPosition) { + scrollContainer.scrollTop = scrollPosition; + } + } + }); + return false; + }); + editor.on('mousedown touchstart', () => { + bookmark = null; + }); + const debouncedOnChange = Object(external_lodash_["debounce"])(() => { + const value = editor.getContent(); + + if (value !== editor._lastChange) { + editor._lastChange = value; + setAttributes({ + content: value + }); + } + }, 250); + editor.on('Paste Change input Undo Redo', debouncedOnChange); // We need to cancel the debounce call because when we remove + // the editor (onUnmount) this callback is executed in + // another tick. This results in setting the content to empty. + + editor.on('remove', debouncedOnChange.cancel); + editor.on('keydown', event => { + if (external_wp_keycodes_["isKeyboardEvent"].primary(event, 'z')) { + // Prevent the gutenberg undo kicking in so TinyMCE undo stack works as expected + event.stopPropagation(); + } + + if ((event.keyCode === external_wp_keycodes_["BACKSPACE"] || event.keyCode === external_wp_keycodes_["DELETE"]) && isTmceEmpty(editor)) { + // delete the block + onReplace([]); + event.preventDefault(); + event.stopImmediatePropagation(); + } + + const { + altKey + } = event; + /* + * Prevent Mousetrap from kicking in: TinyMCE already uses its own + * `alt+f10` shortcut to focus its toolbar. + */ + + if (altKey && event.keyCode === external_wp_keycodes_["F10"]) { + event.stopPropagation(); + } + }); + editor.on('init', () => { + const rootNode = editor.getBody(); // Create the toolbar by refocussing the editor. + + if (rootNode.ownerDocument.activeElement === rootNode) { + rootNode.blur(); + editor.focus(); + } + }); + } + + function initialize() { + const { + settings + } = window.wpEditorL10n.tinymce; + edit_wp.oldEditor.initialize(`editor-${clientId}`, { + tinymce: { ...settings, + inline: true, + content_css: false, + fixed_toolbar_container: `#toolbar-${clientId}`, + setup: onSetup + } + }); + } + + function onReadyStateChange() { + if (document.readyState === 'complete') { + initialize(); + } + } + + if (document.readyState === 'complete') { + initialize(); + } else { + document.addEventListener('readystatechange', onReadyStateChange); + } + + return () => { + document.removeEventListener('readystatechange', onReadyStateChange); + edit_wp.oldEditor.remove(`editor-${clientId}`); + }; + }, []); + + function focus() { + const editor = window.tinymce.get(`editor-${clientId}`); + + if (editor) { + editor.focus(); + } + } + + function onToolbarKeyDown(event) { + // Prevent WritingFlow from kicking in and allow arrows navigation on the toolbar. + event.stopPropagation(); // Prevent Mousetrap from moving focus to the top toolbar when pressing `alt+f10` on this block toolbar. + + event.nativeEvent.stopImmediatePropagation(); + } // Disable reasons: + // + // jsx-a11y/no-static-element-interactions + // - the toolbar itself is non-interactive, but must capture events + // from the KeyboardShortcuts component to stop their propagation. + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + + + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(convert_to_blocks_button, { + clientId: clientId + }))), Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])("div", { + key: "toolbar", + id: `toolbar-${clientId}`, + className: "block-library-classic__toolbar", + onClick: focus, + "data-placeholder": Object(external_wp_i18n_["__"])('Classic'), + onKeyDown: onToolbarKeyDown + }), Object(external_wp_element_["createElement"])("div", { + key: "editor", + id: `editor-${clientId}`, + className: "wp-block-freeform block-library-rich-text__tinymce" + }))); + /* eslint-enable jsx-a11y/no-static-element-interactions */ +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/save.js + + +/** + * WordPress dependencies + */ + +function freeform_save_save({ + attributes +}) { + const { + content + } = attributes; + return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, content); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/index.js +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + +const freeform_metadata = { + apiVersion: 2, + name: "core/freeform", + title: "Classic", + category: "text", + description: "Use the classic WordPress editor.", + textdomain: "default", + attributes: { + content: { + type: "string", + source: "html" + } + }, + supports: { + className: false, + customClassName: false, + reusable: false + }, + editorStyle: "wp-block-freeform-editor" +}; + +const { + name: freeform_name +} = freeform_metadata; + +const freeform_settings = { + icon: library_classic, + edit: ClassicEdit, + save: freeform_save_save +}; + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/code.js +var code = __webpack_require__("1Yn1"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/edit.js + + +/** + * WordPress dependencies + */ + + +function CodeEdit({ + attributes, + setAttributes, + onRemove +}) { + const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); + return Object(external_wp_element_["createElement"])("pre", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { + tagName: "code", + value: attributes.content, + onChange: content => setAttributes({ + content + }), + onRemove: onRemove, + placeholder: Object(external_wp_i18n_["__"])('Write code…'), + "aria-label": Object(external_wp_i18n_["__"])('Code'), + preserveWhiteSpace: true, + __unstablePastePlainText: true + })); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/utils.js +/** + * External dependencies + */ + +/** + * Escapes ampersands, shortcodes, and links. + * + * @param {string} content The content of a code block. + * @return {string} The given content with some characters escaped. + */ + +function utils_escape(content) { + return Object(external_lodash_["flow"])(escapeOpeningSquareBrackets, escapeProtocolInIsolatedUrls)(content || ''); +} +/** + * Returns the given content with all opening shortcode characters converted + * into their HTML entity counterpart (i.e. [ => [). For instance, a + * shortcode like [embed] becomes [embed] + * + * This function replicates the escaping of HTML tags, where a tag like + * becomes <strong>. + * + * @param {string} content The content of a code block. + * @return {string} The given content with its opening shortcode characters + * converted into their HTML entity counterpart + * (i.e. [ => [) + */ + +function escapeOpeningSquareBrackets(content) { + return content.replace(/\[/g, '['); +} +/** + * Converts the first two forward slashes of any isolated URL into their HTML + * counterparts (i.e. // => //). For instance, https://youtube.com/watch?x + * becomes https://youtube.com/watch?x. + * + * An isolated URL is a URL that sits in its own line, surrounded only by spacing + * characters. + * + * See https://github.com/WordPress/wordpress-develop/blob/5.1.1/src/wp-includes/class-wp-embed.php#L403 + * + * @param {string} content The content of a code block. + * @return {string} The given content with its ampersands converted into + * their HTML entity counterpart (i.e. & => &) + */ + + +function escapeProtocolInIsolatedUrls(content) { + return content.replace(/^(\s*https?:)\/\/([^\s<>"]+\s*)$/m, '$1//$2'); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/save.js + + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + +function code_save_save({ + attributes +}) { + return Object(external_wp_element_["createElement"])("pre", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "code", + value: utils_escape(attributes.content) + })); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/transforms.js +/** + * WordPress dependencies + */ + +const code_transforms_transforms = { + from: [{ + type: 'enter', + regExp: /^```$/, + transform: () => Object(external_wp_blocks_["createBlock"])('core/code') + }, { + type: 'block', + blocks: ['core/html'], + transform: ({ + content + }) => { + return Object(external_wp_blocks_["createBlock"])('core/code', { + content + }); + } + }, { + type: 'raw', + isMatch: node => node.nodeName === 'PRE' && node.children.length === 1 && node.firstChild.nodeName === 'CODE', + schema: { + pre: { + children: { + code: { + children: { + '#text': {} + } + } + } + } + } + }] +}; +/* harmony default export */ var code_transforms = (code_transforms_transforms); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/index.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +const code_metadata = { + apiVersion: 2, + name: "core/code", + title: "Code", + category: "text", + description: "Display code snippets that respect your spacing and tabs.", + textdomain: "default", + attributes: { + content: { + type: "string", + source: "html", + selector: "code" + } + }, + supports: { + anchor: true, + __experimentalSelector: ".wp-block-code > code", + typography: { + fontSize: true, + lineHeight: true, + __experimentalFontStyle: true, + __experimentalFontWeight: true, + __experimentalLetterSpacing: true, + __experimentalTextTransform: true, + __experimentalDefaultControls: { + fontSize: true + } + }, + spacing: { + margin: ["top", "bottom"], + padding: true + }, + __experimentalBorder: { + radius: true, + color: true, + width: true, + style: true + }, + color: { + text: true, + background: true, + gradients: true + } + }, + style: "wp-block-code" +}; + + +const { + name: code_name +} = code_metadata; + +const code_settings = { + icon: code["a" /* default */], + example: { + attributes: { + /* eslint-disable @wordpress/i18n-no-collapsible-whitespace */ + // translators: Preserve \n markers for line breaks + content: Object(external_wp_i18n_["__"])('// A "block" is the abstract term used\n// to describe units of markup that\n// when composed together, form the\n// content or layout of a page.\nregisterBlockType( name, settings );') + /* eslint-enable @wordpress/i18n-no-collapsible-whitespace */ + + } + }, + transforms: code_transforms, + edit: CodeEdit, + save: code_save_save +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/column.js + + +/** + * WordPress dependencies + */ + +const column = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M19 6H6c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zM6 17.5c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h3v10H6zm13.5-.5c0 .3-.2.5-.5.5h-3v-10h3c.3 0 .5.2.5.5v9z" +})); +/* harmony default export */ var library_column = (column); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/deprecated.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +const column_deprecated_deprecated = [{ + attributes: { + verticalAlignment: { + type: 'string' + }, + width: { + type: 'number', + min: 0, + max: 100 + } + }, + + isEligible({ + width + }) { + return isFinite(width); + }, + + migrate(attributes) { + return { ...attributes, + width: `${attributes.width}%` + }; + }, + + save({ + attributes + }) { + const { + verticalAlignment, + width + } = attributes; + const wrapperClasses = classnames_default()({ + [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment + }); + const style = { + flexBasis: width + '%' + }; + return Object(external_wp_element_["createElement"])("div", { + className: wrapperClasses, + style: style + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); + } + +}]; +/* harmony default export */ var column_deprecated = (column_deprecated_deprecated); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/edit.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + +function ColumnEdit({ + attributes: { + verticalAlignment, + width, + templateLock = false, + allowedBlocks + }, + setAttributes, + clientId +}) { + const classes = classnames_default()('block-core-columns', { + [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment + }); + const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ + availableUnits: Object(external_wp_blockEditor_["useSetting"])('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'] + }); + const { + columnsIds, + hasChildBlocks, + rootClientId + } = Object(external_wp_data_["useSelect"])(select => { + const { + getBlockOrder, + getBlockRootClientId + } = select(external_wp_blockEditor_["store"]); + const rootId = getBlockRootClientId(clientId); + return { + hasChildBlocks: getBlockOrder(clientId).length > 0, + rootClientId: rootId, + columnsIds: getBlockOrder(rootId) + }; + }, [clientId]); + const { + updateBlockAttributes + } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); + + const updateAlignment = value => { + // Update own alignment. + setAttributes({ + verticalAlignment: value + }); // Reset parent Columns block. + + updateBlockAttributes(rootClientId, { + verticalAlignment: null + }); + }; + + const widthWithUnit = Number.isFinite(width) ? width + '%' : width; + const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ + className: classes, + style: widthWithUnit ? { + flexBasis: widthWithUnit + } : undefined + }); + const columnsCount = columnsIds.length; + const currentColumnPosition = columnsIds.indexOf(clientId) + 1; + const label = Object(external_wp_i18n_["sprintf"])( + /* translators: 1: Block label (i.e. "Block: Column"), 2: Position of the selected block, 3: Total number of sibling blocks of the same type */ + Object(external_wp_i18n_["__"])('%1$s (%2$d of %3$d)'), blockProps['aria-label'], currentColumnPosition, columnsCount); + const innerBlocksProps = Object(external_wp_blockEditor_["useInnerBlocksProps"])({ ...blockProps, + 'aria-label': label + }, { + templateLock, + allowedBlocks, + renderAppender: hasChildBlocks ? undefined : external_wp_blockEditor_["InnerBlocks"].ButtonBlockAppender + }); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockVerticalAlignmentToolbar"], { + onChange: updateAlignment, + value: verticalAlignment + })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { + title: Object(external_wp_i18n_["__"])('Column settings') + }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalUnitControl"], { + label: Object(external_wp_i18n_["__"])('Width'), + labelPosition: "edge", + __unstableInputWidth: "80px", + value: width || '', + onChange: nextWidth => { + nextWidth = 0 > parseFloat(nextWidth) ? '0' : nextWidth; + setAttributes({ + width: nextWidth + }); + }, + units: units + }))), Object(external_wp_element_["createElement"])("div", innerBlocksProps)); +} + +/* harmony default export */ var column_edit = (ColumnEdit); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/save.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +function column_save_save({ + attributes +}) { + const { + verticalAlignment, + width + } = attributes; + const wrapperClasses = classnames_default()({ + [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment + }); + let style; + + if (width && /\d/.test(width)) { + // Numbers are handled for backward compatibility as they can be still provided with templates. + let flexBasis = Number.isFinite(width) ? width + '%' : width; // In some cases we need to round the width to a shorter float. + + if (!Number.isFinite(width) && width !== null && width !== void 0 && width.endsWith('%')) { + const multiplier = 1000000000000; // Shrink the number back to a reasonable float. + + flexBasis = Math.round(Number.parseFloat(width) * multiplier) / multiplier + '%'; + } + + style = { + flexBasis + }; + } + + const blockProps = external_wp_blockEditor_["useBlockProps"].save({ + className: wrapperClasses, + style + }); + const innerBlocksProps = external_wp_blockEditor_["useInnerBlocksProps"].save(blockProps); + return Object(external_wp_element_["createElement"])("div", innerBlocksProps); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/index.js +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + +const column_metadata = { + apiVersion: 2, + name: "core/column", + title: "Column", + category: "text", + parent: ["core/columns"], + description: "A single column within a columns block.", + textdomain: "default", + attributes: { + verticalAlignment: { + type: "string" + }, + width: { + type: "string" + }, + allowedBlocks: { + type: "array" + }, + templateLock: { + type: "string", + "enum": ["all", "insert", false] + } + }, + supports: { + anchor: true, + reusable: false, + html: false, + color: { + gradients: true, + link: true + }, + spacing: { + padding: true, + __experimentalDefaultControls: { + padding: true + } + } + } +}; + +const { + name: column_name +} = column_metadata; + +const column_settings = { + icon: library_column, + edit: column_edit, + save: column_save_save, + deprecated: column_deprecated +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/columns.js + + +/** + * WordPress dependencies + */ + +const columns_columns = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M19 6H6c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-4.1 1.5v10H10v-10h4.9zM5.5 17V8c0-.3.2-.5.5-.5h2.5v10H6c-.3 0-.5-.2-.5-.5zm14 0c0 .3-.2.5-.5.5h-2.6v-10H19c.3 0 .5.2.5.5v9z" +})); +/* harmony default export */ var library_columns = (columns_columns); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/deprecated.js + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + +/** + * Given an HTML string for a deprecated columns inner block, returns the + * column index to which the migrated inner block should be assigned. Returns + * undefined if the inner block was not assigned to a column. + * + * @param {string} originalContent Deprecated Columns inner block HTML. + * + * @return {?number} Column to which inner block is to be assigned. + */ + +function getDeprecatedLayoutColumn(originalContent) { + let { + doc + } = getDeprecatedLayoutColumn; + + if (!doc) { + doc = document.implementation.createHTMLDocument(''); + getDeprecatedLayoutColumn.doc = doc; + } + + let columnMatch; + doc.body.innerHTML = originalContent; + + for (const classListItem of doc.body.firstChild.classList) { + if (columnMatch = classListItem.match(/^layout-column-(\d+)$/)) { + return Number(columnMatch[1]) - 1; + } + } +} + +const migrateCustomColors = attributes => { + if (!attributes.customTextColor && !attributes.customBackgroundColor) { + return attributes; + } + + const style = { + color: {} + }; + + if (attributes.customTextColor) { + style.color.text = attributes.customTextColor; + } + + if (attributes.customBackgroundColor) { + style.color.background = attributes.customBackgroundColor; + } + + return { ...Object(external_lodash_["omit"])(attributes, ['customTextColor', 'customBackgroundColor']), + style, + isStackedOnMobile: true + }; +}; + +/* harmony default export */ var columns_deprecated = ([{ + attributes: { + verticalAlignment: { + type: 'string' + }, + backgroundColor: { + type: 'string' + }, + customBackgroundColor: { + type: 'string' + }, + customTextColor: { + type: 'string' + }, + textColor: { + type: 'string' + } + }, + migrate: migrateCustomColors, + + save({ + attributes + }) { + const { + verticalAlignment, + backgroundColor, + customBackgroundColor, + textColor, + customTextColor + } = attributes; + const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); + const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); + const className = classnames_default()({ + 'has-background': backgroundColor || customBackgroundColor, + 'has-text-color': textColor || customTextColor, + [backgroundClass]: backgroundClass, + [textClass]: textClass, + [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment + }); + const style = { + backgroundColor: backgroundClass ? undefined : customBackgroundColor, + color: textClass ? undefined : customTextColor + }; + return Object(external_wp_element_["createElement"])("div", { + className: className ? className : undefined, + style: style + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); + } + +}, { + attributes: { + columns: { + type: 'number', + default: 2 + } + }, + + isEligible(attributes, innerBlocks) { + // Since isEligible is called on every valid instance of the + // Columns block and a deprecation is the unlikely case due to + // its subsequent migration, optimize for the `false` condition + // by performing a naive, inaccurate pass at inner blocks. + const isFastPassEligible = innerBlocks.some(innerBlock => /layout-column-\d+/.test(innerBlock.originalContent)); + + if (!isFastPassEligible) { + return false; + } // Only if the fast pass is considered eligible is the more + // accurate, durable, slower condition performed. + + + return innerBlocks.some(innerBlock => getDeprecatedLayoutColumn(innerBlock.originalContent) !== undefined); + }, + + migrate(attributes, innerBlocks) { + const columns = innerBlocks.reduce((accumulator, innerBlock) => { + const { + originalContent + } = innerBlock; + let columnIndex = getDeprecatedLayoutColumn(originalContent); + + if (columnIndex === undefined) { + columnIndex = 0; + } + + if (!accumulator[columnIndex]) { + accumulator[columnIndex] = []; + } + + accumulator[columnIndex].push(innerBlock); + return accumulator; + }, []); + const migratedInnerBlocks = columns.map(columnBlocks => Object(external_wp_blocks_["createBlock"])('core/column', {}, columnBlocks)); + return [{ ...Object(external_lodash_["omit"])(attributes, ['columns']), + isStackedOnMobile: true + }, migratedInnerBlocks]; + }, + + save({ + attributes + }) { + const { + columns + } = attributes; + return Object(external_wp_element_["createElement"])("div", { + className: `has-${columns}-columns` + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); + } + +}, { + attributes: { + columns: { + type: 'number', + default: 2 + } + }, + + migrate(attributes, innerBlocks) { + attributes = { ...Object(external_lodash_["omit"])(attributes, ['columns']), + isStackedOnMobile: true + }; + return [attributes, innerBlocks]; + }, + + save({ + attributes + }) { + const { + verticalAlignment, + columns + } = attributes; + const wrapperClasses = classnames_default()(`has-${columns}-columns`, { + [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment + }); + return Object(external_wp_element_["createElement"])("div", { + className: wrapperClasses + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); + } + +}]); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/utils.js +/** + * External dependencies + */ + +/** + * Returns a column width attribute value rounded to standard precision. + * Returns `undefined` if the value is not a valid finite number. + * + * @param {?number} value Raw value. + * + * @return {number} Value rounded to standard precision. + */ + +const toWidthPrecision = value => { + const unitlessValue = parseFloat(value); + return Number.isFinite(unitlessValue) ? parseFloat(unitlessValue.toFixed(2)) : undefined; +}; +/** + * Returns an effective width for a given block. An effective width is equal to + * its attribute value if set, or a computed value assuming equal distribution. + * + * @param {WPBlock} block Block object. + * @param {number} totalBlockCount Total number of blocks in Columns. + * + * @return {number} Effective column width. + */ + +function getEffectiveColumnWidth(block, totalBlockCount) { + const { + width = 100 / totalBlockCount + } = block.attributes; + return toWidthPrecision(width); +} +/** + * Returns the total width occupied by the given set of column blocks. + * + * @param {WPBlock[]} blocks Block objects. + * @param {?number} totalBlockCount Total number of blocks in Columns. + * Defaults to number of blocks passed. + * + * @return {number} Total width occupied by blocks. + */ + +function getTotalColumnsWidth(blocks, totalBlockCount = blocks.length) { + return Object(external_lodash_["sumBy"])(blocks, block => getEffectiveColumnWidth(block, totalBlockCount)); +} +/** + * Returns an object of `clientId` → `width` of effective column widths. + * + * @param {WPBlock[]} blocks Block objects. + * @param {?number} totalBlockCount Total number of blocks in Columns. + * Defaults to number of blocks passed. + * + * @return {Object} Column widths. + */ + +function getColumnWidths(blocks, totalBlockCount = blocks.length) { + return blocks.reduce((accumulator, block) => { + const width = getEffectiveColumnWidth(block, totalBlockCount); + return Object.assign(accumulator, { + [block.clientId]: width + }); + }, {}); +} +/** + * Returns an object of `clientId` → `width` of column widths as redistributed + * proportional to their current widths, constrained or expanded to fit within + * the given available width. + * + * @param {WPBlock[]} blocks Block objects. + * @param {number} availableWidth Maximum width to fit within. + * @param {?number} totalBlockCount Total number of blocks in Columns. + * Defaults to number of blocks passed. + * + * @return {Object} Redistributed column widths. + */ + +function getRedistributedColumnWidths(blocks, availableWidth, totalBlockCount = blocks.length) { + const totalWidth = getTotalColumnsWidth(blocks, totalBlockCount); + return Object(external_lodash_["mapValues"])(getColumnWidths(blocks, totalBlockCount), width => { + const newWidth = availableWidth * width / totalWidth; + return toWidthPrecision(newWidth); + }); +} +/** + * Returns true if column blocks within the provided set are assigned with + * explicit widths, or false otherwise. + * + * @param {WPBlock[]} blocks Block objects. + * + * @return {boolean} Whether columns have explicit widths. + */ + +function hasExplicitPercentColumnWidths(blocks) { + return blocks.every(block => { + var _blockWidth$endsWith; + + const blockWidth = block.attributes.width; + return Number.isFinite(blockWidth !== null && blockWidth !== void 0 && (_blockWidth$endsWith = blockWidth.endsWith) !== null && _blockWidth$endsWith !== void 0 && _blockWidth$endsWith.call(blockWidth, '%') ? parseFloat(blockWidth) : blockWidth); + }); +} +/** + * Returns a copy of the given set of blocks with new widths assigned from the + * provided object of redistributed column widths. + * + * @param {WPBlock[]} blocks Block objects. + * @param {Object} widths Redistributed column widths. + * + * @return {WPBlock[]} blocks Mapped block objects. + */ + +function getMappedColumnWidths(blocks, widths) { + return blocks.map(block => Object(external_lodash_["merge"])({}, block, { + attributes: { + width: `${widths[block.clientId]}%` + } + })); +} +/** + * Returns an array with columns widths values, parsed or no depends on `withParsing` flag. + * + * @param {WPBlock[]} blocks Block objects. + * @param {?boolean} withParsing Whether value has to be parsed. + * + * @return {Array} Column widths. + */ + +function getWidths(blocks, withParsing = true) { + return blocks.map(innerColumn => { + const innerColumnWidth = innerColumn.attributes.width || 100 / blocks.length; + return withParsing ? parseFloat(innerColumnWidth) : innerColumnWidth; + }); +} +/** + * Returns a column width with unit. + * + * @param {string} width Column width. + * @param {string} unit Column width unit. + * + * @return {string} Column width with unit. + */ + +function getWidthWithUnit(width, unit) { + width = 0 > parseFloat(width) ? '0' : width; + + if (isPercentageUnit(unit)) { + width = Math.min(width, 100); + } + + return `${width}${unit}`; +} +/** + * Returns a boolean whether passed unit is percentage + * + * @param {string} unit Column width unit. + * + * @return {boolean} Whether unit is '%'. + */ + +function isPercentageUnit(unit) { + return unit === '%'; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/edit.js + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + +/** + * Allowed blocks constant is passed to InnerBlocks precisely as specified here. + * The contents of the array should never change. + * The array should contain the name of each block that is allowed. + * In columns block, the only block we allow is 'core/column'. + * + * @constant + * @type {string[]} + */ + +const edit_ALLOWED_BLOCKS = ['core/column']; + +function ColumnsEditContainer({ + attributes, + setAttributes, + updateAlignment, + updateColumns, + clientId +}) { + const { + isStackedOnMobile, + verticalAlignment + } = attributes; + const { + count + } = Object(external_wp_data_["useSelect"])(select => { + return { + count: select(external_wp_blockEditor_["store"]).getBlockCount(clientId) + }; + }, [clientId]); + const classes = classnames_default()({ + [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment, + [`is-not-stacked-on-mobile`]: !isStackedOnMobile + }); + const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ + className: classes + }); + const innerBlocksProps = Object(external_wp_blockEditor_["useInnerBlocksProps"])(blockProps, { + allowedBlocks: edit_ALLOWED_BLOCKS, + orientation: 'horizontal', + renderAppender: false + }); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockVerticalAlignmentToolbar"], { + onChange: updateAlignment, + value: verticalAlignment + })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], null, Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { + label: Object(external_wp_i18n_["__"])('Columns'), + value: count, + onChange: value => updateColumns(count, value), + min: 1, + max: Math.max(6, count) + }), count > 6 && Object(external_wp_element_["createElement"])(external_wp_components_["Notice"], { + status: "warning", + isDismissible: false + }, Object(external_wp_i18n_["__"])('This column count exceeds the recommended amount and may cause visual breakage.')), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Stack on mobile'), + checked: isStackedOnMobile, + onChange: () => setAttributes({ + isStackedOnMobile: !isStackedOnMobile + }) + }))), Object(external_wp_element_["createElement"])("div", innerBlocksProps)); +} + +const ColumnsEditContainerWrapper = Object(external_wp_data_["withDispatch"])((dispatch, ownProps, registry) => ({ + /** + * Update all child Column blocks with a new vertical alignment setting + * based on whatever alignment is passed in. This allows change to parent + * to overide anything set on a individual column basis. + * + * @param {string} verticalAlignment the vertical alignment setting + */ + updateAlignment(verticalAlignment) { + const { + clientId, + setAttributes + } = ownProps; + const { + updateBlockAttributes + } = dispatch(external_wp_blockEditor_["store"]); + const { + getBlockOrder + } = registry.select(external_wp_blockEditor_["store"]); // Update own alignment. + + setAttributes({ + verticalAlignment + }); // Update all child Column Blocks to match + + const innerBlockClientIds = getBlockOrder(clientId); + innerBlockClientIds.forEach(innerBlockClientId => { + updateBlockAttributes(innerBlockClientId, { + verticalAlignment + }); + }); + }, + + /** + * Updates the column count, including necessary revisions to child Column + * blocks to grant required or redistribute available space. + * + * @param {number} previousColumns Previous column count. + * @param {number} newColumns New column count. + */ + updateColumns(previousColumns, newColumns) { + const { + clientId + } = ownProps; + const { + replaceInnerBlocks + } = dispatch(external_wp_blockEditor_["store"]); + const { + getBlocks + } = registry.select(external_wp_blockEditor_["store"]); + let innerBlocks = getBlocks(clientId); + const hasExplicitWidths = hasExplicitPercentColumnWidths(innerBlocks); // Redistribute available width for existing inner blocks. + + const isAddingColumn = newColumns > previousColumns; + + if (isAddingColumn && hasExplicitWidths) { + // If adding a new column, assign width to the new column equal to + // as if it were `1 / columns` of the total available space. + const newColumnWidth = toWidthPrecision(100 / newColumns); // Redistribute in consideration of pending block insertion as + // constraining the available working width. + + const widths = getRedistributedColumnWidths(innerBlocks, 100 - newColumnWidth); + innerBlocks = [...getMappedColumnWidths(innerBlocks, widths), ...Object(external_lodash_["times"])(newColumns - previousColumns, () => { + return Object(external_wp_blocks_["createBlock"])('core/column', { + width: `${newColumnWidth}%` + }); + })]; + } else if (isAddingColumn) { + innerBlocks = [...innerBlocks, ...Object(external_lodash_["times"])(newColumns - previousColumns, () => { + return Object(external_wp_blocks_["createBlock"])('core/column'); + })]; + } else { + // The removed column will be the last of the inner blocks. + innerBlocks = Object(external_lodash_["dropRight"])(innerBlocks, previousColumns - newColumns); + + if (hasExplicitWidths) { + // Redistribute as if block is already removed. + const widths = getRedistributedColumnWidths(innerBlocks, 100); + innerBlocks = getMappedColumnWidths(innerBlocks, widths); + } + } + + replaceInnerBlocks(clientId, innerBlocks); + } + +}))(ColumnsEditContainer); + +function Placeholder({ + clientId, + name, + setAttributes +}) { + const { + blockType, + defaultVariation, + variations + } = Object(external_wp_data_["useSelect"])(select => { + const { + getBlockVariations, + getBlockType, + getDefaultBlockVariation + } = select(external_wp_blocks_["store"]); + return { + blockType: getBlockType(name), + defaultVariation: getDefaultBlockVariation(name, 'block'), + variations: getBlockVariations(name, 'block') + }; + }, [name]); + const { + replaceInnerBlocks + } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); + const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); + return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalBlockVariationPicker"], { + icon: Object(external_lodash_["get"])(blockType, ['icon', 'src']), + label: Object(external_lodash_["get"])(blockType, ['title']), + variations: variations, + onSelect: (nextVariation = defaultVariation) => { + if (nextVariation.attributes) { + setAttributes(nextVariation.attributes); + } + + if (nextVariation.innerBlocks) { + replaceInnerBlocks(clientId, Object(external_wp_blocks_["createBlocksFromInnerBlocksTemplate"])(nextVariation.innerBlocks), true); + } + }, + allowSkip: true + })); +} + +const ColumnsEdit = props => { + const { + clientId + } = props; + const hasInnerBlocks = Object(external_wp_data_["useSelect"])(select => select(external_wp_blockEditor_["store"]).getBlocks(clientId).length > 0, [clientId]); + const Component = hasInnerBlocks ? ColumnsEditContainerWrapper : Placeholder; + return Object(external_wp_element_["createElement"])(Component, props); +}; + +/* harmony default export */ var columns_edit = (ColumnsEdit); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/save.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +function columns_save_save({ + attributes +}) { + const { + isStackedOnMobile, + verticalAlignment + } = attributes; + const className = classnames_default()({ + [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment, + [`is-not-stacked-on-mobile`]: !isStackedOnMobile + }); + const blockProps = external_wp_blockEditor_["useBlockProps"].save({ + className + }); + const innerBlocksProps = external_wp_blockEditor_["useInnerBlocksProps"].save(blockProps); + return Object(external_wp_element_["createElement"])("div", innerBlocksProps); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/variations.js + + +/** + * WordPress dependencies + */ + + +/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */ + +/** + * Template option choices for predefined columns layouts. + * + * @type {WPBlockVariation[]} + */ + +const variations_variations = [{ + name: 'one-column-full', + title: Object(external_wp_i18n_["__"])('100'), + description: Object(external_wp_i18n_["__"])('One column'), + icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + width: "48", + height: "48", + viewBox: "0 0 48 48", + xmlns: "http://www.w3.org/2000/svg" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + fillRule: "evenodd", + clipRule: "evenodd", + d: "m39.0625 14h-30.0625v20.0938h30.0625zm-30.0625-2c-1.10457 0-2 .8954-2 2v20.0938c0 1.1045.89543 2 2 2h30.0625c1.1046 0 2-.8955 2-2v-20.0938c0-1.1046-.8954-2-2-2z" + })), + innerBlocks: [['core/column']], + scope: ['block'] +}, { + name: 'two-columns-equal', + title: Object(external_wp_i18n_["__"])('50 / 50'), + description: Object(external_wp_i18n_["__"])('Two columns; equal split'), + icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + width: "48", + height: "48", + viewBox: "0 0 48 48", + xmlns: "http://www.w3.org/2000/svg" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H25V34H39ZM23 34H9V14H23V34Z" + })), + isDefault: true, + innerBlocks: [['core/column'], ['core/column']], + scope: ['block'] +}, { + name: 'two-columns-one-third-two-thirds', + title: Object(external_wp_i18n_["__"])('30 / 70'), + description: Object(external_wp_i18n_["__"])('Two columns; one-third, two-thirds split'), + icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + width: "48", + height: "48", + viewBox: "0 0 48 48", + xmlns: "http://www.w3.org/2000/svg" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H20V34H39ZM18 34H9V14H18V34Z" + })), + innerBlocks: [['core/column', { + width: '33.33%' + }], ['core/column', { + width: '66.66%' + }]], + scope: ['block'] +}, { + name: 'two-columns-two-thirds-one-third', + title: Object(external_wp_i18n_["__"])('70 / 30'), + description: Object(external_wp_i18n_["__"])('Two columns; two-thirds, one-third split'), + icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + width: "48", + height: "48", + viewBox: "0 0 48 48", + xmlns: "http://www.w3.org/2000/svg" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H30V34H39ZM28 34H9V14H28V34Z" + })), + innerBlocks: [['core/column', { + width: '66.66%' + }], ['core/column', { + width: '33.33%' + }]], + scope: ['block'] +}, { + name: 'three-columns-equal', + title: Object(external_wp_i18n_["__"])('33 / 33 / 33'), + description: Object(external_wp_i18n_["__"])('Three columns; equal split'), + icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + width: "48", + height: "48", + viewBox: "0 0 48 48", + xmlns: "http://www.w3.org/2000/svg" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + fillRule: "evenodd", + d: "M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM28.5 34h-9V14h9v20zm2 0V14H39v20h-8.5zm-13 0H9V14h8.5v20z" + })), + innerBlocks: [['core/column'], ['core/column'], ['core/column']], + scope: ['block'] +}, { + name: 'three-columns-wider-center', + title: Object(external_wp_i18n_["__"])('25 / 50 / 25'), + description: Object(external_wp_i18n_["__"])('Three columns; wide center column'), + icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + width: "48", + height: "48", + viewBox: "0 0 48 48", + xmlns: "http://www.w3.org/2000/svg" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + fillRule: "evenodd", + d: "M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM31 34H17V14h14v20zm2 0V14h6v20h-6zm-18 0H9V14h6v20z" + })), + innerBlocks: [['core/column', { + width: '25%' + }], ['core/column', { + width: '50%' + }], ['core/column', { + width: '25%' + }]], + scope: ['block'] +}]; +/* harmony default export */ var columns_variations = (variations_variations); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/transforms.js +/** + * WordPress dependencies + */ + +const MAXIMUM_SELECTED_BLOCKS = 6; +const columns_transforms_transforms = { + from: [{ + type: 'block', + isMultiBlock: true, + blocks: ['*'], + __experimentalConvert: blocks => { + const columnWidth = +(100 / blocks.length).toFixed(2); + const innerBlocksTemplate = blocks.map(({ + name, + attributes, + innerBlocks + }) => ['core/column', { + width: `${columnWidth}%` + }, [[name, { ...attributes + }, innerBlocks]]]); + return Object(external_wp_blocks_["createBlock"])('core/columns', {}, Object(external_wp_blocks_["createBlocksFromInnerBlocksTemplate"])(innerBlocksTemplate)); + }, + isMatch: ({ + length: selectedBlocksLength + }) => selectedBlocksLength && selectedBlocksLength <= MAXIMUM_SELECTED_BLOCKS + }, { + type: 'block', + blocks: ['core/media-text'], + priority: 1, + transform: (attributes, innerBlocks) => { + const { + align, + backgroundColor, + textColor, + style, + mediaAlt: alt, + mediaId: id, + mediaPosition, + mediaSizeSlug: sizeSlug, + mediaType, + mediaUrl: url, + mediaWidth, + verticalAlignment + } = attributes; + let media; + + if (mediaType === 'image' || !mediaType) { + const imageAttrs = { + id, + alt, + url, + sizeSlug + }; + const linkAttrs = { + href: attributes.href, + linkClass: attributes.linkClass, + linkDestination: attributes.linkDestination, + linkTarget: attributes.linkTarget, + rel: attributes.rel + }; + media = ['core/image', { ...imageAttrs, + ...linkAttrs + }]; + } else { + media = ['core/video', { + id, + src: url + }]; + } + + const innerBlocksTemplate = [['core/column', { + width: `${mediaWidth}%` + }, [media]], ['core/column', { + width: `${100 - mediaWidth}%` + }, innerBlocks]]; + + if (mediaPosition === 'right') { + innerBlocksTemplate.reverse(); + } + + return Object(external_wp_blocks_["createBlock"])('core/columns', { + align, + backgroundColor, + textColor, + style, + verticalAlignment + }, Object(external_wp_blocks_["createBlocksFromInnerBlocksTemplate"])(innerBlocksTemplate)); + } + }] +}; +/* harmony default export */ var columns_transforms = (columns_transforms_transforms); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/index.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + +const columns_metadata = { + apiVersion: 2, + name: "core/columns", + title: "Columns", + category: "design", + description: "Display content in multiple columns, with blocks added to each column.", + textdomain: "default", + attributes: { + verticalAlignment: { + type: "string" + }, + isStackedOnMobile: { + type: "boolean", + "default": true + } + }, + supports: { + anchor: true, + align: ["wide", "full"], + html: false, + color: { + gradients: true, + link: true + }, + spacing: { + blockGap: true, + margin: ["top", "bottom"], + padding: true, + __experimentalDefaultControls: { + blockGap: true + } + } + }, + editorStyle: "wp-block-columns-editor", + style: "wp-block-columns" +}; + + + +const { + name: columns_name +} = columns_metadata; + +const columns_settings = { + icon: library_columns, + variations: columns_variations, + example: { + viewportWidth: 600, + // Columns collapse "@media (max-width: 599px)". + innerBlocks: [{ + name: 'core/column', + innerBlocks: [{ + name: 'core/paragraph', + attributes: { + /* translators: example text. */ + content: Object(external_wp_i18n_["__"])('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis.') + } + }, { + name: 'core/image', + attributes: { + url: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg' + } + }, { + name: 'core/paragraph', + attributes: { + /* translators: example text. */ + content: Object(external_wp_i18n_["__"])('Suspendisse commodo neque lacus, a dictum orci interdum et.') + } + }] + }, { + name: 'core/column', + innerBlocks: [{ + name: 'core/paragraph', + attributes: { + /* translators: example text. */ + content: Object(external_wp_i18n_["__"])('Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.') + } + }, { + name: 'core/paragraph', + attributes: { + /* translators: example text. */ + content: Object(external_wp_i18n_["__"])('Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim.') + } + }] + }] + }, + deprecated: columns_deprecated, + edit: columns_edit, + save: columns_save_save, + transforms: columns_transforms +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/cover.js + + +/** + * WordPress dependencies + */ + +const cover = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h6.2v8.9l2.5-3.1 2.5 3.1V4.5h2.2c.4 0 .8.4.8.8v13.4z" +})); +/* harmony default export */ var library_cover = (cover); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/shared.js +/** + * WordPress dependencies + */ + +const POSITION_CLASSNAMES = { + 'top left': 'is-position-top-left', + 'top center': 'is-position-top-center', + 'top right': 'is-position-top-right', + 'center left': 'is-position-center-left', + 'center center': 'is-position-center-center', + center: 'is-position-center-center', + 'center right': 'is-position-center-right', + 'bottom left': 'is-position-bottom-left', + 'bottom center': 'is-position-bottom-center', + 'bottom right': 'is-position-bottom-right' +}; +const IMAGE_BACKGROUND_TYPE = 'image'; +const VIDEO_BACKGROUND_TYPE = 'video'; +const COVER_MIN_HEIGHT = 50; +const COVER_MAX_HEIGHT = 1000; +const COVER_DEFAULT_HEIGHT = 300; +function backgroundImageStyles(url) { + return url ? { + backgroundImage: `url(${url})` + } : {}; +} +const shared_ALLOWED_MEDIA_TYPES = ['image', 'video']; +function dimRatioToClass(ratio) { + return ratio === 50 || !ratio === undefined ? null : 'has-background-dim-' + 10 * Math.round(ratio / 10); +} +function attributesFromMedia(setAttributes, dimRatio) { + return media => { + if (!media || !media.url) { + setAttributes({ + url: undefined, + id: undefined + }); + return; + } + + if (Object(external_wp_blob_["isBlobURL"])(media.url)) { + media.type = Object(external_wp_blob_["getBlobTypeByURL"])(media.url); + } + + let mediaType; // for media selections originated from a file upload. + + if (media.media_type) { + if (media.media_type === IMAGE_BACKGROUND_TYPE) { + mediaType = IMAGE_BACKGROUND_TYPE; + } else { + // only images and videos are accepted so if the media_type is not an image we can assume it is a video. + // Videos contain the media type of 'file' in the object returned from the rest api. + mediaType = VIDEO_BACKGROUND_TYPE; + } + } else { + // for media selections originated from existing files in the media library. + if (media.type !== IMAGE_BACKGROUND_TYPE && media.type !== VIDEO_BACKGROUND_TYPE) { + return; + } + + mediaType = media.type; + } + + setAttributes({ + dimRatio: dimRatio === 100 ? 50 : dimRatio, + url: media.url, + id: media.id, + alt: media === null || media === void 0 ? void 0 : media.alt, + backgroundType: mediaType, + ...(mediaType === VIDEO_BACKGROUND_TYPE ? { + focalPoint: undefined, + hasParallax: undefined + } : {}) + }); + }; +} +/** + * Checks of the contentPosition is the center (default) position. + * + * @param {string} contentPosition The current content position. + * @return {boolean} Whether the contentPosition is center. + */ + +function isContentPositionCenter(contentPosition) { + return !contentPosition || contentPosition === 'center center' || contentPosition === 'center'; +} +/** + * Retrieves the className for the current contentPosition. + * The default position (center) will not have a className. + * + * @param {string} contentPosition The current content position. + * @return {string} The className assigned to the contentPosition. + */ + +function getPositionClassName(contentPosition) { + /* + * Only render a className if the contentPosition is not center (the default). + */ + if (isContentPositionCenter(contentPosition)) return ''; + return POSITION_CLASSNAMES[contentPosition]; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/deprecated.js + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + +/** + * Original function to determine the background opacity classname + * + * Used in deprecations: v1-7. + * + * @param {number} ratio ratio to use for opacity. + * @return {string} background opacity class . + */ + +function dimRatioToClassV1(ratio) { + return ratio === 0 || ratio === 50 || !ratio ? null : 'has-background-dim-' + 10 * Math.round(ratio / 10); +} + +function migrateDimRatio(attributes) { + return { ...attributes, + dimRatio: !attributes.url ? 100 : attributes.dimRatio + }; +} + +const cover_deprecated_blockAttributes = { + url: { + type: 'string' + }, + id: { + type: 'number' + }, + hasParallax: { + type: 'boolean', + default: false + }, + dimRatio: { + type: 'number', + default: 50 + }, + overlayColor: { + type: 'string' + }, + customOverlayColor: { + type: 'string' + }, + backgroundType: { + type: 'string', + default: 'image' + }, + focalPoint: { + type: 'object' + } +}; +const v7 = { + attributes: { ...cover_deprecated_blockAttributes, + isRepeated: { + type: 'boolean', + default: false + }, + minHeight: { + type: 'number' + }, + minHeightUnit: { + type: 'string' + }, + gradient: { + type: 'string' + }, + customGradient: { + type: 'string' + }, + contentPosition: { + type: 'string' + }, + alt: { + type: 'string', + source: 'attribute', + selector: 'img', + attribute: 'alt', + default: '' + } + }, + supports: { + anchor: true, + align: true, + html: false, + spacing: { + padding: true, + __experimentalDefaultControls: { + padding: true + } + }, + color: { + __experimentalDuotone: '> .wp-block-cover__image-background, > .wp-block-cover__video-background', + text: false, + background: false + } + }, + + save({ + attributes + }) { + const { + backgroundType, + gradient, + contentPosition, + customGradient, + customOverlayColor, + dimRatio, + focalPoint, + hasParallax, + isRepeated, + overlayColor, + url, + alt, + id, + minHeight: minHeightProp, + minHeightUnit + } = attributes; + const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); + + const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); + + const minHeight = minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp; + const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; + const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; + const isImgElement = !(hasParallax || isRepeated); + const style = { ...(isImageBackground && !isImgElement ? backgroundImageStyles(url) : {}), + backgroundColor: !overlayColorClass ? customOverlayColor : undefined, + background: customGradient && !url ? customGradient : undefined, + minHeight: minHeight || undefined + }; + const objectPosition = // prettier-ignore + focalPoint && isImgElement ? `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%` : undefined; + const classes = classnames_default()(dimRatioToClassV1(dimRatio), overlayColorClass, { + 'has-background-dim': dimRatio !== 0, + 'has-parallax': hasParallax, + 'is-repeated': isRepeated, + 'has-background-gradient': gradient || customGradient, + [gradientClass]: !url && gradientClass, + 'has-custom-content-position': !isContentPositionCenter(contentPosition) + }, getPositionClassName(contentPosition)); + return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ + className: classes, + style + }), url && (gradient || customGradient) && dimRatio !== 0 && Object(external_wp_element_["createElement"])("span", { + "aria-hidden": "true", + className: classnames_default()('wp-block-cover__gradient-background', gradientClass), + style: customGradient ? { + background: customGradient + } : undefined + }), isImageBackground && isImgElement && url && Object(external_wp_element_["createElement"])("img", { + className: classnames_default()('wp-block-cover__image-background', id ? `wp-image-${id}` : null), + alt: alt, + src: url, + style: { + objectPosition + }, + "data-object-fit": "cover", + "data-object-position": objectPosition + }), isVideoBackground && url && Object(external_wp_element_["createElement"])("video", { + className: classnames_default()('wp-block-cover__video-background', 'intrinsic-ignore'), + autoPlay: true, + muted: true, + loop: true, + playsInline: true, + src: url, + style: { + objectPosition + }, + "data-object-fit": "cover", + "data-object-position": objectPosition + }), Object(external_wp_element_["createElement"])("div", { + className: "wp-block-cover__inner-container" + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); + }, + + migrate: migrateDimRatio +}; +const v6 = { + attributes: { ...cover_deprecated_blockAttributes, + isRepeated: { + type: 'boolean', + default: false + }, + minHeight: { + type: 'number' + }, + minHeightUnit: { + type: 'string' + }, + gradient: { + type: 'string' + }, + customGradient: { + type: 'string' + }, + contentPosition: { + type: 'string' + } + }, + supports: { + align: true + }, + + save({ + attributes + }) { + const { + backgroundType, + gradient, + contentPosition, + customGradient, + customOverlayColor, + dimRatio, + focalPoint, + hasParallax, + isRepeated, + overlayColor, + url, + minHeight: minHeightProp, + minHeightUnit + } = attributes; + const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); + + const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); + + const minHeight = minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp; + const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; + const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; + const style = isImageBackground ? backgroundImageStyles(url) : {}; + const videoStyle = {}; + + if (!overlayColorClass) { + style.backgroundColor = customOverlayColor; + } + + if (customGradient && !url) { + style.background = customGradient; + } + + style.minHeight = minHeight || undefined; + let positionValue; + + if (focalPoint) { + positionValue = `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%`; + + if (isImageBackground && !hasParallax) { + style.backgroundPosition = positionValue; + } + + if (isVideoBackground) { + videoStyle.objectPosition = positionValue; + } + } + + const classes = classnames_default()(dimRatioToClassV1(dimRatio), overlayColorClass, { + 'has-background-dim': dimRatio !== 0, + 'has-parallax': hasParallax, + 'is-repeated': isRepeated, + 'has-background-gradient': gradient || customGradient, + [gradientClass]: !url && gradientClass, + 'has-custom-content-position': !isContentPositionCenter(contentPosition) + }, getPositionClassName(contentPosition)); + return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ + className: classes, + style + }), url && (gradient || customGradient) && dimRatio !== 0 && Object(external_wp_element_["createElement"])("span", { + "aria-hidden": "true", + className: classnames_default()('wp-block-cover__gradient-background', gradientClass), + style: customGradient ? { + background: customGradient + } : undefined + }), isVideoBackground && url && Object(external_wp_element_["createElement"])("video", { + className: "wp-block-cover__video-background", + autoPlay: true, + muted: true, + loop: true, + playsInline: true, + src: url, + style: videoStyle + }), Object(external_wp_element_["createElement"])("div", { + className: "wp-block-cover__inner-container" + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); + }, + + migrate: migrateDimRatio +}; +const v5 = { + attributes: { ...cover_deprecated_blockAttributes, + minHeight: { + type: 'number' + }, + gradient: { + type: 'string' + }, + customGradient: { + type: 'string' + } + }, + supports: { + align: true + }, + + save({ + attributes + }) { + const { + backgroundType, + gradient, + customGradient, + customOverlayColor, + dimRatio, + focalPoint, + hasParallax, + overlayColor, + url, + minHeight + } = attributes; + const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); + + const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); + + const style = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {}; + + if (!overlayColorClass) { + style.backgroundColor = customOverlayColor; + } + + if (focalPoint && !hasParallax) { + style.backgroundPosition = `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%`; + } + + if (customGradient && !url) { + style.background = customGradient; + } + + style.minHeight = minHeight || undefined; + const classes = classnames_default()(dimRatioToClassV1(dimRatio), overlayColorClass, { + 'has-background-dim': dimRatio !== 0, + 'has-parallax': hasParallax, + 'has-background-gradient': customGradient, + [gradientClass]: !url && gradientClass + }); + return Object(external_wp_element_["createElement"])("div", { + className: classes, + style: style + }, url && (gradient || customGradient) && dimRatio !== 0 && Object(external_wp_element_["createElement"])("span", { + "aria-hidden": "true", + className: classnames_default()('wp-block-cover__gradient-background', gradientClass), + style: customGradient ? { + background: customGradient + } : undefined + }), VIDEO_BACKGROUND_TYPE === backgroundType && url && Object(external_wp_element_["createElement"])("video", { + className: "wp-block-cover__video-background", + autoPlay: true, + muted: true, + loop: true, + src: url + }), Object(external_wp_element_["createElement"])("div", { + className: "wp-block-cover__inner-container" + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); + }, + + migrate: migrateDimRatio +}; +const v4 = { + attributes: { ...cover_deprecated_blockAttributes, + minHeight: { + type: 'number' + }, + gradient: { + type: 'string' + }, + customGradient: { + type: 'string' + } + }, + supports: { + align: true + }, + + save({ + attributes + }) { + const { + backgroundType, + gradient, + customGradient, + customOverlayColor, + dimRatio, + focalPoint, + hasParallax, + overlayColor, + url, + minHeight + } = attributes; + const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); + + const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); + + const style = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {}; + + if (!overlayColorClass) { + style.backgroundColor = customOverlayColor; + } + + if (focalPoint && !hasParallax) { + style.backgroundPosition = `${focalPoint.x * 100}% ${focalPoint.y * 100}%`; + } + + if (customGradient && !url) { + style.background = customGradient; + } + + style.minHeight = minHeight || undefined; + const classes = classnames_default()(dimRatioToClassV1(dimRatio), overlayColorClass, { + 'has-background-dim': dimRatio !== 0, + 'has-parallax': hasParallax, + 'has-background-gradient': customGradient, + [gradientClass]: !url && gradientClass + }); + return Object(external_wp_element_["createElement"])("div", { + className: classes, + style: style + }, url && (gradient || customGradient) && dimRatio !== 0 && Object(external_wp_element_["createElement"])("span", { + "aria-hidden": "true", + className: classnames_default()('wp-block-cover__gradient-background', gradientClass), + style: customGradient ? { + background: customGradient + } : undefined + }), VIDEO_BACKGROUND_TYPE === backgroundType && url && Object(external_wp_element_["createElement"])("video", { + className: "wp-block-cover__video-background", + autoPlay: true, + muted: true, + loop: true, + src: url + }), Object(external_wp_element_["createElement"])("div", { + className: "wp-block-cover__inner-container" + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); + }, + + migrate: migrateDimRatio +}; +const v3 = { + attributes: { ...cover_deprecated_blockAttributes, + title: { + type: 'string', + source: 'html', + selector: 'p' + }, + contentAlign: { + type: 'string', + default: 'center' + } + }, + supports: { + align: true + }, + + save({ + attributes + }) { + const { + backgroundType, + contentAlign, + customOverlayColor, + dimRatio, + focalPoint, + hasParallax, + overlayColor, + title, + url + } = attributes; + const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); + const style = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {}; + + if (!overlayColorClass) { + style.backgroundColor = customOverlayColor; + } + + if (focalPoint && !hasParallax) { + style.backgroundPosition = `${focalPoint.x * 100}% ${focalPoint.y * 100}%`; + } + + const classes = classnames_default()(dimRatioToClassV1(dimRatio), overlayColorClass, { + 'has-background-dim': dimRatio !== 0, + 'has-parallax': hasParallax, + [`has-${contentAlign}-content`]: contentAlign !== 'center' + }); + return Object(external_wp_element_["createElement"])("div", { + className: classes, + style: style + }, VIDEO_BACKGROUND_TYPE === backgroundType && url && Object(external_wp_element_["createElement"])("video", { + className: "wp-block-cover__video-background", + autoPlay: true, + muted: true, + loop: true, + src: url + }), !external_wp_blockEditor_["RichText"].isEmpty(title) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "p", + className: "wp-block-cover-text", + value: title + })); + }, + + migrate(attributes) { + const newAttribs = { ...attributes, + dimRatio: !attributes.url ? 100 : attributes.dimRatio + }; + return [Object(external_lodash_["omit"])(newAttribs, ['title', 'contentAlign']), [Object(external_wp_blocks_["createBlock"])('core/paragraph', { + content: attributes.title, + align: attributes.contentAlign, + fontSize: 'large', + placeholder: Object(external_wp_i18n_["__"])('Write title…') + })]]; + } + +}; +const v2 = { + attributes: { ...cover_deprecated_blockAttributes, + title: { + type: 'string', + source: 'html', + selector: 'p' + }, + contentAlign: { + type: 'string', + default: 'center' + }, + align: { + type: 'string' + } + }, + supports: { + className: false + }, + + save({ + attributes + }) { + const { + url, + title, + hasParallax, + dimRatio, + align, + contentAlign, + overlayColor, + customOverlayColor + } = attributes; + const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); + const style = backgroundImageStyles(url); + + if (!overlayColorClass) { + style.backgroundColor = customOverlayColor; + } + + const classes = classnames_default()('wp-block-cover-image', dimRatioToClassV1(dimRatio), overlayColorClass, { + 'has-background-dim': dimRatio !== 0, + 'has-parallax': hasParallax, + [`has-${contentAlign}-content`]: contentAlign !== 'center' + }, align ? `align${align}` : null); + return Object(external_wp_element_["createElement"])("div", { + className: classes, + style: style + }, !external_wp_blockEditor_["RichText"].isEmpty(title) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "p", + className: "wp-block-cover-image-text", + value: title + })); + }, + + migrate(attributes) { + const newAttribs = { ...attributes, + dimRatio: !attributes.url ? 100 : attributes.dimRatio + }; + return [Object(external_lodash_["omit"])(newAttribs, ['title', 'contentAlign', 'align']), [Object(external_wp_blocks_["createBlock"])('core/paragraph', { + content: attributes.title, + align: attributes.contentAlign, + fontSize: 'large', + placeholder: Object(external_wp_i18n_["__"])('Write title…') + })]]; + } + +}; +const v1 = { + attributes: { ...cover_deprecated_blockAttributes, + title: { + type: 'string', + source: 'html', + selector: 'h2' + }, + align: { + type: 'string' + }, + contentAlign: { + type: 'string', + default: 'center' + } + }, + supports: { + className: false + }, + + save({ + attributes + }) { + const { + url, + title, + hasParallax, + dimRatio, + align + } = attributes; + const style = backgroundImageStyles(url); + const classes = classnames_default()('wp-block-cover-image', dimRatioToClassV1(dimRatio), { + 'has-background-dim': dimRatio !== 0, + 'has-parallax': hasParallax + }, align ? `align${align}` : null); + return Object(external_wp_element_["createElement"])("section", { + className: classes, + style: style + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "h2", + value: title + })); + }, + + migrate(attributes) { + const newAttribs = { ...attributes, + dimRatio: !attributes.url ? 100 : attributes.dimRatio + }; + return [Object(external_lodash_["omit"])(newAttribs, ['title', 'contentAlign', 'align']), [Object(external_wp_blocks_["createBlock"])('core/paragraph', { + content: attributes.title, + align: attributes.contentAlign, + fontSize: 'large', + placeholder: Object(external_wp_i18n_["__"])('Write title…') + })]]; + } + +}; +/* harmony default export */ var cover_deprecated = ([v7, v6, v5, v4, v3, v2, v1]); + +// EXTERNAL MODULE: ./node_modules/fast-average-color/dist/index.js +var dist = __webpack_require__("FEKF"); +var dist_default = /*#__PURE__*/__webpack_require__.n(dist); + +// EXTERNAL MODULE: ./node_modules/colord/index.mjs +var colord = __webpack_require__("fHnH"); + +// EXTERNAL MODULE: ./node_modules/colord/plugins/names.mjs +var names = __webpack_require__("abaT"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/edit.js + + + +/** + * External dependencies + */ + + + + +/** + * WordPress dependencies + */ + + + + + + + + + +/** + * Internal dependencies + */ + + +Object(colord["b" /* extend */])([names["a" /* default */]]); +const { + __Visualizer: BoxControlVisualizer +} = external_wp_components_["__experimentalBoxControl"]; + +function getInnerBlocksTemplate(attributes) { + return [['core/paragraph', { + align: 'center', + placeholder: Object(external_wp_i18n_["__"])('Write title…'), + ...attributes + }]]; +} + +function retrieveFastAverageColor() { + if (!retrieveFastAverageColor.fastAverageColor) { + retrieveFastAverageColor.fastAverageColor = new dist_default.a(); + } + + return retrieveFastAverageColor.fastAverageColor; +} + +function CoverHeightInput({ + onChange, + onUnitChange, + unit = 'px', + value = '' +}) { + const [temporaryInput, setTemporaryInput] = Object(external_wp_element_["useState"])(null); + const instanceId = Object(external_wp_compose_["useInstanceId"])(external_wp_blockEditor_["__experimentalUnitControl"]); + const inputId = `block-cover-height-input-${instanceId}`; + const isPx = unit === 'px'; + const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ + availableUnits: Object(external_wp_blockEditor_["useSetting"])('spacing.units') || ['px', 'em', 'rem', 'vw', 'vh'], + defaultValues: { + px: '430', + em: '20', + rem: '20', + vw: '20', + vh: '50' + } + }); + + const handleOnChange = unprocessedValue => { + const inputValue = unprocessedValue !== '' ? parseFloat(unprocessedValue) : undefined; + + if (isNaN(inputValue) && inputValue !== undefined) { + setTemporaryInput(unprocessedValue); + return; + } + + setTemporaryInput(null); + onChange(inputValue); + + if (inputValue === undefined) { + onUnitChange(); + } + }; + + const handleOnBlur = () => { + if (temporaryInput !== null) { + setTemporaryInput(null); + } + }; + + const inputValue = temporaryInput !== null ? temporaryInput : value; + const min = isPx ? COVER_MIN_HEIGHT : 0; + return Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], { + label: Object(external_wp_i18n_["__"])('Minimum height of cover'), + id: inputId + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalUnitControl"], { + id: inputId, + isResetValueOnUnitChange: true, + min: min, + onBlur: handleOnBlur, + onChange: handleOnChange, + onUnitChange: onUnitChange, + style: { + maxWidth: 80 + }, + unit: unit, + units: units, + value: inputValue + })); +} + +const RESIZABLE_BOX_ENABLE_OPTION = { + top: false, + right: false, + bottom: true, + left: false, + topRight: false, + bottomRight: false, + bottomLeft: false, + topLeft: false +}; + +function ResizableCover({ + className, + onResizeStart, + onResize, + onResizeStop, + ...props +}) { + const [isResizing, setIsResizing] = Object(external_wp_element_["useState"])(false); + return Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], Object(esm_extends["a" /* default */])({ + className: classnames_default()(className, { + 'is-resizing': isResizing + }), + enable: RESIZABLE_BOX_ENABLE_OPTION, + onResizeStart: (_event, _direction, elt) => { + onResizeStart(elt.clientHeight); + onResize(elt.clientHeight); + }, + onResize: (_event, _direction, elt) => { + onResize(elt.clientHeight); + + if (!isResizing) { + setIsResizing(true); + } + }, + onResizeStop: (_event, _direction, elt) => { + onResizeStop(elt.clientHeight); + setIsResizing(false); + } + }, props)); +} +/** + * useCoverIsDark is a hook that returns a boolean variable specifying if the cover + * background is dark or not. + * + * @param {?string} url Url of the media background. + * @param {?number} dimRatio Transparency of the overlay color. If an image and + * color are set, dimRatio is used to decide what is used + * for background darkness checking purposes. + * @param {?string} overlayColor String containing the overlay color value if one exists. + * @param {?Object} elementRef If a media background is set, elementRef should contain a reference to a + * dom element that renders that media. + * + * @return {boolean} True if the cover background is considered "dark" and false otherwise. + */ + + +function useCoverIsDark(url, dimRatio = 50, overlayColor, elementRef) { + const [isDark, setIsDark] = Object(external_wp_element_["useState"])(false); + Object(external_wp_element_["useEffect"])(() => { + // If opacity is lower than 50 the dominant color is the image or video color, + // so use that color for the dark mode computation. + if (url && dimRatio <= 50 && elementRef.current) { + retrieveFastAverageColor().getColorAsync(elementRef.current, color => { + setIsDark(color.isDark); + }); + } + }, [url, url && dimRatio <= 50 && elementRef.current, setIsDark]); + Object(external_wp_element_["useEffect"])(() => { + // If opacity is greater than 50 the dominant color is the overlay color, + // so use that color for the dark mode computation. + if (dimRatio > 50 || !url) { + if (!overlayColor) { + // If no overlay color exists the overlay color is black (isDark ) + setIsDark(true); + return; + } + + setIsDark(Object(colord["a" /* colord */])(overlayColor).isDark()); + } + }, [overlayColor, dimRatio > 50 || !url, setIsDark]); + Object(external_wp_element_["useEffect"])(() => { + if (!url && !overlayColor) { + // Reset isDark + setIsDark(false); + } + }, [!url && !overlayColor, setIsDark]); + return isDark; +} + +function edit_mediaPosition({ + x, + y +}) { + return `${Math.round(x * 100)}% ${Math.round(y * 100)}%`; +} +/** + * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while + * the media (image or video) is being uploaded and will not have an id allocated yet. + * + * @param {number} id The id of the media. + * @param {string} url The url of the media. + * + * @return {boolean} Is the URL a Blob URL. + */ + + +const edit_isTemporaryMedia = (id, url) => !id && Object(external_wp_blob_["isBlobURL"])(url); + +function CoverPlaceholder({ + disableMediaButtons = false, + children, + noticeUI, + noticeOperations, + onSelectMedia, + style +}) { + const { + removeAllNotices, + createErrorNotice + } = noticeOperations; + return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { + icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { + icon: library_cover + }), + labels: { + title: Object(external_wp_i18n_["__"])('Cover'), + instructions: Object(external_wp_i18n_["__"])('Drag and drop onto this block, upload, or select existing media from your library.') + }, + onSelect: onSelectMedia, + accept: "image/*,video/*", + allowedTypes: shared_ALLOWED_MEDIA_TYPES, + notices: noticeUI, + disableMediaButtons: disableMediaButtons, + onError: message => { + removeAllNotices(); + createErrorNotice(message); + }, + style: style + }, children); +} + +function CoverEdit({ + attributes, + clientId, + isSelected, + noticeUI, + noticeOperations, + overlayColor, + setAttributes, + setOverlayColor, + toggleSelection +}) { + var _useSetting, _styleAttribute$spaci, _styleAttribute$visua; + + const { + contentPosition, + id, + backgroundType, + dimRatio, + focalPoint, + hasParallax, + isDark, + isRepeated, + minHeight, + minHeightUnit, + style: styleAttribute, + url, + alt, + allowedBlocks, + templateLock + } = attributes; + + const { + gradientClass, + gradientValue, + setGradient + } = Object(external_wp_blockEditor_["__experimentalUseGradient"])(); + + const onSelectMedia = attributesFromMedia(setAttributes, dimRatio); + const isUploadingMedia = edit_isTemporaryMedia(id, url); + const [prevMinHeightValue, setPrevMinHeightValue] = Object(external_wp_element_["useState"])(minHeight); + const [prevMinHeightUnit, setPrevMinHeightUnit] = Object(external_wp_element_["useState"])(minHeightUnit); + const isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100; + + const toggleMinFullHeight = () => { + if (isMinFullHeight) { + // If there aren't previous values, take the default ones. + if (prevMinHeightUnit === 'vh' && prevMinHeightValue === 100) { + return setAttributes({ + minHeight: undefined, + minHeightUnit: undefined + }); + } // Set the previous values of height. + + + return setAttributes({ + minHeight: prevMinHeightValue, + minHeightUnit: prevMinHeightUnit + }); + } + + setPrevMinHeightValue(minHeight); + setPrevMinHeightUnit(minHeightUnit); // Set full height. + + return setAttributes({ + minHeight: 100, + minHeightUnit: 'vh' + }); + }; + + const toggleParallax = () => { + setAttributes({ + hasParallax: !hasParallax, + ...(!hasParallax ? { + focalPoint: undefined + } : {}) + }); + }; + + const toggleIsRepeated = () => { + setAttributes({ + isRepeated: !isRepeated + }); + }; + + const isDarkElement = Object(external_wp_element_["useRef"])(); + const isCoverDark = useCoverIsDark(url, dimRatio, overlayColor.color, isDarkElement); + Object(external_wp_element_["useEffect"])(() => { + setAttributes({ + isDark: isCoverDark + }); + }, [isCoverDark]); + const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; + const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; + const [temporaryMinHeight, setTemporaryMinHeight] = Object(external_wp_element_["useState"])(null); + const minHeightWithUnit = minHeightUnit ? `${minHeight}${minHeightUnit}` : minHeight; + const isImgElement = !(hasParallax || isRepeated); + const style = { ...(isImageBackground && !isImgElement ? backgroundImageStyles(url) : undefined), + minHeight: temporaryMinHeight || minHeightWithUnit || undefined + }; + const bgStyle = { + backgroundColor: overlayColor.color + }; + const mediaStyle = { + objectPosition: focalPoint && isImgElement ? edit_mediaPosition(focalPoint) : undefined + }; + const hasBackground = !!(url || overlayColor.color || gradientValue); + const showFocalPointPicker = isVideoBackground || isImageBackground && (!hasParallax || isRepeated); + + const imperativeFocalPointPreview = value => { + const [styleOfRef, property] = isDarkElement.current ? [isDarkElement.current.style, 'objectPosition'] : [ref.current.style, 'backgroundPosition']; + styleOfRef[property] = edit_mediaPosition(value); + }; + + const hasInnerBlocks = Object(external_wp_data_["useSelect"])(select => select(external_wp_blockEditor_["store"]).getBlock(clientId).innerBlocks.length > 0, [clientId]); + const controls = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { + group: "block" + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalBlockAlignmentMatrixControl"], { + label: Object(external_wp_i18n_["__"])('Change content position'), + value: contentPosition, + onChange: nextPosition => setAttributes({ + contentPosition: nextPosition + }), + isDisabled: !hasInnerBlocks + }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalBlockFullHeightAligmentControl"], { + isActive: isMinFullHeight, + onToggle: toggleMinFullHeight, + isDisabled: !hasInnerBlocks + })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { + group: "other" + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { + mediaId: id, + mediaURL: url, + allowedTypes: shared_ALLOWED_MEDIA_TYPES, + accept: "image/*,video/*", + onSelect: onSelectMedia, + name: !url ? Object(external_wp_i18n_["__"])('Add Media') : Object(external_wp_i18n_["__"])('Replace') + })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, !!url && Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { + title: Object(external_wp_i18n_["__"])('Media settings') + }, isImageBackground && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Fixed background'), + checked: hasParallax, + onChange: toggleParallax + }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Repeated background'), + checked: isRepeated, + onChange: toggleIsRepeated + })), showFocalPointPicker && Object(external_wp_element_["createElement"])(external_wp_components_["FocalPointPicker"], { + label: Object(external_wp_i18n_["__"])('Focal point picker'), + url: url, + value: focalPoint, + onDragStart: imperativeFocalPointPreview, + onDrag: imperativeFocalPointPreview, + onChange: newFocalPoint => setAttributes({ + focalPoint: newFocalPoint + }) + }), url && isImageBackground && isImgElement && Object(external_wp_element_["createElement"])(external_wp_components_["TextareaControl"], { + label: Object(external_wp_i18n_["__"])('Alt text (alternative text)'), + value: alt, + onChange: newAlt => setAttributes({ + alt: newAlt + }), + help: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { + href: "https://www.w3.org/WAI/tutorials/images/decision-tree" + }, Object(external_wp_i18n_["__"])('Describe the purpose of the image')), Object(external_wp_i18n_["__"])('Leave empty if the image is purely decorative.')) + }), Object(external_wp_element_["createElement"])(external_wp_components_["PanelRow"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + variant: "secondary", + isSmall: true, + className: "block-library-cover__reset-button", + onClick: () => setAttributes({ + url: undefined, + id: undefined, + backgroundType: undefined, + focalPoint: undefined, + hasParallax: undefined, + isRepeated: undefined + }) + }, Object(external_wp_i18n_["__"])('Clear Media')))), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalPanelColorGradientSettings"], { + __experimentalHasMultipleOrigins: true, + title: Object(external_wp_i18n_["__"])('Overlay'), + initialOpen: true, + settings: [{ + colorValue: overlayColor.color, + gradientValue, + onColorChange: setOverlayColor, + onGradientChange: setGradient, + label: Object(external_wp_i18n_["__"])('Color') + }] + }, Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { + label: Object(external_wp_i18n_["__"])('Opacity'), + value: dimRatio, + onChange: newDimRation => setAttributes({ + dimRatio: newDimRation + }), + min: 0, + max: 100, + step: 10, + required: true + }))), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], { + __experimentalGroup: "dimensions" + }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalToolsPanelItem"], { + hasValue: () => !!minHeight, + label: Object(external_wp_i18n_["__"])('Minimum height'), + onDeselect: () => setAttributes({ + minHeight: undefined, + minHeightUnit: undefined + }), + resetAllFilter: () => ({ + minHeight: undefined, + minHeightUnit: undefined + }), + isShownByDefault: true, + panelId: clientId + }, Object(external_wp_element_["createElement"])(CoverHeightInput, { + value: temporaryMinHeight || minHeight, + unit: minHeightUnit, + onChange: newMinHeight => setAttributes({ + minHeight: newMinHeight + }), + onUnitChange: nextUnit => setAttributes({ + minHeightUnit: nextUnit + }) + })))); + const ref = Object(external_wp_element_["useRef"])(); + const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ + ref + }); // Check for fontSize support before we pass a fontSize attribute to the innerBlocks. + + const hasFontSizes = !!((_useSetting = Object(external_wp_blockEditor_["useSetting"])('typography.fontSizes')) !== null && _useSetting !== void 0 && _useSetting.length); + const innerBlocksTemplate = getInnerBlocksTemplate({ + fontSize: hasFontSizes ? 'large' : undefined + }); + const innerBlocksProps = Object(external_wp_blockEditor_["useInnerBlocksProps"])({ + className: 'wp-block-cover__inner-container' + }, { + template: innerBlocksTemplate, + templateInsertUpdatesSelection: true, + allowedBlocks, + templateLock + }); + + if (!hasInnerBlocks && !hasBackground) { + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, controls, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, blockProps, { + className: classnames_default()('is-placeholder', blockProps.className) + }), Object(external_wp_element_["createElement"])(CoverPlaceholder, { + noticeUI: noticeUI, + onSelectMedia: onSelectMedia, + noticeOperations: noticeOperations, + style: { + minHeight: temporaryMinHeight || minHeightWithUnit || undefined + } + }, Object(external_wp_element_["createElement"])("div", { + className: "wp-block-cover__placeholder-background-options" + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["ColorPalette"], { + disableCustomColors: true, + value: overlayColor.color, + onChange: setOverlayColor, + clearable: false + }))), Object(external_wp_element_["createElement"])(ResizableCover, { + className: "block-library-cover__resize-container", + onResizeStart: () => { + setAttributes({ + minHeightUnit: 'px' + }); + toggleSelection(false); + }, + onResize: setTemporaryMinHeight, + onResizeStop: newMinHeight => { + toggleSelection(true); + setAttributes({ + minHeight: newMinHeight + }); + setTemporaryMinHeight(null); + }, + showHandle: isSelected + }))); + } + + const classes = classnames_default()({ + 'is-dark-theme': isDark, + 'is-light': !isDark, + 'is-transient': isUploadingMedia, + 'has-parallax': hasParallax, + 'is-repeated': isRepeated, + 'has-custom-content-position': !isContentPositionCenter(contentPosition) + }, getPositionClassName(contentPosition)); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, controls, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, blockProps, { + className: classnames_default()(classes, blockProps.className), + style: { ...style, + ...blockProps.style + }, + "data-url": url + }), Object(external_wp_element_["createElement"])(BoxControlVisualizer, { + values: styleAttribute === null || styleAttribute === void 0 ? void 0 : (_styleAttribute$spaci = styleAttribute.spacing) === null || _styleAttribute$spaci === void 0 ? void 0 : _styleAttribute$spaci.padding, + showValues: styleAttribute === null || styleAttribute === void 0 ? void 0 : (_styleAttribute$visua = styleAttribute.visualizers) === null || _styleAttribute$visua === void 0 ? void 0 : _styleAttribute$visua.padding + }), Object(external_wp_element_["createElement"])(ResizableCover, { + className: "block-library-cover__resize-container", + onResizeStart: () => { + setAttributes({ + minHeightUnit: 'px' + }); + toggleSelection(false); + }, + onResize: setTemporaryMinHeight, + onResizeStop: newMinHeight => { + toggleSelection(true); + setAttributes({ + minHeight: newMinHeight + }); + setTemporaryMinHeight(null); + }, + showHandle: isSelected + }), Object(external_wp_element_["createElement"])("span", { + "aria-hidden": "true", + className: classnames_default()(dimRatioToClass(dimRatio), { + [overlayColor.class]: overlayColor.class + }, 'wp-block-cover__gradient-background', gradientClass, { + 'has-background-dim': dimRatio !== undefined, + 'has-background-gradient': gradientValue, + [gradientClass]: !url && gradientClass + }), + style: { + backgroundImage: gradientValue, + ...bgStyle + } + }), url && isImageBackground && isImgElement && Object(external_wp_element_["createElement"])("img", { + ref: isDarkElement, + className: "wp-block-cover__image-background", + alt: alt, + src: url, + style: mediaStyle + }), url && isVideoBackground && Object(external_wp_element_["createElement"])("video", { + ref: isDarkElement, + className: "wp-block-cover__video-background", + autoPlay: true, + muted: true, + loop: true, + src: url, + style: mediaStyle + }), isUploadingMedia && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null), Object(external_wp_element_["createElement"])(CoverPlaceholder, { + disableMediaButtons: true, + noticeUI: noticeUI, + onSelectMedia: onSelectMedia, + noticeOperations: noticeOperations + }), Object(external_wp_element_["createElement"])("div", innerBlocksProps))); +} + +/* harmony default export */ var cover_edit = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withDispatch"])(dispatch => { + const { + toggleSelection + } = dispatch(external_wp_blockEditor_["store"]); + return { + toggleSelection + }; +}), Object(external_wp_blockEditor_["withColors"])({ + overlayColor: 'background-color' +}), external_wp_components_["withNotices"], external_wp_compose_["withInstanceId"]])(CoverEdit)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/save.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +function cover_save_save({ + attributes +}) { + const { + backgroundType, + gradient, + contentPosition, + customGradient, + customOverlayColor, + dimRatio, + focalPoint, + hasParallax, + isDark, + isRepeated, + overlayColor, + url, + alt, + id, + minHeight: minHeightProp, + minHeightUnit + } = attributes; + const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); + + const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); + + const minHeight = minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp; + const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; + const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; + const isImgElement = !(hasParallax || isRepeated); + const style = { ...(isImageBackground && !isImgElement ? backgroundImageStyles(url) : {}), + minHeight: minHeight || undefined + }; + const bgStyle = { + backgroundColor: !overlayColorClass ? customOverlayColor : undefined, + background: customGradient ? customGradient : undefined + }; + const objectPosition = // prettier-ignore + focalPoint && isImgElement ? `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%` : undefined; + const classes = classnames_default()({ + 'is-light': !isDark, + 'has-parallax': hasParallax, + 'is-repeated': isRepeated, + 'has-custom-content-position': !isContentPositionCenter(contentPosition) + }, getPositionClassName(contentPosition)); + return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ + className: classes, + style + }), Object(external_wp_element_["createElement"])("span", { + "aria-hidden": "true", + className: classnames_default()(overlayColorClass, dimRatioToClass(dimRatio), 'wp-block-cover__gradient-background', gradientClass, { + 'has-background-dim': dimRatio !== undefined, + 'has-background-gradient': gradient || customGradient, + [gradientClass]: !url && gradientClass + }), + style: bgStyle + }), isImageBackground && isImgElement && url && Object(external_wp_element_["createElement"])("img", { + className: classnames_default()('wp-block-cover__image-background', id ? `wp-image-${id}` : null), + alt: alt, + src: url, + style: { + objectPosition + }, + "data-object-fit": "cover", + "data-object-position": objectPosition + }), isVideoBackground && url && Object(external_wp_element_["createElement"])("video", { + className: classnames_default()('wp-block-cover__video-background', 'intrinsic-ignore'), + autoPlay: true, + muted: true, + loop: true, + playsInline: true, + src: url, + style: { + objectPosition + }, + "data-object-fit": "cover", + "data-object-position": objectPosition + }), Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useInnerBlocksProps"].save({ + className: 'wp-block-cover__inner-container' + }))); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/transforms.js +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + +const cover_transforms_transforms = { + from: [{ + type: 'block', + blocks: ['core/image'], + transform: ({ + caption, + url, + alt, + align, + id, + anchor, + style + }) => { + var _style$color; + + return Object(external_wp_blocks_["createBlock"])('core/cover', { + url, + alt, + align, + id, + anchor, + style: { + color: { + duotone: style === null || style === void 0 ? void 0 : (_style$color = style.color) === null || _style$color === void 0 ? void 0 : _style$color.duotone + } + } + }, [Object(external_wp_blocks_["createBlock"])('core/paragraph', { + content: caption, + fontSize: 'large' + })]); + } + }, { + type: 'block', + blocks: ['core/video'], + transform: ({ + caption, + src, + align, + id, + anchor + }) => Object(external_wp_blocks_["createBlock"])('core/cover', { + url: src, + align, + id, + backgroundType: VIDEO_BACKGROUND_TYPE, + anchor + }, [Object(external_wp_blocks_["createBlock"])('core/paragraph', { + content: caption, + fontSize: 'large' + })]) + }, { + type: 'block', + blocks: ['core/group'], + isMatch: ({ + backgroundColor, + gradient, + style + }) => { + var _style$color2, _style$color3; + + /* + * Make this transformation available only if the Group has background + * or gradient set, because otherwise `Cover` block displays a Placeholder. + * + * This helps avoid arbitrary decisions about the Cover block's background + * and user confusion about the existence of previous content. + */ + return backgroundColor || (style === null || style === void 0 ? void 0 : (_style$color2 = style.color) === null || _style$color2 === void 0 ? void 0 : _style$color2.background) || (style === null || style === void 0 ? void 0 : (_style$color3 = style.color) === null || _style$color3 === void 0 ? void 0 : _style$color3.gradient) || gradient; + }, + transform: ({ + align, + anchor, + backgroundColor, + gradient, + style + }, innerBlocks) => { + var _style$color4, _style$color5; + + return Object(external_wp_blocks_["createBlock"])('core/cover', { + align, + anchor, + overlayColor: backgroundColor, + customOverlayColor: style === null || style === void 0 ? void 0 : (_style$color4 = style.color) === null || _style$color4 === void 0 ? void 0 : _style$color4.background, + gradient, + customGradient: style === null || style === void 0 ? void 0 : (_style$color5 = style.color) === null || _style$color5 === void 0 ? void 0 : _style$color5.gradient + }, innerBlocks); + } + }], + to: [{ + type: 'block', + blocks: ['core/image'], + isMatch: ({ + backgroundType, + url, + overlayColor, + customOverlayColor, + gradient, + customGradient + }) => { + if (url) { + // If a url exists the transform could happen if that URL represents an image background. + return backgroundType === IMAGE_BACKGROUND_TYPE; + } // If a url is not set the transform could happen if the cover has no background color or gradient; + + + return !overlayColor && !customOverlayColor && !gradient && !customGradient; + }, + transform: ({ + title, + url, + alt, + align, + id, + anchor, + style + }) => { + var _style$color6; + + return Object(external_wp_blocks_["createBlock"])('core/image', { + caption: title, + url, + alt, + align, + id, + anchor, + style: { + color: { + duotone: style === null || style === void 0 ? void 0 : (_style$color6 = style.color) === null || _style$color6 === void 0 ? void 0 : _style$color6.duotone + } + } + }); + } + }, { + type: 'block', + blocks: ['core/video'], + isMatch: ({ + backgroundType, + url, + overlayColor, + customOverlayColor, + gradient, + customGradient + }) => { + if (url) { + // If a url exists the transform could happen if that URL represents a video background. + return backgroundType === VIDEO_BACKGROUND_TYPE; + } // If a url is not set the transform could happen if the cover has no background color or gradient; + + + return !overlayColor && !customOverlayColor && !gradient && !customGradient; + }, + transform: ({ + title, + url, + align, + id, + anchor + }) => Object(external_wp_blocks_["createBlock"])('core/video', { + caption: title, + src: url, + id, + align, + anchor + }) + }] +}; +/* harmony default export */ var cover_transforms = (cover_transforms_transforms); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/index.js +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + +const cover_metadata = { + apiVersion: 2, + name: "core/cover", + title: "Cover", + category: "media", + description: "Add an image or video with a text overlay \u2014 great for headers.", + textdomain: "default", + attributes: { + url: { + type: "string" + }, + id: { + type: "number" }, alt: { type: "string", @@ -5707,1063 +8250,1634 @@ const image_metadata = { attribute: "alt", "default": "" }, + hasParallax: { + type: "boolean", + "default": false + }, + isRepeated: { + type: "boolean", + "default": false + }, + dimRatio: { + type: "number", + "default": 100 + }, + overlayColor: { + type: "string" + }, + customOverlayColor: { + type: "string" + }, + backgroundType: { + type: "string", + "default": "image" + }, + focalPoint: { + type: "object" + }, + minHeight: { + type: "number" + }, + minHeightUnit: { + type: "string" + }, + gradient: { + type: "string" + }, + customGradient: { + type: "string" + }, + contentPosition: { + type: "string" + }, + isDark: { + type: "boolean", + "default": true + }, + allowedBlocks: { + type: "array" + }, + templateLock: { + type: "string", + "enum": ["all", "insert", false] + } + }, + supports: { + anchor: true, + align: true, + html: false, + spacing: { + padding: true, + __experimentalDefaultControls: { + padding: true + } + }, + color: { + __experimentalDuotone: "> .wp-block-cover__image-background, > .wp-block-cover__video-background", + text: false, + background: false + } + }, + editorStyle: "wp-block-cover-editor", + style: "wp-block-cover" +}; + + +const { + name: cover_name +} = cover_metadata; + +const cover_settings = { + icon: library_cover, + example: { + attributes: { + customOverlayColor: '#065174', + dimRatio: 40, + url: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg' + }, + innerBlocks: [{ + name: 'core/paragraph', + attributes: { + customFontSize: 48, + content: Object(external_wp_i18n_["__"])('Snow Patrol'), + align: 'center' + } + }] + }, + transforms: cover_transforms, + save: cover_save_save, + edit: cover_edit, + deprecated: cover_deprecated +}; + +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/edit.js + 1 modules +var library_edit = __webpack_require__("B9Az"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-controls.js + + +/** + * WordPress dependencies + */ + + + + + +function getResponsiveHelp(checked) { + return checked ? Object(external_wp_i18n_["__"])('This embed will preserve its aspect ratio when the browser is resized.') : Object(external_wp_i18n_["__"])('This embed may not preserve its aspect ratio when the browser is resized.'); +} + +const EmbedControls = ({ + blockSupportsResponsive, + showEditButton, + themeSupportsResponsive, + allowResponsive, + toggleResponsive, + switchBackToURLInput +}) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, showEditButton && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + className: "components-toolbar__control", + label: Object(external_wp_i18n_["__"])('Edit URL'), + icon: library_edit["a" /* default */], + onClick: switchBackToURLInput +}))), themeSupportsResponsive && blockSupportsResponsive && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { + title: Object(external_wp_i18n_["__"])('Media settings'), + className: "blocks-responsive" +}, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Resize for smaller devices'), + checked: allowResponsive, + help: getResponsiveHelp, + onChange: toggleResponsive +})))); + +/* harmony default export */ var embed_controls = (EmbedControls); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/icons.js + + +/** + * WordPress dependencies + */ + +const embedContentIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V9.8l4.7-5.3H19c.3 0 .5.2.5.5v14zm-6-9.5L16 12l-2.5 2.8 1.1 1L18 12l-3.5-3.5-1 1zm-3 0l-1-1L6 12l3.5 3.8 1.1-1L8 12l2.5-2.5z" +})); +const embedAudioIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V9.8l4.7-5.3H19c.3 0 .5.2.5.5v14zM13.2 7.7c-.4.4-.7 1.1-.7 1.9v3.7c-.4-.3-.8-.4-1.3-.4-1.2 0-2.2 1-2.2 2.2 0 1.2 1 2.2 2.2 2.2.5 0 1-.2 1.4-.5.9-.6 1.4-1.6 1.4-2.6V9.6c0-.4.1-.6.2-.8.3-.3 1-.3 1.6-.3h.2V7h-.2c-.7 0-1.8 0-2.6.7z" +})); +const embedPhotoIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9.2 4.5H19c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V9.8l4.6-5.3zm9.8 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z" +})); +const embedVideoIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V9.8l4.7-5.3H19c.3 0 .5.2.5.5v14zM10 15l5-3-5-3v6z" +})); +const embedTwitterIcon = { + foreground: '#1da1f2', + src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" + }, Object(external_wp_element_["createElement"])(external_wp_components_["G"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M22.23 5.924c-.736.326-1.527.547-2.357.646.847-.508 1.498-1.312 1.804-2.27-.793.47-1.67.812-2.606.996C18.325 4.498 17.258 4 16.078 4c-2.266 0-4.103 1.837-4.103 4.103 0 .322.036.635.106.935-3.41-.17-6.433-1.804-8.457-4.287-.353.607-.556 1.312-.556 2.064 0 1.424.724 2.68 1.825 3.415-.673-.022-1.305-.207-1.86-.514v.052c0 1.988 1.415 3.647 3.293 4.023-.344.095-.707.145-1.08.145-.265 0-.522-.026-.773-.074.522 1.63 2.038 2.817 3.833 2.85-1.404 1.1-3.174 1.757-5.096 1.757-.332 0-.66-.02-.98-.057 1.816 1.164 3.973 1.843 6.29 1.843 7.547 0 11.675-6.252 11.675-11.675 0-.178-.004-.355-.012-.53.802-.578 1.497-1.3 2.047-2.124z" + }))) +}; +const embedYouTubeIcon = { + foreground: '#ff0000', + src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M21.8 8s-.195-1.377-.795-1.984c-.76-.797-1.613-.8-2.004-.847-2.798-.203-6.996-.203-6.996-.203h-.01s-4.197 0-6.996.202c-.39.046-1.242.05-2.003.846C2.395 6.623 2.2 8 2.2 8S2 9.62 2 11.24v1.517c0 1.618.2 3.237.2 3.237s.195 1.378.795 1.985c.76.797 1.76.77 2.205.855 1.6.153 6.8.2 6.8.2s4.203-.005 7-.208c.392-.047 1.244-.05 2.005-.847.6-.607.795-1.985.795-1.985s.2-1.618.2-3.237v-1.517C22 9.62 21.8 8 21.8 8zM9.935 14.595v-5.62l5.403 2.82-5.403 2.8z" + })) +}; +const embedFacebookIcon = { + foreground: '#3b5998', + src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M20 3H4c-.6 0-1 .4-1 1v16c0 .5.4 1 1 1h8.6v-7h-2.3v-2.7h2.3v-2c0-2.3 1.4-3.6 3.5-3.6 1 0 1.8.1 2.1.1v2.4h-1.4c-1.1 0-1.3.5-1.3 1.3v1.7h2.7l-.4 2.8h-2.3v7H20c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1z" + })) +}; +const embedInstagramIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_components_["G"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M12 4.622c2.403 0 2.688.01 3.637.052.877.04 1.354.187 1.67.31.42.163.72.358 1.036.673.315.315.51.615.673 1.035.123.317.27.794.31 1.67.043.95.052 1.235.052 3.638s-.01 2.688-.052 3.637c-.04.877-.187 1.354-.31 1.67-.163.42-.358.72-.673 1.036-.315.315-.615.51-1.035.673-.317.123-.794.27-1.67.31-.95.043-1.234.052-3.638.052s-2.688-.01-3.637-.052c-.877-.04-1.354-.187-1.67-.31-.42-.163-.72-.358-1.036-.673-.315-.315-.51-.615-.673-1.035-.123-.317-.27-.794-.31-1.67-.043-.95-.052-1.235-.052-3.638s.01-2.688.052-3.637c.04-.877.187-1.354.31-1.67.163-.42.358-.72.673-1.036.315-.315.615-.51 1.035-.673.317-.123.794-.27 1.67-.31.95-.043 1.235-.052 3.638-.052M12 3c-2.444 0-2.75.01-3.71.054s-1.613.196-2.185.418c-.592.23-1.094.538-1.594 1.04-.5.5-.807 1-1.037 1.593-.223.572-.375 1.226-.42 2.184C3.01 9.25 3 9.555 3 12s.01 2.75.054 3.71.196 1.613.418 2.186c.23.592.538 1.094 1.038 1.594s1.002.808 1.594 1.038c.572.222 1.227.375 2.185.418.96.044 1.266.054 3.71.054s2.75-.01 3.71-.054 1.613-.196 2.186-.418c.592-.23 1.094-.538 1.594-1.038s.808-1.002 1.038-1.594c.222-.572.375-1.227.418-2.185.044-.96.054-1.266.054-3.71s-.01-2.75-.054-3.71-.196-1.613-.418-2.186c-.23-.592-.538-1.094-1.038-1.594s-1.002-.808-1.594-1.038c-.572-.222-1.227-.375-2.185-.418C14.75 3.01 14.445 3 12 3zm0 4.378c-2.552 0-4.622 2.07-4.622 4.622s2.07 4.622 4.622 4.622 4.622-2.07 4.622-4.622S14.552 7.378 12 7.378zM12 15c-1.657 0-3-1.343-3-3s1.343-3 3-3 3 1.343 3 3-1.343 3-3 3zm4.804-8.884c-.596 0-1.08.484-1.08 1.08s.484 1.08 1.08 1.08c.596 0 1.08-.484 1.08-1.08s-.483-1.08-1.08-1.08z" +}))); +const embedWordPressIcon = { + foreground: '#0073AA', + src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24" + }, Object(external_wp_element_["createElement"])(external_wp_components_["G"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M12.158 12.786l-2.698 7.84c.806.236 1.657.365 2.54.365 1.047 0 2.05-.18 2.986-.51-.024-.037-.046-.078-.065-.123l-2.762-7.57zM3.008 12c0 3.56 2.07 6.634 5.068 8.092L3.788 8.342c-.5 1.117-.78 2.354-.78 3.658zm15.06-.454c0-1.112-.398-1.88-.74-2.48-.456-.74-.883-1.368-.883-2.11 0-.825.627-1.595 1.51-1.595.04 0 .078.006.116.008-1.598-1.464-3.73-2.36-6.07-2.36-3.14 0-5.904 1.613-7.512 4.053.21.008.41.012.58.012.94 0 2.395-.114 2.395-.114.484-.028.54.684.057.74 0 0-.487.058-1.03.086l3.275 9.74 1.968-5.902-1.4-3.838c-.485-.028-.944-.085-.944-.085-.486-.03-.43-.77.056-.742 0 0 1.484.114 2.368.114.94 0 2.397-.114 2.397-.114.486-.028.543.684.058.74 0 0-.488.058-1.03.086l3.25 9.665.897-2.997c.456-1.17.684-2.137.684-2.907zm1.82-3.86c.04.286.06.593.06.924 0 .912-.17 1.938-.683 3.22l-2.746 7.94c2.672-1.558 4.47-4.454 4.47-7.77 0-1.564-.4-3.033-1.1-4.314zM12 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10z" + }))) +}; +const embedSpotifyIcon = { + foreground: '#1db954', + src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m4.586 14.424c-.18.295-.563.387-.857.207-2.35-1.434-5.305-1.76-8.786-.963-.335.077-.67-.133-.746-.47-.077-.334.132-.67.47-.745 3.808-.87 7.076-.496 9.712 1.115.293.18.386.563.206.857M17.81 13.7c-.226.367-.706.482-1.072.257-2.687-1.652-6.785-2.13-9.965-1.166-.413.127-.848-.106-.973-.517-.125-.413.108-.848.52-.973 3.632-1.102 8.147-.568 11.234 1.328.366.226.48.707.256 1.072m.105-2.835C14.692 8.95 9.375 8.775 6.297 9.71c-.493.15-1.016-.13-1.166-.624-.148-.495.13-1.017.625-1.167 3.532-1.073 9.404-.866 13.115 1.337.445.264.59.838.327 1.282-.264.443-.838.59-1.282.325" + })) +}; +const embedFlickrIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "m6.5 7c-2.75 0-5 2.25-5 5s2.25 5 5 5 5-2.25 5-5-2.25-5-5-5zm11 0c-2.75 0-5 2.25-5 5s2.25 5 5 5 5-2.25 5-5-2.25-5-5-5z" +})); +const embedVimeoIcon = { + foreground: '#1ab7ea', + src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" + }, Object(external_wp_element_["createElement"])(external_wp_components_["G"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M22.396 7.164c-.093 2.026-1.507 4.8-4.245 8.32C15.323 19.16 12.93 21 10.97 21c-1.214 0-2.24-1.12-3.08-3.36-.56-2.052-1.118-4.105-1.68-6.158-.622-2.24-1.29-3.36-2.004-3.36-.156 0-.7.328-1.634.98l-.978-1.26c1.027-.903 2.04-1.806 3.037-2.71C6 3.95 7.03 3.328 7.716 3.265c1.62-.156 2.616.95 2.99 3.32.404 2.558.685 4.148.84 4.77.468 2.12.982 3.18 1.543 3.18.435 0 1.09-.687 1.963-2.064.872-1.376 1.34-2.422 1.402-3.142.125-1.187-.343-1.782-1.4-1.782-.5 0-1.013.115-1.542.34 1.023-3.35 2.977-4.976 5.862-4.883 2.14.063 3.148 1.45 3.024 4.16z" + }))) +}; +const embedRedditIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M22 11.816c0-1.256-1.02-2.277-2.277-2.277-.593 0-1.122.24-1.526.613-1.48-.965-3.455-1.594-5.647-1.69l1.17-3.702 3.18.75c.01 1.027.847 1.86 1.877 1.86 1.035 0 1.877-.84 1.877-1.877 0-1.035-.842-1.877-1.877-1.877-.77 0-1.43.466-1.72 1.13L13.55 3.92c-.204-.047-.4.067-.46.26l-1.35 4.27c-2.317.037-4.412.67-5.97 1.67-.402-.355-.917-.58-1.493-.58C3.02 9.54 2 10.56 2 11.815c0 .814.433 1.523 1.078 1.925-.037.222-.06.445-.06.673 0 3.292 4.01 5.97 8.94 5.97s8.94-2.678 8.94-5.97c0-.214-.02-.424-.052-.632.687-.39 1.154-1.12 1.154-1.964zm-3.224-7.422c.606 0 1.1.493 1.1 1.1s-.493 1.1-1.1 1.1-1.1-.494-1.1-1.1.493-1.1 1.1-1.1zm-16 7.422c0-.827.673-1.5 1.5-1.5.313 0 .598.103.838.27-.85.675-1.477 1.478-1.812 2.36-.32-.274-.525-.676-.525-1.13zm9.183 7.79c-4.502 0-8.165-2.33-8.165-5.193S7.457 9.22 11.96 9.22s8.163 2.33 8.163 5.193-3.663 5.193-8.164 5.193zM20.635 13c-.326-.89-.948-1.7-1.797-2.383.247-.186.55-.3.882-.3.827 0 1.5.672 1.5 1.5 0 .482-.23.91-.586 1.184zm-11.64 1.704c-.76 0-1.397-.616-1.397-1.376 0-.76.636-1.397 1.396-1.397.76 0 1.376.638 1.376 1.398 0 .76-.616 1.376-1.376 1.376zm7.405-1.376c0 .76-.615 1.376-1.375 1.376s-1.4-.616-1.4-1.376c0-.76.64-1.397 1.4-1.397.76 0 1.376.638 1.376 1.398zm-1.17 3.38c.15.152.15.398 0 .55-.675.674-1.728 1.002-3.22 1.002l-.01-.002-.012.002c-1.492 0-2.544-.328-3.218-1.002-.152-.152-.152-.398 0-.55.152-.152.4-.15.55 0 .52.52 1.394.775 2.67.775l.01.002.01-.002c1.276 0 2.15-.253 2.67-.775.15-.152.398-.152.55 0z" +})); +const embedTumblrIcon = { + foreground: '#35465c', + src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M19 3H5a2 2 0 00-2 2v14c0 1.1.9 2 2 2h14a2 2 0 002-2V5a2 2 0 00-2-2zm-5.69 14.66c-2.72 0-3.1-1.9-3.1-3.16v-3.56H8.49V8.99c1.7-.62 2.54-1.99 2.64-2.87 0-.06.06-.41.06-.58h1.9v3.1h2.17v2.3h-2.18v3.1c0 .47.13 1.3 1.2 1.26h1.1v2.36c-1.01.02-2.07 0-2.07 0z" + })) +}; +const embedAmazonIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M18.42 14.58c-.51-.66-1.05-1.23-1.05-2.5V7.87c0-1.8.15-3.45-1.2-4.68-1.05-1.02-2.79-1.35-4.14-1.35-2.6 0-5.52.96-6.12 4.14-.06.36.18.54.4.57l2.66.3c.24-.03.42-.27.48-.5.24-1.12 1.17-1.63 2.2-1.63.56 0 1.22.21 1.55.7.4.56.33 1.31.33 1.97v.36c-1.59.18-3.66.27-5.16.93a4.63 4.63 0 0 0-2.93 4.44c0 2.82 1.8 4.23 4.1 4.23 1.95 0 3.03-.45 4.53-1.98.51.72.66 1.08 1.59 1.83.18.09.45.09.63-.1v.04l2.1-1.8c.24-.21.2-.48.03-.75zm-5.4-1.2c-.45.75-1.14 1.23-1.92 1.23-1.05 0-1.65-.81-1.65-1.98 0-2.31 2.1-2.73 4.08-2.73v.6c0 1.05.03 1.92-.5 2.88z" +}), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M21.69 19.2a17.62 17.62 0 0 1-21.6-1.57c-.23-.2 0-.5.28-.33a23.88 23.88 0 0 0 20.93 1.3c.45-.19.84.3.39.6z" +}), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M22.8 17.96c-.36-.45-2.22-.2-3.1-.12-.23.03-.3-.18-.05-.36 1.5-1.05 3.96-.75 4.26-.39.3.36-.1 2.82-1.5 4.02-.21.18-.42.1-.3-.15.3-.8 1.02-2.58.69-3z" +})); +const embedAnimotoIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "m.0206909 21 19.8160091-13.07806 3.5831 6.20826z", + fill: "#4bc7ee" +}), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "m23.7254 19.0205-10.1074-17.18468c-.6421-1.114428-1.7087-1.114428-2.3249 0l-11.2931 19.16418h22.5655c1.279 0 1.8019-.8905 1.1599-1.9795z", + fill: "#d4cdcb" +}), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "m.0206909 21 15.2439091-16.38571 4.3029 7.32271z", + fill: "#c3d82e" +}), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "m13.618 1.83582c-.6421-1.114428-1.7087-1.114428-2.3249 0l-11.2931 19.16418 15.2646-16.38573z", + fill: "#e4ecb0" +}), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "m.0206909 21 19.5468091-9.063 1.6621 2.8344z", + fill: "#209dbd" +}), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "m.0206909 21 17.9209091-11.82623 1.6259 2.76323z", + fill: "#7cb3c9" +})); +const embedDailymotionIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "m12.1479 18.5957c-2.4949 0-4.28131-1.7558-4.28131-4.0658 0-2.2176 1.78641-4.0965 4.09651-4.0965 2.2793 0 4.0349 1.7864 4.0349 4.1581 0 2.2794-1.7556 4.0042-3.8501 4.0042zm8.3521-18.5957-4.5329 1v7c-1.1088-1.41691-2.8028-1.8787-4.8049-1.8787-2.09443 0-3.97329.76993-5.5133 2.27917-1.72483 1.66323-2.6489 3.78863-2.6489 6.16033 0 2.5873.98562 4.8049 2.89526 6.499 1.44763 1.2936 3.17251 1.9402 5.17454 1.9402 1.9713 0 3.4498-.5236 4.8973-1.9402v1.9402h4.5329c0-7.6359 0-15.3641 0-23z", + fill: "#333436" +})); +const embedPinterestIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + width: "24", + height: "24", + viewBox: "0 0 24 24", + version: "1.1" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M12.289,2C6.617,2,3.606,5.648,3.606,9.622c0,1.846,1.025,4.146,2.666,4.878c0.25,0.111,0.381,0.063,0.439-0.169 c0.044-0.175,0.267-1.029,0.365-1.428c0.032-0.128,0.017-0.237-0.091-0.362C6.445,11.911,6.01,10.75,6.01,9.668 c0-2.777,2.194-5.464,5.933-5.464c3.23,0,5.49,2.108,5.49,5.122c0,3.407-1.794,5.768-4.13,5.768c-1.291,0-2.257-1.021-1.948-2.277 c0.372-1.495,1.089-3.112,1.089-4.191c0-0.967-0.542-1.775-1.663-1.775c-1.319,0-2.379,1.309-2.379,3.059 c0,1.115,0.394,1.869,0.394,1.869s-1.302,5.279-1.54,6.261c-0.405,1.666,0.053,4.368,0.094,4.604 c0.021,0.126,0.167,0.169,0.25,0.063c0.129-0.165,1.699-2.419,2.142-4.051c0.158-0.59,0.817-2.995,0.817-2.995 c0.43,0.784,1.681,1.446,3.013,1.446c3.963,0,6.822-3.494,6.822-7.833C20.394,5.112,16.849,2,12.289,2" +})); +const embedWolframIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { + viewBox: "0 0 44 44" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { + d: "M32.59521,22.001l4.31885-4.84473-6.34131-1.38379.646-6.459-5.94336,2.61035L22,6.31934l-3.27344,5.60351L12.78418,9.3125l.645,6.458L7.08643,17.15234,11.40479,21.999,7.08594,26.84375l6.34131,1.38379-.64551,6.458,5.94287-2.60938L22,37.68066l3.27344-5.60351,5.94287,2.61035-.64551-6.458,6.34277-1.38183Zm.44385,2.75244L30.772,23.97827l-1.59558-2.07391,1.97888.735Zm-8.82147,6.1579L22.75,33.424V30.88977l1.52228-2.22168ZM18.56226,13.48816,19.819,15.09534l-2.49219-.88642L15.94037,12.337Zm6.87719.00116,2.62043-1.15027-1.38654,1.86981L24.183,15.0946Zm3.59357,2.6029-1.22546,1.7381.07525-2.73486,1.44507-1.94867ZM22,29.33008l-2.16406-3.15686L22,23.23688l2.16406,2.93634Zm-4.25458-9.582-.10528-3.836,3.60986,1.284v3.73242Zm5.00458-2.552,3.60986-1.284-.10528,3.836L22.75,20.92853Zm-7.78174-1.10559-.29352-2.94263,1.44245,1.94739.07519,2.73321Zm2.30982,5.08319,3.50817,1.18164-2.16247,2.9342-3.678-1.08447Zm2.4486,7.49285L21.25,30.88977v2.53485L19.78052,30.91Zm3.48707-6.31121,3.50817-1.18164,2.33228,3.03137-3.678,1.08447Zm10.87219-4.28113-2.714,3.04529L28.16418,19.928l1.92176-2.72565ZM24.06036,12.81769l-2.06012,2.6322-2.059-2.63318L22,9.292ZM9.91455,18.07227l4.00079-.87195,1.921,2.72735-3.20794,1.19019Zm2.93024,4.565,1.9801-.73462L13.228,23.97827l-2.26838.77429Zm-1.55591,3.58819L13.701,25.4021l2.64935.78058-2.14447.67853Zm3.64868,1.977L18.19,27.17334l.08313,3.46332L14.52979,32.2793Zm10.7876,2.43549.08447-3.464,3.25165,1.03052.407,4.07684Zm4.06824-3.77478-2.14545-.68,2.65063-.781,2.41266.825Z" +})); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-loading.js + + +/** + * WordPress dependencies + */ + + + +const EmbedLoading = () => Object(external_wp_element_["createElement"])("div", { + className: "wp-block-embed is-loading" +}, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null), Object(external_wp_element_["createElement"])("p", null, Object(external_wp_i18n_["__"])('Embedding…'))); + +/* harmony default export */ var embed_loading = (EmbedLoading); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-placeholder.js + + +/** + * WordPress dependencies + */ + + + + +const EmbedPlaceholder = ({ + icon, + label, + value, + onSubmit, + onChange, + cannotEmbed, + fallback, + tryAgain +}) => { + return Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { + icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { + icon: icon, + showColors: true + }), + label: label, + className: "wp-block-embed", + instructions: Object(external_wp_i18n_["__"])('Paste a link to the content you want to display on your site.') + }, Object(external_wp_element_["createElement"])("form", { + onSubmit: onSubmit + }, Object(external_wp_element_["createElement"])("input", { + type: "url", + value: value || '', + className: "components-placeholder__input", + "aria-label": label, + placeholder: Object(external_wp_i18n_["__"])('Enter URL to embed here…'), + onChange: onChange + }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + variant: "primary", + type: "submit" + }, Object(external_wp_i18n_["_x"])('Embed', 'button label'))), Object(external_wp_element_["createElement"])("div", { + className: "components-placeholder__learn-more" + }, Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { + href: Object(external_wp_i18n_["__"])('https://wordpress.org/support/article/embeds/') + }, Object(external_wp_i18n_["__"])('Learn more about embeds'))), cannotEmbed && Object(external_wp_element_["createElement"])("div", { + className: "components-placeholder__error" + }, Object(external_wp_element_["createElement"])("div", { + className: "components-placeholder__instructions" + }, Object(external_wp_i18n_["__"])('Sorry, this content could not be embedded.')), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + variant: "secondary", + onClick: tryAgain + }, Object(external_wp_i18n_["_x"])('Try again', 'button label')), ' ', Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + variant: "secondary", + onClick: fallback + }, Object(external_wp_i18n_["_x"])('Convert to link', 'button label')))); +}; + +/* harmony default export */ var embed_placeholder = (EmbedPlaceholder); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/wp-embed-preview.js + + + +/** + * WordPress dependencies + */ + + +/** @typedef {import('@wordpress/element').WPSyntheticEvent} WPSyntheticEvent */ + +const attributeMap = { + class: 'className', + frameborder: 'frameBorder', + marginheight: 'marginHeight', + marginwidth: 'marginWidth' +}; +function WpEmbedPreview({ + html +}) { + const ref = Object(external_wp_element_["useRef"])(); + const props = Object(external_wp_element_["useMemo"])(() => { + const doc = new window.DOMParser().parseFromString(html, 'text/html'); + const iframe = doc.querySelector('iframe'); + const iframeProps = {}; + if (!iframe) return iframeProps; + Array.from(iframe.attributes).forEach(({ + name, + value + }) => { + if (name === 'style') return; + iframeProps[attributeMap[name] || name] = value; + }); + return iframeProps; + }, [html]); + Object(external_wp_element_["useEffect"])(() => { + const { + ownerDocument + } = ref.current; + const { + defaultView + } = ownerDocument; + /** + * Checks for WordPress embed events signaling the height change when + * iframe content loads or iframe's window is resized. The event is + * sent from WordPress core via the window.postMessage API. + * + * References: + * window.postMessage: + * https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage + * WordPress core embed-template on load: + * https://github.com/WordPress/WordPress/blob/HEAD/wp-includes/js/wp-embed-template.js#L143 + * WordPress core embed-template on resize: + * https://github.com/WordPress/WordPress/blob/HEAD/wp-includes/js/wp-embed-template.js#L187 + * + * @param {MessageEvent} event Message event. + */ + + function resizeWPembeds({ + data: { + secret, + message, + value + } = {} + }) { + if (message !== 'height' || secret !== props['data-secret']) { + return; + } + + ref.current.height = value; + } + + defaultView.addEventListener('message', resizeWPembeds); + return () => { + defaultView.removeEventListener('message', resizeWPembeds); + }; + }, []); + return Object(external_wp_element_["createElement"])("div", { + className: "wp-block-embed__wrapper" + }, Object(external_wp_element_["createElement"])("iframe", Object(esm_extends["a" /* default */])({ + ref: Object(external_wp_compose_["useMergeRefs"])([ref, Object(external_wp_compose_["useFocusableIframe"])()]), + title: props.title + }, props))); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-preview.js + + +/** + * Internal dependencies + */ + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + +/** + * Internal dependencies + */ + + + +class embed_preview_EmbedPreview extends external_wp_element_["Component"] { + constructor() { + super(...arguments); + this.hideOverlay = this.hideOverlay.bind(this); + this.state = { + interactive: false + }; + } + + static getDerivedStateFromProps(nextProps, state) { + if (!nextProps.isSelected && state.interactive) { + // We only want to change this when the block is not selected, because changing it when + // the block becomes selected makes the overlap disappear too early. Hiding the overlay + // happens on mouseup when the overlay is clicked. + return { + interactive: false + }; + } + + return null; + } + + hideOverlay() { + // This is called onMouseUp on the overlay. We can't respond to the `isSelected` prop + // changing, because that happens on mouse down, and the overlay immediately disappears, + // and the mouse event can end up in the preview content. We can't use onClick on + // the overlay to hide it either, because then the editor misses the mouseup event, and + // thinks we're multi-selecting blocks. + this.setState({ + interactive: true + }); + } + + render() { + const { + preview, + previewable, + url, + type, + caption, + onCaptionChange, + isSelected, + className, + icon, + label, + insertBlocksAfter + } = this.props; + const { + scripts + } = preview; + const { + interactive + } = this.state; + const html = 'photo' === type ? getPhotoHtml(preview) : preview.html; + const parsedHost = new URL(url).host.split('.'); + const parsedHostBaseUrl = parsedHost.splice(parsedHost.length - 2, parsedHost.length - 1).join('.'); + const iframeTitle = Object(external_wp_i18n_["sprintf"])( // translators: %s: host providing embed content e.g: www.youtube.com + Object(external_wp_i18n_["__"])('Embedded content from %s'), parsedHostBaseUrl); + const sandboxClassnames = dedupe_default()(type, className, 'wp-block-embed__wrapper'); // Disabled because the overlay div doesn't actually have a role or functionality + // as far as the user is concerned. We're just catching the first click so that + // the block can be selected without interacting with the embed preview that the overlay covers. + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + + const embedWrapper = 'wp-embed' === type ? Object(external_wp_element_["createElement"])(WpEmbedPreview, { + html: html + }) : Object(external_wp_element_["createElement"])("div", { + className: "wp-block-embed__wrapper" + }, Object(external_wp_element_["createElement"])(external_wp_components_["SandBox"], { + html: html, + scripts: scripts, + title: iframeTitle, + type: sandboxClassnames, + onFocus: this.hideOverlay + }), !interactive && Object(external_wp_element_["createElement"])("div", { + className: "block-library-embed__interactive-overlay", + onMouseUp: this.hideOverlay + })); + /* eslint-enable jsx-a11y/no-static-element-interactions */ + + return Object(external_wp_element_["createElement"])("figure", { + className: dedupe_default()(className, 'wp-block-embed', { + 'is-type-video': 'video' === type + }) + }, previewable ? embedWrapper : Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { + icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { + icon: icon, + showColors: true + }), + label: label + }, Object(external_wp_element_["createElement"])("p", { + className: "components-placeholder__error" + }, Object(external_wp_element_["createElement"])("a", { + href: url + }, url)), Object(external_wp_element_["createElement"])("p", { + className: "components-placeholder__error" + }, Object(external_wp_i18n_["sprintf"])( + /* translators: %s: host providing embed content e.g: www.youtube.com */ + Object(external_wp_i18n_["__"])("Embedded content from %s can't be previewed in the editor."), parsedHostBaseUrl))), (!external_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { + tagName: "figcaption", + placeholder: Object(external_wp_i18n_["__"])('Add caption'), + value: caption, + onChange: onCaptionChange, + inlineToolbar: true, + __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) + })); + } + +} + +/* harmony default export */ var embed_preview = (embed_preview_EmbedPreview); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/edit.js + + +/** + * Internal dependencies + */ + + + + + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + + +const EmbedEdit = props => { + const { + attributes: { + providerNameSlug, + previewable, + responsive, + url: attributesUrl + }, + attributes, + isSelected, + onReplace, + setAttributes, + insertBlocksAfter, + onFocus + } = props; + const defaultEmbedInfo = { + title: Object(external_wp_i18n_["_x"])('Embed', 'block title'), + icon: embedContentIcon + }; + const { + icon, + title + } = getEmbedInfoByProvider(providerNameSlug) || defaultEmbedInfo; + const [url, setURL] = Object(external_wp_element_["useState"])(attributesUrl); + const [isEditingURL, setIsEditingURL] = Object(external_wp_element_["useState"])(false); + const { + invalidateResolution + } = Object(external_wp_data_["useDispatch"])(external_wp_coreData_["store"]); + const { + preview, + fetching, + themeSupportsResponsive, + cannotEmbed + } = Object(external_wp_data_["useSelect"])(select => { + var _embedPreview$data; + + const { + getEmbedPreview, + isPreviewEmbedFallback, + isRequestingEmbedPreview, + getThemeSupports + } = select(external_wp_coreData_["store"]); + + if (!attributesUrl) { + return { + fetching: false, + cannotEmbed: false + }; + } + + const embedPreview = getEmbedPreview(attributesUrl); + const previewIsFallback = isPreviewEmbedFallback(attributesUrl); // The external oEmbed provider does not exist. We got no type info and no html. + + const badEmbedProvider = (embedPreview === null || embedPreview === void 0 ? void 0 : embedPreview.html) === false && (embedPreview === null || embedPreview === void 0 ? void 0 : embedPreview.type) === undefined; // Some WordPress URLs that can't be embedded will cause the API to return + // a valid JSON response with no HTML and `data.status` set to 404, rather + // than generating a fallback response as other embeds do. + + const wordpressCantEmbed = (embedPreview === null || embedPreview === void 0 ? void 0 : (_embedPreview$data = embedPreview.data) === null || _embedPreview$data === void 0 ? void 0 : _embedPreview$data.status) === 404; + const validPreview = !!embedPreview && !badEmbedProvider && !wordpressCantEmbed; + return { + preview: validPreview ? embedPreview : undefined, + fetching: isRequestingEmbedPreview(attributesUrl), + themeSupportsResponsive: getThemeSupports()['responsive-embeds'], + cannotEmbed: !validPreview || previewIsFallback + }; + }, [attributesUrl]); + /** + * @return {Object} Attributes derived from the preview, merged with the current attributes. + */ + + const getMergedAttributes = () => { + const { + allowResponsive, + className + } = attributes; + return { ...attributes, + ...getAttributesFromPreview(preview, title, className, responsive, allowResponsive) + }; + }; + + const toggleResponsive = () => { + const { + allowResponsive, + className + } = attributes; + const { + html + } = preview; + const newAllowResponsive = !allowResponsive; + setAttributes({ + allowResponsive: newAllowResponsive, + className: getClassNames(html, className, responsive && newAllowResponsive) + }); + }; + + Object(external_wp_element_["useEffect"])(() => { + if (!(preview !== null && preview !== void 0 && preview.html) || !cannotEmbed || fetching) { + return; + } // At this stage, we're not fetching the preview and know it can't be embedded, + // so try removing any trailing slash, and resubmit. + + + const newURL = attributesUrl.replace(/\/$/, ''); + setURL(newURL); + setIsEditingURL(false); + setAttributes({ + url: newURL + }); + }, [preview === null || preview === void 0 ? void 0 : preview.html, attributesUrl]); // Handle incoming preview + + Object(external_wp_element_["useEffect"])(() => { + if (preview && !isEditingURL) { + // Even though we set attributes that get derived from the preview, + // we don't access them directly because for the initial render, + // the `setAttributes` call will not have taken effect. If we're + // rendering responsive content, setting the responsive classes + // after the preview has been rendered can result in unwanted + // clipping or scrollbars. The `getAttributesFromPreview` function + // that `getMergedAttributes` uses is memoized so that we're not + // calculating them on every render. + setAttributes(getMergedAttributes()); + + if (onReplace) { + const upgradedBlock = createUpgradedEmbedBlock(props, getMergedAttributes()); + + if (upgradedBlock) { + onReplace(upgradedBlock); + } + } + } + }, [preview, isEditingURL]); + const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); + + if (fetching) { + return Object(external_wp_element_["createElement"])(external_wp_primitives_["View"], blockProps, Object(external_wp_element_["createElement"])(embed_loading, null)); + } // translators: %s: type of embed e.g: "YouTube", "Twitter", etc. "Embed" is used when no specific type exists + + + const label = Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('%s URL'), title); // No preview, or we can't embed the current URL, or we've clicked the edit button. + + const showEmbedPlaceholder = !preview || cannotEmbed || isEditingURL; + + if (showEmbedPlaceholder) { + return Object(external_wp_element_["createElement"])(external_wp_primitives_["View"], blockProps, Object(external_wp_element_["createElement"])(embed_placeholder, { + icon: icon, + label: label, + onFocus: onFocus, + onSubmit: event => { + if (event) { + event.preventDefault(); + } + + setIsEditingURL(false); + setAttributes({ + url + }); + }, + value: url, + cannotEmbed: cannotEmbed, + onChange: event => setURL(event.target.value), + fallback: () => util_fallback(url, onReplace), + tryAgain: () => { + invalidateResolution('getEmbedPreview', [url]); + } + })); + } // Even though we set attributes that get derived from the preview, + // we don't access them directly because for the initial render, + // the `setAttributes` call will not have taken effect. If we're + // rendering responsive content, setting the responsive classes + // after the preview has been rendered can result in unwanted + // clipping or scrollbars. The `getAttributesFromPreview` function + // that `getMergedAttributes` uses is memoized so that we're not + // calculating them on every render. + + + const { + caption, + type, + allowResponsive, + className: classFromPreview + } = getMergedAttributes(); + const className = classnames_default()(classFromPreview, props.className); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(embed_controls, { + showEditButton: preview && !cannotEmbed, + themeSupportsResponsive: themeSupportsResponsive, + blockSupportsResponsive: responsive, + allowResponsive: allowResponsive, + toggleResponsive: toggleResponsive, + switchBackToURLInput: () => setIsEditingURL(true) + }), Object(external_wp_element_["createElement"])(external_wp_primitives_["View"], blockProps, Object(external_wp_element_["createElement"])(embed_preview, { + preview: preview, + previewable: previewable, + className: className, + url: url, + type: type, + caption: caption, + onCaptionChange: value => setAttributes({ + caption: value + }), + isSelected: isSelected, + icon: icon, + label: label, + insertBlocksAfter: insertBlocksAfter + }))); +}; + +/* harmony default export */ var embed_edit = (EmbedEdit); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/save.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +function embed_save_save({ + attributes +}) { + const { + url, + caption, + type, + providerNameSlug + } = attributes; + + if (!url) { + return null; + } + + const className = dedupe_default()('wp-block-embed', { + [`is-type-${type}`]: type, + [`is-provider-${providerNameSlug}`]: providerNameSlug, + [`wp-block-embed-${providerNameSlug}`]: providerNameSlug + }); + return Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save({ + className + }), Object(external_wp_element_["createElement"])("div", { + className: "wp-block-embed__wrapper" + }, `\n${url}\n` + /* URL needs to be on its own line. */ + ), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "figcaption", + value: caption + })); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/transforms.js +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + +const transforms_metadata = { + apiVersion: 2, + name: "core/embed", + title: "Embed", + category: "embed", + description: "Add a block that displays content pulled from other sites, like Twitter or YouTube.", + textdomain: "default", + attributes: { + url: { + type: "string" + }, caption: { type: "string", source: "html", selector: "figcaption" }, - title: { - type: "string", - source: "attribute", - selector: "img", - attribute: "title" - }, - href: { - type: "string", - source: "attribute", - selector: "figure > a", - attribute: "href" - }, - rel: { - type: "string", - source: "attribute", - selector: "figure > a", - attribute: "rel" - }, - linkClass: { - type: "string", - source: "attribute", - selector: "figure > a", - attribute: "class" - }, - id: { - type: "number" - }, - width: { - type: "number" - }, - height: { - type: "number" - }, - sizeSlug: { + type: { type: "string" }, - linkDestination: { + providerNameSlug: { type: "string" }, - linkTarget: { - type: "string", - source: "attribute", - selector: "figure > a", - attribute: "target" + allowResponsive: { + type: "boolean", + "default": true + }, + responsive: { + type: "boolean", + "default": false + }, + previewable: { + type: "boolean", + "default": true } }, supports: { - anchor: true, - color: { - __experimentalDuotone: "img", - text: false, - background: false - }, - __experimentalBorder: { - radius: true - } + align: true }, - styles: [{ - name: "default", - label: "Default", - isDefault: true - }, { - name: "rounded", - label: "Rounded" - }], - editorStyle: "wp-block-image-editor", - style: "wp-block-image" + editorStyle: "wp-block-embed-editor", + style: "wp-block-embed" }; - - const { - name: image_name -} = image_metadata; + name: EMBED_BLOCK +} = transforms_metadata; +/** + * Default transforms for generic embeds. + */ -const image_settings = { - icon: library_image, - example: { - attributes: { - sizeSlug: 'large', - url: 'https://s.w.org/images/core/5.3/MtBlanc1.jpg', - // translators: Caption accompanying an image of the Mont Blanc, which serves as an example for the Image block. - caption: Object(external_wp_i18n_["__"])('Mont Blanc appears—still, snowy, and serene.') +const embed_transforms_transforms = { + from: [{ + type: 'raw', + isMatch: node => { + var _node$textContent, _node$textContent$mat; + + return node.nodeName === 'P' && /^\s*(https?:\/\/\S+)\s*$/i.test(node.textContent) && ((_node$textContent = node.textContent) === null || _node$textContent === void 0 ? void 0 : (_node$textContent$mat = _node$textContent.match(/https/gi)) === null || _node$textContent$mat === void 0 ? void 0 : _node$textContent$mat.length) === 1; + }, + transform: node => { + return Object(external_wp_blocks_["createBlock"])(EMBED_BLOCK, { + url: node.textContent.trim() + }); } - }, + }], + to: [{ + type: 'block', + blocks: ['core/paragraph'], + isMatch: ({ + url + }) => !!url, + transform: ({ + url, + caption + }) => { + let value = `${url}`; - __experimentalLabel(attributes, { - context - }) { - if (context === 'accessibility') { - const { - caption, - alt, - url - } = attributes; - - if (!url) { - return Object(external_wp_i18n_["__"])('Empty'); + if (caption !== null && caption !== void 0 && caption.trim()) { + value += `
    ${caption}`; } - if (!alt) { - return caption || ''; - } // This is intended to be read by a screen reader. - // A period simply means a pause, no need to translate it. - - - return alt + (caption ? '. ' + caption : ''); + return Object(external_wp_blocks_["createBlock"])('core/paragraph', { + content: value + }); } - }, - - getEditWrapperProps(attributes) { - return { - 'data-align': attributes.align - }; - }, - - transforms: image_transforms, - edit: image_edit, - save: save_save, - deprecated: image_deprecated + }] }; +/* harmony default export */ var embed_transforms = (embed_transforms_transforms); -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/heading.js - - +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/variations.js /** * WordPress dependencies */ -const heading = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M6.2 5.2v13.4l5.8-4.8 5.8 4.8V5.2z" -})); -/* harmony default export */ var library_heading = (heading); +/** + * Internal dependencies + */ -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/deprecated.js + +/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */ + +/** + * Template option choices for predefined columns layouts. + * + * @type {WPBlockVariation[]} + */ + +const embed_variations_variations = [{ + name: 'twitter', + title: 'Twitter', + icon: embedTwitterIcon, + keywords: ['tweet', Object(external_wp_i18n_["__"])('social')], + description: Object(external_wp_i18n_["__"])('Embed a tweet.'), + patterns: [/^https?:\/\/(www\.)?twitter\.com\/.+/i], + attributes: { + providerNameSlug: 'twitter', + responsive: true + } +}, { + name: 'youtube', + title: 'YouTube', + icon: embedYouTubeIcon, + keywords: [Object(external_wp_i18n_["__"])('music'), Object(external_wp_i18n_["__"])('video')], + description: Object(external_wp_i18n_["__"])('Embed a YouTube video.'), + patterns: [/^https?:\/\/((m|www)\.)?youtube\.com\/.+/i, /^https?:\/\/youtu\.be\/.+/i], + attributes: { + providerNameSlug: 'youtube', + responsive: true + } +}, { + // Deprecate Facebook Embed per FB policy + // See: https://developers.facebook.com/docs/plugins/oembed-legacy + name: 'facebook', + title: 'Facebook', + icon: embedFacebookIcon, + keywords: [Object(external_wp_i18n_["__"])('social')], + description: Object(external_wp_i18n_["__"])('Embed a Facebook post.'), + scope: ['block'], + patterns: [], + attributes: { + providerNameSlug: 'facebook', + previewable: false, + responsive: true + } +}, { + // Deprecate Instagram per FB policy + // See: https://developers.facebook.com/docs/instagram/oembed-legacy + name: 'instagram', + title: 'Instagram', + icon: embedInstagramIcon, + keywords: [Object(external_wp_i18n_["__"])('image'), Object(external_wp_i18n_["__"])('social')], + description: Object(external_wp_i18n_["__"])('Embed an Instagram post.'), + scope: ['block'], + patterns: [], + attributes: { + providerNameSlug: 'instagram', + responsive: true + } +}, { + name: 'wordpress', + title: 'WordPress', + icon: embedWordPressIcon, + keywords: [Object(external_wp_i18n_["__"])('post'), Object(external_wp_i18n_["__"])('blog')], + description: Object(external_wp_i18n_["__"])('Embed a WordPress post.'), + attributes: { + providerNameSlug: 'wordpress' + } +}, { + name: 'soundcloud', + title: 'SoundCloud', + icon: embedAudioIcon, + keywords: [Object(external_wp_i18n_["__"])('music'), Object(external_wp_i18n_["__"])('audio')], + description: Object(external_wp_i18n_["__"])('Embed SoundCloud content.'), + patterns: [/^https?:\/\/(www\.)?soundcloud\.com\/.+/i], + attributes: { + providerNameSlug: 'soundcloud', + responsive: true + } +}, { + name: 'spotify', + title: 'Spotify', + icon: embedSpotifyIcon, + keywords: [Object(external_wp_i18n_["__"])('music'), Object(external_wp_i18n_["__"])('audio')], + description: Object(external_wp_i18n_["__"])('Embed Spotify content.'), + patterns: [/^https?:\/\/(open|play)\.spotify\.com\/.+/i], + attributes: { + providerNameSlug: 'spotify', + responsive: true + } +}, { + name: 'flickr', + title: 'Flickr', + icon: embedFlickrIcon, + keywords: [Object(external_wp_i18n_["__"])('image')], + description: Object(external_wp_i18n_["__"])('Embed Flickr content.'), + patterns: [/^https?:\/\/(www\.)?flickr\.com\/.+/i, /^https?:\/\/flic\.kr\/.+/i], + attributes: { + providerNameSlug: 'flickr', + responsive: true + } +}, { + name: 'vimeo', + title: 'Vimeo', + icon: embedVimeoIcon, + keywords: [Object(external_wp_i18n_["__"])('video')], + description: Object(external_wp_i18n_["__"])('Embed a Vimeo video.'), + patterns: [/^https?:\/\/(www\.)?vimeo\.com\/.+/i], + attributes: { + providerNameSlug: 'vimeo', + responsive: true + } +}, { + name: 'animoto', + title: 'Animoto', + icon: embedAnimotoIcon, + description: Object(external_wp_i18n_["__"])('Embed an Animoto video.'), + patterns: [/^https?:\/\/(www\.)?(animoto|video214)\.com\/.+/i], + attributes: { + providerNameSlug: 'animoto', + responsive: true + } +}, { + name: 'cloudup', + title: 'Cloudup', + icon: embedContentIcon, + description: Object(external_wp_i18n_["__"])('Embed Cloudup content.'), + patterns: [/^https?:\/\/cloudup\.com\/.+/i], + attributes: { + providerNameSlug: 'cloudup', + responsive: true + } +}, { + // Deprecated since CollegeHumor content is now powered by YouTube + name: 'collegehumor', + title: 'CollegeHumor', + icon: embedVideoIcon, + description: Object(external_wp_i18n_["__"])('Embed CollegeHumor content.'), + scope: ['block'], + patterns: [], + attributes: { + providerNameSlug: 'collegehumor', + responsive: true + } +}, { + name: 'crowdsignal', + title: 'Crowdsignal', + icon: embedContentIcon, + keywords: ['polldaddy', Object(external_wp_i18n_["__"])('survey')], + description: Object(external_wp_i18n_["__"])('Embed Crowdsignal (formerly Polldaddy) content.'), + patterns: [/^https?:\/\/((.+\.)?polldaddy\.com|poll\.fm|.+\.survey\.fm)\/.+/i], + attributes: { + providerNameSlug: 'crowdsignal', + responsive: true + } +}, { + name: 'dailymotion', + title: 'Dailymotion', + icon: embedDailymotionIcon, + keywords: [Object(external_wp_i18n_["__"])('video')], + description: Object(external_wp_i18n_["__"])('Embed a Dailymotion video.'), + patterns: [/^https?:\/\/(www\.)?dailymotion\.com\/.+/i], + attributes: { + providerNameSlug: 'dailymotion', + responsive: true + } +}, { + name: 'imgur', + title: 'Imgur', + icon: embedPhotoIcon, + description: Object(external_wp_i18n_["__"])('Embed Imgur content.'), + patterns: [/^https?:\/\/(.+\.)?imgur\.com\/.+/i], + attributes: { + providerNameSlug: 'imgur', + responsive: true + } +}, { + name: 'issuu', + title: 'Issuu', + icon: embedContentIcon, + description: Object(external_wp_i18n_["__"])('Embed Issuu content.'), + patterns: [/^https?:\/\/(www\.)?issuu\.com\/.+/i], + attributes: { + providerNameSlug: 'issuu', + responsive: true + } +}, { + name: 'kickstarter', + title: 'Kickstarter', + icon: embedContentIcon, + description: Object(external_wp_i18n_["__"])('Embed Kickstarter content.'), + patterns: [/^https?:\/\/(www\.)?kickstarter\.com\/.+/i, /^https?:\/\/kck\.st\/.+/i], + attributes: { + providerNameSlug: 'kickstarter', + responsive: true + } +}, { + name: 'mixcloud', + title: 'Mixcloud', + icon: embedAudioIcon, + keywords: [Object(external_wp_i18n_["__"])('music'), Object(external_wp_i18n_["__"])('audio')], + description: Object(external_wp_i18n_["__"])('Embed Mixcloud content.'), + patterns: [/^https?:\/\/(www\.)?mixcloud\.com\/.+/i], + attributes: { + providerNameSlug: 'mixcloud', + responsive: true + } +}, { + name: 'reddit', + title: 'Reddit', + icon: embedRedditIcon, + description: Object(external_wp_i18n_["__"])('Embed a Reddit thread.'), + patterns: [/^https?:\/\/(www\.)?reddit\.com\/.+/i], + attributes: { + providerNameSlug: 'reddit', + responsive: true + } +}, { + name: 'reverbnation', + title: 'ReverbNation', + icon: embedAudioIcon, + description: Object(external_wp_i18n_["__"])('Embed ReverbNation content.'), + patterns: [/^https?:\/\/(www\.)?reverbnation\.com\/.+/i], + attributes: { + providerNameSlug: 'reverbnation', + responsive: true + } +}, { + name: 'screencast', + title: 'Screencast', + icon: embedVideoIcon, + description: Object(external_wp_i18n_["__"])('Embed Screencast content.'), + patterns: [/^https?:\/\/(www\.)?screencast\.com\/.+/i], + attributes: { + providerNameSlug: 'screencast', + responsive: true + } +}, { + name: 'scribd', + title: 'Scribd', + icon: embedContentIcon, + description: Object(external_wp_i18n_["__"])('Embed Scribd content.'), + patterns: [/^https?:\/\/(www\.)?scribd\.com\/.+/i], + attributes: { + providerNameSlug: 'scribd', + responsive: true + } +}, { + name: 'slideshare', + title: 'Slideshare', + icon: embedContentIcon, + description: Object(external_wp_i18n_["__"])('Embed Slideshare content.'), + patterns: [/^https?:\/\/(.+?\.)?slideshare\.net\/.+/i], + attributes: { + providerNameSlug: 'slideshare', + responsive: true + } +}, { + name: 'smugmug', + title: 'SmugMug', + icon: embedPhotoIcon, + description: Object(external_wp_i18n_["__"])('Embed SmugMug content.'), + patterns: [/^https?:\/\/(.+\.)?smugmug\.com\/.*/i], + attributes: { + providerNameSlug: 'smugmug', + previewable: false, + responsive: true + } +}, { + name: 'speaker-deck', + title: 'Speaker Deck', + icon: embedContentIcon, + description: Object(external_wp_i18n_["__"])('Embed Speaker Deck content.'), + patterns: [/^https?:\/\/(www\.)?speakerdeck\.com\/.+/i], + attributes: { + providerNameSlug: 'speaker-deck', + responsive: true + } +}, { + name: 'tiktok', + title: 'TikTok', + icon: embedVideoIcon, + keywords: [Object(external_wp_i18n_["__"])('video')], + description: Object(external_wp_i18n_["__"])('Embed a TikTok video.'), + patterns: [/^https?:\/\/(www\.)?tiktok\.com\/.+/i], + attributes: { + providerNameSlug: 'tiktok', + responsive: true + } +}, { + name: 'ted', + title: 'TED', + icon: embedVideoIcon, + description: Object(external_wp_i18n_["__"])('Embed a TED video.'), + patterns: [/^https?:\/\/(www\.|embed\.)?ted\.com\/.+/i], + attributes: { + providerNameSlug: 'ted', + responsive: true + } +}, { + name: 'tumblr', + title: 'Tumblr', + icon: embedTumblrIcon, + keywords: [Object(external_wp_i18n_["__"])('social')], + description: Object(external_wp_i18n_["__"])('Embed a Tumblr post.'), + patterns: [/^https?:\/\/(www\.)?tumblr\.com\/.+/i], + attributes: { + providerNameSlug: 'tumblr', + responsive: true + } +}, { + name: 'videopress', + title: 'VideoPress', + icon: embedVideoIcon, + keywords: [Object(external_wp_i18n_["__"])('video')], + description: Object(external_wp_i18n_["__"])('Embed a VideoPress video.'), + patterns: [/^https?:\/\/videopress\.com\/.+/i], + attributes: { + providerNameSlug: 'videopress', + responsive: true + } +}, { + name: 'wordpress-tv', + title: 'WordPress.tv', + icon: embedVideoIcon, + description: Object(external_wp_i18n_["__"])('Embed a WordPress.tv video.'), + patterns: [/^https?:\/\/wordpress\.tv\/.+/i], + attributes: { + providerNameSlug: 'wordpress-tv', + responsive: true + } +}, { + name: 'amazon-kindle', + title: 'Amazon Kindle', + icon: embedAmazonIcon, + keywords: [Object(external_wp_i18n_["__"])('ebook')], + description: Object(external_wp_i18n_["__"])('Embed Amazon Kindle content.'), + patterns: [/^https?:\/\/([a-z0-9-]+\.)?(amazon|amzn)(\.[a-z]{2,4})+\/.+/i, /^https?:\/\/(www\.)?(a\.co|z\.cn)\/.+/i], + attributes: { + providerNameSlug: 'amazon-kindle' + } +}, { + name: 'pinterest', + title: 'Pinterest', + icon: embedPinterestIcon, + keywords: [Object(external_wp_i18n_["__"])('social'), Object(external_wp_i18n_["__"])('bookmark')], + description: Object(external_wp_i18n_["__"])('Embed Pinterest pins, boards, and profiles.'), + patterns: [/^https?:\/\/([a-z]{2}|www)\.pinterest\.com(\.(au|mx))?\/.*/i], + attributes: { + providerNameSlug: 'pinterest' + } +}, { + name: 'wolfram-cloud', + title: 'Wolfram Cloud', + icon: embedWolframIcon, + description: Object(external_wp_i18n_["__"])('Embed Wolfram Cloud notebook content.'), + patterns: [/^https?:\/\/(www\.)?wolframcloud\.com\/obj\/.+/i], + attributes: { + providerNameSlug: 'wolfram-cloud', + responsive: true + } +}]; +/** + * Add `isActive` function to all `embed` variations, if not defined. + * `isActive` function is used to find a variation match from a created + * Block by providing its attributes. + */ + +embed_variations_variations.forEach(variation => { + if (variation.isActive) return; + + variation.isActive = (blockAttributes, variationAttributes) => blockAttributes.providerNameSlug === variationAttributes.providerNameSlug; +}); +/* harmony default export */ var embed_variations = (embed_variations_variations); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/deprecated.js /** * External dependencies */ +/** + * Internal dependencies + */ +const deprecated_metadata = { + apiVersion: 2, + name: "core/embed", + title: "Embed", + category: "embed", + description: "Add a block that displays content pulled from other sites, like Twitter or YouTube.", + textdomain: "default", + attributes: { + url: { + type: "string" + }, + caption: { + type: "string", + source: "html", + selector: "figcaption" + }, + type: { + type: "string" + }, + providerNameSlug: { + type: "string" + }, + allowResponsive: { + type: "boolean", + "default": true + }, + responsive: { + type: "boolean", + "default": false + }, + previewable: { + type: "boolean", + "default": true + } + }, + supports: { + align: true + }, + editorStyle: "wp-block-embed-editor", + style: "wp-block-embed" +}; /** * WordPress dependencies */ -const blockSupports = { - className: false, - anchor: true -}; -const heading_deprecated_blockAttributes = { - align: { - type: 'string' - }, - content: { - type: 'string', - source: 'html', - selector: 'h1,h2,h3,h4,h5,h6', - default: '' - }, - level: { - type: 'number', - default: 2 - }, - placeholder: { - type: 'string' - } -}; - -const migrateCustomColors = attributes => { - if (!attributes.customTextColor) { - return attributes; - } - - const style = { - color: { - text: attributes.customTextColor - } - }; - return { ...Object(external_lodash_["omit"])(attributes, ['customTextColor']), - style - }; -}; - -const TEXT_ALIGN_OPTIONS = ['left', 'right', 'center']; - -const migrateTextAlign = attributes => { - const { - align, - ...rest - } = attributes; - return TEXT_ALIGN_OPTIONS.includes(align) ? { ...rest, - textAlign: align - } : attributes; -}; - -const heading_deprecated_deprecated = [{ - supports: { - align: ['wide', 'full'], - anchor: true, - className: false, - color: { - link: true - }, - fontSize: true, - lineHeight: true, - __experimentalSelector: { - 'core/heading/h1': 'h1', - 'core/heading/h2': 'h2', - 'core/heading/h3': 'h3', - 'core/heading/h4': 'h4', - 'core/heading/h5': 'h5', - 'core/heading/h6': 'h6' - }, - __unstablePasteTextInline: true - }, - attributes: heading_deprecated_blockAttributes, - isEligible: ({ - align - }) => TEXT_ALIGN_OPTIONS.includes(align), - migrate: migrateTextAlign, +const { + attributes: embed_deprecated_blockAttributes +} = deprecated_metadata; +const embed_deprecated_deprecated = [{ + attributes: embed_deprecated_blockAttributes, save({ - attributes + attributes: { + url, + caption, + type, + providerNameSlug + } }) { - const { - align, - content, - level - } = attributes; - const TagName = 'h' + level; - const className = classnames_default()({ - [`has-text-align-${align}`]: align + if (!url) { + return null; + } + + const embedClassName = classnames_default()('wp-block-embed', { + [`is-type-${type}`]: type, + [`is-provider-${providerNameSlug}`]: providerNameSlug }); - return Object(external_wp_element_["createElement"])(TagName, external_wp_blockEditor_["useBlockProps"].save({ - className - }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - value: content + return Object(external_wp_element_["createElement"])("figure", { + className: embedClassName + }, `\n${url}\n` + /* URL needs to be on its own line. */ + , !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "figcaption", + value: caption })); } -}, { - supports: blockSupports, - attributes: { ...heading_deprecated_blockAttributes, - customTextColor: { - type: 'string' - }, - textColor: { - type: 'string' - } - }, - migrate: attributes => migrateCustomColors(migrateTextAlign(attributes)), - - save({ - attributes - }) { - const { - align, - content, - customTextColor, - level, - textColor - } = attributes; - const tagName = 'h' + level; - const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); - const className = classnames_default()({ - [textClass]: textClass, - 'has-text-color': textColor || customTextColor, - [`has-text-align-${align}`]: align - }); - return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - className: className ? className : undefined, - tagName: tagName, - style: { - color: textClass ? undefined : customTextColor - }, - value: content - }); - } - -}, { - attributes: { ...heading_deprecated_blockAttributes, - customTextColor: { - type: 'string' - }, - textColor: { - type: 'string' - } - }, - migrate: attributes => migrateCustomColors(migrateTextAlign(attributes)), - - save({ - attributes - }) { - const { - align, - content, - customTextColor, - level, - textColor - } = attributes; - const tagName = 'h' + level; - const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); - const className = classnames_default()({ - [textClass]: textClass, - [`has-text-align-${align}`]: align - }); - return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - className: className ? className : undefined, - tagName: tagName, - style: { - color: textClass ? undefined : customTextColor - }, - value: content - }); - }, - - supports: blockSupports -}, { - supports: blockSupports, - attributes: { ...heading_deprecated_blockAttributes, - customTextColor: { - type: 'string' - }, - textColor: { - type: 'string' - } - }, - migrate: attributes => migrateCustomColors(migrateTextAlign(attributes)), - - save({ - attributes - }) { - const { - align, - level, - content, - textColor, - customTextColor - } = attributes; - const tagName = 'h' + level; - const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); - const className = classnames_default()({ - [textClass]: textClass - }); - return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - className: className ? className : undefined, - tagName: tagName, - style: { - textAlign: align, - color: textClass ? undefined : customTextColor - }, - value: content - }); - } - }]; -/* harmony default export */ var heading_deprecated = (heading_deprecated_deprecated); - -// EXTERNAL MODULE: external ["wp","keycodes"] -var external_wp_keycodes_ = __webpack_require__("RxS6"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/heading-level-icon.js - - -/** - * WordPress dependencies - */ - -/** @typedef {import('@wordpress/element').WPComponent} WPComponent */ - -/** - * HeadingLevelIcon props. - * - * @typedef WPHeadingLevelIconProps - * - * @property {number} level The heading level to show an icon for. - * @property {?boolean} isPressed Whether or not the icon should appear pressed; default: false. - */ - -/** - * Heading level icon. - * - * @param {WPHeadingLevelIconProps} props Component props. - * - * @return {?WPComponent} The icon. - */ - -function HeadingLevelIcon({ - level, - isPressed = false -}) { - const levelToPath = { - 1: 'M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z', - 2: 'M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.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.6V15h8v-2H15z', - 3: 'M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z', - 4: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z', - 5: 'M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z', - 6: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z' - }; - - if (!levelToPath.hasOwnProperty(level)) { - return null; - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { - width: "24", - height: "24", - viewBox: "0 0 20 20", - xmlns: "http://www.w3.org/2000/svg", - isPressed: isPressed - }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { - d: levelToPath[level] - })); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/heading-level-dropdown.js - - -/** - * WordPress dependencies - */ - - +/* harmony default export */ var embed_deprecated = (embed_deprecated_deprecated); +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/index.js /** * Internal dependencies */ -const HEADING_LEVELS = [1, 2, 3, 4, 5, 6]; -const heading_level_dropdown_POPOVER_PROPS = { - className: 'block-library-heading-level-dropdown', - isAlternate: true -}; -/** @typedef {import('@wordpress/element').WPComponent} WPComponent */ - -/** - * HeadingLevelDropdown props. - * - * @typedef WPHeadingLevelDropdownProps - * - * @property {number} selectedLevel The chosen heading level. - * @property {(newValue:number)=>any} onChange Callback to run when - * toolbar value is changed. - */ - -/** - * Dropdown for selecting a heading level (1 through 6). - * - * @param {WPHeadingLevelDropdownProps} props Component props. - * - * @return {WPComponent} The toolbar. - */ - -function HeadingLevelDropdown({ - selectedLevel, - onChange -}) { - return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { - popoverProps: heading_level_dropdown_POPOVER_PROPS, - renderToggle: ({ - onToggle, - isOpen - }) => { - const openOnArrowDown = event => { - if (!isOpen && event.keyCode === external_wp_keycodes_["DOWN"]) { - event.preventDefault(); - event.stopPropagation(); - onToggle(); - } - }; - - return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - "aria-expanded": isOpen, - "aria-haspopup": "true", - icon: Object(external_wp_element_["createElement"])(HeadingLevelIcon, { - level: selectedLevel - }), - label: Object(external_wp_i18n_["__"])('Change heading level'), - onClick: onToggle, - onKeyDown: openOnArrowDown, - showTooltip: true - }); - }, - renderContent: () => Object(external_wp_element_["createElement"])(external_wp_components_["Toolbar"], { - className: "block-library-heading-level-toolbar", - label: Object(external_wp_i18n_["__"])('Change heading level') - }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], { - isCollapsed: false, - controls: HEADING_LEVELS.map(targetLevel => { - const isActive = targetLevel === selectedLevel; - return { - icon: Object(external_wp_element_["createElement"])(HeadingLevelIcon, { - level: targetLevel, - isPressed: isActive - }), - title: Object(external_wp_i18n_["sprintf"])( // translators: %s: heading level e.g: "1", "2", "3" - Object(external_wp_i18n_["__"])('Heading %d'), targetLevel), - isActive, - - onClick() { - onChange(targetLevel); - } - - }; - }) - })) - }); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/edit.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - -function HeadingEdit({ - attributes, - setAttributes, - mergeBlocks, - onReplace, - mergedStyle, - clientId -}) { - const { - textAlign, - content, - level, - placeholder - } = attributes; - const tagName = 'h' + level; - const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ - className: classnames_default()({ - [`has-text-align-${textAlign}`]: textAlign - }), - style: mergedStyle - }); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { - group: "block" - }, Object(external_wp_element_["createElement"])(HeadingLevelDropdown, { - selectedLevel: level, - onChange: newLevel => setAttributes({ - level: newLevel - }) - }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentControl"], { - value: textAlign, - onChange: nextAlign => { - setAttributes({ - textAlign: nextAlign - }); - } - })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], Object(esm_extends["a" /* default */])({ - identifier: "content", - tagName: tagName, - value: content, - onChange: value => setAttributes({ - content: value - }), - onMerge: mergeBlocks, - onSplit: (value, isOriginal) => { - let block; - - if (isOriginal || value) { - block = Object(external_wp_blocks_["createBlock"])('core/heading', { ...attributes, - content: value - }); - } else { - block = Object(external_wp_blocks_["createBlock"])('core/paragraph'); - } - - if (isOriginal) { - block.clientId = clientId; - } - - return block; - }, - onReplace: onReplace, - onRemove: () => onReplace([]), - "aria-label": Object(external_wp_i18n_["__"])('Heading text'), - placeholder: placeholder || Object(external_wp_i18n_["__"])('Heading'), - textAlign: textAlign - }, blockProps))); -} - -/* harmony default export */ var heading_edit = (HeadingEdit); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/save.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -function heading_save_save({ - attributes -}) { - const { - textAlign, - content, - level - } = attributes; - const TagName = 'h' + level; - const className = classnames_default()({ - [`has-text-align-${textAlign}`]: textAlign - }); - return Object(external_wp_element_["createElement"])(TagName, external_wp_blockEditor_["useBlockProps"].save({ - className - }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - value: content - })); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/shared.js -/** - * Given a node name string for a heading node, returns its numeric level. - * - * @param {string} nodeName Heading node name. - * - * @return {number} Heading level. - */ -function getLevelFromHeadingNodeName(nodeName) { - return Number(nodeName.substr(1)); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/transforms.js -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - -const { - name: heading_transforms_name -} = { +const embed_metadata = { apiVersion: 2, - name: "core/heading", - title: "Heading", - category: "text", - description: "Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.", - keywords: ["title", "subtitle"], + name: "core/embed", + title: "Embed", + category: "embed", + description: "Add a block that displays content pulled from other sites, like Twitter or YouTube.", textdomain: "default", attributes: { - textAlign: { + url: { type: "string" }, - content: { + caption: { type: "string", source: "html", - selector: "h1,h2,h3,h4,h5,h6", - "default": "", - __experimentalRole: "content" + selector: "figcaption" }, - level: { - type: "number", - "default": 2 - }, - placeholder: { + type: { type: "string" + }, + providerNameSlug: { + type: "string" + }, + allowResponsive: { + type: "boolean", + "default": true + }, + responsive: { + type: "boolean", + "default": false + }, + previewable: { + type: "boolean", + "default": true } }, supports: { - align: ["wide", "full"], - anchor: true, - className: false, - color: { - link: true - }, - typography: { - fontSize: true, - lineHeight: true, - __experimentalFontWeight: true - }, - __experimentalSelector: "h1,h2,h3,h4,h5,h6", - __unstablePasteTextInline: true + align: true }, - editorStyle: "wp-block-heading-editor", - style: "wp-block-heading" + editorStyle: "wp-block-embed-editor", + style: "wp-block-embed" }; -const heading_transforms_transforms = { - from: [{ - type: 'block', - isMultiBlock: true, - blocks: ['core/paragraph'], - transform: attributes => attributes.map(({ - content, - anchor - }) => Object(external_wp_blocks_["createBlock"])(heading_transforms_name, { - content, - anchor - })) - }, { - type: 'raw', - selector: 'h1,h2,h3,h4,h5,h6', - schema: ({ - phrasingContentSchema, - isPaste - }) => { - const schema = { - children: phrasingContentSchema, - attributes: isPaste ? [] : ['style', 'id'] - }; - return { - h1: schema, - h2: schema, - h3: schema, - h4: schema, - h5: schema, - h6: schema - }; - }, - - transform(node) { - const attributes = Object(external_wp_blocks_["getBlockAttributes"])(heading_transforms_name, node.outerHTML); - const { - textAlign - } = node.style || {}; - attributes.level = getLevelFromHeadingNodeName(node.nodeName); - - if (textAlign === 'left' || textAlign === 'center' || textAlign === 'right') { - attributes.align = textAlign; - } - - return Object(external_wp_blocks_["createBlock"])(heading_transforms_name, attributes); - } - - }, ...[1, 2, 3, 4, 5, 6].map(level => ({ - type: 'prefix', - prefix: Array(level + 1).join('#'), - - transform(content) { - return Object(external_wp_blocks_["createBlock"])(heading_transforms_name, { - level, - content - }); - } - - })), ...[1, 2, 3, 4, 5, 6].map(level => ({ - type: 'enter', - regExp: new RegExp(`^/(h|H)${level}$`), - - transform(content) { - return Object(external_wp_blocks_["createBlock"])(heading_transforms_name, { - level, - content - }); - } - - }))], - to: [{ - type: 'block', - isMultiBlock: true, - blocks: ['core/paragraph'], - transform: attributes => attributes.map(({ - content, - anchor - }) => Object(external_wp_blocks_["createBlock"])('core/paragraph', { - content, - anchor - })) - }] -}; -/* harmony default export */ var heading_transforms = (heading_transforms_transforms); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/index.js -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ -/** - * Internal dependencies - */ - - - -const heading_metadata = { - apiVersion: 2, - name: "core/heading", - title: "Heading", - category: "text", - description: "Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.", - keywords: ["title", "subtitle"], - textdomain: "default", - attributes: { - textAlign: { - type: "string" - }, - content: { - type: "string", - source: "html", - selector: "h1,h2,h3,h4,h5,h6", - "default": "", - __experimentalRole: "content" - }, - level: { - type: "number", - "default": 2 - }, - placeholder: { - type: "string" - } - }, - supports: { - align: ["wide", "full"], - anchor: true, - className: false, - color: { - link: true - }, - typography: { - fontSize: true, - lineHeight: true, - __experimentalFontWeight: true - }, - __experimentalSelector: "h1,h2,h3,h4,h5,h6", - __unstablePasteTextInline: true - }, - editorStyle: "wp-block-heading-editor", - style: "wp-block-heading" -}; - const { - name: heading_name -} = heading_metadata; + name: embed_name +} = embed_metadata; -const heading_settings = { - icon: library_heading, - example: { - attributes: { - content: Object(external_wp_i18n_["__"])('Code is Poetry'), - level: 2 - } - }, - - __experimentalLabel(attributes, { - context - }) { - if (context === 'accessibility') { - const { - content, - level - } = attributes; - return Object(external_lodash_["isEmpty"])(content) ? Object(external_wp_i18n_["sprintf"])( - /* translators: accessibility text. %s: heading level. */ - Object(external_wp_i18n_["__"])('Level %s. Empty.'), level) : Object(external_wp_i18n_["sprintf"])( - /* translators: accessibility text. 1: heading level. 2: heading content. */ - Object(external_wp_i18n_["__"])('Level %1$s. %2$s'), level, content); - } - }, - - transforms: heading_transforms, - deprecated: heading_deprecated, - - merge(attributes, attributesToMerge) { - return { - content: (attributes.content || '') + (attributesToMerge.content || '') - }; - }, - - edit: heading_edit, - save: heading_save_save +const embed_settings = { + icon: embedContentIcon, + edit: embed_edit, + save: embed_save_save, + transforms: embed_transforms, + variations: embed_variations, + deprecated: embed_deprecated }; -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/quote.js +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/file.js /** * WordPress dependencies */ -const quote = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { +const file_file = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M13 6v6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H13zm-9 6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H4v6z" + 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_quote = (quote); +/* harmony default export */ var library_file = (file_file); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/deprecated.js +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/deprecated.js -/** - * External dependencies - */ - /** * WordPress dependencies */ + // Version of the file block without PR#28062 accessibility fix. -const quote_deprecated_blockAttributes = { - value: { - type: 'string', - source: 'html', - selector: 'blockquote', - multiline: 'p', - default: '' - }, - citation: { - type: 'string', - source: 'html', - selector: 'cite', - default: '' - }, - align: { - type: 'string' - } -}; -const quote_deprecated_deprecated = [{ - attributes: quote_deprecated_blockAttributes, - - save({ - attributes - }) { - const { - align, - value, - citation - } = attributes; - return Object(external_wp_element_["createElement"])("blockquote", { - style: { - textAlign: align ? align : null - } - }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - multiline: true, - value: value - }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "cite", - value: citation - })); - } - -}, { - attributes: { ...quote_deprecated_blockAttributes, - style: { - type: 'number', - default: 1 - } - }, - - migrate(attributes) { - if (attributes.style === 2) { - return { ...Object(external_lodash_["omit"])(attributes, ['style']), - className: attributes.className ? attributes.className + ' is-style-large' : 'is-style-large' - }; - } - - return attributes; - }, - - save({ - attributes - }) { - const { - align, - value, - citation, - style - } = attributes; - return Object(external_wp_element_["createElement"])("blockquote", { - className: style === 2 ? 'is-large' : '', - style: { - textAlign: align ? align : null - } - }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - multiline: true, - value: value - }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "cite", - value: citation - })); - } - -}, { - attributes: { ...quote_deprecated_blockAttributes, - citation: { +const file_deprecated_deprecated = [{ + attributes: { + id: { + type: 'number' + }, + href: { + type: 'string' + }, + fileName: { type: 'string', source: 'html', - selector: 'footer', - default: '' + selector: 'a:not([download])' }, - style: { + textLinkHref: { + type: 'string', + source: 'attribute', + selector: 'a:not([download])', + attribute: 'href' + }, + textLinkTarget: { + type: 'string', + source: 'attribute', + selector: 'a:not([download])', + attribute: 'target' + }, + showDownloadButton: { + type: 'boolean', + default: true + }, + downloadButtonText: { + type: 'string', + source: 'html', + selector: 'a[download]' + }, + displayPreview: { + type: 'boolean' + }, + previewHeight: { type: 'number', - default: 1 + default: 600 } }, + supports: { + anchor: true, + align: true + }, save({ attributes }) { const { - align, - value, - citation, - style + href, + fileName, + textLinkHref, + textLinkTarget, + showDownloadButton, + downloadButtonText, + displayPreview, + previewHeight } = attributes; - return Object(external_wp_element_["createElement"])("blockquote", { - className: `blocks-quote-style-${style}`, + const pdfEmbedLabel = external_wp_blockEditor_["RichText"].isEmpty(fileName) ? Object(external_wp_i18n_["__"])('PDF embed') : Object(external_wp_i18n_["sprintf"])( + /* translators: %s: filename. */ + Object(external_wp_i18n_["__"])('Embed of %s.'), fileName); + return href && Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save(), displayPreview && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("object", { + className: "wp-block-file__embed", + data: href, + type: "application/pdf", style: { - textAlign: align ? align : null - } + width: '100%', + height: `${previewHeight}px` + }, + "aria-label": pdfEmbedLabel + })), !external_wp_blockEditor_["RichText"].isEmpty(fileName) && Object(external_wp_element_["createElement"])("a", { + href: textLinkHref, + target: textLinkTarget, + rel: textLinkTarget ? 'noreferrer noopener' : undefined }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - multiline: true, - value: value - }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "footer", - value: citation - })); + value: fileName + })), showDownloadButton && Object(external_wp_element_["createElement"])("a", { + href: href, + className: "wp-block-file__button", + download: true + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + value: downloadButtonText + }))); } }]; -/* harmony default export */ var quote_deprecated = (quote_deprecated_deprecated); +/* harmony default export */ var file_deprecated = (file_deprecated_deprecated); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/edit.js +// EXTERNAL MODULE: external ["wp","notices"] +var external_wp_notices_ = __webpack_require__("onLe"); +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/inspector.js -/** - * External dependencies - */ /** * WordPress dependencies @@ -6771,85 +9885,141 @@ const quote_deprecated_deprecated = [{ +/** + * Internal dependencies + */ - -const isWebPlatform = external_wp_element_["Platform"].OS === 'web'; -function QuoteEdit({ - attributes, - setAttributes, - isSelected, - mergeBlocks, - onReplace, - className, - insertBlocksAfter, - mergedStyle +function FileBlockInspector({ + hrefs, + openInNewWindow, + showDownloadButton, + changeLinkDestinationOption, + changeOpenInNewWindow, + changeShowDownloadButton, + displayPreview, + changeDisplayPreview, + previewHeight, + changePreviewHeight }) { const { - align, - value, - citation - } = attributes; - const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ - className: classnames_default()(className, { - [`has-text-align-${align}`]: align - }), - style: mergedStyle - }); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { - group: "block" - }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentControl"], { - value: align, - onChange: nextAlign => { - setAttributes({ - align: nextAlign - }); - } - })), Object(external_wp_element_["createElement"])(external_wp_components_["BlockQuotation"], blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { - identifier: "value", - multiline: true, - value: value, - onChange: nextValue => setAttributes({ - value: nextValue - }), - onMerge: mergeBlocks, - onRemove: forward => { - const hasEmptyCitation = !citation || citation.length === 0; + href, + textLinkHref, + attachmentPage + } = hrefs; + let linkDestinationOptions = [{ + value: href, + label: Object(external_wp_i18n_["__"])('URL') + }]; - if (!forward && hasEmptyCitation) { - onReplace([]); - } - }, - "aria-label": Object(external_wp_i18n_["__"])('Quote text'), - placeholder: // translators: placeholder text used for the quote - Object(external_wp_i18n_["__"])('Add quote'), - onReplace: onReplace, - onSplit: piece => Object(external_wp_blocks_["createBlock"])('core/quote', { ...attributes, - value: piece - }), - __unstableOnSplitMiddle: () => Object(external_wp_blocks_["createBlock"])('core/paragraph'), - textAlign: align - }), (!external_wp_blockEditor_["RichText"].isEmpty(citation) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { - identifier: "citation", - tagName: isWebPlatform ? 'cite' : undefined, - style: { - display: 'block' - }, - value: citation, - onChange: nextCitation => setAttributes({ - citation: nextCitation - }), - __unstableMobileNoFocusOnMount: true, - "aria-label": Object(external_wp_i18n_["__"])('Quote citation text'), - placeholder: // translators: placeholder text used for the citation - Object(external_wp_i18n_["__"])('Add citation'), - className: "wp-block-quote__citation", - textAlign: align, - __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) - }))); + if (attachmentPage) { + linkDestinationOptions = [{ + value: href, + label: Object(external_wp_i18n_["__"])('Media file') + }, { + value: attachmentPage, + label: Object(external_wp_i18n_["__"])('Attachment page') + }]; + } + + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, href.endsWith('.pdf') && Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { + title: Object(external_wp_i18n_["__"])('PDF settings') + }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Show inline embed'), + help: displayPreview ? Object(external_wp_i18n_["__"])("Note: Most phone and tablet browsers won't display embedded PDFs.") : null, + checked: !!displayPreview, + onChange: changeDisplayPreview + }), displayPreview && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { + label: Object(external_wp_i18n_["__"])('Height in pixels'), + min: MIN_PREVIEW_HEIGHT, + max: Math.max(MAX_PREVIEW_HEIGHT, previewHeight), + value: previewHeight, + onChange: changePreviewHeight + })), Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { + title: Object(external_wp_i18n_["__"])('Text link settings') + }, Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { + label: Object(external_wp_i18n_["__"])('Link to'), + value: textLinkHref, + options: linkDestinationOptions, + onChange: changeLinkDestinationOption + }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Open in new tab'), + checked: openInNewWindow, + onChange: changeOpenInNewWindow + })), Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { + title: Object(external_wp_i18n_["__"])('Download button settings') + }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Show download button'), + checked: showDownloadButton, + onChange: changeShowDownloadButton + })))); } -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/save.js +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/utils.js +/** + * Uses a combination of user agent matching and feature detection to determine whether + * the current browser supports rendering PDFs inline. + * + * @return {boolean} Whether or not the browser supports inline PDFs. + */ +const browserSupportsPdfs = () => { + // Most mobile devices include "Mobi" in their UA. + if (window.navigator.userAgent.indexOf('Mobi') > -1) { + return false; + } // Android tablets are the noteable exception. + + + if (window.navigator.userAgent.indexOf('Android') > -1) { + return false; + } // iPad pretends to be a Mac. + + + if (window.navigator.userAgent.indexOf('Macintosh') > -1 && window.navigator.maxTouchPoints && window.navigator.maxTouchPoints > 2) { + return false; + } // IE only supports PDFs when there's an ActiveX object available for it. + + + if (!!(window.ActiveXObject || 'ActiveXObject' in window) && !(createActiveXObject('AcroPDF.PDF') || createActiveXObject('PDF.PdfCtrl'))) { + return false; + } + + return true; +}; +/** + * Helper function for creating ActiveX objects, catching any errors that are thrown + * when it's generated. + * + * @param {string} type The name of the ActiveX object to create. + * @return {window.ActiveXObject|undefined} The generated ActiveXObject, or null if it failed. + */ + +const createActiveXObject = type => { + let ax; + + try { + ax = new window.ActiveXObject(type); + } catch (e) { + ax = undefined; + } + + return ax; +}; +/** + * Hides all .wp-block-file__embed elements on the document. This function is only intended + * to be run on the front-end, it may have weird side effects running in the block editor. + */ + + +const hidePdfEmbedsOnUnsupportedBrowsers = () => { + if (!browserSupportsPdfs()) { + const embeds = document.getElementsByClassName('wp-block-file__embed'); + Array.from(embeds).forEach(embed => { + embed.style.display = 'none'; + }); + } +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/edit.js /** @@ -6861,219 +10031,481 @@ function QuoteEdit({ */ -function quote_save_save({ + + + + + + + + + +/** + * Internal dependencies + */ + + + +const MIN_PREVIEW_HEIGHT = 200; +const MAX_PREVIEW_HEIGHT = 2000; + +function ClipboardToolbarButton({ + text, + disabled +}) { + const { + createNotice + } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); + const ref = Object(external_wp_compose_["useCopyToClipboard"])(text, () => { + createNotice('info', Object(external_wp_i18n_["__"])('Copied URL to clipboard.'), { + isDismissible: true, + type: 'snackbar' + }); + }); + return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + className: "components-clipboard-toolbar-button", + ref: ref, + disabled: disabled + }, Object(external_wp_i18n_["__"])('Copy URL')); +} + +function FileEdit({ + attributes, + isSelected, + setAttributes, + noticeUI, + noticeOperations, + clientId +}) { + const { + id, + fileName, + href, + textLinkHref, + textLinkTarget, + showDownloadButton, + downloadButtonText, + displayPreview, + previewHeight + } = attributes; + const [hasError, setHasError] = Object(external_wp_element_["useState"])(false); + const { + media, + mediaUpload + } = Object(external_wp_data_["useSelect"])(select => ({ + media: id === undefined ? undefined : select(external_wp_coreData_["store"]).getMedia(id), + mediaUpload: select(external_wp_blockEditor_["store"]).getSettings().mediaUpload + }), [id]); + const { + toggleSelection + } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); + Object(external_wp_element_["useEffect"])(() => { + // Upload a file drag-and-dropped into the editor + if (Object(external_wp_blob_["isBlobURL"])(href)) { + const file = Object(external_wp_blob_["getBlobByURL"])(href); + mediaUpload({ + filesList: [file], + onFileChange: ([newMedia]) => onSelectFile(newMedia), + onError: message => { + setHasError(true); + noticeOperations.createErrorNotice(message); + } + }); + Object(external_wp_blob_["revokeBlobURL"])(href); + } + + if (downloadButtonText === undefined) { + changeDownloadButtonText(Object(external_wp_i18n_["_x"])('Download', 'button label')); + } + }, []); + Object(external_wp_element_["useEffect"])(() => { + // Add a unique fileId to each file block + setAttributes({ + fileId: `wp-block-file--media-${clientId}` + }); + }, [clientId]); + + function onSelectFile(newMedia) { + if (newMedia && newMedia.url) { + setHasError(false); + const isPdf = newMedia.url.endsWith('.pdf'); + setAttributes({ + href: newMedia.url, + fileName: newMedia.title, + textLinkHref: newMedia.url, + id: newMedia.id, + displayPreview: isPdf ? true : undefined, + previewHeight: isPdf ? 600 : undefined + }); + } + } + + function onUploadError(message) { + setHasError(true); + noticeOperations.removeAllNotices(); + noticeOperations.createErrorNotice(message); + } + + function changeLinkDestinationOption(newHref) { + // Choose Media File or Attachment Page (when file is in Media Library) + setAttributes({ + textLinkHref: newHref + }); + } + + function changeOpenInNewWindow(newValue) { + setAttributes({ + textLinkTarget: newValue ? '_blank' : false + }); + } + + function changeShowDownloadButton(newValue) { + setAttributes({ + showDownloadButton: newValue + }); + } + + function changeDownloadButtonText(newValue) { + // Remove anchor tags from button text content. + setAttributes({ + downloadButtonText: newValue.replace(/<\/?a[^>]*>/g, '') + }); + } + + function changeDisplayPreview(newValue) { + setAttributes({ + displayPreview: newValue + }); + } + + function handleOnResizeStop(event, direction, elt, delta) { + toggleSelection(true); + const newHeight = parseInt(previewHeight + delta.height, 10); + setAttributes({ + previewHeight: newHeight + }); + } + + function changePreviewHeight(newValue) { + const newHeight = Math.max(parseInt(newValue, 10), MIN_PREVIEW_HEIGHT); + setAttributes({ + previewHeight: newHeight + }); + } + + const attachmentPage = media && media.link; + const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ + className: classnames_default()(Object(external_wp_blob_["isBlobURL"])(href) && Object(external_wp_components_["__unstableGetAnimateClassName"])({ + type: 'loading' + }), { + 'is-transient': Object(external_wp_blob_["isBlobURL"])(href) + }) + }); + const displayPreviewInEditor = browserSupportsPdfs() && displayPreview; + + if (!href || hasError) { + return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { + icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { + icon: library_file + }), + labels: { + title: Object(external_wp_i18n_["__"])('File'), + instructions: Object(external_wp_i18n_["__"])('Upload a file or pick one from your media library.') + }, + onSelect: onSelectFile, + notices: noticeUI, + onError: onUploadError, + accept: "*" + })); + } + + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(FileBlockInspector, { + hrefs: { + href, + textLinkHref, + attachmentPage + }, + openInNewWindow: !!textLinkTarget, + showDownloadButton, + changeLinkDestinationOption, + changeOpenInNewWindow, + changeShowDownloadButton, + displayPreview, + changeDisplayPreview, + previewHeight, + changePreviewHeight + }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { + group: "other" + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { + mediaId: id, + mediaURL: href, + accept: "*", + onSelect: onSelectFile, + onError: onUploadError + }), Object(external_wp_element_["createElement"])(ClipboardToolbarButton, { + text: href, + disabled: Object(external_wp_blob_["isBlobURL"])(href) + })), Object(external_wp_element_["createElement"])("div", blockProps, displayPreviewInEditor && Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], { + size: { + height: previewHeight + }, + minHeight: MIN_PREVIEW_HEIGHT, + maxHeight: MAX_PREVIEW_HEIGHT, + minWidth: "100%", + grid: [10, 10], + enable: { + top: false, + right: false, + bottom: true, + left: false, + topRight: false, + bottomRight: false, + bottomLeft: false, + topLeft: false + }, + onResizeStart: () => toggleSelection(false), + onResizeStop: handleOnResizeStop, + showHandle: isSelected + }, Object(external_wp_element_["createElement"])("object", { + className: "wp-block-file__preview", + data: href, + type: "application/pdf", + "aria-label": Object(external_wp_i18n_["__"])('Embed of the selected PDF file.') + }), !isSelected && Object(external_wp_element_["createElement"])("div", { + className: "wp-block-file__preview-overlay" + })), Object(external_wp_element_["createElement"])("div", { + className: 'wp-block-file__content-wrapper' + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { + tagName: "a", + value: fileName, + placeholder: Object(external_wp_i18n_["__"])('Write file name…'), + withoutInteractiveFormatting: true, + onChange: text => setAttributes({ + fileName: text + }), + href: textLinkHref + }), showDownloadButton && Object(external_wp_element_["createElement"])("div", { + className: 'wp-block-file__button-richtext-wrapper' + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { + tagName: "div" // must be block-level or else cursor disappears + , + "aria-label": Object(external_wp_i18n_["__"])('Download button text'), + className: 'wp-block-file__button', + value: downloadButtonText, + withoutInteractiveFormatting: true, + placeholder: Object(external_wp_i18n_["__"])('Add text…'), + onChange: text => changeDownloadButtonText(text) + }))))); +} + +/* harmony default export */ var file_edit = (Object(external_wp_components_["withNotices"])(FileEdit)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/save.js + + +/** + * WordPress dependencies + */ + + +function file_save_save({ attributes }) { const { - align, - value, - citation + href, + fileId, + fileName, + textLinkHref, + textLinkTarget, + showDownloadButton, + downloadButtonText, + displayPreview, + previewHeight } = attributes; - const className = classnames_default()({ - [`has-text-align-${align}`]: align - }); - return Object(external_wp_element_["createElement"])("blockquote", external_wp_blockEditor_["useBlockProps"].save({ - className - }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - multiline: true, - value: value - }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "cite", - value: citation - })); + const pdfEmbedLabel = external_wp_blockEditor_["RichText"].isEmpty(fileName) ? Object(external_wp_i18n_["__"])('PDF embed') : Object(external_wp_i18n_["sprintf"])( + /* translators: %s: filename. */ + Object(external_wp_i18n_["__"])('Embed of %s.'), fileName); + return href && Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save(), displayPreview && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("object", { + className: "wp-block-file__embed", + data: href, + type: "application/pdf", + style: { + width: '100%', + height: `${previewHeight}px` + }, + "aria-label": pdfEmbedLabel + })), !external_wp_blockEditor_["RichText"].isEmpty(fileName) && Object(external_wp_element_["createElement"])("a", { + id: fileId, + href: textLinkHref, + target: textLinkTarget, + rel: textLinkTarget ? 'noreferrer noopener' : undefined + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + value: fileName + })), showDownloadButton && Object(external_wp_element_["createElement"])("a", { + href: href, + className: "wp-block-file__button", + download: true, + "aria-describedby": fileId + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + value: downloadButtonText + }))); } -// EXTERNAL MODULE: external ["wp","richText"] -var external_wp_richText_ = __webpack_require__("qRz9"); +// EXTERNAL MODULE: external ["wp","url"] +var external_wp_url_ = __webpack_require__("Mmq9"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/transforms.js +/** + * External dependencies + */ -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/transforms.js /** * WordPress dependencies */ -const quote_transforms_transforms = { + + + + +const file_transforms_transforms = { from: [{ + type: 'files', + + isMatch(files) { + return files.length > 0; + }, + + // We define a lower priorty (higher number) than the default of 10. This + // ensures that the File block is only created as a fallback. + priority: 15, + transform: files => { + const blocks = []; + files.forEach(file => { + const blobURL = Object(external_wp_blob_["createBlobURL"])(file); // File will be uploaded in componentDidMount() + + blocks.push(Object(external_wp_blocks_["createBlock"])('core/file', { + href: blobURL, + fileName: file.name, + textLinkHref: blobURL + })); + }); + return blocks; + } + }, { type: 'block', - isMultiBlock: true, - blocks: ['core/paragraph'], + blocks: ['core/audio'], transform: attributes => { - return Object(external_wp_blocks_["createBlock"])('core/quote', { - value: Object(external_wp_richText_["toHTMLString"])({ - value: Object(external_wp_richText_["join"])(attributes.map(({ - content - }) => Object(external_wp_richText_["create"])({ - html: content - })), '\u2028'), - multilineTag: 'p' - }), + return Object(external_wp_blocks_["createBlock"])('core/file', { + href: attributes.src, + fileName: attributes.caption, + textLinkHref: attributes.src, + id: attributes.id, anchor: attributes.anchor }); } }, { type: 'block', - blocks: ['core/heading'], - transform: ({ - content, - anchor - }) => { - return Object(external_wp_blocks_["createBlock"])('core/quote', { - value: `

    ${content}

    `, - anchor + blocks: ['core/video'], + transform: attributes => { + return Object(external_wp_blocks_["createBlock"])('core/file', { + href: attributes.src, + fileName: attributes.caption, + textLinkHref: attributes.src, + id: attributes.id, + anchor: attributes.anchor }); } }, { type: 'block', - blocks: ['core/pullquote'], - transform: ({ - value, - citation, - anchor - }) => Object(external_wp_blocks_["createBlock"])('core/quote', { - value, - citation, - anchor - }) - }, { - type: 'prefix', - prefix: '>', - transform: content => { - return Object(external_wp_blocks_["createBlock"])('core/quote', { - value: `

    ${content}

    ` + blocks: ['core/image'], + transform: attributes => { + return Object(external_wp_blocks_["createBlock"])('core/file', { + href: attributes.url, + fileName: attributes.caption || Object(external_wp_url_["getFilename"])(attributes.url), + textLinkHref: attributes.url, + id: attributes.id, + anchor: attributes.anchor }); } - }, { - type: 'raw', - isMatch: node => { - const isParagraphOrSingleCite = (() => { - let hasCitation = false; - return child => { - // Child is a paragraph. - if (child.nodeName === 'P') { - return true; - } // Child is a cite and no other cite child exists before it. - - - if (!hasCitation && child.nodeName === 'CITE') { - hasCitation = true; - return true; - } - }; - })(); - - return node.nodeName === 'BLOCKQUOTE' && // The quote block can only handle multiline paragraph - // content with an optional cite child. - Array.from(node.childNodes).every(isParagraphOrSingleCite); - }, - schema: ({ - phrasingContentSchema - }) => ({ - blockquote: { - children: { - p: { - children: phrasingContentSchema - }, - cite: { - children: phrasingContentSchema - } - } - } - }) }], to: [{ type: 'block', - blocks: ['core/paragraph'], - transform: ({ - value, - citation + blocks: ['core/audio'], + isMatch: ({ + id }) => { - const paragraphs = []; - - if (value && value !== '

    ') { - paragraphs.push(...Object(external_wp_richText_["split"])(Object(external_wp_richText_["create"])({ - html: value, - multilineTag: 'p' - }), '\u2028').map(piece => Object(external_wp_blocks_["createBlock"])('core/paragraph', { - content: Object(external_wp_richText_["toHTMLString"])({ - value: piece - }) - }))); + if (!id) { + return false; } - if (citation && citation !== '

    ') { - paragraphs.push(Object(external_wp_blocks_["createBlock"])('core/paragraph', { - content: citation - })); - } - - if (paragraphs.length === 0) { - return Object(external_wp_blocks_["createBlock"])('core/paragraph', { - content: '' - }); - } - - return paragraphs; + const { + getMedia + } = Object(external_wp_data_["select"])(external_wp_coreData_["store"]); + const media = getMedia(id); + return !!media && Object(external_lodash_["includes"])(media.mime_type, 'audio'); + }, + transform: attributes => { + return Object(external_wp_blocks_["createBlock"])('core/audio', { + src: attributes.href, + caption: attributes.fileName, + id: attributes.id, + anchor: attributes.anchor + }); } }, { type: 'block', - blocks: ['core/heading'], - transform: ({ - value, - citation, - ...attrs + blocks: ['core/video'], + isMatch: ({ + id }) => { - // If there is no quote content, use the citation as the - // content of the resulting heading. A nonexistent citation - // will result in an empty heading. - if (value === '

    ') { - return Object(external_wp_blocks_["createBlock"])('core/heading', { - content: citation - }); + if (!id) { + return false; } - const pieces = Object(external_wp_richText_["split"])(Object(external_wp_richText_["create"])({ - html: value, - multilineTag: 'p' - }), '\u2028'); - const headingBlock = Object(external_wp_blocks_["createBlock"])('core/heading', { - content: Object(external_wp_richText_["toHTMLString"])({ - value: pieces[0] - }) + const { + getMedia + } = Object(external_wp_data_["select"])(external_wp_coreData_["store"]); + const media = getMedia(id); + return !!media && Object(external_lodash_["includes"])(media.mime_type, 'video'); + }, + transform: attributes => { + return Object(external_wp_blocks_["createBlock"])('core/video', { + src: attributes.href, + caption: attributes.fileName, + id: attributes.id, + anchor: attributes.anchor }); - - if (!citation && pieces.length === 1) { - return headingBlock; - } - - const quotePieces = pieces.slice(1); - const quoteBlock = Object(external_wp_blocks_["createBlock"])('core/quote', { ...attrs, - citation, - value: Object(external_wp_richText_["toHTMLString"])({ - value: quotePieces.length ? Object(external_wp_richText_["join"])(pieces.slice(1), '\u2028') : Object(external_wp_richText_["create"])(), - multilineTag: 'p' - }) - }); - return [headingBlock, quoteBlock]; } }, { type: 'block', - blocks: ['core/pullquote'], - transform: ({ - value, - citation, - anchor + blocks: ['core/image'], + isMatch: ({ + id }) => { - return Object(external_wp_blocks_["createBlock"])('core/pullquote', { - value, - citation, - anchor + if (!id) { + return false; + } + + const { + getMedia + } = Object(external_wp_data_["select"])(external_wp_coreData_["store"]); + const media = getMedia(id); + return !!media && Object(external_lodash_["includes"])(media.mime_type, 'image'); + }, + transform: attributes => { + return Object(external_wp_blocks_["createBlock"])('core/image', { + url: attributes.href, + caption: attributes.fileName, + id: attributes.id, + anchor: attributes.anchor }); } }] }; -/* harmony default export */ var quote_transforms = (quote_transforms_transforms); +/* harmony default export */ var file_transforms = (file_transforms_transforms); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/index.js +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/index.js /** * WordPress dependencies */ @@ -7085,90 +10517,87 @@ const quote_transforms_transforms = { -const quote_metadata = { +const file_metadata = { apiVersion: 2, - name: "core/quote", - title: "Quote", - category: "text", - description: "Give quoted text visual emphasis. \"In quoting others, we cite ourselves.\" \u2014 Julio Cort\xE1zar", - keywords: ["blockquote", "cite"], + name: "core/file", + title: "File", + category: "media", + description: "Add a link to a downloadable file.", + keywords: ["document", "pdf", "download"], textdomain: "default", attributes: { - value: { - type: "string", - source: "html", - selector: "blockquote", - multiline: "p", - "default": "", - __experimentalRole: "content" + id: { + type: "number" }, - citation: { - type: "string", - source: "html", - selector: "cite", - "default": "", - __experimentalRole: "content" - }, - align: { + href: { type: "string" + }, + fileId: { + type: "string", + source: "attribute", + selector: "a:not([download])", + attribute: "id" + }, + fileName: { + type: "string", + source: "html", + selector: "a:not([download])" + }, + textLinkHref: { + type: "string", + source: "attribute", + selector: "a:not([download])", + attribute: "href" + }, + textLinkTarget: { + type: "string", + source: "attribute", + selector: "a:not([download])", + attribute: "target" + }, + showDownloadButton: { + type: "boolean", + "default": true + }, + downloadButtonText: { + type: "string", + source: "html", + selector: "a[download]" + }, + displayPreview: { + type: "boolean" + }, + previewHeight: { + type: "number", + "default": 600 } }, supports: { - anchor: true + anchor: true, + align: true }, - styles: [{ - name: "default", - label: "Default", - isDefault: true - }, { - name: "large", - label: "Large" - }], - editorStyle: "wp-block-quote-editor", - style: "wp-block-quote" + viewScript: "file:./view.min.js", + editorStyle: "wp-block-file-editor", + style: "wp-block-file" }; const { - name: quote_name -} = quote_metadata; + name: file_name +} = file_metadata; -const quote_settings = { - icon: library_quote, +const file_settings = { + icon: library_file, example: { attributes: { - value: '

    ' + Object(external_wp_i18n_["__"])('In quoting others, we cite ourselves.') + '

    ', - citation: 'Julio Cortázar', - className: 'is-style-large' + href: 'https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg', + fileName: Object(external_wp_i18n_["_x"])('Armstrong_Small_Step', 'Name of the file') } }, - transforms: quote_transforms, - edit: QuoteEdit, - save: quote_save_save, - - merge(attributes, { - value, - citation - }) { - // Quote citations cannot be merged. Pick the second one unless it's - // empty. - if (!citation) { - citation = attributes.citation; - } - - if (!value || value === '

    ') { - return { ...attributes, - citation - }; - } - - return { ...attributes, - value: attributes.value + value, - citation - }; - }, - - deprecated: quote_deprecated + transforms: file_transforms, + deprecated: file_deprecated, + edit: file_edit, + save: file_save_save }; // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/gallery.js @@ -7186,26 +10615,6 @@ const gallery = Object(external_wp_element_["createElement"])(external_wp_primit })); /* harmony default export */ var library_gallery = (gallery); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/shared.js -/** - * External dependencies - */ - -function defaultColumnsNumber(attributes) { - return Math.min(3, attributes.images.length); -} -const shared_pickRelevantMediaFiles = (image, sizeSlug = 'large') => { - const imageProps = Object(external_lodash_["pick"])(image, ['alt', 'id', 'link', 'caption']); - imageProps.url = Object(external_lodash_["get"])(image, ['sizes', sizeSlug, 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', sizeSlug, 'source_url']) || image.url; - const fullUrl = Object(external_lodash_["get"])(image, ['sizes', 'full', 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', 'full', 'source_url']); - - if (fullUrl) { - imageProps.fullUrl = fullUrl; - } - - return imageProps; -}; - // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/deprecated.js @@ -7220,10 +10629,18 @@ const shared_pickRelevantMediaFiles = (image, sizeSlug = 'large') => { /** - * Internal dependencies + * Original function to determine default number of columns from a block's + * attributes. + * + * Used in deprecations: v1-6, for versions of the gallery block that didn't use inner blocks. + * + * @param {Object} attributes Block attributes. + * @return {number} Default number of columns for the gallery. */ - +function defaultColumnsNumberV1(attributes) { + return Math.min(3, attributes.images.length); +} const gallery_deprecated_deprecated = [{ attributes: { images: { @@ -7331,7 +10748,7 @@ const gallery_deprecated_deprecated = [{ }) { const { images, - columns = defaultColumnsNumber(attributes), + columns = defaultColumnsNumberV1(attributes), imageCrop, caption, linkTo @@ -7464,7 +10881,7 @@ const gallery_deprecated_deprecated = [{ }) { const { images, - columns = defaultColumnsNumber(attributes), + columns = defaultColumnsNumberV1(attributes), imageCrop, caption, linkTo @@ -7577,7 +10994,7 @@ const gallery_deprecated_deprecated = [{ }) { const { images, - columns = defaultColumnsNumber(attributes), + columns = defaultColumnsNumberV1(attributes), imageCrop, linkTo } = attributes; @@ -7701,7 +11118,7 @@ const gallery_deprecated_deprecated = [{ }) { const { images, - columns = defaultColumnsNumber(attributes), + columns = defaultColumnsNumberV1(attributes), imageCrop, linkTo } = attributes; @@ -7787,7 +11204,7 @@ const gallery_deprecated_deprecated = [{ }) { const { images, - columns = defaultColumnsNumber(attributes), + columns = defaultColumnsNumberV1(attributes), align, imageCrop, linkTo @@ -7843,24 +11260,989 @@ const sharedIcon = Object(external_wp_element_["createElement"])(external_wp_blo icon: library_gallery }); +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/shared.js +/** + * External dependencies + */ + +function defaultColumnsNumber(imageCount) { + return imageCount ? Math.min(3, imageCount) : 3; +} +const pickRelevantMediaFiles = (image, sizeSlug = 'large') => { + const imageProps = Object(external_lodash_["pick"])(image, ['alt', 'id', 'link', 'caption']); + imageProps.url = Object(external_lodash_["get"])(image, ['sizes', sizeSlug, 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', sizeSlug, 'source_url']) || image.url; + const fullUrl = Object(external_lodash_["get"])(image, ['sizes', 'full', 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', 'full', 'source_url']); + + if (fullUrl) { + imageProps.fullUrl = fullUrl; + } + + return imageProps; +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/constants.js +const LINK_DESTINATION_NONE = 'none'; +const LINK_DESTINATION_MEDIA = 'media'; +const LINK_DESTINATION_ATTACHMENT = 'attachment'; + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/constants.js +const MIN_SIZE = 20; +const constants_LINK_DESTINATION_NONE = 'none'; +const constants_LINK_DESTINATION_MEDIA = 'media'; +const constants_LINK_DESTINATION_ATTACHMENT = 'attachment'; +const LINK_DESTINATION_CUSTOM = 'custom'; +const constants_NEW_TAB_REL = ['noreferrer', 'noopener']; +const constants_ALLOWED_MEDIA_TYPES = ['image']; +const MEDIA_ID_NO_FEATURED_IMAGE_SET = 0; + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/utils.js +/** + * Internal dependencies + */ + + +/** + * Determines new href and linkDestination values for an image block from the + * supplied Gallery link destination. + * + * @param {Object} image Gallery image. + * @param {string} destination Gallery's selected link destination. + * @return {Object} New attributes to assign to image block. + */ + +function getHrefAndDestination(image, destination) { + // Need to determine the URL that the selected destination maps to. + // Gutenberg and WordPress use different constants so the new link + // destination also needs to be tweaked. + switch (destination) { + case LINK_DESTINATION_MEDIA: + return { + href: (image === null || image === void 0 ? void 0 : image.source_url) || (image === null || image === void 0 ? void 0 : image.url), + // eslint-disable-line camelcase + linkDestination: constants_LINK_DESTINATION_MEDIA + }; + + case LINK_DESTINATION_ATTACHMENT: + return { + href: image === null || image === void 0 ? void 0 : image.link, + linkDestination: constants_LINK_DESTINATION_ATTACHMENT + }; + + case LINK_DESTINATION_NONE: + return { + href: undefined, + linkDestination: constants_LINK_DESTINATION_NONE + }; + } + + return {}; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/utils.js +/** + * External dependencies + */ + +/** + * Internal dependencies + */ + + +function removeNewTabRel(currentRel) { + let newRel = currentRel; + + if (currentRel !== undefined && !Object(external_lodash_["isEmpty"])(newRel)) { + if (!Object(external_lodash_["isEmpty"])(newRel)) { + Object(external_lodash_["each"])(constants_NEW_TAB_REL, relVal => { + const regExp = new RegExp('\\b' + relVal + '\\b', 'gi'); + newRel = newRel.replace(regExp, ''); + }); // Only trim if NEW_TAB_REL values was replaced. + + if (newRel !== currentRel) { + newRel = newRel.trim(); + } + + if (Object(external_lodash_["isEmpty"])(newRel)) { + newRel = undefined; + } + } + } + + return newRel; +} +/** + * Helper to get the link target settings to be stored. + * + * @param {boolean} value The new link target value. + * @param {Object} attributes Block attributes. + * @param {Object} attributes.rel Image block's rel attribute. + * + * @return {Object} Updated link target settings. + */ + +function getUpdatedLinkTargetSettings(value, { + rel +}) { + const linkTarget = value ? '_blank' : undefined; + let updatedRel; + + if (!linkTarget && !rel) { + updatedRel = undefined; + } else { + updatedRel = removeNewTabRel(rel); + } + + return { + linkTarget, + rel: updatedRel + }; +} +/** + * Determines new Image block attributes size selection. + * + * @param {Object} image Media file object for gallery image. + * @param {string} size Selected size slug to apply. + */ + +function getImageSizeAttributes(image, size) { + const url = Object(external_lodash_["get"])(image, ['media_details', 'sizes', size, 'source_url']); + + if (url) { + return { + url, + width: undefined, + height: undefined, + sizeSlug: size + }; + } + + return {}; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/gallery.js + + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + + + +const gallery_allowedBlocks = ['core/image']; +const Gallery = props => { + const { + attributes, + isSelected, + setAttributes, + mediaPlaceholder, + insertBlocksAfter, + blockProps + } = props; + const { + align, + columns, + caption, + imageCrop + } = attributes; + const { + children, + ...innerBlocksProps + } = Object(external_wp_blockEditor_["useInnerBlocksProps"])(blockProps, { + allowedBlocks: gallery_allowedBlocks, + orientation: 'horizontal', + renderAppender: false, + __experimentalLayout: { + type: 'default', + alignments: [] + } + }); + const [captionFocused, setCaptionFocused] = Object(external_wp_element_["useState"])(false); + + function onFocusCaption() { + if (!captionFocused) { + setCaptionFocused(true); + } + } + + function removeCaptionFocus() { + if (captionFocused) { + setCaptionFocused(false); + } + } + + Object(external_wp_element_["useEffect"])(() => { + if (!isSelected) { + setCaptionFocused(false); + } + }, [isSelected]); + return Object(external_wp_element_["createElement"])("figure", Object(esm_extends["a" /* default */])({}, innerBlocksProps, { + className: classnames_default()(blockProps.className, 'blocks-gallery-grid', { + [`align${align}`]: align, + [`columns-${columns}`]: columns !== undefined, + [`columns-default`]: columns === undefined, + 'is-cropped': imageCrop + }) + }), children, Object(external_wp_element_["createElement"])(external_wp_primitives_["View"], { + className: "blocks-gallery-media-placeholder-wrapper", + onClick: removeCaptionFocus + }, mediaPlaceholder), Object(external_wp_element_["createElement"])(RichTextVisibilityHelper, { + isHidden: !isSelected && external_wp_blockEditor_["RichText"].isEmpty(caption), + captionFocused: captionFocused, + onFocusCaption: onFocusCaption, + tagName: "figcaption", + className: "blocks-gallery-caption", + "aria-label": Object(external_wp_i18n_["__"])('Gallery caption text'), + placeholder: Object(external_wp_i18n_["__"])('Write gallery caption…'), + value: caption, + onChange: value => setAttributes({ + caption: value + }), + inlineToolbar: true, + __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) + })); +}; + +function RichTextVisibilityHelper({ + isHidden, + captionFocused, + onFocusCaption, + className, + value, + placeholder, + tagName, + captionRef, + ...richTextProps +}) { + if (isHidden) { + return Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], Object(esm_extends["a" /* default */])({ + as: external_wp_blockEditor_["RichText"] + }, richTextProps)); + } + + return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], Object(esm_extends["a" /* default */])({ + ref: captionRef, + value: value, + placeholder: placeholder, + className: className, + tagName: tagName, + isSelected: captionFocused, + onClick: onFocusCaption + }, richTextProps)); +} + +/* harmony default export */ var gallery_gallery = (Gallery); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/use-image-sizes.js +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +/** + * Calculates the image sizes that are avaible for the current gallery images in order to + * populate the 'Image size' selector. + * + * @param {Array} images Basic image block data taken from current gallery innerBlock + * @param {boolean} isSelected Is the block currently selected in the editor. + * @param {Function} getSettings Block editor store selector. + * + * @return {Array} An array of image size options. + */ + +function useImageSizes(images, isSelected, getSettings) { + return Object(external_wp_element_["useMemo"])(() => getImageSizing(), [images, isSelected]); + + function getImageSizing() { + if (!images || images.length === 0) { + return; + } + + const { + imageSizes + } = getSettings(); + let resizedImages = {}; + + if (isSelected) { + resizedImages = images.reduce((currentResizedImages, img) => { + if (!img.id) { + return currentResizedImages; + } + + const sizes = imageSizes.reduce((currentSizes, size) => { + const defaultUrl = Object(external_lodash_["get"])(img, ['sizes', size.slug, 'url']); + const mediaDetailsUrl = Object(external_lodash_["get"])(img, ['media_details', 'sizes', size.slug, 'source_url']); + return { ...currentSizes, + [size.slug]: defaultUrl || mediaDetailsUrl + }; + }, {}); + return { ...currentResizedImages, + [parseInt(img.id, 10)]: sizes + }; + }, {}); + } + + return imageSizes.filter(({ + slug + }) => Object(external_lodash_["some"])(resizedImages, sizes => sizes[slug])).map(({ + name, + slug + }) => ({ + value: slug, + label: name + })); + } +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/use-short-code-transform.js +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Shortcode transforms don't currently have a tranform method and so can't use a selector to + * retrieve the data for each image being transformer, so this selector handle this post transformation. + * + * @param {Array} shortCodeTransforms An array of image data passed from the shortcode transform. + * + * @return {Array} An array of extended image data objects for each of the shortcode transform images. + */ + +function useShortCodeTransform(shortCodeTransforms) { + const newImageData = Object(external_wp_data_["useSelect"])(select => { + if (!shortCodeTransforms || shortCodeTransforms.length === 0) { + return; + } + + const getMedia = select(external_wp_coreData_["store"]).getMedia; + return shortCodeTransforms.map(image => { + const imageData = getMedia(image.id); + + if (imageData) { + return { + id: imageData.id, + type: 'image', + url: imageData.source_url, + mime: imageData.mime_type, + alt: imageData.alt_text, + link: imageData.link + }; + } + + return undefined; + }); + }, [shortCodeTransforms]); + + if (!newImageData) { + return; + } + + if (Object(external_lodash_["every"])(newImageData, img => img && img.url)) { + return newImageData; + } +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/use-get-new-images.js +/** + * WordPress dependencies + */ + +/** + * Keeps track of images already in the gallery to allow new innerBlocks to be identified. This + * is required so default gallery attributes can be applied without overwriting any custom + * attributes applied to existing images. + * + * @param {Array} images Basic image block data taken from current gallery innerBlock + * @param {Array} imageData The related image data for each of the current gallery images. + * + * @return {Array} An array of any new images that have been added to the gallery. + */ + +function useGetNewImages(images, imageData) { + const [currentImages, setCurrentImages] = Object(external_wp_element_["useState"])([]); + return Object(external_wp_element_["useMemo"])(() => getNewImages(), [images, imageData]); + + function getNewImages() { + let imagesUpdated = false; // First lets check if any images have been deleted. + + const newCurrentImages = currentImages.filter(currentImg => images.find(img => { + return currentImg.clientId === img.clientId; + })); + + if (newCurrentImages.length < currentImages.length) { + imagesUpdated = true; + } // Now lets see if we have any images hydrated from saved content and if so + // add them to currentImages state. + + + images.forEach(image => { + if (image.fromSavedContent && !newCurrentImages.find(currentImage => currentImage.id === image.id)) { + imagesUpdated = true; + newCurrentImages.push(image); + } + }); // Now check for any new images that have been added to InnerBlocks and for which + // we have the imageData we need for setting default block attributes. + + const newImages = images.filter(image => !newCurrentImages.find(currentImage => image.clientId && currentImage.clientId === image.clientId) && (imageData === null || imageData === void 0 ? void 0 : imageData.find(img => img.id === image.id)) && !image.fromSavedConent); + + if (imagesUpdated || (newImages === null || newImages === void 0 ? void 0 : newImages.length) > 0) { + setCurrentImages([...newCurrentImages, ...newImages]); + } + + return newImages.length > 0 ? newImages : null; + } +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/use-get-media.js +/** + * WordPress dependencies + */ + + + +/** + * Retrieves the extended media info for each gallery image from the store. This is used to + * determine which image size options are available for the current gallery. + * + * @param {Array} innerBlockImages An array of the innerBlock images currently in the gallery. + * + * @return {Array} An array of media info options for each gallery image. + */ + +function useGetMedia(innerBlockImages) { + const [currentImageMedia, setCurrentImageMedia] = Object(external_wp_element_["useState"])([]); + const imageMedia = Object(external_wp_data_["useSelect"])(select => { + if (!(innerBlockImages !== null && innerBlockImages !== void 0 && innerBlockImages.length)) { + return currentImageMedia; + } + + const imageIds = innerBlockImages.map(imageBlock => imageBlock.attributes.id).filter(id => id !== undefined); + + if (imageIds.length === 0) { + return currentImageMedia; + } + + return select(external_wp_coreData_["store"]).getMediaItems({ + include: imageIds.join(','), + per_page: -1 + }); + }, [innerBlockImages]); + + if ((imageMedia === null || imageMedia === void 0 ? void 0 : imageMedia.length) !== (currentImageMedia === null || currentImageMedia === void 0 ? void 0 : currentImageMedia.length) || imageMedia !== null && imageMedia !== void 0 && imageMedia.some(newImage => !currentImageMedia.find(currentImage => currentImage.id === newImage.id))) { + setCurrentImageMedia(imageMedia); + return imageMedia; + } + + return currentImageMedia; +} + +// EXTERNAL MODULE: ./node_modules/@wordpress/interface/build-module/index.js + 17 modules +var build_module = __webpack_require__("U60i"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/use-mobile-warning.js +/** + * WordPress dependencies + */ + + + + +function useMobileWarning() { + const { + createWarningNotice + } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); + const { + toggleFeature + } = Object(external_wp_data_["useDispatch"])(build_module["i" /* store */]); + const isMobileWarningActive = Object(external_wp_data_["useSelect"])(select => { + const { + isFeatureActive + } = select(build_module["i" /* store */]); + return isFeatureActive('core/edit-post', 'mobileGalleryWarning'); + }, []); + + if (!isMobileWarningActive) { + return; + } + + createWarningNotice(Object(external_wp_i18n_["__"])('Editing this Gallery in the WordPress mobile app requires version 18.2 or higher.'), { + type: 'snackbar', + explicitDismiss: true + }); + toggleFeature('core/edit-post', 'mobileGalleryWarning'); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/edit.js + + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + + + + + + + + + + + +/** + * Internal dependencies + */ + + + + + + + + + + + +/** + * Internal dependencies + */ + + +const MAX_COLUMNS = 8; +const linkOptions = [{ + value: LINK_DESTINATION_ATTACHMENT, + label: Object(external_wp_i18n_["__"])('Attachment Page') +}, { + value: LINK_DESTINATION_MEDIA, + label: Object(external_wp_i18n_["__"])('Media File') +}, { + value: LINK_DESTINATION_NONE, + label: Object(external_wp_i18n_["_x"])('None', 'Media item link option') +}]; +const edit_ALLOWED_MEDIA_TYPES = ['image']; +const PLACEHOLDER_TEXT = external_wp_element_["Platform"].isNative ? Object(external_wp_i18n_["__"])('ADD MEDIA') : Object(external_wp_i18n_["__"])('Drag images, upload new ones or select files from your library.'); +const MOBILE_CONTROL_PROPS_RANGE_CONTROL = external_wp_element_["Platform"].isNative ? { + type: 'stepper' +} : {}; + +function GalleryEdit(props) { + const { + setAttributes, + attributes, + className, + clientId, + noticeOperations, + isSelected, + noticeUI, + insertBlocksAfter + } = props; + const { + columns, + imageCrop, + linkTarget, + linkTo, + shortCodeTransforms, + sizeSlug + } = attributes; + useMobileWarning(); + const { + __unstableMarkNextChangeAsNotPersistent, + replaceInnerBlocks, + updateBlockAttributes + } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); + const { + createSuccessNotice + } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); + const { + getBlock, + getSettings, + preferredStyle + } = Object(external_wp_data_["useSelect"])(select => { + var _preferredStyleVariat; + + const settings = select(external_wp_blockEditor_["store"]).getSettings(); + const preferredStyleVariations = settings.__experimentalPreferredStyleVariations; + return { + getBlock: select(external_wp_blockEditor_["store"]).getBlock, + getSettings: select(external_wp_blockEditor_["store"]).getSettings, + preferredStyle: preferredStyleVariations === null || preferredStyleVariations === void 0 ? void 0 : (_preferredStyleVariat = preferredStyleVariations.value) === null || _preferredStyleVariat === void 0 ? void 0 : _preferredStyleVariat['core/image'] + }; + }, []); + const innerBlockImages = Object(external_wp_data_["useSelect"])(select => { + var _select$getBlock; + + return (_select$getBlock = select(external_wp_blockEditor_["store"]).getBlock(clientId)) === null || _select$getBlock === void 0 ? void 0 : _select$getBlock.innerBlocks; + }, [clientId]); + const images = Object(external_wp_element_["useMemo"])(() => innerBlockImages === null || innerBlockImages === void 0 ? void 0 : innerBlockImages.map(block => ({ + clientId: block.clientId, + id: block.attributes.id, + url: block.attributes.url, + attributes: block.attributes, + fromSavedContent: Boolean(block.originalContent) + })), [innerBlockImages]); + const imageData = useGetMedia(innerBlockImages); + const newImages = useGetNewImages(images, imageData); + Object(external_wp_element_["useEffect"])(() => { + newImages === null || newImages === void 0 ? void 0 : newImages.forEach(newImage => { + updateBlockAttributes(newImage.clientId, { ...buildImageAttributes(false, newImage.attributes), + id: newImage.id, + align: undefined + }); + }); + }, [newImages]); + const shortCodeImages = useShortCodeTransform(shortCodeTransforms); + Object(external_wp_element_["useEffect"])(() => { + if (!shortCodeTransforms || !shortCodeImages) { + return; + } + + updateImages(shortCodeImages); + setAttributes({ + shortCodeTransforms: undefined + }); + }, [shortCodeTransforms, shortCodeImages]); + const imageSizeOptions = useImageSizes(imageData, isSelected, getSettings); + /** + * Determines the image attributes that should be applied to an image block + * after the gallery updates. + * + * The gallery will receive the full collection of images when a new image + * is added. As a result we need to reapply the image's original settings if + * it already existed in the gallery. If the image is in fact new, we need + * to apply the gallery's current settings to the image. + * + * @param {Object} existingBlock Existing Image block that still exists after gallery update. + * @param {Object} image Media object for the actual image. + * @return {Object} Attributes to set on the new image block. + */ + + function buildImageAttributes(existingBlock, image) { + if (existingBlock) { + return existingBlock.attributes; + } + + let newClassName; + + if (image.className && image.className !== '') { + newClassName = image.className; + } else { + newClassName = preferredStyle ? `is-style-${preferredStyle}` : undefined; + } + + return { ...pickRelevantMediaFiles(image, sizeSlug), + ...getHrefAndDestination(image, linkTo), + ...getUpdatedLinkTargetSettings(linkTarget, attributes), + className: newClassName, + sizeSlug + }; + } + + function isValidFileType(file) { + var _file$url; + + return edit_ALLOWED_MEDIA_TYPES.some(mediaType => { + var _file$type; + + return ((_file$type = file.type) === null || _file$type === void 0 ? void 0 : _file$type.indexOf(mediaType)) === 0; + }) || ((_file$url = file.url) === null || _file$url === void 0 ? void 0 : _file$url.indexOf('blob:')) === 0; + } + + function updateImages(selectedImages) { + const newFileUploads = Object.prototype.toString.call(selectedImages) === '[object FileList]'; + const imageArray = newFileUploads ? Array.from(selectedImages).map(file => { + if (!file.url) { + return pickRelevantMediaFiles({ + url: Object(external_wp_blob_["createBlobURL"])(file) + }); + } + + return file; + }) : selectedImages; + + if (!imageArray.every(isValidFileType)) { + noticeOperations.removeAllNotices(); + noticeOperations.createErrorNotice(Object(external_wp_i18n_["__"])('If uploading to a gallery all files need to be image formats'), { + id: 'gallery-upload-invalid-file' + }); + } + + const processedImages = imageArray.filter(file => file.url || isValidFileType(file)).map(file => { + if (!file.url) { + return pickRelevantMediaFiles({ + url: Object(external_wp_blob_["createBlobURL"])(file) + }); + } + + return file; + }); // Because we are reusing existing innerImage blocks any reordering + // done in the media library will be lost so we need to reapply that ordering + // once the new image blocks are merged in with existing. + + const newOrderMap = processedImages.reduce((result, image, index) => (result[image.id] = index, result), {}); + const existingImageBlocks = !newFileUploads ? innerBlockImages.filter(block => processedImages.find(img => img.id === block.attributes.id)) : innerBlockImages; + const newImageList = processedImages.filter(img => !existingImageBlocks.find(existingImg => img.id === existingImg.attributes.id)); + const newBlocks = newImageList.map(image => { + return Object(external_wp_blocks_["createBlock"])('core/image', { + id: image.id, + url: image.url, + caption: image.caption, + alt: image.alt + }); + }); + replaceInnerBlocks(clientId, Object(external_lodash_["concat"])(existingImageBlocks, newBlocks).sort((a, b) => newOrderMap[a.attributes.id] - newOrderMap[b.attributes.id])); + } + + function onUploadError(message) { + noticeOperations.removeAllNotices(); + noticeOperations.createErrorNotice(message); + } + + function setLinkTo(value) { + setAttributes({ + linkTo: value + }); + const changedAttributes = {}; + const blocks = []; + getBlock(clientId).innerBlocks.forEach(block => { + blocks.push(block.clientId); + const image = block.attributes.id ? Object(external_lodash_["find"])(imageData, { + id: block.attributes.id + }) : null; + changedAttributes[block.clientId] = getHrefAndDestination(image, value); + }); + updateBlockAttributes(blocks, changedAttributes, true); + const linkToText = [...linkOptions].find(linkType => linkType.value === value); + createSuccessNotice(Object(external_wp_i18n_["sprintf"])( + /* translators: %s: image size settings */ + Object(external_wp_i18n_["__"])('All gallery image links updated to: %s'), linkToText.label), { + id: 'gallery-attributes-linkTo', + type: 'snackbar' + }); + } + + function setColumnsNumber(value) { + setAttributes({ + columns: value + }); + } + + function toggleImageCrop() { + setAttributes({ + imageCrop: !imageCrop + }); + } + + function getImageCropHelp(checked) { + return checked ? Object(external_wp_i18n_["__"])('Thumbnails are cropped to align.') : Object(external_wp_i18n_["__"])('Thumbnails are not cropped.'); + } + + function toggleOpenInNewTab(openInNewTab) { + const newLinkTarget = openInNewTab ? '_blank' : undefined; + setAttributes({ + linkTarget: newLinkTarget + }); + const changedAttributes = {}; + const blocks = []; + getBlock(clientId).innerBlocks.forEach(block => { + blocks.push(block.clientId); + changedAttributes[block.clientId] = getUpdatedLinkTargetSettings(newLinkTarget, block.attributes); + }); + updateBlockAttributes(blocks, changedAttributes, true); + const noticeText = openInNewTab ? Object(external_wp_i18n_["__"])('All gallery images updated to open in new tab') : Object(external_wp_i18n_["__"])('All gallery images updated to not open in new tab'); + createSuccessNotice(noticeText, { + id: 'gallery-attributes-openInNewTab', + type: 'snackbar' + }); + } + + function updateImagesSize(newSizeSlug) { + setAttributes({ + sizeSlug: newSizeSlug + }); + const changedAttributes = {}; + const blocks = []; + getBlock(clientId).innerBlocks.forEach(block => { + blocks.push(block.clientId); + const image = block.attributes.id ? Object(external_lodash_["find"])(imageData, { + id: block.attributes.id + }) : null; + changedAttributes[block.clientId] = getImageSizeAttributes(image, newSizeSlug); + }); + updateBlockAttributes(blocks, changedAttributes, true); + const imageSize = imageSizeOptions.find(size => size.value === newSizeSlug); + createSuccessNotice(Object(external_wp_i18n_["sprintf"])( + /* translators: %s: image size settings */ + Object(external_wp_i18n_["__"])('All gallery image sizes updated to: %s'), imageSize.label), { + id: 'gallery-attributes-sizeSlug', + type: 'snackbar' + }); + } + + Object(external_wp_element_["useEffect"])(() => { + // linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php + if (!linkTo) { + var _window, _window$wp, _window$wp$media, _window$wp$media$view, _window$wp$media$view2, _window$wp$media$view3; + + __unstableMarkNextChangeAsNotPersistent(); + + setAttributes({ + linkTo: ((_window = window) === null || _window === void 0 ? void 0 : (_window$wp = _window.wp) === null || _window$wp === void 0 ? void 0 : (_window$wp$media = _window$wp.media) === null || _window$wp$media === void 0 ? void 0 : (_window$wp$media$view = _window$wp$media.view) === null || _window$wp$media$view === void 0 ? void 0 : (_window$wp$media$view2 = _window$wp$media$view.settings) === null || _window$wp$media$view2 === void 0 ? void 0 : (_window$wp$media$view3 = _window$wp$media$view2.defaultProps) === null || _window$wp$media$view3 === void 0 ? void 0 : _window$wp$media$view3.link) || LINK_DESTINATION_NONE + }); + } + }, [linkTo]); + const hasImages = !!images.length; + const hasImageIds = hasImages && images.some(image => !!image.id); + const imagesUploading = images.some(img => { + var _img$url; + + return !img.id && ((_img$url = img.url) === null || _img$url === void 0 ? void 0 : _img$url.indexOf('blob:')) === 0; + }); + const mediaPlaceholder = Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { + addToGallery: hasImageIds, + handleUpload: false, + isAppender: hasImages, + disableMediaButtons: hasImages && !isSelected || imagesUploading, + icon: !hasImages && sharedIcon, + labels: { + title: !hasImages && Object(external_wp_i18n_["__"])('Gallery'), + instructions: !hasImages && PLACEHOLDER_TEXT + }, + onSelect: updateImages, + accept: "image/*", + allowedTypes: edit_ALLOWED_MEDIA_TYPES, + multiple: true, + value: hasImageIds ? images : {}, + onError: onUploadError, + notices: hasImages ? undefined : noticeUI + }); + const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ + className: classnames_default()(className, 'has-nested-images') + }); + + if (!hasImages) { + return Object(external_wp_element_["createElement"])(external_wp_primitives_["View"], blockProps, mediaPlaceholder); + } + + const hasLinkTo = linkTo && linkTo !== 'none'; + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { + title: Object(external_wp_i18n_["__"])('Gallery settings') + }, images.length > 1 && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], Object(esm_extends["a" /* default */])({ + label: Object(external_wp_i18n_["__"])('Columns'), + value: columns ? columns : defaultColumnsNumber(images.length), + onChange: setColumnsNumber, + min: 1, + max: Math.min(MAX_COLUMNS, images.length) + }, MOBILE_CONTROL_PROPS_RANGE_CONTROL, { + required: true + })), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Crop images'), + checked: !!imageCrop, + onChange: toggleImageCrop, + help: getImageCropHelp + }), Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { + label: Object(external_wp_i18n_["__"])('Link to'), + value: linkTo, + onChange: setLinkTo, + options: linkOptions, + hideCancelButton: true + }), hasLinkTo && Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { + label: Object(external_wp_i18n_["__"])('Open in new tab'), + checked: linkTarget === '_blank', + onChange: toggleOpenInNewTab + }), (imageSizeOptions === null || imageSizeOptions === void 0 ? void 0 : imageSizeOptions.length) > 0 && Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { + label: Object(external_wp_i18n_["__"])('Image size'), + value: sizeSlug, + options: imageSizeOptions, + onChange: updateImagesSize, + hideCancelButton: true + }), external_wp_element_["Platform"].isWeb && !imageSizeOptions && Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], { + className: 'gallery-image-sizes' + }, Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"].VisualLabel, null, Object(external_wp_i18n_["__"])('Image size')), Object(external_wp_element_["createElement"])(external_wp_primitives_["View"], { + className: 'gallery-image-sizes__loading' + }, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null), Object(external_wp_i18n_["__"])('Loading options…'))))), noticeUI, Object(external_wp_element_["createElement"])(gallery_gallery, Object(esm_extends["a" /* default */])({}, props, { + images: images, + mediaPlaceholder: mediaPlaceholder, + blockProps: blockProps, + insertBlocksAfter: insertBlocksAfter + }))); +} + +/* harmony default export */ var gallery_edit = (Object(external_wp_compose_["compose"])([external_wp_components_["withNotices"], Object(external_wp_viewport_["withViewportMatch"])({ + isNarrow: '< small' +})])(GalleryEdit)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/v1/shared.js +/** + * External dependencies + */ + +const shared_pickRelevantMediaFiles = (image, sizeSlug = 'large') => { + const imageProps = Object(external_lodash_["pick"])(image, ['alt', 'id', 'link', 'caption']); + imageProps.url = Object(external_lodash_["get"])(image, ['sizes', sizeSlug, 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', sizeSlug, 'source_url']) || image.url; + const fullUrl = Object(external_lodash_["get"])(image, ['sizes', 'full', 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', 'full', 'source_url']); + + if (fullUrl) { + imageProps.fullUrl = fullUrl; + } + + return imageProps; +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/image.js + + +/** + * WordPress dependencies + */ + +const image_image = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + viewBox: "0 0 24 24", + xmlns: "http://www.w3.org/2000/svg" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z" +})); +/* harmony default export */ var library_image = (image_image); + // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-left.js var chevron_left = __webpack_require__("2gm7"); // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-right.js var chevron_right = __webpack_require__("1iEr"); -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/edit.js + 1 modules -var library_edit = __webpack_require__("B9Az"); - // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close-small.js var close_small = __webpack_require__("bWcr"); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/constants.js -const constants_LINK_DESTINATION_NONE = 'none'; -const constants_LINK_DESTINATION_MEDIA = 'file'; -const constants_LINK_DESTINATION_ATTACHMENT = 'post'; +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/v1/constants.js +const v1_constants_LINK_DESTINATION_NONE = 'none'; +const v1_constants_LINK_DESTINATION_MEDIA = 'file'; +const v1_constants_LINK_DESTINATION_ATTACHMENT = 'post'; -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/gallery-image.js +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/v1/gallery-image.js /** @@ -7889,7 +12271,7 @@ const constants_LINK_DESTINATION_ATTACHMENT = 'post'; -const gallery_image_isTemporaryImage = (id, url) => !id && Object(external_wp_blob_["isBlobURL"])(url); +const isTemporaryImage = (id, url) => !id && Object(external_wp_blob_["isBlobURL"])(url); class gallery_image_GalleryImage extends external_wp_element_["Component"] { constructor() { @@ -7917,7 +12299,6 @@ class gallery_image_GalleryImage extends external_wp_element_["Component"] { onRemoveImage(event) { if (this.container === this.container.ownerDocument.activeElement && this.props.isSelected && [external_wp_keycodes_["BACKSPACE"], external_wp_keycodes_["DELETE"]].indexOf(event.keyCode) !== -1) { - event.stopPropagation(); event.preventDefault(); this.props.onRemove(); } @@ -7967,7 +12348,7 @@ class gallery_image_GalleryImage extends external_wp_element_["Component"] { let mediaAttributes = shared_pickRelevantMediaFiles(media, sizeSlug); // If the current image is temporary but an alt text was meanwhile // written by the user, make sure the text is not overwritten. - if (gallery_image_isTemporaryImage(id, url)) { + if (isTemporaryImage(id, url)) { if (alt) { mediaAttributes = Object(external_lodash_["omit"])(mediaAttributes, ['alt']); } @@ -8025,11 +12406,11 @@ class gallery_image_GalleryImage extends external_wp_element_["Component"] { let href; switch (linkTo) { - case constants_LINK_DESTINATION_MEDIA: + case v1_constants_LINK_DESTINATION_MEDIA: href = url; break; - case constants_LINK_DESTINATION_ATTACHMENT: + case v1_constants_LINK_DESTINATION_ATTACHMENT: href = link; break; } @@ -8133,7 +12514,7 @@ class gallery_image_GalleryImage extends external_wp_element_["Component"] { }; })])(gallery_image_GalleryImage)); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/gallery.js +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/v1/gallery.js @@ -8155,7 +12536,7 @@ class gallery_image_GalleryImage extends external_wp_element_["Component"] { -const Gallery = props => { +const gallery_Gallery = props => { const { attributes, isSelected, @@ -8173,7 +12554,7 @@ const Gallery = props => { } = props; const { align, - columns = defaultColumnsNumber(attributes), + columns = defaultColumnsNumberV1(attributes), caption, imageCrop, images @@ -8210,7 +12591,7 @@ const Gallery = props => { "aria-label": ariaLabel, sizeSlug: attributes.sizeSlug })); - })), mediaPlaceholder, Object(external_wp_element_["createElement"])(RichTextVisibilityHelper, { + })), mediaPlaceholder, Object(external_wp_element_["createElement"])(gallery_RichTextVisibilityHelper, { isHidden: !isSelected && external_wp_blockEditor_["RichText"].isEmpty(caption), tagName: "figcaption", className: "blocks-gallery-caption", @@ -8225,7 +12606,7 @@ const Gallery = props => { })); }; -function RichTextVisibilityHelper({ +function gallery_RichTextVisibilityHelper({ isHidden, ...richTextProps }) { @@ -8234,9 +12615,103 @@ function RichTextVisibilityHelper({ }, richTextProps)) : Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], richTextProps); } -/* harmony default export */ var gallery_gallery = (Gallery); +/* harmony default export */ var v1_gallery = (gallery_Gallery); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/edit.js +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/v1/update-gallery-modal.js + + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + +const updateGallery = ({ + clientId, + getBlock, + replaceBlocks +}) => () => { + let link; + const { + attributes: { + sizeSlug, + linkTo, + images, + caption + } + } = getBlock(clientId); + + switch (linkTo) { + case 'post': + link = v1_constants_LINK_DESTINATION_ATTACHMENT; + break; + + case 'file': + link = v1_constants_LINK_DESTINATION_MEDIA; + break; + + default: + link = v1_constants_LINK_DESTINATION_NONE; + break; + } + + const innerBlocks = images.map(image => Object(external_wp_blocks_["createBlock"])('core/image', { + id: parseInt(image.id, 10), + url: image.url, + alt: image.alt, + caption: image.caption, + linkDestination: link + })); + replaceBlocks(clientId, Object(external_wp_blocks_["createBlock"])('core/gallery', { + sizeSlug, + linkTo: link, + caption + }, innerBlocks)); +}; +function UpdateGalleryModal({ + onClose, + clientId +}) { + const { + getBlock + } = Object(external_wp_data_["useSelect"])(external_wp_blockEditor_["store"]); + const { + replaceBlocks + } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); + return Object(external_wp_element_["createElement"])(external_wp_components_["Modal"], { + closeLabel: Object(external_wp_i18n_["__"])('Close'), + onRequestClose: onClose, + title: Object(external_wp_i18n_["__"])('Update gallery'), + className: 'wp-block-update-gallery-modal', + aria: { + describedby: 'wp-block-update-gallery-modal__description' + } + }, Object(external_wp_element_["createElement"])("p", { + id: 'wp-block-update-gallery-modal__description' + }, Object(external_wp_i18n_["__"])('Updating to the new format adds the ability to use custom links or styles on individual images in the gallery, and makes it easier to add or move them around.')), Object(external_wp_element_["createElement"])("div", { + className: "wp-block-update-gallery-modal-buttons" + }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + isTertiary: true, + onClick: onClose + }, Object(external_wp_i18n_["__"])('Cancel')), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { + isPrimary: true, + onClick: updateGallery({ + replaceBlocks, + getBlock, + clientId, + createBlock: external_wp_blocks_["createBlock"] + }) + }, Object(external_wp_i18n_["__"])('Update')))); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/v1/edit.js @@ -8266,30 +12741,32 @@ function RichTextVisibilityHelper({ -const MAX_COLUMNS = 8; -const linkOptions = [{ - value: constants_LINK_DESTINATION_ATTACHMENT, + + +const edit_MAX_COLUMNS = 8; +const edit_linkOptions = [{ + value: v1_constants_LINK_DESTINATION_ATTACHMENT, label: Object(external_wp_i18n_["__"])('Attachment Page') }, { - value: constants_LINK_DESTINATION_MEDIA, + value: v1_constants_LINK_DESTINATION_MEDIA, label: Object(external_wp_i18n_["__"])('Media File') }, { - value: constants_LINK_DESTINATION_NONE, + value: v1_constants_LINK_DESTINATION_NONE, label: Object(external_wp_i18n_["__"])('None') }]; -const edit_ALLOWED_MEDIA_TYPES = ['image']; -const PLACEHOLDER_TEXT = external_wp_element_["Platform"].select({ +const v1_edit_ALLOWED_MEDIA_TYPES = ['image']; +const edit_PLACEHOLDER_TEXT = external_wp_element_["Platform"].select({ web: Object(external_wp_i18n_["__"])('Drag images, upload new ones or select files from your library.'), native: Object(external_wp_i18n_["__"])('ADD MEDIA') }); -const MOBILE_CONTROL_PROPS_RANGE_CONTROL = external_wp_element_["Platform"].select({ +const edit_MOBILE_CONTROL_PROPS_RANGE_CONTROL = external_wp_element_["Platform"].select({ web: {}, native: { type: 'stepper' } }); -function GalleryEdit(props) { +function edit_GalleryEdit(props) { const { attributes, clientId, @@ -8299,7 +12776,7 @@ function GalleryEdit(props) { onFocus } = props; const { - columns = defaultColumnsNumber(attributes), + columns = defaultColumnsNumberV1(attributes), imageCrop, images, linkTo, @@ -8314,10 +12791,12 @@ function GalleryEdit(props) { imageSizes, mediaUpload, getMedia, - wasBlockJustInserted + wasBlockJustInserted, + __unstableGalleryWithImageBlocks } = Object(external_wp_data_["useSelect"])(select => { const settings = select(external_wp_blockEditor_["store"]).getSettings(); return { + __unstableGalleryWithImageBlocks: settings.__unstableGalleryWithImageBlocks, imageSizes: settings.imageSizes, mediaUpload: settings.mediaUpload, getMedia: select(external_wp_coreData_["store"]).getMedia, @@ -8569,7 +13048,7 @@ function GalleryEdit(props) { __unstableMarkNextChangeAsNotPersistent(); setAttributes({ - linkTo: ((_window = window) === null || _window === void 0 ? void 0 : (_window$wp = _window.wp) === null || _window$wp === void 0 ? void 0 : (_window$wp$media = _window$wp.media) === null || _window$wp$media === void 0 ? void 0 : (_window$wp$media$view = _window$wp$media.view) === null || _window$wp$media$view === void 0 ? void 0 : (_window$wp$media$view2 = _window$wp$media$view.settings) === null || _window$wp$media$view2 === void 0 ? void 0 : (_window$wp$media$view3 = _window$wp$media$view2.defaultProps) === null || _window$wp$media$view3 === void 0 ? void 0 : _window$wp$media$view3.link) || constants_LINK_DESTINATION_NONE + linkTo: ((_window = window) === null || _window === void 0 ? void 0 : (_window$wp = _window.wp) === null || _window$wp === void 0 ? void 0 : (_window$wp$media = _window$wp.media) === null || _window$wp$media === void 0 ? void 0 : (_window$wp$media$view = _window$wp$media.view) === null || _window$wp$media$view === void 0 ? void 0 : (_window$wp$media$view2 = _window$wp$media$view.settings) === null || _window$wp$media$view2 === void 0 ? void 0 : (_window$wp$media$view3 = _window$wp$media$view2.defaultProps) === null || _window$wp$media$view3 === void 0 ? void 0 : _window$wp$media$view3.link) || v1_constants_LINK_DESTINATION_NONE }); } }, [linkTo]); @@ -8582,11 +13061,11 @@ function GalleryEdit(props) { icon: !hasImages && sharedIcon, labels: { title: !hasImages && Object(external_wp_i18n_["__"])('Gallery'), - instructions: !hasImages && PLACEHOLDER_TEXT + instructions: !hasImages && edit_PLACEHOLDER_TEXT }, onSelect: onSelectImages, accept: "image/*", - allowedTypes: edit_ALLOWED_MEDIA_TYPES, + allowedTypes: v1_edit_ALLOWED_MEDIA_TYPES, multiple: true, value: hasImageIds ? images : {}, onError: onUploadError, @@ -8594,6 +13073,12 @@ function GalleryEdit(props) { onFocus: onFocus, autoOpenMediaUpload: !hasImages && isSelected && wasBlockJustInserted }); + const [isUpdateOpen, setUpdateOpen] = Object(external_wp_element_["useState"])(false); + + const openUpdateModal = () => setUpdateOpen(true); + + const closeUpdateModal = () => setUpdateOpen(false); + const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); if (!hasImages) { @@ -8609,8 +13094,8 @@ function GalleryEdit(props) { value: columns, onChange: setColumnsNumber, min: 1, - max: Math.min(MAX_COLUMNS, images.length) - }, MOBILE_CONTROL_PROPS_RANGE_CONTROL, { + max: Math.min(edit_MAX_COLUMNS, images.length) + }, edit_MOBILE_CONTROL_PROPS_RANGE_CONTROL, { required: true })), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { label: Object(external_wp_i18n_["__"])('Crop images'), @@ -8621,7 +13106,7 @@ function GalleryEdit(props) { label: Object(external_wp_i18n_["__"])('Link to'), value: linkTo, onChange: setLinkTo, - options: linkOptions, + options: edit_linkOptions, hideCancelButton: true }), shouldShowSizeOptions && Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { label: Object(external_wp_i18n_["__"])('Image size'), @@ -8629,7 +13114,16 @@ function GalleryEdit(props) { options: imageSizeOptions, onChange: updateImagesSize, hideCancelButton: true - }))), noticeUI, Object(external_wp_element_["createElement"])(gallery_gallery, Object(esm_extends["a" /* default */])({}, props, { + }))), external_wp_element_["Platform"].isWeb && __unstableGalleryWithImageBlocks && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { + group: "other" + }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { + onClick: openUpdateModal, + title: Object(external_wp_i18n_["__"])('Update'), + label: Object(external_wp_i18n_["__"])('Update to the new gallery format') + }, Object(external_wp_i18n_["__"])('Update'))), external_wp_element_["Platform"].isWeb && isUpdateOpen && Object(external_wp_element_["createElement"])(UpdateGalleryModal, { + onClose: closeUpdateModal, + clientId: clientId + }), noticeUI, Object(external_wp_element_["createElement"])(v1_gallery, Object(esm_extends["a" /* default */])({}, props, { selectedImage: selectedImage, mediaPlaceholder: mediaPlaceholder, onMoveBackward: onMoveBackward, @@ -8644,11 +13138,62 @@ function GalleryEdit(props) { }))); } -/* harmony default export */ var gallery_edit = (Object(external_wp_compose_["compose"])([external_wp_components_["withNotices"], Object(external_wp_viewport_["withViewportMatch"])({ +/* harmony default export */ var v1_edit = (Object(external_wp_compose_["compose"])([external_wp_components_["withNotices"], Object(external_wp_viewport_["withViewportMatch"])({ isNarrow: '< small' -})])(GalleryEdit)); +})])(edit_GalleryEdit)); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/save.js +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/edit-wrapper.js + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + +/* + * Using a wrapper around the logic to load the edit for v1 of Gallery block + * or the refactored version with InnerBlocks. This is to prevent conditional + * use of hooks lint errors if adding this logic to the top of the edit component. + */ + +function GalleryEditWrapper(props) { + var _attributes$ids, _attributes$images; + + const { + attributes, + clientId + } = props; + const innerBlockImages = Object(external_wp_data_["useSelect"])(select => { + var _select$getBlock; + + return (_select$getBlock = select(external_wp_blockEditor_["store"]).getBlock(clientId)) === null || _select$getBlock === void 0 ? void 0 : _select$getBlock.innerBlocks; + }, [clientId]); + + const __unstableGalleryWithImageBlocks = Object(external_wp_data_["useSelect"])(select => { + const settings = select(external_wp_blockEditor_["store"]).getSettings(); + return settings.__unstableGalleryWithImageBlocks; + }, []); // This logic is used to infer version information from content with higher + // precedence than the flag. New galleries (and existing empty galleries) will + // honor the flag. + + + const hasNewVersionContent = !!(innerBlockImages !== null && innerBlockImages !== void 0 && innerBlockImages.length); + const hasOldVersionContent = 0 < (attributes === null || attributes === void 0 ? void 0 : (_attributes$ids = attributes.ids) === null || _attributes$ids === void 0 ? void 0 : _attributes$ids.length) || 0 < (attributes === null || attributes === void 0 ? void 0 : (_attributes$images = attributes.images) === null || _attributes$images === void 0 ? void 0 : _attributes$images.length); + + if (hasOldVersionContent || !hasNewVersionContent && !__unstableGalleryWithImageBlocks) { + return Object(external_wp_element_["createElement"])(v1_edit, props); + } + + return Object(external_wp_element_["createElement"])(gallery_edit, props); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/v1/save.js /** @@ -8661,12 +13206,12 @@ function GalleryEdit(props) { -function gallery_save_save({ +function saveV1({ attributes }) { const { images, - columns = defaultColumnsNumber(attributes), + columns = defaultColumnsNumberV1(attributes), imageCrop, caption, linkTo @@ -8680,11 +13225,11 @@ function gallery_save_save({ let href; switch (linkTo) { - case constants_LINK_DESTINATION_MEDIA: + case v1_constants_LINK_DESTINATION_MEDIA: href = image.fullUrl || image.url; break; - case constants_LINK_DESTINATION_ATTACHMENT: + case v1_constants_LINK_DESTINATION_ATTACHMENT: href = image.link; break; } @@ -8714,6 +13259,58 @@ function gallery_save_save({ })); } +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/save.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + +function saveWithInnerBlocks({ + attributes +}) { + var _attributes$ids, _attributes$images; + + if ((attributes === null || attributes === void 0 ? void 0 : (_attributes$ids = attributes.ids) === null || _attributes$ids === void 0 ? void 0 : _attributes$ids.length) > 0 || (attributes === null || attributes === void 0 ? void 0 : (_attributes$images = attributes.images) === null || _attributes$images === void 0 ? void 0 : _attributes$images.length) > 0) { + return saveV1({ + attributes + }); + } + + const { + caption, + columns, + imageCrop + } = attributes; + const className = classnames_default()('has-nested-images', { + [`columns-${columns}`]: columns !== undefined, + [`columns-default`]: columns === undefined, + 'is-cropped': imageCrop + }); + const blockProps = external_wp_blockEditor_["useBlockProps"].save({ + className + }); + const innerBlocksProps = external_wp_blockEditor_["useInnerBlocksProps"].save(blockProps); + return Object(external_wp_element_["createElement"])("figure", innerBlocksProps, innerBlocksProps.children, !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { + tagName: "figcaption", + className: "blocks-gallery-caption", + value: caption + })); +} + +// EXTERNAL MODULE: external ["wp","hooks"] +var external_wp_hooks_ = __webpack_require__("g56x"); + // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/transforms.js /** * External dependencies @@ -8725,6 +13322,9 @@ function gallery_save_save({ + + + /** * Internal dependencies */ @@ -8732,6 +13332,7 @@ function gallery_save_save({ + const parseShortcodeIds = ids => { if (!ids) { return []; @@ -8739,7 +13340,97 @@ const parseShortcodeIds = ids => { return ids.split(',').map(id => parseInt(id, 10)); }; +/** + * Third party block plugins don't have an easy way to detect if the + * innerBlocks version of the Gallery is running when they run a + * 3rdPartyBlock -> GalleryBlock transform so this tranform filter + * will handle this. Once the innerBlocks version is the default + * in a core release, this could be deprecated and removed after + * plugin authors have been given time to update transforms. + * + * @typedef {Object} Attributes + * @typedef {Object} Block + * @property {Attributes} attributes The attributes of the block. + * @param {Block} block The transformed block. + * @return {Block} The transformed block. + */ + +function updateThirdPartyTransformToGallery(block) { + var _block$attributes; + + const settings = Object(external_wp_data_["select"])(external_wp_blockEditor_["store"]).getSettings(); + + if (settings.__unstableGalleryWithImageBlocks && block.name === 'core/gallery' && ((_block$attributes = block.attributes) === null || _block$attributes === void 0 ? void 0 : _block$attributes.images.length) > 0) { + const innerBlocks = block.attributes.images.map(({ + url, + id, + alt + }) => { + return Object(external_wp_blocks_["createBlock"])('core/image', { + url, + id: id ? parseInt(id, 10) : null, + alt, + sizeSlug: block.attributes.sizeSlug, + linkDestination: block.attributes.linkDestination + }); + }); + delete block.attributes.ids; + delete block.attributes.images; + block.innerBlocks = innerBlocks; + } + + return block; +} + +Object(external_wp_hooks_["addFilter"])('blocks.switchToBlockType.transformedBlock', 'core/gallery/update-third-party-transform-to', updateThirdPartyTransformToGallery); +/** + * Third party block plugins don't have an easy way to detect if the + * innerBlocks version of the Gallery is running when they run a + * GalleryBlock -> 3rdPartyBlock transform so this transform filter + * will handle this. Once the innerBlocks version is the default + * in a core release, this could be deprecated and removed after + * plugin authors have been given time to update transforms. + * + * @typedef {Object} Attributes + * @typedef {Object} Block + * @property {Attributes} attributes The attributes of the block. + * @param {Block} toBlock The block to transform to. + * @param {Block[]} fromBlocks The blocks to transform from. + * @return {Block} The transformed block. + */ + +function updateThirdPartyTransformFromGallery(toBlock, fromBlocks) { + const from = Array.isArray(fromBlocks) ? fromBlocks : [fromBlocks]; + const galleryBlock = from.find(transformedBlock => { + var _transformedBlock$att; + + return transformedBlock.name === 'core/gallery' && transformedBlock.innerBlocks.length > 0 && !((_transformedBlock$att = transformedBlock.attributes.images) !== null && _transformedBlock$att !== void 0 && _transformedBlock$att.length) > 0 && !toBlock.name.includes('core/'); + }); + + if (galleryBlock) { + const images = galleryBlock.innerBlocks.map(({ + attributes: { + url, + id, + alt + } + }) => ({ + url, + id: id ? parseInt(id, 10) : null, + alt + })); + const ids = images.map(({ + id + }) => id); + galleryBlock.attributes.images = images; + galleryBlock.attributes.ids = ids; + } + + return toBlock; +} + +Object(external_wp_hooks_["addFilter"])('blocks.switchToBlockType.transformedBlock', 'core/gallery/update-third-party-transform-from', updateThirdPartyTransformFromGallery); const gallery_transforms_transforms = { from: [{ type: 'block', @@ -8757,6 +13448,18 @@ const gallery_transforms_transforms = { const validImages = Object(external_lodash_["filter"])(attributes, ({ url }) => url); + const settings = Object(external_wp_data_["select"])(external_wp_blockEditor_["store"]).getSettings(); + + if (settings.__unstableGalleryWithImageBlocks) { + const innerBlocks = validImages.map(image => { + return Object(external_wp_blocks_["createBlock"])('core/image', image); + }); + return Object(external_wp_blocks_["createBlock"])('core/gallery', { + align, + sizeSlug + }, innerBlocks); + } + return Object(external_wp_blocks_["createBlock"])('core/gallery', { images: validImages.map(({ id, @@ -8787,9 +13490,13 @@ const gallery_transforms_transforms = { ids } }) => { - return parseShortcodeIds(ids).map(id => ({ - id: Object(external_lodash_["toString"])(id) - })); + const settings = Object(external_wp_data_["select"])(external_wp_blockEditor_["store"]).getSettings(); + + if (!settings.__unstableGalleryWithImageBlocks) { + return parseShortcodeIds(ids).map(id => ({ + id: Object(external_lodash_["toString"])(id) + })); + } } }, ids: { @@ -8799,7 +13506,27 @@ const gallery_transforms_transforms = { ids } }) => { - return parseShortcodeIds(ids); + const settings = Object(external_wp_data_["select"])(external_wp_blockEditor_["store"]).getSettings(); + + if (!settings.__unstableGalleryWithImageBlocks) { + return parseShortcodeIds(ids); + } + } + }, + shortCodeTransforms: { + type: 'array', + shortcode: ({ + named: { + ids + } + }) => { + const settings = Object(external_wp_data_["select"])(external_wp_blockEditor_["store"]).getSettings(); + + if (settings.__unstableGalleryWithImageBlocks) { + return parseShortcodeIds(ids).map(id => ({ + id: parseInt(id) + })); + } } }, columns: { @@ -8816,10 +13543,34 @@ const gallery_transforms_transforms = { type: 'string', shortcode: ({ named: { - link = constants_LINK_DESTINATION_ATTACHMENT + link } }) => { - return link; + const settings = Object(external_wp_data_["select"])(external_wp_blockEditor_["store"]).getSettings(); + + if (!settings.__unstableGalleryWithImageBlocks) { + switch (link) { + case 'post': + return v1_constants_LINK_DESTINATION_ATTACHMENT; + + case 'file': + return v1_constants_LINK_DESTINATION_MEDIA; + + default: + return v1_constants_LINK_DESTINATION_ATTACHMENT; + } + } + + switch (link) { + case 'post': + return LINK_DESTINATION_ATTACHMENT; + + case 'file': + return LINK_DESTINATION_MEDIA; + + default: + return LINK_DESTINATION_NONE; + } } } }, @@ -8831,16 +13582,30 @@ const gallery_transforms_transforms = { } }, { - // When created by drag and dropping multiple files on an insertion point + // When created by drag and dropping multiple files on an insertion point. Because multiple + // files must not be transformed to a gallery when dropped within a gallery there is another transform + // within the image block to handle that case. Therefore this transform has to have priority 1 + // set so that it overrrides the image block transformation when mulitple images are dropped outside + // of a gallery block. type: 'files', + priority: 1, isMatch(files) { return files.length !== 1 && Object(external_lodash_["every"])(files, file => file.type.indexOf('image/') === 0); }, transform(files) { + const settings = Object(external_wp_data_["select"])(external_wp_blockEditor_["store"]).getSettings(); + + if (settings.__unstableGalleryWithImageBlocks) { + const innerBlocks = files.map(file => Object(external_wp_blocks_["createBlock"])('core/image', { + url: Object(external_wp_blob_["createBlobURL"])(file) + })); + return Object(external_wp_blocks_["createBlock"])('core/gallery', {}, innerBlocks); + } + const block = Object(external_wp_blocks_["createBlock"])('core/gallery', { - images: files.map(file => shared_pickRelevantMediaFiles({ + images: files.map(file => pickRelevantMediaFiles({ url: Object(external_wp_blob_["createBlobURL"])(file) })) }); @@ -8852,11 +13617,38 @@ const gallery_transforms_transforms = { type: 'block', blocks: ['core/image'], transform: ({ - images, align, - sizeSlug, - ids - }) => { + images, + ids, + sizeSlug + }, innerBlocks) => { + const settings = Object(external_wp_data_["select"])(external_wp_blockEditor_["store"]).getSettings(); + + if (settings.__unstableGalleryWithImageBlocks) { + if (innerBlocks.length > 0) { + return innerBlocks.map(({ + attributes: { + id, + url, + alt, + caption, + imageSizeSlug + } + }) => Object(external_wp_blocks_["createBlock"])('core/image', { + id, + url, + alt, + caption, + sizeSlug: imageSizeSlug, + align + })); + } + + return Object(external_wp_blocks_["createBlock"])('core/image', { + align + }); + } + if (images.length > 0) { return images.map(({ url, @@ -8951,6 +13743,13 @@ const gallery_metadata = { }, "default": [] }, + shortCodeTransforms: { + type: "array", + "default": [], + items: { + type: "object" + } + }, columns: { type: "number", minimum: 1, @@ -8965,14 +13764,30 @@ const gallery_metadata = { type: "boolean", "default": true }, + fixedHeight: { + type: "boolean", + "default": true + }, + linkTarget: { + type: "string" + }, linkTo: { type: "string" }, sizeSlug: { type: "string", "default": "large" + }, + allowResize: { + type: "boolean", + "default": false } }, + providesContext: { + allowResize: "allowResize", + imageCrop: "imageCrop", + fixedHeight: "fixedHeight" + }, supports: { anchor: true, align: true @@ -8990,41 +13805,36 @@ const gallery_settings = { icon: library_gallery, example: { attributes: { - columns: 2, - images: [{ + columns: 2 + }, + innerBlocks: [{ + name: 'core/image', + attributes: { url: 'https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg' - }, { + } + }, { + name: 'core/image', + attributes: { url: 'https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg' - }] - } + } + }] }, transforms: gallery_transforms, - edit: gallery_edit, - save: gallery_save_save, + edit: GalleryEditWrapper, + save: saveWithInnerBlocks, deprecated: gallery_deprecated }; -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/archive.js +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/group.js +var library_group = __webpack_require__("u6za"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/group/deprecated.js /** - * WordPress dependencies + * External dependencies */ -const archive = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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.5zM8 12.8h8v-1.5H8v1.5zm0 3h8v-1.5H8v1.5z" -})); -/* harmony default export */ var library_archive = (archive); - -// EXTERNAL MODULE: external ["wp","serverSideRender"] -var external_wp_serverSideRender_ = __webpack_require__("JREk"); -var external_wp_serverSideRender_default = /*#__PURE__*/__webpack_require__.n(external_wp_serverSideRender_); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/edit.js - /** * WordPress dependencies @@ -9032,2568 +13842,13 @@ var external_wp_serverSideRender_default = /*#__PURE__*/__webpack_require__.n(ex - -function ArchivesEdit({ - attributes, - setAttributes -}) { - const { - showPostCounts, - displayAsDropdown - } = attributes; - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { - title: Object(external_wp_i18n_["__"])('Archives settings') - }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { - label: Object(external_wp_i18n_["__"])('Display as dropdown'), - checked: displayAsDropdown, - onChange: () => setAttributes({ - displayAsDropdown: !displayAsDropdown - }) - }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { - label: Object(external_wp_i18n_["__"])('Show post counts'), - checked: showPostCounts, - onChange: () => setAttributes({ - showPostCounts: !showPostCounts - }) - }))), Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], null, Object(external_wp_element_["createElement"])(external_wp_serverSideRender_default.a, { - block: "core/archives", - attributes: attributes - })))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/index.js -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - -const archives_metadata = { - apiVersion: 2, - name: "core/archives", - title: "Archives", - category: "widgets", - description: "Display a monthly archive of your posts.", - textdomain: "default", - attributes: { - displayAsDropdown: { - type: "boolean", - "default": false - }, - showPostCounts: { - type: "boolean", - "default": false - } - }, - supports: { - align: true, - html: false - }, - editorStyle: "wp-block-archives-editor" -}; - -const { - name: archives_name -} = archives_metadata; - -const archives_settings = { - icon: library_archive, - example: {}, - edit: ArchivesEdit -}; - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/audio.js - - -/** - * WordPress dependencies - */ - -const audio = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M17.7 4.3c-1.2 0-2.8 0-3.8 1-.6.6-.9 1.5-.9 2.6V14c-.6-.6-1.5-1-2.5-1C8.6 13 7 14.6 7 16.5S8.6 20 10.5 20c1.5 0 2.8-1 3.3-2.3.5-.8.7-1.8.7-2.5V7.9c0-.7.2-1.2.5-1.6.6-.6 1.8-.6 2.8-.6h.3V4.3h-.4z" -})); -/* harmony default export */ var library_audio = (audio); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/deprecated.js - - -/** - * WordPress dependencies - */ - -/* harmony default export */ var audio_deprecated = ([{ - attributes: { - src: { - type: 'string', - source: 'attribute', - selector: 'audio', - attribute: 'src' - }, - caption: { - type: 'string', - source: 'html', - selector: 'figcaption' - }, - id: { - type: 'number' - }, - autoplay: { - type: 'boolean', - source: 'attribute', - selector: 'audio', - attribute: 'autoplay' - }, - loop: { - type: 'boolean', - source: 'attribute', - selector: 'audio', - attribute: 'loop' - }, - preload: { - type: 'string', - source: 'attribute', - selector: 'audio', - attribute: 'preload' - } - }, - supports: { - align: true - }, - - save({ - attributes - }) { - const { - autoplay, - caption, - loop, - preload, - src - } = attributes; - return Object(external_wp_element_["createElement"])("figure", null, Object(external_wp_element_["createElement"])("audio", { - controls: "controls", - src: src, - autoPlay: autoplay, - loop: loop, - preload: preload - }), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "figcaption", - value: caption - })); - } - -}]); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/edit.js - - -/** - * WordPress dependencies - */ - - - - - - - - -/** - * Internal dependencies - */ - - -const audio_edit_ALLOWED_MEDIA_TYPES = ['audio']; - -function AudioEdit({ - attributes, - noticeOperations, - setAttributes, - onReplace, - isSelected, - noticeUI, - insertBlocksAfter -}) { - const { - id, - autoplay, - caption, - loop, - preload, - src - } = attributes; - const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); - const mediaUpload = Object(external_wp_data_["useSelect"])(select => { - const { - getSettings - } = select(external_wp_blockEditor_["store"]); - return getSettings().mediaUpload; - }, []); - Object(external_wp_element_["useEffect"])(() => { - if (!id && Object(external_wp_blob_["isBlobURL"])(src)) { - const file = Object(external_wp_blob_["getBlobByURL"])(src); - - if (file) { - mediaUpload({ - filesList: [file], - onFileChange: ([{ - id: mediaId, - url - }]) => { - setAttributes({ - id: mediaId, - src: url - }); - }, - onError: e => { - setAttributes({ - src: undefined, - id: undefined - }); - noticeOperations.createErrorNotice(e); - }, - allowedTypes: audio_edit_ALLOWED_MEDIA_TYPES - }); - } - } - }, []); - - function toggleAttribute(attribute) { - return newValue => { - setAttributes({ - [attribute]: newValue - }); +const migrateAttributes = attributes => { + if (!attributes.tagName) { + attributes = { ...attributes, + tagName: 'div' }; } - function onSelectURL(newSrc) { - // Set the block's src from the edit component's state, and switch off - // the editing UI. - if (newSrc !== src) { - // Check if there's an embed block that handles this URL. - const embedBlock = createUpgradedEmbedBlock({ - attributes: { - url: newSrc - } - }); - - if (undefined !== embedBlock) { - onReplace(embedBlock); - return; - } - - setAttributes({ - src: newSrc, - id: undefined - }); - } - } - - function onUploadError(message) { - noticeOperations.removeAllNotices(); - noticeOperations.createErrorNotice(message); - } - - function getAutoplayHelp(checked) { - return checked ? Object(external_wp_i18n_["__"])('Autoplay may cause usability issues for some users.') : null; - } // const { setAttributes, isSelected, noticeUI } = this.props; - - - function onSelectAudio(media) { - if (!media || !media.url) { - // in this case there was an error and we should continue in the editing state - // previous attributes should be removed because they may be temporary blob urls - setAttributes({ - src: undefined, - id: undefined - }); - return; - } // sets the block's attribute and updates the edit component from the - // selected media, then switches off the editing UI - - - setAttributes({ - src: media.url, - id: media.id - }); - } - - if (!src) { - return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { - icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { - icon: library_audio - }), - onSelect: onSelectAudio, - onSelectURL: onSelectURL, - accept: "audio/*", - allowedTypes: audio_edit_ALLOWED_MEDIA_TYPES, - value: attributes, - notices: noticeUI, - onError: onUploadError - })); - } - - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { - group: "other" - }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { - mediaId: id, - mediaURL: src, - allowedTypes: audio_edit_ALLOWED_MEDIA_TYPES, - accept: "audio/*", - onSelect: onSelectAudio, - onSelectURL: onSelectURL, - onError: onUploadError - })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { - title: Object(external_wp_i18n_["__"])('Audio settings') - }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { - label: Object(external_wp_i18n_["__"])('Autoplay'), - onChange: toggleAttribute('autoplay'), - checked: autoplay, - help: getAutoplayHelp - }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { - label: Object(external_wp_i18n_["__"])('Loop'), - onChange: toggleAttribute('loop'), - checked: loop - }), Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { - label: Object(external_wp_i18n_["__"])('Preload'), - value: preload || '' // `undefined` is required for the preload attribute to be unset. - , - onChange: value => setAttributes({ - preload: value || undefined - }), - options: [{ - value: '', - label: Object(external_wp_i18n_["__"])('Browser default') - }, { - value: 'auto', - label: Object(external_wp_i18n_["__"])('Auto') - }, { - value: 'metadata', - label: Object(external_wp_i18n_["__"])('Metadata') - }, { - value: 'none', - label: Object(external_wp_i18n_["__"])('None') - }] - }))), Object(external_wp_element_["createElement"])("figure", blockProps, Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], { - isDisabled: !isSelected - }, Object(external_wp_element_["createElement"])("audio", { - controls: "controls", - src: src - })), (!external_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { - tagName: "figcaption", - "aria-label": Object(external_wp_i18n_["__"])('Audio caption text'), - placeholder: Object(external_wp_i18n_["__"])('Add caption'), - value: caption, - onChange: value => setAttributes({ - caption: value - }), - inlineToolbar: true, - __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) - }))); -} - -/* harmony default export */ var audio_edit = (Object(external_wp_components_["withNotices"])(AudioEdit)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/save.js - - -/** - * WordPress dependencies - */ - -function audio_save_save({ - attributes -}) { - const { - autoplay, - caption, - loop, - preload, - src - } = attributes; - return src && Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])("audio", { - controls: "controls", - src: src, - autoPlay: autoplay, - loop: loop, - preload: preload - }), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "figcaption", - value: caption - })); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/transforms.js -/** - * WordPress dependencies - */ - - -const audio_transforms_transforms = { - from: [{ - type: 'files', - - isMatch(files) { - return files.length === 1 && files[0].type.indexOf('audio/') === 0; - }, - - transform(files) { - const file = files[0]; // We don't need to upload the media directly here - // It's already done as part of the `componentDidMount` - // in the audio block - - const block = Object(external_wp_blocks_["createBlock"])('core/audio', { - src: Object(external_wp_blob_["createBlobURL"])(file) - }); - return block; - } - - }, { - type: 'shortcode', - tag: 'audio', - attributes: { - src: { - type: 'string', - shortcode: ({ - named: { - src, - mp3, - m4a, - ogg, - wav, - wma - } - }) => { - return src || mp3 || m4a || ogg || wav || wma; - } - }, - loop: { - type: 'string', - shortcode: ({ - named: { - loop - } - }) => { - return loop; - } - }, - autoplay: { - type: 'string', - shortcode: ({ - named: { - autoplay - } - }) => { - return autoplay; - } - }, - preload: { - type: 'string', - shortcode: ({ - named: { - preload - } - }) => { - return preload; - } - } - } - }] -}; -/* harmony default export */ var audio_transforms = (audio_transforms_transforms); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/index.js -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - -const audio_metadata = { - apiVersion: 2, - name: "core/audio", - title: "Audio", - category: "media", - description: "Embed a simple audio player.", - keywords: ["music", "sound", "podcast", "recording"], - textdomain: "default", - attributes: { - src: { - type: "string", - source: "attribute", - selector: "audio", - attribute: "src" - }, - caption: { - type: "string", - source: "html", - selector: "figcaption" - }, - id: { - type: "number" - }, - autoplay: { - type: "boolean", - source: "attribute", - selector: "audio", - attribute: "autoplay" - }, - loop: { - type: "boolean", - source: "attribute", - selector: "audio", - attribute: "loop" - }, - preload: { - type: "string", - source: "attribute", - selector: "audio", - attribute: "preload" - } - }, - supports: { - anchor: true, - align: true - }, - editorStyle: "wp-block-audio-editor", - style: "wp-block-audio" -}; - - -const { - name: audio_name -} = audio_metadata; - -const audio_settings = { - icon: library_audio, - transforms: audio_transforms, - deprecated: audio_deprecated, - edit: audio_edit, - save: audio_save_save -}; - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/buttons.js - - -/** - * WordPress dependencies - */ - -const buttons_buttons = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M17 3H7c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H7c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v4zm-8-1.2h5V6.2h-5v1.6zM17 13H7c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H7c-.3 0-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v4zm-8-1.2h5v-1.5h-5v1.5z" -})); -/* harmony default export */ var library_buttons = (buttons_buttons); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/deprecated.js - - -/** - * WordPress dependencies - */ - -const buttons_deprecated_deprecated = [{ - supports: { - align: ['center', 'left', 'right'], - anchor: true - }, - - save() { - return Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); - }, - - isEligible({ - align - }) { - return align && ['center', 'left', 'right'].includes(align); - }, - - migrate(attributes) { - return { ...attributes, - align: undefined, - // Floating Buttons blocks shouldn't have been supported in the - // first place. Most users using them probably expected them to - // act like content justification controls, so these blocks are - // migrated to use content justification. - // As for center-aligned Buttons blocks, the content justification - // equivalent will create an identical end result in most cases. - contentJustification: attributes.align - }; - } - -}]; -/* harmony default export */ var buttons_deprecated = (buttons_deprecated_deprecated); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/transforms.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - -const { - name: buttons_transforms_name -} = { - apiVersion: 2, - name: "core/buttons", - title: "Buttons", - category: "design", - description: "Prompt visitors to take action with a group of button-style links.", - keywords: ["link"], - textdomain: "default", - attributes: { - contentJustification: { - type: "string" - }, - orientation: { - type: "string", - "default": "horizontal" - } - }, - supports: { - anchor: true, - align: ["wide", "full"] - }, - editorStyle: "wp-block-buttons-editor", - style: "wp-block-buttons" -}; -const buttons_transforms_transforms = { - from: [{ - type: 'block', - isMultiBlock: true, - blocks: ['core/button'], - transform: buttons => // Creates the buttons block - Object(external_wp_blocks_["createBlock"])(buttons_transforms_name, {}, // Loop the selected buttons - buttons.map(attributes => // Create singular button in the buttons block - Object(external_wp_blocks_["createBlock"])('core/button', attributes))) - }, { - type: 'block', - isMultiBlock: true, - blocks: ['core/paragraph'], - transform: buttons => // Creates the buttons block - Object(external_wp_blocks_["createBlock"])(buttons_transforms_name, {}, // Loop the selected buttons - buttons.map(attributes => { - const element = Object(external_wp_richText_["__unstableCreateElement"])(document, attributes.content); // Remove any HTML tags - - const text = element.innerText || ''; // Get first url - - const link = element.querySelector('a'); - const url = link === null || link === void 0 ? void 0 : link.getAttribute('href'); // Create singular button in the buttons block - - return Object(external_wp_blocks_["createBlock"])('core/button', { - text, - url - }); - })), - isMatch: paragraphs => { - return paragraphs.every(attributes => { - const element = Object(external_wp_richText_["__unstableCreateElement"])(document, attributes.content); - const text = element.innerText || ''; - const links = element.querySelectorAll('a'); - return text.length <= 30 && links.length <= 1; - }); - } - }] -}; -/* harmony default export */ var buttons_transforms = (buttons_transforms_transforms); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/button.js -var library_button = __webpack_require__("oMoS"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/deprecated.js - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - -const migrateBorderRadius = attributes => { - const { - borderRadius, - ...newAttributes - } = attributes; - - if (!borderRadius && borderRadius !== 0) { - return newAttributes; - } - - return { ...newAttributes, - style: { ...newAttributes.style, - border: { - radius: borderRadius - } - } - }; -}; - -const migrateCustomColorsAndGradients = attributes => { - if (!attributes.customTextColor && !attributes.customBackgroundColor && !attributes.customGradient) { - return attributes; - } - - const style = { - color: {} - }; - - if (attributes.customTextColor) { - style.color.text = attributes.customTextColor; - } - - if (attributes.customBackgroundColor) { - style.color.background = attributes.customBackgroundColor; - } - - if (attributes.customGradient) { - style.color.gradient = attributes.customGradient; - } - - return { ...Object(external_lodash_["omit"])(attributes, ['customTextColor', 'customBackgroundColor', 'customGradient']), - style - }; -}; - -const oldColorsMigration = attributes => { - return migrateCustomColorsAndGradients(Object(external_lodash_["omit"])({ ...attributes, - customTextColor: attributes.textColor && '#' === attributes.textColor[0] ? attributes.textColor : undefined, - customBackgroundColor: attributes.color && '#' === attributes.color[0] ? attributes.color : undefined - }, ['color', 'textColor'])); -}; - -const button_deprecated_blockAttributes = { - url: { - type: 'string', - source: 'attribute', - selector: 'a', - attribute: 'href' - }, - title: { - type: 'string', - source: 'attribute', - selector: 'a', - attribute: 'title' - }, - text: { - type: 'string', - source: 'html', - selector: 'a' - } -}; -const button_deprecated_deprecated = [{ - supports: { - anchor: true, - align: true, - alignWide: false, - color: { - __experimentalSkipSerialization: true - }, - reusable: false, - __experimentalSelector: '.wp-block-button__link' - }, - attributes: { ...button_deprecated_blockAttributes, - linkTarget: { - type: 'string', - source: 'attribute', - selector: 'a', - attribute: 'target' - }, - rel: { - type: 'string', - source: 'attribute', - selector: 'a', - attribute: 'rel' - }, - placeholder: { - type: 'string' - }, - borderRadius: { - type: 'number' - }, - backgroundColor: { - type: 'string' - }, - textColor: { - type: 'string' - }, - gradient: { - type: 'string' - }, - style: { - type: 'object' - }, - width: { - type: 'number' - } - }, - - save({ - attributes, - className - }) { - const { - borderRadius, - linkTarget, - rel, - text, - title, - url, - width - } = attributes; - const colorProps = Object(external_wp_blockEditor_["__experimentalGetColorClassesAndStyles"])(attributes); - const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, { - 'no-border-radius': borderRadius === 0 - }); - const buttonStyle = { - borderRadius: borderRadius ? borderRadius + 'px' : undefined, - ...colorProps.style - }; // The use of a `title` attribute here is soft-deprecated, but still applied - // if it had already been assigned, for the sake of backward-compatibility. - // A title will no longer be assigned for new or updated button block links. - - const wrapperClasses = classnames_default()(className, { - [`has-custom-width wp-block-button__width-${width}`]: width - }); - return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ - className: wrapperClasses - }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "a", - className: buttonClasses, - href: url, - title: title, - style: buttonStyle, - value: text, - target: linkTarget, - rel: rel - })); - }, - - migrate: migrateBorderRadius -}, { - supports: { - anchor: true, - align: true, - alignWide: false, - color: { - __experimentalSkipSerialization: true - }, - reusable: false, - __experimentalSelector: '.wp-block-button__link' - }, - attributes: { ...button_deprecated_blockAttributes, - linkTarget: { - type: 'string', - source: 'attribute', - selector: 'a', - attribute: 'target' - }, - rel: { - type: 'string', - source: 'attribute', - selector: 'a', - attribute: 'rel' - }, - placeholder: { - type: 'string' - }, - borderRadius: { - type: 'number' - }, - backgroundColor: { - type: 'string' - }, - textColor: { - type: 'string' - }, - gradient: { - type: 'string' - }, - style: { - type: 'object' - }, - width: { - type: 'number' - } - }, - - save({ - attributes, - className - }) { - const { - borderRadius, - linkTarget, - rel, - text, - title, - url, - width - } = attributes; - const colorProps = Object(external_wp_blockEditor_["__experimentalGetColorClassesAndStyles"])(attributes); - const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, { - 'no-border-radius': borderRadius === 0 - }); - const buttonStyle = { - borderRadius: borderRadius ? borderRadius + 'px' : undefined, - ...colorProps.style - }; // The use of a `title` attribute here is soft-deprecated, but still applied - // if it had already been assigned, for the sake of backward-compatibility. - // A title will no longer be assigned for new or updated button block links. - - const wrapperClasses = classnames_default()(className, { - [`has-custom-width wp-block-button__width-${width}`]: width - }); - return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ - className: wrapperClasses - }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "a", - className: buttonClasses, - href: url, - title: title, - style: buttonStyle, - value: text, - target: linkTarget, - rel: rel - })); - }, - - migrate: migrateBorderRadius -}, { - supports: { - align: true, - alignWide: false, - color: { - gradients: true - } - }, - attributes: { ...button_deprecated_blockAttributes, - linkTarget: { - type: 'string', - source: 'attribute', - selector: 'a', - attribute: 'target' - }, - rel: { - type: 'string', - source: 'attribute', - selector: 'a', - attribute: 'rel' - }, - placeholder: { - type: 'string' - }, - borderRadius: { - type: 'number' - }, - backgroundColor: { - type: 'string' - }, - textColor: { - type: 'string' - }, - gradient: { - type: 'string' - }, - style: { - type: 'object' - } - }, - - save({ - attributes - }) { - const { - borderRadius, - linkTarget, - rel, - text, - title, - url - } = attributes; - const buttonClasses = classnames_default()('wp-block-button__link', { - 'no-border-radius': borderRadius === 0 - }); - const buttonStyle = { - borderRadius: borderRadius ? borderRadius + 'px' : undefined - }; - return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "a", - className: buttonClasses, - href: url, - title: title, - style: buttonStyle, - value: text, - target: linkTarget, - rel: rel - }); - }, - - migrate: migrateBorderRadius -}, { - supports: { - align: true, - alignWide: false - }, - attributes: { ...button_deprecated_blockAttributes, - linkTarget: { - type: 'string', - source: 'attribute', - selector: 'a', - attribute: 'target' - }, - rel: { - type: 'string', - source: 'attribute', - selector: 'a', - attribute: 'rel' - }, - placeholder: { - type: 'string' - }, - borderRadius: { - type: 'number' - }, - backgroundColor: { - type: 'string' - }, - textColor: { - type: 'string' - }, - customBackgroundColor: { - type: 'string' - }, - customTextColor: { - type: 'string' - }, - customGradient: { - type: 'string' - }, - gradient: { - type: 'string' - } - }, - isEligible: attributes => !!attributes.customTextColor || !!attributes.customBackgroundColor || !!attributes.customGradient, - migrate: Object(external_wp_compose_["compose"])(migrateBorderRadius, migrateCustomColorsAndGradients), - - save({ - attributes - }) { - const { - backgroundColor, - borderRadius, - customBackgroundColor, - customTextColor, - customGradient, - linkTarget, - gradient, - rel, - text, - textColor, - title, - url - } = attributes; - const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); - const backgroundClass = !customGradient && Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); - - const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); - - const buttonClasses = classnames_default()('wp-block-button__link', { - 'has-text-color': textColor || customTextColor, - [textClass]: textClass, - 'has-background': backgroundColor || customBackgroundColor || customGradient || gradient, - [backgroundClass]: backgroundClass, - 'no-border-radius': borderRadius === 0, - [gradientClass]: gradientClass - }); - const buttonStyle = { - background: customGradient ? customGradient : undefined, - backgroundColor: backgroundClass || customGradient || gradient ? undefined : customBackgroundColor, - color: textClass ? undefined : customTextColor, - borderRadius: borderRadius ? borderRadius + 'px' : undefined - }; // The use of a `title` attribute here is soft-deprecated, but still applied - // if it had already been assigned, for the sake of backward-compatibility. - // A title will no longer be assigned for new or updated button block links. - - return Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "a", - className: buttonClasses, - href: url, - title: title, - style: buttonStyle, - value: text, - target: linkTarget, - rel: rel - })); - } - -}, { - attributes: { ...button_deprecated_blockAttributes, - align: { - type: 'string', - default: 'none' - }, - backgroundColor: { - type: 'string' - }, - textColor: { - type: 'string' - }, - customBackgroundColor: { - type: 'string' - }, - customTextColor: { - type: 'string' - }, - linkTarget: { - type: 'string', - source: 'attribute', - selector: 'a', - attribute: 'target' - }, - rel: { - type: 'string', - source: 'attribute', - selector: 'a', - attribute: 'rel' - }, - placeholder: { - type: 'string' - } - }, - - isEligible(attribute) { - return attribute.className && attribute.className.includes('is-style-squared'); - }, - - migrate(attributes) { - let newClassName = attributes.className; - - if (newClassName) { - newClassName = newClassName.replace(/is-style-squared[\s]?/, '').trim(); - } - - return migrateBorderRadius(migrateCustomColorsAndGradients({ ...attributes, - className: newClassName ? newClassName : undefined, - borderRadius: 0 - })); - }, - - save({ - attributes - }) { - const { - backgroundColor, - customBackgroundColor, - customTextColor, - linkTarget, - rel, - text, - textColor, - title, - url - } = attributes; - const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); - const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); - const buttonClasses = classnames_default()('wp-block-button__link', { - 'has-text-color': textColor || customTextColor, - [textClass]: textClass, - 'has-background': backgroundColor || customBackgroundColor, - [backgroundClass]: backgroundClass - }); - const buttonStyle = { - backgroundColor: backgroundClass ? undefined : customBackgroundColor, - color: textClass ? undefined : customTextColor - }; - return Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "a", - className: buttonClasses, - href: url, - title: title, - style: buttonStyle, - value: text, - target: linkTarget, - rel: rel - })); - } - -}, { - attributes: { ...button_deprecated_blockAttributes, - align: { - type: 'string', - default: 'none' - }, - backgroundColor: { - type: 'string' - }, - textColor: { - type: 'string' - }, - customBackgroundColor: { - type: 'string' - }, - customTextColor: { - type: 'string' - } - }, - migrate: oldColorsMigration, - - save({ - attributes - }) { - const { - url, - text, - title, - backgroundColor, - textColor, - customBackgroundColor, - customTextColor - } = attributes; - const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); - const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); - const buttonClasses = classnames_default()('wp-block-button__link', { - 'has-text-color': textColor || customTextColor, - [textClass]: textClass, - 'has-background': backgroundColor || customBackgroundColor, - [backgroundClass]: backgroundClass - }); - const buttonStyle = { - backgroundColor: backgroundClass ? undefined : customBackgroundColor, - color: textClass ? undefined : customTextColor - }; - return Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "a", - className: buttonClasses, - href: url, - title: title, - style: buttonStyle, - value: text - })); - } - -}, { - attributes: { ...button_deprecated_blockAttributes, - color: { - type: 'string' - }, - textColor: { - type: 'string' - }, - align: { - type: 'string', - default: 'none' - } - }, - - save({ - attributes - }) { - const { - url, - text, - title, - align, - color, - textColor - } = attributes; - const buttonStyle = { - backgroundColor: color, - color: textColor - }; - const linkClass = 'wp-block-button__link'; - return Object(external_wp_element_["createElement"])("div", { - className: `align${align}` - }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "a", - className: linkClass, - href: url, - title: title, - style: buttonStyle, - value: text - })); - }, - - migrate: oldColorsMigration -}, { - attributes: { ...button_deprecated_blockAttributes, - color: { - type: 'string' - }, - textColor: { - type: 'string' - }, - align: { - type: 'string', - default: 'none' - } - }, - - save({ - attributes - }) { - const { - url, - text, - title, - align, - color, - textColor - } = attributes; - return Object(external_wp_element_["createElement"])("div", { - className: `align${align}`, - style: { - backgroundColor: color - } - }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "a", - href: url, - title: title, - style: { - color: textColor - }, - value: text - })); - }, - - migrate: oldColorsMigration -}]; -/* harmony default export */ var button_deprecated = (button_deprecated_deprecated); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/link.js -var library_link = __webpack_require__("Bpkj"); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/link-off.js -var link_off = __webpack_require__("Mp0b"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/edit.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - - - -const edit_NEW_TAB_REL = 'noreferrer noopener'; - -function WidthPanel({ - selectedWidth, - setAttributes -}) { - function handleChange(newWidth) { - // Check if we are toggling the width off - const width = selectedWidth === newWidth ? undefined : newWidth; // Update attributes - - setAttributes({ - width - }); - } - - return Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { - title: Object(external_wp_i18n_["__"])('Width settings') - }, Object(external_wp_element_["createElement"])(external_wp_components_["ButtonGroup"], { - "aria-label": Object(external_wp_i18n_["__"])('Button width') - }, [25, 50, 75, 100].map(widthValue => { - return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { - key: widthValue, - isSmall: true, - isPrimary: widthValue === selectedWidth, - onClick: () => handleChange(widthValue) - }, widthValue, "%"); - }))); -} - -function URLPicker({ - isSelected, - url, - setAttributes, - opensInNewTab, - onToggleOpenInNewTab, - anchorRef, - richTextRef -}) { - const [isEditingURL, setIsEditingURL] = Object(external_wp_element_["useState"])(false); - const isURLSet = !!url; - - const startEditing = event => { - event.preventDefault(); - setIsEditingURL(true); - }; - - const unlink = () => { - setAttributes({ - url: undefined, - linkTarget: undefined, - rel: undefined - }); - setIsEditingURL(false); - }; - - Object(external_wp_element_["useEffect"])(() => { - if (!isSelected) { - setIsEditingURL(false); - } - }, [isSelected]); - const isLinkControlVisible = isSelected && (isEditingURL || isURLSet); - const linkControl = isLinkControlVisible && Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { - position: "bottom center", - onClose: () => { - var _richTextRef$current; - - setIsEditingURL(false); - (_richTextRef$current = richTextRef.current) === null || _richTextRef$current === void 0 ? void 0 : _richTextRef$current.focus(); - }, - anchorRef: anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current, - focusOnMount: isEditingURL ? 'firstElement' : false - }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalLinkControl"], { - className: "wp-block-navigation-link__inline-link-input", - value: { - url, - opensInNewTab - }, - onChange: ({ - url: newURL = '', - opensInNewTab: newOpensInNewTab - }) => { - setAttributes({ - url: newURL - }); - - if (opensInNewTab !== newOpensInNewTab) { - onToggleOpenInNewTab(newOpensInNewTab); - } - }, - onRemove: () => { - var _richTextRef$current2; - - unlink(); - (_richTextRef$current2 = richTextRef.current) === null || _richTextRef$current2 === void 0 ? void 0 : _richTextRef$current2.focus(); - }, - forceIsEditingLink: isEditingURL - })); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { - group: "block" - }, !isURLSet && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - name: "link", - icon: library_link["a" /* default */], - title: Object(external_wp_i18n_["__"])('Link'), - shortcut: external_wp_keycodes_["displayShortcut"].primary('k'), - onClick: startEditing - }), isURLSet && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { - name: "link", - icon: link_off["a" /* default */], - title: Object(external_wp_i18n_["__"])('Unlink'), - shortcut: external_wp_keycodes_["displayShortcut"].primaryShift('k'), - onClick: unlink, - isActive: true - })), isSelected && Object(external_wp_element_["createElement"])(external_wp_components_["KeyboardShortcuts"], { - bindGlobal: true, - shortcuts: { - [external_wp_keycodes_["rawShortcut"].primary('k')]: startEditing, - [external_wp_keycodes_["rawShortcut"].primaryShift('k')]: () => { - var _richTextRef$current3; - - unlink(); - (_richTextRef$current3 = richTextRef.current) === null || _richTextRef$current3 === void 0 ? void 0 : _richTextRef$current3.focus(); - } - } - }), linkControl); -} - -function ButtonEdit(props) { - var _style$border; - - const { - attributes, - setAttributes, - className, - isSelected, - onReplace, - mergeBlocks - } = props; - const { - linkTarget, - placeholder, - rel, - style, - text, - url, - width - } = attributes; - const onSetLinkRel = Object(external_wp_element_["useCallback"])(value => { - setAttributes({ - rel: value - }); - }, [setAttributes]); - const onToggleOpenInNewTab = Object(external_wp_element_["useCallback"])(value => { - const newLinkTarget = value ? '_blank' : undefined; - let updatedRel = rel; - - if (newLinkTarget && !rel) { - updatedRel = edit_NEW_TAB_REL; - } else if (!newLinkTarget && rel === edit_NEW_TAB_REL) { - updatedRel = undefined; - } - - setAttributes({ - linkTarget: newLinkTarget, - rel: updatedRel - }); - }, [rel, setAttributes]); - - const setButtonText = newText => { - // Remove anchor tags from button text content. - setAttributes({ - text: newText.replace(/<\/?a[^>]*>/g, '') - }); - }; - - const borderRadius = style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius; - const colorProps = Object(external_wp_blockEditor_["__experimentalUseColorProps"])(attributes); - const ref = Object(external_wp_element_["useRef"])(); - const richTextRef = Object(external_wp_element_["useRef"])(); - const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ - ref - }); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, blockProps, { - className: classnames_default()(blockProps.className, { - [`has-custom-width wp-block-button__width-${width}`]: width, - [`has-custom-font-size`]: blockProps.style.fontSize - }) - }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { - ref: richTextRef, - "aria-label": Object(external_wp_i18n_["__"])('Button text'), - placeholder: placeholder || Object(external_wp_i18n_["__"])('Add text…'), - value: text, - onChange: value => setButtonText(value), - withoutInteractiveFormatting: true, - className: classnames_default()(className, 'wp-block-button__link', colorProps.className, { - 'no-border-radius': borderRadius === 0 - }), - style: { - borderRadius: borderRadius ? borderRadius + 'px' : undefined, - ...colorProps.style - }, - onSplit: value => Object(external_wp_blocks_["createBlock"])('core/button', { ...attributes, - text: value - }), - onReplace: onReplace, - onMerge: mergeBlocks, - identifier: "text" - })), Object(external_wp_element_["createElement"])(URLPicker, { - url: url, - setAttributes: setAttributes, - isSelected: isSelected, - opensInNewTab: linkTarget === '_blank', - onToggleOpenInNewTab: onToggleOpenInNewTab, - anchorRef: ref, - richTextRef: richTextRef - }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(WidthPanel, { - selectedWidth: width, - setAttributes: setAttributes - })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorAdvancedControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { - label: Object(external_wp_i18n_["__"])('Link rel'), - value: rel || '', - onChange: onSetLinkRel - }))); -} - -/* harmony default export */ var button_edit = (ButtonEdit); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/save.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -function button_save_save({ - attributes, - className -}) { - var _style$border, _style$typography; - - const { - fontSize, - linkTarget, - rel, - style, - text, - title, - url, - width - } = attributes; - - if (!text) { - return null; - } - - const borderRadius = style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius; - const colorProps = Object(external_wp_blockEditor_["__experimentalGetColorClassesAndStyles"])(attributes); - const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, { - 'no-border-radius': borderRadius === 0 - }); - const buttonStyle = { - borderRadius: borderRadius ? borderRadius + 'px' : undefined, - ...colorProps.style - }; // The use of a `title` attribute here is soft-deprecated, but still applied - // if it had already been assigned, for the sake of backward-compatibility. - // A title will no longer be assigned for new or updated button block links. - - const wrapperClasses = classnames_default()(className, { - [`has-custom-width wp-block-button__width-${width}`]: width, - [`has-custom-font-size`]: fontSize || (style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.fontSize) - }); - return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ - className: wrapperClasses - }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "a", - className: buttonClasses, - href: url, - title: title, - style: buttonStyle, - value: text, - target: linkTarget, - rel: rel - })); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/index.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - -const button_metadata = { - apiVersion: 2, - name: "core/button", - title: "Button", - category: "design", - parent: ["core/buttons"], - description: "Prompt visitors to take action with a button-style link.", - keywords: ["link"], - textdomain: "default", - attributes: { - url: { - type: "string", - source: "attribute", - selector: "a", - attribute: "href" - }, - title: { - type: "string", - source: "attribute", - selector: "a", - attribute: "title" - }, - text: { - type: "string", - source: "html", - selector: "a" - }, - linkTarget: { - type: "string", - source: "attribute", - selector: "a", - attribute: "target" - }, - rel: { - type: "string", - source: "attribute", - selector: "a", - attribute: "rel" - }, - placeholder: { - type: "string" - }, - backgroundColor: { - type: "string" - }, - textColor: { - type: "string" - }, - gradient: { - type: "string" - }, - width: { - type: "number" - } - }, - supports: { - anchor: true, - align: true, - alignWide: false, - color: { - __experimentalSkipSerialization: true, - gradients: true - }, - typography: { - fontSize: true, - __experimentalFontFamily: true - }, - reusable: false, - __experimentalBorder: { - radius: true, - __experimentalSkipSerialization: true - }, - __experimentalSelector: ".wp-block-button__link" - }, - styles: [{ - name: "fill", - label: "Fill", - isDefault: true - }, { - name: "outline", - label: "Outline" - }], - editorStyle: "wp-block-button-editor", - style: "wp-block-button" -}; - -const { - name: button_name -} = button_metadata; - -const button_settings = { - icon: library_button["a" /* default */], - example: { - attributes: { - className: 'is-style-fill', - backgroundColor: 'vivid-green-cyan', - text: Object(external_wp_i18n_["__"])('Call to Action') - } - }, - edit: button_edit, - save: button_save_save, - deprecated: button_deprecated, - merge: (a, { - text = '' - }) => ({ ...a, - text: (a.text || '') + text - }) -}; - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/edit.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -const ALLOWED_BLOCKS = [button_name]; -const BUTTONS_TEMPLATE = [['core/button']]; -const LAYOUT = { - type: 'default', - alignments: [] -}; -const VERTICAL_JUSTIFY_CONTROLS = ['left', 'center', 'right']; -const HORIZONTAL_JUSTIFY_CONTROLS = ['left', 'center', 'right', 'space-between']; - -function ButtonsEdit({ - attributes: { - contentJustification, - orientation - }, - setAttributes -}) { - const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ - className: classnames_default()({ - [`is-content-justification-${contentJustification}`]: contentJustification, - 'is-vertical': orientation === 'vertical' - }) - }); - const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])(blockProps, { - allowedBlocks: ALLOWED_BLOCKS, - template: BUTTONS_TEMPLATE, - orientation, - __experimentalLayout: LAYOUT, - templateInsertUpdatesSelection: true - }); - const justifyControls = orientation === 'vertical' ? VERTICAL_JUSTIFY_CONTROLS : HORIZONTAL_JUSTIFY_CONTROLS; - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { - group: "block" - }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["JustifyContentControl"], { - allowedControls: justifyControls, - value: contentJustification, - onChange: value => setAttributes({ - contentJustification: value - }), - popoverProps: { - position: 'bottom right', - isAlternate: true - } - })), Object(external_wp_element_["createElement"])("div", innerBlocksProps)); -} - -/* harmony default export */ var buttons_edit = (ButtonsEdit); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/save.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -function buttons_save_save({ - attributes: { - contentJustification, - orientation - } -}) { - return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ - className: classnames_default()({ - [`is-content-justification-${contentJustification}`]: contentJustification, - 'is-vertical': orientation === 'vertical' - }) - }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/variations.js -/** - * WordPress dependencies - */ - -const variations_variations = [{ - name: 'buttons-horizontal', - isDefault: true, - title: Object(external_wp_i18n_["__"])('Horizontal'), - description: Object(external_wp_i18n_["__"])('Buttons shown in a row.'), - attributes: { - orientation: 'horizontal' - }, - scope: ['transform'] -}, { - name: 'buttons-vertical', - title: Object(external_wp_i18n_["__"])('Vertical'), - description: Object(external_wp_i18n_["__"])('Buttons shown in a column.'), - attributes: { - orientation: 'vertical' - }, - scope: ['transform'] -}]; -/* harmony default export */ var buttons_variations = (variations_variations); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/index.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - - -const buttons_metadata = { - apiVersion: 2, - name: "core/buttons", - title: "Buttons", - category: "design", - description: "Prompt visitors to take action with a group of button-style links.", - keywords: ["link"], - textdomain: "default", - attributes: { - contentJustification: { - type: "string" - }, - orientation: { - type: "string", - "default": "horizontal" - } - }, - supports: { - anchor: true, - align: ["wide", "full"] - }, - editorStyle: "wp-block-buttons-editor", - style: "wp-block-buttons" -}; - - -const { - name: buttons_name -} = buttons_metadata; - -const buttons_settings = { - icon: library_buttons, - example: { - innerBlocks: [{ - name: 'core/button', - attributes: { - text: Object(external_wp_i18n_["__"])('Find out more') - } - }, { - name: 'core/button', - attributes: { - text: Object(external_wp_i18n_["__"])('Contact us') - } - }] - }, - deprecated: buttons_deprecated, - transforms: buttons_transforms, - edit: buttons_edit, - save: buttons_save_save, - variations: buttons_variations -}; - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/calendar.js - - -/** - * WordPress dependencies - */ - -const calendar = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V7h15v12zM9 10H7v2h2v-2zm0 4H7v2h2v-2zm4-4h-2v2h2v-2zm4 0h-2v2h2v-2zm-4 4h-2v2h2v-2zm4 0h-2v2h2v-2z" -})); -/* harmony default export */ var library_calendar = (calendar); - -// EXTERNAL MODULE: external "moment" -var external_moment_ = __webpack_require__("wy2R"); -var external_moment_default = /*#__PURE__*/__webpack_require__.n(external_moment_); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/edit.js - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - -const getYearMonth = memize_default()(date => { - if (!date) { - return {}; - } - - const momentDate = external_moment_default()(date); - return { - year: momentDate.year(), - month: momentDate.month() + 1 - }; -}); -function CalendarEdit({ - attributes -}) { - const date = Object(external_wp_data_["useSelect"])(select => { - // FIXME: @wordpress/block-library should not depend on @wordpress/editor. - // Blocks can be loaded into a *non-post* block editor. - // eslint-disable-next-line @wordpress/data-no-store-string-literals - const editorSelectors = select('core/editor'); - - let _date; - - if (editorSelectors) { - const postType = editorSelectors.getEditedPostAttribute('type'); // Dates are used to overwrite year and month used on the calendar. - // This overwrite should only happen for 'post' post types. - // For other post types the calendar always displays the current month. - - if (postType === 'post') { - _date = editorSelectors.getEditedPostAttribute('date'); - } - } - - return _date; - }, []); - return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], null, Object(external_wp_element_["createElement"])(external_wp_serverSideRender_default.a, { - block: "core/calendar", - attributes: { ...attributes, - ...getYearMonth(date) - } - }))); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/index.js -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - -const calendar_metadata = { - apiVersion: 2, - name: "core/calendar", - title: "Calendar", - category: "widgets", - description: "A calendar of your site\u2019s posts.", - keywords: ["posts", "archive"], - textdomain: "default", - attributes: { - month: { - type: "integer" - }, - year: { - type: "integer" - } - }, - supports: { - align: true - }, - style: "wp-block-calendar" -}; - -const { - name: calendar_name -} = calendar_metadata; - -const calendar_settings = { - icon: library_calendar, - example: {}, - edit: CalendarEdit -}; - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/category.js - - -/** - * WordPress dependencies - */ - -const category_category = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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_category); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pin.js - - -/** - * WordPress dependencies - */ - -const pin = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "-2 -2 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z" -})); -/* harmony default export */ var library_pin = (pin); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/categories/edit.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - - - - -function CategoriesEdit({ - attributes: { - displayAsDropdown, - showHierarchy, - showPostCounts - }, - setAttributes -}) { - const selectId = Object(external_wp_compose_["useInstanceId"])(CategoriesEdit, 'blocks-category-select'); - const { - categories, - isRequesting - } = Object(external_wp_data_["useSelect"])(select => { - const { - getEntityRecords - } = select(external_wp_coreData_["store"]); - const { - isResolving - } = select('core/data'); - const query = { - per_page: -1, - hide_empty: true, - context: 'view' - }; - return { - categories: getEntityRecords('taxonomy', 'category', query), - isRequesting: isResolving('core', 'getEntityRecords', ['taxonomy', 'category', query]) - }; - }, []); - - const getCategoriesList = parentId => { - if (!(categories !== null && categories !== void 0 && categories.length)) { - return []; - } - - if (parentId === null) { - return categories; - } - - return categories.filter(({ - parent - }) => parent === parentId); - }; - - const getCategoryListClassName = level => { - return `wp-block-categories__list wp-block-categories__list-level-${level}`; - }; - - const toggleAttribute = attributeName => newValue => setAttributes({ - [attributeName]: newValue - }); - - const renderCategoryName = name => !name ? Object(external_wp_i18n_["__"])('(Untitled)') : Object(external_lodash_["unescape"])(name).trim(); - - const renderCategoryList = () => { - const parentId = showHierarchy ? 0 : null; - const categoriesList = getCategoriesList(parentId); - return Object(external_wp_element_["createElement"])("ul", { - className: getCategoryListClassName(0) - }, categoriesList.map(category => renderCategoryListItem(category, 0))); - }; - - const renderCategoryListItem = (category, level) => { - const childCategories = getCategoriesList(category.id); - const { - id, - link, - count, - name - } = category; - return Object(external_wp_element_["createElement"])("li", { - key: id - }, Object(external_wp_element_["createElement"])("a", { - href: link, - target: "_blank", - rel: "noreferrer noopener" - }, renderCategoryName(name)), showPostCounts && Object(external_wp_element_["createElement"])("span", { - className: "wp-block-categories__post-count" - }, ` (${count})`), showHierarchy && !!childCategories.length && Object(external_wp_element_["createElement"])("ul", { - className: getCategoryListClassName(level + 1) - }, childCategories.map(childCategory => renderCategoryListItem(childCategory, level + 1)))); - }; - - const renderCategoryDropdown = () => { - const parentId = showHierarchy ? 0 : null; - const categoriesList = getCategoriesList(parentId); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { - as: "label", - htmlFor: selectId - }, Object(external_wp_i18n_["__"])('Categories')), Object(external_wp_element_["createElement"])("select", { - id: selectId, - className: "wp-block-categories__dropdown" - }, categoriesList.map(category => renderCategoryDropdownItem(category, 0)))); - }; - - const renderCategoryDropdownItem = (category, level) => { - const { - id, - count, - name - } = category; - const childCategories = getCategoriesList(id); - return [Object(external_wp_element_["createElement"])("option", { - key: id - }, Object(external_lodash_["times"])(level * 3, () => '\xa0'), renderCategoryName(name), showPostCounts && ` (${count})`), showHierarchy && !!childCategories.length && childCategories.map(childCategory => renderCategoryDropdownItem(childCategory, level + 1))]; - }; - - return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { - title: Object(external_wp_i18n_["__"])('Categories settings') - }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { - label: Object(external_wp_i18n_["__"])('Display as dropdown'), - checked: displayAsDropdown, - onChange: toggleAttribute('displayAsDropdown') - }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { - label: Object(external_wp_i18n_["__"])('Show hierarchy'), - checked: showHierarchy, - onChange: toggleAttribute('showHierarchy') - }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { - label: Object(external_wp_i18n_["__"])('Show post counts'), - checked: showPostCounts, - onChange: toggleAttribute('showPostCounts') - }))), isRequesting && Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { - icon: library_pin, - label: Object(external_wp_i18n_["__"])('Categories') - }, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)), !isRequesting && (categories === null || categories === void 0 ? void 0 : categories.length) === 0 && Object(external_wp_element_["createElement"])("p", null, Object(external_wp_i18n_["__"])('Your site does not have any posts, so there is nothing to display here at the moment.')), !isRequesting && (categories === null || categories === void 0 ? void 0 : categories.length) > 0 && (displayAsDropdown ? renderCategoryDropdown() : renderCategoryList())); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/categories/index.js -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - -const categories_metadata = { - apiVersion: 2, - name: "core/categories", - title: "Categories", - category: "widgets", - description: "Display a list of all categories.", - textdomain: "default", - attributes: { - displayAsDropdown: { - type: "boolean", - "default": false - }, - showHierarchy: { - type: "boolean", - "default": false - }, - showPostCounts: { - type: "boolean", - "default": false - } - }, - supports: { - align: true, - html: false - }, - editorStyle: "wp-block-categories-editor", - style: "wp-block-categories" -}; - -const { - name: categories_name -} = categories_metadata; - -const categories_settings = { - icon: library_category, - example: {}, - edit: CategoriesEdit -}; - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/code.js -var code = __webpack_require__("1Yn1"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/edit.js - - -/** - * WordPress dependencies - */ - - -function CodeEdit({ - attributes, - setAttributes, - onRemove -}) { - const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); - return Object(external_wp_element_["createElement"])("pre", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { - tagName: "code", - value: attributes.content, - onChange: content => setAttributes({ - content - }), - onRemove: onRemove, - placeholder: Object(external_wp_i18n_["__"])('Write code…'), - "aria-label": Object(external_wp_i18n_["__"])('Code'), - preserveWhiteSpace: true, - __unstablePastePlainText: true - })); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/utils.js -/** - * External dependencies - */ - -/** - * Escapes ampersands, shortcodes, and links. - * - * @param {string} content The content of a code block. - * @return {string} The given content with some characters escaped. - */ - -function utils_escape(content) { - return Object(external_lodash_["flow"])(escapeOpeningSquareBrackets, escapeProtocolInIsolatedUrls)(content || ''); -} -/** - * Returns the given content with all opening shortcode characters converted - * into their HTML entity counterpart (i.e. [ => [). For instance, a - * shortcode like [embed] becomes [embed] - * - * This function replicates the escaping of HTML tags, where a tag like - * becomes <strong>. - * - * @param {string} content The content of a code block. - * @return {string} The given content with its opening shortcode characters - * converted into their HTML entity counterpart - * (i.e. [ => [) - */ - -function escapeOpeningSquareBrackets(content) { - return content.replace(/\[/g, '['); -} -/** - * Converts the first two forward slashes of any isolated URL into their HTML - * counterparts (i.e. // => //). For instance, https://youtube.com/watch?x - * becomes https://youtube.com/watch?x. - * - * An isolated URL is a URL that sits in its own line, surrounded only by spacing - * characters. - * - * See https://github.com/WordPress/wordpress-develop/blob/5.1.1/src/wp-includes/class-wp-embed.php#L403 - * - * @param {string} content The content of a code block. - * @return {string} The given content with its ampersands converted into - * their HTML entity counterpart (i.e. & => &) - */ - - -function escapeProtocolInIsolatedUrls(content) { - return content.replace(/^(\s*https?:)\/\/([^\s<>"]+\s*)$/m, '$1//$2'); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/save.js - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - -function code_save_save({ - attributes -}) { - return Object(external_wp_element_["createElement"])("pre", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { - tagName: "code", - value: utils_escape(attributes.content) - })); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/transforms.js -/** - * WordPress dependencies - */ - -const code_transforms_transforms = { - from: [{ - type: 'enter', - regExp: /^```$/, - transform: () => Object(external_wp_blocks_["createBlock"])('core/code') - }, { - type: 'block', - blocks: ['core/html'], - transform: ({ - content - }) => { - return Object(external_wp_blocks_["createBlock"])('core/code', { - content - }); - } - }, { - type: 'raw', - isMatch: node => node.nodeName === 'PRE' && node.children.length === 1 && node.firstChild.nodeName === 'CODE', - schema: { - pre: { - children: { - code: { - children: { - '#text': {} - } - } - } - } - } - }] -}; -/* harmony default export */ var code_transforms = (code_transforms_transforms); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/index.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -const code_metadata = { - apiVersion: 2, - name: "core/code", - title: "Code", - category: "text", - description: "Display code snippets that respect your spacing and tabs.", - textdomain: "default", - attributes: { - content: { - type: "string", - source: "html", - selector: "code" - } - }, - supports: { - anchor: true, - typography: { - fontSize: true - } - }, - style: "wp-block-code" -}; - - -const { - name: code_name -} = code_metadata; - -const code_settings = { - icon: code["a" /* default */], - example: { - attributes: { - /* eslint-disable @wordpress/i18n-no-collapsible-whitespace */ - // translators: Preserve \n markers for line breaks - content: Object(external_wp_i18n_["__"])('// A "block" is the abstract term used\n// to describe units of markup that\n// when composed together, form the\n// content or layout of a page.\nregisterBlockType( name, settings );') - /* eslint-enable @wordpress/i18n-no-collapsible-whitespace */ - - } - }, - transforms: code_transforms, - edit: CodeEdit, - save: code_save_save -}; - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/columns.js - - -/** - * WordPress dependencies - */ - -const columns_columns = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - viewBox: "0 0 24 24", - xmlns: "http://www.w3.org/2000/svg" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M19 6H6c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-4.1 1.5v10H10v-10h4.9zM5.5 17V8c0-.3.2-.5.5-.5h2.5v10H6c-.3 0-.5-.2-.5-.5zm14 0c0 .3-.2.5-.5.5h-2.6v-10H19c.3 0 .5.2.5.5v9z" -})); -/* harmony default export */ var library_columns = (columns_columns); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/deprecated.js - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - -/** - * Given an HTML string for a deprecated columns inner block, returns the - * column index to which the migrated inner block should be assigned. Returns - * undefined if the inner block was not assigned to a column. - * - * @param {string} originalContent Deprecated Columns inner block HTML. - * - * @return {?number} Column to which inner block is to be assigned. - */ - -function getDeprecatedLayoutColumn(originalContent) { - let { - doc - } = getDeprecatedLayoutColumn; - - if (!doc) { - doc = document.implementation.createHTMLDocument(''); - getDeprecatedLayoutColumn.doc = doc; - } - - let columnMatch; - doc.body.innerHTML = originalContent; - - for (const classListItem of doc.body.firstChild.classList) { - if (columnMatch = classListItem.match(/^layout-column-(\d+)$/)) { - return Number(columnMatch[1]) - 1; - } - } -} - -const deprecated_migrateCustomColors = attributes => { if (!attributes.customTextColor && !attributes.customBackgroundColor) { return attributes; } @@ -11615,31 +13870,70 @@ const deprecated_migrateCustomColors = attributes => { }; }; -/* harmony default export */ var columns_deprecated = ([{ +const group_deprecated_deprecated = [// Version of the block with the double div. +{ attributes: { - verticalAlignment: { - type: 'string' + tagName: { + type: 'string', + default: 'div' }, + templateLock: { + type: 'string' + } + }, + supports: { + align: ['wide', 'full'], + anchor: true, + color: { + gradients: true, + link: true + }, + spacing: { + padding: true + }, + __experimentalBorder: { + radius: true + } + }, + + save({ + attributes + }) { + const { + tagName: Tag + } = attributes; + return Object(external_wp_element_["createElement"])(Tag, external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])("div", { + className: "wp-block-group__inner-container" + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); + } + +}, // Version of the block without global styles support +{ + attributes: { backgroundColor: { type: 'string' }, customBackgroundColor: { type: 'string' }, - customTextColor: { + textColor: { type: 'string' }, - textColor: { + customTextColor: { type: 'string' } }, - migrate: deprecated_migrateCustomColors, + supports: { + align: ['wide', 'full'], + anchor: true, + html: false + }, + migrate: migrateAttributes, save({ attributes }) { const { - verticalAlignment, backgroundColor, customBackgroundColor, textColor, @@ -11647,906 +13941,115 @@ const deprecated_migrateCustomColors = attributes => { } = attributes; const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); - const className = classnames_default()({ - 'has-background': backgroundColor || customBackgroundColor, + const className = classnames_default()(backgroundClass, textClass, { 'has-text-color': textColor || customTextColor, - [backgroundClass]: backgroundClass, - [textClass]: textClass, - [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment + 'has-background': backgroundColor || customBackgroundColor }); - const style = { + const styles = { backgroundColor: backgroundClass ? undefined : customBackgroundColor, color: textClass ? undefined : customTextColor }; return Object(external_wp_element_["createElement"])("div", { - className: className ? className : undefined, - style: style - }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); + className: className, + style: styles + }, Object(external_wp_element_["createElement"])("div", { + className: "wp-block-group__inner-container" + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); } -}, { +}, // Version of the group block with a bug that made text color class not applied. +{ attributes: { - columns: { - type: 'number', - default: 2 + backgroundColor: { + type: 'string' + }, + customBackgroundColor: { + type: 'string' + }, + textColor: { + type: 'string' + }, + customTextColor: { + type: 'string' } }, - - isEligible(attributes, innerBlocks) { - // Since isEligible is called on every valid instance of the - // Columns block and a deprecation is the unlikely case due to - // its subsequent migration, optimize for the `false` condition - // by performing a naive, inaccurate pass at inner blocks. - const isFastPassEligible = innerBlocks.some(innerBlock => /layout-column-\d+/.test(innerBlock.originalContent)); - - if (!isFastPassEligible) { - return false; - } // Only if the fast pass is considered eligible is the more - // accurate, durable, slower condition performed. - - - return innerBlocks.some(innerBlock => getDeprecatedLayoutColumn(innerBlock.originalContent) !== undefined); - }, - - migrate(attributes, innerBlocks) { - const columns = innerBlocks.reduce((accumulator, innerBlock) => { - const { - originalContent - } = innerBlock; - let columnIndex = getDeprecatedLayoutColumn(originalContent); - - if (columnIndex === undefined) { - columnIndex = 0; - } - - if (!accumulator[columnIndex]) { - accumulator[columnIndex] = []; - } - - accumulator[columnIndex].push(innerBlock); - return accumulator; - }, []); - const migratedInnerBlocks = columns.map(columnBlocks => Object(external_wp_blocks_["createBlock"])('core/column', {}, columnBlocks)); - return [Object(external_lodash_["omit"])(attributes, ['columns']), migratedInnerBlocks]; + migrate: migrateAttributes, + supports: { + align: ['wide', 'full'], + anchor: true, + html: false }, save({ attributes }) { const { - columns + backgroundColor, + customBackgroundColor, + textColor, + customTextColor } = attributes; - return Object(external_wp_element_["createElement"])("div", { - className: `has-${columns}-columns` - }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); - } - -}, { - attributes: { - columns: { - type: 'number', - default: 2 - } - }, - - migrate(attributes, innerBlocks) { - attributes = Object(external_lodash_["omit"])(attributes, ['columns']); - return [attributes, innerBlocks]; - }, - - save({ - attributes - }) { - const { - verticalAlignment, - columns - } = attributes; - const wrapperClasses = classnames_default()(`has-${columns}-columns`, { - [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment + const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); + const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); + const className = classnames_default()(backgroundClass, { + 'has-text-color': textColor || customTextColor, + 'has-background': backgroundColor || customBackgroundColor }); - return Object(external_wp_element_["createElement"])("div", { - className: wrapperClasses - }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); - } - -}]); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/utils.js -/** - * External dependencies - */ - -/** - * Returns a column width attribute value rounded to standard precision. - * Returns `undefined` if the value is not a valid finite number. - * - * @param {?number} value Raw value. - * - * @return {number} Value rounded to standard precision. - */ - -const toWidthPrecision = value => { - const unitlessValue = parseFloat(value); - return Number.isFinite(unitlessValue) ? parseFloat(unitlessValue.toFixed(2)) : undefined; -}; -/** - * Returns an effective width for a given block. An effective width is equal to - * its attribute value if set, or a computed value assuming equal distribution. - * - * @param {WPBlock} block Block object. - * @param {number} totalBlockCount Total number of blocks in Columns. - * - * @return {number} Effective column width. - */ - -function getEffectiveColumnWidth(block, totalBlockCount) { - const { - width = 100 / totalBlockCount - } = block.attributes; - return toWidthPrecision(width); -} -/** - * Returns the total width occupied by the given set of column blocks. - * - * @param {WPBlock[]} blocks Block objects. - * @param {?number} totalBlockCount Total number of blocks in Columns. - * Defaults to number of blocks passed. - * - * @return {number} Total width occupied by blocks. - */ - -function getTotalColumnsWidth(blocks, totalBlockCount = blocks.length) { - return Object(external_lodash_["sumBy"])(blocks, block => getEffectiveColumnWidth(block, totalBlockCount)); -} -/** - * Returns an object of `clientId` → `width` of effective column widths. - * - * @param {WPBlock[]} blocks Block objects. - * @param {?number} totalBlockCount Total number of blocks in Columns. - * Defaults to number of blocks passed. - * - * @return {Object} Column widths. - */ - -function getColumnWidths(blocks, totalBlockCount = blocks.length) { - return blocks.reduce((accumulator, block) => { - const width = getEffectiveColumnWidth(block, totalBlockCount); - return Object.assign(accumulator, { - [block.clientId]: width - }); - }, {}); -} -/** - * Returns an object of `clientId` → `width` of column widths as redistributed - * proportional to their current widths, constrained or expanded to fit within - * the given available width. - * - * @param {WPBlock[]} blocks Block objects. - * @param {number} availableWidth Maximum width to fit within. - * @param {?number} totalBlockCount Total number of blocks in Columns. - * Defaults to number of blocks passed. - * - * @return {Object} Redistributed column widths. - */ - -function getRedistributedColumnWidths(blocks, availableWidth, totalBlockCount = blocks.length) { - const totalWidth = getTotalColumnsWidth(blocks, totalBlockCount); - return Object(external_lodash_["mapValues"])(getColumnWidths(blocks, totalBlockCount), width => { - const newWidth = availableWidth * width / totalWidth; - return toWidthPrecision(newWidth); - }); -} -/** - * Returns true if column blocks within the provided set are assigned with - * explicit widths, or false otherwise. - * - * @param {WPBlock[]} blocks Block objects. - * - * @return {boolean} Whether columns have explicit widths. - */ - -function hasExplicitPercentColumnWidths(blocks) { - return blocks.every(block => { - var _blockWidth$endsWith; - - const blockWidth = block.attributes.width; - return Number.isFinite(blockWidth !== null && blockWidth !== void 0 && (_blockWidth$endsWith = blockWidth.endsWith) !== null && _blockWidth$endsWith !== void 0 && _blockWidth$endsWith.call(blockWidth, '%') ? parseFloat(blockWidth) : blockWidth); - }); -} -/** - * Returns a copy of the given set of blocks with new widths assigned from the - * provided object of redistributed column widths. - * - * @param {WPBlock[]} blocks Block objects. - * @param {Object} widths Redistributed column widths. - * - * @return {WPBlock[]} blocks Mapped block objects. - */ - -function getMappedColumnWidths(blocks, widths) { - return blocks.map(block => Object(external_lodash_["merge"])({}, block, { - attributes: { - width: widths[block.clientId] - } - })); -} -/** - * Returns an array with columns widths values, parsed or no depends on `withParsing` flag. - * - * @param {WPBlock[]} blocks Block objects. - * @param {?boolean} withParsing Whether value has to be parsed. - * - * @return {Array} Column widths. - */ - -function getWidths(blocks, withParsing = true) { - return blocks.map(innerColumn => { - const innerColumnWidth = innerColumn.attributes.width || 100 / blocks.length; - return withParsing ? parseFloat(innerColumnWidth) : innerColumnWidth; - }); -} -/** - * Returns a column width with unit. - * - * @param {string} width Column width. - * @param {string} unit Column width unit. - * - * @return {string} Column width with unit. - */ - -function getWidthWithUnit(width, unit) { - width = 0 > parseFloat(width) ? '0' : width; - - if (isPercentageUnit(unit)) { - width = Math.min(width, 100); - } - - return `${width}${unit}`; -} -/** - * Returns a boolean whether passed unit is percentage - * - * @param {string} unit Column width unit. - * - * @return {boolean} Whether unit is '%'. - */ - -function isPercentageUnit(unit) { - return unit === '%'; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/edit.js - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - - - -/** - * Internal dependencies - */ - - -/** - * Allowed blocks constant is passed to InnerBlocks precisely as specified here. - * The contents of the array should never change. - * The array should contain the name of each block that is allowed. - * In columns block, the only block we allow is 'core/column'. - * - * @constant - * @type {string[]} - */ - -const edit_ALLOWED_BLOCKS = ['core/column']; - -function ColumnsEditContainer({ - attributes, - updateAlignment, - updateColumns, - clientId -}) { - const { - verticalAlignment - } = attributes; - const { - count - } = Object(external_wp_data_["useSelect"])(select => { - return { - count: select(external_wp_blockEditor_["store"]).getBlockCount(clientId) + const styles = { + backgroundColor: backgroundClass ? undefined : customBackgroundColor, + color: textClass ? undefined : customTextColor }; - }, [clientId]); - const classes = classnames_default()({ - [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment - }); - const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ - className: classes - }); - const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])(blockProps, { - allowedBlocks: edit_ALLOWED_BLOCKS, - orientation: 'horizontal', - renderAppender: false - }); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockVerticalAlignmentToolbar"], { - onChange: updateAlignment, - value: verticalAlignment - })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], null, Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { - label: Object(external_wp_i18n_["__"])('Columns'), - value: count, - onChange: value => updateColumns(count, value), - min: 1, - max: Math.max(6, count) - }), count > 6 && Object(external_wp_element_["createElement"])(external_wp_components_["Notice"], { - status: "warning", - isDismissible: false - }, Object(external_wp_i18n_["__"])('This column count exceeds the recommended amount and may cause visual breakage.')))), Object(external_wp_element_["createElement"])("div", innerBlocksProps)); -} - -const ColumnsEditContainerWrapper = Object(external_wp_data_["withDispatch"])((dispatch, ownProps, registry) => ({ - /** - * Update all child Column blocks with a new vertical alignment setting - * based on whatever alignment is passed in. This allows change to parent - * to overide anything set on a individual column basis. - * - * @param {string} verticalAlignment the vertical alignment setting - */ - updateAlignment(verticalAlignment) { - const { - clientId, - setAttributes - } = ownProps; - const { - updateBlockAttributes - } = dispatch(external_wp_blockEditor_["store"]); - const { - getBlockOrder - } = registry.select(external_wp_blockEditor_["store"]); // Update own alignment. - - setAttributes({ - verticalAlignment - }); // Update all child Column Blocks to match - - const innerBlockClientIds = getBlockOrder(clientId); - innerBlockClientIds.forEach(innerBlockClientId => { - updateBlockAttributes(innerBlockClientId, { - verticalAlignment - }); - }); - }, - - /** - * Updates the column count, including necessary revisions to child Column - * blocks to grant required or redistribute available space. - * - * @param {number} previousColumns Previous column count. - * @param {number} newColumns New column count. - */ - updateColumns(previousColumns, newColumns) { - const { - clientId - } = ownProps; - const { - replaceInnerBlocks - } = dispatch(external_wp_blockEditor_["store"]); - const { - getBlocks - } = registry.select(external_wp_blockEditor_["store"]); - let innerBlocks = getBlocks(clientId); - const hasExplicitWidths = hasExplicitPercentColumnWidths(innerBlocks); // Redistribute available width for existing inner blocks. - - const isAddingColumn = newColumns > previousColumns; - - if (isAddingColumn && hasExplicitWidths) { - // If adding a new column, assign width to the new column equal to - // as if it were `1 / columns` of the total available space. - const newColumnWidth = toWidthPrecision(100 / newColumns); // Redistribute in consideration of pending block insertion as - // constraining the available working width. - - const widths = getRedistributedColumnWidths(innerBlocks, 100 - newColumnWidth); - innerBlocks = [...getMappedColumnWidths(innerBlocks, widths), ...Object(external_lodash_["times"])(newColumns - previousColumns, () => { - return Object(external_wp_blocks_["createBlock"])('core/column', { - width: newColumnWidth - }); - })]; - } else if (isAddingColumn) { - innerBlocks = [...innerBlocks, ...Object(external_lodash_["times"])(newColumns - previousColumns, () => { - return Object(external_wp_blocks_["createBlock"])('core/column'); - })]; - } else { - // The removed column will be the last of the inner blocks. - innerBlocks = Object(external_lodash_["dropRight"])(innerBlocks, previousColumns - newColumns); - - if (hasExplicitWidths) { - // Redistribute as if block is already removed. - const widths = getRedistributedColumnWidths(innerBlocks, 100); - innerBlocks = getMappedColumnWidths(innerBlocks, widths); - } - } - - replaceInnerBlocks(clientId, innerBlocks); + return Object(external_wp_element_["createElement"])("div", { + className: className, + style: styles + }, Object(external_wp_element_["createElement"])("div", { + className: "wp-block-group__inner-container" + }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); } -}))(ColumnsEditContainer); - -function Placeholder({ - clientId, - name, - setAttributes -}) { - const { - blockType, - defaultVariation, - variations - } = Object(external_wp_data_["useSelect"])(select => { - const { - getBlockVariations, - getBlockType, - getDefaultBlockVariation - } = select(external_wp_blocks_["store"]); - return { - blockType: getBlockType(name), - defaultVariation: getDefaultBlockVariation(name, 'block'), - variations: getBlockVariations(name, 'block') - }; - }, [name]); - const { - replaceInnerBlocks - } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); - const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); - return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalBlockVariationPicker"], { - icon: Object(external_lodash_["get"])(blockType, ['icon', 'src']), - label: Object(external_lodash_["get"])(blockType, ['title']), - variations: variations, - onSelect: (nextVariation = defaultVariation) => { - if (nextVariation.attributes) { - setAttributes(nextVariation.attributes); - } - - if (nextVariation.innerBlocks) { - replaceInnerBlocks(clientId, Object(external_wp_blocks_["createBlocksFromInnerBlocksTemplate"])(nextVariation.innerBlocks), true); - } - }, - allowSkip: true - })); -} - -const ColumnsEdit = props => { - const { - clientId - } = props; - const hasInnerBlocks = Object(external_wp_data_["useSelect"])(select => select(external_wp_blockEditor_["store"]).getBlocks(clientId).length > 0, [clientId]); - const Component = hasInnerBlocks ? ColumnsEditContainerWrapper : Placeholder; - return Object(external_wp_element_["createElement"])(Component, props); -}; - -/* harmony default export */ var columns_edit = (ColumnsEdit); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/save.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -function columns_save_save({ - attributes -}) { - const { - verticalAlignment - } = attributes; - const className = classnames_default()({ - [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment - }); - return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ - className - }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/variations.js - - -/** - * WordPress dependencies - */ - - -/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */ - -/** - * Template option choices for predefined columns layouts. - * - * @type {WPBlockVariation[]} - */ - -const columns_variations_variations = [{ - name: 'one-column-full', - title: Object(external_wp_i18n_["__"])('100'), - description: Object(external_wp_i18n_["__"])('One column'), - icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { - width: "48", - height: "48", - viewBox: "0 0 48 48", - xmlns: "http://www.w3.org/2000/svg" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { - fillRule: "evenodd", - clipRule: "evenodd", - d: "m39.0625 14h-30.0625v20.0938h30.0625zm-30.0625-2c-1.10457 0-2 .8954-2 2v20.0938c0 1.1045.89543 2 2 2h30.0625c1.1046 0 2-.8955 2-2v-20.0938c0-1.1046-.8954-2-2-2z" - })), - innerBlocks: [['core/column']], - scope: ['block'] -}, { - name: 'two-columns-equal', - title: Object(external_wp_i18n_["__"])('50 / 50'), - description: Object(external_wp_i18n_["__"])('Two columns; equal split'), - icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { - width: "48", - height: "48", - viewBox: "0 0 48 48", - xmlns: "http://www.w3.org/2000/svg" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H25V34H39ZM23 34H9V14H23V34Z" - })), - isDefault: true, - innerBlocks: [['core/column'], ['core/column']], - scope: ['block'] -}, { - name: 'two-columns-one-third-two-thirds', - title: Object(external_wp_i18n_["__"])('30 / 70'), - description: Object(external_wp_i18n_["__"])('Two columns; one-third, two-thirds split'), - icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { - width: "48", - height: "48", - viewBox: "0 0 48 48", - xmlns: "http://www.w3.org/2000/svg" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H20V34H39ZM18 34H9V14H18V34Z" - })), - innerBlocks: [['core/column', { - width: '33.33%' - }], ['core/column', { - width: '66.66%' - }]], - scope: ['block'] -}, { - name: 'two-columns-two-thirds-one-third', - title: Object(external_wp_i18n_["__"])('70 / 30'), - description: Object(external_wp_i18n_["__"])('Two columns; two-thirds, one-third split'), - icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { - width: "48", - height: "48", - viewBox: "0 0 48 48", - xmlns: "http://www.w3.org/2000/svg" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H30V34H39ZM28 34H9V14H28V34Z" - })), - innerBlocks: [['core/column', { - width: '66.66%' - }], ['core/column', { - width: '33.33%' - }]], - scope: ['block'] -}, { - name: 'three-columns-equal', - title: Object(external_wp_i18n_["__"])('33 / 33 / 33'), - description: Object(external_wp_i18n_["__"])('Three columns; equal split'), - icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { - width: "48", - height: "48", - viewBox: "0 0 48 48", - xmlns: "http://www.w3.org/2000/svg" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { - fillRule: "evenodd", - d: "M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM28.5 34h-9V14h9v20zm2 0V14H39v20h-8.5zm-13 0H9V14h8.5v20z" - })), - innerBlocks: [['core/column'], ['core/column'], ['core/column']], - scope: ['block'] -}, { - name: 'three-columns-wider-center', - title: Object(external_wp_i18n_["__"])('25 / 50 / 25'), - description: Object(external_wp_i18n_["__"])('Three columns; wide center column'), - icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { - width: "48", - height: "48", - viewBox: "0 0 48 48", - xmlns: "http://www.w3.org/2000/svg" - }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { - fillRule: "evenodd", - d: "M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM31 34H17V14h14v20zm2 0V14h6v20h-6zm-18 0H9V14h6v20z" - })), - innerBlocks: [['core/column', { - width: '25%' - }], ['core/column', { - width: '50%' - }], ['core/column', { - width: '25%' - }]], - scope: ['block'] -}]; -/* harmony default export */ var columns_variations = (columns_variations_variations); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/transforms.js -/** - * WordPress dependencies - */ - -const MAXIMUM_SELECTED_BLOCKS = 6; -const columns_transforms_transforms = { - from: [{ - type: 'block', - isMultiBlock: true, - blocks: ['*'], - __experimentalConvert: blocks => { - const columnWidth = +(100 / blocks.length).toFixed(2); - const innerBlocksTemplate = blocks.map(({ - name, - attributes, - innerBlocks - }) => ['core/column', { - width: `${columnWidth}%` - }, [[name, { ...attributes - }, innerBlocks]]]); - return Object(external_wp_blocks_["createBlock"])('core/columns', {}, Object(external_wp_blocks_["createBlocksFromInnerBlocksTemplate"])(innerBlocksTemplate)); - }, - isMatch: ({ - length: selectedBlocksLength - }) => selectedBlocksLength && selectedBlocksLength <= MAXIMUM_SELECTED_BLOCKS - }, { - type: 'block', - blocks: ['core/media-text'], - priority: 1, - transform: (attributes, innerBlocks) => { - const { - align, - backgroundColor, - textColor, - style, - mediaAlt: alt, - mediaId: id, - mediaPosition, - mediaSizeSlug: sizeSlug, - mediaType, - mediaUrl: url, - mediaWidth, - verticalAlignment - } = attributes; - let media; - - if (mediaType === 'image' || !mediaType) { - const imageAttrs = { - id, - alt, - url, - sizeSlug - }; - const linkAttrs = { - href: attributes.href, - linkClass: attributes.linkClass, - linkDestination: attributes.linkDestination, - linkTarget: attributes.linkTarget, - rel: attributes.rel - }; - media = ['core/image', { ...imageAttrs, - ...linkAttrs - }]; - } else { - media = ['core/video', { - id, - src: url - }]; - } - - const innerBlocksTemplate = [['core/column', { - width: `${mediaWidth}%` - }, [media]], ['core/column', { - width: `${100 - mediaWidth}%` - }, innerBlocks]]; - - if (mediaPosition === 'right') { - innerBlocksTemplate.reverse(); - } - - return Object(external_wp_blocks_["createBlock"])('core/columns', { - align, - backgroundColor, - textColor, - style, - verticalAlignment - }, Object(external_wp_blocks_["createBlocksFromInnerBlocksTemplate"])(innerBlocksTemplate)); - } - }] -}; -/* harmony default export */ var columns_transforms = (columns_transforms_transforms); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/index.js -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - -const columns_metadata = { - apiVersion: 2, - name: "core/columns", - title: "Columns", - category: "design", - description: "Add a block that displays content in multiple columns, then add whatever content blocks you\u2019d like.", - textdomain: "default", +}, // v1 of group block. Deprecated to add an inner-container div around `InnerBlocks.Content`. +{ attributes: { - verticalAlignment: { - type: "string" + backgroundColor: { + type: 'string' + }, + customBackgroundColor: { + type: 'string' } }, supports: { + align: ['wide', 'full'], anchor: true, - align: ["wide", "full"], - html: false, - color: { - gradients: true, - link: true - } - }, - editorStyle: "wp-block-columns-editor", - style: "wp-block-columns" -}; - - - -const { - name: columns_name -} = columns_metadata; - -const columns_settings = { - icon: library_columns, - variations: columns_variations, - example: { - innerBlocks: [{ - name: 'core/column', - innerBlocks: [{ - name: 'core/paragraph', - attributes: { - /* translators: example text. */ - content: Object(external_wp_i18n_["__"])('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis.') - } - }, { - name: 'core/image', - attributes: { - url: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg' - } - }, { - name: 'core/paragraph', - attributes: { - /* translators: example text. */ - content: Object(external_wp_i18n_["__"])('Suspendisse commodo neque lacus, a dictum orci interdum et.') - } - }] - }, { - name: 'core/column', - innerBlocks: [{ - name: 'core/paragraph', - attributes: { - /* translators: example text. */ - content: Object(external_wp_i18n_["__"])('Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.') - } - }, { - name: 'core/paragraph', - attributes: { - /* translators: example text. */ - content: Object(external_wp_i18n_["__"])('Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim.') - } - }] - }] - }, - deprecated: columns_deprecated, - edit: columns_edit, - save: columns_save_save, - transforms: columns_transforms -}; - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/column.js - - -/** - * WordPress dependencies - */ - -const column = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M19 6H6c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zM6 17.5c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h3v10H6zm13.5-.5c0 .3-.2.5-.5.5h-3v-10h3c.3 0 .5.2.5.5v9z" -})); -/* harmony default export */ var library_column = (column); - -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/deprecated.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -const column_deprecated_deprecated = [{ - attributes: { - verticalAlignment: { - type: 'string' - }, - width: { - type: 'number', - min: 0, - max: 100 - } - }, - - isEligible({ - width - }) { - return isFinite(width); - }, - - migrate(attributes) { - return { ...attributes, - width: `${attributes.width}%` - }; + html: false }, + migrate: migrateAttributes, save({ attributes }) { const { - verticalAlignment, - width + backgroundColor, + customBackgroundColor } = attributes; - const wrapperClasses = classnames_default()({ - [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment + const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); + const className = classnames_default()(backgroundClass, { + 'has-background': backgroundColor || customBackgroundColor }); - const style = { - flexBasis: width + '%' + const styles = { + backgroundColor: backgroundClass ? undefined : customBackgroundColor }; return Object(external_wp_element_["createElement"])("div", { - className: wrapperClasses, - style: style + className: className, + style: styles }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); } }]; -/* harmony default export */ var column_deprecated = (column_deprecated_deprecated); +/* harmony default export */ var group_deprecated = (group_deprecated_deprecated); -// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/edit.js +// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/group/edit.js -/** - * External dependencies - */ - /** * WordPress dependencies */ @@ -12554,2542 +14057,584 @@ const column_deprecated_deprecated = [{ +const htmlElementMessages = { + header: Object(external_wp_i18n_["__"])('The
    element should represent introductory content, typically a group of introductory or navigational aids.'), + main: Object(external_wp_i18n_["__"])('The
    element should be used for the primary content of your document only. '), + section: Object(external_wp_i18n_["__"])("The
    element should represent a standalone portion of the document that can't be better represented by another element."), + article: Object(external_wp_i18n_["__"])('The
    element should represent a self contained, syndicatable portion of the document.'), + aside: Object(external_wp_i18n_["__"])("The
  • \n"}))).replace(/¨0/g,""),r.gListLevel--,n&&(e=e.replace(/\s+$/,"")),e}function a(e,t){if("ol"===t){var r=e.match(/^ *(\d+)\./);if(r&&"1"!==r[1])return' start="'+r[1]+'"'}return""}function i(e,r,o){var i=t.disableForced4SpacesIndentedSublists?/^ ?\d+\.[ \t]/gm:/^ {0,3}\d+\.[ \t]/gm,s=t.disableForced4SpacesIndentedSublists?/^ ?[*+-][ \t]/gm:/^ {0,3}[*+-][ \t]/gm,c="ul"===r?i:s,l="";if(-1!==e.search(c))!function t(u){var d=u.search(c),p=a(e,r);-1!==d?(l+="\n\n<"+r+p+">\n"+n(u.slice(0,d),!!o)+"\n",c="ul"===(r="ul"===r?"ol":"ul")?i:s,t(u.slice(d))):l+="\n\n<"+r+p+">\n"+n(u,!!o)+"\n"}(e);else{var u=a(e,r);l="\n\n<"+r+u+">\n"+n(e,!!o)+"\n"}return l}return e=r.converter._dispatch("lists.before",e,t,r),e+="¨0",e=(e=r.gListLevel?e.replace(/^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,(function(e,t,r){return i(t,r.search(/[*+-]/g)>-1?"ul":"ol",!0)})):e.replace(/(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,(function(e,t,r,n){return i(r,n.search(/[*+-]/g)>-1?"ul":"ol",!1)}))).replace(/¨0/,""),e=r.converter._dispatch("lists.after",e,t,r)})),o.subParser("metadata",(function(e,t,r){"use strict";if(!t.metadata)return e;function n(e){r.metadata.raw=e,(e=(e=e.replace(/&/g,"&").replace(/"/g,""")).replace(/\n {4}/g," ")).replace(/^([\S ]+): +([\s\S]+?)$/gm,(function(e,t,n){return r.metadata.parsed[t]=n,""}))}return e=(e=(e=(e=r.converter._dispatch("metadata.before",e,t,r)).replace(/^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/,(function(e,t,r){return n(r),"¨M"}))).replace(/^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/,(function(e,t,a){return t&&(r.metadata.format=t),n(a),"¨M"}))).replace(/¨M/g,""),e=r.converter._dispatch("metadata.after",e,t,r)})),o.subParser("outdent",(function(e,t,r){"use strict";return e=(e=(e=r.converter._dispatch("outdent.before",e,t,r)).replace(/^(\t|[ ]{1,4})/gm,"¨0")).replace(/¨0/g,""),e=r.converter._dispatch("outdent.after",e,t,r)})),o.subParser("paragraphs",(function(e,t,r){"use strict";for(var n=(e=(e=(e=r.converter._dispatch("paragraphs.before",e,t,r)).replace(/^\n+/g,"")).replace(/\n+$/g,"")).split(/\n{2,}/g),a=[],i=n.length,s=0;s=0?a.push(c):c.search(/\S/)>=0&&(c=(c=o.subParser("spanGamut")(c,t,r)).replace(/^([ \t]*)/g,"

    "),c+="

    ",a.push(c))}for(i=a.length,s=0;s]*>\s*]*>/.test(u)&&(d=!0)}a[s]=u}return e=(e=(e=a.join("\n")).replace(/^\n+/g,"")).replace(/\n+$/g,""),r.converter._dispatch("paragraphs.after",e,t,r)})),o.subParser("runExtension",(function(e,t,r,n){"use strict";if(e.filter)t=e.filter(t,n.converter,r);else if(e.regex){var a=e.regex;a instanceof RegExp||(a=new RegExp(a,"g")),t=t.replace(a,e.replace)}return t})),o.subParser("spanGamut",(function(e,t,r){"use strict";return e=r.converter._dispatch("spanGamut.before",e,t,r),e=o.subParser("codeSpans")(e,t,r),e=o.subParser("escapeSpecialCharsWithinTagAttributes")(e,t,r),e=o.subParser("encodeBackslashEscapes")(e,t,r),e=o.subParser("images")(e,t,r),e=o.subParser("anchors")(e,t,r),e=o.subParser("autoLinks")(e,t,r),e=o.subParser("simplifiedAutoLinks")(e,t,r),e=o.subParser("emoji")(e,t,r),e=o.subParser("underline")(e,t,r),e=o.subParser("italicsAndBold")(e,t,r),e=o.subParser("strikethrough")(e,t,r),e=o.subParser("ellipsis")(e,t,r),e=o.subParser("hashHTMLSpans")(e,t,r),e=o.subParser("encodeAmpsAndAngles")(e,t,r),t.simpleLineBreaks?/\n\n¨K/.test(e)||(e=e.replace(/\n+/g,"
    \n")):e=e.replace(/ +\n/g,"
    \n"),e=r.converter._dispatch("spanGamut.after",e,t,r)})),o.subParser("strikethrough",(function(e,t,r){"use strict";return t.strikethrough&&(e=(e=r.converter._dispatch("strikethrough.before",e,t,r)).replace(/(?:~){2}([\s\S]+?)(?:~){2}/g,(function(e,n){return function(e){return t.simplifiedAutoLink&&(e=o.subParser("simplifiedAutoLinks")(e,t,r)),""+e+""}(n)})),e=r.converter._dispatch("strikethrough.after",e,t,r)),e})),o.subParser("stripLinkDefinitions",(function(e,t,r){"use strict";var n=function(e,n,a,i,s,c,l){return n=n.toLowerCase(),a.match(/^data:.+?\/.+?;base64,/)?r.gUrls[n]=a.replace(/\s/g,""):r.gUrls[n]=o.subParser("encodeAmpsAndAngles")(a,t,r),c?c+l:(l&&(r.gTitles[n]=l.replace(/"|'/g,""")),t.parseImgDimensions&&i&&s&&(r.gDimensions[n]={width:i,height:s}),"")};return e=(e=(e=(e+="¨0").replace(/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm,n)).replace(/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm,n)).replace(/¨0/,"")})),o.subParser("tables",(function(e,t,r){"use strict";if(!t.tables)return e;function n(e,n){return""+o.subParser("spanGamut")(e,t,r)+"\n"}function a(e){var a,i=e.split("\n");for(a=0;a"+(c=o.subParser("spanGamut")(c,t,r))+"\n"));for(a=0;a\n\n\n",a=0;a\n";for(var o=0;o\n"}return r+="\n\n"}(f,m)}return e=(e=(e=(e=r.converter._dispatch("tables.before",e,t,r)).replace(/\\(\|)/g,o.helper.escapeCharactersCallback)).replace(/^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm,a)).replace(/^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm,a),e=r.converter._dispatch("tables.after",e,t,r)})),o.subParser("underline",(function(e,t,r){"use strict";return t.underline?(e=r.converter._dispatch("underline.before",e,t,r),e=(e=t.literalMidWordUnderscores?(e=e.replace(/\b___(\S[\s\S]*?)___\b/g,(function(e,t){return""+t+""}))).replace(/\b__(\S[\s\S]*?)__\b/g,(function(e,t){return""+t+""})):(e=e.replace(/___(\S[\s\S]*?)___/g,(function(e,t){return/\S$/.test(t)?""+t+"":e}))).replace(/__(\S[\s\S]*?)__/g,(function(e,t){return/\S$/.test(t)?""+t+"":e}))).replace(/(_)/g,o.helper.escapeCharactersCallback),e=r.converter._dispatch("underline.after",e,t,r)):e})),o.subParser("unescapeSpecialChars",(function(e,t,r){"use strict";return e=(e=r.converter._dispatch("unescapeSpecialChars.before",e,t,r)).replace(/¨E(\d+)E/g,(function(e,t){var r=parseInt(t);return String.fromCharCode(r)})),e=r.converter._dispatch("unescapeSpecialChars.after",e,t,r)})),o.subParser("makeMarkdown.blockquote",(function(e,t){"use strict";var r="";if(e.hasChildNodes())for(var n=e.childNodes,a=n.length,i=0;i ")})),o.subParser("makeMarkdown.codeBlock",(function(e,t){"use strict";var r=e.getAttribute("language"),n=e.getAttribute("precodenum");return"```"+r+"\n"+t.preList[n]+"\n```"})),o.subParser("makeMarkdown.codeSpan",(function(e){"use strict";return"`"+e.innerHTML+"`"})),o.subParser("makeMarkdown.emphasis",(function(e,t){"use strict";var r="";if(e.hasChildNodes()){r+="*";for(var n=e.childNodes,a=n.length,i=0;i",e.hasAttribute("width")&&e.hasAttribute("height")&&(t+=" ="+e.getAttribute("width")+"x"+e.getAttribute("height")),e.hasAttribute("title")&&(t+=' "'+e.getAttribute("title")+'"'),t+=")"),t})),o.subParser("makeMarkdown.links",(function(e,t){"use strict";var r="";if(e.hasChildNodes()&&e.hasAttribute("href")){var n=e.childNodes,a=n.length;r="[";for(var i=0;i",e.hasAttribute("title")&&(r+=' "'+e.getAttribute("title")+'"'),r+=")"}return r})),o.subParser("makeMarkdown.list",(function(e,t,r){"use strict";var n="";if(!e.hasChildNodes())return"";for(var a=e.childNodes,i=a.length,s=e.getAttribute("start")||1,c=0;c"+t.preList[r]+""})),o.subParser("makeMarkdown.strikethrough",(function(e,t){"use strict";var r="";if(e.hasChildNodes()){r+="~~";for(var n=e.childNodes,a=n.length,i=0;itr>th"),c=e.querySelectorAll("tbody>tr");for(r=0;rf&&(f=g)}for(r=0;r/g,"\\$1>")).replace(/^#/gm,"\\#")).replace(/^(\s*)([-=]{3,})(\s*)$/,"$1\\$2$3")).replace(/^( {0,3}\d+)\./gm,"$1\\.")).replace(/^( {0,3})([+-])/gm,"$1\\$2")).replace(/]([\s]*)\(/g,"\\]$1\\(")).replace(/^ {0,3}\[([\S \t]*?)]:/gm,"\\[$1]:")}));void 0===(n=function(){"use strict";return o}.call(t,r,t,e))||(e.exports=n)}).call(this)},NMb1:function(e,t){e.exports=window.wp.deprecated},SVSp:function(e,t){e.exports=window.wp.shortcode},Tqx9:function(e,t){e.exports=window.wp.primitives},UuzZ:function(e,t){e.exports=window.wp.autop},YLtl:function(e,t){e.exports=window.lodash},Zss7:function(e,t,r){var n;!function(a){var o=/^\s+/,i=/\s+$/,s=0,c=a.round,l=a.min,u=a.max,d=a.random;function p(e,t){if(t=t||{},(e=e||"")instanceof p)return e;if(!(this instanceof p))return new p(e,t);var r=function(e){var t={r:0,g:0,b:0},r=1,n=null,s=null,c=null,d=!1,p=!1;"string"==typeof e&&(e=function(e){e=e.replace(o,"").replace(i,"").toLowerCase();var t,r=!1;if(E[e])e=E[e],r=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};if(t=$.rgb.exec(e))return{r:t[1],g:t[2],b:t[3]};if(t=$.rgba.exec(e))return{r:t[1],g:t[2],b:t[3],a:t[4]};if(t=$.hsl.exec(e))return{h:t[1],s:t[2],l:t[3]};if(t=$.hsla.exec(e))return{h:t[1],s:t[2],l:t[3],a:t[4]};if(t=$.hsv.exec(e))return{h:t[1],s:t[2],v:t[3]};if(t=$.hsva.exec(e))return{h:t[1],s:t[2],v:t[3],a:t[4]};if(t=$.hex8.exec(e))return{r:M(t[1]),g:M(t[2]),b:M(t[3]),a:H(t[4]),format:r?"name":"hex8"};if(t=$.hex6.exec(e))return{r:M(t[1]),g:M(t[2]),b:M(t[3]),format:r?"name":"hex"};if(t=$.hex4.exec(e))return{r:M(t[1]+""+t[1]),g:M(t[2]+""+t[2]),b:M(t[3]+""+t[3]),a:H(t[4]+""+t[4]),format:r?"name":"hex8"};if(t=$.hex3.exec(e))return{r:M(t[1]+""+t[1]),g:M(t[2]+""+t[2]),b:M(t[3]+""+t[3]),format:r?"name":"hex"};return!1}(e));"object"==typeof e&&(q(e.r)&&q(e.g)&&q(e.b)?(h=e.r,f=e.g,g=e.b,t={r:255*N(h,255),g:255*N(f,255),b:255*N(g,255)},d=!0,p="%"===String(e.r).substr(-1)?"prgb":"rgb"):q(e.h)&&q(e.s)&&q(e.v)?(n=D(e.s),s=D(e.v),t=function(e,t,r){e=6*N(e,360),t=N(t,100),r=N(r,100);var n=a.floor(e),o=e-n,i=r*(1-t),s=r*(1-o*t),c=r*(1-(1-o)*t),l=n%6;return{r:255*[r,s,i,i,c,r][l],g:255*[c,r,r,s,i,i][l],b:255*[i,i,c,r,r,s][l]}}(e.h,n,s),d=!0,p="hsv"):q(e.h)&&q(e.s)&&q(e.l)&&(n=D(e.s),c=D(e.l),t=function(e,t,r){var n,a,o;function i(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}if(e=N(e,360),t=N(t,100),r=N(r,100),0===t)n=a=o=r;else{var s=r<.5?r*(1+t):r+t-r*t,c=2*r-s;n=i(c,s,e+1/3),a=i(c,s,e),o=i(c,s,e-1/3)}return{r:255*n,g:255*a,b:255*o}}(e.h,n,c),d=!0,p="hsl"),e.hasOwnProperty("a")&&(r=e.a));var h,f,g;return r=P(r),{ok:d,format:e.format||p,r:l(255,u(t.r,0)),g:l(255,u(t.g,0)),b:l(255,u(t.b,0)),a:r}}(e);this._originalInput=e,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=c(100*this._a)/100,this._format=t.format||r.format,this._gradientType=t.gradientType,this._r<1&&(this._r=c(this._r)),this._g<1&&(this._g=c(this._g)),this._b<1&&(this._b=c(this._b)),this._ok=r.ok,this._tc_id=s++}function h(e,t,r){e=N(e,255),t=N(t,255),r=N(r,255);var n,a,o=u(e,t,r),i=l(e,t,r),s=(o+i)/2;if(o==i)n=a=0;else{var c=o-i;switch(a=s>.5?c/(2-o-i):c/(o+i),o){case e:n=(t-r)/c+(t>1)+720)%360;--t;)n.h=(n.h+a)%360,o.push(p(n));return o}function A(e,t){t=t||6;for(var r=p(e).toHsv(),n=r.h,a=r.s,o=r.v,i=[],s=1/t;t--;)i.push(p({h:n,s:a,v:o})),o=(o+s)%1;return i}p.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,t,r,n=this.toRgb();return e=n.r/255,t=n.g/255,r=n.b/255,.2126*(e<=.03928?e/12.92:a.pow((e+.055)/1.055,2.4))+.7152*(t<=.03928?t/12.92:a.pow((t+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:a.pow((r+.055)/1.055,2.4))},setAlpha:function(e){return this._a=P(e),this._roundA=c(100*this._a)/100,this},toHsv:function(){var e=f(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=f(this._r,this._g,this._b),t=c(360*e.h),r=c(100*e.s),n=c(100*e.v);return 1==this._a?"hsv("+t+", "+r+"%, "+n+"%)":"hsva("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var e=h(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=h(this._r,this._g,this._b),t=c(360*e.h),r=c(100*e.s),n=c(100*e.l);return 1==this._a?"hsl("+t+", "+r+"%, "+n+"%)":"hsla("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(e){return g(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return function(e,t,r,n,a){var o=[z(c(e).toString(16)),z(c(t).toString(16)),z(c(r).toString(16)),z(I(n))];if(a&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join("")}(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:c(this._r),g:c(this._g),b:c(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+c(this._r)+", "+c(this._g)+", "+c(this._b)+")":"rgba("+c(this._r)+", "+c(this._g)+", "+c(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:c(100*N(this._r,255))+"%",g:c(100*N(this._g,255))+"%",b:c(100*N(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+c(100*N(this._r,255))+"%, "+c(100*N(this._g,255))+"%, "+c(100*N(this._b,255))+"%)":"rgba("+c(100*N(this._r,255))+"%, "+c(100*N(this._g,255))+"%, "+c(100*N(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(B[g(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t="#"+m(this._r,this._g,this._b,this._a),r=t,n=this._gradientType?"GradientType = 1, ":"";if(e){var a=p(e);r="#"+m(a._r,a._g,a._b,a._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+t+",endColorstr="+r+")"},toString:function(e){var t=!!e;e=e||this._format;var r=!1,n=this._a<1&&this._a>=0;return t||!n||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(r=this.toRgbString()),"prgb"===e&&(r=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(r=this.toHexString()),"hex3"===e&&(r=this.toHexString(!0)),"hex4"===e&&(r=this.toHex8String(!0)),"hex8"===e&&(r=this.toHex8String()),"name"===e&&(r=this.toName()),"hsl"===e&&(r=this.toHslString()),"hsv"===e&&(r=this.toHsvString()),r||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return p(this.toString())},_applyModification:function(e,t){var r=e.apply(null,[this].concat([].slice.call(t)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(y,arguments)},brighten:function(){return this._applyModification(w,arguments)},darken:function(){return this._applyModification(v,arguments)},desaturate:function(){return this._applyModification(b,arguments)},saturate:function(){return this._applyModification(_,arguments)},greyscale:function(){return this._applyModification(k,arguments)},spin:function(){return this._applyModification(j,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(S,arguments)},complement:function(){return this._applyCombination(T,arguments)},monochromatic:function(){return this._applyCombination(A,arguments)},splitcomplement:function(){return this._applyCombination(C,arguments)},triad:function(){return this._applyCombination(O,arguments)},tetrad:function(){return this._applyCombination(x,arguments)}},p.fromRatio=function(e,t){if("object"==typeof e){var r={};for(var n in e)e.hasOwnProperty(n)&&(r[n]="a"===n?e[n]:D(e[n]));e=r}return p(e,t)},p.equals=function(e,t){return!(!e||!t)&&p(e).toRgbString()==p(t).toRgbString()},p.random=function(){return p.fromRatio({r:d(),g:d(),b:d()})},p.mix=function(e,t,r){r=0===r?0:r||50;var n=p(e).toRgb(),a=p(t).toRgb(),o=r/100;return p({r:(a.r-n.r)*o+n.r,g:(a.g-n.g)*o+n.g,b:(a.b-n.b)*o+n.b,a:(a.a-n.a)*o+n.a})},p.readability=function(e,t){var r=p(e),n=p(t);return(a.max(r.getLuminance(),n.getLuminance())+.05)/(a.min(r.getLuminance(),n.getLuminance())+.05)},p.isReadable=function(e,t,r){var n,a,o=p.readability(e,t);switch(a=!1,(n=function(e){var t,r;t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA");"small"!==r&&"large"!==r&&(r="small");return{level:t,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":a=o>=4.5;break;case"AAlarge":a=o>=3;break;case"AAAsmall":a=o>=7}return a},p.mostReadable=function(e,t,r){var n,a,o,i,s=null,c=0;a=(r=r||{}).includeFallbackColors,o=r.level,i=r.size;for(var l=0;lc&&(c=n,s=p(t[l]));return p.isReadable(e,s,{level:o,size:i})||!a?s:(r.includeFallbackColors=!1,p.mostReadable(e,["#fff","#000"],r))};var E=p.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},B=p.hexNames=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[e[r]]=r);return t}(E);function P(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function N(e,t){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var r=function(e){return"string"==typeof e&&-1!=e.indexOf("%")}(e);return e=l(t,u(0,parseFloat(e))),r&&(e=parseInt(e*t,10)/100),a.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function L(e){return l(1,u(0,e))}function M(e){return parseInt(e,16)}function z(e){return 1==e.length?"0"+e:""+e}function D(e){return e<=1&&(e=100*e+"%"),e}function I(e){return a.round(255*parseFloat(e)).toString(16)}function H(e){return M(e)/255}var V,R,F,$=(R="[\\s|\\(]+("+(V="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+V+")[,|\\s]+("+V+")\\s*\\)?",F="[\\s|\\(]+("+V+")[,|\\s]+("+V+")[,|\\s]+("+V+")[,|\\s]+("+V+")\\s*\\)?",{CSS_UNIT:new RegExp(V),rgb:new RegExp("rgb"+R),rgba:new RegExp("rgba"+F),hsl:new RegExp("hsl"+R),hsla:new RegExp("hsla"+F),hsv:new RegExp("hsv"+R),hsva:new RegExp("hsva"+F),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function q(e){return!!$.CSS_UNIT.exec(e)}e.exports?e.exports=p:void 0===(n=function(){return p}.call(t,r,t,e))||(e.exports=n)}(Math)},g56x:function(e,t){e.exports=window.wp.hooks},l3Sj:function(e,t){e.exports=window.wp.i18n},ouCq:function(e,t){e.exports=window.wp.blockSerializationDefaultParser},pPDe:function(e,t,r){"use strict";var n,a;function o(e){return[e]}function i(){var e={clear:function(){e.head=null}};return e}function s(e,t,r){var n;if(e.length!==t.length)return!1;for(n=r;n{switch(r.type){case"REMOVE_BLOCK_TYPES":return-1!==r.names.indexOf(t)?null:t;case e:return r.name||null}return t}}const u=l("SET_DEFAULT_BLOCK_NAME"),d=l("SET_FREEFORM_FALLBACK_BLOCK_NAME"),p=l("SET_UNREGISTERED_FALLBACK_BLOCK_NAME"),f=l("SET_GROUPING_BLOCK_NAME");var h=Object(o.combineReducers)({unprocessedBlockTypes:function(e={},t){switch(t.type){case"ADD_UNPROCESSED_BLOCK_TYPE":return{...e,[t.blockType.name]:t.blockType};case"REMOVE_BLOCK_TYPES":return Object(i.omit)(e,t.names)}return e},blockTypes:function(e={},t){switch(t.type){case"ADD_BLOCK_TYPES":return{...e,...Object(i.keyBy)(t.blockTypes,"name")};case"REMOVE_BLOCK_TYPES":return Object(i.omit)(e,t.names)}return e},blockStyles:function(e={},t){switch(t.type){case"ADD_BLOCK_TYPES":return{...e,...Object(i.mapValues)(Object(i.keyBy)(t.blockTypes,"name"),t=>Object(i.uniqBy)([...Object(i.get)(t,["styles"],[]).map(e=>({...e,source:"block"})),...Object(i.get)(e,[t.name],[]).filter(({source:e})=>"block"!==e)],e=>e.name))};case"ADD_BLOCK_STYLES":return{...e,[t.blockName]:Object(i.uniqBy)([...Object(i.get)(e,[t.blockName],[]),...t.styles],e=>e.name)};case"REMOVE_BLOCK_STYLES":return{...e,[t.blockName]:Object(i.filter)(Object(i.get)(e,[t.blockName],[]),e=>-1===t.styleNames.indexOf(e.name))}}return e},blockVariations:function(e={},t){switch(t.type){case"ADD_BLOCK_TYPES":return{...e,...Object(i.mapValues)(Object(i.keyBy)(t.blockTypes,"name"),t=>Object(i.uniqBy)([...Object(i.get)(t,["variations"],[]).map(e=>({...e,source:"block"})),...Object(i.get)(e,[t.name],[]).filter(({source:e})=>"block"!==e)],e=>e.name))};case"ADD_BLOCK_VARIATIONS":return{...e,[t.blockName]:Object(i.uniqBy)([...Object(i.get)(e,[t.blockName],[]),...t.variations],e=>e.name)};case"REMOVE_BLOCK_VARIATIONS":return{...e,[t.blockName]:Object(i.filter)(Object(i.get)(e,[t.blockName],[]),e=>-1===t.variationNames.indexOf(e.name))}}return e},defaultBlockName:u,freeformFallbackBlockName:d,unregisteredFallbackBlockName:p,groupingBlockName:f,categories:function(e=c,t){switch(t.type){case"SET_CATEGORIES":return t.categories||[];case"UPDATE_CATEGORY":if(!t.category||Object(i.isEmpty)(t.category))return e;if(Object(i.find)(e,["slug",t.slug]))return Object(i.map)(e,e=>e.slug===t.slug?{...e,...t.category}:e)}return e},collections:function(e={},t){switch(t.type){case"ADD_BLOCK_COLLECTION":return{...e,[t.namespace]:{title:t.title,icon:t.icon}};case"REMOVE_BLOCK_COLLECTION":return Object(i.omit)(e,t.namespace)}return e}}),m=r("pPDe");const g=(e,t)=>"string"==typeof t?k(e,t):t;function b(e){return e.unprocessedBlockTypes}const _=Object(m.a)(e=>Object.values(e.blockTypes),e=>[e.blockTypes]);function k(e,t){return e.blockTypes[t]}function y(e,t){return e.blockStyles[t]}const w=Object(m.a)((e,t,r)=>{const n=e.blockVariations[t];return n&&r?n.filter(e=>(e.scope||["block","inserter"]).includes(r)):n},(e,t)=>[e.blockVariations[t]]);function v(e,t,r,n){const a=w(e,t,n);return null==a?void 0:a.find(n=>{var a;if(Array.isArray(n.isActive)){const a=k(e,t),o=Object.keys((null==a?void 0:a.attributes)||{}),i=n.isActive.filter(e=>o.includes(e));return 0!==i.length&&i.every(e=>r[e]===n.attributes[e])}return null===(a=n.isActive)||void 0===a?void 0:a.call(n,r,n.attributes)})}function j(e,t,r){const n=w(e,t,r);return Object(i.findLast)(n,"isDefault")||Object(i.first)(n)}function T(e){return e.categories}function O(e){return e.collections}function C(e){return e.defaultBlockName}function x(e){return e.freeformFallbackBlockName}function S(e){return e.unregisteredFallbackBlockName}function E(e){return e.groupingBlockName}const B=Object(m.a)((e,t)=>Object(i.map)(Object(i.filter)(e.blockTypes,e=>Object(i.includes)(e.parent,t)),({name:e})=>e),e=>[e.blockTypes]),N=(e,t,r,n)=>{const a=g(e,t);return null!=a&&a.supports?Object(i.get)(a.supports,r,n):n};function A(e,t,r,n){return!!N(e,t,r,n)}function P(e,t,r){const n=g(e,t),a=Object(i.flow)([i.deburr,e=>e.toLowerCase(),e=>e.trim()]),o=a(r),s=Object(i.flow)([a,e=>Object(i.includes)(e,o)]);return s(n.title)||Object(i.some)(n.keywords,s)||s(n.category)}const M=(e,t)=>B(e,t).length>0,L=(e,t)=>Object(i.some)(B(e,t),t=>A(e,t,"inserter",!0));var D=r("g56x");var z=r("fHnH"),I=r("abaT"),H=r("7bKH"),V=r("GRId"),R=r("1CF3");const $=["attributes","supports","save","migrate","isEligible","apiVersion"],F={"--wp--style--color--link":{value:["color","link"],support:["color","link"]},background:{value:["color","gradient"],support:["color","gradients"]},backgroundColor:{value:["color","background"],support:["color","background"],requiresOptOut:!0},borderColor:{value:["border","color"],support:["__experimentalBorder","color"]},borderRadius:{value:["border","radius"],support:["__experimentalBorder","radius"],properties:{borderTopLeftRadius:"topLeft",borderTopRightRadius:"topRight",borderBottomLeftRadius:"bottomLeft",borderBottomRightRadius:"bottomRight"}},borderStyle:{value:["border","style"],support:["__experimentalBorder","style"]},borderWidth:{value:["border","width"],support:["__experimentalBorder","width"]},color:{value:["color","text"],support:["color","text"],requiresOptOut:!0},linkColor:{value:["elements","link","color","text"],support:["color","link"]},fontFamily:{value:["typography","fontFamily"],support:["typography","__experimentalFontFamily"]},fontSize:{value:["typography","fontSize"],support:["typography","fontSize"]},fontStyle:{value:["typography","fontStyle"],support:["typography","__experimentalFontStyle"]},fontWeight:{value:["typography","fontWeight"],support:["typography","__experimentalFontWeight"]},lineHeight:{value:["typography","lineHeight"],support:["typography","lineHeight"]},margin:{value:["spacing","margin"],support:["spacing","margin"],properties:{marginTop:"top",marginRight:"right",marginBottom:"bottom",marginLeft:"left"}},padding:{value:["spacing","padding"],support:["spacing","padding"],properties:{paddingTop:"top",paddingRight:"right",paddingBottom:"bottom",paddingLeft:"left"}},textDecoration:{value:["typography","textDecoration"],support:["typography","__experimentalTextDecoration"]},textTransform:{value:["typography","textTransform"],support:["typography","__experimentalTextTransform"]},letterSpacing:{value:["typography","letterSpacing"],support:["typography","__experimentalLetterSpacing"]},"--wp--style--block-gap":{value:["spacing","blockGap"],support:["spacing","blockGap"]}},q={link:"a",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6"},U={"color.duotone":!0,"color.gradients":!0,"color.palette":!0,"typography.fontFamilies":!0,"typography.fontSizes":!0},G={title:"block title",description:"block description",keywords:["block keyword"],styles:[{label:"block style label"}],variations:[{title:"block variation title",description:"block variation description",keywords:["block variation keyword"]}]},K={};function W(e){for(const t of Object.keys(e))K[t]?void 0===K[t].apiVersion&&e[t].apiVersion&&(K[t].apiVersion=e[t].apiVersion):K[t]=Object(i.mapKeys)(Object(i.pickBy)(e[t],e=>!Object(i.isNil)(e)),(e,t)=>Object(i.camelCase)(t))}function Y({textdomain:e,...t}){const r=Object(i.pick)(t,["apiVersion","title","category","parent","icon","description","keywords","attributes","providesContext","usesContext","supports","styles","example","variations"]);return e&&Object.keys(G).forEach(t=>{r[t]&&(r[t]=function e(t,r,n){if(Object(i.isString)(t)&&Object(i.isString)(r))return Object(s._x)(r,t,n);if(Object(i.isArray)(t)&&!Object(i.isEmpty)(t)&&Object(i.isArray)(r))return r.map(r=>e(t[0],r,n));if(Object(i.isObject)(t)&&!Object(i.isEmpty)(t)&&Object(i.isObject)(r))return Object.keys(r).reduce((a,o)=>t[o]?(a[o]=e(t[o],r[o],n),a):(a[o]=r[o],a),{});return r}(G[t],r[t],e))}),r}function Q(e,t){const r=Object(i.isObject)(e)?e.name:e;if("string"!=typeof r)return void console.error("Block names must be strings.");if(!/^[a-z][a-z0-9-]*\/[a-z][a-z0-9-]*$/.test(r))return void console.error("Block names must contain a namespace prefix, include only lowercase alphanumeric characters or dashes, and start with a letter. Example: my-plugin/my-custom-block");if(Object(o.select)(lt).getBlockType(r))return void console.error('Block "'+r+'" is already registered.');Object(i.isObject)(e)&&W({[r]:Y(e)});const n={name:r,icon:"block-default",keywords:[],attributes:{},providesContext:{},usesContext:[],supports:{},styles:[],variations:[],save:()=>null,...null==K?void 0:K[r],...t};return Object(o.dispatch)(lt).__experimentalRegisterBlockType(n),Object(o.select)(lt).getBlockType(r)}function Z(e,{title:t,icon:r}){Object(o.dispatch)(lt).addBlockCollection(e,t,r)}function X(e){const t=Object(o.select)(lt).getBlockType(e);if(t)return Object(o.dispatch)(lt).removeBlockTypes(e),t;console.error('Block "'+e+'" is not registered.')}function J(e){Object(o.dispatch)(lt).setFreeformFallbackBlockName(e)}function ee(){return Object(o.select)(lt).getFreeformFallbackBlockName()}function te(){return Object(o.select)(lt).getGroupingBlockName()}function re(e){Object(o.dispatch)(lt).setUnregisteredFallbackBlockName(e)}function ne(){return Object(o.select)(lt).getUnregisteredFallbackBlockName()}function ae(e){Object(o.dispatch)(lt).setDefaultBlockName(e)}function oe(e){Object(o.dispatch)(lt).setGroupingBlockName(e)}function ie(){return Object(o.select)(lt).getDefaultBlockName()}function se(e){var t;return null===(t=Object(o.select)(lt))||void 0===t?void 0:t.getBlockType(e)}function ce(){return Object(o.select)(lt).getBlockTypes()}function le(e,t,r){return Object(o.select)(lt).getBlockSupport(e,t,r)}function ue(e,t,r){return Object(o.select)(lt).hasBlockSupport(e,t,r)}function de(e){return"core/block"===(null==e?void 0:e.name)}function pe(e){return"core/template-part"===e.name}const fe=e=>Object(o.select)(lt).getChildBlockNames(e),he=e=>Object(o.select)(lt).hasChildBlocks(e),me=e=>Object(o.select)(lt).hasChildBlocksWithInserterSupport(e),ge=(e,t)=>{Object(o.dispatch)(lt).addBlockStyles(e,t)},be=(e,t)=>{Object(o.dispatch)(lt).removeBlockStyles(e,t)},_e=(e,t)=>Object(o.select)(lt).getBlockVariations(e,t),ke=(e,t)=>{Object(o.dispatch)(lt).addBlockVariations(e,t)},ye=(e,t)=>{Object(o.dispatch)(lt).removeBlockVariations(e,t)};var we=r("7Cbv");function ve(e,t={},r=[]){const n=Re(e,t);return{clientId:Object(we.a)(),name:e,isValid:!0,attributes:n,innerBlocks:r}}function je(e=[]){return e.map(e=>{const t=Array.isArray(e)?e:[e.name,e.attributes,e.innerBlocks],[r,n,a=[]]=t;return ve(r,n,je(a))})}function Te(e,t={},r){const n=Object(we.a)(),a=Re(e.name,{...e.attributes,...t});return{...e,clientId:n,attributes:a,innerBlocks:r||e.innerBlocks.map(e=>Te(e))}}function Oe(e,t={},r){const n=Object(we.a)();return{...e,clientId:n,attributes:{...e.attributes,...t},innerBlocks:r||e.innerBlocks.map(e=>Oe(e))}}const Ce=(e,t,r)=>{if(Object(i.isEmpty)(r))return!1;const n=r.length>1,a=Object(i.first)(r).name;if(!(xe(e)||!n||e.isMultiBlock))return!1;if(!xe(e)&&!Object(i.every)(r,{name:a}))return!1;if(!("block"===e.type))return!1;const o=Object(i.first)(r);if(!("from"!==t||-1!==e.blocks.indexOf(o.name)||xe(e)))return!1;if(!n&&Se(o.name)&&Se(e.blockName))return!1;if(Object(i.isFunction)(e.isMatch)){const t=e.isMultiBlock?r.map(e=>e.attributes):o.attributes,n=e.isMultiBlock?r:o;if(!e.isMatch(t,n))return!1}return!(e.usingMobileTransformations&&xe(e)&&!Se(o.name))},xe=e=>e&&"block"===e.type&&Array.isArray(e.blocks)&&e.blocks.includes("*"),Se=e=>e===te();function Ee(e){if(Object(i.isEmpty)(e))return[];const t=(e=>{if(Object(i.isEmpty)(e))return[];const t=ce();return Object(i.filter)(t,t=>!!Be(Ne("from",t.name),t=>Ce(t,"from",e)))})(e),r=(e=>{if(Object(i.isEmpty)(e))return[];const t=se(Object(i.first)(e).name),r=t?Ne("to",t.name):[],n=Object(i.filter)(r,t=>t&&Ce(t,"to",e));return Object(i.flatMap)(n,e=>e.blocks).map(e=>se(e))})(e);return Object(i.uniq)([...t,...r])}function Be(e,t){const r=Object(D.createHooks)();for(let n=0;ne||a,a.priority)}return r.applyFilters("transform",null)}function Ne(e,t){if(void 0===t)return Object(i.flatMap)(ce(),({name:t})=>Ne(e,t));const r=Ie(t),{name:n,transforms:a}=r||{};if(!a||!Array.isArray(a[e]))return[];const o=a.supportedMobileTransforms&&Array.isArray(a.supportedMobileTransforms);return(o?Object(i.filter)(a[e],e=>"raw"===e.type||!(!e.blocks||!e.blocks.length)&&(!!xe(e)||Object(i.every)(e.blocks,e=>a.supportedMobileTransforms.includes(e)))):a[e]).map(e=>({...e,blockName:n,usingMobileTransformations:o}))}function Ae(e,t){const r=Object(i.castArray)(e),n=r.length>1,a=r[0],o=a.name,s=Ne("from",t),c=Be(Ne("to",o),e=>"block"===e.type&&(xe(e)||-1!==e.blocks.indexOf(t))&&(!n||e.isMultiBlock))||Be(s,e=>"block"===e.type&&(xe(e)||-1!==e.blocks.indexOf(o))&&(!n||e.isMultiBlock));if(!c)return null;let l;if(l=c.isMultiBlock?Object(i.has)(c,"__experimentalConvert")?c.__experimentalConvert(r):c.transform(r.map(e=>e.attributes),r.map(e=>e.innerBlocks)):Object(i.has)(c,"__experimentalConvert")?c.__experimentalConvert(a):c.transform(a.attributes,a.innerBlocks),!Object(i.isObjectLike)(l))return null;if(l=Object(i.castArray)(l),l.some(e=>!se(e.name)))return null;if(!Object(i.some)(l,e=>e.name===t))return null;return l.map(t=>Object(D.applyFilters)("blocks.switchToBlockType.transformedBlock",t,e))}const Pe=(e,t)=>ve(e,t.attributes,Object(i.map)(t.innerBlocks,e=>Pe(e.name,e)));Object(z.b)([I.a,H.a]);const Me=["#191e23","#f8f9f9"];function Le(e){const t=ie();if(e.name!==t)return!1;Le.block&&Le.block.name===t||(Le.block=ve(t));const r=Le.block,n=se(t);return Object(i.every)(null==n?void 0:n.attributes,(t,n)=>r.attributes[n]===e.attributes[n])}function De(e){return!!e&&(Object(i.isString)(e)||Object(V.isValidElement)(e)||Object(i.isFunction)(e)||e instanceof V.Component)}function ze(e){if(De(e=e||"block-default"))return{src:e};if(Object(i.has)(e,["background"])){const t=Object(z.a)(e.background);return{...e,foreground:e.foreground?e.foreground:Object(i.maxBy)(Me,e=>t.contrast(e)),shadowColor:t.alpha(.3).toRgbString()}}return e}function Ie(e){return Object(i.isString)(e)?se(e):e}function He(e,t,r="visual"){const{__experimentalLabel:n,title:a}=e,o=n&&n(t,{context:r});return o?Object(R.__unstableStripHTML)(o):a}function Ve(e,t,r,n="vertical"){const a=null==e?void 0:e.title,o=e?He(e,t,"accessibility"):"",i=void 0!==r,c=o&&o!==a;return i&&"vertical"===n?c?Object(s.sprintf)(Object(s.__)("%1$s Block. Row %2$d. %3$s"),a,r,o):Object(s.sprintf)(Object(s.__)("%1$s Block. Row %2$d"),a,r):i&&"horizontal"===n?c?Object(s.sprintf)(Object(s.__)("%1$s Block. Column %2$d. %3$s"),a,r,o):Object(s.sprintf)(Object(s.__)("%1$s Block. Column %2$d"),a,r):c?Object(s.sprintf)(Object(s.__)("%1$s Block. %2$s"),a,o):Object(s.sprintf)(Object(s.__)("%s Block"),a)}function Re(e,t){const r=se(e);if(void 0===r)throw new Error(`Block type '${e}' is not registered.`);return Object(i.reduce)(r.attributes,(e,r,n)=>{const a=t[n];return void 0!==a?e[n]=a:r.hasOwnProperty("default")&&(e[n]=r.default),-1!==["node","children"].indexOf(r.source)&&("string"==typeof e[n]?e[n]=[e[n]]:Array.isArray(e[n])||(e[n]=[])),e},{})}function $e(e,t){var r;const n=null===(r=se(e))||void 0===r?void 0:r.attributes;if(!n)return[];const a=Object.keys(n);return t?a.filter(e=>{var r;return(null===(r=n[e])||void 0===r?void 0:r.__experimentalRole)===t}):a}const{error:Fe,warn:qe}=window.console,Ue={common:"text",formatting:"text",layout:"design"};function Ge(e){const{name:t}=e,r=Object(D.applyFilters)("blocks.registerBlockType",{...e},t);if(r.deprecated&&(r.deprecated=r.deprecated.map(r=>Object(i.pick)(Object(D.applyFilters)("blocks.registerBlockType",{...Object(i.omit)(e,$),...r},t),$))),Object(i.isPlainObject)(r))if(Object(i.isFunction)(r.save))if(!("edit"in r)||Object(i.isFunction)(r.edit))if(Ue.hasOwnProperty(r.category)&&(r.category=Ue[r.category]),"category"in r&&!Object(i.some)(Object(o.select)("core/blocks").getCategories(),{slug:r.category})&&(qe('The block "'+t+'" is registered with an invalid category "'+r.category+'".'),delete r.category),"title"in r&&""!==r.title)if("string"==typeof r.title){if(r.icon=ze(r.icon),De(r.icon.src))return r;Fe("The icon passed is invalid. The icon should be a string, an element, a function, or an object following the specifications documented in https://developer.wordpress.org/block-editor/developers/block-api/block-registration/#icon-optional")}else Fe("Block titles must be strings.");else Fe('The block "'+t+'" must have a title.');else Fe('The "edit" property must be a valid function.');else Fe('The "save" property must be a valid function.');else Fe("Block settings must be a valid object.")}function Ke(e){return{type:"ADD_BLOCK_TYPES",blockTypes:Object(i.castArray)(e)}}function*We(e){yield{type:"ADD_UNPROCESSED_BLOCK_TYPE",blockType:e};const t=Ge(e);t&&(yield Ke(t))}function*Ye(){const e=Object(o.select)("core/blocks").__experimentalGetUnprocessedBlockTypes(),t=Object.keys(e).reduce((t,r)=>{const n=Ge(e[r]);return n&&t.push(n),t},[]);t.length&&(yield Ke(t))}function Qe(e){return{type:"REMOVE_BLOCK_TYPES",names:Object(i.castArray)(e)}}function Ze(e,t){return{type:"ADD_BLOCK_STYLES",styles:Object(i.castArray)(t),blockName:e}}function Xe(e,t){return{type:"REMOVE_BLOCK_STYLES",styleNames:Object(i.castArray)(t),blockName:e}}function Je(e,t){return{type:"ADD_BLOCK_VARIATIONS",variations:Object(i.castArray)(t),blockName:e}}function et(e,t){return{type:"REMOVE_BLOCK_VARIATIONS",variationNames:Object(i.castArray)(t),blockName:e}}function tt(e){return{type:"SET_DEFAULT_BLOCK_NAME",name:e}}function rt(e){return{type:"SET_FREEFORM_FALLBACK_BLOCK_NAME",name:e}}function nt(e){return{type:"SET_UNREGISTERED_FALLBACK_BLOCK_NAME",name:e}}function at(e){return{type:"SET_GROUPING_BLOCK_NAME",name:e}}function ot(e){return{type:"SET_CATEGORIES",categories:e}}function it(e,t){return{type:"UPDATE_CATEGORY",slug:e,category:t}}function st(e,t,r){return{type:"ADD_BLOCK_COLLECTION",namespace:e,title:t,icon:r}}function ct(e){return{type:"REMOVE_BLOCK_COLLECTION",namespace:e}}const lt=Object(o.createReduxStore)("core/blocks",{reducer:h,selectors:n,actions:a});Object(o.register)(lt);var ut=r("ouCq"),dt=r("UuzZ"),pt=r("rl8x"),ft=r.n(pt);function ht(e){const t="wp-block-"+e.replace(/\//,"-").replace(/^core-/,"");return Object(D.applyFilters)("blocks.getBlockDefaultClassName",t,e)}function mt(e){const t="editor-block-list-item-"+e.replace(/\//,"-").replace(/^core-/,"");return Object(D.applyFilters)("blocks.getBlockMenuDefaultClassName",t,e)}const gt={},bt={};function _t(e={}){const{blockType:t,attributes:r}=gt;return Object(D.applyFilters)("blocks.getSaveContent.extraProps",{...e},t,r)}function kt(e={}){const{innerBlocks:t}=bt,r=Ct(t,{isInnerBlocks:!0});return{...e,children:Object(V.createElement)(V.RawHTML,null,r)}}function yt(e,t,r=[]){const n=Ie(e);let{save:a}=n;if(a.prototype instanceof V.Component){const e=new a({attributes:t});a=e.render.bind(e)}gt.blockType=n,gt.attributes=t,bt.innerBlocks=r;let o=a({attributes:t,innerBlocks:r});if(Object(i.isObject)(o)&&Object(D.hasFilter)("blocks.getSaveContent.extraProps")&&!(n.apiVersion>1)){const e=Object(D.applyFilters)("blocks.getSaveContent.extraProps",{...o.props},n,t);ft()(e,o.props)||(o=Object(V.cloneElement)(o,e))}return Object(D.applyFilters)("blocks.getSaveElement",o,n,t)}function wt(e,t,r){const n=Ie(e);return Object(V.renderToString)(yt(n,t,r))}function vt(e){let t=e.originalContent;if(e.isValid||e.innerBlocks.length)try{t=wt(e.name,e.attributes,e.innerBlocks)}catch(e){}return t}function jt(e,t,r){const n=Object(i.isEmpty)(t)?"":function(e){return JSON.stringify(e).replace(/--/g,"\\u002d\\u002d").replace(//g,"\\u003e").replace(/&/g,"\\u0026").replace(/\\"/g,"\\u0022")}(t)+" ",a=Object(i.startsWith)(e,"core/")?e.slice(5):e;return r?`\x3c!-- wp:${a} ${n}--\x3e\n`+r+`\n\x3c!-- /wp:${a} --\x3e`:`\x3c!-- wp:${a} ${n}/--\x3e`}function Tt(e,{isInnerBlocks:t=!1}={}){const r=e.name,n=vt(e);if(r===ne()||!t&&r===ee())return n;return jt(r,function(e,t){return Object(i.reduce)(e.attributes,(e,r,n)=>{const a=t[n];return void 0===a||void 0!==r.source||"default"in r&&r.default===a||(e[n]=a),e},{})}(se(r),e.attributes),n)}function Ot(e){1===e.length&&Le(e[0])&&(e=[]);let t=Ct(e);return 1===e.length&&e[0].name===ee()&&(t=Object(dt.removep)(t)),t}function Ct(e,t){return Object(i.castArray)(e).map(e=>Tt(e,t)).join("\n\n")}var xt=/^#[xX]([A-Fa-f0-9]+)$/,St=/^#([0-9]+)$/,Et=/^([A-Za-z0-9]+)$/,Bt=(function(){function e(e){this.named=e}e.prototype.parse=function(e){if(e){var t=e.match(xt);return t?String.fromCharCode(parseInt(t[1],16)):(t=e.match(St))?String.fromCharCode(parseInt(t[1],10)):(t=e.match(Et))?this.named[t[1]]:void 0}}}(),/[\t\n\f ]/),Nt=/[A-Za-z]/,At=/\r\n?/g;function Pt(e){return Bt.test(e)}function Mt(e){return Nt.test(e)}var Lt=function(){function e(e,t,r){void 0===r&&(r="precompile"),this.delegate=e,this.entityParser=t,this.mode=r,this.state="beforeData",this.line=-1,this.column=-1,this.input="",this.index=-1,this.tagNameBuffer="",this.states={beforeData:function(){var e=this.peek();if("<"!==e||this.isIgnoredEndTag()){if("precompile"===this.mode&&"\n"===e){var t=this.tagNameBuffer.toLowerCase();"pre"!==t&&"textarea"!==t||this.consume()}this.transitionTo("data"),this.delegate.beginData()}else this.transitionTo("tagOpen"),this.markTagStart(),this.consume()},data:function(){var e=this.peek(),t=this.tagNameBuffer;"<"!==e||this.isIgnoredEndTag()?"&"===e&&"script"!==t&&"style"!==t?(this.consume(),this.delegate.appendToData(this.consumeCharRef()||"&")):(this.consume(),this.delegate.appendToData(e)):(this.delegate.finishData(),this.transitionTo("tagOpen"),this.markTagStart(),this.consume())},tagOpen:function(){var e=this.consume();"!"===e?this.transitionTo("markupDeclarationOpen"):"/"===e?this.transitionTo("endTagOpen"):("@"===e||":"===e||Mt(e))&&(this.transitionTo("tagName"),this.tagNameBuffer="",this.delegate.beginStartTag(),this.appendToTagName(e))},markupDeclarationOpen:function(){var e=this.consume();"-"===e&&"-"===this.peek()?(this.consume(),this.transitionTo("commentStart"),this.delegate.beginComment()):"DOCTYPE"===e.toUpperCase()+this.input.substring(this.index,this.index+6).toUpperCase()&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.transitionTo("doctype"),this.delegate.beginDoctype&&this.delegate.beginDoctype())},doctype:function(){Pt(this.consume())&&this.transitionTo("beforeDoctypeName")},beforeDoctypeName:function(){var e=this.consume();Pt(e)||(this.transitionTo("doctypeName"),this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(e.toLowerCase()))},doctypeName:function(){var e=this.consume();Pt(e)?this.transitionTo("afterDoctypeName"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(e.toLowerCase())},afterDoctypeName:function(){var e=this.consume();if(!Pt(e))if(">"===e)this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData");else{var t=e.toUpperCase()+this.input.substring(this.index,this.index+5).toUpperCase(),r="PUBLIC"===t.toUpperCase(),n="SYSTEM"===t.toUpperCase();(r||n)&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume()),r?this.transitionTo("afterDoctypePublicKeyword"):n&&this.transitionTo("afterDoctypeSystemKeyword")}},afterDoctypePublicKeyword:function(){var e=this.peek();Pt(e)?(this.transitionTo("beforeDoctypePublicIdentifier"),this.consume()):'"'===e?(this.transitionTo("doctypePublicIdentifierDoubleQuoted"),this.consume()):"'"===e?(this.transitionTo("doctypePublicIdentifierSingleQuoted"),this.consume()):">"===e&&(this.consume(),this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},doctypePublicIdentifierDoubleQuoted:function(){var e=this.consume();'"'===e?this.transitionTo("afterDoctypePublicIdentifier"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(e)},doctypePublicIdentifierSingleQuoted:function(){var e=this.consume();"'"===e?this.transitionTo("afterDoctypePublicIdentifier"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(e)},afterDoctypePublicIdentifier:function(){var e=this.consume();Pt(e)?this.transitionTo("betweenDoctypePublicAndSystemIdentifiers"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):'"'===e?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):"'"===e&&this.transitionTo("doctypeSystemIdentifierSingleQuoted")},betweenDoctypePublicAndSystemIdentifiers:function(){var e=this.consume();Pt(e)||(">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):'"'===e?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):"'"===e&&this.transitionTo("doctypeSystemIdentifierSingleQuoted"))},doctypeSystemIdentifierDoubleQuoted:function(){var e=this.consume();'"'===e?this.transitionTo("afterDoctypeSystemIdentifier"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(e)},doctypeSystemIdentifierSingleQuoted:function(){var e=this.consume();"'"===e?this.transitionTo("afterDoctypeSystemIdentifier"):">"===e?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(e)},afterDoctypeSystemIdentifier:function(){var e=this.consume();Pt(e)||">"===e&&(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},commentStart:function(){var e=this.consume();"-"===e?this.transitionTo("commentStartDash"):">"===e?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData(e),this.transitionTo("comment"))},commentStartDash:function(){var e=this.consume();"-"===e?this.transitionTo("commentEnd"):">"===e?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("-"),this.transitionTo("comment"))},comment:function(){var e=this.consume();"-"===e?this.transitionTo("commentEndDash"):this.delegate.appendToCommentData(e)},commentEndDash:function(){var e=this.consume();"-"===e?this.transitionTo("commentEnd"):(this.delegate.appendToCommentData("-"+e),this.transitionTo("comment"))},commentEnd:function(){var e=this.consume();">"===e?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("--"+e),this.transitionTo("comment"))},tagName:function(){var e=this.consume();Pt(e)?this.transitionTo("beforeAttributeName"):"/"===e?this.transitionTo("selfClosingStartTag"):">"===e?(this.delegate.finishTag(),this.transitionTo("beforeData")):this.appendToTagName(e)},endTagName:function(){var e=this.consume();Pt(e)?(this.transitionTo("beforeAttributeName"),this.tagNameBuffer=""):"/"===e?(this.transitionTo("selfClosingStartTag"),this.tagNameBuffer=""):">"===e?(this.delegate.finishTag(),this.transitionTo("beforeData"),this.tagNameBuffer=""):this.appendToTagName(e)},beforeAttributeName:function(){var e=this.peek();Pt(e)?this.consume():"/"===e?(this.transitionTo("selfClosingStartTag"),this.consume()):">"===e?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):"="===e?(this.delegate.reportSyntaxError("attribute name cannot start with equals sign"),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(e)):(this.transitionTo("attributeName"),this.delegate.beginAttribute())},attributeName:function(){var e=this.peek();Pt(e)?(this.transitionTo("afterAttributeName"),this.consume()):"/"===e?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):"="===e?(this.transitionTo("beforeAttributeValue"),this.consume()):">"===e?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):'"'===e||"'"===e||"<"===e?(this.delegate.reportSyntaxError(e+" is not a valid character within attribute names"),this.consume(),this.delegate.appendToAttributeName(e)):(this.consume(),this.delegate.appendToAttributeName(e))},afterAttributeName:function(){var e=this.peek();Pt(e)?this.consume():"/"===e?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):"="===e?(this.consume(),this.transitionTo("beforeAttributeValue")):">"===e?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(e))},beforeAttributeValue:function(){var e=this.peek();Pt(e)?this.consume():'"'===e?(this.transitionTo("attributeValueDoubleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):"'"===e?(this.transitionTo("attributeValueSingleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):">"===e?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.transitionTo("attributeValueUnquoted"),this.delegate.beginAttributeValue(!1),this.consume(),this.delegate.appendToAttributeValue(e))},attributeValueDoubleQuoted:function(){var e=this.consume();'"'===e?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):"&"===e?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(e)},attributeValueSingleQuoted:function(){var e=this.consume();"'"===e?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):"&"===e?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(e)},attributeValueUnquoted:function(){var e=this.peek();Pt(e)?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("beforeAttributeName")):"/"===e?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):"&"===e?(this.consume(),this.delegate.appendToAttributeValue(this.consumeCharRef()||"&")):">"===e?(this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.consume(),this.delegate.appendToAttributeValue(e))},afterAttributeValueQuoted:function(){var e=this.peek();Pt(e)?(this.consume(),this.transitionTo("beforeAttributeName")):"/"===e?(this.consume(),this.transitionTo("selfClosingStartTag")):">"===e?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},selfClosingStartTag:function(){">"===this.peek()?(this.consume(),this.delegate.markTagAsSelfClosing(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},endTagOpen:function(){var e=this.consume();("@"===e||":"===e||Mt(e))&&(this.transitionTo("endTagName"),this.tagNameBuffer="",this.delegate.beginEndTag(),this.appendToTagName(e))}},this.reset()}return e.prototype.reset=function(){this.transitionTo("beforeData"),this.input="",this.tagNameBuffer="",this.index=0,this.line=1,this.column=0,this.delegate.reset()},e.prototype.transitionTo=function(e){this.state=e},e.prototype.tokenize=function(e){this.reset(),this.tokenizePart(e),this.tokenizeEOF()},e.prototype.tokenizePart=function(e){for(this.input+=function(e){return e.replace(At,"\n")}(e);this.index"!==this.input.substring(this.index,this.index+8)||"style"===e&&""!==this.input.substring(this.index,this.index+8)||"script"===e&&"<\/script>"!==this.input.substring(this.index,this.index+9)},e}(),Dt=function(){function e(e,t){void 0===t&&(t={}),this.options=t,this.token=null,this.startLine=1,this.startColumn=0,this.tokens=[],this.tokenizer=new Lt(this,e,t.mode),this._currentAttribute=void 0}return e.prototype.tokenize=function(e){return this.tokens=[],this.tokenizer.tokenize(e),this.tokens},e.prototype.tokenizePart=function(e){return this.tokens=[],this.tokenizer.tokenizePart(e),this.tokens},e.prototype.tokenizeEOF=function(){return this.tokens=[],this.tokenizer.tokenizeEOF(),this.tokens[0]},e.prototype.reset=function(){this.token=null,this.startLine=1,this.startColumn=0},e.prototype.current=function(){var e=this.token;if(null===e)throw new Error("token was unexpectedly null");if(0===arguments.length)return e;for(var t=0;te("Block validation: "+t,...r)}return{error:e(console.error),warning:e(console.warn),getItems:()=>[]}}const Ht=/[\t\n\r\v\f ]+/g,Vt=/^[\t\n\r\v\f ]*$/,Rt=/^url\s*\(['"\s]*(.*?)['"\s]*\)$/,$t=["allowfullscreen","allowpaymentrequest","allowusermedia","async","autofocus","autoplay","checked","controls","default","defer","disabled","download","formnovalidate","hidden","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected","typemustmatch"],Ft=[...$t,"autocapitalize","autocomplete","charset","contenteditable","crossorigin","decoding","dir","draggable","enctype","formenctype","formmethod","http-equiv","inputmode","kind","method","preload","scope","shape","spellcheck","translate","type","wrap"],qt=[i.identity,function(e){return Yt(e).join(" ")}],Ut=/^[\da-z]+$/i,Gt=/^#\d+$/,Kt=/^#x[\da-f]+$/i;class Wt{parse(e){if(t=e,Ut.test(t)||Gt.test(t)||Kt.test(t))return Object(zt.decodeEntities)("&"+e+";");var t}}function Yt(e){return e.trim().split(Ht)}function Qt(e){return e.attributes.filter(e=>{const[t,r]=e;return r||0===t.indexOf("data-")||Object(i.includes)(Ft,t)})}function Zt(e,t,r=It()){let n=e.chars,a=t.chars;for(let e=0;e{const[t,...r]=e.split(":"),n=r.join(":");return[t.trim(),Jt(n.trim())]});return Object(i.fromPairs)(t)}const tr={class:(e,t)=>!Object(i.xor)(...[e,t].map(Yt)).length,style:(e,t)=>Object(i.isEqual)(...[e,t].map(er)),...Object(i.fromPairs)($t.map(e=>[e,i.stubTrue]))};const rr={StartTag:(e,t,r=It())=>e.tagName!==t.tagName&&e.tagName.toLowerCase()!==t.tagName.toLowerCase()?(r.warning("Expected tag name `%s`, instead saw `%s`.",t.tagName,e.tagName),!1):function(e,t,r=It()){if(e.length!==t.length)return r.warning("Expected attributes %o, instead saw %o.",t,e),!1;const n={};for(let e=0;efunction(e,t=It()){try{return new Dt(new Wt).tokenize(e)}catch(r){t.warning("Malformed HTML detected: %s",e)}return null}(e,r));if(!n||!a)return!1;let o,i;for(;o=nr(n);){if(i=nr(a),!i)return r.warning("Expected end of content, instead saw %o.",o),!1;if(o.type!==i.type)return r.warning("Expected token of type `%s` (%o), instead saw `%s` (%o).",i.type,i,o.type,o),!1;const e=rr[o.type];if(e&&!e(o,i,r))return!1;ar(o,a[0])?nr(a):ar(i,n[0])&&nr(n)}return!(i=nr(a))||(r.warning("Expected %o, instead saw end of content.",i),!1)}function ir(e,t){if(e.name===ee()||e.name===ne())return[!0];const r=function(){const e=[],t=It();return{error(...r){e.push({log:t.error,args:r})},warning(...r){e.push({log:t.warning,args:r})},getItems:()=>e}}(),n=Ie(t);let a;try{a=wt(n,e.attributes)}catch(e){return r.error("Block validation failed because an error occurred while generating block content:\n\n%s",e.toString()),[!1,r.getItems()]}const o=or(e.originalContent,a,r);return o||r.error("Block validation failed for `%s` (%o).\n\nContent generated by `save` function:\n\n%s\n\nContent retrieved from post body:\n\n%s",n.name,n,a,e.originalContent),[o,r.getItems()]}function sr(e,t,r){const n=Ie(e),a={name:n.name,attributes:t,innerBlocks:[],originalContent:r},[o]=ir(a,n);return o}function cr(e,t){const r={...t};if("core/cover-image"===e&&(e="core/cover"),"core/text"!==e&&"core/cover-text"!==e||(e="core/paragraph"),e&&0===e.indexOf("core/social-link-")&&(r.service=e.substring(17),e="core/social-link"),e&&0===e.indexOf("core-embed/")){const t=e.substring(11),n={speaker:"speaker-deck",polldaddy:"crowdsignal"};r.providerNameSlug=t in n?n[t]:t,["amazon-kindle","wordpress"].includes(t)||(r.responsive=!0),e="core/embed"}return"core/query-loop"===e&&(e="core/post-template"),"core/post-comment-author"===e&&(e="core/comment-author-name"),"core/post-comment-content"===e&&(e="core/comment-content"),"core/post-comment-date"===e&&(e="core/comment-date"),[e,r]}function lr(e,t={}){const{isCommentDelimited:r=!0}=t,{blockName:n,attrs:a={},innerBlocks:o=[],innerContent:i=[]}=e;let s=0;const c=i.map(e=>null!==e?e:lr(o[s++],t)).join("\n").replace(/\n+/g,"\n").trim();return r?jt(n,a,c):c}function ur(e,t){for(var r,n=t.split(".");r=n.shift();){if(!(r in e))return;e=e[r]}return e}var dr,pr=function(){return dr||(dr=document.implementation.createHTMLDocument("")),dr};function fr(e,t){if(t){if("string"==typeof e){var r=pr();r.body.innerHTML=e,e=r.body}if("function"==typeof t)return t(e);if(Object===t.constructor)return Object.keys(t).reduce((function(r,n){return r[n]=fr(e,t[n]),r}),{})}}function hr(e,t){return 1===arguments.length&&(t=e,e=void 0),function(r){var n=r;if(e&&(n=r.querySelector(e)),n)return ur(n,t)}}function mr(e){const t={};for(let r=0;r{let r=t;e&&(r=t.querySelector(e));try{return gr(r)}catch(e){return null}}}var _r={isNodeOfType:function(e,t){return e&&e.type===t},fromDOM:gr,toHTML:function(e){return yr([e])},matcher:br};function kr(e){const t=[];for(let r=0;r{let r=t;return e&&(r=t.querySelector(e)),r?kr(r.childNodes):[]}}var vr={concat:function(...e){const t=[];for(let r=0;rfunction(e,t){switch(t){case"string":return"string"==typeof e;case"boolean":return"boolean"==typeof e;case"object":return!!e&&e.constructor===Object;case"null":return null===e;case"array":return Array.isArray(e);case"integer":case"number":return"number"==typeof e}return!0}(e,t))}function Tr(e,t,r,n){const{type:a,enum:o}=t;let s;switch(t.source){case void 0:s=n?n[e]:void 0;break;case"attribute":case"property":case"html":case"text":case"children":case"node":case"query":case"tag":s=Cr(r,t)}return function(e,t){return void 0===t||jr(e,Object(i.castArray)(t))}(s,a)&&function(e,t){return!Array.isArray(t)||t.includes(e)}(s,o)||(s=void 0),void 0===s?t.default:s}function Or(e){switch(e.source){case"attribute":let n=function(e,t){return 1===arguments.length&&(t=e,e=void 0),function(r){var n=hr(e,"attributes")(r);if(n&&n.hasOwnProperty(t))return n[t].value}}(e.selector,e.attribute);return"boolean"===e.type&&(n=(e=>Object(i.flow)([e,e=>void 0!==e]))(n)),n;case"html":return t=e.selector,r=e.multiline,e=>{let n=e;if(t&&(n=e.querySelector(t)),!n)return"";if(r){let e="";const t=n.children.length;for(let a=0;ae?e.toLowerCase():void 0]);default:console.error(`Unknown source type "${e.source}"`)}var t,r}function Cr(e,t){return fr(e,Or(t))}function xr(e,t,r={}){const n=Ie(e),a=Object(i.mapValues)(n.attributes,(e,n)=>Tr(n,e,t,r));return Object(D.applyFilters)("blocks.getBlockAttributes",a,n,t,r)}function Sr(e){const t=Cr(e=`
    ${e}
    `,{type:"string",source:"attribute",selector:"[data-custom-class-name] > *",attribute:"class"});return t?t.trim().split(/\s+/):[]}function Er(e,t){const r=function(e,t,r){if(ue(t,"customClassName",!0)){const n=wt(t,Object(i.omit)(e,["className"])),a=Sr(n),o=Sr(r),s=Object(i.difference)(o,a);s.length?e.className=s.join(" "):n&&delete e.className}return e}(e.attributes,t,e.originalContent);return{...e,attributes:r}}function Br(e){let t=function(e){const t=ee(),r=e.blockName||ee(),n=e.attrs||{},a=e.innerBlocks||[];let o=e.innerHTML.trim();return r===t&&(o=Object(dt.autop)(o).trim()),{...e,blockName:r,attrs:n,innerHTML:o,innerBlocks:a}}(e);t=function(e){const[t,r]=cr(e.blockName,e.attrs);return{...e,blockName:t,attrs:r}}(t);let r=se(t.blockName);r||(t=function(e){const t=ne()||ee(),r=lr(e,{isCommentDelimited:!1}),n=lr(e,{isCommentDelimited:!0});return{blockName:t,attrs:{originalName:e.blockName,originalContent:n,originalUndelimitedContent:r},innerHTML:e.blockName?n:e.innerHTML,innerBlocks:e.innerBlocks,innerContent:e.innerContent}}(t),r=se(t.blockName));const n=t.blockName===ee()||t.blockName===ne();if(!r||!t.innerHTML&&n)return;const a=t.innerBlocks.map(Br).filter(e=>!!e);let o=ve(t.blockName,xr(r,t.innerHTML,t.attrs),a);o.originalContent=t.innerHTML;let[s,c]=ir(o,r);return s||(o=Er(o,r),[s,c]=ir(o,r)),o.isValid=s,o.validationIssues=c,o=function(e,t,r){const n=t.attrs,{deprecated:a}=r;if(!a||!a.length)return e;for(let t=0;t0&&(o.isValid?(console.groupCollapsed("Updated Block: %s",r.name),console.info("Block successfully updated for `%s` (%o).\n\nNew content generated by `save` function:\n\n%s\n\nContent retrieved from post body:\n\n%s",r.name,r,wt(r,o.attributes),o.originalContent),console.groupEnd()):c.forEach(({log:e,args:t})=>e(...t))),o}function Nr(e){return Object(ut.parse)(e).reduce((e,t)=>{const r=Br(t);return r&&e.push(r),e},[])}function Ar(){return Object(i.filter)(Ne("from"),{type:"raw"}).map(e=>e.isMatch?e:{...e,isMatch:t=>e.selector&&t.matches(e.selector)})}function Pr(e){const t=document.implementation.createHTMLDocument("");return t.body.innerHTML=e,Array.from(t.body.children).flatMap(e=>{const t=Be(Ar(),({isMatch:t})=>t(e));if(!t)return ve("core/html",xr("core/html",e.outerHTML));const{transform:r,blockName:n}=t;return r?r(e):ve(n,xr(n,e.outerHTML))})}function Mr(e){const t=document.implementation.createHTMLDocument(""),r=document.implementation.createHTMLDocument(""),n=t.body,a=r.body;for(n.innerHTML=e;n.firstChild;){const e=n.firstChild;e.nodeType===e.TEXT_NODE?Object(R.isEmpty)(e)?n.removeChild(e):(a.lastChild&&"P"===a.lastChild.nodeName||a.appendChild(r.createElement("P")),a.lastChild.appendChild(e)):e.nodeType===e.ELEMENT_NODE?"BR"===e.nodeName?(e.nextSibling&&"BR"===e.nextSibling.nodeName&&(a.appendChild(r.createElement("P")),n.removeChild(e.nextSibling)),a.lastChild&&"P"===a.lastChild.nodeName&&a.lastChild.hasChildNodes()?a.lastChild.appendChild(e):n.removeChild(e)):"P"===e.nodeName?Object(R.isEmpty)(e)?n.removeChild(e):a.appendChild(e):Object(R.isPhrasingContent)(e)?(a.lastChild&&"P"===a.lastChild.nodeName||a.appendChild(r.createElement("P")),a.lastChild.appendChild(e)):a.appendChild(e):n.removeChild(e)}return a.innerHTML}function Lr(e,t){if(e.nodeType===e.COMMENT_NODE)if("nextpage"!==e.nodeValue){if(0===e.nodeValue.indexOf("more")){const r=e.nodeValue.slice(4).trim();let n=e,a=!1;for(;n=n.nextSibling;)if(n.nodeType===n.COMMENT_NODE&&"noteaser"===n.nodeValue){a=!0,Object(R.remove)(n);break}Object(R.replace)(e,function(e,t,r){const n=r.createElement("wp-block");n.dataset.block="core/more",e&&(n.dataset.customText=e);t&&(n.dataset.noTeaser="");return n}(r,a,t))}}else Object(R.replace)(e,function(e){const t=e.createElement("wp-block");return t.dataset.block="core/nextpage",t}(t))}function Dr(e){e.nodeType===e.COMMENT_NODE&&Object(R.remove)(e)}function zr(e,t){return e.every(e=>function(e,t){if(Object(R.isTextContent)(e))return!0;if(!t)return!1;const r=e.nodeName.toLowerCase();return[["ul","li","ol"],["h1","h2","h3","h4","h5","h6"]].some(e=>0===Object(i.difference)([r,t],e).length)}(e,t)&&zr(Array.from(e.children),t))}function Ir(e){return"BR"===e.nodeName&&e.previousSibling&&"BR"===e.previousSibling.nodeName}function Hr(e,t){if("SPAN"===e.nodeName&&e.style){const{fontWeight:r,fontStyle:n,textDecorationLine:a,textDecoration:o,verticalAlign:s}=e.style;"bold"!==r&&"700"!==r||Object(R.wrap)(t.createElement("strong"),e),"italic"===n&&Object(R.wrap)(t.createElement("em"),e),("line-through"===a||Object(i.includes)(o,"line-through"))&&Object(R.wrap)(t.createElement("s"),e),"super"===s?Object(R.wrap)(t.createElement("sup"),e):"sub"===s&&Object(R.wrap)(t.createElement("sub"),e)}else"B"===e.nodeName?e=Object(R.replaceTag)(e,"strong"):"I"===e.nodeName?e=Object(R.replaceTag)(e,"em"):"A"===e.nodeName&&(e.target&&"_blank"===e.target.toLowerCase()?e.rel="noreferrer noopener":(e.removeAttribute("target"),e.removeAttribute("rel")),e.name&&!e.id&&(e.id=e.name),e.id&&!e.ownerDocument.querySelector(`[href="#${e.id}"]`)&&e.removeAttribute("id"))}function Vr(e){"SCRIPT"!==e.nodeName&&"NOSCRIPT"!==e.nodeName&&"TEMPLATE"!==e.nodeName&&"STYLE"!==e.nodeName||e.parentNode.removeChild(e)}const{parseInt:Rr}=window;function $r(e){return"OL"===e.nodeName||"UL"===e.nodeName}function Fr(e,t){if("P"!==e.nodeName)return;const r=e.getAttribute("style");if(!r)return;if(-1===r.indexOf("mso-list"))return;const n=/mso-list\s*:[^;]+level([0-9]+)/i.exec(r);if(!n)return;let a=Rr(n[1],10)-1||0;const o=e.previousElementSibling;if(!o||!$r(o)){const r=e.textContent.trim().slice(0,1),n=/[1iIaA]/.test(r),a=t.createElement(n?"ol":"ul");n&&a.setAttribute("type",r),e.parentNode.insertBefore(a,e)}const i=e.previousElementSibling,s=i.nodeName,c=t.createElement("li");let l=i;for(e.removeChild(e.firstElementChild);e.firstChild;)c.appendChild(e.firstChild);for(;a--;)l=l.lastElementChild||l,$r(l)&&(l=l.lastElementChild||l);$r(l)||(l=l.appendChild(t.createElement(s))),l.appendChild(c),e.parentNode.removeChild(e)}function qr(e){return"OL"===e.nodeName||"UL"===e.nodeName}function Ur(e){if(!qr(e))return;const t=e,r=e.previousElementSibling;if(r&&r.nodeName===e.nodeName&&1===t.children.length){for(;t.firstChild;)r.appendChild(t.firstChild);t.parentNode.removeChild(t)}const n=e.parentNode;if(n&&"LI"===n.nodeName&&1===n.children.length&&!/\S/.test((a=n,Array.from(a.childNodes).map(({nodeValue:e=""})=>e).join("")))){const e=n,r=e.previousElementSibling,a=e.parentNode;r?(r.appendChild(t),a.removeChild(e)):(a.parentNode.insertBefore(t,a),a.parentNode.removeChild(a))}var a;if(n&&qr(n)){const t=e.previousElementSibling;t?t.appendChild(e):Object(R.unwrap)(e)}}var Gr=r("xTGt");const{atob:Kr,File:Wr}=window;function Yr(e){if("IMG"===e.nodeName){if(0===e.src.indexOf("file:")&&(e.src=""),0===e.src.indexOf("data:")){const[t,r]=e.src.split(","),[n]=t.slice(5).split(";");if(!r||!n)return void(e.src="");let a;try{a=Kr(r)}catch(t){return void(e.src="")}const o=new Uint8Array(a.length);for(let e=0;e-1===n.indexOf(e.blockName)&&"shortcode"===e.type&&Object(i.some)(Object(i.castArray)(e.tag),e=>Object(Jr.regexp)(e).test(t)));if(!a)return[t];const o=Object(i.castArray)(a.tag),s=Object(i.find)(o,e=>Object(Jr.regexp)(e).test(t));let c;const l=r;if(c=Object(Jr.next)(s,t,r)){r=c.index+c.content.length;const o=t.substr(0,c.index),s=t.substr(r);if(!(Object(i.includes)(c.shortcode.content||"","<")||/(\n|

    )\s*$/.test(o)&&/^\s*(\n|<\/p>)/.test(s)))return e(t,r);if(a.isMatch&&!a.isMatch(c.shortcode.attrs))return e(t,l,[...n,a.blockName]);const u=Object(i.mapValues)(Object(i.pickBy)(a.attributes,e=>e.shortcode),e=>e.shortcode(c.shortcode.attrs,c)),d={...se(a.blockName),attributes:a.attributes};let p=ve(a.blockName,xr(d,c.shortcode.content,u));return p.originalContent=c.shortcode.content,p=Er(p,d),[...e(o),p,...e(s)]}return[t]},tn=r("M55E");const rn=new(r.n(tn).a.Converter)({noHeaderId:!0,tables:!0,literalMidWordUnderscores:!0,omitExtraWLInCodeBlocks:!0,simpleLineBreaks:!0,strikethrough:!0});function nn(e){if("IFRAME"===e.nodeName){const t=e.ownerDocument.createTextNode(e.src);e.parentNode.replaceChild(t,e)}}function an(e){e.id&&0===e.id.indexOf("docs-internal-guid-")&&Object(R.unwrap)(e)}function on(e){return function(e,t){const r={phrasingContentSchema:Object(R.getPhrasingContentSchema)(t),isPaste:"paste"===t},n=e.map(({isMatch:e,blockName:t,schema:n})=>{const a=ue(t,"anchor");return n=Object(i.isFunction)(n)?n(r):n,a||e?Object(i.mapValues)(n,t=>{let r=t.attributes||[];return a&&(r=[...r,"id"]),{...t,attributes:r,isMatch:e||void 0}}):n});return Object(i.mergeWith)({},...n,(e,t,r)=>{switch(r){case"children":return"*"===e||"*"===t?"*":{...e,...t};case"attributes":case"require":return[...e||[],...t||[]];case"isMatch":if(!e||!t)return;return(...r)=>e(...r)||t(...r)}})}(Ar(),e)}function sn(e,t=[],r){const n=document.implementation.createHTMLDocument("");return n.body.innerHTML=e,function e(t,r,n,a){Array.from(t).forEach(t=>{e(t.childNodes,r,n,a),r.forEach(e=>{n.contains(t)&&e(t,n,a)})})}(n.body.childNodes,t,n,r),n.body.innerHTML}function cn(e,t){const r=e[t+"Sibling"];if(r&&Object(R.isPhrasingContent)(r))return r;const{parentNode:n}=e;return n&&Object(R.isPhrasingContent)(n)?cn(n,t):void 0}function ln(e){if(e.nodeType!==e.TEXT_NODE)return;let t=e;for(;t=t.parentNode;)if(t.nodeType===t.ELEMENT_NODE&&"PRE"===t.nodeName)return;let r=e.data.replace(/[ \r\n\t]+/g," ");if(" "===r[0]){const t=cn(e,"previous");t&&"BR"!==t.nodeName&&" "!==t.textContent.slice(-1)||(r=r.slice(1))}if(" "===r[r.length-1]){const t=cn(e,"next");(!t||"BR"===t.nodeName||t.nodeType===t.TEXT_NODE&&(" "===(n=t.textContent[0])||"\r"===n||"\n"===n||"\t"===n))&&(r=r.slice(0,-1))}var n;r?e.data=r:e.parentNode.removeChild(e)}function un(e){"BR"===e.nodeName&&(cn(e,"next")||e.parentNode.removeChild(e))}function dn(e){"P"===e.nodeName&&(e.hasChildNodes()||e.parentNode.removeChild(e))}const{console:pn}=window;function fn(e,t){return e=sn(e,[an,Hr,Dr]),e=Object(R.removeInvalidHTML)(e,Object(R.getPhrasingContentSchema)("paste"),{inline:!0}),t||(e=sn(e,[ln,un])),pn.log("Processed inline HTML:\n\n",e),e}function hn({HTML:e="",plainText:t="",mode:r="AUTO",tagName:n,preserveWhiteSpace:a}){if(e=(e=(e=e.replace(/]+>/g,"")).replace(/^\s*]*>\s*]*>(?:\s*)?/i,"")).replace(/(?:\s*)?<\/body>\s*<\/html>\s*$/i,""),"INLINE"!==r){const r=e||t;if(-1!==r.indexOf("\x3c!-- wp:"))return Nr(r)}var o;if(String.prototype.normalize&&(e=e.normalize()),!t||e&&!function(e){return!/<(?!br[ />])/i.test(e)}(e)||(e=t,/^\s+$/.test(t)||(o=e,e=rn.makeHtml(function(e){return e.replace(/((?:^|\n)```)([^\n`]+)(```(?:$|\n))/,(e,t,r,n)=>`${t}\n${r}\n${n}`)}(o))),"AUTO"===r&&-1===t.indexOf("\n")&&0!==t.indexOf("

    ")&&0===e.indexOf("

    ")&&(r="INLINE")),"INLINE"===r)return fn(e,a);const s=en(e),c=s.length>1;if("AUTO"===r&&!c&&function(e,t){const r=document.implementation.createHTMLDocument("");r.body.innerHTML=e;const n=Array.from(r.body.children);return!n.some(Ir)&&zr(n,t)}(e,n))return fn(e,a);const l=Object(R.getPhrasingContentSchema)("paste"),u=on("paste"),d=Object(i.compact)(Object(i.flatMap)(s,e=>{if("string"!=typeof e)return e;const t=[an,Fr,Vr,Ur,Yr,Hr,Lr,Dr,nn,Xr,Qr],r={...u,...l};return e=sn(e,t,u),e=sn(e=Mr(e=Object(R.removeInvalidHTML)(e,r)),[ln,un,dn],u),pn.log("Processed HTML piece:\n\n",e),Pr(e)}));if("AUTO"===r&&1===d.length&&ue(d[0].name,"__unstablePasteTextInline",!1)){const e=t.replace(/^[\n]+|[\n]+$/g,"");if(""!==e&&-1===e.indexOf("\n"))return Object(R.removeInvalidHTML)(vt(d[0]),l)}return d}var mn=r("NMb1"),gn=r.n(mn);function bn(e){return gn()("wp.blocks.getPhrasingContentSchema",{since:"5.6",alternative:"wp.dom.getPhrasingContentSchema"}),Object(R.getPhrasingContentSchema)(e)}function _n({HTML:e=""}){if(-1!==e.indexOf("\x3c!-- wp:"))return Nr(e);const t=en(e),r=on();return Object(i.compact)(Object(i.flatMap)(t,e=>{if("string"!=typeof e)return e;return Pr(e=Mr(e=sn(e,[Ur,Lr,Xr,Qr],r)))}))}function kn(){return Object(o.select)(lt).getCategories()}function yn(e){Object(o.dispatch)(lt).setCategories(e)}function wn(e,t){Object(o.dispatch)(lt).updateCategory(e,t)}function vn(e=[],t=[]){return e.length===t.length&&Object(i.every)(t,([t,,r],n)=>{const a=e[n];return t===a.name&&vn(a.innerBlocks,r)})}function jn(e=[],t){return t?Object(i.map)(t,([t,r,n],a)=>{const o=e[a];if(o&&o.name===t){const e=jn(o.innerBlocks,n);return{...o,innerBlocks:e}}const s=se(t),c=(e,t)=>Object(i.mapValues)(t,(t,r)=>l(e[r],t)),l=(e,t)=>{return r=e,"html"===Object(i.get)(r,["source"])&&Object(i.isArray)(t)?Object(V.renderToString)(t):(e=>"query"===Object(i.get)(e,["source"]))(e)&&t?t.map(t=>c(e.query,t)):t;var r},u=c(Object(i.get)(s,["attributes"],{}),r),[d,p]=cr(t,u);return ve(d,p,jn([],n))}):e}var Tn=r("wx14"),On=r("K9lf");const{Consumer:Cn,Provider:xn}=Object(V.createContext)(()=>{}),Sn=Object(On.createHigherOrderComponent)(e=>t=>Object(V.createElement)(Cn,null,r=>Object(V.createElement)(e,Object(Tn.a)({},t,{BlockContent:r}))),"withBlockContentContext")},"1CF3":function(e,t){e.exports=window.wp.dom},"1ZqX":function(e,t){e.exports=window.wp.data},"7Cbv":function(e,t,r){"use strict";var n,a=new Uint8Array(16);function o(){if(!n&&!(n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return n(a)}var i=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var s=function(e){return"string"==typeof e&&i.test(e)},c=[],l=0;l<256;++l)c.push((l+256).toString(16).substr(1));var u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=(c[e[t+0]]+c[e[t+1]]+c[e[t+2]]+c[e[t+3]]+"-"+c[e[t+4]]+c[e[t+5]]+"-"+c[e[t+6]]+c[e[t+7]]+"-"+c[e[t+8]]+c[e[t+9]]+"-"+c[e[t+10]]+c[e[t+11]]+c[e[t+12]]+c[e[t+13]]+c[e[t+14]]+c[e[t+15]]).toLowerCase();if(!s(r))throw TypeError("Stringified UUID is invalid");return r};t.a=function(e,t,r){var n=(e=e||{}).random||(e.rng||o)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){r=r||0;for(var a=0;a<16;++a)t[r+a]=n[a];return t}return u(n)}},"7bKH":function(e,t,r){"use strict";var n=function(e){var t=e/255;return t<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},a=function(e){return.2126*n(e.r)+.7152*n(e.g)+.0722*n(e.b)};t.a=function(e){e.prototype.luminance=function(){return e=a(this.rgba),void 0===(t=2)&&(t=0),void 0===r&&(r=Math.pow(10,t)),Math.round(r*e)/r+0;var e,t,r},e.prototype.contrast=function(t){void 0===t&&(t="#FFF");var r,n,o,i,s,c,l,u=t instanceof e?t:new e(t);return i=this.rgba,s=u.toRgb(),r=(c=a(i))>(l=a(s))?(c+.05)/(l+.05):(l+.05)/(c+.05),void 0===(n=2)&&(n=0),void 0===o&&(o=Math.pow(10,n)),Math.floor(o*r)/o+0},e.prototype.isReadable=function(e,t){return void 0===e&&(e="#FFF"),void 0===t&&(t={}),this.contrast(e)>=(i=void 0===(o=(r=t).size)?"normal":o,"AAA"===(a=void 0===(n=r.level)?"AA":n)&&"normal"===i?7:"AA"===a&&"large"===i?3:4.5);var r,n,a,o,i}}},GRId:function(e,t){e.exports=window.wp.element},K9lf:function(e,t){e.exports=window.wp.compose},M55E:function(e,t,r){var n;/*! showdown v 1.9.1 - 02-11-2019 */ +(function(){function a(e){"use strict";var t={omitExtraWLInCodeBlocks:{defaultValue:!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{defaultValue:!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{defaultValue:!1,describe:"Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix",type:"string"},rawPrefixHeaderId:{defaultValue:!1,describe:'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',type:"boolean"},ghCompatibleHeaderId:{defaultValue:!1,describe:"Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)",type:"boolean"},rawHeaderId:{defaultValue:!1,describe:"Remove only spaces, ' and \" from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids",type:"boolean"},headerLevelStart:{defaultValue:!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{defaultValue:!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{defaultValue:!1,describe:"Turn on/off GFM autolink style",type:"boolean"},excludeTrailingPunctuationFromURLs:{defaultValue:!1,describe:"Excludes trailing punctuation from links generated with autoLinking",type:"boolean"},literalMidWordUnderscores:{defaultValue:!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},literalMidWordAsterisks:{defaultValue:!1,describe:"Parse midword asterisks as literal asterisks",type:"boolean"},strikethrough:{defaultValue:!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{defaultValue:!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{defaultValue:!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{defaultValue:!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{defaultValue:!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{defaultValue:!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"},smartIndentationFix:{defaultValue:!1,description:"Tries to smartly fix indentation in es6 strings",type:"boolean"},disableForced4SpacesIndentedSublists:{defaultValue:!1,description:"Disables the requirement of indenting nested sublists by 4 spaces",type:"boolean"},simpleLineBreaks:{defaultValue:!1,description:"Parses simple line breaks as
    (GFM Style)",type:"boolean"},requireSpaceBeforeHeadingText:{defaultValue:!1,description:"Makes adding a space between `#` and the header text mandatory (GFM Style)",type:"boolean"},ghMentions:{defaultValue:!1,description:"Enables github @mentions",type:"boolean"},ghMentionsLink:{defaultValue:"https://github.com/{u}",description:"Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",type:"string"},encodeEmails:{defaultValue:!0,description:"Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",type:"boolean"},openLinksInNewWindow:{defaultValue:!1,description:"Open all links in new windows",type:"boolean"},backslashEscapesHTMLTags:{defaultValue:!1,description:"Support for HTML Tag escaping. ex:

    foo
    ",type:"boolean"},emoji:{defaultValue:!1,description:"Enable emoji support. Ex: `this is a :smile: emoji`",type:"boolean"},underline:{defaultValue:!1,description:"Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``",type:"boolean"},completeHTMLDocument:{defaultValue:!1,description:"Outputs a complete html document, including ``, `` and `` tags",type:"boolean"},metadata:{defaultValue:!1,description:"Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).",type:"boolean"},splitAdjacentBlockquotes:{defaultValue:!1,description:"Split adjacent blockquote blocks",type:"boolean"}};if(!1===e)return JSON.parse(JSON.stringify(t));var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n].defaultValue);return r}var o={},i={},s={},c=a(!0),l="vanilla",u={github:{omitExtraWLInCodeBlocks:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,disableForced4SpacesIndentedSublists:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghCompatibleHeaderId:!0,ghMentions:!0,backslashEscapesHTMLTags:!0,emoji:!0,splitAdjacentBlockquotes:!0},original:{noHeaderId:!0,ghCodeBlocks:!1},ghost:{omitExtraWLInCodeBlocks:!0,parseImgDimensions:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,smoothLivePreview:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghMentions:!1,encodeEmails:!0},vanilla:a(!0),allOn:function(){"use strict";var e=a(!0),t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=!0);return t}()};function d(e,t){"use strict";var r=t?"Error in "+t+" extension->":"Error in unnamed extension",n={valid:!0,error:""};o.helper.isArray(e)||(e=[e]);for(var a=0;a").replace(/&/g,"&")};var f=function(e,t,r,n){"use strict";var a,o,i,s,c,l=n||"",u=l.indexOf("g")>-1,d=new RegExp(t+"|"+r,"g"+l.replace(/g/g,"")),p=new RegExp(t,l.replace(/g/g,"")),f=[];do{for(a=0;i=d.exec(e);)if(p.test(i[0]))a++||(s=(o=d.lastIndex)-i[0].length);else if(a&&!--a){c=i.index+i[0].length;var h={left:{start:s,end:o},match:{start:o,end:i.index},right:{start:i.index,end:c},wholeMatch:{start:s,end:c}};if(f.push(h),!u)return f}}while(a&&(d.lastIndex=o));return f};o.helper.matchRecursiveRegExp=function(e,t,r,n){"use strict";for(var a=f(e,t,r,n),o=[],i=0;i0){var u=[];0!==s[0].wholeMatch.start&&u.push(e.slice(0,s[0].wholeMatch.start));for(var d=0;d=0?n+(r||0):n},o.helper.splitAtIndex=function(e,t){"use strict";if(!o.helper.isString(e))throw"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";return[e.substring(0,t),e.substring(t)]},o.helper.encodeEmailAddress=function(e){"use strict";var t=[function(e){return"&#"+e.charCodeAt(0)+";"},function(e){return"&#x"+e.charCodeAt(0).toString(16)+";"},function(e){return e}];return e=e.replace(/./g,(function(e){if("@"===e)e=t[Math.floor(2*Math.random())](e);else{var r=Math.random();e=r>.9?t[2](e):r>.45?t[1](e):t[0](e)}return e}))},o.helper.padEnd=function(e,t,r){"use strict";return t>>=0,r=String(r||" "),e.length>t?String(e):((t-=e.length)>r.length&&(r+=r.repeat(t/r.length)),String(e)+r.slice(0,t))},"undefined"==typeof console&&(console={warn:function(e){"use strict";alert(e)},log:function(e){"use strict";alert(e)},error:function(e){"use strict";throw e}}),o.helper.regexes={asteriskDashAndColon:/([*_:~])/g},o.helper.emojis={"+1":"👍","-1":"👎",100:"💯",1234:"🔢","1st_place_medal":"🥇","2nd_place_medal":"🥈","3rd_place_medal":"🥉","8ball":"🎱",a:"🅰️",ab:"🆎",abc:"🔤",abcd:"🔡",accept:"🉑",aerial_tramway:"🚡",airplane:"✈️",alarm_clock:"⏰",alembic:"⚗️",alien:"👽",ambulance:"🚑",amphora:"🏺",anchor:"⚓️",angel:"👼",anger:"💢",angry:"😠",anguished:"😧",ant:"🐜",apple:"🍎",aquarius:"♒️",aries:"♈️",arrow_backward:"◀️",arrow_double_down:"⏬",arrow_double_up:"⏫",arrow_down:"⬇️",arrow_down_small:"🔽",arrow_forward:"▶️",arrow_heading_down:"⤵️",arrow_heading_up:"⤴️",arrow_left:"⬅️",arrow_lower_left:"↙️",arrow_lower_right:"↘️",arrow_right:"➡️",arrow_right_hook:"↪️",arrow_up:"⬆️",arrow_up_down:"↕️",arrow_up_small:"🔼",arrow_upper_left:"↖️",arrow_upper_right:"↗️",arrows_clockwise:"🔃",arrows_counterclockwise:"🔄",art:"🎨",articulated_lorry:"🚛",artificial_satellite:"🛰",astonished:"😲",athletic_shoe:"👟",atm:"🏧",atom_symbol:"⚛️",avocado:"🥑",b:"🅱️",baby:"👶",baby_bottle:"🍼",baby_chick:"🐤",baby_symbol:"🚼",back:"🔙",bacon:"🥓",badminton:"🏸",baggage_claim:"🛄",baguette_bread:"🥖",balance_scale:"⚖️",balloon:"🎈",ballot_box:"🗳",ballot_box_with_check:"☑️",bamboo:"🎍",banana:"🍌",bangbang:"‼️",bank:"🏦",bar_chart:"📊",barber:"💈",baseball:"⚾️",basketball:"🏀",basketball_man:"⛹️",basketball_woman:"⛹️‍♀️",bat:"🦇",bath:"🛀",bathtub:"🛁",battery:"🔋",beach_umbrella:"🏖",bear:"🐻",bed:"🛏",bee:"🐝",beer:"🍺",beers:"🍻",beetle:"🐞",beginner:"🔰",bell:"🔔",bellhop_bell:"🛎",bento:"🍱",biking_man:"🚴",bike:"🚲",biking_woman:"🚴‍♀️",bikini:"👙",biohazard:"☣️",bird:"🐦",birthday:"🎂",black_circle:"⚫️",black_flag:"🏴",black_heart:"🖤",black_joker:"🃏",black_large_square:"⬛️",black_medium_small_square:"◾️",black_medium_square:"◼️",black_nib:"✒️",black_small_square:"▪️",black_square_button:"🔲",blonde_man:"👱",blonde_woman:"👱‍♀️",blossom:"🌼",blowfish:"🐡",blue_book:"📘",blue_car:"🚙",blue_heart:"💙",blush:"😊",boar:"🐗",boat:"⛵️",bomb:"💣",book:"📖",bookmark:"🔖",bookmark_tabs:"📑",books:"📚",boom:"💥",boot:"👢",bouquet:"💐",bowing_man:"🙇",bow_and_arrow:"🏹",bowing_woman:"🙇‍♀️",bowling:"🎳",boxing_glove:"🥊",boy:"👦",bread:"🍞",bride_with_veil:"👰",bridge_at_night:"🌉",briefcase:"💼",broken_heart:"💔",bug:"🐛",building_construction:"🏗",bulb:"💡",bullettrain_front:"🚅",bullettrain_side:"🚄",burrito:"🌯",bus:"🚌",business_suit_levitating:"🕴",busstop:"🚏",bust_in_silhouette:"👤",busts_in_silhouette:"👥",butterfly:"🦋",cactus:"🌵",cake:"🍰",calendar:"📆",call_me_hand:"🤙",calling:"📲",camel:"🐫",camera:"📷",camera_flash:"📸",camping:"🏕",cancer:"♋️",candle:"🕯",candy:"🍬",canoe:"🛶",capital_abcd:"🔠",capricorn:"♑️",car:"🚗",card_file_box:"🗃",card_index:"📇",card_index_dividers:"🗂",carousel_horse:"🎠",carrot:"🥕",cat:"🐱",cat2:"🐈",cd:"💿",chains:"⛓",champagne:"🍾",chart:"💹",chart_with_downwards_trend:"📉",chart_with_upwards_trend:"📈",checkered_flag:"🏁",cheese:"🧀",cherries:"🍒",cherry_blossom:"🌸",chestnut:"🌰",chicken:"🐔",children_crossing:"🚸",chipmunk:"🐿",chocolate_bar:"🍫",christmas_tree:"🎄",church:"⛪️",cinema:"🎦",circus_tent:"🎪",city_sunrise:"🌇",city_sunset:"🌆",cityscape:"🏙",cl:"🆑",clamp:"🗜",clap:"👏",clapper:"🎬",classical_building:"🏛",clinking_glasses:"🥂",clipboard:"📋",clock1:"🕐",clock10:"🕙",clock1030:"🕥",clock11:"🕚",clock1130:"🕦",clock12:"🕛",clock1230:"🕧",clock130:"🕜",clock2:"🕑",clock230:"🕝",clock3:"🕒",clock330:"🕞",clock4:"🕓",clock430:"🕟",clock5:"🕔",clock530:"🕠",clock6:"🕕",clock630:"🕡",clock7:"🕖",clock730:"🕢",clock8:"🕗",clock830:"🕣",clock9:"🕘",clock930:"🕤",closed_book:"📕",closed_lock_with_key:"🔐",closed_umbrella:"🌂",cloud:"☁️",cloud_with_lightning:"🌩",cloud_with_lightning_and_rain:"⛈",cloud_with_rain:"🌧",cloud_with_snow:"🌨",clown_face:"🤡",clubs:"♣️",cocktail:"🍸",coffee:"☕️",coffin:"⚰️",cold_sweat:"😰",comet:"☄️",computer:"💻",computer_mouse:"🖱",confetti_ball:"🎊",confounded:"😖",confused:"😕",congratulations:"㊗️",construction:"🚧",construction_worker_man:"👷",construction_worker_woman:"👷‍♀️",control_knobs:"🎛",convenience_store:"🏪",cookie:"🍪",cool:"🆒",policeman:"👮",copyright:"©️",corn:"🌽",couch_and_lamp:"🛋",couple:"👫",couple_with_heart_woman_man:"💑",couple_with_heart_man_man:"👨‍❤️‍👨",couple_with_heart_woman_woman:"👩‍❤️‍👩",couplekiss_man_man:"👨‍❤️‍💋‍👨",couplekiss_man_woman:"💏",couplekiss_woman_woman:"👩‍❤️‍💋‍👩",cow:"🐮",cow2:"🐄",cowboy_hat_face:"🤠",crab:"🦀",crayon:"🖍",credit_card:"💳",crescent_moon:"🌙",cricket:"🏏",crocodile:"🐊",croissant:"🥐",crossed_fingers:"🤞",crossed_flags:"🎌",crossed_swords:"⚔️",crown:"👑",cry:"😢",crying_cat_face:"😿",crystal_ball:"🔮",cucumber:"🥒",cupid:"💘",curly_loop:"➰",currency_exchange:"💱",curry:"🍛",custard:"🍮",customs:"🛃",cyclone:"🌀",dagger:"🗡",dancer:"💃",dancing_women:"👯",dancing_men:"👯‍♂️",dango:"🍡",dark_sunglasses:"🕶",dart:"🎯",dash:"💨",date:"📅",deciduous_tree:"🌳",deer:"🦌",department_store:"🏬",derelict_house:"🏚",desert:"🏜",desert_island:"🏝",desktop_computer:"🖥",male_detective:"🕵️",diamond_shape_with_a_dot_inside:"💠",diamonds:"♦️",disappointed:"😞",disappointed_relieved:"😥",dizzy:"💫",dizzy_face:"😵",do_not_litter:"🚯",dog:"🐶",dog2:"🐕",dollar:"💵",dolls:"🎎",dolphin:"🐬",door:"🚪",doughnut:"🍩",dove:"🕊",dragon:"🐉",dragon_face:"🐲",dress:"👗",dromedary_camel:"🐪",drooling_face:"🤤",droplet:"💧",drum:"🥁",duck:"🦆",dvd:"📀","e-mail":"📧",eagle:"🦅",ear:"👂",ear_of_rice:"🌾",earth_africa:"🌍",earth_americas:"🌎",earth_asia:"🌏",egg:"🥚",eggplant:"🍆",eight_pointed_black_star:"✴️",eight_spoked_asterisk:"✳️",electric_plug:"🔌",elephant:"🐘",email:"✉️",end:"🔚",envelope_with_arrow:"📩",euro:"💶",european_castle:"🏰",european_post_office:"🏤",evergreen_tree:"🌲",exclamation:"❗️",expressionless:"😑",eye:"👁",eye_speech_bubble:"👁‍🗨",eyeglasses:"👓",eyes:"👀",face_with_head_bandage:"🤕",face_with_thermometer:"🤒",fist_oncoming:"👊",factory:"🏭",fallen_leaf:"🍂",family_man_woman_boy:"👪",family_man_boy:"👨‍👦",family_man_boy_boy:"👨‍👦‍👦",family_man_girl:"👨‍👧",family_man_girl_boy:"👨‍👧‍👦",family_man_girl_girl:"👨‍👧‍👧",family_man_man_boy:"👨‍👨‍👦",family_man_man_boy_boy:"👨‍👨‍👦‍👦",family_man_man_girl:"👨‍👨‍👧",family_man_man_girl_boy:"👨‍👨‍👧‍👦",family_man_man_girl_girl:"👨‍👨‍👧‍👧",family_man_woman_boy_boy:"👨‍👩‍👦‍👦",family_man_woman_girl:"👨‍👩‍👧",family_man_woman_girl_boy:"👨‍👩‍👧‍👦",family_man_woman_girl_girl:"👨‍👩‍👧‍👧",family_woman_boy:"👩‍👦",family_woman_boy_boy:"👩‍👦‍👦",family_woman_girl:"👩‍👧",family_woman_girl_boy:"👩‍👧‍👦",family_woman_girl_girl:"👩‍👧‍👧",family_woman_woman_boy:"👩‍👩‍👦",family_woman_woman_boy_boy:"👩‍👩‍👦‍👦",family_woman_woman_girl:"👩‍👩‍👧",family_woman_woman_girl_boy:"👩‍👩‍👧‍👦",family_woman_woman_girl_girl:"👩‍👩‍👧‍👧",fast_forward:"⏩",fax:"📠",fearful:"😨",feet:"🐾",female_detective:"🕵️‍♀️",ferris_wheel:"🎡",ferry:"⛴",field_hockey:"🏑",file_cabinet:"🗄",file_folder:"📁",film_projector:"📽",film_strip:"🎞",fire:"🔥",fire_engine:"🚒",fireworks:"🎆",first_quarter_moon:"🌓",first_quarter_moon_with_face:"🌛",fish:"🐟",fish_cake:"🍥",fishing_pole_and_fish:"🎣",fist_raised:"✊",fist_left:"🤛",fist_right:"🤜",flags:"🎏",flashlight:"🔦",fleur_de_lis:"⚜️",flight_arrival:"🛬",flight_departure:"🛫",floppy_disk:"💾",flower_playing_cards:"🎴",flushed:"😳",fog:"🌫",foggy:"🌁",football:"🏈",footprints:"👣",fork_and_knife:"🍴",fountain:"⛲️",fountain_pen:"🖋",four_leaf_clover:"🍀",fox_face:"🦊",framed_picture:"🖼",free:"🆓",fried_egg:"🍳",fried_shrimp:"🍤",fries:"🍟",frog:"🐸",frowning:"😦",frowning_face:"☹️",frowning_man:"🙍‍♂️",frowning_woman:"🙍",middle_finger:"🖕",fuelpump:"⛽️",full_moon:"🌕",full_moon_with_face:"🌝",funeral_urn:"⚱️",game_die:"🎲",gear:"⚙️",gem:"💎",gemini:"♊️",ghost:"👻",gift:"🎁",gift_heart:"💝",girl:"👧",globe_with_meridians:"🌐",goal_net:"🥅",goat:"🐐",golf:"⛳️",golfing_man:"🏌️",golfing_woman:"🏌️‍♀️",gorilla:"🦍",grapes:"🍇",green_apple:"🍏",green_book:"📗",green_heart:"💚",green_salad:"🥗",grey_exclamation:"❕",grey_question:"❔",grimacing:"😬",grin:"😁",grinning:"😀",guardsman:"💂",guardswoman:"💂‍♀️",guitar:"🎸",gun:"🔫",haircut_woman:"💇",haircut_man:"💇‍♂️",hamburger:"🍔",hammer:"🔨",hammer_and_pick:"⚒",hammer_and_wrench:"🛠",hamster:"🐹",hand:"✋",handbag:"👜",handshake:"🤝",hankey:"💩",hatched_chick:"🐥",hatching_chick:"🐣",headphones:"🎧",hear_no_evil:"🙉",heart:"❤️",heart_decoration:"💟",heart_eyes:"😍",heart_eyes_cat:"😻",heartbeat:"💓",heartpulse:"💗",hearts:"♥️",heavy_check_mark:"✔️",heavy_division_sign:"➗",heavy_dollar_sign:"💲",heavy_heart_exclamation:"❣️",heavy_minus_sign:"➖",heavy_multiplication_x:"✖️",heavy_plus_sign:"➕",helicopter:"🚁",herb:"🌿",hibiscus:"🌺",high_brightness:"🔆",high_heel:"👠",hocho:"🔪",hole:"🕳",honey_pot:"🍯",horse:"🐴",horse_racing:"🏇",hospital:"🏥",hot_pepper:"🌶",hotdog:"🌭",hotel:"🏨",hotsprings:"♨️",hourglass:"⌛️",hourglass_flowing_sand:"⏳",house:"🏠",house_with_garden:"🏡",houses:"🏘",hugs:"🤗",hushed:"😯",ice_cream:"🍨",ice_hockey:"🏒",ice_skate:"⛸",icecream:"🍦",id:"🆔",ideograph_advantage:"🉐",imp:"👿",inbox_tray:"📥",incoming_envelope:"📨",tipping_hand_woman:"💁",information_source:"ℹ️",innocent:"😇",interrobang:"⁉️",iphone:"📱",izakaya_lantern:"🏮",jack_o_lantern:"🎃",japan:"🗾",japanese_castle:"🏯",japanese_goblin:"👺",japanese_ogre:"👹",jeans:"👖",joy:"😂",joy_cat:"😹",joystick:"🕹",kaaba:"🕋",key:"🔑",keyboard:"⌨️",keycap_ten:"🔟",kick_scooter:"🛴",kimono:"👘",kiss:"💋",kissing:"😗",kissing_cat:"😽",kissing_closed_eyes:"😚",kissing_heart:"😘",kissing_smiling_eyes:"😙",kiwi_fruit:"🥝",koala:"🐨",koko:"🈁",label:"🏷",large_blue_circle:"🔵",large_blue_diamond:"🔷",large_orange_diamond:"🔶",last_quarter_moon:"🌗",last_quarter_moon_with_face:"🌜",latin_cross:"✝️",laughing:"😆",leaves:"🍃",ledger:"📒",left_luggage:"🛅",left_right_arrow:"↔️",leftwards_arrow_with_hook:"↩️",lemon:"🍋",leo:"♌️",leopard:"🐆",level_slider:"🎚",libra:"♎️",light_rail:"🚈",link:"🔗",lion:"🦁",lips:"👄",lipstick:"💄",lizard:"🦎",lock:"🔒",lock_with_ink_pen:"🔏",lollipop:"🍭",loop:"➿",loud_sound:"🔊",loudspeaker:"📢",love_hotel:"🏩",love_letter:"💌",low_brightness:"🔅",lying_face:"🤥",m:"Ⓜ️",mag:"🔍",mag_right:"🔎",mahjong:"🀄️",mailbox:"📫",mailbox_closed:"📪",mailbox_with_mail:"📬",mailbox_with_no_mail:"📭",man:"👨",man_artist:"👨‍🎨",man_astronaut:"👨‍🚀",man_cartwheeling:"🤸‍♂️",man_cook:"👨‍🍳",man_dancing:"🕺",man_facepalming:"🤦‍♂️",man_factory_worker:"👨‍🏭",man_farmer:"👨‍🌾",man_firefighter:"👨‍🚒",man_health_worker:"👨‍⚕️",man_in_tuxedo:"🤵",man_judge:"👨‍⚖️",man_juggling:"🤹‍♂️",man_mechanic:"👨‍🔧",man_office_worker:"👨‍💼",man_pilot:"👨‍✈️",man_playing_handball:"🤾‍♂️",man_playing_water_polo:"🤽‍♂️",man_scientist:"👨‍🔬",man_shrugging:"🤷‍♂️",man_singer:"👨‍🎤",man_student:"👨‍🎓",man_teacher:"👨‍🏫",man_technologist:"👨‍💻",man_with_gua_pi_mao:"👲",man_with_turban:"👳",tangerine:"🍊",mans_shoe:"👞",mantelpiece_clock:"🕰",maple_leaf:"🍁",martial_arts_uniform:"🥋",mask:"😷",massage_woman:"💆",massage_man:"💆‍♂️",meat_on_bone:"🍖",medal_military:"🎖",medal_sports:"🏅",mega:"📣",melon:"🍈",memo:"📝",men_wrestling:"🤼‍♂️",menorah:"🕎",mens:"🚹",metal:"🤘",metro:"🚇",microphone:"🎤",microscope:"🔬",milk_glass:"🥛",milky_way:"🌌",minibus:"🚐",minidisc:"💽",mobile_phone_off:"📴",money_mouth_face:"🤑",money_with_wings:"💸",moneybag:"💰",monkey:"🐒",monkey_face:"🐵",monorail:"🚝",moon:"🌔",mortar_board:"🎓",mosque:"🕌",motor_boat:"🛥",motor_scooter:"🛵",motorcycle:"🏍",motorway:"🛣",mount_fuji:"🗻",mountain:"⛰",mountain_biking_man:"🚵",mountain_biking_woman:"🚵‍♀️",mountain_cableway:"🚠",mountain_railway:"🚞",mountain_snow:"🏔",mouse:"🐭",mouse2:"🐁",movie_camera:"🎥",moyai:"🗿",mrs_claus:"🤶",muscle:"💪",mushroom:"🍄",musical_keyboard:"🎹",musical_note:"🎵",musical_score:"🎼",mute:"🔇",nail_care:"💅",name_badge:"📛",national_park:"🏞",nauseated_face:"🤢",necktie:"👔",negative_squared_cross_mark:"❎",nerd_face:"🤓",neutral_face:"😐",new:"🆕",new_moon:"🌑",new_moon_with_face:"🌚",newspaper:"📰",newspaper_roll:"🗞",next_track_button:"⏭",ng:"🆖",no_good_man:"🙅‍♂️",no_good_woman:"🙅",night_with_stars:"🌃",no_bell:"🔕",no_bicycles:"🚳",no_entry:"⛔️",no_entry_sign:"🚫",no_mobile_phones:"📵",no_mouth:"😶",no_pedestrians:"🚷",no_smoking:"🚭","non-potable_water":"🚱",nose:"👃",notebook:"📓",notebook_with_decorative_cover:"📔",notes:"🎶",nut_and_bolt:"🔩",o:"⭕️",o2:"🅾️",ocean:"🌊",octopus:"🐙",oden:"🍢",office:"🏢",oil_drum:"🛢",ok:"🆗",ok_hand:"👌",ok_man:"🙆‍♂️",ok_woman:"🙆",old_key:"🗝",older_man:"👴",older_woman:"👵",om:"🕉",on:"🔛",oncoming_automobile:"🚘",oncoming_bus:"🚍",oncoming_police_car:"🚔",oncoming_taxi:"🚖",open_file_folder:"📂",open_hands:"👐",open_mouth:"😮",open_umbrella:"☂️",ophiuchus:"⛎",orange_book:"📙",orthodox_cross:"☦️",outbox_tray:"📤",owl:"🦉",ox:"🐂",package:"📦",page_facing_up:"📄",page_with_curl:"📃",pager:"📟",paintbrush:"🖌",palm_tree:"🌴",pancakes:"🥞",panda_face:"🐼",paperclip:"📎",paperclips:"🖇",parasol_on_ground:"⛱",parking:"🅿️",part_alternation_mark:"〽️",partly_sunny:"⛅️",passenger_ship:"🛳",passport_control:"🛂",pause_button:"⏸",peace_symbol:"☮️",peach:"🍑",peanuts:"🥜",pear:"🍐",pen:"🖊",pencil2:"✏️",penguin:"🐧",pensive:"😔",performing_arts:"🎭",persevere:"😣",person_fencing:"🤺",pouting_woman:"🙎",phone:"☎️",pick:"⛏",pig:"🐷",pig2:"🐖",pig_nose:"🐽",pill:"💊",pineapple:"🍍",ping_pong:"🏓",pisces:"♓️",pizza:"🍕",place_of_worship:"🛐",plate_with_cutlery:"🍽",play_or_pause_button:"⏯",point_down:"👇",point_left:"👈",point_right:"👉",point_up:"☝️",point_up_2:"👆",police_car:"🚓",policewoman:"👮‍♀️",poodle:"🐩",popcorn:"🍿",post_office:"🏣",postal_horn:"📯",postbox:"📮",potable_water:"🚰",potato:"🥔",pouch:"👝",poultry_leg:"🍗",pound:"💷",rage:"😡",pouting_cat:"😾",pouting_man:"🙎‍♂️",pray:"🙏",prayer_beads:"📿",pregnant_woman:"🤰",previous_track_button:"⏮",prince:"🤴",princess:"👸",printer:"🖨",purple_heart:"💜",purse:"👛",pushpin:"📌",put_litter_in_its_place:"🚮",question:"❓",rabbit:"🐰",rabbit2:"🐇",racehorse:"🐎",racing_car:"🏎",radio:"📻",radio_button:"🔘",radioactive:"☢️",railway_car:"🚃",railway_track:"🛤",rainbow:"🌈",rainbow_flag:"🏳️‍🌈",raised_back_of_hand:"🤚",raised_hand_with_fingers_splayed:"🖐",raised_hands:"🙌",raising_hand_woman:"🙋",raising_hand_man:"🙋‍♂️",ram:"🐏",ramen:"🍜",rat:"🐀",record_button:"⏺",recycle:"♻️",red_circle:"🔴",registered:"®️",relaxed:"☺️",relieved:"😌",reminder_ribbon:"🎗",repeat:"🔁",repeat_one:"🔂",rescue_worker_helmet:"⛑",restroom:"🚻",revolving_hearts:"💞",rewind:"⏪",rhinoceros:"🦏",ribbon:"🎀",rice:"🍚",rice_ball:"🍙",rice_cracker:"🍘",rice_scene:"🎑",right_anger_bubble:"🗯",ring:"💍",robot:"🤖",rocket:"🚀",rofl:"🤣",roll_eyes:"🙄",roller_coaster:"🎢",rooster:"🐓",rose:"🌹",rosette:"🏵",rotating_light:"🚨",round_pushpin:"📍",rowing_man:"🚣",rowing_woman:"🚣‍♀️",rugby_football:"🏉",running_man:"🏃",running_shirt_with_sash:"🎽",running_woman:"🏃‍♀️",sa:"🈂️",sagittarius:"♐️",sake:"🍶",sandal:"👡",santa:"🎅",satellite:"📡",saxophone:"🎷",school:"🏫",school_satchel:"🎒",scissors:"✂️",scorpion:"🦂",scorpius:"♏️",scream:"😱",scream_cat:"🙀",scroll:"📜",seat:"💺",secret:"㊙️",see_no_evil:"🙈",seedling:"🌱",selfie:"🤳",shallow_pan_of_food:"🥘",shamrock:"☘️",shark:"🦈",shaved_ice:"🍧",sheep:"🐑",shell:"🐚",shield:"🛡",shinto_shrine:"⛩",ship:"🚢",shirt:"👕",shopping:"🛍",shopping_cart:"🛒",shower:"🚿",shrimp:"🦐",signal_strength:"📶",six_pointed_star:"🔯",ski:"🎿",skier:"⛷",skull:"💀",skull_and_crossbones:"☠️",sleeping:"😴",sleeping_bed:"🛌",sleepy:"😪",slightly_frowning_face:"🙁",slightly_smiling_face:"🙂",slot_machine:"🎰",small_airplane:"🛩",small_blue_diamond:"🔹",small_orange_diamond:"🔸",small_red_triangle:"🔺",small_red_triangle_down:"🔻",smile:"😄",smile_cat:"😸",smiley:"😃",smiley_cat:"😺",smiling_imp:"😈",smirk:"😏",smirk_cat:"😼",smoking:"🚬",snail:"🐌",snake:"🐍",sneezing_face:"🤧",snowboarder:"🏂",snowflake:"❄️",snowman:"⛄️",snowman_with_snow:"☃️",sob:"😭",soccer:"⚽️",soon:"🔜",sos:"🆘",sound:"🔉",space_invader:"👾",spades:"♠️",spaghetti:"🍝",sparkle:"❇️",sparkler:"🎇",sparkles:"✨",sparkling_heart:"💖",speak_no_evil:"🙊",speaker:"🔈",speaking_head:"🗣",speech_balloon:"💬",speedboat:"🚤",spider:"🕷",spider_web:"🕸",spiral_calendar:"🗓",spiral_notepad:"🗒",spoon:"🥄",squid:"🦑",stadium:"🏟",star:"⭐️",star2:"🌟",star_and_crescent:"☪️",star_of_david:"✡️",stars:"🌠",station:"🚉",statue_of_liberty:"🗽",steam_locomotive:"🚂",stew:"🍲",stop_button:"⏹",stop_sign:"🛑",stopwatch:"⏱",straight_ruler:"📏",strawberry:"🍓",stuck_out_tongue:"😛",stuck_out_tongue_closed_eyes:"😝",stuck_out_tongue_winking_eye:"😜",studio_microphone:"🎙",stuffed_flatbread:"🥙",sun_behind_large_cloud:"🌥",sun_behind_rain_cloud:"🌦",sun_behind_small_cloud:"🌤",sun_with_face:"🌞",sunflower:"🌻",sunglasses:"😎",sunny:"☀️",sunrise:"🌅",sunrise_over_mountains:"🌄",surfing_man:"🏄",surfing_woman:"🏄‍♀️",sushi:"🍣",suspension_railway:"🚟",sweat:"😓",sweat_drops:"💦",sweat_smile:"😅",sweet_potato:"🍠",swimming_man:"🏊",swimming_woman:"🏊‍♀️",symbols:"🔣",synagogue:"🕍",syringe:"💉",taco:"🌮",tada:"🎉",tanabata_tree:"🎋",taurus:"♉️",taxi:"🚕",tea:"🍵",telephone_receiver:"📞",telescope:"🔭",tennis:"🎾",tent:"⛺️",thermometer:"🌡",thinking:"🤔",thought_balloon:"💭",ticket:"🎫",tickets:"🎟",tiger:"🐯",tiger2:"🐅",timer_clock:"⏲",tipping_hand_man:"💁‍♂️",tired_face:"😫",tm:"™️",toilet:"🚽",tokyo_tower:"🗼",tomato:"🍅",tongue:"👅",top:"🔝",tophat:"🎩",tornado:"🌪",trackball:"🖲",tractor:"🚜",traffic_light:"🚥",train:"🚋",train2:"🚆",tram:"🚊",triangular_flag_on_post:"🚩",triangular_ruler:"📐",trident:"🔱",triumph:"😤",trolleybus:"🚎",trophy:"🏆",tropical_drink:"🍹",tropical_fish:"🐠",truck:"🚚",trumpet:"🎺",tulip:"🌷",tumbler_glass:"🥃",turkey:"🦃",turtle:"🐢",tv:"📺",twisted_rightwards_arrows:"🔀",two_hearts:"💕",two_men_holding_hands:"👬",two_women_holding_hands:"👭",u5272:"🈹",u5408:"🈴",u55b6:"🈺",u6307:"🈯️",u6708:"🈷️",u6709:"🈶",u6e80:"🈵",u7121:"🈚️",u7533:"🈸",u7981:"🈲",u7a7a:"🈳",umbrella:"☔️",unamused:"😒",underage:"🔞",unicorn:"🦄",unlock:"🔓",up:"🆙",upside_down_face:"🙃",v:"✌️",vertical_traffic_light:"🚦",vhs:"📼",vibration_mode:"📳",video_camera:"📹",video_game:"🎮",violin:"🎻",virgo:"♍️",volcano:"🌋",volleyball:"🏐",vs:"🆚",vulcan_salute:"🖖",walking_man:"🚶",walking_woman:"🚶‍♀️",waning_crescent_moon:"🌘",waning_gibbous_moon:"🌖",warning:"⚠️",wastebasket:"🗑",watch:"⌚️",water_buffalo:"🐃",watermelon:"🍉",wave:"👋",wavy_dash:"〰️",waxing_crescent_moon:"🌒",wc:"🚾",weary:"😩",wedding:"💒",weight_lifting_man:"🏋️",weight_lifting_woman:"🏋️‍♀️",whale:"🐳",whale2:"🐋",wheel_of_dharma:"☸️",wheelchair:"♿️",white_check_mark:"✅",white_circle:"⚪️",white_flag:"🏳️",white_flower:"💮",white_large_square:"⬜️",white_medium_small_square:"◽️",white_medium_square:"◻️",white_small_square:"▫️",white_square_button:"🔳",wilted_flower:"🥀",wind_chime:"🎐",wind_face:"🌬",wine_glass:"🍷",wink:"😉",wolf:"🐺",woman:"👩",woman_artist:"👩‍🎨",woman_astronaut:"👩‍🚀",woman_cartwheeling:"🤸‍♀️",woman_cook:"👩‍🍳",woman_facepalming:"🤦‍♀️",woman_factory_worker:"👩‍🏭",woman_farmer:"👩‍🌾",woman_firefighter:"👩‍🚒",woman_health_worker:"👩‍⚕️",woman_judge:"👩‍⚖️",woman_juggling:"🤹‍♀️",woman_mechanic:"👩‍🔧",woman_office_worker:"👩‍💼",woman_pilot:"👩‍✈️",woman_playing_handball:"🤾‍♀️",woman_playing_water_polo:"🤽‍♀️",woman_scientist:"👩‍🔬",woman_shrugging:"🤷‍♀️",woman_singer:"👩‍🎤",woman_student:"👩‍🎓",woman_teacher:"👩‍🏫",woman_technologist:"👩‍💻",woman_with_turban:"👳‍♀️",womans_clothes:"👚",womans_hat:"👒",women_wrestling:"🤼‍♀️",womens:"🚺",world_map:"🗺",worried:"😟",wrench:"🔧",writing_hand:"✍️",x:"❌",yellow_heart:"💛",yen:"💴",yin_yang:"☯️",yum:"😋",zap:"⚡️",zipper_mouth_face:"🤐",zzz:"💤",octocat:':octocat:',showdown:"S"},o.Converter=function(e){"use strict";var t={},r=[],n=[],a={},i=l,p={parsed:{},raw:"",format:""};function f(e,t){if(t=t||null,o.helper.isString(e)){if(t=e=o.helper.stdExtName(e),o.extensions[e])return console.warn("DEPRECATION WARNING: "+e+" is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!"),void function(e,t){"function"==typeof e&&(e=e(new o.Converter));o.helper.isArray(e)||(e=[e]);var a=d(e,t);if(!a.valid)throw Error(a.error);for(var i=0;i[ \t]+¨NBSP;<"),!t){if(!window||!window.document)throw new Error("HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM");t=window.document}var r=t.createElement("div");r.innerHTML=e;var n={preList:function(e){for(var t=e.querySelectorAll("pre"),r=[],n=0;n'}else r.push(t[n].innerHTML),t[n].innerHTML="",t[n].setAttribute("prenum",n.toString());return r}(r)};!function e(t){for(var r=0;r? ?(['"].*['"])?\)$/m)>-1)i="";else if(!i){if(a||(a=n.toLowerCase().replace(/ ?\n/g," ")),i="#"+a,o.helper.isUndefined(r.gUrls[a]))return e;i=r.gUrls[a],o.helper.isUndefined(r.gTitles[a])||(l=r.gTitles[a])}var u='"};return e=(e=(e=(e=(e=r.converter._dispatch("anchors.before",e,t,r)).replace(/\[((?:\[[^\]]*]|[^\[\]])*)] ?(?:\n *)?\[(.*?)]()()()()/g,n)).replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<([^>]*)>(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,n)).replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]??(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,n)).replace(/\[([^\[\]]+)]()()()()()/g,n),t.ghMentions&&(e=e.replace(/(^|\s)(\\)?(@([a-z\d]+(?:[a-z\d.-]+?[a-z\d]+)*))/gim,(function(e,r,n,a,i){if("\\"===n)return r+a;if(!o.helper.isString(t.ghMentionsLink))throw new Error("ghMentionsLink option must be a string");var s=t.ghMentionsLink.replace(/\{u}/g,i),c="";return t.openLinksInNewWindow&&(c=' rel="noopener noreferrer" target="¨E95Eblank"'),r+'"+a+""}))),e=r.converter._dispatch("anchors.after",e,t,r)}));var h=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+?\.[^'">\s]+?)()(\1)?(?=\s|$)(?!["<>])/gi,m=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+?)([.!?,()\[\]])?(\1)?(?=\s|$)(?!["<>])/gi,g=/()<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)()>()/gi,b=/(^|\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?=$|\s)/gim,_=/<()(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,k=function(e){"use strict";return function(t,r,n,a,i,s,c){var l=n=n.replace(o.helper.regexes.asteriskDashAndColon,o.helper.escapeCharactersCallback),u="",d="",p=r||"",f=c||"";return/^www\./i.test(n)&&(n=n.replace(/^www\./i,"http://www.")),e.excludeTrailingPunctuationFromURLs&&s&&(u=s),e.openLinksInNewWindow&&(d=' rel="noopener noreferrer" target="¨E95Eblank"'),p+'"+l+""+u+f}},y=function(e,t){"use strict";return function(r,n,a){var i="mailto:";return n=n||"",a=o.subParser("unescapeSpecialChars")(a,e,t),e.encodeEmails?(i=o.helper.encodeEmailAddress(i+a),a=o.helper.encodeEmailAddress(a)):i+=a,n+''+a+""}};o.subParser("autoLinks",(function(e,t,r){"use strict";return e=(e=(e=r.converter._dispatch("autoLinks.before",e,t,r)).replace(g,k(t))).replace(_,y(t,r)),e=r.converter._dispatch("autoLinks.after",e,t,r)})),o.subParser("simplifiedAutoLinks",(function(e,t,r){"use strict";return t.simplifiedAutoLink?(e=r.converter._dispatch("simplifiedAutoLinks.before",e,t,r),e=(e=t.excludeTrailingPunctuationFromURLs?e.replace(m,k(t)):e.replace(h,k(t))).replace(b,y(t,r)),e=r.converter._dispatch("simplifiedAutoLinks.after",e,t,r)):e})),o.subParser("blockGamut",(function(e,t,r){"use strict";return e=r.converter._dispatch("blockGamut.before",e,t,r),e=o.subParser("blockQuotes")(e,t,r),e=o.subParser("headers")(e,t,r),e=o.subParser("horizontalRule")(e,t,r),e=o.subParser("lists")(e,t,r),e=o.subParser("codeBlocks")(e,t,r),e=o.subParser("tables")(e,t,r),e=o.subParser("hashHTMLBlocks")(e,t,r),e=o.subParser("paragraphs")(e,t,r),e=r.converter._dispatch("blockGamut.after",e,t,r)})),o.subParser("blockQuotes",(function(e,t,r){"use strict";e=r.converter._dispatch("blockQuotes.before",e,t,r),e+="\n\n";var n=/(^ {0,3}>[ \t]?.+\n(.+\n)*\n*)+/gm;return t.splitAdjacentBlockquotes&&(n=/^ {0,3}>[\s\S]*?(?:\n\n)/gm),e=e.replace(n,(function(e){return e=(e=(e=e.replace(/^[ \t]*>[ \t]?/gm,"")).replace(/¨0/g,"")).replace(/^[ \t]+$/gm,""),e=o.subParser("githubCodeBlocks")(e,t,r),e=(e=(e=o.subParser("blockGamut")(e,t,r)).replace(/(^|\n)/g,"$1 ")).replace(/(\s*
    [^\r]+?<\/pre>)/gm,(function(e,t){var r=t;return r=(r=r.replace(/^  /gm,"¨0")).replace(/¨0/g,"")})),o.subParser("hashBlock")("
    \n"+e+"\n
    ",t,r)})),e=r.converter._dispatch("blockQuotes.after",e,t,r)})),o.subParser("codeBlocks",(function(e,t,r){"use strict";e=r.converter._dispatch("codeBlocks.before",e,t,r);return e=(e=(e+="¨0").replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=¨0))/g,(function(e,n,a){var i=n,s=a,c="\n";return i=o.subParser("outdent")(i,t,r),i=o.subParser("encodeCode")(i,t,r),i=(i=(i=o.subParser("detab")(i,t,r)).replace(/^\n+/g,"")).replace(/\n+$/g,""),t.omitExtraWLInCodeBlocks&&(c=""),i="
    "+i+c+"
    ",o.subParser("hashBlock")(i,t,r)+s}))).replace(/¨0/,""),e=r.converter._dispatch("codeBlocks.after",e,t,r)})),o.subParser("codeSpans",(function(e,t,r){"use strict";return void 0===(e=r.converter._dispatch("codeSpans.before",e,t,r))&&(e=""),e=e.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,(function(e,n,a,i){var s=i;return s=(s=s.replace(/^([ \t]*)/g,"")).replace(/[ \t]*$/g,""),s=n+""+(s=o.subParser("encodeCode")(s,t,r))+"",s=o.subParser("hashHTMLSpans")(s,t,r)})),e=r.converter._dispatch("codeSpans.after",e,t,r)})),o.subParser("completeHTMLDocument",(function(e,t,r){"use strict";if(!t.completeHTMLDocument)return e;e=r.converter._dispatch("completeHTMLDocument.before",e,t,r);var n="html",a="\n",o="",i='\n',s="",c="";for(var l in void 0!==r.metadata.parsed.doctype&&(a="\n","html"!==(n=r.metadata.parsed.doctype.toString().toLowerCase())&&"html5"!==n||(i='')),r.metadata.parsed)if(r.metadata.parsed.hasOwnProperty(l))switch(l.toLowerCase()){case"doctype":break;case"title":o=""+r.metadata.parsed.title+"\n";break;case"charset":i="html"===n||"html5"===n?'\n':'\n';break;case"language":case"lang":s=' lang="'+r.metadata.parsed[l]+'"',c+='\n';break;default:c+='\n'}return e=a+"\n\n"+o+i+c+"\n\n"+e.trim()+"\n\n",e=r.converter._dispatch("completeHTMLDocument.after",e,t,r)})),o.subParser("detab",(function(e,t,r){"use strict";return e=(e=(e=(e=(e=(e=r.converter._dispatch("detab.before",e,t,r)).replace(/\t(?=\t)/g," ")).replace(/\t/g,"¨A¨B")).replace(/¨B(.+?)¨A/g,(function(e,t){for(var r=t,n=4-r.length%4,a=0;a/g,">"),e=r.converter._dispatch("encodeAmpsAndAngles.after",e,t,r)})),o.subParser("encodeBackslashEscapes",(function(e,t,r){"use strict";return e=(e=(e=r.converter._dispatch("encodeBackslashEscapes.before",e,t,r)).replace(/\\(\\)/g,o.helper.escapeCharactersCallback)).replace(/\\([`*_{}\[\]()>#+.!~=|-])/g,o.helper.escapeCharactersCallback),e=r.converter._dispatch("encodeBackslashEscapes.after",e,t,r)})),o.subParser("encodeCode",(function(e,t,r){"use strict";return e=(e=r.converter._dispatch("encodeCode.before",e,t,r)).replace(/&/g,"&").replace(//g,">").replace(/([*_{}\[\]\\=~-])/g,o.helper.escapeCharactersCallback),e=r.converter._dispatch("encodeCode.after",e,t,r)})),o.subParser("escapeSpecialCharsWithinTagAttributes",(function(e,t,r){"use strict";return e=(e=(e=r.converter._dispatch("escapeSpecialCharsWithinTagAttributes.before",e,t,r)).replace(/<\/?[a-z\d_:-]+(?:[\s]+[\s\S]+?)?>/gi,(function(e){return e.replace(/(.)<\/?code>(?=.)/g,"$1`").replace(/([\\`*_~=|])/g,o.helper.escapeCharactersCallback)}))).replace(/-]|-[^>])(?:[^-]|-[^-])*)--)>/gi,(function(e){return e.replace(/([\\`*_~=|])/g,o.helper.escapeCharactersCallback)})),e=r.converter._dispatch("escapeSpecialCharsWithinTagAttributes.after",e,t,r)})),o.subParser("githubCodeBlocks",(function(e,t,r){"use strict";return t.ghCodeBlocks?(e=r.converter._dispatch("githubCodeBlocks.before",e,t,r),e=(e=(e+="¨0").replace(/(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g,(function(e,n,a,i){var s=t.omitExtraWLInCodeBlocks?"":"\n";return i=o.subParser("encodeCode")(i,t,r),i="
    "+(i=(i=(i=o.subParser("detab")(i,t,r)).replace(/^\n+/g,"")).replace(/\n+$/g,""))+s+"
    ",i=o.subParser("hashBlock")(i,t,r),"\n\n¨G"+(r.ghCodeBlocks.push({text:e,codeblock:i})-1)+"G\n\n"}))).replace(/¨0/,""),r.converter._dispatch("githubCodeBlocks.after",e,t,r)):e})),o.subParser("hashBlock",(function(e,t,r){"use strict";return e=(e=r.converter._dispatch("hashBlock.before",e,t,r)).replace(/(^\n+|\n+$)/g,""),e="\n\n¨K"+(r.gHtmlBlocks.push(e)-1)+"K\n\n",e=r.converter._dispatch("hashBlock.after",e,t,r)})),o.subParser("hashCodeTags",(function(e,t,r){"use strict";e=r.converter._dispatch("hashCodeTags.before",e,t,r);return e=o.helper.replaceRecursiveRegExp(e,(function(e,n,a,i){var s=a+o.subParser("encodeCode")(n,t,r)+i;return"¨C"+(r.gHtmlSpans.push(s)-1)+"C"}),"]*>","","gim"),e=r.converter._dispatch("hashCodeTags.after",e,t,r)})),o.subParser("hashElement",(function(e,t,r){"use strict";return function(e,t){var n=t;return n=(n=(n=n.replace(/\n\n/g,"\n")).replace(/^\n/,"")).replace(/\n+$/g,""),n="\n\n¨K"+(r.gHtmlBlocks.push(n)-1)+"K\n\n"}})),o.subParser("hashHTMLBlocks",(function(e,t,r){"use strict";e=r.converter._dispatch("hashHTMLBlocks.before",e,t,r);var n=["pre","div","h1","h2","h3","h4","h5","h6","blockquote","table","dl","ol","ul","script","noscript","form","fieldset","iframe","math","style","section","header","footer","nav","article","aside","address","audio","canvas","figure","hgroup","output","video","p"],a=function(e,t,n,a){var o=e;return-1!==n.search(/\bmarkdown\b/)&&(o=n+r.converter.makeHtml(t)+a),"\n\n¨K"+(r.gHtmlBlocks.push(o)-1)+"K\n\n"};t.backslashEscapesHTMLTags&&(e=e.replace(/\\<(\/?[^>]+?)>/g,(function(e,t){return"<"+t+">"})));for(var i=0;i]*>)","im"),l="<"+n[i]+"\\b[^>]*>",u="";-1!==(s=o.helper.regexIndexOf(e,c));){var d=o.helper.splitAtIndex(e,s),p=o.helper.replaceRecursiveRegExp(d[1],a,l,u,"im");if(p===d[1])break;e=d[0].concat(p)}return e=e.replace(/(\n {0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,o.subParser("hashElement")(e,t,r)),e=(e=o.helper.replaceRecursiveRegExp(e,(function(e){return"\n\n¨K"+(r.gHtmlBlocks.push(e)-1)+"K\n\n"}),"^ {0,3}\x3c!--","--\x3e","gm")).replace(/(?:\n\n)( {0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,o.subParser("hashElement")(e,t,r)),e=r.converter._dispatch("hashHTMLBlocks.after",e,t,r)})),o.subParser("hashHTMLSpans",(function(e,t,r){"use strict";function n(e){return"¨C"+(r.gHtmlSpans.push(e)-1)+"C"}return e=(e=(e=(e=(e=r.converter._dispatch("hashHTMLSpans.before",e,t,r)).replace(/<[^>]+?\/>/gi,(function(e){return n(e)}))).replace(/<([^>]+?)>[\s\S]*?<\/\1>/g,(function(e){return n(e)}))).replace(/<([^>]+?)\s[^>]+?>[\s\S]*?<\/\1>/g,(function(e){return n(e)}))).replace(/<[^>]+?>/gi,(function(e){return n(e)})),e=r.converter._dispatch("hashHTMLSpans.after",e,t,r)})),o.subParser("unhashHTMLSpans",(function(e,t,r){"use strict";e=r.converter._dispatch("unhashHTMLSpans.before",e,t,r);for(var n=0;n]*>\\s*]*>","^ {0,3}\\s*
    ","gim"),e=r.converter._dispatch("hashPreCodeTags.after",e,t,r)})),o.subParser("headers",(function(e,t,r){"use strict";e=r.converter._dispatch("headers.before",e,t,r);var n=isNaN(parseInt(t.headerLevelStart))?1:parseInt(t.headerLevelStart),a=t.smoothLivePreview?/^(.+)[ \t]*\n={2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n=+[ \t]*\n+/gm,i=t.smoothLivePreview?/^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n-+[ \t]*\n+/gm;e=(e=e.replace(a,(function(e,a){var i=o.subParser("spanGamut")(a,t,r),s=t.noHeaderId?"":' id="'+c(a)+'"',l=""+i+"";return o.subParser("hashBlock")(l,t,r)}))).replace(i,(function(e,a){var i=o.subParser("spanGamut")(a,t,r),s=t.noHeaderId?"":' id="'+c(a)+'"',l=n+1,u=""+i+"";return o.subParser("hashBlock")(u,t,r)}));var s=t.requireSpaceBeforeHeadingText?/^(#{1,6})[ \t]+(.+?)[ \t]*#*\n+/gm:/^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm;function c(e){var n,a;if(t.customizedHeaderId){var i=e.match(/\{([^{]+?)}\s*$/);i&&i[1]&&(e=i[1])}return n=e,a=o.helper.isString(t.prefixHeaderId)?t.prefixHeaderId:!0===t.prefixHeaderId?"section-":"",t.rawPrefixHeaderId||(n=a+n),n=t.ghCompatibleHeaderId?n.replace(/ /g,"-").replace(/&/g,"").replace(/¨T/g,"").replace(/¨D/g,"").replace(/[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g,"").toLowerCase():t.rawHeaderId?n.replace(/ /g,"-").replace(/&/g,"&").replace(/¨T/g,"¨").replace(/¨D/g,"$").replace(/["']/g,"-").toLowerCase():n.replace(/[^\w]/g,"").toLowerCase(),t.rawPrefixHeaderId&&(n=a+n),r.hashLinkCounts[n]?n=n+"-"+r.hashLinkCounts[n]++:r.hashLinkCounts[n]=1,n}return e=e.replace(s,(function(e,a,i){var s=i;t.customizedHeaderId&&(s=i.replace(/\s?\{([^{]+?)}\s*$/,""));var l=o.subParser("spanGamut")(s,t,r),u=t.noHeaderId?"":' id="'+c(i)+'"',d=n-1+a.length,p=""+l+"";return o.subParser("hashBlock")(p,t,r)})),e=r.converter._dispatch("headers.after",e,t,r)})),o.subParser("horizontalRule",(function(e,t,r){"use strict";e=r.converter._dispatch("horizontalRule.before",e,t,r);var n=o.subParser("hashBlock")("
    ",t,r);return e=(e=(e=e.replace(/^ {0,2}( ?-){3,}[ \t]*$/gm,n)).replace(/^ {0,2}( ?\*){3,}[ \t]*$/gm,n)).replace(/^ {0,2}( ?_){3,}[ \t]*$/gm,n),e=r.converter._dispatch("horizontalRule.after",e,t,r)})),o.subParser("images",(function(e,t,r){"use strict";function n(e,t,n,a,i,s,c,l){var u=r.gUrls,d=r.gTitles,p=r.gDimensions;if(n=n.toLowerCase(),l||(l=""),e.search(/\(? ?(['"].*['"])?\)$/m)>-1)a="";else if(""===a||null===a){if(""!==n&&null!==n||(n=t.toLowerCase().replace(/ ?\n/g," ")),a="#"+n,o.helper.isUndefined(u[n]))return e;a=u[n],o.helper.isUndefined(d[n])||(l=d[n]),o.helper.isUndefined(p[n])||(i=p[n].width,s=p[n].height)}t=t.replace(/"/g,""").replace(o.helper.regexes.asteriskDashAndColon,o.helper.escapeCharactersCallback);var f=''+t+'"}return e=(e=(e=(e=(e=(e=r.converter._dispatch("images.before",e,t,r)).replace(/!\[([^\]]*?)] ?(?:\n *)?\[([\s\S]*?)]()()()()()/g,n)).replace(/!\[([^\]]*?)][ \t]*()\([ \t]??(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,(function(e,t,r,a,o,i,s,c){return n(e,t,r,a=a.replace(/\s/g,""),o,i,s,c)}))).replace(/!\[([^\]]*?)][ \t]*()\([ \t]?<([^>]*)>(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(?:(["'])([^"]*?)\6))?[ \t]?\)/g,n)).replace(/!\[([^\]]*?)][ \t]*()\([ \t]??(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,n)).replace(/!\[([^\[\]]+)]()()()()()/g,n),e=r.converter._dispatch("images.after",e,t,r)})),o.subParser("italicsAndBold",(function(e,t,r){"use strict";function n(e,t,r){return t+e+r}return e=r.converter._dispatch("italicsAndBold.before",e,t,r),e=t.literalMidWordUnderscores?(e=(e=e.replace(/\b___(\S[\s\S]*?)___\b/g,(function(e,t){return n(t,"","")}))).replace(/\b__(\S[\s\S]*?)__\b/g,(function(e,t){return n(t,"","")}))).replace(/\b_(\S[\s\S]*?)_\b/g,(function(e,t){return n(t,"","")})):(e=(e=e.replace(/___(\S[\s\S]*?)___/g,(function(e,t){return/\S$/.test(t)?n(t,"",""):e}))).replace(/__(\S[\s\S]*?)__/g,(function(e,t){return/\S$/.test(t)?n(t,"",""):e}))).replace(/_([^\s_][\s\S]*?)_/g,(function(e,t){return/\S$/.test(t)?n(t,"",""):e})),e=t.literalMidWordAsterisks?(e=(e=e.replace(/([^*]|^)\B\*\*\*(\S[\s\S]*?)\*\*\*\B(?!\*)/g,(function(e,t,r){return n(r,t+"","")}))).replace(/([^*]|^)\B\*\*(\S[\s\S]*?)\*\*\B(?!\*)/g,(function(e,t,r){return n(r,t+"","")}))).replace(/([^*]|^)\B\*(\S[\s\S]*?)\*\B(?!\*)/g,(function(e,t,r){return n(r,t+"","")})):(e=(e=e.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g,(function(e,t){return/\S$/.test(t)?n(t,"",""):e}))).replace(/\*\*(\S[\s\S]*?)\*\*/g,(function(e,t){return/\S$/.test(t)?n(t,"",""):e}))).replace(/\*([^\s*][\s\S]*?)\*/g,(function(e,t){return/\S$/.test(t)?n(t,"",""):e})),e=r.converter._dispatch("italicsAndBold.after",e,t,r)})),o.subParser("lists",(function(e,t,r){"use strict";function n(e,n){r.gListLevel++,e=e.replace(/\n{2,}$/,"\n");var a=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0| {0,3}([*+-]|\d+[.])[ \t]+))/gm,i=/\n[ \t]*\n(?!¨0)/.test(e+="¨0");return t.disableForced4SpacesIndentedSublists&&(a=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm),e=(e=e.replace(a,(function(e,n,a,s,c,l,u){u=u&&""!==u.trim();var d=o.subParser("outdent")(c,t,r),p="";return l&&t.tasklists&&(p=' class="task-list-item" style="list-style-type: none;"',d=d.replace(/^[ \t]*\[(x|X| )?]/m,(function(){var e='-1?(d=o.subParser("githubCodeBlocks")(d,t,r),d=o.subParser("blockGamut")(d,t,r)):(d=(d=o.subParser("lists")(d,t,r)).replace(/\n$/,""),d=(d=o.subParser("hashHTMLBlocks")(d,t,r)).replace(/\n\n+/g,"\n\n"),d=i?o.subParser("paragraphs")(d,t,r):o.subParser("spanGamut")(d,t,r)),d=""+(d=d.replace("¨A",""))+"\n"}))).replace(/¨0/g,""),r.gListLevel--,n&&(e=e.replace(/\s+$/,"")),e}function a(e,t){if("ol"===t){var r=e.match(/^ *(\d+)\./);if(r&&"1"!==r[1])return' start="'+r[1]+'"'}return""}function i(e,r,o){var i=t.disableForced4SpacesIndentedSublists?/^ ?\d+\.[ \t]/gm:/^ {0,3}\d+\.[ \t]/gm,s=t.disableForced4SpacesIndentedSublists?/^ ?[*+-][ \t]/gm:/^ {0,3}[*+-][ \t]/gm,c="ul"===r?i:s,l="";if(-1!==e.search(c))!function t(u){var d=u.search(c),p=a(e,r);-1!==d?(l+="\n\n<"+r+p+">\n"+n(u.slice(0,d),!!o)+"\n",c="ul"===(r="ul"===r?"ol":"ul")?i:s,t(u.slice(d))):l+="\n\n<"+r+p+">\n"+n(u,!!o)+"\n"}(e);else{var u=a(e,r);l="\n\n<"+r+u+">\n"+n(e,!!o)+"\n"}return l}return e=r.converter._dispatch("lists.before",e,t,r),e+="¨0",e=(e=r.gListLevel?e.replace(/^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,(function(e,t,r){return i(t,r.search(/[*+-]/g)>-1?"ul":"ol",!0)})):e.replace(/(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,(function(e,t,r,n){return i(r,n.search(/[*+-]/g)>-1?"ul":"ol",!1)}))).replace(/¨0/,""),e=r.converter._dispatch("lists.after",e,t,r)})),o.subParser("metadata",(function(e,t,r){"use strict";if(!t.metadata)return e;function n(e){r.metadata.raw=e,(e=(e=e.replace(/&/g,"&").replace(/"/g,""")).replace(/\n {4}/g," ")).replace(/^([\S ]+): +([\s\S]+?)$/gm,(function(e,t,n){return r.metadata.parsed[t]=n,""}))}return e=(e=(e=(e=r.converter._dispatch("metadata.before",e,t,r)).replace(/^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/,(function(e,t,r){return n(r),"¨M"}))).replace(/^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/,(function(e,t,a){return t&&(r.metadata.format=t),n(a),"¨M"}))).replace(/¨M/g,""),e=r.converter._dispatch("metadata.after",e,t,r)})),o.subParser("outdent",(function(e,t,r){"use strict";return e=(e=(e=r.converter._dispatch("outdent.before",e,t,r)).replace(/^(\t|[ ]{1,4})/gm,"¨0")).replace(/¨0/g,""),e=r.converter._dispatch("outdent.after",e,t,r)})),o.subParser("paragraphs",(function(e,t,r){"use strict";for(var n=(e=(e=(e=r.converter._dispatch("paragraphs.before",e,t,r)).replace(/^\n+/g,"")).replace(/\n+$/g,"")).split(/\n{2,}/g),a=[],i=n.length,s=0;s=0?a.push(c):c.search(/\S/)>=0&&(c=(c=o.subParser("spanGamut")(c,t,r)).replace(/^([ \t]*)/g,"

    "),c+="

    ",a.push(c))}for(i=a.length,s=0;s]*>\s*]*>/.test(u)&&(d=!0)}a[s]=u}return e=(e=(e=a.join("\n")).replace(/^\n+/g,"")).replace(/\n+$/g,""),r.converter._dispatch("paragraphs.after",e,t,r)})),o.subParser("runExtension",(function(e,t,r,n){"use strict";if(e.filter)t=e.filter(t,n.converter,r);else if(e.regex){var a=e.regex;a instanceof RegExp||(a=new RegExp(a,"g")),t=t.replace(a,e.replace)}return t})),o.subParser("spanGamut",(function(e,t,r){"use strict";return e=r.converter._dispatch("spanGamut.before",e,t,r),e=o.subParser("codeSpans")(e,t,r),e=o.subParser("escapeSpecialCharsWithinTagAttributes")(e,t,r),e=o.subParser("encodeBackslashEscapes")(e,t,r),e=o.subParser("images")(e,t,r),e=o.subParser("anchors")(e,t,r),e=o.subParser("autoLinks")(e,t,r),e=o.subParser("simplifiedAutoLinks")(e,t,r),e=o.subParser("emoji")(e,t,r),e=o.subParser("underline")(e,t,r),e=o.subParser("italicsAndBold")(e,t,r),e=o.subParser("strikethrough")(e,t,r),e=o.subParser("ellipsis")(e,t,r),e=o.subParser("hashHTMLSpans")(e,t,r),e=o.subParser("encodeAmpsAndAngles")(e,t,r),t.simpleLineBreaks?/\n\n¨K/.test(e)||(e=e.replace(/\n+/g,"
    \n")):e=e.replace(/ +\n/g,"
    \n"),e=r.converter._dispatch("spanGamut.after",e,t,r)})),o.subParser("strikethrough",(function(e,t,r){"use strict";return t.strikethrough&&(e=(e=r.converter._dispatch("strikethrough.before",e,t,r)).replace(/(?:~){2}([\s\S]+?)(?:~){2}/g,(function(e,n){return function(e){return t.simplifiedAutoLink&&(e=o.subParser("simplifiedAutoLinks")(e,t,r)),""+e+""}(n)})),e=r.converter._dispatch("strikethrough.after",e,t,r)),e})),o.subParser("stripLinkDefinitions",(function(e,t,r){"use strict";var n=function(e,n,a,i,s,c,l){return n=n.toLowerCase(),a.match(/^data:.+?\/.+?;base64,/)?r.gUrls[n]=a.replace(/\s/g,""):r.gUrls[n]=o.subParser("encodeAmpsAndAngles")(a,t,r),c?c+l:(l&&(r.gTitles[n]=l.replace(/"|'/g,""")),t.parseImgDimensions&&i&&s&&(r.gDimensions[n]={width:i,height:s}),"")};return e=(e=(e=(e+="¨0").replace(/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm,n)).replace(/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm,n)).replace(/¨0/,"")})),o.subParser("tables",(function(e,t,r){"use strict";if(!t.tables)return e;function n(e,n){return""+o.subParser("spanGamut")(e,t,r)+"\n"}function a(e){var a,i=e.split("\n");for(a=0;a"+(c=o.subParser("spanGamut")(c,t,r))+"\n"));for(a=0;a\n\n\n",a=0;a\n";for(var o=0;o\n"}return r+="\n\n"}(h,g)}return e=(e=(e=(e=r.converter._dispatch("tables.before",e,t,r)).replace(/\\(\|)/g,o.helper.escapeCharactersCallback)).replace(/^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm,a)).replace(/^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm,a),e=r.converter._dispatch("tables.after",e,t,r)})),o.subParser("underline",(function(e,t,r){"use strict";return t.underline?(e=r.converter._dispatch("underline.before",e,t,r),e=(e=t.literalMidWordUnderscores?(e=e.replace(/\b___(\S[\s\S]*?)___\b/g,(function(e,t){return""+t+""}))).replace(/\b__(\S[\s\S]*?)__\b/g,(function(e,t){return""+t+""})):(e=e.replace(/___(\S[\s\S]*?)___/g,(function(e,t){return/\S$/.test(t)?""+t+"":e}))).replace(/__(\S[\s\S]*?)__/g,(function(e,t){return/\S$/.test(t)?""+t+"":e}))).replace(/(_)/g,o.helper.escapeCharactersCallback),e=r.converter._dispatch("underline.after",e,t,r)):e})),o.subParser("unescapeSpecialChars",(function(e,t,r){"use strict";return e=(e=r.converter._dispatch("unescapeSpecialChars.before",e,t,r)).replace(/¨E(\d+)E/g,(function(e,t){var r=parseInt(t);return String.fromCharCode(r)})),e=r.converter._dispatch("unescapeSpecialChars.after",e,t,r)})),o.subParser("makeMarkdown.blockquote",(function(e,t){"use strict";var r="";if(e.hasChildNodes())for(var n=e.childNodes,a=n.length,i=0;i ")})),o.subParser("makeMarkdown.codeBlock",(function(e,t){"use strict";var r=e.getAttribute("language"),n=e.getAttribute("precodenum");return"```"+r+"\n"+t.preList[n]+"\n```"})),o.subParser("makeMarkdown.codeSpan",(function(e){"use strict";return"`"+e.innerHTML+"`"})),o.subParser("makeMarkdown.emphasis",(function(e,t){"use strict";var r="";if(e.hasChildNodes()){r+="*";for(var n=e.childNodes,a=n.length,i=0;i",e.hasAttribute("width")&&e.hasAttribute("height")&&(t+=" ="+e.getAttribute("width")+"x"+e.getAttribute("height")),e.hasAttribute("title")&&(t+=' "'+e.getAttribute("title")+'"'),t+=")"),t})),o.subParser("makeMarkdown.links",(function(e,t){"use strict";var r="";if(e.hasChildNodes()&&e.hasAttribute("href")){var n=e.childNodes,a=n.length;r="[";for(var i=0;i",e.hasAttribute("title")&&(r+=' "'+e.getAttribute("title")+'"'),r+=")"}return r})),o.subParser("makeMarkdown.list",(function(e,t,r){"use strict";var n="";if(!e.hasChildNodes())return"";for(var a=e.childNodes,i=a.length,s=e.getAttribute("start")||1,c=0;c"+t.preList[r]+""})),o.subParser("makeMarkdown.strikethrough",(function(e,t){"use strict";var r="";if(e.hasChildNodes()){r+="~~";for(var n=e.childNodes,a=n.length,i=0;itr>th"),c=e.querySelectorAll("tbody>tr");for(r=0;rh&&(h=m)}for(r=0;r/g,"\\$1>")).replace(/^#/gm,"\\#")).replace(/^(\s*)([-=]{3,})(\s*)$/,"$1\\$2$3")).replace(/^( {0,3}\d+)\./gm,"$1\\.")).replace(/^( {0,3})([+-])/gm,"$1\\$2")).replace(/]([\s]*)\(/g,"\\]$1\\(")).replace(/^ {0,3}\[([\S \t]*?)]:/gm,"\\[$1]:")}));void 0===(n=function(){"use strict";return o}.call(t,r,t,e))||(e.exports=n)}).call(this)},NMb1:function(e,t){e.exports=window.wp.deprecated},SVSp:function(e,t){e.exports=window.wp.shortcode},UuzZ:function(e,t){e.exports=window.wp.autop},YLtl:function(e,t){e.exports=window.lodash},abaT:function(e,t,r){"use strict";t.a=function(e,t){var r={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"},n={};for(var a in r)n[r[a]]=a;var o={};e.prototype.toName=function(t){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var a,i,s=n[this.toHex()];if(s)return s;if(null==t?void 0:t.closest){var c=this.toRgb(),l=1/0,u="black";if(!o.length)for(var d in r)o[d]=new e(r[d]).toRgb();for(var p in r){var f=(a=c,i=o[p],Math.pow(a.r-i.r,2)+Math.pow(a.g-i.g,2)+Math.pow(a.b-i.b,2));f0:"number"==typeof e},o=function(e,t,r){return void 0===t&&(t=0),void 0===r&&(r=Math.pow(10,t)),Math.round(r*e)/r+0},i=function(e,t,r){return void 0===t&&(t=0),void 0===r&&(r=1),e>r?r:e>t?e:t},s=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},c=function(e){return{r:i(e.r,0,255),g:i(e.g,0,255),b:i(e.b,0,255),a:i(e.a)}},l=function(e){return{r:o(e.r),g:o(e.g),b:o(e.b),a:o(e.a,3)}},u=/^#([0-9a-f]{3,8})$/i,d=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},p=function(e){var t=e.r,r=e.g,n=e.b,a=e.a,o=Math.max(t,r,n),i=o-Math.min(t,r,n),s=i?o===t?(r-n)/i:o===r?2+(n-t)/i:4+(t-r)/i:0;return{h:60*(s<0?s+6:s),s:o?i/o*100:0,v:o/255*100,a:a}},f=function(e){var t=e.h,r=e.s,n=e.v,a=e.a;t=t/360*6,r/=100,n/=100;var o=Math.floor(t),i=n*(1-r),s=n*(1-(t-o)*r),c=n*(1-(1-t+o)*r),l=o%6;return{r:255*[n,s,i,i,c,n][l],g:255*[c,n,n,s,i,i][l],b:255*[i,i,c,n,n,s][l],a:a}},h=function(e){return{h:s(e.h),s:i(e.s,0,100),l:i(e.l,0,100),a:i(e.a)}},m=function(e){return{h:o(e.h),s:o(e.s),l:o(e.l),a:o(e.a,3)}},g=function(e){return f((r=(t=e).s,{h:t.h,s:(r*=((n=t.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:t.a}));var t,r,n},b=function(e){return{h:(t=p(e)).h,s:(a=(200-(r=t.s))*(n=t.v)/100)>0&&a<200?r*n/100/(a<=100?a:200-a)*100:0,l:a/2,a:t.a};var t,r,n,a},_=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,k=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,y=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,w=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,v={string:[[function(e){var t=u.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:4===e.length?o(parseInt(e[3]+e[3],16)/255,2):1}:6===e.length||8===e.length?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:8===e.length?o(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=y.exec(e)||w.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:c({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(e){var t=_.exec(e)||k.exec(e);if(!t)return null;var r,a,o=h({h:(r=t[1],a=t[2],void 0===a&&(a="deg"),Number(r)*(n[a]||1)),s:Number(t[3]),l:Number(t[4]),a:void 0===t[5]?1:Number(t[5])/(t[6]?100:1)});return g(o)},"hsl"]],object:[[function(e){var t=e.r,r=e.g,n=e.b,o=e.a,i=void 0===o?1:o;return a(t)&&a(r)&&a(n)?c({r:Number(t),g:Number(r),b:Number(n),a:Number(i)}):null},"rgb"],[function(e){var t=e.h,r=e.s,n=e.l,o=e.a,i=void 0===o?1:o;if(!a(t)||!a(r)||!a(n))return null;var s=h({h:Number(t),s:Number(r),l:Number(n),a:Number(i)});return g(s)},"hsl"],[function(e){var t=e.h,r=e.s,n=e.v,o=e.a,c=void 0===o?1:o;if(!a(t)||!a(r)||!a(n))return null;var l=function(e){return{h:s(e.h),s:i(e.s,0,100),v:i(e.v,0,100),a:i(e.a)}}({h:Number(t),s:Number(r),v:Number(n),a:Number(c)});return f(l)},"hsv"]]},j=function(e,t){for(var r=0;r=.5},e.prototype.toHex=function(){return t=(e=l(this.rgba)).r,r=e.g,n=e.b,i=(a=e.a)<1?d(o(255*a)):"","#"+d(t)+d(r)+d(n)+i;var e,t,r,n,a,i},e.prototype.toRgb=function(){return l(this.rgba)},e.prototype.toRgbString=function(){return t=(e=l(this.rgba)).r,r=e.g,n=e.b,(a=e.a)<1?"rgba("+t+", "+r+", "+n+", "+a+")":"rgb("+t+", "+r+", "+n+")";var e,t,r,n,a},e.prototype.toHsl=function(){return m(b(this.rgba))},e.prototype.toHslString=function(){return t=(e=m(b(this.rgba))).h,r=e.s,n=e.l,(a=e.a)<1?"hsla("+t+", "+r+"%, "+n+"%, "+a+")":"hsl("+t+", "+r+"%, "+n+"%)";var e,t,r,n,a},e.prototype.toHsv=function(){return e=p(this.rgba),{h:o(e.h),s:o(e.s),v:o(e.v),a:o(e.a,3)};var e},e.prototype.invert=function(){return E({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a});var e},e.prototype.saturate=function(e){return void 0===e&&(e=.1),E(O(this.rgba,e))},e.prototype.desaturate=function(e){return void 0===e&&(e=.1),E(O(this.rgba,-e))},e.prototype.grayscale=function(){return E(O(this.rgba,-1))},e.prototype.lighten=function(e){return void 0===e&&(e=.1),E(x(this.rgba,e))},e.prototype.darken=function(e){return void 0===e&&(e=.1),E(x(this.rgba,-e))},e.prototype.rotate=function(e){return void 0===e&&(e=15),this.hue(this.hue()+e)},e.prototype.alpha=function(e){return"number"==typeof e?E({r:(t=this.rgba).r,g:t.g,b:t.b,a:e}):o(this.rgba.a,3);var t},e.prototype.hue=function(e){var t=b(this.rgba);return"number"==typeof e?E({h:e,s:t.s,l:t.l,a:t.a}):o(t.h)},e.prototype.isEqual=function(e){return this.toHex()===E(e).toHex()},e}(),E=function(e){return e instanceof S?e:new S(e)},B=[],N=function(e){e.forEach((function(e){B.indexOf(e)<0&&(e(S,v),B.push(e))}))}},g56x:function(e,t){e.exports=window.wp.hooks},l3Sj:function(e,t){e.exports=window.wp.i18n},ouCq:function(e,t){e.exports=window.wp.blockSerializationDefaultParser},pPDe:function(e,t,r){"use strict";var n,a;function o(e){return[e]}function i(){var e={clear:function(){e.head=null}};return e}function s(e,t,r){var n;if(e.length!==t.length)return!1;for(n=r;n0?z(G,--E):0;if(B--,F===10)B=1,q--;return F}function L(){F=E2||R(F)>3?"":" "}function Y(e){while(L())switch(R(F)){case 0:O(re(E-1),e);break;case 2:O(V(F),e);break;default:O(d(F),e)}return e}function Z(e,r){while(--r&&L())if(F<48||F>102||F>57&&F<65||F>70&&F<97)break;return Q(e,P()+(r<6&&N()==32&&L()==32))}function _(e){while(L())switch(F){case e:return E;case 34:case 39:return _(e===34||e===39?e:F);case 40:if(e===41)_(e);break;case 92:L();break}return E}function ee(e,r){while(L())if(e+F===47+10)break;else if(e+F===42+42&&N()===47)break;return"/*"+Q(r,E-1)+"*"+d(e===47?e:L())}function re(e){while(!R(N()))L();return Q(e,E)}function ae(e){return U(ce("",null,null,null,[""],e=T(e),0,[0],e))}function ce(e,r,a,c,n,t,s,u,i){var f=0;var o=0;var l=s;var v=0;var h=0;var p=0;var b=1;var w=1;var $=1;var k=0;var m="";var g=n;var x=t;var j=c;var z=m;while(w)switch(p=k,k=L()){case 34:case 39:case 91:case 40:z+=V(k);break;case 9:case 10:case 13:case 32:z+=X(p);break;case 92:z+=Z(P()-1,7);continue;case 47:switch(N()){case 42:case 47:O(te(ee(L(),P()),r,a),i);break;default:z+="/"}break;case 123*b:u[f++]=A(z)*$;case 125*b:case 59:case 0:switch(k){case 0:case 125:w=0;case 59+o:if(h>0&&A(z)-l)O(h>32?se(z+";",c,a,l-1):se(y(z," ","")+";",c,a,l-2),i);break;case 59:z+=";";default:O(j=ne(z,r,a,f,o,n,u,m,g=[],x=[],l),t);if(k===123)if(o===0)ce(z,r,j,j,g,t,l,u,x);else switch(v){case 100:case 109:case 115:ce(e,j,j,c&&O(ne(e,j,j,0,0,n,u,m,n,g=[],l),x),n,x,l,u,c?g:x);break;default:ce(z,j,j,j,[""],x,l,u,x)}}f=o=h=0,b=$=1,m=z="",l=s;break;case 58:l=1+A(z),h=p;default:if(b<1)if(k==123)--b;else if(k==125&&b++==0&&K()==125)continue;switch(z+=d(k),k*b){case 38:$=o>0?1:(z+="\f",-1);break;case 44:u[f++]=(A(z)-1)*$,$=1;break;case 64:if(N()===45)z+=V(L());v=N(),o=A(m=z+=re(P())),k++;break;case 45:if(p===45&&A(z)==2)b=0}}return t}function ne(e,r,a,c,t,s,u,i,f,o,l){var v=t-1;var h=t===0?s:[""];var p=M(h);for(var b=0,w=0,$=0;b0?h[d]+" "+m:y(m,/&\f/g,h[d])))f[$++]=x;return H(e,r,a,t===0?n:i,f,o,l)}function te(e,r,a){return H(e,r,a,c,d(J()),C(e,2,-2),0)}function se(e,r,a,c){return H(e,r,a,t,C(e,0,c),C(e,c+1,-1),c)}function ue(c,n){switch(m(c,n)){case 5103:return a+"print-"+c+c;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return a+c+c;case 5349:case 4246:case 4810:case 6968:case 2756:return a+c+r+c+e+c+c;case 6828:case 4268:return a+c+e+c+c;case 6165:return a+c+e+"flex-"+c+c;case 5187:return a+c+y(c,/(\w+).+(:[^]+)/,a+"box-$1$2"+e+"flex-$1$2")+c;case 5443:return a+c+e+"flex-item-"+y(c,/flex-|-self/,"")+c;case 4675:return a+c+e+"flex-line-pack"+y(c,/align-content|flex-|-self/,"")+c;case 5548:return a+c+e+y(c,"shrink","negative")+c;case 5292:return a+c+e+y(c,"basis","preferred-size")+c;case 6060:return a+"box-"+y(c,"-grow","")+a+c+e+y(c,"grow","positive")+c;case 4554:return a+y(c,/([^-])(transform)/g,"$1"+a+"$2")+c;case 6187:return y(y(y(c,/(zoom-|grab)/,a+"$1"),/(image-set)/,a+"$1"),c,"")+c;case 5495:case 3959:return y(c,/(image-set\([^]*)/,a+"$1"+"$`$1");case 4968:return y(y(c,/(.+:)(flex-)?(.*)/,a+"box-pack:$3"+e+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+a+c+c;case 4095:case 3583:case 4068:case 2532:return y(c,/(.+)-inline(.+)/,a+"$1$2")+c;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(A(c)-1-n>6)switch(z(c,n+1)){case 109:if(z(c,n+4)!==45)break;case 102:return y(c,/(.+:)(.+)-([^]+)/,"$1"+a+"$2-$3"+"$1"+r+(z(c,n+3)==108?"$3":"$2-$3"))+c;case 115:return~j(c,"stretch")?ue(y(c,"stretch","fill-available"),n)+c:c}break;case 4949:if(z(c,n+1)!==115)break;case 6444:switch(z(c,A(c)-3-(~j(c,"!important")&&10))){case 107:return y(c,":",":"+a)+c;case 101:return y(c,/(.+:)([^;!]+)(;|!.+)?/,"$1"+a+(z(c,14)===45?"inline-":"")+"box$3"+"$1"+a+"$2$3"+"$1"+e+"$2box$3")+c}break;case 5936:switch(z(c,n+11)){case 114:return a+c+e+y(c,/[svh]\w+-[tblr]{2}/,"tb")+c;case 108:return a+c+e+y(c,/[svh]\w+-[tblr]{2}/,"tb-rl")+c;case 45:return a+c+e+y(c,/[svh]\w+-[tblr]{2}/,"lr")+c}return a+c+e+c+c}return c}function ie(e,r){var a="";var c=M(e);for(var n=0;n1?"":r;case a=M(c)-1:case 2:return a===2?r+e+e:r+e;default:return r}}}))}))}} +//# sourceMappingURL=stylis.mjs.map + +// EXTERNAL MODULE: ./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js +var weak_memoize_browser_esm = __webpack_require__("gRFL"); + +// EXTERNAL MODULE: ./node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js +var emotion_memoize_browser_esm = __webpack_require__("SVgp"); + +// CONCATENATED MODULE: ./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js + + + + + +var last = function last(arr) { + return arr.length ? arr[arr.length - 1] : null; +}; // based on https://github.com/thysultan/stylis.js/blob/e6843c373ebcbbfade25ebcc23f540ed8508da0a/src/Tokenizer.js#L239-L244 + + +var emotion_cache_browser_esm_identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) { + var previous = 0; + var character = 0; + + while (true) { + previous = character; + character = N(); // &\f + + if (previous === 38 && character === 12) { + points[index] = 1; + } + + if (R(character)) { + break; + } + + L(); + } + + return Q(begin, E); +}; + +var emotion_cache_browser_esm_toRules = function toRules(parsed, points) { + // pretend we've started with a comma + var index = -1; + var character = 44; + + do { + switch (R(character)) { + case 0: + // &\f + if (character === 38 && N() === 12) { + // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings + // stylis inserts \f after & to know when & where it should replace this sequence with the context selector + // and when it should just concatenate the outer and inner selectors + // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here + points[index] = 1; + } + + parsed[index] += emotion_cache_browser_esm_identifierWithPointTracking(E - 1, points, index); + break; + + case 2: + parsed[index] += V(character); + break; + + case 4: + // comma + if (character === 44) { + // colon + parsed[++index] = N() === 58 ? '&\f' : ''; + points[index] = parsed[index].length; + break; + } + + // fallthrough + + default: + parsed[index] += d(character); + } + } while (character = L()); + + return parsed; +}; + +var emotion_cache_browser_esm_getRules = function getRules(value, points) { + return U(emotion_cache_browser_esm_toRules(T(value), points)); +}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11 + + +var fixedElements = /* #__PURE__ */new WeakMap(); +var compat = function compat(element) { + if (element.type !== 'rule' || !element.parent || // .length indicates if this rule contains pseudo or not + !element.length) { + return; + } + + var value = element.value, + parent = element.parent; + var isImplicitRule = element.column === parent.column && element.line === parent.line; + + while (parent.type !== 'rule') { + parent = parent.parent; + if (!parent) return; + } // short-circuit for the simplest case + + + if (element.props.length === 1 && value.charCodeAt(0) !== 58 + /* colon */ + && !fixedElements.get(parent)) { + return; + } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level) + // then the props has already been manipulated beforehand as they that array is shared between it and its "rule parent" + + + if (isImplicitRule) { + return; + } + + fixedElements.set(element, true); + var points = []; + var rules = emotion_cache_browser_esm_getRules(value, points); + var parentRules = parent.props; + + for (var i = 0, k = 0; i < rules.length; i++) { + for (var j = 0; j < parentRules.length; j++, k++) { + element.props[k] = points[i] ? rules[i].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i]; + } + } +}; +var removeLabel = function removeLabel(element) { + if (element.type === 'decl') { + var value = element.value; + + if ( // charcode for l + value.charCodeAt(0) === 108 && // charcode for b + value.charCodeAt(2) === 98) { + // this ignores label + element["return"] = ''; + element.value = ''; + } + } +}; +var ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason'; + +var isIgnoringComment = function isIgnoringComment(element) { + return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1; +}; + +var createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) { + return function (element, index, children) { + if (element.type !== 'rule') return; + var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g); + + if (unsafePseudoClasses && cache.compat !== true) { + var prevElement = index > 0 ? children[index - 1] : null; + + if (prevElement && isIgnoringComment(last(prevElement.children))) { + return; + } + + unsafePseudoClasses.forEach(function (unsafePseudoClass) { + console.error("The pseudo class \"" + unsafePseudoClass + "\" is potentially unsafe when doing server-side rendering. Try changing it to \"" + unsafePseudoClass.split('-child')[0] + "-of-type\"."); + }); + } + }; +}; + +var isImportRule = function isImportRule(element) { + return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64; +}; + +var isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) { + for (var i = index - 1; i >= 0; i--) { + if (!isImportRule(children[i])) { + return true; + } + } + + return false; +}; // use this to remove incorrect elements from further processing +// so they don't get handed to the `sheet` (or anything else) +// as that could potentially lead to additional logs which in turn could be overhelming to the user + + +var nullifyElement = function nullifyElement(element) { + element.type = ''; + element.value = ''; + element["return"] = ''; + element.children = ''; + element.props = ''; +}; + +var incorrectImportAlarm = function incorrectImportAlarm(element, index, children) { + if (!isImportRule(element)) { + return; + } + + if (element.parent) { + console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles."); + nullifyElement(element); + } else if (isPrependedWithRegularRules(index, children)) { + console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules."); + nullifyElement(element); + } +}; + +var defaultStylisPlugins = [ve]; + +var emotion_cache_browser_esm_createCache = function createCache(options) { + var key = options.key; + + if (false) {} + + if ( key === 'css') { + var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])"); // get SSRed styles out of the way of React's hydration + // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be) + // note this very very intentionally targets all style elements regardless of the key to ensure + // that creating a cache works inside of render of a React component + + Array.prototype.forEach.call(ssrStyles, function (node) { + // we want to only move elements which have a space in the data-emotion attribute value + // because that indicates that it is an Emotion 11 server-side rendered style elements + // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector + // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes) + // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles + // will not result in the Emotion 10 styles being destroyed + var dataEmotionAttribute = node.getAttribute('data-emotion'); + + if (dataEmotionAttribute.indexOf(' ') === -1) { + return; + } + document.head.appendChild(node); + node.setAttribute('data-s', ''); + }); + } + + var stylisPlugins = options.stylisPlugins || defaultStylisPlugins; + + if (false) {} + + var inserted = {}; // $FlowFixMe + + var container; + var nodesToHydrate = []; + + { + container = options.container || document.head; + Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which + // means that the style elements we're looking at are only Emotion 11 server-rendered style elements + document.querySelectorAll("style[data-emotion^=\"" + key + " \"]"), function (node) { + var attrib = node.getAttribute("data-emotion").split(' '); // $FlowFixMe + + for (var i = 1; i < attrib.length; i++) { + inserted[attrib[i]] = true; + } + + nodesToHydrate.push(node); + }); + } + + var _insert; + + var omnipresentPlugins = [compat, removeLabel]; + + if (false) {} + + { + var currentSheet; + var finalizingPlugins = [fe, false ? undefined : le(function (rule) { + currentSheet.insert(rule); + })]; + var serializer = oe(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins)); + + var stylis = function stylis(styles) { + return ie(ae(styles), serializer); + }; + + _insert = function insert(selector, serialized, sheet, shouldCache) { + currentSheet = sheet; + + if (false) {} + + stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles); + + if (shouldCache) { + cache.inserted[serialized.name] = true; + } + }; + } + + var cache = { + key: key, + sheet: new emotion_sheet_browser_esm["a" /* StyleSheet */]({ + key: key, + container: container, + nonce: options.nonce, + speedy: options.speedy, + prepend: options.prepend + }), + nonce: options.nonce, + inserted: inserted, + registered: {}, + insert: _insert + }; + cache.sheet.hydrate(nodesToHydrate); + return cache; +}; + +/* harmony default export */ var emotion_cache_browser_esm = __webpack_exports__["a"] = (emotion_cache_browser_esm_createCache); + + +/***/ }), + /***/ "+51k": /***/ (function(module, exports, __webpack_require__) { @@ -111,6 +434,8 @@ function getActiveElement() { /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _slot_fill_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("JYkG"); +// @ts-nocheck + /** * WordPress dependencies */ @@ -214,6 +539,34 @@ function isSymbol(value) { module.exports = isSymbol; +/***/ }), + +/***/ "/A+k": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var GetIntrinsic = __webpack_require__("j1Hc"); + +var $TypeError = GetIntrinsic('%TypeError%'); + +var Get = __webpack_require__("aBsX"); +var ToLength = __webpack_require__("3HW2"); +var Type = __webpack_require__("PoQ0"); + +// https://262.ecma-international.org/11.0/#sec-lengthofarraylike + +module.exports = function LengthOfArrayLike(obj) { + if (Type(obj) !== 'Object') { + throw new $TypeError('Assertion failed: `obj` must be an Object'); + } + return ToLength(Get(obj, 'length')); +}; + +// TODO: use this all over + + /***/ }), /***/ "/ZKw": @@ -223,7 +576,7 @@ module.exports = isSymbol; var define = __webpack_require__("82c2"); -var callBind = __webpack_require__("PrET"); +var callBind = __webpack_require__("SLit"); var implementation = __webpack_require__("yN6O"); var getPolyfill = __webpack_require__("22yB"); @@ -1009,7 +1362,7 @@ exports['default'] = (0, _reactWithStyles.withStyles)(function (_ref3) { "use strict"; -var GetIntrinsic = __webpack_require__("rZ7t"); +var GetIntrinsic = __webpack_require__("j1Hc"); var $TypeError = GetIntrinsic('%TypeError%'); var $SyntaxError = GetIntrinsic('%SyntaxError%'); @@ -1182,57 +1535,15 @@ module.exports = function isArguments(value) { /***/ }), -/***/ "1LY1": +/***/ "1P9b": /***/ (function(module, exports, __webpack_require__) { "use strict"; -var bind = __webpack_require__("D3zA"); -var GetIntrinsic = __webpack_require__("rZ7t"); +// http://262.ecma-international.org/5.1/#sec-9.11 -var $apply = GetIntrinsic('%Function.prototype.apply%'); -var $call = GetIntrinsic('%Function.prototype.call%'); -var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply); - -var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true); -var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); -var $max = GetIntrinsic('%Math.max%'); - -if ($defineProperty) { - try { - $defineProperty({}, 'a', { value: 1 }); - } catch (e) { - // IE 8 has a broken defineProperty - $defineProperty = null; - } -} - -module.exports = function callBind(originalFunction) { - var func = $reflectApply(bind, $call, arguments); - if ($gOPD && $defineProperty) { - var desc = $gOPD(func, 'length'); - if (desc.configurable) { - // original length, plus the receiver, minus any additional arguments (after the receiver) - $defineProperty( - func, - 'length', - { value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) } - ); - } - } - return func; -}; - -var applyBind = function applyBind() { - return $reflectApply(bind, $apply, arguments); -}; - -if ($defineProperty) { - $defineProperty(module.exports, 'apply', { value: applyBind }); -} else { - module.exports.apply = applyBind; -} +module.exports = __webpack_require__("Asd8"); /***/ }), @@ -1451,6 +1762,34 @@ function addEventListener(target, eventName, listener, options) { +/***/ }), + +/***/ "1ao6": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var GetIntrinsic = __webpack_require__("j1Hc"); + +var $TypeError = GetIntrinsic('%TypeError%'); + +var IsPropertyKey = __webpack_require__("nR7C"); +var Type = __webpack_require__("PoQ0"); + +// https://ecma-international.org/ecma-262/6.0/#sec-hasproperty + +module.exports = function HasProperty(O, P) { + if (Type(O) !== 'Object') { + throw new $TypeError('Assertion failed: `O` must be an Object'); + } + if (!IsPropertyKey(P)) { + throw new $TypeError('Assertion failed: `P` must be a Property Key'); + } + return P in O; +}; + + /***/ }), /***/ "1iEr": @@ -1745,6 +2084,26 @@ function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { module.exports = hoistNonReactStatics; +/***/ }), + +/***/ "3HW2": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var MAX_SAFE_INTEGER = __webpack_require__("yyeE"); + +var ToIntegerOrInfinity = __webpack_require__("3iup"); + +module.exports = function ToLength(argument) { + var len = ToIntegerOrInfinity(argument); + if (len <= 0) { return 0; } // includes converting -0 to +0 + if (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; } + return len; +}; + + /***/ }), /***/ "3HjQ": @@ -1794,44 +2153,6 @@ function separateStyles(stylesArray) { exports['default'] = separateStyles; -/***/ }), - -/***/ "3aeR": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var GetIntrinsic = __webpack_require__("rZ7t"); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var inspect = __webpack_require__("4qvr"); - -var IsPropertyKey = __webpack_require__("i10q"); -var Type = __webpack_require__("V1cy"); - -/** - * 7.3.1 Get (O, P) - https://ecma-international.org/ecma-262/6.0/#sec-get-o-p - * 1. Assert: Type(O) is Object. - * 2. Assert: IsPropertyKey(P) is true. - * 3. Return O.[[Get]](P, O). - */ - -module.exports = function Get(O, P) { - // 7.3.1.1 - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - // 7.3.1.2 - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P)); - } - // 7.3.1.3 - return O[P]; -}; - - /***/ }), /***/ "3gBW": @@ -1843,20 +2164,24 @@ module.exports = __webpack_require__("50qU"); /***/ }), -/***/ "4HRn": +/***/ "3iup": /***/ (function(module, exports, __webpack_require__) { "use strict"; -// var modulo = require('./modulo'); -var $floor = Math.floor; +var ES5ToInteger = __webpack_require__("Wfh+"); -// http://262.ecma-international.org/5.1/#sec-5.2 +var ToNumber = __webpack_require__("Rhcr"); -module.exports = function floor(x) { - // return x - modulo(x, 1); - return $floor(x); +// https://www.ecma-international.org/ecma-262/11.0/#sec-tointeger + +module.exports = function ToInteger(value) { + var number = ToNumber(value); + if (number !== 0) { + number = ES5ToInteger(number); + } + return number === 0 ? 0 : number; }; @@ -2096,23 +2421,6 @@ function isTextField(element) { -/***/ }), - -/***/ "4qRI": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -function memoize(fn) { - var cache = {}; - return function (arg) { - if (cache[arg] === undefined) cache[arg] = fn(arg); - return cache[arg]; - }; -} - -/* harmony default export */ __webpack_exports__["a"] = (memoize); - - /***/ }), /***/ "4qvr": @@ -3138,6 +3446,37 @@ module.exports = function getPolyfill() { }; +/***/ }), + +/***/ "6/BL": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var has = __webpack_require__("oNNP"); + +var assertRecord = __webpack_require__("10Kj"); + +var Type = __webpack_require__("PoQ0"); + +// https://ecma-international.org/ecma-262/6.0/#sec-isdatadescriptor + +module.exports = function IsDataDescriptor(Desc) { + if (typeof Desc === 'undefined') { + return false; + } + + assertRecord(Type, 'Property Descriptor', 'Desc', Desc); + + if (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) { + return false; + } + + return true; +}; + + /***/ }), /***/ "60zJ": @@ -3170,6 +3509,67 @@ module.exports = function Type(x) { }; +/***/ }), + +/***/ "6Ehn": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var GetIntrinsic = __webpack_require__("j1Hc"); + +var $ArrayPrototype = GetIntrinsic('%Array.prototype%'); +var $RangeError = GetIntrinsic('%RangeError%'); +var $SyntaxError = GetIntrinsic('%SyntaxError%'); +var $TypeError = GetIntrinsic('%TypeError%'); + +var IsIntegralNumber = __webpack_require__("J2ba"); + +var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1; + +var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || ( + // eslint-disable-next-line no-proto, no-negated-condition + [].__proto__ !== $ArrayPrototype + ? null + : function (O, proto) { + O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign + return O; + } +); + +// https://www.ecma-international.org/ecma-262/12.0/#sec-arraycreate + +module.exports = function ArrayCreate(length) { + if (!IsIntegralNumber(length) || length < 0) { + throw new $TypeError('Assertion failed: `length` must be an integer Number >= 0'); + } + if (length > MAX_ARRAY_LENGTH) { + throw new $RangeError('length is greater than (2**32 - 1)'); + } + var proto = arguments.length > 1 ? arguments[1] : $ArrayPrototype; + var A = []; // steps 3, 5 + if (proto !== $ArrayPrototype) { // step 4 + if (!$setProto) { + throw new $SyntaxError('ArrayCreate: a `proto` argument that is not `Array.prototype` is not supported in an environment that does not support setting the [[Prototype]]'); + } + $setProto(A, proto); + } + if (length !== 0) { // bypasses the need for step 6 + A.length = length; + } + /* step 6, the above as a shortcut for the below + OrdinaryDefineOwnProperty(A, 'length', { + '[[Configurable]]': false, + '[[Enumerable]]': false, + '[[Value]]': length, + '[[Writable]]': true + }); + */ + return A; +}; + + /***/ }), /***/ "6HWY": @@ -3213,24 +3613,113 @@ module.exports = function sign(number) { /***/ }), -/***/ "6ZB3": +/***/ "6XE+": /***/ (function(module, exports, __webpack_require__) { "use strict"; -var GetIntrinsic = __webpack_require__("rZ7t"); +var GetIntrinsic = __webpack_require__("j1Hc"); -var callBind = __webpack_require__("1LY1"); +var $gOPD = __webpack_require__("knm9"); +var $TypeError = GetIntrinsic('%TypeError%'); -var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf')); +var callBound = __webpack_require__("qeuH"); -module.exports = function callBoundIntrinsic(name, allowMissing) { - var intrinsic = GetIntrinsic(name, !!allowMissing); - if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { - return callBind(intrinsic); +var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); + +var has = __webpack_require__("oNNP"); + +var IsArray = __webpack_require__("Bl8U"); +var IsPropertyKey = __webpack_require__("nR7C"); +var IsRegExp = __webpack_require__("a73V"); +var ToPropertyDescriptor = __webpack_require__("6orR"); +var Type = __webpack_require__("PoQ0"); + +// https://ecma-international.org/ecma-262/6.0/#sec-ordinarygetownproperty + +module.exports = function OrdinaryGetOwnProperty(O, P) { + if (Type(O) !== 'Object') { + throw new $TypeError('Assertion failed: O must be an Object'); } - return intrinsic; + if (!IsPropertyKey(P)) { + throw new $TypeError('Assertion failed: P must be a Property Key'); + } + if (!has(O, P)) { + return void 0; + } + if (!$gOPD) { + // ES3 / IE 8 fallback + var arrayLength = IsArray(O) && P === 'length'; + var regexLastIndex = IsRegExp(O) && P === 'lastIndex'; + return { + '[[Configurable]]': !(arrayLength || regexLastIndex), + '[[Enumerable]]': $isEnumerable(O, P), + '[[Value]]': O[P], + '[[Writable]]': true + }; + } + return ToPropertyDescriptor($gOPD(O, P)); +}; + + +/***/ }), + +/***/ "6orR": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var has = __webpack_require__("oNNP"); + +var GetIntrinsic = __webpack_require__("j1Hc"); + +var $TypeError = GetIntrinsic('%TypeError%'); + +var Type = __webpack_require__("PoQ0"); +var ToBoolean = __webpack_require__("e87w"); +var IsCallable = __webpack_require__("1P9b"); + +// https://262.ecma-international.org/5.1/#sec-8.10.5 + +module.exports = function ToPropertyDescriptor(Obj) { + if (Type(Obj) !== 'Object') { + throw new $TypeError('ToPropertyDescriptor requires an object'); + } + + var desc = {}; + if (has(Obj, 'enumerable')) { + desc['[[Enumerable]]'] = ToBoolean(Obj.enumerable); + } + if (has(Obj, 'configurable')) { + desc['[[Configurable]]'] = ToBoolean(Obj.configurable); + } + if (has(Obj, 'value')) { + desc['[[Value]]'] = Obj.value; + } + if (has(Obj, 'writable')) { + desc['[[Writable]]'] = ToBoolean(Obj.writable); + } + if (has(Obj, 'get')) { + var getter = Obj.get; + if (typeof getter !== 'undefined' && !IsCallable(getter)) { + throw new $TypeError('getter must be a function'); + } + desc['[[Get]]'] = getter; + } + if (has(Obj, 'set')) { + var setter = Obj.set; + if (typeof setter !== 'undefined' && !IsCallable(setter)) { + throw new $TypeError('setter must be a function'); + } + desc['[[Set]]'] = setter; + } + + if ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) { + throw new $TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute'); + } + return desc; }; @@ -3240,30 +3729,15 @@ module.exports = function callBoundIntrinsic(name, allowMissing) { /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ useComponentsContext; }); - -// UNUSED EXPORTS: ComponentsContext, ContextSystemProvider - -// EXTERNAL MODULE: external ["wp","element"] -var external_wp_element_ = __webpack_require__("GRId"); - -// EXTERNAL MODULE: external "lodash" -var external_lodash_ = __webpack_require__("YLtl"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/ui/utils/use-isomorphic-layout-effect.js -/** - * WordPress dependencies - */ - -/** - * Copied from `@wordpress/compose` in order for us to be able to maintain all the types for the ui folder - */ - -const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? external_wp_element_["useLayoutEffect"] : external_wp_element_["useEffect"]; - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/ui/context/context-system-provider.js +/* WEBPACK VAR INJECTION */(function(process) {/* unused harmony export ComponentsContext */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return useComponentsContext; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ContextSystemProvider; }); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); +/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("YLtl"); +/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("Z23Y"); +/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_warning__WEBPACK_IMPORTED_MODULE_2__); /** @@ -3275,50 +3749,67 @@ const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? external_wp_el */ -/** - * Internal dependencies - */ - -const ComponentsContext = Object(external_wp_element_["createContext"])( +const ComponentsContext = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createContext"])( /** @type {Record} */ {}); -const useComponentsContext = () => Object(external_wp_element_["useContext"])(ComponentsContext); +const useComponentsContext = () => Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useContext"])(ComponentsContext); +/** + * Runs an effect only on update (i.e., ignores the first render) + * + * @param {import('react').EffectCallback} effect + * @param {import('react').DependencyList} deps + */ + +function useUpdateEffect(effect, deps) { + const mounted = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useRef"])(false); + Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => { + if (mounted.current) { + return effect(); + } + + mounted.current = true; + return undefined; + }, deps); +} /** * Consolidates incoming ContextSystem values with a (potential) parent ContextSystem value. * - * @param {Object} props + * Note: This function will warn if it detects an un-memoized `value` + * + * @param {Object} props * @param {Record} props.value * @return {Record} The consolidated value. */ + function useContextSystemBridge({ value }) { const parentContext = useComponentsContext(); - const parentContextRef = Object(external_wp_element_["useRef"])(parentContext); - const valueRef = Object(external_wp_element_["useRef"])(Object(external_lodash_["merge"])(parentContext, value)); - const [config, setConfig] = Object(external_wp_element_["useState"])(valueRef.current); - useIsomorphicLayoutEffect(() => { - let hasChange = false; - - if (!Object(external_lodash_["isEqual"])(value, valueRef.current)) { - valueRef.current = value; - hasChange = true; + const valueRef = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useRef"])(value); + useUpdateEffect(() => { + if ( // objects are equivalent + Object(lodash__WEBPACK_IMPORTED_MODULE_1__["isEqual"])(valueRef.current, value) && // but not the same reference + valueRef.current !== value) { + typeof process !== "undefined" && process.env && "production" !== "production" ? _wordpress_warning__WEBPACK_IMPORTED_MODULE_2___default()(`Please memoize your context: ${JSON.stringify(value)}`) : void 0; } + }, [value]); // `parentContext` will always be memoized (i.e., the result of this hook itself) + // or the default value from when the `ComponentsContext` was originally + // initialized (which will never change, it's a static variable) + // so this memoization will prevent `merge` and `cloneDeep` from rerunning unless + // the references to `value` change OR the `parentContext` has an actual material change + // (because again, it's guaranteed to be memoized or a static reference to the empty object + // so we know that the only changes for `parentContext` are material ones... i.e., why we + // don't have to warn in the `useUpdateEffect` hook above for `parentContext` and we only + // need to bother with the `value`). The `useUpdateEffect` above will ensure that we are + // correctly warning when the `value` isn't being properly memoized. All of that to say + // that this should be super safe to assume that `useMemo` will only run on actual + // changes to the two dependencies, therefore saving us calls to `merge` and `cloneDeep`! - if (!Object(external_lodash_["isEqual"])(parentContext, parentContextRef.current)) { - valueRef.current = Object(external_lodash_["merge"])(parentContext, valueRef.current); - parentContextRef.current = parentContext; - hasChange = true; - } - - if (hasChange) { - setConfig(prev => ({ ...prev, - ...valueRef.current - })); - } - }, [value, parentContext]); + const config = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(() => { + return Object(lodash__WEBPACK_IMPORTED_MODULE_1__["merge"])(Object(lodash__WEBPACK_IMPORTED_MODULE_1__["cloneDeep"])(parentContext), value); + }, [parentContext, value]); return config; } /** @@ -3333,9 +3824,9 @@ function useContextSystemBridge({ * ``` * * @template {Record} T - * @param {Object} options + * @param {Object} options * @param {import('react').ReactNode} options.children Children to render. - * @param {T} options.value Props to render into connected components. + * @param {T} options.value Props to render into connected components. * @return {JSX.Element} A Provider wrapped component. */ @@ -3347,13 +3838,14 @@ const BaseContextSystemProvider = ({ const contextValue = useContextSystemBridge({ value }); - return Object(external_wp_element_["createElement"])(ComponentsContext.Provider, { + return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(ComponentsContext.Provider, { value: contextValue }, children); }; -const ContextSystemProvider = Object(external_wp_element_["memo"])(BaseContextSystemProvider); +const ContextSystemProvider = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["memo"])(BaseContextSystemProvider); +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("8oxB"))) /***/ }), @@ -3637,60 +4129,6 @@ function v4(options, buf, offset) { /* harmony default export */ var esm_browser_v4 = __webpack_exports__["a"] = (v4); -/***/ }), - -/***/ "7Ji+": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var GetIntrinsic = __webpack_require__("rZ7t"); - -var $Array = GetIntrinsic('%Array%'); -var $species = GetIntrinsic('%Symbol.species%', true); -var $TypeError = GetIntrinsic('%TypeError%'); - -var Get = __webpack_require__("3aeR"); -var IsArray = __webpack_require__("9cOx"); -var IsConstructor = __webpack_require__("kuGu"); -var IsInteger = __webpack_require__("R/b7"); -var Type = __webpack_require__("V1cy"); - -// https://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate - -module.exports = function ArraySpeciesCreate(originalArray, length) { - if (!IsInteger(length) || length < 0) { - throw new $TypeError('Assertion failed: length must be an integer >= 0'); - } - var len = length === 0 ? 0 : length; - var C; - var isArray = IsArray(originalArray); - if (isArray) { - C = Get(originalArray, 'constructor'); - // TODO: figure out how to make a cross-realm normal Array, a same-realm Array - // if (IsConstructor(C)) { - // if C is another realm's Array, C = undefined - // Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ? - // } - if ($species && Type(C) === 'Object') { - C = Get(C, $species); - if (C === null) { - C = void 0; - } - } - } - if (typeof C === 'undefined') { - return $Array(len); - } - if (!IsConstructor(C)) { - throw new $TypeError('C must be a constructor'); - } - return new C(len); // Construct(C, len); -}; - - - /***/ }), /***/ "7Jlx": @@ -3734,12 +4172,12 @@ module.exports = function ArraySpeciesCreate(originalArray, length) { * The hope is that we can improve render performance by removing functional * component wrappers. * - * @template {import('./polymorphic-component').ViewOwnProps<{}, any>} P - * @param {(props: P, ref: import('react').Ref) => JSX.Element | null} Component The component to register into the Context system. - * @param {string} namespace The namespace to register the component under. - * @param {Object} options - * @param {boolean} [options.memo=false] - * @return {import('./polymorphic-component').PolymorphicComponent, import('./polymorphic-component').PropsFromViewOwnProps

    >} The connected PolymorphicComponent + * @template {import('./wordpress-component').WordPressComponentProps<{}, any, any>} P + * @param {(props: P, ref: import('react').Ref) => JSX.Element | null} Component The component to register into the Context system. + * @param {string} namespace The namespace to register the component under. + * @param {Object} options + * @param {boolean} [options.memo=false] + * @return {import('./wordpress-component').WordPressComponentFromProps

    } The connected WordPressComponent */ function contextConnect(Component, namespace, options = {}) { @@ -3774,7 +4212,7 @@ function contextConnect(Component, namespace, options = {}) { WrappedComponent.displayName = namespace; // @ts-ignore internal property - WrappedComponent[_constants__WEBPACK_IMPORTED_MODULE_3__[/* CONNECT_STATIC_NAMESPACE */ "c"]] = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["uniq"])(mergedNamespace); // @ts-ignore PolymorphicComponent property + WrappedComponent[_constants__WEBPACK_IMPORTED_MODULE_3__[/* CONNECT_STATIC_NAMESPACE */ "c"]] = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["uniq"])(mergedNamespace); // @ts-ignore WordPressComponent property WrappedComponent.selector = `.${Object(_get_styled_class_name_from_key__WEBPACK_IMPORTED_MODULE_4__[/* getStyledClassNameFromKey */ "a"])(namespace)}`; // @ts-ignore @@ -3808,7 +4246,7 @@ function getConnectNamespace(Component) { * Checks to see if a component is connected within the Context system. * * @param {import('react').ReactNode} Component The component to retrieve a namespace from. - * @param {Array|string} match The namespace to check. + * @param {Array|string} match The namespace to check. * @return {boolean} The result. */ @@ -3828,6 +4266,15 @@ function hasConnectNamespace(Component, match) { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("8oxB"))) +/***/ }), + +/***/ "7bKH": +/***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) { + +"use strict"; +var o=function(o){var t=o/255;return t<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},t=function(t){return.2126*o(t.r)+.7152*o(t.g)+.0722*o(t.b)};/* harmony default export */ __webpack_exports__["a"] = (function(o){o.prototype.luminance=function(){return o=t(this.rgba),void 0===(r=2)&&(r=0),void 0===n&&(n=Math.pow(10,r)),Math.round(n*o)/n+0;var o,r,n},o.prototype.contrast=function(r){void 0===r&&(r="#FFF");var n,a,i,e,v,u,d,c=r instanceof o?r:new o(r);return e=this.rgba,v=c.toRgb(),u=t(e),d=t(v),n=u>d?(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}}); + + /***/ }), /***/ "82c2": @@ -3894,29 +4341,6 @@ defineProperties.supportsDescriptors = !!supportsDescriptors; module.exports = defineProperties; -/***/ }), - -/***/ "8OQS": -/***/ (function(module, exports) { - -function _objectWithoutPropertiesLoose(source, excluded) { - if (source == null) return {}; - var target = {}; - var sourceKeys = Object.keys(source); - var key, i; - - for (i = 0; i < sourceKeys.length; i++) { - key = sourceKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - target[key] = source[key]; - } - - return target; -} - -module.exports = _objectWithoutPropertiesLoose; -module.exports["default"] = module.exports, module.exports.__esModule = true; - /***/ }), /***/ "8R9v": @@ -4130,6 +4554,25 @@ process.chdir = function (dir) { process.umask = function() { return 0; }; +/***/ }), + +/***/ "8sMu": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +// var modulo = require('./modulo'); +var $floor = Math.floor; + +// http://262.ecma-international.org/5.1/#sec-5.2 + +module.exports = function floor(x) { + // return x - modulo(x, 1); + return $floor(x); +}; + + /***/ }), /***/ "9Do8": @@ -4140,42 +4583,6 @@ process.umask = function() { return 0; }; module.exports = __webpack_require__("zt9T"); -/***/ }), - -/***/ "9NHk": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return withNext; }); -/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("wx14"); -/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("GRId"); -/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); - - - -/** - * Internal dependencies - */ - - -/** - * @template {{}} TCurrentProps - * @template {{}} TNextProps - * @param {import('react').ForwardRefExoticComponent} CurrentComponent - * @param {import('react').ComponentType} NextComponent - * @param {string} namespace - * @param {(props: TCurrentProps) => TNextProps} adapter - */ - -function withNext(CurrentComponent, NextComponent = () => null, namespace = 'Component', adapter = p => -/** @type {any} */ -p) { - if (false) {} - - return CurrentComponent; -} - - /***/ }), /***/ "9VDH": @@ -4190,6 +4597,11 @@ p) { /* harmony import */ var _dashicon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("vUUf"); +/** + * External dependencies + */ +// eslint-disable-next-line no-restricted-imports + /** * WordPress dependencies */ @@ -4203,7 +4615,7 @@ p) { function Icon({ icon = null, - size, + size = 24, ...additionalProps }) { if ('string' === typeof icon) { @@ -4212,32 +4624,29 @@ function Icon({ }, additionalProps)); } - if (icon && _dashicon__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"] === icon.type) { + if (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["isValidElement"])(icon) && _dashicon__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"] === icon.type) { return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["cloneElement"])(icon, { ...additionalProps }); - } // Icons should be 24x24 by default. - - - const iconSize = size || 24; + } if ('function' === typeof icon) { if (icon.prototype instanceof _wordpress_element__WEBPACK_IMPORTED_MODULE_1__["Component"]) { return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["createElement"])(icon, { - size: iconSize, + size, ...additionalProps }); } return icon({ - size: iconSize, + size, ...additionalProps }); } if (icon && (icon.type === 'svg' || icon.type === _wordpress_primitives__WEBPACK_IMPORTED_MODULE_2__["SVG"])) { const appliedProps = { - width: iconSize, - height: iconSize, + width: size, + height: size, ...icon.props, ...additionalProps }; @@ -4246,7 +4655,8 @@ function Icon({ if (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["isValidElement"])(icon)) { return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["cloneElement"])(icon, { - size: iconSize, + // @ts-ignore Just forwarding the size prop along + size, ...additionalProps }); } @@ -4257,6 +4667,33 @@ function Icon({ /* harmony default export */ __webpack_exports__["a"] = (Icon); +/***/ }), + +/***/ "9Zbq": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return matches; }); +/** + * Ponyfill for `Element.prototype.matches` + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/matches + */ +function matches(element, selectors) { + if ("matches" in element) { + return element.matches(selectors); + } + + if ("msMatchesSelector" in element) { + return element.msMatchesSelector(selectors); + } + + return element.webkitMatchesSelector(selectors); +} + + + + /***/ }), /***/ "9cOx": @@ -4265,12 +4702,12 @@ function Icon({ "use strict"; -var GetIntrinsic = __webpack_require__("rZ7t"); +var GetIntrinsic = __webpack_require__("j1Hc"); var $Array = GetIntrinsic('%Array%'); // eslint-disable-next-line global-require -var toStr = !$Array.isArray && __webpack_require__("EXo9")('Object.prototype.toString'); +var toStr = !$Array.isArray && __webpack_require__("qeuH")('Object.prototype.toString'); // https://ecma-international.org/ecma-262/6.0/#sec-isarray @@ -4416,31 +4853,6 @@ module.exports = globalCache; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("yLpj"))) -/***/ }), - -/***/ "9uj6": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4qRI"); - - -var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23 - -var index = Object(_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(function (prop) { - return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 - /* o */ - && prop.charCodeAt(1) === 110 - /* n */ - && prop.charCodeAt(2) < 91; -} -/* Z+1 */ -); - -/* harmony default export */ __webpack_exports__["default"] = (index); - - /***/ }), /***/ "AClM": @@ -4900,6 +5312,40 @@ function getRawTag(value) { module.exports = getRawTag; +/***/ }), + +/***/ "APjL": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return closest; }); +/* harmony import */ var _matches_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("9Zbq"); + + +/** + * Ponyfill for `Element.prototype.closest` + * + * @example + * import { closest } from "reakit-utils"; + * + * closest(document.getElementById("id"), "div"); + * // same as + * document.getElementById("id").closest("div"); + */ +function closest(element, selectors) { + if ("closest" in element) return element.closest(selectors); + + do { + if (Object(_matches_js__WEBPACK_IMPORTED_MODULE_0__[/* matches */ "a"])(element, selectors)) return element; + element = element.parentElement || element.parentNode; + } while (element !== null && element.nodeType === 1); + + return null; +} + + + + /***/ }), /***/ "AXvK": @@ -4984,6 +5430,344 @@ function getCalendarDaySettings(day, ariaLabelFormat, daySize, modifiers, phrase }; } +/***/ }), + +/***/ "AeFk": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export ClassNames */ +/* unused harmony export Global */ +/* unused harmony export createElement */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return css; }); +/* unused harmony export jsx */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return keyframes; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cDcd"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _emotion_cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("+1VY"); +/* harmony import */ var _emotion_element_99289b21_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("jgtX"); +/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("pVnL"); +/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("gRFL"); +/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("2mql"); +/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _emotion_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("eVQB"); +/* harmony import */ var _emotion_serialize__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("Exhd"); +/* harmony import */ var _emotion_sheet__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("ep+1"); + + + + + + + + + + + + +var pkg = { + name: "@emotion/react", + version: "11.5.0", + main: "dist/emotion-react.cjs.js", + module: "dist/emotion-react.esm.js", + browser: { + "./dist/emotion-react.cjs.js": "./dist/emotion-react.browser.cjs.js", + "./dist/emotion-react.esm.js": "./dist/emotion-react.browser.esm.js" + }, + types: "types/index.d.ts", + files: [ + "src", + "dist", + "jsx-runtime", + "jsx-dev-runtime", + "isolated-hoist-non-react-statics-do-not-use-this-in-your-code", + "types/*.d.ts", + "macro.js", + "macro.d.ts", + "macro.js.flow" + ], + sideEffects: false, + author: "mitchellhamilton ", + license: "MIT", + scripts: { + "test:typescript": "dtslint types" + }, + dependencies: { + "@babel/runtime": "^7.13.10", + "@emotion/cache": "^11.5.0", + "@emotion/serialize": "^1.0.2", + "@emotion/sheet": "^1.0.3", + "@emotion/utils": "^1.0.0", + "@emotion/weak-memoize": "^0.2.5", + "hoist-non-react-statics": "^3.3.1" + }, + peerDependencies: { + "@babel/core": "^7.0.0", + react: ">=16.8.0" + }, + peerDependenciesMeta: { + "@babel/core": { + optional: true + }, + "@types/react": { + optional: true + } + }, + devDependencies: { + "@babel/core": "^7.13.10", + "@emotion/css": "11.5.0", + "@emotion/css-prettifier": "1.0.0", + "@emotion/server": "11.4.0", + "@emotion/styled": "11.3.0", + "@types/react": "^16.9.11", + dtslint: "^0.3.0", + "html-tag-names": "^1.1.2", + react: "16.14.0", + "svg-tag-names": "^1.1.1" + }, + repository: "https://github.com/emotion-js/emotion/tree/main/packages/react", + publishConfig: { + access: "public" + }, + "umd:main": "dist/emotion-react.umd.min.js", + preconstruct: { + entrypoints: [ + "./index.js", + "./jsx-runtime.js", + "./jsx-dev-runtime.js", + "./isolated-hoist-non-react-statics-do-not-use-this-in-your-code.js" + ], + umdName: "emotionReact" + } +}; + +var jsx = function jsx(type, props) { + var args = arguments; + + if (props == null || !_emotion_element_99289b21_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__[/* h */ "f"].call(props, 'css')) { + // $FlowFixMe + return react__WEBPACK_IMPORTED_MODULE_0__["createElement"].apply(undefined, args); + } + + var argsLength = args.length; + var createElementArgArray = new Array(argsLength); + createElementArgArray[0] = _emotion_element_99289b21_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__[/* E */ "b"]; + createElementArgArray[1] = Object(_emotion_element_99289b21_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__[/* c */ "e"])(type, props); + + for (var i = 2; i < argsLength; i++) { + createElementArgArray[i] = args[i]; + } // $FlowFixMe + + + return react__WEBPACK_IMPORTED_MODULE_0__["createElement"].apply(null, createElementArgArray); +}; + +var warnedAboutCssPropForGlobal = false; // maintain place over rerenders. +// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild +// initial client-side render from SSR, use place of hydrating tag + +var Global = /* #__PURE__ */Object(_emotion_element_99289b21_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__[/* w */ "g"])(function (props, cache) { + if (false) {} + + var styles = props.styles; + var serialized = Object(_emotion_serialize__WEBPACK_IMPORTED_MODULE_7__[/* serializeStyles */ "a"])([styles], undefined, Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(_emotion_element_99289b21_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__[/* T */ "c"])); + // but it is based on a constant that will never change at runtime + // it's effectively like having two implementations and switching them out + // so it's not actually breaking anything + + + var sheetRef = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(); + Object(react__WEBPACK_IMPORTED_MODULE_0__["useLayoutEffect"])(function () { + var key = cache.key + "-global"; + var sheet = new _emotion_sheet__WEBPACK_IMPORTED_MODULE_8__[/* StyleSheet */ "a"]({ + key: key, + nonce: cache.sheet.nonce, + container: cache.sheet.container, + speedy: cache.sheet.isSpeedy + }); + var rehydrating = false; // $FlowFixMe + + var node = document.querySelector("style[data-emotion=\"" + key + " " + serialized.name + "\"]"); + + if (cache.sheet.tags.length) { + sheet.before = cache.sheet.tags[0]; + } + + if (node !== null) { + rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s + + node.setAttribute('data-emotion', key); + sheet.hydrate([node]); + } + + sheetRef.current = [sheet, rehydrating]; + return function () { + sheet.flush(); + }; + }, [cache]); + Object(react__WEBPACK_IMPORTED_MODULE_0__["useLayoutEffect"])(function () { + var sheetRefCurrent = sheetRef.current; + var sheet = sheetRefCurrent[0], + rehydrating = sheetRefCurrent[1]; + + if (rehydrating) { + sheetRefCurrent[1] = false; + return; + } + + if (serialized.next !== undefined) { + // insert keyframes + Object(_emotion_utils__WEBPACK_IMPORTED_MODULE_6__[/* insertStyles */ "b"])(cache, serialized.next, true); + } + + if (sheet.tags.length) { + // if this doesn't exist then it will be null so the style element will be appended + var element = sheet.tags[sheet.tags.length - 1].nextElementSibling; + sheet.before = element; + sheet.flush(); + } + + cache.insert("", serialized, sheet, false); + }, [cache, serialized.name]); + return null; +}); + +if (false) {} + +function css() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return Object(_emotion_serialize__WEBPACK_IMPORTED_MODULE_7__[/* serializeStyles */ "a"])(args); +} + +var keyframes = function keyframes() { + var insertable = css.apply(void 0, arguments); + var name = "animation-" + insertable.name; // $FlowFixMe + + return { + name: name, + styles: "@keyframes " + name + "{" + insertable.styles + "}", + anim: 1, + toString: function toString() { + return "_EMO_" + this.name + "_" + this.styles + "_EMO_"; + } + }; +}; + +var classnames = function classnames(args) { + var len = args.length; + var i = 0; + var cls = ''; + + for (; i < len; i++) { + var arg = args[i]; + if (arg == null) continue; + var toAdd = void 0; + + switch (typeof arg) { + case 'boolean': + break; + + case 'object': + { + if (Array.isArray(arg)) { + toAdd = classnames(arg); + } else { + if (false) {} + + toAdd = ''; + + for (var k in arg) { + if (arg[k] && k) { + toAdd && (toAdd += ' '); + toAdd += k; + } + } + } + + break; + } + + default: + { + toAdd = arg; + } + } + + if (toAdd) { + cls && (cls += ' '); + cls += toAdd; + } + } + + return cls; +}; + +function merge(registered, css, className) { + var registeredStyles = []; + var rawClassName = Object(_emotion_utils__WEBPACK_IMPORTED_MODULE_6__[/* getRegisteredStyles */ "a"])(registered, registeredStyles, className); + + if (registeredStyles.length < 2) { + return className; + } + + return rawClassName + css(registeredStyles); +} + +var ClassNames = /* #__PURE__ */Object(_emotion_element_99289b21_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__[/* w */ "g"])(function (props, cache) { + var hasRendered = false; + + var css = function css() { + if (hasRendered && "production" !== 'production') { + throw new Error('css can only be used during render'); + } + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + var serialized = Object(_emotion_serialize__WEBPACK_IMPORTED_MODULE_7__[/* serializeStyles */ "a"])(args, cache.registered); + + { + Object(_emotion_utils__WEBPACK_IMPORTED_MODULE_6__[/* insertStyles */ "b"])(cache, serialized, false); + } + + return cache.key + "-" + serialized.name; + }; + + var cx = function cx() { + if (hasRendered && "production" !== 'production') { + throw new Error('cx can only be used during render'); + } + + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + return merge(cache.registered, css, classnames(args)); + }; + + var content = { + css: css, + cx: cx, + theme: Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(_emotion_element_99289b21_browser_esm_js__WEBPACK_IMPORTED_MODULE_2__[/* T */ "c"]) + }; + var ele = props.children(content); + hasRendered = true; + + return ele; +}); + +if (false) {} + +if (false) { var globalKey, globalContext, isJest, isBrowser; } + + + + /***/ }), /***/ "Asd8": @@ -5081,42 +5865,6 @@ module.exports = function hasToStringTagShams() { }; -/***/ }), - -/***/ "B9Az": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; - -// EXTERNAL MODULE: external ["wp","element"] -var external_wp_element_ = __webpack_require__("GRId"); - -// EXTERNAL MODULE: external ["wp","primitives"] -var external_wp_primitives_ = __webpack_require__("Tqx9"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pencil.js - - -/** - * WordPress dependencies - */ - -const pencil = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M20.1 5.1L16.9 2 6.2 12.7l-1.3 4.4 4.5-1.3L20.1 5.1zM4 20.8h8v-1.5H4v1.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 = __webpack_exports__["a"] = (library_pencil); - - /***/ }), /***/ "BZp5": @@ -5248,6 +5996,28 @@ module.exports = function isPrimitive(value) { }; +/***/ }), + +/***/ "Bl8U": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var GetIntrinsic = __webpack_require__("j1Hc"); + +var $Array = GetIntrinsic('%Array%'); + +// eslint-disable-next-line global-require +var toStr = !$Array.isArray && __webpack_require__("qeuH")('Object.prototype.toString'); + +// https://ecma-international.org/ecma-262/6.0/#sec-isarray + +module.exports = $Array.isArray || function IsArray(argument) { + return toStr(argument) === '[object Array]'; +}; + + /***/ }), /***/ "Bpkj": @@ -5280,14 +6050,12 @@ const link = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createEleme "use strict"; /* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useContextSystem; }); -/* harmony import */ var emotion__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("kDDq"); -/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Z23Y"); -/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_warning__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _context_system_provider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("6zzY"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("Ohaz"); -/* harmony import */ var _get_styled_class_name_from_key__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("UAm0"); - - +/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("Z23Y"); +/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_warning__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _context_system_provider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("6zzY"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("Ohaz"); +/* harmony import */ var _get_styled_class_name_from_key__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("UAm0"); +/* harmony import */ var _utils_hooks_use_cx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("h9+V"); /** * WordPress dependencies */ @@ -5299,30 +6067,27 @@ const link = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createEleme -/* eslint-disable jsdoc/valid-types */ /** * @template TProps - * @typedef {TProps & { className: string; children?: import('react').ReactNode }} ConnectedProps + * @typedef {TProps & { className: string }} ConnectedProps */ -/* eslint-enable jsdoc/valid-types */ - /** * Custom hook that derives registered props from the Context system. * These derived props are then consolidated with incoming component props. * * @template {{ className?: string }} P - * @param {P} props Incoming props from the component. + * @param {P} props Incoming props from the component. * @param {string} namespace The namespace to register and to derive context props from. * @return {ConnectedProps

    } The connected props. */ function useContextSystem(props, namespace) { - const contextSystemProps = Object(_context_system_provider__WEBPACK_IMPORTED_MODULE_2__[/* useComponentsContext */ "a"])(); + const contextSystemProps = Object(_context_system_provider__WEBPACK_IMPORTED_MODULE_1__[/* useComponentsContext */ "b"])(); if (typeof namespace === 'undefined') { - typeof process !== "undefined" && process.env && "production" !== "production" ? _wordpress_warning__WEBPACK_IMPORTED_MODULE_1___default()('useContextSystem: Please provide a namespace') : void 0; + typeof process !== "undefined" && process.env && "production" !== "production" ? _wordpress_warning__WEBPACK_IMPORTED_MODULE_0___default()('useContextSystem: Please provide a namespace') : void 0; } const contextProps = (contextSystemProps === null || contextSystemProps === void 0 ? void 0 : contextSystemProps[namespace]) || {}; @@ -5331,8 +6096,8 @@ function useContextSystem(props, namespace) { /** @type {ConnectedProps

    } */ // @ts-ignore We fill in the missing properties below - const finalComponentProps = { ...Object(_utils__WEBPACK_IMPORTED_MODULE_3__[/* getConnectedNamespace */ "a"])(), - ...Object(_utils__WEBPACK_IMPORTED_MODULE_3__[/* getNamespace */ "b"])(namespace) + const finalComponentProps = { ...Object(_utils__WEBPACK_IMPORTED_MODULE_2__[/* getConnectedNamespace */ "a"])(), + ...Object(_utils__WEBPACK_IMPORTED_MODULE_2__[/* getNamespace */ "b"])(namespace) }; /* eslint-enable jsdoc/no-undefined-types */ @@ -5341,9 +6106,8 @@ function useContextSystem(props, namespace) { ...otherContextProps } = contextProps; const initialMergedProps = Object.entries(otherContextProps).length ? Object.assign({}, otherContextProps, props) : props; - - const classes = Object(emotion__WEBPACK_IMPORTED_MODULE_0__[/* cx */ "b"])(Object(_get_styled_class_name_from_key__WEBPACK_IMPORTED_MODULE_4__[/* getStyledClassNameFromKey */ "a"])(namespace), props.className); // Provides the ability to customize the render of the component. - + const cx = Object(_utils_hooks_use_cx__WEBPACK_IMPORTED_MODULE_4__[/* useCx */ "a"])(); + const classes = cx(Object(_get_styled_class_name_from_key__WEBPACK_IMPORTED_MODULE_3__[/* getStyledClassNameFromKey */ "a"])(namespace), props.className); // Provides the ability to customize the render of the component. const rendered = typeof initialMergedProps.renderChildren === 'function' ? initialMergedProps.renderChildren(initialMergedProps) : initialMergedProps.children; @@ -5355,7 +6119,8 @@ function useContextSystem(props, namespace) { for (const key in overrideProps) { // @ts-ignore filling in missing props finalComponentProps[key] = overrideProps[key]; - } + } // @ts-ignore + finalComponentProps.children = rendered; finalComponentProps.className = classes; @@ -5364,37 +6129,6 @@ function useContextSystem(props, namespace) { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("8oxB"))) -/***/ }), - -/***/ "CGNl": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var has = __webpack_require__("oNNP"); - -var assertRecord = __webpack_require__("10Kj"); - -var Type = __webpack_require__("V1cy"); - -// https://ecma-international.org/ecma-262/6.0/#sec-isdatadescriptor - -module.exports = function IsDataDescriptor(Desc) { - if (typeof Desc === 'undefined') { - return false; - } - - assertRecord(Type, 'Property Descriptor', 'Desc', Desc); - - if (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) { - return false; - } - - return true; -}; - - /***/ }), /***/ "Cw+6": @@ -5415,8 +6149,8 @@ module.exports = function IsDataDescriptor(Desc) { /** * @typedef Props - * @property {Shortcut} shortcut Shortcut configuration - * @property {string} [className] Classname + * @property {Shortcut} shortcut Shortcut configuration + * @property {string} [className] Classname */ /** @@ -5453,6 +6187,26 @@ function Shortcut({ /* harmony default export */ __webpack_exports__["a"] = (Shortcut); +/***/ }), + +/***/ "Cx2f": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var toPrimitive = __webpack_require__("WZeS"); + +// https://ecma-international.org/ecma-262/6.0/#sec-toprimitive + +module.exports = function ToPrimitive(input) { + if (arguments.length > 1) { + return toPrimitive(input, arguments[1]); + } + return toPrimitive(input); +}; + + /***/ }), /***/ "D3zA": @@ -5503,6 +6257,206 @@ ChevronDown.defaultProps = { }; exports['default'] = ChevronDown; +/***/ }), + +/***/ "DZdY": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js +var esm_extends = __webpack_require__("wx14"); + +// EXTERNAL MODULE: external "React" +var external_React_ = __webpack_require__("cDcd"); + +// EXTERNAL MODULE: ./node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js +var emotion_memoize_browser_esm = __webpack_require__("SVgp"); + +// CONCATENATED MODULE: ./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.browser.esm.js + + +var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23 + +var isPropValid = /* #__PURE__ */Object(emotion_memoize_browser_esm["a" /* default */])(function (prop) { + return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 + /* o */ + && prop.charCodeAt(1) === 110 + /* n */ + && prop.charCodeAt(2) < 91; +} +/* Z+1 */ +); + +/* harmony default export */ var emotion_is_prop_valid_browser_esm = (isPropValid); + +// EXTERNAL MODULE: ./node_modules/@emotion/react/dist/emotion-element-99289b21.browser.esm.js +var emotion_element_99289b21_browser_esm = __webpack_require__("jgtX"); + +// EXTERNAL MODULE: ./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js +var emotion_utils_browser_esm = __webpack_require__("eVQB"); + +// EXTERNAL MODULE: ./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js + 2 modules +var emotion_serialize_browser_esm = __webpack_require__("Exhd"); + +// CONCATENATED MODULE: ./node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js + + + + + + + +var testOmitPropsOnStringTag = emotion_is_prop_valid_browser_esm; + +var testOmitPropsOnComponent = function testOmitPropsOnComponent(key) { + return key !== 'theme'; +}; + +var getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) { + return typeof tag === 'string' && // 96 is one less than the char code + // for "a" so this is checking that + // it's a lowercase character + tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent; +}; +var composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) { + var shouldForwardProp; + + if (options) { + var optionsShouldForwardProp = options.shouldForwardProp; + shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) { + return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName); + } : optionsShouldForwardProp; + } + + if (typeof shouldForwardProp !== 'function' && isReal) { + shouldForwardProp = tag.__emotion_forwardProp; + } + + return shouldForwardProp; +}; + +var ILLEGAL_ESCAPE_SEQUENCE_ERROR = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences"; + +var emotion_styled_base_browser_esm_createStyled = function createStyled(tag, options) { + if (false) {} + + var isReal = tag.__emotion_real === tag; + var baseTag = isReal && tag.__emotion_base || tag; + var identifierName; + var targetClassName; + + if (options !== undefined) { + identifierName = options.label; + targetClassName = options.target; + } + + var shouldForwardProp = composeShouldForwardProps(tag, options, isReal); + var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag); + var shouldUseAs = !defaultShouldForwardProp('as'); + return function () { + var args = arguments; + var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : []; + + if (identifierName !== undefined) { + styles.push("label:" + identifierName + ";"); + } + + if (args[0] == null || args[0].raw === undefined) { + styles.push.apply(styles, args); + } else { + if (false) {} + + styles.push(args[0][0]); + var len = args.length; + var i = 1; + + for (; i < len; i++) { + if (false) {} + + styles.push(args[i], args[0][i]); + } + } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class + + + var Styled = Object(emotion_element_99289b21_browser_esm["g" /* w */])(function (props, cache, ref) { + var finalTag = shouldUseAs && props.as || baseTag; + var className = ''; + var classInterpolations = []; + var mergedProps = props; + + if (props.theme == null) { + mergedProps = {}; + + for (var key in props) { + mergedProps[key] = props[key]; + } + + mergedProps.theme = Object(external_React_["useContext"])(emotion_element_99289b21_browser_esm["c" /* T */]); + } + + if (typeof props.className === 'string') { + className = Object(emotion_utils_browser_esm["a" /* getRegisteredStyles */])(cache.registered, classInterpolations, props.className); + } else if (props.className != null) { + className = props.className + " "; + } + + var serialized = Object(emotion_serialize_browser_esm["a" /* serializeStyles */])(styles.concat(classInterpolations), cache.registered, mergedProps); + var rules = Object(emotion_utils_browser_esm["b" /* insertStyles */])(cache, serialized, typeof finalTag === 'string'); + className += cache.key + "-" + serialized.name; + + if (targetClassName !== undefined) { + className += " " + targetClassName; + } + + var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(finalTag) : defaultShouldForwardProp; + var newProps = {}; + + for (var _key in props) { + if (shouldUseAs && _key === 'as') continue; + + if ( // $FlowFixMe + finalShouldForwardProp(_key)) { + newProps[_key] = props[_key]; + } + } + + newProps.className = className; + newProps.ref = ref; + var ele = /*#__PURE__*/Object(external_React_["createElement"])(finalTag, newProps); + + return ele; + }); + Styled.displayName = identifierName !== undefined ? identifierName : "Styled(" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + ")"; + Styled.defaultProps = tag.defaultProps; + Styled.__emotion_real = Styled; + Styled.__emotion_base = baseTag; + Styled.__emotion_styles = styles; + Styled.__emotion_forwardProp = shouldForwardProp; + Object.defineProperty(Styled, 'toString', { + value: function value() { + if (targetClassName === undefined && "production" !== 'production') { + return 'NO_COMPONENT_SELECTOR'; + } // $FlowFixMe: coerce undefined to string + + + return "." + targetClassName; + } + }); + + Styled.withComponent = function (nextTag, nextOptions) { + return createStyled(nextTag, Object(esm_extends["a" /* default */])({}, options, nextOptions, { + shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true) + })).apply(void 0, styles); + }; + + return Styled; + }; +}; + +/* harmony default export */ var emotion_styled_base_browser_esm = __webpack_exports__["a"] = (emotion_styled_base_browser_esm_createStyled); + + /***/ }), /***/ "DciD": @@ -5591,59 +6545,6 @@ module.exports = function isDateObject(value) { }; -/***/ }), - -/***/ "DvWQ": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var GetIntrinsic = __webpack_require__("rZ7t"); - -var $TypeError = GetIntrinsic('%TypeError%'); - -var DefineOwnProperty = __webpack_require__("wTIp"); - -var FromPropertyDescriptor = __webpack_require__("zYbv"); -var OrdinaryGetOwnProperty = __webpack_require__("kgBv"); -var IsDataDescriptor = __webpack_require__("CGNl"); -var IsExtensible = __webpack_require__("rDFq"); -var IsPropertyKey = __webpack_require__("i10q"); -var SameValue = __webpack_require__("HI8u"); -var Type = __webpack_require__("V1cy"); - -// https://ecma-international.org/ecma-262/6.0/#sec-createdataproperty - -module.exports = function CreateDataProperty(O, P, V) { - if (Type(O) !== 'Object') { - throw new $TypeError('Assertion failed: Type(O) is not Object'); - } - if (!IsPropertyKey(P)) { - throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); - } - var oldDesc = OrdinaryGetOwnProperty(O, P); - var extensible = !oldDesc || IsExtensible(O); - var immutable = oldDesc && (!oldDesc['[[Writable]]'] || !oldDesc['[[Configurable]]']); - if (immutable || !extensible) { - return false; - } - return DefineOwnProperty( - IsDataDescriptor, - SameValue, - FromPropertyDescriptor, - O, - P, - { - '[[Configurable]]': true, - '[[Enumerable]]': true, - '[[Value]]': V, - '[[Writable]]': true - } - ); -}; - - /***/ }), /***/ "DzJC": @@ -5720,29 +6621,6 @@ function throttle(func, wait, options) { module.exports = throttle; -/***/ }), - -/***/ "EXo9": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var GetIntrinsic = __webpack_require__("rZ7t"); - -var callBind = __webpack_require__("hZ2/"); - -var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf')); - -module.exports = function callBoundIntrinsic(name, allowMissing) { - var intrinsic = GetIntrinsic(name, !!allowMissing); - if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { - return callBind(intrinsic); - } - return intrinsic; -}; - - /***/ }), /***/ "ExA7": @@ -5779,6 +6657,378 @@ function isObjectLike(value) { module.exports = isObjectLike; +/***/ }), + +/***/ "Exhd": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ emotion_serialize_browser_esm_serializeStyles; }); + +// CONCATENATED MODULE: ./node_modules/@emotion/hash/dist/hash.browser.esm.js +/* eslint-disable */ +// Inspired by https://github.com/garycourt/murmurhash-js +// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86 +function murmur2(str) { + // 'm' and 'r' are mixing constants generated offline. + // They're not really 'magic', they just happen to work well. + // const m = 0x5bd1e995; + // const r = 24; + // Initialize the hash + var h = 0; // Mix 4 bytes at a time into the hash + + var k, + i = 0, + len = str.length; + + for (; len >= 4; ++i, len -= 4) { + k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24; + k = + /* Math.imul(k, m): */ + (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16); + k ^= + /* k >>> r: */ + k >>> 24; + h = + /* Math.imul(k, m): */ + (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^ + /* Math.imul(h, m): */ + (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); + } // Handle the last few bytes of the input array + + + switch (len) { + case 3: + h ^= (str.charCodeAt(i + 2) & 0xff) << 16; + + case 2: + h ^= (str.charCodeAt(i + 1) & 0xff) << 8; + + case 1: + h ^= str.charCodeAt(i) & 0xff; + h = + /* Math.imul(h, m): */ + (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); + } // Do a few final mixes of the hash to ensure the last few + // bytes are well-incorporated. + + + h ^= h >>> 13; + h = + /* Math.imul(h, m): */ + (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); + return ((h ^ h >>> 15) >>> 0).toString(36); +} + +/* harmony default export */ var hash_browser_esm = (murmur2); + +// CONCATENATED MODULE: ./node_modules/@emotion/unitless/dist/unitless.browser.esm.js +var unitlessKeys = { + animationIterationCount: 1, + borderImageOutset: 1, + borderImageSlice: 1, + borderImageWidth: 1, + boxFlex: 1, + boxFlexGroup: 1, + boxOrdinalGroup: 1, + columnCount: 1, + columns: 1, + flex: 1, + flexGrow: 1, + flexPositive: 1, + flexShrink: 1, + flexNegative: 1, + flexOrder: 1, + gridRow: 1, + gridRowEnd: 1, + gridRowSpan: 1, + gridRowStart: 1, + gridColumn: 1, + gridColumnEnd: 1, + gridColumnSpan: 1, + gridColumnStart: 1, + msGridRow: 1, + msGridRowSpan: 1, + msGridColumn: 1, + msGridColumnSpan: 1, + fontWeight: 1, + lineHeight: 1, + opacity: 1, + order: 1, + orphans: 1, + tabSize: 1, + widows: 1, + zIndex: 1, + zoom: 1, + WebkitLineClamp: 1, + // SVG-related properties + fillOpacity: 1, + floodOpacity: 1, + stopOpacity: 1, + strokeDasharray: 1, + strokeDashoffset: 1, + strokeMiterlimit: 1, + strokeOpacity: 1, + strokeWidth: 1 +}; + +/* harmony default export */ var unitless_browser_esm = (unitlessKeys); + +// EXTERNAL MODULE: ./node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js +var emotion_memoize_browser_esm = __webpack_require__("SVgp"); + +// CONCATENATED MODULE: ./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js + + + + +var ILLEGAL_ESCAPE_SEQUENCE_ERROR = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences"; +var UNDEFINED_AS_OBJECT_KEY_ERROR = "You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key)."; +var hyphenateRegex = /[A-Z]|^ms/g; +var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g; + +var isCustomProperty = function isCustomProperty(property) { + return property.charCodeAt(1) === 45; +}; + +var isProcessableValue = function isProcessableValue(value) { + return value != null && typeof value !== 'boolean'; +}; + +var processStyleName = /* #__PURE__ */Object(emotion_memoize_browser_esm["a" /* default */])(function (styleName) { + return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase(); +}); + +var emotion_serialize_browser_esm_processStyleValue = function processStyleValue(key, value) { + switch (key) { + case 'animation': + case 'animationName': + { + if (typeof value === 'string') { + return value.replace(animationRegex, function (match, p1, p2) { + cursor = { + name: p1, + styles: p2, + next: cursor + }; + return p1; + }); + } + } + } + + if (unitless_browser_esm[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) { + return value + 'px'; + } + + return value; +}; + +if (false) { var hyphenatedCache, hyphenPattern, msPattern, oldProcessStyleValue, contentValues, contentValuePattern; } + +function handleInterpolation(mergedProps, registered, interpolation) { + if (interpolation == null) { + return ''; + } + + if (interpolation.__emotion_styles !== undefined) { + if (false) {} + + return interpolation; + } + + switch (typeof interpolation) { + case 'boolean': + { + return ''; + } + + case 'object': + { + if (interpolation.anim === 1) { + cursor = { + name: interpolation.name, + styles: interpolation.styles, + next: cursor + }; + return interpolation.name; + } + + if (interpolation.styles !== undefined) { + var next = interpolation.next; + + if (next !== undefined) { + // not the most efficient thing ever but this is a pretty rare case + // and there will be very few iterations of this generally + while (next !== undefined) { + cursor = { + name: next.name, + styles: next.styles, + next: cursor + }; + next = next.next; + } + } + + var styles = interpolation.styles + ";"; + + if (false) {} + + return styles; + } + + return createStringFromObject(mergedProps, registered, interpolation); + } + + case 'function': + { + if (mergedProps !== undefined) { + var previousCursor = cursor; + var result = interpolation(mergedProps); + cursor = previousCursor; + return handleInterpolation(mergedProps, registered, result); + } else if (false) {} + + break; + } + + case 'string': + if (false) { var replaced, matched; } + + break; + } // finalize string values (regular strings and functions interpolated into css calls) + + + if (registered == null) { + return interpolation; + } + + var cached = registered[interpolation]; + return cached !== undefined ? cached : interpolation; +} + +function createStringFromObject(mergedProps, registered, obj) { + var string = ''; + + if (Array.isArray(obj)) { + for (var i = 0; i < obj.length; i++) { + string += handleInterpolation(mergedProps, registered, obj[i]) + ";"; + } + } else { + for (var _key in obj) { + var value = obj[_key]; + + if (typeof value !== 'object') { + if (registered != null && registered[value] !== undefined) { + string += _key + "{" + registered[value] + "}"; + } else if (isProcessableValue(value)) { + string += processStyleName(_key) + ":" + emotion_serialize_browser_esm_processStyleValue(_key, value) + ";"; + } + } else { + if (_key === 'NO_COMPONENT_SELECTOR' && "production" !== 'production') { + throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.'); + } + + if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) { + for (var _i = 0; _i < value.length; _i++) { + if (isProcessableValue(value[_i])) { + string += processStyleName(_key) + ":" + emotion_serialize_browser_esm_processStyleValue(_key, value[_i]) + ";"; + } + } + } else { + var interpolated = handleInterpolation(mergedProps, registered, value); + + switch (_key) { + case 'animation': + case 'animationName': + { + string += processStyleName(_key) + ":" + interpolated + ";"; + break; + } + + default: + { + if (false) {} + + string += _key + "{" + interpolated + "}"; + } + } + } + } + } + } + + return string; +} + +var labelPattern = /label:\s*([^\s;\n{]+)\s*(;|$)/g; +var sourceMapPattern; + +if (false) {} // this is the cursor for keyframes +// keyframes are stored on the SerializedStyles object as a linked list + + +var cursor; +var emotion_serialize_browser_esm_serializeStyles = function serializeStyles(args, registered, mergedProps) { + if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) { + return args[0]; + } + + var stringMode = true; + var styles = ''; + cursor = undefined; + var strings = args[0]; + + if (strings == null || strings.raw === undefined) { + stringMode = false; + styles += handleInterpolation(mergedProps, registered, strings); + } else { + if (false) {} + + styles += strings[0]; + } // we start at 1 since we've already handled the first arg + + + for (var i = 1; i < args.length; i++) { + styles += handleInterpolation(mergedProps, registered, args[i]); + + if (stringMode) { + if (false) {} + + styles += strings[i]; + } + } + + var sourceMap; + + if (false) {} // using a global regex with .exec is stateful so lastIndex has to be reset each time + + + labelPattern.lastIndex = 0; + var identifierName = ''; + var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5 + + while ((match = labelPattern.exec(styles)) !== null) { + identifierName += '-' + // $FlowFixMe we know it's not null + match[1]; + } + + var name = hash_browser_esm(styles) + identifierName; + + if (false) {} + + return { + name: name, + styles: styles, + next: cursor + }; +}; + + + + /***/ }), /***/ "F7ZS": @@ -6042,17 +7292,17 @@ var TABBABLE_KEYS = ["disabled", "focusable"]; var isSafariOrFirefoxOnMac = Object(reakit_utils_dom__WEBPACK_IMPORTED_MODULE_11__[/* isUA */ "a"])("Mac") && !Object(reakit_utils_dom__WEBPACK_IMPORTED_MODULE_11__[/* isUA */ "a"])("Chrome") && (Object(reakit_utils_dom__WEBPACK_IMPORTED_MODULE_11__[/* isUA */ "a"])("Safari") || Object(reakit_utils_dom__WEBPACK_IMPORTED_MODULE_11__[/* isUA */ "a"])("Firefox")); function focusIfNeeded(element) { - if (!Object(reakit_utils_hasFocusWithin__WEBPACK_IMPORTED_MODULE_9__[/* hasFocusWithin */ "a"])(element) && Object(reakit_utils_tabbable__WEBPACK_IMPORTED_MODULE_12__[/* isFocusable */ "a"])(element)) { + if (!Object(reakit_utils_hasFocusWithin__WEBPACK_IMPORTED_MODULE_9__[/* hasFocusWithin */ "a"])(element) && Object(reakit_utils_tabbable__WEBPACK_IMPORTED_MODULE_12__[/* isFocusable */ "c"])(element)) { element.focus(); } } function isNativeTabbable(element) { - return element.tagName === "BUTTON" || element.tagName === "INPUT" || element.tagName === "SELECT" || element.tagName === "TEXTAREA" || element.tagName === "A"; + return ["BUTTON", "INPUT", "SELECT", "TEXTAREA", "A"].includes(element.tagName); } function supportsDisabledAttribute(element) { - return element.tagName === "BUTTON" || element.tagName === "INPUT" || element.tagName === "SELECT" || element.tagName === "TEXTAREA"; + return ["BUTTON", "INPUT", "SELECT", "TEXTAREA"].includes(element.tagName); } function getTabIndex(trulyDisabled, nativeTabbable, supportsDisabled, htmlTabIndex) { @@ -6835,27 +8085,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'd (0, _registerCSSInterfaceWithDefaultTheme2['default'])(); -/***/ }), - -/***/ "HI8u": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var $isNaN = __webpack_require__("HwJD"); - -// http://262.ecma-international.org/5.1/#sec-9.12 - -module.exports = function SameValue(x, y) { - if (x === y) { // 0 === -0, but they are not identical. - if (x === 0) { return 1 / x === 1 / y; } - return true; - } - return $isNaN(x) && $isNaN(y); -}; - - /***/ }), /***/ "Hsqg": @@ -6878,29 +8107,6 @@ module.exports = Number.isNaN || function isNaN(a) { }; -/***/ }), - -/***/ "Hx/O": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var GetIntrinsic = __webpack_require__("rZ7t"); - -var $String = GetIntrinsic('%String%'); -var $TypeError = GetIntrinsic('%TypeError%'); - -// https://ecma-international.org/ecma-262/6.0/#sec-tostring - -module.exports = function ToString(argument) { - if (typeof argument === 'symbol') { - throw new $TypeError('Cannot convert a Symbol value to a string'); - } - return $String(argument); -}; - - /***/ }), /***/ "HyUg": @@ -7228,20 +8434,27 @@ function isDayVisible(day, month, numberOfMonths, enableOutsideDays) { /***/ }), -/***/ "In1I": +/***/ "J2ba": /***/ (function(module, exports, __webpack_require__) { "use strict"; -var GetIntrinsic = __webpack_require__("rZ7t"); +var abs = __webpack_require__("S8ty"); +var floor = __webpack_require__("8sMu"); +var Type = __webpack_require__("PoQ0"); -var $abs = GetIntrinsic('%Math.abs%'); +var $isNaN = __webpack_require__("HwJD"); +var $isFinite = __webpack_require__("ald4"); -// http://262.ecma-international.org/5.1/#sec-5.2 +// https://tc39.es/ecma262/#sec-isintegralnumber -module.exports = function abs(x) { - return $abs(x); +module.exports = function IsIntegralNumber(argument) { + if (Type(argument) !== 'Number' || $isNaN(argument) || !$isFinite(argument)) { + return false; + } + var absValue = abs(argument); + return floor(absValue) === absValue; }; @@ -7426,6 +8639,8 @@ var Clickable = Object(reakit_system_createComponent__WEBPACK_IMPORTED_MODULE_1_ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Z23Y"); /* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_warning__WEBPACK_IMPORTED_MODULE_1__); +// @ts-nocheck + /** * WordPress dependencies */ @@ -7456,7 +8671,7 @@ const SlotFillContext = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__[" // TODO: remove, semver-major -module.exports = __webpack_require__("rZ7t"); +module.exports = __webpack_require__("j1Hc"); /***/ }), @@ -7989,6 +9204,62 @@ defineProperties(bound, { module.exports = bound; +/***/ }), + +/***/ "KtDd": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var GetIntrinsic = __webpack_require__("j1Hc"); + +var $species = GetIntrinsic('%Symbol.species%', true); +var $TypeError = GetIntrinsic('%TypeError%'); + +var ArrayCreate = __webpack_require__("6Ehn"); +var Get = __webpack_require__("aBsX"); +var IsArray = __webpack_require__("Bl8U"); +var IsConstructor = __webpack_require__("TFEf"); +var IsIntegralNumber = __webpack_require__("J2ba"); +var Type = __webpack_require__("PoQ0"); + +// https://ecma-international.org/ecma-262/12.0/#sec-arrayspeciescreate + +module.exports = function ArraySpeciesCreate(originalArray, length) { + if (!IsIntegralNumber(length) || length < 0) { + throw new $TypeError('Assertion failed: length must be an integer >= 0'); + } + + var isArray = IsArray(originalArray); + if (!isArray) { + return ArrayCreate(length); + } + + var C = Get(originalArray, 'constructor'); + // TODO: figure out how to make a cross-realm normal Array, a same-realm Array + // if (IsConstructor(C)) { + // if C is another realm's Array, C = undefined + // Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ? + // } + if ($species && Type(C) === 'Object') { + C = Get(C, $species); + if (C === null) { + C = void 0; + } + } + + if (typeof C === 'undefined') { + return ArrayCreate(length); + } + if (!IsConstructor(C)) { + throw new $TypeError('C must be a constructor'); + } + return new C(length); // Construct(C, length); +}; + + + /***/ }), /***/ "Kz5y": @@ -8005,26 +9276,6 @@ var root = freeGlobal || freeSelf || Function('return this')(); module.exports = root; -/***/ }), - -/***/ "L7Wv": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var toPrimitive = __webpack_require__("WZeS"); - -// https://ecma-international.org/ecma-262/6.0/#sec-toprimitive - -module.exports = function ToPrimitive(input) { - if (arguments.length > 1) { - return toPrimitive(input, arguments[1]); - } - return toPrimitive(input); -}; - - /***/ }), /***/ "L8Kx": @@ -8044,7 +9295,7 @@ module.exports = function ToPrimitive(input) { * @typedef {'left' | 'right'} SlideInOrigin * @typedef {{ type: 'appear'; origin?: AppearOrigin }} AppearOptions * @typedef {{ type: 'slide-in'; origin?: SlideInOrigin }} SlideInOptions - * @typedef {{ type: 'loading'; }} LoadingOptions + * @typedef {{ type: 'loading' }} LoadingOptions * @typedef {AppearOptions | SlideInOptions | LoadingOptions} GetAnimateOptions */ @@ -8171,383 +9422,6 @@ module.exports = function ToPrimitive(input) { }; -/***/ }), - -/***/ "MiSq": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ serialize_browser_esm_serializeStyles; }); - -// CONCATENATED MODULE: ./node_modules/@emotion/hash/dist/hash.browser.esm.js -/* eslint-disable */ -// Inspired by https://github.com/garycourt/murmurhash-js -// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86 -function murmur2(str) { - // 'm' and 'r' are mixing constants generated offline. - // They're not really 'magic', they just happen to work well. - // const m = 0x5bd1e995; - // const r = 24; - // Initialize the hash - var h = 0; // Mix 4 bytes at a time into the hash - - var k, - i = 0, - len = str.length; - - for (; len >= 4; ++i, len -= 4) { - k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24; - k = - /* Math.imul(k, m): */ - (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16); - k ^= - /* k >>> r: */ - k >>> 24; - h = - /* Math.imul(k, m): */ - (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^ - /* Math.imul(h, m): */ - (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); - } // Handle the last few bytes of the input array - - - switch (len) { - case 3: - h ^= (str.charCodeAt(i + 2) & 0xff) << 16; - - case 2: - h ^= (str.charCodeAt(i + 1) & 0xff) << 8; - - case 1: - h ^= str.charCodeAt(i) & 0xff; - h = - /* Math.imul(h, m): */ - (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); - } // Do a few final mixes of the hash to ensure the last few - // bytes are well-incorporated. - - - h ^= h >>> 13; - h = - /* Math.imul(h, m): */ - (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); - return ((h ^ h >>> 15) >>> 0).toString(36); -} - -/* harmony default export */ var hash_browser_esm = (murmur2); - -// CONCATENATED MODULE: ./node_modules/@emotion/unitless/dist/unitless.browser.esm.js -var unitlessKeys = { - animationIterationCount: 1, - borderImageOutset: 1, - borderImageSlice: 1, - borderImageWidth: 1, - boxFlex: 1, - boxFlexGroup: 1, - boxOrdinalGroup: 1, - columnCount: 1, - columns: 1, - flex: 1, - flexGrow: 1, - flexPositive: 1, - flexShrink: 1, - flexNegative: 1, - flexOrder: 1, - gridRow: 1, - gridRowEnd: 1, - gridRowSpan: 1, - gridRowStart: 1, - gridColumn: 1, - gridColumnEnd: 1, - gridColumnSpan: 1, - gridColumnStart: 1, - msGridRow: 1, - msGridRowSpan: 1, - msGridColumn: 1, - msGridColumnSpan: 1, - fontWeight: 1, - lineHeight: 1, - opacity: 1, - order: 1, - orphans: 1, - tabSize: 1, - widows: 1, - zIndex: 1, - zoom: 1, - WebkitLineClamp: 1, - // SVG-related properties - fillOpacity: 1, - floodOpacity: 1, - stopOpacity: 1, - strokeDasharray: 1, - strokeDashoffset: 1, - strokeMiterlimit: 1, - strokeOpacity: 1, - strokeWidth: 1 -}; - -/* harmony default export */ var unitless_browser_esm = (unitlessKeys); - -// EXTERNAL MODULE: ./node_modules/@emotion/memoize/dist/memoize.browser.esm.js -var memoize_browser_esm = __webpack_require__("4qRI"); - -// CONCATENATED MODULE: ./node_modules/@emotion/serialize/dist/serialize.browser.esm.js - - - - -var ILLEGAL_ESCAPE_SEQUENCE_ERROR = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences"; -var UNDEFINED_AS_OBJECT_KEY_ERROR = "You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key)."; -var hyphenateRegex = /[A-Z]|^ms/g; -var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g; - -var isCustomProperty = function isCustomProperty(property) { - return property.charCodeAt(1) === 45; -}; - -var isProcessableValue = function isProcessableValue(value) { - return value != null && typeof value !== 'boolean'; -}; - -var processStyleName = Object(memoize_browser_esm["a" /* default */])(function (styleName) { - return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase(); -}); - -var serialize_browser_esm_processStyleValue = function processStyleValue(key, value) { - switch (key) { - case 'animation': - case 'animationName': - { - if (typeof value === 'string') { - return value.replace(animationRegex, function (match, p1, p2) { - cursor = { - name: p1, - styles: p2, - next: cursor - }; - return p1; - }); - } - } - } - - if (unitless_browser_esm[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) { - return value + 'px'; - } - - return value; -}; - -if (false) { var hyphenatedCache, hyphenPattern, msPattern, oldProcessStyleValue, contentValues, contentValuePattern; } - -var shouldWarnAboutInterpolatingClassNameFromCss = true; - -function handleInterpolation(mergedProps, registered, interpolation, couldBeSelectorInterpolation) { - if (interpolation == null) { - return ''; - } - - if (interpolation.__emotion_styles !== undefined) { - if (false) {} - - return interpolation; - } - - switch (typeof interpolation) { - case 'boolean': - { - return ''; - } - - case 'object': - { - if (interpolation.anim === 1) { - cursor = { - name: interpolation.name, - styles: interpolation.styles, - next: cursor - }; - return interpolation.name; - } - - if (interpolation.styles !== undefined) { - var next = interpolation.next; - - if (next !== undefined) { - // not the most efficient thing ever but this is a pretty rare case - // and there will be very few iterations of this generally - while (next !== undefined) { - cursor = { - name: next.name, - styles: next.styles, - next: cursor - }; - next = next.next; - } - } - - var styles = interpolation.styles + ";"; - - if (false) {} - - return styles; - } - - return createStringFromObject(mergedProps, registered, interpolation); - } - - case 'function': - { - if (mergedProps !== undefined) { - var previousCursor = cursor; - var result = interpolation(mergedProps); - cursor = previousCursor; - return handleInterpolation(mergedProps, registered, result, couldBeSelectorInterpolation); - } else if (false) {} - - break; - } - - case 'string': - if (false) { var replaced, matched; } - - break; - } // finalize string values (regular strings and functions interpolated into css calls) - - - if (registered == null) { - return interpolation; - } - - var cached = registered[interpolation]; - - if (false) {} - - return cached !== undefined && !couldBeSelectorInterpolation ? cached : interpolation; -} - -function createStringFromObject(mergedProps, registered, obj) { - var string = ''; - - if (Array.isArray(obj)) { - for (var i = 0; i < obj.length; i++) { - string += handleInterpolation(mergedProps, registered, obj[i], false); - } - } else { - for (var _key in obj) { - var value = obj[_key]; - - if (typeof value !== 'object') { - if (registered != null && registered[value] !== undefined) { - string += _key + "{" + registered[value] + "}"; - } else if (isProcessableValue(value)) { - string += processStyleName(_key) + ":" + serialize_browser_esm_processStyleValue(_key, value) + ";"; - } - } else { - if (_key === 'NO_COMPONENT_SELECTOR' && "production" !== 'production') { - throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.'); - } - - if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) { - for (var _i = 0; _i < value.length; _i++) { - if (isProcessableValue(value[_i])) { - string += processStyleName(_key) + ":" + serialize_browser_esm_processStyleValue(_key, value[_i]) + ";"; - } - } - } else { - var interpolated = handleInterpolation(mergedProps, registered, value, false); - - switch (_key) { - case 'animation': - case 'animationName': - { - string += processStyleName(_key) + ":" + interpolated + ";"; - break; - } - - default: - { - if (false) {} - - string += _key + "{" + interpolated + "}"; - } - } - } - } - } - } - - return string; -} - -var labelPattern = /label:\s*([^\s;\n{]+)\s*;/g; -var sourceMapPattern; - -if (false) {} // this is the cursor for keyframes -// keyframes are stored on the SerializedStyles object as a linked list - - -var cursor; -var serialize_browser_esm_serializeStyles = function serializeStyles(args, registered, mergedProps) { - if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) { - return args[0]; - } - - var stringMode = true; - var styles = ''; - cursor = undefined; - var strings = args[0]; - - if (strings == null || strings.raw === undefined) { - stringMode = false; - styles += handleInterpolation(mergedProps, registered, strings, false); - } else { - if (false) {} - - styles += strings[0]; - } // we start at 1 since we've already handled the first arg - - - for (var i = 1; i < args.length; i++) { - styles += handleInterpolation(mergedProps, registered, args[i], styles.charCodeAt(styles.length - 1) === 46); - - if (stringMode) { - if (false) {} - - styles += strings[i]; - } - } - - var sourceMap; - - if (false) {} // using a global regex with .exec is stateful so lastIndex has to be reset each time - - - labelPattern.lastIndex = 0; - var identifierName = ''; - var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5 - - while ((match = labelPattern.exec(styles)) !== null) { - identifierName += '-' + // $FlowFixMe we know it's not null - match[1]; - } - - var name = hash_browser_esm(styles) + identifierName; - - if (false) {} - - return { - name: name, - styles: styles, - next: cursor - }; -}; - - - - /***/ }), /***/ "Mih7": @@ -10869,19 +11743,25 @@ function getConnectedNamespace() { /***/ }), -/***/ "PJYZ": -/***/ (function(module, exports) { +/***/ "PFEc": +/***/ (function(module, exports, __webpack_require__) { -function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } +"use strict"; - return self; -} -module.exports = _assertThisInitialized; -module.exports["default"] = module.exports, module.exports.__esModule = true; +var GetIntrinsic = __webpack_require__("j1Hc"); + +var $Object = GetIntrinsic('%Object%'); + +var RequireObjectCoercible = __webpack_require__("eH4f"); + +// https://ecma-international.org/ecma-262/6.0/#sec-toobject + +module.exports = function ToObject(value) { + RequireObjectCoercible(value); + return $Object(value); +}; + /***/ }), @@ -10947,6 +11827,29 @@ module.exports = function ToNumber(value) { }; +/***/ }), + +/***/ "PoQ0": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var ES5Type = __webpack_require__("60zJ"); + +// https://262.ecma-international.org/11.0/#sec-ecmascript-data-types-and-values + +module.exports = function Type(x) { + if (typeof x === 'symbol') { + return 'Symbol'; + } + if (typeof x === 'bigint') { + return 'BigInt'; + } + return ES5Type(x); +}; + + /***/ }), /***/ "Pq96": @@ -11116,7 +12019,7 @@ module.exports = now; "use strict"; -var GetIntrinsic = __webpack_require__("rZ7t"); +var GetIntrinsic = __webpack_require__("j1Hc"); var has = __webpack_require__("oNNP"); var $TypeError = GetIntrinsic('%TypeError%'); @@ -11147,31 +12050,6 @@ module.exports = function IsPropertyDescriptor(ES, Desc) { }; -/***/ }), - -/***/ "R/b7": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var abs = __webpack_require__("In1I"); -var floor = __webpack_require__("4HRn"); - -var $isNaN = __webpack_require__("HwJD"); -var $isFinite = __webpack_require__("ald4"); - -// https://ecma-international.org/ecma-262/6.0/#sec-isinteger - -module.exports = function IsInteger(argument) { - if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) { - return false; - } - var absValue = abs(argument); - return floor(absValue) === absValue; -}; - - /***/ }), /***/ "RDTF": @@ -11310,11 +12188,81 @@ const check = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElem xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24" }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { - d: "M18.3 5.6L9.9 16.9l-4.6-3.4-.9 1.2 5.8 4.3 9.3-12.6z" + 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 */ __webpack_exports__["a"] = (check); +/***/ }), + +/***/ "Rhcr": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var GetIntrinsic = __webpack_require__("j1Hc"); + +var $TypeError = GetIntrinsic('%TypeError%'); +var $Number = GetIntrinsic('%Number%'); +var $RegExp = GetIntrinsic('%RegExp%'); +var $parseInteger = GetIntrinsic('%parseInt%'); + +var callBound = __webpack_require__("qeuH"); +var regexTester = __webpack_require__("ZbWB"); +var isPrimitive = __webpack_require__("BeK9"); + +var $strSlice = callBound('String.prototype.slice'); +var isBinary = regexTester(/^0b[01]+$/i); +var isOctal = regexTester(/^0o[0-7]+$/i); +var isInvalidHexLiteral = regexTester(/^[-+]0x[0-9a-f]+$/i); +var nonWS = ['\u0085', '\u200b', '\ufffe'].join(''); +var nonWSregex = new $RegExp('[' + nonWS + ']', 'g'); +var hasNonWS = regexTester(nonWSregex); + +// whitespace from: https://es5.github.io/#x15.5.4.20 +// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324 +var ws = [ + '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003', + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028', + '\u2029\uFEFF' +].join(''); +var trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g'); +var $replace = callBound('String.prototype.replace'); +var $trim = function (value) { + return $replace(value, trimRegex, ''); +}; + +var ToPrimitive = __webpack_require__("Cx2f"); + +// https://ecma-international.org/ecma-262/6.0/#sec-tonumber + +module.exports = function ToNumber(argument) { + var value = isPrimitive(argument) ? argument : ToPrimitive(argument, $Number); + if (typeof value === 'symbol') { + throw new $TypeError('Cannot convert a Symbol value to a number'); + } + if (typeof value === 'bigint') { + throw new $TypeError('Conversion from \'BigInt\' to \'number\' is not allowed.'); + } + if (typeof value === 'string') { + if (isBinary(value)) { + return ToNumber($parseInteger($strSlice(value, 2), 2)); + } else if (isOctal(value)) { + return ToNumber($parseInteger($strSlice(value, 2), 8)); + } else if (hasNonWS(value) || isInvalidHexLiteral(value)) { + return NaN; + } + var trimmed = $trim(value); + if (trimmed !== value) { + return ToNumber(trimmed); + } + + } + return $Number(value); +}; + + /***/ }), /***/ "RxS6": @@ -11324,13 +12272,74 @@ const check = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElem /***/ }), -/***/ "S0jC": +/***/ "S3lO": /***/ (function(module, exports, __webpack_require__) { "use strict"; -module.exports = __webpack_require__("laOf"); +var GetIntrinsic = __webpack_require__("j1Hc"); + +var $TypeError = GetIntrinsic('%TypeError%'); + +var DefineOwnProperty = __webpack_require__("wTIp"); + +var FromPropertyDescriptor = __webpack_require__("rQBh"); +var OrdinaryGetOwnProperty = __webpack_require__("6XE+"); +var IsDataDescriptor = __webpack_require__("6/BL"); +var IsExtensible = __webpack_require__("UaFt"); +var IsPropertyKey = __webpack_require__("nR7C"); +var SameValue = __webpack_require__("uug5"); +var Type = __webpack_require__("PoQ0"); + +// https://ecma-international.org/ecma-262/6.0/#sec-createdataproperty + +module.exports = function CreateDataProperty(O, P, V) { + if (Type(O) !== 'Object') { + throw new $TypeError('Assertion failed: Type(O) is not Object'); + } + if (!IsPropertyKey(P)) { + throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); + } + var oldDesc = OrdinaryGetOwnProperty(O, P); + var extensible = !oldDesc || IsExtensible(O); + var immutable = oldDesc && (!oldDesc['[[Writable]]'] || !oldDesc['[[Configurable]]']); + if (immutable || !extensible) { + return false; + } + return DefineOwnProperty( + IsDataDescriptor, + SameValue, + FromPropertyDescriptor, + O, + P, + { + '[[Configurable]]': true, + '[[Enumerable]]': true, + '[[Value]]': V, + '[[Writable]]': true + } + ); +}; + + +/***/ }), + +/***/ "S8ty": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var GetIntrinsic = __webpack_require__("j1Hc"); + +var $abs = GetIntrinsic('%Math.abs%'); + +// http://262.ecma-international.org/5.1/#sec-5.2 + +module.exports = function abs(x) { + return $abs(x); +}; /***/ }), @@ -11352,8 +12361,9 @@ __webpack_require__.d(__webpack_exports__, "G", function() { return /* reexport __webpack_require__.d(__webpack_exports__, "HorizontalRule", function() { return /* reexport */ external_wp_primitives_["HorizontalRule"]; }); __webpack_require__.d(__webpack_exports__, "BlockQuotation", function() { return /* reexport */ external_wp_primitives_["BlockQuotation"]; }); __webpack_require__.d(__webpack_exports__, "__experimentalAlignmentMatrixControl", function() { return /* reexport */ AlignmentMatrixControl; }); -__webpack_require__.d(__webpack_exports__, "Animate", function() { return /* reexport */ animate["a" /* default */]; }); -__webpack_require__.d(__webpack_exports__, "__unstableGetAnimateClassName", function() { return /* reexport */ animate["b" /* getAnimateClassName */]; }); +__webpack_require__.d(__webpack_exports__, "Animate", function() { return /* reexport */ build_module_animate["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "__unstableGetAnimateClassName", function() { return /* reexport */ build_module_animate["b" /* getAnimateClassName */]; }); +__webpack_require__.d(__webpack_exports__, "__unstableMotion", function() { return /* reexport */ motion; }); __webpack_require__.d(__webpack_exports__, "AnglePickerControl", function() { return /* reexport */ AnglePickerControl; }); __webpack_require__.d(__webpack_exports__, "Autocomplete", function() { return /* reexport */ Autocomplete; }); __webpack_require__.d(__webpack_exports__, "__unstableUseAutocompleteProps", function() { return /* reexport */ useAutocompleteProps; }); @@ -11361,18 +12371,18 @@ __webpack_require__.d(__webpack_exports__, "BaseControl", function() { return /* __webpack_require__.d(__webpack_exports__, "__experimentalBoxControl", function() { return /* reexport */ BoxControl; }); __webpack_require__.d(__webpack_exports__, "Button", function() { return /* reexport */ build_module_button["a" /* default */]; }); __webpack_require__.d(__webpack_exports__, "ButtonGroup", function() { return /* reexport */ button_group; }); -__webpack_require__.d(__webpack_exports__, "Card", function() { return /* reexport */ card; }); -__webpack_require__.d(__webpack_exports__, "CardBody", function() { return /* reexport */ card_body; }); -__webpack_require__.d(__webpack_exports__, "CardDivider", function() { return /* reexport */ divider; }); -__webpack_require__.d(__webpack_exports__, "CardFooter", function() { return /* reexport */ footer; }); -__webpack_require__.d(__webpack_exports__, "CardHeader", function() { return /* reexport */ card_header; }); -__webpack_require__.d(__webpack_exports__, "CardMedia", function() { return /* reexport */ media; }); +__webpack_require__.d(__webpack_exports__, "Card", function() { return /* reexport */ card_component; }); +__webpack_require__.d(__webpack_exports__, "CardBody", function() { return /* reexport */ card_body_component; }); +__webpack_require__.d(__webpack_exports__, "CardDivider", function() { return /* reexport */ card_divider_component; }); +__webpack_require__.d(__webpack_exports__, "CardFooter", function() { return /* reexport */ card_footer_component; }); +__webpack_require__.d(__webpack_exports__, "CardHeader", function() { return /* reexport */ card_header_component; }); +__webpack_require__.d(__webpack_exports__, "CardMedia", function() { return /* reexport */ card_media_component; }); __webpack_require__.d(__webpack_exports__, "CheckboxControl", function() { return /* reexport */ CheckboxControl; }); __webpack_require__.d(__webpack_exports__, "ClipboardButton", function() { return /* reexport */ ClipboardButton; }); __webpack_require__.d(__webpack_exports__, "__experimentalColorEdit", function() { return /* reexport */ ColorEdit; }); __webpack_require__.d(__webpack_exports__, "ColorIndicator", function() { return /* reexport */ color_indicator; }); __webpack_require__.d(__webpack_exports__, "ColorPalette", function() { return /* reexport */ ColorPalette; }); -__webpack_require__.d(__webpack_exports__, "ColorPicker", function() { return /* reexport */ color_picker_ColorPicker; }); +__webpack_require__.d(__webpack_exports__, "ColorPicker", function() { return /* reexport */ LegacyAdapter; }); __webpack_require__.d(__webpack_exports__, "ComboboxControl", function() { return /* reexport */ combobox_control; }); __webpack_require__.d(__webpack_exports__, "__unstableComposite", function() { return /* reexport */ Composite; }); __webpack_require__.d(__webpack_exports__, "__unstableCompositeGroup", function() { return /* reexport */ CompositeGroup; }); @@ -11382,7 +12392,7 @@ __webpack_require__.d(__webpack_exports__, "CustomSelectControl", function() { r __webpack_require__.d(__webpack_exports__, "Dashicon", function() { return /* reexport */ dashicon["a" /* default */]; }); __webpack_require__.d(__webpack_exports__, "DateTimePicker", function() { return /* reexport */ date_time; }); __webpack_require__.d(__webpack_exports__, "DatePicker", function() { return /* reexport */ date_time_date; }); -__webpack_require__.d(__webpack_exports__, "TimePicker", function() { return /* reexport */ time; }); +__webpack_require__.d(__webpack_exports__, "TimePicker", function() { return /* reexport */ date_time_time; }); __webpack_require__.d(__webpack_exports__, "__experimentalDimensionControl", function() { return /* reexport */ dimension_control; }); __webpack_require__.d(__webpack_exports__, "Disabled", function() { return /* reexport */ build_module_disabled; }); __webpack_require__.d(__webpack_exports__, "__unstableDisclosureContent", function() { return /* reexport */ DisclosureContent; }); @@ -11394,18 +12404,20 @@ __webpack_require__.d(__webpack_exports__, "Dropdown", function() { return /* re __webpack_require__.d(__webpack_exports__, "DropdownMenu", function() { return /* reexport */ dropdown_menu; }); __webpack_require__.d(__webpack_exports__, "DuotoneSwatch", function() { return /* reexport */ duotone_swatch; }); __webpack_require__.d(__webpack_exports__, "DuotonePicker", function() { return /* reexport */ duotone_picker; }); +__webpack_require__.d(__webpack_exports__, "__experimentalElevation", function() { return /* reexport */ elevation_component; }); __webpack_require__.d(__webpack_exports__, "ExternalLink", function() { return /* reexport */ external_link; }); __webpack_require__.d(__webpack_exports__, "Flex", function() { return /* reexport */ flex_component; }); __webpack_require__.d(__webpack_exports__, "FlexBlock", function() { return /* reexport */ flex_block_component; }); __webpack_require__.d(__webpack_exports__, "FlexItem", function() { return /* reexport */ flex_item_component; }); +__webpack_require__.d(__webpack_exports__, "__experimentalFlyout", function() { return /* reexport */ flyout_component; }); __webpack_require__.d(__webpack_exports__, "FocalPointPicker", function() { return /* reexport */ focal_point_picker; }); __webpack_require__.d(__webpack_exports__, "FocusableIframe", function() { return /* reexport */ FocusableIframe; }); __webpack_require__.d(__webpack_exports__, "FontSizePicker", function() { return /* reexport */ font_size_picker; }); __webpack_require__.d(__webpack_exports__, "FormFileUpload", function() { return /* reexport */ form_file_upload; }); __webpack_require__.d(__webpack_exports__, "FormToggle", function() { return /* reexport */ form_toggle; }); __webpack_require__.d(__webpack_exports__, "FormTokenField", function() { return /* reexport */ form_token_field; }); -__webpack_require__.d(__webpack_exports__, "__experimentalGradientPicker", function() { return /* reexport */ GradientPicker; }); -__webpack_require__.d(__webpack_exports__, "__experimentalCustomGradientPicker", function() { return /* reexport */ CustomGradientPicker; }); +__webpack_require__.d(__webpack_exports__, "GradientPicker", function() { return /* reexport */ GradientPicker; }); +__webpack_require__.d(__webpack_exports__, "CustomGradientPicker", function() { return /* reexport */ CustomGradientPicker; }); __webpack_require__.d(__webpack_exports__, "__experimentalGrid", function() { return /* reexport */ grid_component; }); __webpack_require__.d(__webpack_exports__, "Guide", function() { return /* reexport */ Guide; }); __webpack_require__.d(__webpack_exports__, "GuidePage", function() { return /* reexport */ GuidePage; }); @@ -11413,23 +12425,28 @@ __webpack_require__.d(__webpack_exports__, "__experimentalHeading", function() { __webpack_require__.d(__webpack_exports__, "__experimentalHStack", function() { return /* reexport */ h_stack_component; }); __webpack_require__.d(__webpack_exports__, "Icon", function() { return /* reexport */ components_build_module_icon["a" /* default */]; }); __webpack_require__.d(__webpack_exports__, "IconButton", function() { return /* reexport */ deprecated; }); +__webpack_require__.d(__webpack_exports__, "__experimentalItemGroup", function() { return /* reexport */ item_group_component; }); +__webpack_require__.d(__webpack_exports__, "__experimentalItem", function() { return /* reexport */ item_component; }); __webpack_require__.d(__webpack_exports__, "__experimentalInputControl", function() { return /* reexport */ input_control; }); __webpack_require__.d(__webpack_exports__, "KeyboardShortcuts", function() { return /* reexport */ keyboard_shortcuts; }); __webpack_require__.d(__webpack_exports__, "MenuGroup", function() { return /* reexport */ menu_group; }); __webpack_require__.d(__webpack_exports__, "MenuItem", function() { return /* reexport */ menu_item; }); __webpack_require__.d(__webpack_exports__, "MenuItemsChoice", function() { return /* reexport */ MenuItemsChoice; }); -__webpack_require__.d(__webpack_exports__, "Modal", function() { return /* reexport */ modal; }); +__webpack_require__.d(__webpack_exports__, "Modal", function() { return /* reexport */ Modal; }); __webpack_require__.d(__webpack_exports__, "ScrollLock", function() { return /* reexport */ scroll_lock["a" /* default */]; }); __webpack_require__.d(__webpack_exports__, "NavigableMenu", function() { return /* reexport */ navigable_container_menu; }); -__webpack_require__.d(__webpack_exports__, "TabbableContainer", function() { return /* reexport */ tabbable; }); +__webpack_require__.d(__webpack_exports__, "TabbableContainer", function() { return /* reexport */ navigable_container_tabbable; }); __webpack_require__.d(__webpack_exports__, "__experimentalNavigation", function() { return /* reexport */ Navigation; }); __webpack_require__.d(__webpack_exports__, "__experimentalNavigationBackButton", function() { return /* reexport */ back_button; }); __webpack_require__.d(__webpack_exports__, "__experimentalNavigationGroup", function() { return /* reexport */ NavigationGroup; }); __webpack_require__.d(__webpack_exports__, "__experimentalNavigationItem", function() { return /* reexport */ NavigationItem; }); __webpack_require__.d(__webpack_exports__, "__experimentalNavigationMenu", function() { return /* reexport */ NavigationMenu; }); +__webpack_require__.d(__webpack_exports__, "__experimentalNavigatorProvider", function() { return /* reexport */ navigator_provider_component; }); +__webpack_require__.d(__webpack_exports__, "__experimentalNavigatorScreen", function() { return /* reexport */ navigator_screen_component; }); +__webpack_require__.d(__webpack_exports__, "__experimentalUseNavigator", function() { return /* reexport */ use_navigator; }); __webpack_require__.d(__webpack_exports__, "Notice", function() { return /* reexport */ build_module_notice; }); __webpack_require__.d(__webpack_exports__, "__experimentalNumberControl", function() { return /* reexport */ number_control; }); -__webpack_require__.d(__webpack_exports__, "NoticeList", function() { return /* reexport */ list; }); +__webpack_require__.d(__webpack_exports__, "NoticeList", function() { return /* reexport */ notice_list; }); __webpack_require__.d(__webpack_exports__, "Panel", function() { return /* reexport */ panel; }); __webpack_require__.d(__webpack_exports__, "PanelBody", function() { return /* reexport */ panel_body; }); __webpack_require__.d(__webpack_exports__, "PanelHeader", function() { return /* reexport */ panel_header; }); @@ -11444,11 +12461,14 @@ __webpack_require__.d(__webpack_exports__, "RangeControl", function() { return / __webpack_require__.d(__webpack_exports__, "ResizableBox", function() { return /* reexport */ resizable_box; }); __webpack_require__.d(__webpack_exports__, "ResponsiveWrapper", function() { return /* reexport */ responsive_wrapper; }); __webpack_require__.d(__webpack_exports__, "SandBox", function() { return /* reexport */ Sandbox; }); +__webpack_require__.d(__webpack_exports__, "SearchControl", function() { return /* reexport */ search_control; }); __webpack_require__.d(__webpack_exports__, "SelectControl", function() { return /* reexport */ select_control; }); __webpack_require__.d(__webpack_exports__, "Snackbar", function() { return /* reexport */ snackbar["a" /* default */]; }); __webpack_require__.d(__webpack_exports__, "SnackbarList", function() { return /* reexport */ snackbar_list; }); __webpack_require__.d(__webpack_exports__, "__experimentalSpacer", function() { return /* reexport */ spacer_component; }); +__webpack_require__.d(__webpack_exports__, "__experimentalScrollable", function() { return /* reexport */ scrollable_component; }); __webpack_require__.d(__webpack_exports__, "Spinner", function() { return /* reexport */ Spinner; }); +__webpack_require__.d(__webpack_exports__, "__experimentalSurface", function() { return /* reexport */ surface_component; }); __webpack_require__.d(__webpack_exports__, "TabPanel", function() { return /* reexport */ TabPanel; }); __webpack_require__.d(__webpack_exports__, "__experimentalText", function() { return /* reexport */ text_component; }); __webpack_require__.d(__webpack_exports__, "TextControl", function() { return /* reexport */ text_control; }); @@ -11456,12 +12476,17 @@ __webpack_require__.d(__webpack_exports__, "TextareaControl", function() { retur __webpack_require__.d(__webpack_exports__, "TextHighlight", function() { return /* reexport */ text_highlight; }); __webpack_require__.d(__webpack_exports__, "Tip", function() { return /* reexport */ tip; }); __webpack_require__.d(__webpack_exports__, "ToggleControl", function() { return /* reexport */ ToggleControl; }); +__webpack_require__.d(__webpack_exports__, "__experimentalToggleGroupControl", function() { return /* reexport */ toggle_group_control_component; }); +__webpack_require__.d(__webpack_exports__, "__experimentalToggleGroupControlOption", function() { return /* reexport */ toggle_group_control_option_component; }); __webpack_require__.d(__webpack_exports__, "Toolbar", function() { return /* reexport */ toolbar; }); __webpack_require__.d(__webpack_exports__, "ToolbarButton", function() { return /* reexport */ toolbar_button; }); __webpack_require__.d(__webpack_exports__, "ToolbarDropdownMenu", function() { return /* reexport */ toolbar_dropdown_menu; }); __webpack_require__.d(__webpack_exports__, "__experimentalToolbarContext", function() { return /* reexport */ toolbar_context["a" /* default */]; }); __webpack_require__.d(__webpack_exports__, "ToolbarGroup", function() { return /* reexport */ toolbar_group; }); __webpack_require__.d(__webpack_exports__, "ToolbarItem", function() { return /* reexport */ toolbar_item["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalToolsPanel", function() { return /* reexport */ tools_panel_component; }); +__webpack_require__.d(__webpack_exports__, "__experimentalToolsPanelItem", function() { return /* reexport */ tools_panel_item_component; }); +__webpack_require__.d(__webpack_exports__, "__experimentalToolsPanelContext", function() { return /* reexport */ ToolsPanelContext; }); __webpack_require__.d(__webpack_exports__, "Tooltip", function() { return /* reexport */ build_module_tooltip["a" /* default */]; }); __webpack_require__.d(__webpack_exports__, "__experimentalTreeGrid", function() { return /* reexport */ tree_grid; }); __webpack_require__.d(__webpack_exports__, "__experimentalTreeGridRow", function() { return /* reexport */ tree_grid_row; }); @@ -11471,7 +12496,9 @@ __webpack_require__.d(__webpack_exports__, "TreeSelect", function() { return /* __webpack_require__.d(__webpack_exports__, "__experimentalTruncate", function() { return /* reexport */ truncate_component; }); __webpack_require__.d(__webpack_exports__, "__experimentalUnitControl", function() { return /* reexport */ unit_control; }); __webpack_require__.d(__webpack_exports__, "__experimentalUseCustomUnits", function() { return /* reexport */ useCustomUnits; }); -__webpack_require__.d(__webpack_exports__, "VisuallyHidden", function() { return /* reexport */ visually_hidden["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "__experimentalParseUnit", function() { return /* reexport */ parseUnit; }); +__webpack_require__.d(__webpack_exports__, "__experimentalView", function() { return /* reexport */ view_component["a" /* default */]; }); +__webpack_require__.d(__webpack_exports__, "VisuallyHidden", function() { return /* reexport */ component["a" /* default */]; }); __webpack_require__.d(__webpack_exports__, "__experimentalVStack", function() { return /* reexport */ v_stack_component; }); __webpack_require__.d(__webpack_exports__, "IsolatedEventContainer", function() { return /* reexport */ isolated_event_container; }); __webpack_require__.d(__webpack_exports__, "createSlotFill", function() { return /* reexport */ slot_fill["d" /* createSlotFill */]; }); @@ -11480,6 +12507,7 @@ __webpack_require__.d(__webpack_exports__, "Fill", function() { return /* reexpo __webpack_require__.d(__webpack_exports__, "SlotFillProvider", function() { return /* reexport */ slot_fill["b" /* Provider */]; }); __webpack_require__.d(__webpack_exports__, "__experimentalUseSlot", function() { return /* reexport */ use_slot["a" /* default */]; }); __webpack_require__.d(__webpack_exports__, "__experimentalStyleProvider", function() { return /* reexport */ StyleProvider; }); +__webpack_require__.d(__webpack_exports__, "__experimentalZStack", function() { return /* reexport */ z_stack_component; }); __webpack_require__.d(__webpack_exports__, "navigateRegions", function() { return /* reexport */ navigate_regions; }); __webpack_require__.d(__webpack_exports__, "__unstableUseNavigateRegions", function() { return /* reexport */ useNavigateRegions; }); __webpack_require__.d(__webpack_exports__, "withConstrainedTabbing", function() { return /* reexport */ with_constrained_tabbing; }); @@ -11490,8 +12518,6 @@ __webpack_require__.d(__webpack_exports__, "withFocusReturn", function() { retur __webpack_require__.d(__webpack_exports__, "FocusReturnProvider", function() { return /* reexport */ with_focus_return_Provider; }); __webpack_require__.d(__webpack_exports__, "withNotices", function() { return /* reexport */ with_notices; }); __webpack_require__.d(__webpack_exports__, "withSpokenMessages", function() { return /* reexport */ with_spoken_messages; }); -__webpack_require__.d(__webpack_exports__, "__unstableWithNext", function() { return /* reexport */ with_next["a" /* withNext */]; }); -__webpack_require__.d(__webpack_exports__, "__unstableComponentSystemProvider", function() { return /* reexport */ ComponentSystemProvider; }); // NAMESPACE OBJECT: ./node_modules/@wordpress/components/build-module/text/styles.js var text_styles_namespaceObject = {}; @@ -11504,6 +12530,26 @@ __webpack_require__.d(text_styles_namespaceObject, "muted", function() { return __webpack_require__.d(text_styles_namespaceObject, "highlighterText", function() { return highlighterText; }); __webpack_require__.d(text_styles_namespaceObject, "upperCase", function() { return styles_upperCase; }); +// NAMESPACE OBJECT: ./node_modules/@wordpress/components/build-module/ui/tooltip/styles.js +var tooltip_styles_namespaceObject = {}; +__webpack_require__.r(tooltip_styles_namespaceObject); +__webpack_require__.d(tooltip_styles_namespaceObject, "TooltipContent", function() { return TooltipContent; }); +__webpack_require__.d(tooltip_styles_namespaceObject, "TooltipPopoverView", function() { return TooltipPopoverView; }); +__webpack_require__.d(tooltip_styles_namespaceObject, "noOutline", function() { return noOutline; }); +__webpack_require__.d(tooltip_styles_namespaceObject, "TooltipShortcut", function() { return TooltipShortcut; }); + +// NAMESPACE OBJECT: ./node_modules/@wordpress/components/build-module/toggle-group-control/toggle-group-control-option/styles.js +var toggle_group_control_option_styles_namespaceObject = {}; +__webpack_require__.r(toggle_group_control_option_styles_namespaceObject); +__webpack_require__.d(toggle_group_control_option_styles_namespaceObject, "LabelView", function() { return LabelView; }); +__webpack_require__.d(toggle_group_control_option_styles_namespaceObject, "labelBlock", function() { return labelBlock; }); +__webpack_require__.d(toggle_group_control_option_styles_namespaceObject, "buttonView", function() { return buttonView; }); +__webpack_require__.d(toggle_group_control_option_styles_namespaceObject, "buttonActive", function() { return buttonActive; }); +__webpack_require__.d(toggle_group_control_option_styles_namespaceObject, "ButtonContentView", function() { return ButtonContentView; }); +__webpack_require__.d(toggle_group_control_option_styles_namespaceObject, "separatorActive", function() { return separatorActive; }); +__webpack_require__.d(toggle_group_control_option_styles_namespaceObject, "LabelPlaceholderView", function() { return LabelPlaceholderView; }); +__webpack_require__.d(toggle_group_control_option_styles_namespaceObject, "medium", function() { return medium; }); + // EXTERNAL MODULE: external ["wp","primitives"] var external_wp_primitives_ = __webpack_require__("Tqx9"); @@ -11515,6 +12561,7 @@ var external_wp_element_ = __webpack_require__("GRId"); // EXTERNAL MODULE: external "lodash" var external_lodash_ = __webpack_require__("YLtl"); +var external_lodash_default = /*#__PURE__*/__webpack_require__.n(external_lodash_); // EXTERNAL MODULE: ./node_modules/classnames/index.js var classnames = __webpack_require__("TSYQ"); @@ -11529,11 +12576,11 @@ var external_wp_compose_ = __webpack_require__("K9lf"); // EXTERNAL MODULE: ./node_modules/reakit/es/Composite/CompositeItem.js var CompositeItem = __webpack_require__("kTC8"); -// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/tooltip/index.js + 1 modules +// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/tooltip/index.js var build_module_tooltip = __webpack_require__("W/NR"); -// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/visually-hidden/index.js + 2 modules -var visually_hidden = __webpack_require__("ldlY"); +// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/visually-hidden/component.js + 1 modules +var component = __webpack_require__("iSWJ"); // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/alignment-matrix-control/utils.js /** @@ -11576,7 +12623,7 @@ function transformValue(value) { * Creates an item ID based on a prefix ID and an alignment value. * * @param {string} prefixId An ID to prefix. - * @param {string} value An alignment value. + * @param {string} value An alignment value. * * @return {string} The item id. */ @@ -11599,584 +12646,30 @@ function getAlignmentIndex(alignment = 'center') { return index > -1 ? index : undefined; } -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js -var defineProperty = __webpack_require__("lSNA"); -var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty); +// EXTERNAL MODULE: ./node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js + 1 modules +var emotion_styled_base_browser_esm = __webpack_require__("DZdY"); -// EXTERNAL MODULE: external "React" -var external_React_ = __webpack_require__("cDcd"); -var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_); +// EXTERNAL MODULE: ./node_modules/@emotion/react/dist/emotion-react.browser.esm.js +var emotion_react_browser_esm = __webpack_require__("AeFk"); -// EXTERNAL MODULE: ./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js -var is_prop_valid_browser_esm = __webpack_require__("9uj6"); +// EXTERNAL MODULE: ./node_modules/colord/index.mjs +var colord = __webpack_require__("fHnH"); -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js -function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); -} -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js - -function _inheritsLoose(subClass, superClass) { - subClass.prototype = Object.create(superClass.prototype); - subClass.prototype.constructor = subClass; - _setPrototypeOf(subClass, superClass); -} -// EXTERNAL MODULE: ./node_modules/@emotion/cache/dist/cache.browser.esm.js + 2 modules -var cache_browser_esm = __webpack_require__("TqVZ"); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inheritsLoose.js -var inheritsLoose = __webpack_require__("VbXa"); - -// EXTERNAL MODULE: ./node_modules/@emotion/utils/dist/utils.browser.esm.js -var utils_browser_esm = __webpack_require__("SIPS"); - -// EXTERNAL MODULE: ./node_modules/@emotion/serialize/dist/serialize.browser.esm.js + 2 modules -var serialize_browser_esm = __webpack_require__("MiSq"); - -// CONCATENATED MODULE: ./node_modules/@emotion/core/dist/emotion-element-57a3a7a3.browser.esm.js - - - - - - -var emotion_element_57a3a7a3_browser_esm_hasOwnProperty = Object.prototype.hasOwnProperty; - -var EmotionCacheContext = /*#__PURE__*/Object(external_React_["createContext"])( // we're doing this to avoid preconstruct's dead code elimination in this one case -// because this module is primarily intended for the browser and node -// but it's also required in react native and similar environments sometimes -// and we could have a special build just for that -// but this is much easier and the native packages -// might use a different theme context in the future anyway -typeof HTMLElement !== 'undefined' ? Object(cache_browser_esm["a" /* default */])() : null); -var ThemeContext = /*#__PURE__*/Object(external_React_["createContext"])({}); -var CacheProvider = EmotionCacheContext.Provider; - -var emotion_element_57a3a7a3_browser_esm_withEmotionCache = function withEmotionCache(func) { - var render = function render(props, ref) { - return /*#__PURE__*/Object(external_React_["createElement"])(EmotionCacheContext.Consumer, null, function (cache) { - return func(props, cache, ref); - }); - }; // $FlowFixMe - - - return /*#__PURE__*/Object(external_React_["forwardRef"])(render); -}; - -// thus we only need to replace what is a valid character for JS, but not for CSS - -var sanitizeIdentifier = function sanitizeIdentifier(identifier) { - return identifier.replace(/\$/g, '-'); -}; - -var typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__'; -var labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__'; -var createEmotionProps = function createEmotionProps(type, props) { - if (false) {} - - var newProps = {}; - - for (var key in props) { - if (emotion_element_57a3a7a3_browser_esm_hasOwnProperty.call(props, key)) { - newProps[key] = props[key]; - } - } - - newProps[typePropName] = type; // TODO: check if this still works with all of those different JSX functions - - if (false) { var match, error; } - - return newProps; -}; - -var emotion_element_57a3a7a3_browser_esm_render = function render(cache, props, theme, ref) { - var cssProp = theme === null ? props.css : props.css(theme); // so that using `css` from `emotion` and passing the result to the css prop works - // not passing the registered cache to serializeStyles because it would - // make certain babel optimisations not possible - - if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) { - cssProp = cache.registered[cssProp]; - } - - var type = props[typePropName]; - var registeredStyles = [cssProp]; - var className = ''; - - if (typeof props.className === 'string') { - className = Object(utils_browser_esm["a" /* getRegisteredStyles */])(cache.registered, registeredStyles, props.className); - } else if (props.className != null) { - className = props.className + " "; - } - - var serialized = Object(serialize_browser_esm["a" /* serializeStyles */])(registeredStyles); - - if (false) { var labelFromStack; } - - var rules = Object(utils_browser_esm["b" /* insertStyles */])(cache, serialized, typeof type === 'string'); - className += cache.key + "-" + serialized.name; - var newProps = {}; - - for (var key in props) { - if (emotion_element_57a3a7a3_browser_esm_hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && ( true || false)) { - newProps[key] = props[key]; - } - } - - newProps.ref = ref; - newProps.className = className; - var ele = /*#__PURE__*/Object(external_React_["createElement"])(type, newProps); - - return ele; -}; // eslint-disable-next-line no-undef - - -var Emotion = /* #__PURE__ */emotion_element_57a3a7a3_browser_esm_withEmotionCache(function (props, cache, ref) { - if (typeof props.css === 'function') { - return /*#__PURE__*/Object(external_React_["createElement"])(ThemeContext.Consumer, null, function (theme) { - return emotion_element_57a3a7a3_browser_esm_render(cache, props, theme, ref); - }); - } - - return emotion_element_57a3a7a3_browser_esm_render(cache, props, null, ref); -}); - -if (false) {} - - - -// EXTERNAL MODULE: ./node_modules/@emotion/sheet/dist/sheet.browser.esm.js -var sheet_browser_esm = __webpack_require__("z9I/"); - -// CONCATENATED MODULE: ./node_modules/@emotion/css/dist/css.browser.esm.js - - -function css_browser_esm_css() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return Object(serialize_browser_esm["a" /* serializeStyles */])(args); -} - -/* harmony default export */ var css_browser_esm = (css_browser_esm_css); - -// CONCATENATED MODULE: ./node_modules/@emotion/core/dist/core.browser.esm.js - - - - - - - - - - - -var core_browser_esm_jsx = function jsx(type, props) { - var args = arguments; - - if (props == null || !emotion_element_57a3a7a3_browser_esm_hasOwnProperty.call(props, 'css')) { - // $FlowFixMe - return external_React_["createElement"].apply(undefined, args); - } - - var argsLength = args.length; - var createElementArgArray = new Array(argsLength); - createElementArgArray[0] = Emotion; - createElementArgArray[1] = createEmotionProps(type, props); - - for (var i = 2; i < argsLength; i++) { - createElementArgArray[i] = args[i]; - } // $FlowFixMe - - - return external_React_["createElement"].apply(null, createElementArgArray); -}; - -var warnedAboutCssPropForGlobal = false; -var Global = /* #__PURE__ */emotion_element_57a3a7a3_browser_esm_withEmotionCache(function (props, cache) { - if (false) {} - - var styles = props.styles; - - if (typeof styles === 'function') { - return /*#__PURE__*/Object(external_React_["createElement"])(ThemeContext.Consumer, null, function (theme) { - var serialized = Object(serialize_browser_esm["a" /* serializeStyles */])([styles(theme)]); - return /*#__PURE__*/Object(external_React_["createElement"])(core_browser_esm_InnerGlobal, { - serialized: serialized, - cache: cache - }); - }); - } - - var serialized = Object(serialize_browser_esm["a" /* serializeStyles */])([styles]); - return /*#__PURE__*/Object(external_React_["createElement"])(core_browser_esm_InnerGlobal, { - serialized: serialized, - cache: cache - }); -}); - -// maintain place over rerenders. -// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild -// initial client-side render from SSR, use place of hydrating tag -var core_browser_esm_InnerGlobal = /*#__PURE__*/function (_React$Component) { - _inheritsLoose(InnerGlobal, _React$Component); - - function InnerGlobal(props, context, updater) { - return _React$Component.call(this, props, context, updater) || this; - } - - var _proto = InnerGlobal.prototype; - - _proto.componentDidMount = function componentDidMount() { - this.sheet = new sheet_browser_esm["a" /* StyleSheet */]({ - key: this.props.cache.key + "-global", - nonce: this.props.cache.sheet.nonce, - container: this.props.cache.sheet.container - }); // $FlowFixMe - - var node = document.querySelector("style[data-emotion-" + this.props.cache.key + "=\"" + this.props.serialized.name + "\"]"); - - if (node !== null) { - this.sheet.tags.push(node); - } - - if (this.props.cache.sheet.tags.length) { - this.sheet.before = this.props.cache.sheet.tags[0]; - } - - this.insertStyles(); - }; - - _proto.componentDidUpdate = function componentDidUpdate(prevProps) { - if (prevProps.serialized.name !== this.props.serialized.name) { - this.insertStyles(); - } - }; - - _proto.insertStyles = function insertStyles$1() { - if (this.props.serialized.next !== undefined) { - // insert keyframes - Object(utils_browser_esm["b" /* insertStyles */])(this.props.cache, this.props.serialized.next, true); - } - - if (this.sheet.tags.length) { - // if this doesn't exist then it will be null so the style element will be appended - var element = this.sheet.tags[this.sheet.tags.length - 1].nextElementSibling; - this.sheet.before = element; - this.sheet.flush(); - } - - this.props.cache.insert("", this.props.serialized, this.sheet, false); - }; - - _proto.componentWillUnmount = function componentWillUnmount() { - this.sheet.flush(); - }; - - _proto.render = function render() { - - return null; - }; - - return InnerGlobal; -}(external_React_["Component"]); - -var core_browser_esm_keyframes = function keyframes() { - var insertable = css_browser_esm.apply(void 0, arguments); - var name = "animation-" + insertable.name; // $FlowFixMe - - return { - name: name, - styles: "@keyframes " + name + "{" + insertable.styles + "}", - anim: 1, - toString: function toString() { - return "_EMO_" + this.name + "_" + this.styles + "_EMO_"; - } - }; -}; - -var core_browser_esm_classnames = function classnames(args) { - var len = args.length; - var i = 0; - var cls = ''; - - for (; i < len; i++) { - var arg = args[i]; - if (arg == null) continue; - var toAdd = void 0; - - switch (typeof arg) { - case 'boolean': - break; - - case 'object': - { - if (Array.isArray(arg)) { - toAdd = classnames(arg); - } else { - toAdd = ''; - - for (var k in arg) { - if (arg[k] && k) { - toAdd && (toAdd += ' '); - toAdd += k; - } - } - } - - break; - } - - default: - { - toAdd = arg; - } - } - - if (toAdd) { - cls && (cls += ' '); - cls += toAdd; - } - } - - return cls; -}; - -function merge(registered, css, className) { - var registeredStyles = []; - var rawClassName = Object(utils_browser_esm["a" /* getRegisteredStyles */])(registered, registeredStyles, className); - - if (registeredStyles.length < 2) { - return className; - } - - return rawClassName + css(registeredStyles); -} - -var ClassNames = emotion_element_57a3a7a3_browser_esm_withEmotionCache(function (props, context) { - return /*#__PURE__*/Object(external_React_["createElement"])(ThemeContext.Consumer, null, function (theme) { - var hasRendered = false; - - var css = function css() { - if (hasRendered && "production" !== 'production') { - throw new Error('css can only be used during render'); - } - - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - var serialized = Object(serialize_browser_esm["a" /* serializeStyles */])(args, context.registered); - - { - Object(utils_browser_esm["b" /* insertStyles */])(context, serialized, false); - } - - return context.key + "-" + serialized.name; - }; - - var cx = function cx() { - if (hasRendered && "production" !== 'production') { - throw new Error('cx can only be used during render'); - } - - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - - return merge(context.registered, css, core_browser_esm_classnames(args)); - }; - - var content = { - css: css, - cx: cx, - theme: theme - }; - var ele = props.children(content); - hasRendered = true; - - return ele; - }); -}); - - - -// CONCATENATED MODULE: ./node_modules/@emotion/styled-base/dist/styled-base.browser.esm.js - - - - - - - -var testOmitPropsOnStringTag = is_prop_valid_browser_esm["default"]; - -var testOmitPropsOnComponent = function testOmitPropsOnComponent(key) { - return key !== 'theme' && key !== 'innerRef'; -}; - -var getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) { - return typeof tag === 'string' && // 96 is one less than the char code - // for "a" so this is checking that - // it's a lowercase character - tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent; -}; - -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } - -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } -var ILLEGAL_ESCAPE_SEQUENCE_ERROR = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences"; - -var styled_base_browser_esm_createStyled = function createStyled(tag, options) { - if (false) {} - - var identifierName; - var shouldForwardProp; - var targetClassName; - - if (options !== undefined) { - identifierName = options.label; - targetClassName = options.target; - shouldForwardProp = tag.__emotion_forwardProp && options.shouldForwardProp ? function (propName) { - return tag.__emotion_forwardProp(propName) && // $FlowFixMe - options.shouldForwardProp(propName); - } : options.shouldForwardProp; - } - - var isReal = tag.__emotion_real === tag; - var baseTag = isReal && tag.__emotion_base || tag; - - if (typeof shouldForwardProp !== 'function' && isReal) { - shouldForwardProp = tag.__emotion_forwardProp; - } - - var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag); - var shouldUseAs = !defaultShouldForwardProp('as'); - return function () { - var args = arguments; - var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : []; - - if (identifierName !== undefined) { - styles.push("label:" + identifierName + ";"); - } - - if (args[0] == null || args[0].raw === undefined) { - styles.push.apply(styles, args); - } else { - if (false) {} - - styles.push(args[0][0]); - var len = args.length; - var i = 1; - - for (; i < len; i++) { - if (false) {} - - styles.push(args[i], args[0][i]); - } - } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class - - - var Styled = emotion_element_57a3a7a3_browser_esm_withEmotionCache(function (props, context, ref) { - return Object(external_React_["createElement"])(ThemeContext.Consumer, null, function (theme) { - var finalTag = shouldUseAs && props.as || baseTag; - var className = ''; - var classInterpolations = []; - var mergedProps = props; - - if (props.theme == null) { - mergedProps = {}; - - for (var key in props) { - mergedProps[key] = props[key]; - } - - mergedProps.theme = theme; - } - - if (typeof props.className === 'string') { - className = Object(utils_browser_esm["a" /* getRegisteredStyles */])(context.registered, classInterpolations, props.className); - } else if (props.className != null) { - className = props.className + " "; - } - - var serialized = Object(serialize_browser_esm["a" /* serializeStyles */])(styles.concat(classInterpolations), context.registered, mergedProps); - var rules = Object(utils_browser_esm["b" /* insertStyles */])(context, serialized, typeof finalTag === 'string'); - className += context.key + "-" + serialized.name; - - if (targetClassName !== undefined) { - className += " " + targetClassName; - } - - var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(finalTag) : defaultShouldForwardProp; - var newProps = {}; - - for (var _key in props) { - if (shouldUseAs && _key === 'as') continue; - - if ( // $FlowFixMe - finalShouldForwardProp(_key)) { - newProps[_key] = props[_key]; - } - } - - newProps.className = className; - newProps.ref = ref || props.innerRef; - - if (false) {} - - var ele = Object(external_React_["createElement"])(finalTag, newProps); - - return ele; - }); - }); - Styled.displayName = identifierName !== undefined ? identifierName : "Styled(" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + ")"; - Styled.defaultProps = tag.defaultProps; - Styled.__emotion_real = Styled; - Styled.__emotion_base = baseTag; - Styled.__emotion_styles = styles; - Styled.__emotion_forwardProp = shouldForwardProp; - Object.defineProperty(Styled, 'toString', { - value: function value() { - if (targetClassName === undefined && "production" !== 'production') { - return 'NO_COMPONENT_SELECTOR'; - } // $FlowFixMe: coerce undefined to string - - - return "." + targetClassName; - } - }); - - Styled.withComponent = function (nextTag, nextOptions) { - return createStyled(nextTag, nextOptions !== undefined ? _objectSpread({}, options || {}, {}, nextOptions) : options).apply(void 0, styles); - }; - - return Styled; - }; -}; - -/* harmony default export */ var styled_base_browser_esm = (styled_base_browser_esm_createStyled); - -// EXTERNAL MODULE: ./node_modules/tinycolor2/tinycolor.js -var tinycolor = __webpack_require__("Zss7"); -var tinycolor_default = /*#__PURE__*/__webpack_require__.n(tinycolor); +// EXTERNAL MODULE: ./node_modules/colord/plugins/names.mjs +var names = __webpack_require__("abaT"); // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/utils/colors.js /** * External dependencies */ + +Object(colord["b" /* extend */])([names["a" /* default */]]); /** * Generating a CSS compliant rgba() color value. * * @param {string} hexValue The hex value to convert to rgba(). - * @param {number} alpha The alpha value for opacity. + * @param {number} alpha The alpha value for opacity. * @return {string} The converted rgba() color value. * * @example @@ -12185,12 +12678,7 @@ var tinycolor_default = /*#__PURE__*/__webpack_require__.n(tinycolor); */ function rgba(hexValue = '', alpha = 1) { - const { - r, - g, - b - } = tinycolor_default()(hexValue).toRgb(); - return `rgba(${r}, ${g}, ${b}, ${alpha})`; + return Object(colord["a" /* colord */])(hexValue).alpha(alpha).toRgbString(); } // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/utils/colors-values.js @@ -12348,6 +12836,7 @@ const UI = { background: BASE.white, backgroundDisabled: LIGHT_GRAY[200], border: G2.gray[700], + borderHover: G2.gray[700], borderFocus: ADMIN.themeDark10, borderDisabled: G2.gray[400], borderLight: G2.gray[200], @@ -12409,6 +12898,9 @@ function reduceMotion(prop = 'transition') { function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } +/** + * External dependencies + */ /** * Internal dependencies @@ -12417,8 +12909,8 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif var alignment_matrix_control_styles_ref = true ? { - name: "1xiracb", - styles: "border-radius:2px;box-sizing:border-box;display:grid;grid-template-columns:repeat( 3,1fr );outline:none;" + name: "lp9rn7", + styles: "border-radius:2px;box-sizing:border-box;display:grid;grid-template-columns:repeat( 3, 1fr );outline:none" } : undefined; const rootBase = () => { @@ -12428,19 +12920,17 @@ const rootBase = () => { const rootSize = ({ size = 92 }) => { - return /*#__PURE__*/css_browser_esm("grid-template-rows:repeat( 3,calc( ", size, "px / 3 ) );width:", size, "px;" + ( true ? "" : undefined)); + return /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("grid-template-rows:repeat( 3, calc( ", size, "px / 3 ) );width:", size, "px;" + ( true ? "" : undefined), true ? "" : undefined); }; -const Root = styled_base_browser_esm("div", { - target: "e1od1u4s0", - label: "Root" -})(rootBase, ";border:1px solid transparent;cursor:pointer;grid-template-columns:auto;", rootSize, ";" + ( true ? "" : undefined)); -const Row = styled_base_browser_esm("div", { - target: "e1od1u4s1", - label: "Row" -})( true ? { - name: "1177s8r", - styles: "box-sizing:border-box;display:grid;grid-template-columns:repeat( 3,1fr );" +const Root = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "e1od1u4s3" +} : undefined)(rootBase, ";border:1px solid transparent;cursor:pointer;grid-template-columns:auto;", rootSize, ";" + ( true ? "" : undefined)); +const Row = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "e1od1u4s2" +} : undefined)( true ? { + name: "1x5gbbj", + styles: "box-sizing:border-box;display:grid;grid-template-columns:repeat( 3, 1fr )" } : undefined); const pointActive = ({ @@ -12449,22 +12939,20 @@ const pointActive = ({ const boxShadow = isActive ? `0 0 0 2px ${COLORS.black}` : null; const pointColor = isActive ? COLORS.black : COLORS.lightGray[800]; const pointColorHover = isActive ? COLORS.black : COLORS.blue.medium.focus; - return /*#__PURE__*/css_browser_esm("box-shadow:", boxShadow, ";color:", pointColor, ";*:hover > &{color:", pointColorHover, ";}" + ( true ? "" : undefined)); + return /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("box-shadow:", boxShadow, ";color:", pointColor, ";*:hover>&{color:", pointColorHover, ";}" + ( true ? "" : undefined), true ? "" : undefined); }; const pointBase = props => { - return /*#__PURE__*/css_browser_esm("background:currentColor;box-sizing:border-box;display:grid;margin:auto;transition:all 120ms linear;", reduceMotion('transition'), " ", pointActive(props), true ? "" : undefined); + return /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("background:currentColor;box-sizing:border-box;display:grid;margin:auto;transition:all 120ms linear;", reduceMotion('transition'), " ", pointActive(props), ";" + ( true ? "" : undefined), true ? "" : undefined); }; -const Point = styled_base_browser_esm("span", { - target: "e1od1u4s2", - label: "Point" -})("height:6px;width:6px;", pointBase, true ? "" : undefined); -const Cell = styled_base_browser_esm("span", { - target: "e1od1u4s3", - label: "Cell" -})( true ? { - name: "10ro24i", - styles: "appearance:none;border:none;box-sizing:border-box;margin:0;display:flex;position:relative;outline:none;align-items:center;justify-content:center;padding:0;" +const Point = Object(emotion_styled_base_browser_esm["a" /* default */])("span", true ? { + target: "e1od1u4s1" +} : undefined)("height:6px;width:6px;", pointBase, ";" + ( true ? "" : undefined)); +const Cell = Object(emotion_styled_base_browser_esm["a" /* default */])("span", true ? { + target: "e1od1u4s0" +} : undefined)( true ? { + name: "rjf3ub", + styles: "appearance:none;border:none;box-sizing:border-box;margin:0;display:flex;position:relative;outline:none;align-items:center;justify-content:center;padding:0" } : undefined); // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/alignment-matrix-control/cell.js @@ -12494,7 +12982,7 @@ function cell_Cell({ }, Object(external_wp_element_["createElement"])(CompositeItem["a" /* CompositeItem */], Object(esm_extends["a" /* default */])({ as: Cell, role: "gridcell" - }, props), Object(external_wp_element_["createElement"])(visually_hidden["a" /* default */], null, value), Object(external_wp_element_["createElement"])(Point, { + }, props), Object(external_wp_element_["createElement"])(component["a" /* default */], null, value), Object(external_wp_element_["createElement"])(Point, { isActive: isActive, role: "presentation" }))); @@ -12503,6 +12991,10 @@ function cell_Cell({ // EXTERNAL MODULE: ./node_modules/reakit/es/_rollupPluginBabelHelpers-1f0bf8c2.js var _rollupPluginBabelHelpers_1f0bf8c2 = __webpack_require__("BZp5"); +// EXTERNAL MODULE: external "React" +var external_React_ = __webpack_require__("cDcd"); +var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_); + // EXTERNAL MODULE: ./node_modules/reakit-utils/es/useIsomorphicEffect.js var useIsomorphicEffect = __webpack_require__("AXvK"); @@ -14211,6 +14703,9 @@ var CompositeGroup = Object(createComponent["a" /* createComponent */])({ function alignment_matrix_control_icon_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } +/** + * External dependencies + */ /** * Internal dependencies @@ -14221,45 +14716,42 @@ function alignment_matrix_control_icon_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { const alignment_matrix_control_icon_styles_rootSize = () => { const padding = 1.5; const size = 24; - return /*#__PURE__*/css_browser_esm({ + return /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])({ gridTemplateRows: `repeat( 3, calc( ${size - padding * 2}px / 3))`, padding, maxHeight: size, maxWidth: size - }, true ? "" : undefined); + }, true ? "" : undefined, true ? "" : undefined); }; const rootPointerEvents = ({ disablePointerEvents }) => { - return /*#__PURE__*/css_browser_esm({ + return /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])({ pointerEvents: disablePointerEvents ? 'none' : null - }, true ? "" : undefined); + }, true ? "" : undefined, true ? "" : undefined); }; -const alignment_matrix_control_icon_styles_Wrapper = styled_base_browser_esm("div", { - target: "elqsdmc0", - label: "Wrapper" -})( true ? { - name: "co61ta", - styles: "box-sizing:border-box;padding:2px;" +const alignment_matrix_control_icon_styles_Wrapper = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "elqsdmc2" +} : undefined)( true ? { + name: "ogl07i", + styles: "box-sizing:border-box;padding:2px" } : undefined); -const alignment_matrix_control_icon_styles_Root = styled_base_browser_esm("div", { - target: "elqsdmc1", - label: "Root" -})("transform-origin:top left;height:100%;width:100%;", rootBase, ";", alignment_matrix_control_icon_styles_rootSize, ";", rootPointerEvents, ";" + ( true ? "" : undefined)); +const alignment_matrix_control_icon_styles_Root = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "elqsdmc1" +} : undefined)("transform-origin:top left;height:100%;width:100%;", rootBase, ";", alignment_matrix_control_icon_styles_rootSize, ";", rootPointerEvents, ";" + ( true ? "" : undefined)); const alignment_matrix_control_icon_styles_pointActive = ({ isActive }) => { const boxShadow = isActive ? `0 0 0 1px currentColor` : null; - return /*#__PURE__*/css_browser_esm("box-shadow:", boxShadow, ";color:currentColor;*:hover > &{color:currentColor;}" + ( true ? "" : undefined)); + return /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("box-shadow:", boxShadow, ";color:currentColor;*:hover>&{color:currentColor;}" + ( true ? "" : undefined), true ? "" : undefined); }; -const alignment_matrix_control_icon_styles_Point = styled_base_browser_esm("span", { - target: "elqsdmc2", - label: "Point" -})("height:2px;width:2px;", pointBase, ";", alignment_matrix_control_icon_styles_pointActive, ";" + ( true ? "" : undefined)); +const alignment_matrix_control_icon_styles_Point = Object(emotion_styled_base_browser_esm["a" /* default */])("span", true ? { + target: "elqsdmc0" +} : undefined)("height:2px;width:2px;", pointBase, ";", alignment_matrix_control_icon_styles_pointActive, ";" + ( true ? "" : undefined)); const alignment_matrix_control_icon_styles_Cell = Cell; // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/alignment-matrix-control/icon.js @@ -14393,241 +14885,9157 @@ function AlignmentMatrixControl({ AlignmentMatrixControl.Icon = AlignmentMatrixControlIcon; // EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/animate/index.js -var animate = __webpack_require__("L8Kx"); +var build_module_animate = __webpack_require__("L8Kx"); -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/utils/font-values.js -/* harmony default export */ var font_values = ({ - 'default.fontFamily': "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif", - 'default.fontSize': '13px', - 'helpText.fontSize': '12px', - mobileTextMinFontSize: '16px' +// CONCATENATED MODULE: ./node_modules/framer-motion/node_modules/tslib/tslib.es6.js +/*! ***************************************************************************** +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 */ + +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 __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 (_) 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; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (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: n === "return" } : 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; +} + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/motion/features/definitions.js +var createDefinition = function (propNames) { return ({ + isEnabled: function (props) { return propNames.some(function (name) { return !!props[name]; }); }, +}); }; +var featureDefinitions = { + measureLayout: createDefinition([ + "layout", + "layoutId", + "drag", + "_layoutResetTransform", + ]), + animation: createDefinition([ + "animate", + "exit", + "variants", + "whileHover", + "whileTap", + "whileFocus", + "whileDrag", + ]), + exit: createDefinition(["exit"]), + drag: createDefinition(["drag", "dragControls"]), + focus: createDefinition(["whileFocus"]), + hover: createDefinition(["whileHover", "onHoverStart", "onHoverEnd"]), + tap: createDefinition(["whileTap", "onTap", "onTapStart", "onTapCancel"]), + pan: createDefinition([ + "onPan", + "onPanStart", + "onPanSessionStart", + "onPanEnd", + ]), + layoutAnimation: createDefinition(["layout", "layoutId"]), +}; +function loadFeatures(features) { + for (var key in features) { + var Component = features[key]; + if (Component !== null) + featureDefinitions[key].Component = Component; + } +} + + + +// CONCATENATED MODULE: ./node_modules/hey-listen/dist/hey-listen.es.js +var warning = function () { }; +var invariant = function () { }; +if (false) {} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/context/LazyContext.js + + +var LazyContext = Object(external_React_["createContext"])({ strict: false }); + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/motion/features/use-features.js + + + + + + + +var featureNames = Object.keys(featureDefinitions); +var numFeatures = featureNames.length; +/** + * Load features via renderless components based on the provided MotionProps. + */ +function useFeatures(props, visualElement, preloadedFeatures) { + var features = []; + var lazyContext = Object(external_React_["useContext"])(LazyContext); + if (!visualElement) + return null; + /** + * If we're in development mode, check to make sure we're not rendering a motion component + * as a child of LazyMotion, as this will break the file-size benefits of using it. + */ + if (false) {} + for (var i = 0; i < numFeatures; i++) { + var name_1 = featureNames[i]; + var _a = featureDefinitions[name_1], isEnabled = _a.isEnabled, Component = _a.Component; + /** + * It might be possible in the future to use this moment to + * dynamically request functionality. In initial tests this + * was producing a lot of duplication amongst bundles. + */ + if (isEnabled(props) && Component) { + features.push(external_React_["createElement"](Component, __assign({ key: name_1 }, props, { visualElement: visualElement }))); + } + } + return features; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/context/MotionConfigContext.js + + +/** + * @public + */ +var MotionConfigContext = Object(external_React_["createContext"])({ + transformPagePoint: function (p) { return p; }, + isStatic: false, }); -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/utils/font.js + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/context/MotionContext/index.js + + +var MotionContext = Object(external_React_["createContext"])({}); +function useVisualElementContext() { + return Object(external_React_["useContext"])(MotionContext).visualElement; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/context/PresenceContext.js + + /** - * External dependencies + * @public */ +var PresenceContext = Object(external_React_["createContext"])(null); -/** - * Internal dependencies - */ + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/utils/use-constant.js /** + * Creates a constant value over the lifecycle of a component. * - * @param {keyof FONT} value Path of value from `FONT` - * @return {string} Font rule value + * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer + * a guarantee that it won't re-run for performance reasons later on. By using `useConstant` + * you can ensure that initialisers don't execute twice or more. */ - -function font(value) { - return Object(external_lodash_["get"])(font_values, value, ''); +function useConstant(init) { + var ref = Object(external_React_["useRef"])(null); + if (ref.current === null) { + ref.current = init(); + } + return ref.current; } -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/utils/space.js -const SPACE_GRID_BASE = 8; + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js + + + + /** - * Creates a spacing CSS value (px) based on grid system values. + * When a component is the child of `AnimatePresence`, it can use `usePresence` + * to access information about whether it's still present in the React tree. * - * @param {number} [value=1] Multiplier against the grid base value (8) - * @return {string} The spacing value (px). + * ```jsx + * import { usePresence } from "framer-motion" + * + * export const Component = () => { + * const [isPresent, safeToRemove] = usePresence() + * + * useEffect(() => { + * !isPresent && setTimeout(safeToRemove, 1000) + * }, [isPresent]) + * + * return

    + * } + * ``` + * + * If `isPresent` is `false`, it means that a component has been removed the tree, but + * `AnimatePresence` won't really remove it until `safeToRemove` has been called. + * + * @public */ - -function space(value = 1) { - if (isNaN(value)) return `${SPACE_GRID_BASE}px`; - return `${SPACE_GRID_BASE * value}px`; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/base-control/styles/base-control-styles.js - - -/** - * Internal dependencies - */ - -const base_control_styles_Wrapper = styled_base_browser_esm("div", { - target: "e1puf3u0", - label: "Wrapper" -})("font-family:", font('default.fontFamily'), ";font-size:", font('default.fontSize'), ";" + ( true ? "" : undefined)); -const StyledField = styled_base_browser_esm("div", { - target: "e1puf3u1", - label: "StyledField" -})("margin-bottom:", space(1), ";.components-panel__row &{margin-bottom:inherit;}" + ( true ? "" : undefined)); -const StyledLabel = styled_base_browser_esm("label", { - target: "e1puf3u2", - label: "StyledLabel" -})("display:inline-block;margin-bottom:", space(1), ";" + ( true ? "" : undefined)); -const StyledHelp = styled_base_browser_esm("p", { - target: "e1puf3u3", - label: "StyledHelp" -})("font-size:", font('helpText.fontSize'), ";font-style:normal;color:", COLORS.mediumGray.text, ";" + ( true ? "" : undefined)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/base-control/index.js - - -/** - * External dependencies - */ - -/** - * Internal dependencies - */ - - - -/** - * @typedef Props - * @property {string} id The id of the element to which labels and help text are being generated. - * That element should be passed as a child. - * @property {import('react').ReactNode} help If this property is added, a help text will be - * generated using help property as the content. - * @property {import('react').ReactNode} label If this property is added, a label will be generated - * using label property as the content. - * @property {boolean} [hideLabelFromVision] If true, the label will only be visible to screen readers. - * @property {string} [className] The class that will be added with "components-base-control" to the - * classes of the wrapper div. If no className is passed only - * components-base-control is used. - * @property {import('react').ReactNode} [children] The content to be displayed within - * the BaseControl. - */ - -/** - * @param {Props} props - * @return {JSX.Element} Element - */ - -function BaseControl({ - id, - label, - hideLabelFromVision, - help, - className, - children -}) { - return Object(external_wp_element_["createElement"])(base_control_styles_Wrapper, { - className: classnames_default()('components-base-control', className) - }, Object(external_wp_element_["createElement"])(StyledField, { - className: "components-base-control__field" - }, label && id && (hideLabelFromVision ? Object(external_wp_element_["createElement"])(visually_hidden["a" /* default */], { - as: "label", - htmlFor: id - }, label) : Object(external_wp_element_["createElement"])(StyledLabel, { - className: "components-base-control__label", - htmlFor: id - }, label)), label && !id && (hideLabelFromVision ? Object(external_wp_element_["createElement"])(visually_hidden["a" /* default */], { - as: "label" - }, label) : Object(external_wp_element_["createElement"])(BaseControl.VisualLabel, null, label)), children), !!help && Object(external_wp_element_["createElement"])(StyledHelp, { - id: id + '__help', - className: "components-base-control__help" - }, help)); +function usePresence() { + var context = Object(external_React_["useContext"])(PresenceContext); + if (context === null) + return [true, null]; + var isPresent = context.isPresent, onExitComplete = context.onExitComplete, register = context.register; + // It's safe to call the following hooks conditionally (after an early return) because the context will always + // either be null or non-null for the lifespan of the component. + // Replace with useOpaqueId when released in React + var id = useUniqueId(); + Object(external_React_["useEffect"])(function () { return register(id); }, []); + var safeToRemove = function () { return onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete(id); }; + return !isPresent && onExitComplete ? [false, safeToRemove] : [true]; } /** - * @typedef VisualLabelProps - * @property {string} [className] Class name - * @property {import('react').ReactNode} [children] Children + * Similar to `usePresence`, except `useIsPresent` simply returns whether or not the component is present. + * There is no `safeToRemove` function. + * + * ```jsx + * import { useIsPresent } from "framer-motion" + * + * export const Component = () => { + * const isPresent = useIsPresent() + * + * useEffect(() => { + * !isPresent && console.log("I've been removed!") + * }, [isPresent]) + * + * return
    + * } + * ``` + * + * @public */ +function useIsPresent() { + return use_presence_isPresent(Object(external_React_["useContext"])(PresenceContext)); +} +function use_presence_isPresent(context) { + return context === null ? true : context.isPresent; +} +var counter = 0; +var incrementId = function () { return counter++; }; +var useUniqueId = function () { return useConstant(incrementId); }; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/context/LayoutGroupContext.js + /** - * @param {VisualLabelProps} Props - * @return {JSX.Element} Element + * @internal */ +var LayoutGroupContext = Object(external_React_["createContext"])(null); -BaseControl.VisualLabel = ({ - className, - children -}) => { - className = classnames_default()('components-base-control__label', className); - return Object(external_wp_element_["createElement"])("span", { - className: className - }, children); + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/utils/is-browser.js +var isBrowser = typeof window !== "undefined"; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.js + + + +var useIsomorphicLayoutEffect = isBrowser ? external_React_["useLayoutEffect"] : external_React_["useEffect"]; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js + + + + + + + + + + +function useLayoutId(_a) { + var layoutId = _a.layoutId; + var layoutGroupId = Object(external_React_["useContext"])(LayoutGroupContext); + return layoutGroupId && layoutId !== undefined + ? layoutGroupId + "-" + layoutId + : layoutId; +} +function useVisualElement(Component, visualState, props, createVisualElement) { + var config = Object(external_React_["useContext"])(MotionConfigContext); + var lazyContext = Object(external_React_["useContext"])(LazyContext); + var parent = useVisualElementContext(); + var presenceContext = Object(external_React_["useContext"])(PresenceContext); + var layoutId = useLayoutId(props); + var visualElementRef = Object(external_React_["useRef"])(undefined); + /** + * If we haven't preloaded a renderer, check to see if we have one lazy-loaded + */ + if (!createVisualElement) + createVisualElement = lazyContext.renderer; + if (!visualElementRef.current && createVisualElement) { + visualElementRef.current = createVisualElement(Component, { + visualState: visualState, + parent: parent, + props: __assign(__assign({}, props), { layoutId: layoutId }), + presenceId: presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.id, + blockInitialAnimation: (presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.initial) === false, + }); + } + var visualElement = visualElementRef.current; + useIsomorphicLayoutEffect(function () { + if (!visualElement) + return; + visualElement.setProps(__assign(__assign(__assign({}, config), props), { layoutId: layoutId })); + visualElement.isPresent = use_presence_isPresent(presenceContext); + visualElement.isPresenceRoot = + !parent || parent.presenceId !== (presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.id); + /** + * Fire a render to ensure the latest state is reflected on-screen. + */ + visualElement.syncRender(); + }); + Object(external_React_["useEffect"])(function () { + var _a; + if (!visualElement) + return; + /** + * In a future refactor we can replace the features-as-components and + * have this loop through them all firing "effect" listeners + */ + (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.animateChanges(); + }); + useIsomorphicLayoutEffect(function () { return function () { return visualElement === null || visualElement === void 0 ? void 0 : visualElement.notifyUnmount(); }; }, []); + return visualElement; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/utils/is-ref-object.js +function isRefObject(ref) { + return (typeof ref === "object" && + Object.prototype.hasOwnProperty.call(ref, "current")); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js + + + +/** + * Creates a ref function that, when called, hydrates the provided + * external ref and VisualElement. + */ +function useMotionRef(visualState, visualElement, externalRef) { + return Object(external_React_["useCallback"])(function (instance) { + var _a; + instance && ((_a = visualState.mount) === null || _a === void 0 ? void 0 : _a.call(visualState, instance)); + if (visualElement) { + instance + ? visualElement.mount(instance) + : visualElement.unmount(); + } + if (externalRef) { + if (typeof externalRef === "function") { + externalRef(instance); + } + else if (isRefObject(externalRef)) { + externalRef.current = instance; + } + } + }, + /** + * Only pass a new ref callback to React if we've received a visual element + * factory. Otherwise we'll be mounting/remounting every time externalRef + * or other dependencies change. + */ + [visualElement]); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/utils/variants.js +/** + * Decides if the supplied variable is an array of variant labels + */ +function isVariantLabels(v) { + return Array.isArray(v); +} +/** + * Decides if the supplied variable is variant label + */ +function isVariantLabel(v) { + return typeof v === "string" || isVariantLabels(v); +} +/** + * Creates an object containing the latest state of every MotionValue on a VisualElement + */ +function getCurrent(visualElement) { + var current = {}; + visualElement.forEachValue(function (value, key) { return (current[key] = value.get()); }); + return current; +} +/** + * Creates an object containing the latest velocity of every MotionValue on a VisualElement + */ +function getVelocity(visualElement) { + var velocity = {}; + visualElement.forEachValue(function (value, key) { return (velocity[key] = value.getVelocity()); }); + return velocity; +} +function resolveVariantFromProps(props, definition, custom, currentValues, currentVelocity) { + var _a; + if (currentValues === void 0) { currentValues = {}; } + if (currentVelocity === void 0) { currentVelocity = {}; } + if (typeof definition === "string") { + definition = (_a = props.variants) === null || _a === void 0 ? void 0 : _a[definition]; + } + return typeof definition === "function" + ? definition(custom !== null && custom !== void 0 ? custom : props.custom, currentValues, currentVelocity) + : definition; +} +function resolveVariant(visualElement, definition, custom) { + var props = visualElement.getProps(); + return resolveVariantFromProps(props, definition, custom !== null && custom !== void 0 ? custom : props.custom, getCurrent(visualElement), getVelocity(visualElement)); +} +function checkIfControllingVariants(props) { + var _a; + return (typeof ((_a = props.animate) === null || _a === void 0 ? void 0 : _a.start) === "function" || + isVariantLabel(props.initial) || + isVariantLabel(props.animate) || + isVariantLabel(props.whileHover) || + isVariantLabel(props.whileDrag) || + isVariantLabel(props.whileTap) || + isVariantLabel(props.whileFocus) || + isVariantLabel(props.exit)); +} +function checkIfVariantNode(props) { + return Boolean(checkIfControllingVariants(props) || props.variants); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/context/MotionContext/utils.js + + +function getCurrentTreeVariants(props, context) { + if (checkIfControllingVariants(props)) { + var initial = props.initial, animate = props.animate; + return { + initial: initial === false || isVariantLabel(initial) + ? initial + : undefined, + animate: isVariantLabel(animate) ? animate : undefined, + }; + } + return props.inherit !== false ? context : {}; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/context/MotionContext/create.js + + + + +function useCreateMotionContext(props, isStatic) { + var _a = getCurrentTreeVariants(props, Object(external_React_["useContext"])(MotionContext)), initial = _a.initial, animate = _a.animate; + return Object(external_React_["useMemo"])(function () { return ({ initial: initial, animate: animate }); }, + /** + * Only break memoisation in static mode + */ + isStatic + ? [ + variantLabelsAsDependency(initial), + variantLabelsAsDependency(animate), + ] + : []); +} +function variantLabelsAsDependency(prop) { + return Array.isArray(prop) ? prop.join(" ") : prop; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/motion/index.js + + + + + + + + + + + +/** + * Create a `motion` component. + * + * This function accepts a Component argument, which can be either a string (ie "div" + * for `motion.div`), or an actual React component. + * + * Alongside this is a config option which provides a way of rendering the provided + * component "offline", or outside the React render cycle. + * + * @internal + */ +function createMotionComponent(_a) { + var preloadedFeatures = _a.preloadedFeatures, createVisualElement = _a.createVisualElement, useRender = _a.useRender, useVisualState = _a.useVisualState, Component = _a.Component; + preloadedFeatures && loadFeatures(preloadedFeatures); + function MotionComponent(props, externalRef) { + /** + * If we're rendering in a static environment, we only visually update the component + * as a result of a React-rerender rather than interactions or animations. This + * means we don't need to load additional memory structures like VisualElement, + * or any gesture/animation features. + */ + var isStatic = Object(external_React_["useContext"])(MotionConfigContext).isStatic; + var features = null; + /** + * Create the tree context. This is memoized and will only trigger renders + * when the current tree variant changes in static mode. + */ + var context = useCreateMotionContext(props, isStatic); + /** + * + */ + var visualState = useVisualState(props, isStatic); + if (!isStatic && isBrowser) { + /** + * Create a VisualElement for this component. A VisualElement provides a common + * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as + * providing a way of rendering to these APIs outside of the React render loop + * for more performant animations and interactions + */ + context.visualElement = useVisualElement(Component, visualState, props, createVisualElement); + /** + * Load Motion gesture and animation features. These are rendered as renderless + * components so each feature can optionally make use of React lifecycle methods. + * + * TODO: The intention is to move these away from a React-centric to a + * VisualElement-centric lifecycle scheme. + */ + features = useFeatures(props, context.visualElement, preloadedFeatures); + } + /** + * The mount order and hierarchy is specific to ensure our element ref + * is hydrated by the time features fire their effects. + */ + return (external_React_["createElement"](external_React_["Fragment"], null, + external_React_["createElement"](MotionContext.Provider, { value: context }, useRender(Component, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic)), + features)); + } + return Object(external_React_["forwardRef"])(MotionComponent); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/motion-proxy.js + + +/** + * Convert any React component into a `motion` component. The provided component + * **must** use `React.forwardRef` to the underlying DOM component you want to animate. + * + * ```jsx + * const Component = React.forwardRef((props, ref) => { + * return
    + * }) + * + * const MotionComponent = motion(Component) + * ``` + * + * @public + */ +function createMotionProxy(createConfig) { + function custom(Component, customMotionComponentConfig) { + if (customMotionComponentConfig === void 0) { customMotionComponentConfig = {}; } + return createMotionComponent(createConfig(Component, customMotionComponentConfig)); + } + /** + * A cache of generated `motion` components, e.g `motion.div`, `motion.input` etc. + * Rather than generating them anew every render. + */ + var componentCache = new Map(); + return new Proxy(custom, { + /** + * Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc. + * The prop name is passed through as `key` and we can use that to generate a `motion` + * DOM component with that name. + */ + get: function (_target, key) { + /** + * If this element doesn't exist in the component cache, create it and cache. + */ + if (!componentCache.has(key)) { + componentCache.set(key, custom(key)); + } + return componentCache.get(key); + }, + }); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/svg/lowercase-elements.js +/** + * We keep these listed seperately as we use the lowercase tag names as part + * of the runtime bundle to detect SVG components + */ +var lowercaseSVGElements = [ + "animate", + "circle", + "defs", + "desc", + "ellipse", + "g", + "image", + "line", + "filter", + "marker", + "mask", + "metadata", + "path", + "pattern", + "polygon", + "polyline", + "rect", + "stop", + "svg", + "switch", + "symbol", + "text", + "tspan", + "use", + "view", +]; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.js + + +function isSVGComponent(Component) { + if ( + /** + * If it's not a string, it's a custom React component. Currently we only support + * HTML custom React components. + */ + typeof Component !== "string" || + /** + * If it contains a dash, the element is a custom HTML webcomponent. + */ + Component.includes("-")) { + return false; + } + else if ( + /** + * If it's in our list of lowercase SVG tags, it's an SVG component + */ + lowercaseSVGElements.indexOf(Component) > -1 || + /** + * If it contains a capital letter, it's an SVG component + */ + /[A-Z]/.test(Component)) { + return true; + } + return false; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/projection/scale-correction.js +var valueScaleCorrection = {}; +/** + * @internal + */ +function addScaleCorrection(correctors) { + for (var key in correctors) { + valueScaleCorrection[key] = correctors[key]; + } +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/html/utils/transform.js +/** + * A list of all transformable axes. We'll use this list to generated a version + * of each axes for each transform. + */ +var transformAxes = ["", "X", "Y", "Z"]; +/** + * An ordered array of each transformable value. By default, transform values + * will be sorted to this order. + */ +var transform_order = ["translate", "scale", "rotate", "skew"]; +/** + * Generate a list of every possible transform key. + */ +var transformProps = ["transformPerspective", "x", "y", "z"]; +transform_order.forEach(function (operationKey) { + return transformAxes.forEach(function (axesKey) { + return transformProps.push(operationKey + axesKey); + }); +}); +/** + * A function to use with Array.sort to sort transform keys by their default order. + */ +function sortTransformProps(a, b) { + return transformProps.indexOf(a) - transformProps.indexOf(b); +} +/** + * A quick lookup for transform props. + */ +var transformPropSet = new Set(transformProps); +function isTransformProp(key) { + return transformPropSet.has(key); +} +/** + * A quick lookup for transform origin props + */ +var transformOriginProps = new Set(["originX", "originY", "originZ"]); +function isTransformOriginProp(key) { + return transformOriginProps.has(key); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.js + + + +function isForcedMotionValue(key, _a) { + var layout = _a.layout, layoutId = _a.layoutId; + return (isTransformProp(key) || + isTransformOriginProp(key) || + ((layout || layoutId !== undefined) && + (!!valueScaleCorrection[key] || key === "opacity"))); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/value/utils/is-motion-value.js +var isMotionValue = function (value) { + return value !== null && typeof value === "object" && value.getVelocity; }; -/* harmony default export */ var base_control = (BaseControl); + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/html/utils/build-transform.js + + +var translateAlias = { + x: "translateX", + y: "translateY", + z: "translateZ", + transformPerspective: "perspective", +}; +/** + * Build a CSS transform style from individual x/y/scale etc properties. + * + * This outputs with a default order of transforms/scales/rotations, this can be customised by + * providing a transformTemplate function. + */ +function buildTransform(_a, _b, transformIsDefault, transformTemplate) { + var transform = _a.transform, transformKeys = _a.transformKeys; + var _c = _b.enableHardwareAcceleration, enableHardwareAcceleration = _c === void 0 ? true : _c, _d = _b.allowTransformNone, allowTransformNone = _d === void 0 ? true : _d; + // The transform string we're going to build into. + var transformString = ""; + // Transform keys into their default order - this will determine the output order. + transformKeys.sort(sortTransformProps); + // Track whether the defined transform has a defined z so we don't add a + // second to enable hardware acceleration + var transformHasZ = false; + // Loop over each transform and build them into transformString + var numTransformKeys = transformKeys.length; + for (var i = 0; i < numTransformKeys; i++) { + var key = transformKeys[i]; + transformString += (translateAlias[key] || key) + "(" + transform[key] + ") "; + if (key === "z") + transformHasZ = true; + } + if (!transformHasZ && enableHardwareAcceleration) { + transformString += "translateZ(0)"; + } + else { + transformString = transformString.trim(); + } + // If we have a custom `transform` template, pass our transform values and + // generated transformString to that before returning + if (transformTemplate) { + transformString = transformTemplate(transform, transformIsDefault ? "" : transformString); + } + else if (allowTransformNone && transformIsDefault) { + transformString = "none"; + } + return transformString; +} +/** + * Build a transformOrigin style. Uses the same defaults as the browser for + * undefined origins. + */ +function buildTransformOrigin(_a) { + var _b = _a.originX, originX = _b === void 0 ? "50%" : _b, _c = _a.originY, originY = _c === void 0 ? "50%" : _c, _d = _a.originZ, originZ = _d === void 0 ? 0 : _d; + return originX + " " + originY + " " + originZ; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.js +/** + * Returns true if the provided key is a CSS variable + */ +function isCSSVariable(key) { + return key.startsWith("--"); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.js +/** + * Provided a value and a ValueType, returns the value as that value type. + */ +var getValueAsType = function (value, type) { + return type && typeof value === "number" + ? type.transform(value) + : value; +}; + + + +// CONCATENATED MODULE: ./node_modules/style-value-types/node_modules/tslib/tslib.es6.js +/*! ***************************************************************************** +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 */ + +var tslib_es6_extendStatics = function(d, b) { + tslib_es6_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); +}; + +function tslib_es6_extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + tslib_es6_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) { + 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); +} + +function tslib_es6_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 tslib_es6_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) { + return function (target, key) { decorator(target, key, paramIndex); } +} + +function tslib_es6_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 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 tslib_es6_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 (_) 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 tslib_es6_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) { + if (k2 === undefined) k2 = k; + 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 tslib_es6_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 tslib_es6_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 tslib_es6_spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(tslib_es6_read(arguments[i])); + return ar; +} + +/** @deprecated */ +function tslib_es6_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 tslib_es6_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 tslib_es6_await(v) { + return this instanceof tslib_es6_await ? (this.v = v, this) : new tslib_es6_await(v); +} + +function tslib_es6_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 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) { + 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 tslib_es6_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); + 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) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; +}; + +var tslib_es6_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) { + 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); + return result; +} + +function tslib_es6_importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; +} + +function tslib_es6_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 tslib_es6_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; +} + +// CONCATENATED MODULE: ./node_modules/style-value-types/dist/es/utils.js +var clamp = function (min, max) { return function (v) { + return Math.max(Math.min(v, max), min); +}; }; +var utils_sanitize = function (v) { return (v % 1 ? Number(v.toFixed(5)) : v); }; +var floatRegex = /(-)?([\d]*\.?[\d])+/g; +var colorRegex = /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi; +var singleColorRegex = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i; +function isString(v) { + return typeof v === 'string'; +} + + + +// CONCATENATED MODULE: ./node_modules/style-value-types/dist/es/numbers/units.js + + + +var createUnitType = function (unit) { return ({ + test: function (v) { + return isString(v) && v.endsWith(unit) && v.split(' ').length === 1; + }, + parse: parseFloat, + transform: function (v) { return "" + v + unit; }, +}); }; +var degrees = createUnitType('deg'); +var percent = createUnitType('%'); +var px = createUnitType('px'); +var vh = createUnitType('vh'); +var vw = createUnitType('vw'); +var progressPercentage = tslib_es6_assign(tslib_es6_assign({}, percent), { parse: function (v) { return percent.parse(v) / 100; }, transform: function (v) { return percent.transform(v * 100); } }); + + + +// CONCATENATED MODULE: ./node_modules/style-value-types/dist/es/numbers/index.js + + + +var numbers_number = { + test: function (v) { return typeof v === 'number'; }, + parse: parseFloat, + transform: function (v) { return v; }, +}; +var numbers_alpha = tslib_es6_assign(tslib_es6_assign({}, numbers_number), { transform: clamp(0, 1) }); +var numbers_scale = tslib_es6_assign(tslib_es6_assign({}, numbers_number), { default: 1 }); + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/value-types/type-int.js + + + +var type_int_int = __assign(__assign({}, numbers_number), { transform: Math.round }); + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/value-types/number.js + + + +var numberValueTypes = { + // Border props + borderWidth: px, + borderTopWidth: px, + borderRightWidth: px, + borderBottomWidth: px, + borderLeftWidth: px, + borderRadius: px, + radius: px, + borderTopLeftRadius: px, + borderTopRightRadius: px, + borderBottomRightRadius: px, + borderBottomLeftRadius: px, + // Positioning props + width: px, + maxWidth: px, + height: px, + maxHeight: px, + size: px, + top: px, + right: px, + bottom: px, + left: px, + // Spacing props + padding: px, + paddingTop: px, + paddingRight: px, + paddingBottom: px, + paddingLeft: px, + margin: px, + marginTop: px, + marginRight: px, + marginBottom: px, + marginLeft: px, + // Transform props + rotate: degrees, + rotateX: degrees, + rotateY: degrees, + rotateZ: degrees, + scale: numbers_scale, + scaleX: numbers_scale, + scaleY: numbers_scale, + scaleZ: numbers_scale, + skew: degrees, + skewX: degrees, + skewY: degrees, + distance: px, + translateX: px, + translateY: px, + translateZ: px, + x: px, + y: px, + z: px, + perspective: px, + transformPerspective: px, + opacity: numbers_alpha, + originX: progressPercentage, + originY: progressPercentage, + originZ: px, + // Misc + zIndex: type_int_int, + // SVG + fillOpacity: numbers_alpha, + strokeOpacity: numbers_alpha, + numOctaves: type_int_int, +}; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/html/utils/build-styles.js + + + + + + + +function buildHTMLStyles(state, latestValues, projection, layoutState, options, transformTemplate, buildProjectionTransform, buildProjectionTransformOrigin) { + var _a; + var style = state.style, vars = state.vars, transform = state.transform, transformKeys = state.transformKeys, transformOrigin = state.transformOrigin; + // Empty the transformKeys array. As we're throwing out refs to its items + // this might not be as cheap as suspected. Maybe using the array as a buffer + // with a manual incrementation would be better. + transformKeys.length = 0; + // Track whether we encounter any transform or transformOrigin values. + var hasTransform = false; + var hasTransformOrigin = false; + // Does the calculated transform essentially equal "none"? + var transformIsNone = true; + /** + * Loop over all our latest animated values and decide whether to handle them + * as a style or CSS variable. + * + * Transforms and transform origins are kept seperately for further processing. + */ + for (var key in latestValues) { + var value = latestValues[key]; + /** + * If this is a CSS variable we don't do any further processing. + */ + if (isCSSVariable(key)) { + vars[key] = value; + continue; + } + // Convert the value to its default value type, ie 0 -> "0px" + var valueType = numberValueTypes[key]; + var valueAsType = getValueAsType(value, valueType); + if (isTransformProp(key)) { + // If this is a transform, flag to enable further transform processing + hasTransform = true; + transform[key] = valueAsType; + transformKeys.push(key); + // If we already know we have a non-default transform, early return + if (!transformIsNone) + continue; + // Otherwise check to see if this is a default transform + if (value !== ((_a = valueType.default) !== null && _a !== void 0 ? _a : 0)) + transformIsNone = false; + } + else if (isTransformOriginProp(key)) { + transformOrigin[key] = valueAsType; + // If this is a transform origin, flag and enable further transform-origin processing + hasTransformOrigin = true; + } + else { + /** + * If layout projection is on, and we need to perform scale correction for this + * value type, perform it. + */ + if ((projection === null || projection === void 0 ? void 0 : projection.isHydrated) && + (layoutState === null || layoutState === void 0 ? void 0 : layoutState.isHydrated) && + valueScaleCorrection[key]) { + var correctedValue = valueScaleCorrection[key].process(value, layoutState, projection); + /** + * Scale-correctable values can define a number of other values to break + * down into. For instance borderRadius needs applying to borderBottomLeftRadius etc + */ + var applyTo = valueScaleCorrection[key].applyTo; + if (applyTo) { + var num = applyTo.length; + for (var i = 0; i < num; i++) { + style[applyTo[i]] = correctedValue; + } + } + else { + style[key] = correctedValue; + } + } + else { + style[key] = valueAsType; + } + } + } + if (layoutState && + projection && + buildProjectionTransform && + buildProjectionTransformOrigin) { + style.transform = buildProjectionTransform(layoutState.deltaFinal, layoutState.treeScale, hasTransform ? transform : undefined); + if (transformTemplate) { + style.transform = transformTemplate(transform, style.transform); + } + style.transformOrigin = buildProjectionTransformOrigin(layoutState); + } + else { + if (hasTransform) { + style.transform = buildTransform(state, options, transformIsNone, transformTemplate); + } + if (hasTransformOrigin) { + style.transformOrigin = buildTransformOrigin(transformOrigin); + } + } +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/html/utils/create-render-state.js +var createHtmlRenderState = function () { return ({ + style: {}, + transform: {}, + transformKeys: [], + transformOrigin: {}, + vars: {}, +}); }; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/html/use-props.js + + + + + + + +function copyRawValuesOnly(target, source, props) { + for (var key in source) { + if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) { + target[key] = source[key]; + } + } +} +function useInitialMotionValues(_a, visualState, isStatic) { + var transformTemplate = _a.transformTemplate; + return Object(external_React_["useMemo"])(function () { + var state = createHtmlRenderState(); + buildHTMLStyles(state, visualState, undefined, undefined, { enableHardwareAcceleration: !isStatic }, transformTemplate); + var vars = state.vars, style = state.style; + return __assign(__assign({}, vars), style); + }, [visualState]); +} +function useStyle(props, visualState, isStatic) { + var styleProp = props.style || {}; + var style = {}; + /** + * Copy non-Motion Values straight into style + */ + copyRawValuesOnly(style, styleProp, props); + Object.assign(style, useInitialMotionValues(props, visualState, isStatic)); + if (props.transformValues) { + style = props.transformValues(style); + } + return style; +} +function useHTMLProps(props, visualState, isStatic) { + // The `any` isn't ideal but it is the type of createElement props argument + var htmlProps = {}; + var style = useStyle(props, visualState, isStatic); + if (Boolean(props.drag)) { + // Disable the ghost element when a user drags + htmlProps.draggable = false; + // Disable text selection + style.userSelect = style.WebkitUserSelect = style.WebkitTouchCallout = + "none"; + // Disable scrolling on the draggable direction + style.touchAction = + props.drag === true + ? "none" + : "pan-" + (props.drag === "x" ? "y" : "x"); + } + htmlProps.style = style; + return htmlProps; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/motion/utils/valid-prop.js +/** + * A list of all valid MotionProps. + * + * @internalremarks + * This doesn't throw if a `MotionProp` name is missing - it should. + */ +var validMotionProps = new Set([ + "initial", + "animate", + "exit", + "style", + "variants", + "transition", + "transformTemplate", + "transformValues", + "custom", + "inherit", + "layout", + "layoutId", + "_layoutResetTransform", + "onLayoutAnimationComplete", + "onViewportBoxUpdate", + "onLayoutMeasure", + "onBeforeLayoutMeasure", + "onAnimationStart", + "onAnimationComplete", + "onUpdate", + "onDragStart", + "onDrag", + "onDragEnd", + "onMeasureDragConstraints", + "onDirectionLock", + "onDragTransitionEnd", + "drag", + "dragControls", + "dragListener", + "dragConstraints", + "dragDirectionLock", + "_dragX", + "_dragY", + "dragElastic", + "dragMomentum", + "dragPropagation", + "dragTransition", + "whileDrag", + "onPan", + "onPanStart", + "onPanEnd", + "onPanSessionStart", + "onTap", + "onTapStart", + "onTapCancel", + "onHoverStart", + "onHoverEnd", + "whileFocus", + "whileTap", + "whileHover", +]); +/** + * Check whether a prop name is a valid `MotionProp` key. + * + * @param key - Name of the property to check + * @returns `true` is key is a valid `MotionProp`. + * + * @public + */ +function isValidMotionProp(key) { + return validMotionProps.has(key); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/utils/filter-props.js + + +var shouldForward = function (key) { return !isValidMotionProp(key); }; +/** + * Emotion and Styled Components both allow users to pass through arbitrary props to their components + * to dynamically generate CSS. They both use the `@emotion/is-prop-valid` package to determine which + * of these should be passed to the underlying DOM node. + * + * However, when styling a Motion component `styled(motion.div)`, both packages pass through *all* props + * as it's seen as an arbitrary component rather than a DOM node. Motion only allows arbitrary props + * passed through the `custom` prop so it doesn't *need* the payload or computational overhead of + * `@emotion/is-prop-valid`, however to fix this problem we need to use it. + * + * By making it an optionalDependency we can offer this functionality only in the situations where it's + * actually required. + */ +try { + var emotionIsPropValid_1 = __webpack_require__("gCm3").default; + shouldForward = function (key) { + // Handle events explicitly as Emotion validates them all as true + if (key.startsWith("on")) { + return !isValidMotionProp(key); + } + else { + return emotionIsPropValid_1(key); + } + }; +} +catch (_a) { + // We don't need to actually do anything here - the fallback is the existing `isPropValid`. +} +function filterProps(props, isDom, forwardMotionProps) { + var filteredProps = {}; + for (var key in props) { + if (shouldForward(key) || + (forwardMotionProps === true && isValidMotionProp(key)) || + (!isDom && !isValidMotionProp(key))) { + filteredProps[key] = props[key]; + } + } + return filteredProps; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.js + + +function calcOrigin(origin, offset, size) { + return typeof origin === "string" + ? origin + : px.transform(offset + size * origin); +} +/** + * The SVG transform origin defaults are different to CSS and is less intuitive, + * so we use the measured dimensions of the SVG to reconcile these. + */ +function calcSVGTransformOrigin(dimensions, originX, originY) { + var pxOriginX = calcOrigin(originX, dimensions.x, dimensions.width); + var pxOriginY = calcOrigin(originY, dimensions.y, dimensions.height); + return pxOriginX + " " + pxOriginY; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/svg/utils/path.js + + +// Convert a progress 0-1 to a pixels value based on the provided length +var progressToPixels = function (progress, length) { + return px.transform(progress * length); +}; +var dashKeys = { + offset: "stroke-dashoffset", + array: "stroke-dasharray", +}; +var camelKeys = { + offset: "strokeDashoffset", + array: "strokeDasharray", +}; +/** + * Build SVG path properties. Uses the path's measured length to convert + * our custom pathLength, pathSpacing and pathOffset into stroke-dashoffset + * and stroke-dasharray attributes. + * + * This function is mutative to reduce per-frame GC. + */ +function buildSVGPath(attrs, totalLength, length, spacing, offset, useDashCase) { + if (spacing === void 0) { spacing = 1; } + if (offset === void 0) { offset = 0; } + if (useDashCase === void 0) { useDashCase = true; } + // We use dash case when setting attributes directly to the DOM node and camel case + // when defining props on a React component. + var keys = useDashCase ? dashKeys : camelKeys; + // Build the dash offset + attrs[keys.offset] = progressToPixels(-offset, totalLength); + // Build the dash array + var pathLength = progressToPixels(length, totalLength); + var pathSpacing = progressToPixels(spacing, totalLength); + attrs[keys.array] = pathLength + " " + pathSpacing; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.js + + + + + +/** + * Build SVG visual attrbutes, like cx and style.transform + */ +function buildSVGAttrs(state, _a, projection, layoutState, options, transformTemplate, buildProjectionTransform, buildProjectionTransformOrigin) { + var attrX = _a.attrX, attrY = _a.attrY, originX = _a.originX, originY = _a.originY, pathLength = _a.pathLength, _b = _a.pathSpacing, pathSpacing = _b === void 0 ? 1 : _b, _c = _a.pathOffset, pathOffset = _c === void 0 ? 0 : _c, + // This is object creation, which we try to avoid per-frame. + latest = __rest(_a, ["attrX", "attrY", "originX", "originY", "pathLength", "pathSpacing", "pathOffset"]); + buildHTMLStyles(state, latest, projection, layoutState, options, transformTemplate, buildProjectionTransform, buildProjectionTransformOrigin); + state.attrs = state.style; + state.style = {}; + var attrs = state.attrs, style = state.style, dimensions = state.dimensions, totalPathLength = state.totalPathLength; + /** + * However, we apply transforms as CSS transforms. So if we detect a transform we take it from attrs + * and copy it into style. + */ + if (attrs.transform) { + if (dimensions) + style.transform = attrs.transform; + delete attrs.transform; + } + // Parse transformOrigin + if (dimensions && + (originX !== undefined || originY !== undefined || style.transform)) { + style.transformOrigin = calcSVGTransformOrigin(dimensions, originX !== undefined ? originX : 0.5, originY !== undefined ? originY : 0.5); + } + // Treat x/y not as shortcuts but as actual attributes + if (attrX !== undefined) + attrs.x = attrX; + if (attrY !== undefined) + attrs.y = attrY; + // Build SVG path if one has been measured + if (totalPathLength !== undefined && pathLength !== undefined) { + buildSVGPath(attrs, totalPathLength, pathLength, pathSpacing, pathOffset, false); + } +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.js + + + +var createSvgRenderState = function () { return (__assign(__assign({}, createHtmlRenderState()), { attrs: {} })); }; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/svg/use-props.js + + + + + + +function useSVGProps(props, visualState) { + var visualProps = Object(external_React_["useMemo"])(function () { + var state = createSvgRenderState(); + buildSVGAttrs(state, visualState, undefined, undefined, { enableHardwareAcceleration: false }, props.transformTemplate); + return __assign(__assign({}, state.attrs), { style: __assign({}, state.style) }); + }, [visualState]); + if (props.style) { + var rawStyles = {}; + copyRawValuesOnly(rawStyles, props.style, props); + visualProps.style = __assign(__assign({}, rawStyles), visualProps.style); + } + return visualProps; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/use-render.js + + + + + + + +function createUseRender(forwardMotionProps) { + if (forwardMotionProps === void 0) { forwardMotionProps = false; } + var useRender = function (Component, props, ref, _a, isStatic) { + var latestValues = _a.latestValues; + var useVisualProps = isSVGComponent(Component) + ? useSVGProps + : useHTMLProps; + var visualProps = useVisualProps(props, latestValues, isStatic); + var filteredProps = filterProps(props, typeof Component === "string", forwardMotionProps); + var elementProps = __assign(__assign(__assign({}, filteredProps), visualProps), { ref: ref }); + return Object(external_React_["createElement"])(Component, elementProps); + }; + return useRender; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.js +var CAMEL_CASE_PATTERN = /([a-z])([A-Z])/g; +var REPLACE_TEMPLATE = "$1-$2"; +/** + * Convert camelCase to dash-case properties. + */ +var camelToDash = function (str) { + return str.replace(CAMEL_CASE_PATTERN, REPLACE_TEMPLATE).toLowerCase(); +}; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/html/utils/render.js +function renderHTML(element, _a) { + var style = _a.style, vars = _a.vars; + // Directly assign style into the Element's style prop. In tests Object.assign is the + // fastest way to assign styles. + Object.assign(element.style, style); + // Loop over any CSS variables and assign those. + for (var key in vars) { + element.style.setProperty(key, vars[key]); + } +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.js +/** + * A set of attribute names that are always read/written as camel case. + */ +var camelCaseAttributes = new Set([ + "baseFrequency", + "diffuseConstant", + "kernelMatrix", + "kernelUnitLength", + "keySplines", + "keyTimes", + "limitingConeAngle", + "markerHeight", + "markerWidth", + "numOctaves", + "targetX", + "targetY", + "surfaceScale", + "specularConstant", + "specularExponent", + "stdDeviation", + "tableValues", + "viewBox", + "gradientTransform", +]); + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/svg/utils/render.js + + + + +function renderSVG(element, renderState) { + renderHTML(element, renderState); + for (var key in renderState.attrs) { + element.setAttribute(!camelCaseAttributes.has(key) ? camelToDash(key) : key, renderState.attrs[key]); + } +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.js + + + +function scrape_motion_values_scrapeMotionValuesFromProps(props) { + var style = props.style; + var newValues = {}; + for (var key in style) { + if (isMotionValue(style[key]) || isForcedMotionValue(key, props)) { + newValues[key] = style[key]; + } + } + return newValues; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.js + + + +function utils_scrape_motion_values_scrapeMotionValuesFromProps(props) { + var newValues = scrape_motion_values_scrapeMotionValuesFromProps(props); + for (var key in props) { + if (isMotionValue(props[key])) { + var targetKey = key === "x" || key === "y" ? "attr" + key.toUpperCase() : key; + newValues[targetKey] = props[key]; + } + } + return newValues; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.js +function isAnimationControls(v) { + return typeof v === "object" && typeof v.start === "function"; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.js +var isKeyframesTarget = function (v) { + return Array.isArray(v); +}; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/utils/resolve-value.js + + +var resolve_value_isCustomValue = function (v) { + return Boolean(v && typeof v === "object" && v.mix && v.toValue); +}; +var resolveFinalValueInKeyframes = function (v) { + // TODO maybe throw if v.length - 1 is placeholder token? + return isKeyframesTarget(v) ? v[v.length - 1] || 0 : v; +}; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.js + + + +/** + * If the provided value is a MotionValue, this returns the actual value, otherwise just the value itself + * + * TODO: Remove and move to library + * + * @internal + */ +function resolveMotionValue(value) { + var unwrappedValue = isMotionValue(value) ? value.get() : value; + return resolve_value_isCustomValue(unwrappedValue) + ? unwrappedValue.toValue() + : unwrappedValue; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js + + + + + + + + + +function makeState(_a, props, context, presenceContext) { + var scrapeMotionValuesFromProps = _a.scrapeMotionValuesFromProps, createRenderState = _a.createRenderState, onMount = _a.onMount; + var state = { + latestValues: makeLatestValues(props, context, presenceContext, scrapeMotionValuesFromProps), + renderState: createRenderState(), + }; + if (onMount) { + state.mount = function (instance) { return onMount(props, instance, state); }; + } + return state; +} +var makeUseVisualState = function (config) { return function (props, isStatic) { + var context = Object(external_React_["useContext"])(MotionContext); + var presenceContext = Object(external_React_["useContext"])(PresenceContext); + return isStatic + ? makeState(config, props, context, presenceContext) + : useConstant(function () { return makeState(config, props, context, presenceContext); }); +}; }; +function makeLatestValues(props, context, presenceContext, scrapeMotionValues) { + var values = {}; + var blockInitialAnimation = (presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.initial) === false; + var motionValues = scrapeMotionValues(props); + for (var key in motionValues) { + values[key] = resolveMotionValue(motionValues[key]); + } + var initial = props.initial, animate = props.animate; + var isControllingVariants = checkIfControllingVariants(props); + var isVariantNode = checkIfVariantNode(props); + if (context && + isVariantNode && + !isControllingVariants && + props.inherit !== false) { + initial !== null && initial !== void 0 ? initial : (initial = context.initial); + animate !== null && animate !== void 0 ? animate : (animate = context.animate); + } + var variantToSet = blockInitialAnimation || initial === false ? animate : initial; + if (variantToSet && + typeof variantToSet !== "boolean" && + !isAnimationControls(variantToSet)) { + var list = Array.isArray(variantToSet) ? variantToSet : [variantToSet]; + list.forEach(function (definition) { + var resolved = resolveVariantFromProps(props, definition); + if (!resolved) + return; + var transitionEnd = resolved.transitionEnd; resolved.transition; var target = __rest(resolved, ["transitionEnd", "transition"]); + for (var key in target) + values[key] = target[key]; + for (var key in transitionEnd) + values[key] = transitionEnd[key]; + }); + } + return values; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/svg/config-motion.js + + + + + + +var svgMotionConfig = { + useVisualState: makeUseVisualState({ + scrapeMotionValuesFromProps: utils_scrape_motion_values_scrapeMotionValuesFromProps, + createRenderState: createSvgRenderState, + onMount: function (props, instance, _a) { + var renderState = _a.renderState, latestValues = _a.latestValues; + try { + renderState.dimensions = + typeof instance.getBBox === + "function" + ? instance.getBBox() + : instance.getBoundingClientRect(); + } + catch (e) { + // Most likely trying to measure an unrendered element under Firefox + renderState.dimensions = { + x: 0, + y: 0, + width: 0, + height: 0, + }; + } + if (isPath(instance)) { + renderState.totalPathLength = instance.getTotalLength(); + } + buildSVGAttrs(renderState, latestValues, undefined, undefined, { enableHardwareAcceleration: false }, props.transformTemplate); + // TODO: Replace with direct assignment + renderSVG(instance, renderState); + }, + }), +}; +function isPath(element) { + return element.tagName === "path"; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/html/config-motion.js + + + + +var htmlMotionConfig = { + useVisualState: makeUseVisualState({ + scrapeMotionValuesFromProps: scrape_motion_values_scrapeMotionValuesFromProps, + createRenderState: createHtmlRenderState, + }), +}; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/utils/create-config.js + + + + + + +function createDomMotionConfig(Component, _a, preloadedFeatures, createVisualElement) { + var _b = _a.forwardMotionProps, forwardMotionProps = _b === void 0 ? false : _b; + var baseConfig = isSVGComponent(Component) + ? svgMotionConfig + : htmlMotionConfig; + return __assign(__assign({}, baseConfig), { preloadedFeatures: preloadedFeatures, useRender: createUseRender(forwardMotionProps), createVisualElement: createVisualElement, + Component: Component }); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/utils/types.js +var AnimationType; +(function (AnimationType) { + AnimationType["Animate"] = "animate"; + AnimationType["Hover"] = "whileHover"; + AnimationType["Tap"] = "whileTap"; + AnimationType["Drag"] = "whileDrag"; + AnimationType["Focus"] = "whileFocus"; + AnimationType["Exit"] = "exit"; +})(AnimationType || (AnimationType = {})); + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/events/use-dom-event.js + + +function addDomEvent(target, eventName, handler, options) { + target.addEventListener(eventName, handler, options); + return function () { return target.removeEventListener(eventName, handler, options); }; +} +/** + * Attaches an event listener directly to the provided DOM element. + * + * Bypassing React's event system can be desirable, for instance when attaching non-passive + * event handlers. + * + * ```jsx + * const ref = useRef(null) + * + * useDomEvent(ref, 'wheel', onWheel, { passive: false }) + * + * return
    + * ``` + * + * @param ref - React.RefObject that's been provided to the element you want to bind the listener to. + * @param eventName - Name of the event you want listen for. + * @param handler - Function to fire when receiving the event. + * @param options - Options to pass to `Event.addEventListener`. + * + * @public + */ +function useDomEvent(ref, eventName, handler, options) { + Object(external_React_["useEffect"])(function () { + var element = ref.current; + if (handler && element) { + return addDomEvent(element, eventName, handler, options); + } + }, [ref, eventName, handler, options]); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/gestures/use-focus-gesture.js + + + +/** + * + * @param props + * @param ref + * @internal + */ +function useFocusGesture(_a) { + var whileFocus = _a.whileFocus, visualElement = _a.visualElement; + var onFocus = function () { + var _a; + (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Focus, true); + }; + var onBlur = function () { + var _a; + (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Focus, false); + }; + useDomEvent(visualElement, "focus", whileFocus ? onFocus : undefined); + useDomEvent(visualElement, "blur", whileFocus ? onBlur : undefined); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/gestures/utils/event-type.js +function isMouseEvent(event) { + // PointerEvent inherits from MouseEvent so we can't use a straight instanceof check. + if (typeof PointerEvent !== "undefined" && event instanceof PointerEvent) { + return !!(event.pointerType === "mouse"); + } + return event instanceof MouseEvent; +} +function isTouchEvent(event) { + var hasTouches = !!event.touches; + return hasTouches; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/events/event-info.js + + +/** + * Filters out events not attached to the primary pointer (currently left mouse button) + * @param eventHandler + */ +function filterPrimaryPointer(eventHandler) { + return function (event) { + var isMouseEvent = event instanceof MouseEvent; + var isPrimaryPointer = !isMouseEvent || + (isMouseEvent && event.button === 0); + if (isPrimaryPointer) { + eventHandler(event); + } + }; +} +var defaultPagePoint = { pageX: 0, pageY: 0 }; +function pointFromTouch(e, pointType) { + if (pointType === void 0) { pointType = "page"; } + var primaryTouch = e.touches[0] || e.changedTouches[0]; + var point = primaryTouch || defaultPagePoint; + return { + x: point[pointType + "X"], + y: point[pointType + "Y"], + }; +} +function pointFromMouse(point, pointType) { + if (pointType === void 0) { pointType = "page"; } + return { + x: point[pointType + "X"], + y: point[pointType + "Y"], + }; +} +function extractEventInfo(event, pointType) { + if (pointType === void 0) { pointType = "page"; } + return { + point: isTouchEvent(event) + ? pointFromTouch(event, pointType) + : pointFromMouse(event, pointType), + }; +} +function getViewportPointFromEvent(event) { + return extractEventInfo(event, "client"); +} +var wrapHandler = function (handler, shouldFilterPrimaryPointer) { + if (shouldFilterPrimaryPointer === void 0) { shouldFilterPrimaryPointer = false; } + var listener = function (event) { + return handler(event, extractEventInfo(event)); + }; + return shouldFilterPrimaryPointer + ? filterPrimaryPointer(listener) + : listener; +}; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/events/utils.js + + +// We check for event support via functions in case they've been mocked by a testing suite. +var supportsPointerEvents = function () { + return isBrowser && window.onpointerdown === null; +}; +var supportsTouchEvents = function () { + return isBrowser && window.ontouchstart === null; +}; +var supportsMouseEvents = function () { + return isBrowser && window.onmousedown === null; +}; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/events/use-pointer-event.js + + + + +var mouseEventNames = { + pointerdown: "mousedown", + pointermove: "mousemove", + pointerup: "mouseup", + pointercancel: "mousecancel", + pointerover: "mouseover", + pointerout: "mouseout", + pointerenter: "mouseenter", + pointerleave: "mouseleave", +}; +var touchEventNames = { + pointerdown: "touchstart", + pointermove: "touchmove", + pointerup: "touchend", + pointercancel: "touchcancel", +}; +function getPointerEventName(name) { + if (supportsPointerEvents()) { + return name; + } + else if (supportsTouchEvents()) { + return touchEventNames[name]; + } + else if (supportsMouseEvents()) { + return mouseEventNames[name]; + } + return name; +} +function addPointerEvent(target, eventName, handler, options) { + return addDomEvent(target, getPointerEventName(eventName), wrapHandler(handler, eventName === "pointerdown"), options); +} +function usePointerEvent(ref, eventName, handler, options) { + return useDomEvent(ref, getPointerEventName(eventName), handler && wrapHandler(handler, eventName === "pointerdown"), options); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/gestures/drag/utils/lock.js +function createLock(name) { + var lock = null; + return function () { + var openLock = function () { + lock = null; + }; + if (lock === null) { + lock = name; + return openLock; + } + return false; + }; +} +var globalHorizontalLock = createLock("dragHorizontal"); +var globalVerticalLock = createLock("dragVertical"); +function getGlobalLock(drag) { + var lock = false; + if (drag === "y") { + lock = globalVerticalLock(); + } + else if (drag === "x") { + lock = globalHorizontalLock(); + } + else { + var openHorizontal_1 = globalHorizontalLock(); + var openVertical_1 = globalVerticalLock(); + if (openHorizontal_1 && openVertical_1) { + lock = function () { + openHorizontal_1(); + openVertical_1(); + }; + } + else { + // Release the locks because we don't use them + if (openHorizontal_1) + openHorizontal_1(); + if (openVertical_1) + openVertical_1(); + } + } + return lock; +} +function isDragActive() { + // Check the gesture lock - if we get it, it means no drag gesture is active + // and we can safely fire the tap gesture. + var openGestureLock = getGlobalLock(true); + if (!openGestureLock) + return true; + openGestureLock(); + return false; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/gestures/use-hover-gesture.js + + + + + +function createHoverEvent(visualElement, isActive, callback) { + return function (event, info) { + var _a; + if (!isMouseEvent(event) || isDragActive()) + return; + callback === null || callback === void 0 ? void 0 : callback(event, info); + (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Hover, isActive); + }; +} +function useHoverGesture(_a) { + var onHoverStart = _a.onHoverStart, onHoverEnd = _a.onHoverEnd, whileHover = _a.whileHover, visualElement = _a.visualElement; + usePointerEvent(visualElement, "pointerenter", onHoverStart || whileHover + ? createHoverEvent(visualElement, true, onHoverStart) + : undefined); + usePointerEvent(visualElement, "pointerleave", onHoverEnd || whileHover + ? createHoverEvent(visualElement, false, onHoverEnd) + : undefined); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.js +/** + * Recursively traverse up the tree to check whether the provided child node + * is the parent or a descendant of it. + * + * @param parent - Element to find + * @param child - Element to test against parent + */ +var isNodeOrChild = function (parent, child) { + if (!child) { + return false; + } + else if (parent === child) { + return true; + } + else { + return isNodeOrChild(parent, child.parentElement); + } +}; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/utils/use-unmount-effect.js + + +function useUnmountEffect(callback) { + return Object(external_React_["useEffect"])(function () { return function () { return callback(); }; }, []); +} + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/utils/pipe.js +var combineFunctions = function (a, b) { return function (v) { return b(a(v)); }; }; +var pipe = function () { + var transformers = []; + for (var _i = 0; _i < arguments.length; _i++) { + transformers[_i] = arguments[_i]; + } + return transformers.reduce(combineFunctions); +}; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/gestures/use-tap-gesture.js + + + + + + + + +/** + * @param handlers - + * @internal + */ +function useTapGesture(_a) { + var onTap = _a.onTap, onTapStart = _a.onTapStart, onTapCancel = _a.onTapCancel, whileTap = _a.whileTap, visualElement = _a.visualElement; + var hasPressListeners = onTap || onTapStart || onTapCancel || whileTap; + var isPressing = Object(external_React_["useRef"])(false); + var cancelPointerEndListeners = Object(external_React_["useRef"])(null); + function removePointerEndListener() { + var _a; + (_a = cancelPointerEndListeners.current) === null || _a === void 0 ? void 0 : _a.call(cancelPointerEndListeners); + cancelPointerEndListeners.current = null; + } + function checkPointerEnd() { + var _a; + removePointerEndListener(); + isPressing.current = false; + (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Tap, false); + return !isDragActive(); + } + function onPointerUp(event, info) { + if (!checkPointerEnd()) + return; + /** + * We only count this as a tap gesture if the event.target is the same + * as, or a child of, this component's element + */ + !isNodeOrChild(visualElement.getInstance(), event.target) + ? onTapCancel === null || onTapCancel === void 0 ? void 0 : onTapCancel(event, info) + : onTap === null || onTap === void 0 ? void 0 : onTap(event, info); + } + function onPointerCancel(event, info) { + if (!checkPointerEnd()) + return; + onTapCancel === null || onTapCancel === void 0 ? void 0 : onTapCancel(event, info); + } + function onPointerDown(event, info) { + var _a; + removePointerEndListener(); + if (isPressing.current) + return; + isPressing.current = true; + cancelPointerEndListeners.current = pipe(addPointerEvent(window, "pointerup", onPointerUp), addPointerEvent(window, "pointercancel", onPointerCancel)); + onTapStart === null || onTapStart === void 0 ? void 0 : onTapStart(event, info); + (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Tap, true); + } + usePointerEvent(visualElement, "pointerdown", hasPressListeners ? onPointerDown : undefined); + useUnmountEffect(removePointerEndListener); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/motion/utils/make-renderless-component.js +var makeRenderlessComponent = function (hook) { return function (props) { + hook(props); + return null; +}; }; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/motion/features/gestures.js + + + + + +var gestureAnimations = { + tap: makeRenderlessComponent(useTapGesture), + focus: makeRenderlessComponent(useFocusGesture), + hover: makeRenderlessComponent(useHoverGesture), +}; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/utils/shallow-compare.js +function shallowCompare(next, prev) { + if (!Array.isArray(prev)) + return false; + var prevLength = prev.length; + if (prevLength !== next.length) + return false; + for (var i = 0; i < prevLength; i++) { + if (prev[i] !== next[i]) + return false; + } + return true; +} + + + +// CONCATENATED MODULE: ./node_modules/popmotion/node_modules/tslib/tslib.es6.js +/*! ***************************************************************************** +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 */ + +var tslib_tslib_es6_extendStatics = function(d, b) { + tslib_tslib_es6_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_tslib_es6_extendStatics(d, b); +}; + +function tslib_tslib_es6_extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + tslib_tslib_es6_extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} + +var tslib_tslib_es6_assign = function() { + tslib_tslib_es6_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_tslib_es6_assign.apply(this, arguments); +} + +function tslib_tslib_es6_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 tslib_tslib_es6_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_tslib_es6_param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +} + +function tslib_tslib_es6_metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); +} + +function tslib_tslib_es6_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 tslib_tslib_es6_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 (_) 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 tslib_tslib_es6_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) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +}); + +function tslib_tslib_es6_exportStar(m, o) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) tslib_tslib_es6_createBinding(o, m, p); +} + +function tslib_tslib_es6_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 tslib_tslib_es6_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 tslib_tslib_es6_spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(tslib_tslib_es6_read(arguments[i])); + return ar; +} + +/** @deprecated */ +function tslib_tslib_es6_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 tslib_tslib_es6_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 tslib_tslib_es6_await(v) { + return this instanceof tslib_tslib_es6_await ? (this.v = v, this) : new tslib_tslib_es6_await(v); +} + +function tslib_tslib_es6_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_tslib_es6_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_tslib_es6_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_tslib_es6_await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } +} + +function tslib_tslib_es6_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_tslib_es6_values === "function" ? tslib_tslib_es6_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_tslib_es6_makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; +}; + +var tslib_tslib_es6_setModuleDefault = Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}; + +function tslib_tslib_es6_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_tslib_es6_createBinding(result, mod, k); + tslib_tslib_es6_setModuleDefault(result, mod); + return result; +} + +function tslib_tslib_es6_importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; +} + +function tslib_tslib_es6_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 tslib_tslib_es6_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; +} + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/utils/clamp.js +var clamp_clamp = function (min, max, v) { + return Math.min(Math.max(v, min), max); +}; + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/animations/utils/find-spring.js + + + +var safeMin = 0.001; +var minDuration = 0.01; +var maxDuration = 10.0; +var minDamping = 0.05; +var maxDamping = 1; +function findSpring(_a) { + var _b = _a.duration, duration = _b === void 0 ? 800 : _b, _c = _a.bounce, bounce = _c === void 0 ? 0.25 : _c, _d = _a.velocity, velocity = _d === void 0 ? 0 : _d, _e = _a.mass, mass = _e === void 0 ? 1 : _e; + var envelope; + var derivative; + warning(duration <= maxDuration * 1000, "Spring duration must be 10 seconds or less"); + var dampingRatio = 1 - bounce; + dampingRatio = clamp_clamp(minDamping, maxDamping, dampingRatio); + duration = clamp_clamp(minDuration, maxDuration, duration / 1000); + if (dampingRatio < 1) { + envelope = function (undampedFreq) { + var exponentialDecay = undampedFreq * dampingRatio; + var delta = exponentialDecay * duration; + var a = exponentialDecay - velocity; + var b = calcAngularFreq(undampedFreq, dampingRatio); + var c = Math.exp(-delta); + return safeMin - (a / b) * c; + }; + derivative = function (undampedFreq) { + var exponentialDecay = undampedFreq * dampingRatio; + var delta = exponentialDecay * duration; + var d = delta * velocity + velocity; + var e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration; + var f = Math.exp(-delta); + var g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio); + var factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1; + return (factor * ((d - e) * f)) / g; + }; + } + else { + envelope = function (undampedFreq) { + var a = Math.exp(-undampedFreq * duration); + var b = (undampedFreq - velocity) * duration + 1; + return -safeMin + a * b; + }; + derivative = function (undampedFreq) { + var a = Math.exp(-undampedFreq * duration); + var b = (velocity - undampedFreq) * (duration * duration); + return a * b; + }; + } + var initialGuess = 5 / duration; + var undampedFreq = approximateRoot(envelope, derivative, initialGuess); + duration = duration * 1000; + if (isNaN(undampedFreq)) { + return { + stiffness: 100, + damping: 10, + duration: duration, + }; + } + else { + var stiffness = Math.pow(undampedFreq, 2) * mass; + return { + stiffness: stiffness, + damping: dampingRatio * 2 * Math.sqrt(mass * stiffness), + duration: duration, + }; + } +} +var rootIterations = 12; +function approximateRoot(envelope, derivative, initialGuess) { + var result = initialGuess; + for (var i = 1; i < rootIterations; i++) { + result = result - envelope(result) / derivative(result); + } + return result; +} +function calcAngularFreq(undampedFreq, dampingRatio) { + return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio); +} + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/animations/generators/spring.js + + + +var durationKeys = ["duration", "bounce"]; +var physicsKeys = ["stiffness", "damping", "mass"]; +function isSpringType(options, keys) { + return keys.some(function (key) { return options[key] !== undefined; }); +} +function getSpringOptions(options) { + var springOptions = tslib_tslib_es6_assign({ velocity: 0.0, stiffness: 100, damping: 10, mass: 1.0, isResolvedFromDuration: false }, options); + if (!isSpringType(options, physicsKeys) && + isSpringType(options, durationKeys)) { + var derived = findSpring(options); + springOptions = tslib_tslib_es6_assign(tslib_tslib_es6_assign(tslib_tslib_es6_assign({}, springOptions), derived), { velocity: 0.0, mass: 1.0 }); + springOptions.isResolvedFromDuration = true; + } + return springOptions; +} +function spring(_a) { + var _b = _a.from, from = _b === void 0 ? 0.0 : _b, _c = _a.to, to = _c === void 0 ? 1.0 : _c, _d = _a.restSpeed, restSpeed = _d === void 0 ? 2 : _d, restDelta = _a.restDelta, options = tslib_tslib_es6_rest(_a, ["from", "to", "restSpeed", "restDelta"]); + var state = { done: false, value: from }; + var _e = getSpringOptions(options), stiffness = _e.stiffness, damping = _e.damping, mass = _e.mass, velocity = _e.velocity, duration = _e.duration, isResolvedFromDuration = _e.isResolvedFromDuration; + var resolveSpring = zero; + var resolveVelocity = zero; + function createSpring() { + var initialVelocity = velocity ? -(velocity / 1000) : 0.0; + var initialDelta = to - from; + var dampingRatio = damping / (2 * Math.sqrt(stiffness * mass)); + var undampedAngularFreq = Math.sqrt(stiffness / mass) / 1000; + restDelta !== null && restDelta !== void 0 ? restDelta : (restDelta = Math.abs(to - from) <= 1 ? 0.01 : 0.4); + if (dampingRatio < 1) { + var angularFreq_1 = calcAngularFreq(undampedAngularFreq, dampingRatio); + resolveSpring = function (t) { + var envelope = Math.exp(-dampingRatio * undampedAngularFreq * t); + return (to - + envelope * + (((initialVelocity + + dampingRatio * undampedAngularFreq * initialDelta) / + angularFreq_1) * + Math.sin(angularFreq_1 * t) + + initialDelta * Math.cos(angularFreq_1 * t))); + }; + resolveVelocity = function (t) { + var envelope = Math.exp(-dampingRatio * undampedAngularFreq * t); + return (dampingRatio * + undampedAngularFreq * + envelope * + ((Math.sin(angularFreq_1 * t) * + (initialVelocity + + dampingRatio * + undampedAngularFreq * + initialDelta)) / + angularFreq_1 + + initialDelta * Math.cos(angularFreq_1 * t)) - + envelope * + (Math.cos(angularFreq_1 * t) * + (initialVelocity + + dampingRatio * + undampedAngularFreq * + initialDelta) - + angularFreq_1 * + initialDelta * + Math.sin(angularFreq_1 * t))); + }; + } + else if (dampingRatio === 1) { + resolveSpring = function (t) { + return to - + Math.exp(-undampedAngularFreq * t) * + (initialDelta + + (initialVelocity + undampedAngularFreq * initialDelta) * + t); + }; + } + else { + var dampedAngularFreq_1 = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1); + resolveSpring = function (t) { + var envelope = Math.exp(-dampingRatio * undampedAngularFreq * t); + var freqForT = Math.min(dampedAngularFreq_1 * t, 300); + return (to - + (envelope * + ((initialVelocity + + dampingRatio * undampedAngularFreq * initialDelta) * + Math.sinh(freqForT) + + dampedAngularFreq_1 * + initialDelta * + Math.cosh(freqForT))) / + dampedAngularFreq_1); + }; + } + } + createSpring(); + return { + next: function (t) { + var current = resolveSpring(t); + if (!isResolvedFromDuration) { + var currentVelocity = resolveVelocity(t) * 1000; + var isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed; + var isBelowDisplacementThreshold = Math.abs(to - current) <= restDelta; + state.done = + isBelowVelocityThreshold && isBelowDisplacementThreshold; + } + else { + state.done = t >= duration; + } + state.value = state.done ? to : current; + return state; + }, + flipTarget: function () { + var _a; + velocity = -velocity; + _a = [to, from], from = _a[0], to = _a[1]; + createSpring(); + }, + }; +} +spring.needsInterpolation = function (a, b) { + return typeof a === "string" || typeof b === "string"; +}; +var zero = function (_t) { return 0; }; + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/utils/progress.js +var progress_progress = function (from, to, value) { + var toFromDifference = to - from; + return toFromDifference === 0 ? 1 : (value - from) / toFromDifference; +}; + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/utils/mix.js +var mix = function (from, to, progress) { + return -progress * from + progress * to + from; +}; + + + +// CONCATENATED MODULE: ./node_modules/style-value-types/dist/es/color/utils.js + + +var isColorString = function (type, testProp) { return function (v) { + return Boolean((isString(v) && singleColorRegex.test(v) && v.startsWith(type)) || + (testProp && Object.prototype.hasOwnProperty.call(v, testProp))); +}; }; +var splitColor = function (aName, bName, cName) { return function (v) { + var _a; + if (!isString(v)) + return v; + var _b = v.match(floatRegex), a = _b[0], b = _b[1], c = _b[2], alpha = _b[3]; + return _a = {}, + _a[aName] = parseFloat(a), + _a[bName] = parseFloat(b), + _a[cName] = parseFloat(c), + _a.alpha = alpha !== undefined ? parseFloat(alpha) : 1, + _a; +}; }; + + + +// CONCATENATED MODULE: ./node_modules/style-value-types/dist/es/color/rgba.js + + + + + +var clampRgbUnit = clamp(0, 255); +var rgbUnit = tslib_es6_assign(tslib_es6_assign({}, numbers_number), { transform: function (v) { return Math.round(clampRgbUnit(v)); } }); +var rgba_rgba = { + test: isColorString('rgb', 'red'), + parse: splitColor('red', 'green', 'blue'), + transform: function (_a) { + var red = _a.red, green = _a.green, blue = _a.blue, _b = _a.alpha, alpha$1 = _b === void 0 ? 1 : _b; + return 'rgba(' + + rgbUnit.transform(red) + + ', ' + + rgbUnit.transform(green) + + ', ' + + rgbUnit.transform(blue) + + ', ' + + utils_sanitize(numbers_alpha.transform(alpha$1)) + + ')'; + }, +}; + + + +// CONCATENATED MODULE: ./node_modules/style-value-types/dist/es/color/hex.js + + + +function parseHex(v) { + var r = ''; + var g = ''; + var b = ''; + var a = ''; + if (v.length > 5) { + r = v.substr(1, 2); + g = v.substr(3, 2); + b = v.substr(5, 2); + a = v.substr(7, 2); + } + else { + r = v.substr(1, 1); + g = v.substr(2, 1); + b = v.substr(3, 1); + a = v.substr(4, 1); + r += r; + g += g; + b += b; + a += a; + } + return { + red: parseInt(r, 16), + green: parseInt(g, 16), + blue: parseInt(b, 16), + alpha: a ? parseInt(a, 16) / 255 : 1, + }; +} +var hex_hex = { + test: isColorString('#'), + parse: parseHex, + transform: rgba_rgba.transform, +}; + + + +// CONCATENATED MODULE: ./node_modules/style-value-types/dist/es/color/hsla.js + + + + + +var hsla = { + test: isColorString('hsl', 'hue'), + parse: splitColor('hue', 'saturation', 'lightness'), + transform: function (_a) { + var hue = _a.hue, saturation = _a.saturation, lightness = _a.lightness, _b = _a.alpha, alpha$1 = _b === void 0 ? 1 : _b; + return ('hsla(' + + Math.round(hue) + + ', ' + + percent.transform(utils_sanitize(saturation)) + + ', ' + + percent.transform(utils_sanitize(lightness)) + + ', ' + + utils_sanitize(numbers_alpha.transform(alpha$1)) + + ')'); + }, +}; + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/utils/mix-color.js + + + + + +var mixLinearColor = function (from, to, v) { + var fromExpo = from * from; + var toExpo = to * to; + return Math.sqrt(Math.max(0, v * (toExpo - fromExpo) + fromExpo)); +}; +var colorTypes = [hex_hex, rgba_rgba, hsla]; +var getColorType = function (v) { + return colorTypes.find(function (type) { return type.test(v); }); +}; +var notAnimatable = function (color) { + return "'" + color + "' is not an animatable color. Use the equivalent color code instead."; +}; +var mixColor = function (from, to) { + var fromColorType = getColorType(from); + var toColorType = getColorType(to); + invariant(!!fromColorType, notAnimatable(from)); + invariant(!!toColorType, notAnimatable(to)); + invariant(fromColorType.transform === toColorType.transform, "Both colors must be hex/RGBA, OR both must be HSLA."); + var fromColor = fromColorType.parse(from); + var toColor = toColorType.parse(to); + var blended = tslib_tslib_es6_assign({}, fromColor); + var mixFunc = fromColorType === hsla ? mix : mixLinearColor; + return function (v) { + for (var key in blended) { + if (key !== "alpha") { + blended[key] = mixFunc(fromColor[key], toColor[key], v); + } + } + blended.alpha = mix(fromColor.alpha, toColor.alpha, v); + return fromColorType.transform(blended); + }; +}; + + + +// CONCATENATED MODULE: ./node_modules/style-value-types/dist/es/color/index.js + + + + + +var color_color = { + test: function (v) { return rgba_rgba.test(v) || hex_hex.test(v) || hsla.test(v); }, + parse: function (v) { + if (rgba_rgba.test(v)) { + return rgba_rgba.parse(v); + } + else if (hsla.test(v)) { + return hsla.parse(v); + } + else { + return hex_hex.parse(v); + } + }, + transform: function (v) { + return isString(v) + ? v + : v.hasOwnProperty('red') + ? rgba_rgba.transform(v) + : hsla.transform(v); + }, +}; + + + +// CONCATENATED MODULE: ./node_modules/style-value-types/dist/es/complex/index.js + + + + +var colorToken = '${c}'; +var numberToken = '${n}'; +function complex_test(v) { + var _a, _b, _c, _d; + return (isNaN(v) && + isString(v) && + ((_b = (_a = v.match(floatRegex)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) + ((_d = (_c = v.match(colorRegex)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0); +} +function analyse(v) { + var values = []; + var numColors = 0; + var colors = v.match(colorRegex); + if (colors) { + numColors = colors.length; + v = v.replace(colorRegex, colorToken); + values.push.apply(values, colors.map(color_color.parse)); + } + var numbers = v.match(floatRegex); + if (numbers) { + v = v.replace(floatRegex, numberToken); + values.push.apply(values, numbers.map(numbers_number.parse)); + } + return { values: values, numColors: numColors, tokenised: v }; +} +function parse(v) { + return analyse(v).values; +} +function createTransformer(v) { + var _a = analyse(v), values = _a.values, numColors = _a.numColors, tokenised = _a.tokenised; + var numValues = values.length; + return function (v) { + var output = tokenised; + for (var i = 0; i < numValues; i++) { + output = output.replace(i < numColors ? colorToken : numberToken, i < numColors ? color_color.transform(v[i]) : utils_sanitize(v[i])); + } + return output; + }; +} +var convertNumbersToZero = function (v) { + return typeof v === 'number' ? 0 : v; +}; +function getAnimatableNone(v) { + var parsed = parse(v); + var transformer = createTransformer(v); + return transformer(parsed.map(convertNumbersToZero)); +} +var complex = { test: complex_test, parse: parse, createTransformer: createTransformer, getAnimatableNone: getAnimatableNone }; + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/utils/inc.js +var zeroPoint = { + x: 0, + y: 0, + z: 0 +}; +var isNum = function (v) { return typeof v === 'number'; }; + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/utils/mix-complex.js + + + + + + + + +function getMixer(origin, target) { + if (isNum(origin)) { + return function (v) { return mix(origin, target, v); }; + } + else if (color_color.test(origin)) { + return mixColor(origin, target); + } + else { + return mixComplex(origin, target); + } +} +var mixArray = function (from, to) { + var output = tslib_tslib_es6_spreadArray([], from); + var numValues = output.length; + var blendValue = from.map(function (fromThis, i) { return getMixer(fromThis, to[i]); }); + return function (v) { + for (var i = 0; i < numValues; i++) { + output[i] = blendValue[i](v); + } + return output; + }; +}; +var mixObject = function (origin, target) { + var output = tslib_tslib_es6_assign(tslib_tslib_es6_assign({}, origin), target); + var blendValue = {}; + for (var key in output) { + if (origin[key] !== undefined && target[key] !== undefined) { + blendValue[key] = getMixer(origin[key], target[key]); + } + } + return function (v) { + for (var key in blendValue) { + output[key] = blendValue[key](v); + } + return output; + }; +}; +function mix_complex_analyse(value) { + var parsed = complex.parse(value); + var numValues = parsed.length; + var numNumbers = 0; + var numRGB = 0; + var numHSL = 0; + for (var i = 0; i < numValues; i++) { + if (numNumbers || typeof parsed[i] === "number") { + numNumbers++; + } + else { + if (parsed[i].hue !== undefined) { + numHSL++; + } + else { + numRGB++; + } + } + } + return { parsed: parsed, numNumbers: numNumbers, numRGB: numRGB, numHSL: numHSL }; +} +var mixComplex = function (origin, target) { + var template = complex.createTransformer(target); + var originStats = mix_complex_analyse(origin); + var targetStats = mix_complex_analyse(target); + invariant(originStats.numHSL === targetStats.numHSL && + originStats.numRGB === targetStats.numRGB && + originStats.numNumbers >= targetStats.numNumbers, "Complex values '" + origin + "' and '" + target + "' too different to mix. Ensure all colors are of the same type."); + return pipe(mixArray(originStats.parsed, targetStats.parsed), template); +}; + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/utils/interpolate.js + + + + + + + + + +var mixNumber = function (from, to) { return function (p) { return mix(from, to, p); }; }; +function detectMixerFactory(v) { + if (typeof v === 'number') { + return mixNumber; + } + else if (typeof v === 'string') { + if (color_color.test(v)) { + return mixColor; + } + else { + return mixComplex; + } + } + else if (Array.isArray(v)) { + return mixArray; + } + else if (typeof v === 'object') { + return mixObject; + } +} +function createMixers(output, ease, customMixer) { + var mixers = []; + var mixerFactory = customMixer || detectMixerFactory(output[0]); + var numMixers = output.length - 1; + for (var i = 0; i < numMixers; i++) { + var mixer = mixerFactory(output[i], output[i + 1]); + if (ease) { + var easingFunction = Array.isArray(ease) ? ease[i] : ease; + mixer = pipe(easingFunction, mixer); + } + mixers.push(mixer); + } + return mixers; +} +function fastInterpolate(_a, _b) { + var from = _a[0], to = _a[1]; + var mixer = _b[0]; + return function (v) { return mixer(progress_progress(from, to, v)); }; +} +function slowInterpolate(input, mixers) { + var inputLength = input.length; + var lastInputIndex = inputLength - 1; + return function (v) { + var mixerIndex = 0; + var foundMixerIndex = false; + if (v <= input[0]) { + foundMixerIndex = true; + } + else if (v >= input[lastInputIndex]) { + mixerIndex = lastInputIndex - 1; + foundMixerIndex = true; + } + if (!foundMixerIndex) { + var i = 1; + for (; i < inputLength; i++) { + if (input[i] > v || i === lastInputIndex) { + break; + } + } + mixerIndex = i - 1; + } + var progressInRange = progress_progress(input[mixerIndex], input[mixerIndex + 1], v); + return mixers[mixerIndex](progressInRange); + }; +} +function interpolate(input, output, _a) { + var _b = _a === void 0 ? {} : _a, _c = _b.clamp, isClamp = _c === void 0 ? true : _c, ease = _b.ease, mixer = _b.mixer; + var inputLength = input.length; + invariant(inputLength === output.length, 'Both input and output ranges must be the same length'); + invariant(!ease || !Array.isArray(ease) || ease.length === inputLength - 1, 'Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values.'); + if (input[0] > input[inputLength - 1]) { + input = [].concat(input); + output = [].concat(output); + input.reverse(); + output.reverse(); + } + var mixers = createMixers(output, ease, mixer); + var interpolator = inputLength === 2 + ? fastInterpolate(input, mixers) + : slowInterpolate(input, mixers); + return isClamp + ? function (v) { return interpolator(clamp_clamp(input[0], input[inputLength - 1], v)); } + : interpolator; +} + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/easing/utils.js +var reverseEasing = function (easing) { return function (p) { return 1 - easing(1 - p); }; }; +var mirrorEasing = function (easing) { return function (p) { + return p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2; +}; }; +var createExpoIn = function (power) { return function (p) { return Math.pow(p, power); }; }; +var createBackIn = function (power) { return function (p) { + return p * p * ((power + 1) * p - power); +}; }; +var createAnticipate = function (power) { + var backEasing = createBackIn(power); + return function (p) { + return (p *= 2) < 1 + ? 0.5 * backEasing(p) + : 0.5 * (2 - Math.pow(2, -10 * (p - 1))); + }; +}; + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/easing/index.js + + +var DEFAULT_OVERSHOOT_STRENGTH = 1.525; +var BOUNCE_FIRST_THRESHOLD = 4.0 / 11.0; +var BOUNCE_SECOND_THRESHOLD = 8.0 / 11.0; +var BOUNCE_THIRD_THRESHOLD = 9.0 / 10.0; +var linear = function (p) { return p; }; +var easeIn = createExpoIn(2); +var easeOut = reverseEasing(easeIn); +var easeInOut = mirrorEasing(easeIn); +var circIn = function (p) { return 1 - Math.sin(Math.acos(p)); }; +var circOut = reverseEasing(circIn); +var circInOut = mirrorEasing(circOut); +var backIn = createBackIn(DEFAULT_OVERSHOOT_STRENGTH); +var backOut = reverseEasing(backIn); +var backInOut = mirrorEasing(backIn); +var anticipate = createAnticipate(DEFAULT_OVERSHOOT_STRENGTH); +var ca = 4356.0 / 361.0; +var easing_cb = 35442.0 / 1805.0; +var cc = 16061.0 / 1805.0; +var bounceOut = function (p) { + if (p === 1 || p === 0) + return p; + var p2 = p * p; + return p < BOUNCE_FIRST_THRESHOLD + ? 7.5625 * p2 + : p < BOUNCE_SECOND_THRESHOLD + ? 9.075 * p2 - 9.9 * p + 3.4 + : p < BOUNCE_THIRD_THRESHOLD + ? ca * p2 - easing_cb * p + cc + : 10.8 * p * p - 20.52 * p + 10.72; +}; +var bounceIn = reverseEasing(bounceOut); +var bounceInOut = function (p) { + return p < 0.5 + ? 0.5 * (1.0 - bounceOut(1.0 - p * 2.0)) + : 0.5 * bounceOut(p * 2.0 - 1.0) + 0.5; +}; + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/animations/generators/keyframes.js + + + +function defaultEasing(values, easing) { + return values.map(function () { return easing || easeInOut; }).splice(0, values.length - 1); +} +function defaultOffset(values) { + var numValues = values.length; + return values.map(function (_value, i) { + return i !== 0 ? i / (numValues - 1) : 0; + }); +} +function convertOffsetToTimes(offset, duration) { + return offset.map(function (o) { return o * duration; }); +} +function keyframes(_a) { + var _b = _a.from, from = _b === void 0 ? 0 : _b, _c = _a.to, to = _c === void 0 ? 1 : _c, ease = _a.ease, offset = _a.offset, _d = _a.duration, duration = _d === void 0 ? 300 : _d; + var state = { done: false, value: from }; + var values = Array.isArray(to) ? to : [from, to]; + var times = convertOffsetToTimes(offset && offset.length === values.length + ? offset + : defaultOffset(values), duration); + function createInterpolator() { + return interpolate(times, values, { + ease: Array.isArray(ease) ? ease : defaultEasing(values, ease), + }); + } + var interpolator = createInterpolator(); + return { + next: function (t) { + state.value = interpolator(t); + state.done = t >= duration; + return state; + }, + flipTarget: function () { + values.reverse(); + interpolator = createInterpolator(); + }, + }; +} + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/animations/generators/decay.js +function decay(_a) { + var _b = _a.velocity, velocity = _b === void 0 ? 0 : _b, _c = _a.from, from = _c === void 0 ? 0 : _c, _d = _a.power, power = _d === void 0 ? 0.8 : _d, _e = _a.timeConstant, timeConstant = _e === void 0 ? 350 : _e, _f = _a.restDelta, restDelta = _f === void 0 ? 0.5 : _f, modifyTarget = _a.modifyTarget; + var state = { done: false, value: from }; + var amplitude = power * velocity; + var ideal = from + amplitude; + var target = modifyTarget === undefined ? ideal : modifyTarget(ideal); + if (target !== ideal) + amplitude = target - from; + return { + next: function (t) { + var delta = -amplitude * Math.exp(-t / timeConstant); + state.done = !(delta > restDelta || delta < -restDelta); + state.value = state.done ? target : target + delta; + return state; + }, + flipTarget: function () { }, + }; +} + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/animations/utils/detect-animation-from-options.js + + + + +var types = { keyframes: keyframes, spring: spring, decay: decay }; +function detectAnimationFromOptions(config) { + if (Array.isArray(config.to)) { + return keyframes; + } + else if (types[config.type]) { + return types[config.type]; + } + var keys = new Set(Object.keys(config)); + if (keys.has("ease") || + (keys.has("duration") && !keys.has("dampingRatio"))) { + return keyframes; + } + else if (keys.has("dampingRatio") || + keys.has("stiffness") || + keys.has("mass") || + keys.has("damping") || + keys.has("restSpeed") || + keys.has("restDelta")) { + return spring; + } + return keyframes; +} + + + +// CONCATENATED MODULE: ./node_modules/framesync/dist/es/on-next-frame.js +var defaultTimestep = (1 / 60) * 1000; +var getCurrentTime = typeof performance !== "undefined" + ? function () { return performance.now(); } + : function () { return Date.now(); }; +var onNextFrame = typeof window !== "undefined" + ? function (callback) { + return window.requestAnimationFrame(callback); + } + : function (callback) { + return setTimeout(function () { return callback(getCurrentTime()); }, defaultTimestep); + }; + + + +// CONCATENATED MODULE: ./node_modules/framesync/dist/es/create-render-step.js +function createRenderStep(runNextFrame) { + var toRun = []; + var toRunNextFrame = []; + var numToRun = 0; + var isProcessing = false; + var toKeepAlive = new WeakSet(); + var step = { + schedule: function (callback, keepAlive, immediate) { + if (keepAlive === void 0) { keepAlive = false; } + if (immediate === void 0) { immediate = false; } + var addToCurrentFrame = immediate && isProcessing; + var buffer = addToCurrentFrame ? toRun : toRunNextFrame; + if (keepAlive) + toKeepAlive.add(callback); + if (buffer.indexOf(callback) === -1) { + buffer.push(callback); + if (addToCurrentFrame && isProcessing) + numToRun = toRun.length; + } + return callback; + }, + cancel: function (callback) { + var index = toRunNextFrame.indexOf(callback); + if (index !== -1) + toRunNextFrame.splice(index, 1); + toKeepAlive.delete(callback); + }, + process: function (frameData) { + var _a; + isProcessing = true; + _a = [toRunNextFrame, toRun], toRun = _a[0], toRunNextFrame = _a[1]; + toRunNextFrame.length = 0; + numToRun = toRun.length; + if (numToRun) { + for (var i = 0; i < numToRun; i++) { + var callback = toRun[i]; + callback(frameData); + if (toKeepAlive.has(callback)) { + step.schedule(callback); + runNextFrame(); + } + } + } + isProcessing = false; + }, + }; + return step; +} + + + +// CONCATENATED MODULE: ./node_modules/framesync/dist/es/index.js + + + +var maxElapsed = 40; +var useDefaultElapsed = true; +var runNextFrame = false; +var isProcessing = false; +var es_frame = { + delta: 0, + timestamp: 0 +}; +var stepsOrder = ["read", "update", "preRender", "render", "postRender"]; +var steps = /*#__PURE__*/stepsOrder.reduce(function (acc, key) { + acc[key] = createRenderStep(function () { + return runNextFrame = true; + }); + return acc; +}, {}); +var sync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) { + var step = steps[key]; + acc[key] = function (process, keepAlive, immediate) { + if (keepAlive === void 0) { + keepAlive = false; + } + if (immediate === void 0) { + immediate = false; + } + if (!runNextFrame) startLoop(); + return step.schedule(process, keepAlive, immediate); + }; + return acc; +}, {}); +var cancelSync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) { + acc[key] = steps[key].cancel; + return acc; +}, {}); +var flushSync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) { + acc[key] = function () { + return steps[key].process(es_frame); + }; + return acc; +}, {}); +var processStep = function (stepId) { + return steps[stepId].process(es_frame); +}; +var processFrame = function (timestamp) { + runNextFrame = false; + es_frame.delta = useDefaultElapsed ? defaultTimestep : Math.max(Math.min(timestamp - es_frame.timestamp, maxElapsed), 1); + es_frame.timestamp = timestamp; + isProcessing = true; + stepsOrder.forEach(processStep); + isProcessing = false; + if (runNextFrame) { + useDefaultElapsed = false; + onNextFrame(processFrame); + } +}; +var startLoop = function () { + runNextFrame = true; + useDefaultElapsed = true; + if (!isProcessing) onNextFrame(processFrame); +}; +var getFrameData = function () { + return es_frame; +}; + +/* harmony default export */ var dist_es = (sync); + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/animations/utils/elapsed.js +function loopElapsed(elapsed, duration, delay) { + if (delay === void 0) { delay = 0; } + return elapsed - duration - delay; +} +function reverseElapsed(elapsed, duration, delay, isForwardPlayback) { + if (delay === void 0) { delay = 0; } + if (isForwardPlayback === void 0) { isForwardPlayback = true; } + return isForwardPlayback + ? loopElapsed(duration + -elapsed, duration, delay) + : duration - (elapsed - duration) + delay; +} +function hasRepeatDelayElapsed(elapsed, duration, delay, isForwardPlayback) { + return isForwardPlayback ? elapsed >= duration + delay : elapsed <= -delay; +} + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/animations/index.js + + + + + + +var framesync = function (update) { + var passTimestamp = function (_a) { + var delta = _a.delta; + return update(delta); + }; + return { + start: function () { return dist_es.update(passTimestamp, true); }, + stop: function () { return cancelSync.update(passTimestamp); }, + }; +}; +function animations_animate(_a) { + var _b, _c; + var from = _a.from, _d = _a.autoplay, autoplay = _d === void 0 ? true : _d, _e = _a.driver, driver = _e === void 0 ? framesync : _e, _f = _a.elapsed, elapsed = _f === void 0 ? 0 : _f, _g = _a.repeat, repeatMax = _g === void 0 ? 0 : _g, _h = _a.repeatType, repeatType = _h === void 0 ? "loop" : _h, _j = _a.repeatDelay, repeatDelay = _j === void 0 ? 0 : _j, onPlay = _a.onPlay, onStop = _a.onStop, onComplete = _a.onComplete, onRepeat = _a.onRepeat, onUpdate = _a.onUpdate, options = tslib_tslib_es6_rest(_a, ["from", "autoplay", "driver", "elapsed", "repeat", "repeatType", "repeatDelay", "onPlay", "onStop", "onComplete", "onRepeat", "onUpdate"]); + var to = options.to; + var driverControls; + var repeatCount = 0; + var computedDuration = options.duration; + var latest; + var isComplete = false; + var isForwardPlayback = true; + var interpolateFromNumber; + var animator = detectAnimationFromOptions(options); + if ((_c = (_b = animator).needsInterpolation) === null || _c === void 0 ? void 0 : _c.call(_b, from, to)) { + interpolateFromNumber = interpolate([0, 100], [from, to], { + clamp: false, + }); + from = 0; + to = 100; + } + var animation = animator(tslib_tslib_es6_assign(tslib_tslib_es6_assign({}, options), { from: from, to: to })); + function repeat() { + repeatCount++; + if (repeatType === "reverse") { + isForwardPlayback = repeatCount % 2 === 0; + elapsed = reverseElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback); + } + else { + elapsed = loopElapsed(elapsed, computedDuration, repeatDelay); + if (repeatType === "mirror") + animation.flipTarget(); + } + isComplete = false; + onRepeat && onRepeat(); + } + function complete() { + driverControls.stop(); + onComplete && onComplete(); + } + function update(delta) { + if (!isForwardPlayback) + delta = -delta; + elapsed += delta; + if (!isComplete) { + var state = animation.next(Math.max(0, elapsed)); + latest = state.value; + if (interpolateFromNumber) + latest = interpolateFromNumber(latest); + isComplete = isForwardPlayback ? state.done : elapsed <= 0; + } + onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(latest); + if (isComplete) { + if (repeatCount === 0) + computedDuration !== null && computedDuration !== void 0 ? computedDuration : (computedDuration = elapsed); + if (repeatCount < repeatMax) { + hasRepeatDelayElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback) && repeat(); + } + else { + complete(); + } + } + } + function play() { + onPlay === null || onPlay === void 0 ? void 0 : onPlay(); + driverControls = driver(update); + driverControls.start(); + } + autoplay && play(); + return { + stop: function () { + onStop === null || onStop === void 0 ? void 0 : onStop(); + driverControls.stop(); + }, + }; +} + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/utils/velocity-per-second.js +function velocityPerSecond(velocity, frameDuration) { + return frameDuration ? velocity * (1000 / frameDuration) : 0; +} + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/animations/inertia.js + + + + + +function inertia_inertia(_a) { + var _b = _a.from, from = _b === void 0 ? 0 : _b, _c = _a.velocity, velocity = _c === void 0 ? 0 : _c, min = _a.min, max = _a.max, _d = _a.power, power = _d === void 0 ? 0.8 : _d, _e = _a.timeConstant, timeConstant = _e === void 0 ? 750 : _e, _f = _a.bounceStiffness, bounceStiffness = _f === void 0 ? 500 : _f, _g = _a.bounceDamping, bounceDamping = _g === void 0 ? 10 : _g, _h = _a.restDelta, restDelta = _h === void 0 ? 1 : _h, modifyTarget = _a.modifyTarget, driver = _a.driver, onUpdate = _a.onUpdate, onComplete = _a.onComplete; + var currentAnimation; + function isOutOfBounds(v) { + return (min !== undefined && v < min) || (max !== undefined && v > max); + } + function boundaryNearest(v) { + if (min === undefined) + return max; + if (max === undefined) + return min; + return Math.abs(min - v) < Math.abs(max - v) ? min : max; + } + function startAnimation(options) { + currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop(); + currentAnimation = animations_animate(tslib_tslib_es6_assign(tslib_tslib_es6_assign({}, options), { driver: driver, onUpdate: function (v) { + var _a; + onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(v); + (_a = options.onUpdate) === null || _a === void 0 ? void 0 : _a.call(options, v); + }, onComplete: onComplete })); + } + function startSpring(options) { + startAnimation(tslib_tslib_es6_assign({ type: "spring", stiffness: bounceStiffness, damping: bounceDamping, restDelta: restDelta }, options)); + } + if (isOutOfBounds(from)) { + startSpring({ from: from, velocity: velocity, to: boundaryNearest(from) }); + } + else { + var target = power * velocity + from; + if (typeof modifyTarget !== "undefined") + target = modifyTarget(target); + var boundary_1 = boundaryNearest(target); + var heading_1 = boundary_1 === min ? -1 : 1; + var prev_1; + var current_1; + var checkBoundary = function (v) { + prev_1 = current_1; + current_1 = v; + velocity = velocityPerSecond(v - prev_1, getFrameData().delta); + if ((heading_1 === 1 && v > boundary_1) || + (heading_1 === -1 && v < boundary_1)) { + startSpring({ from: v, to: boundary_1, velocity: velocity }); + } + }; + startAnimation({ + type: "decay", + from: from, + velocity: velocity, + timeConstant: timeConstant, + power: power, + restDelta: restDelta, + modifyTarget: modifyTarget, + onUpdate: isOutOfBounds(target) ? checkBoundary : undefined, + }); + } + return { + stop: function () { return currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop(); }, + }; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/utils/time-conversion.js +/** + * Converts seconds to milliseconds + * + * @param seconds - Time in seconds. + * @return milliseconds - Converted time in milliseconds. + */ +var secondsToMilliseconds = function (seconds) { return seconds * 1000; }; + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/easing/cubic-bezier.js + + +var cubic_bezier_a = function (a1, a2) { return 1.0 - 3.0 * a2 + 3.0 * a1; }; +var cubic_bezier_b = function (a1, a2) { return 3.0 * a2 - 6.0 * a1; }; +var cubic_bezier_c = function (a1) { return 3.0 * a1; }; +var calcBezier = function (t, a1, a2) { + return ((cubic_bezier_a(a1, a2) * t + cubic_bezier_b(a1, a2)) * t + cubic_bezier_c(a1)) * t; +}; +var getSlope = function (t, a1, a2) { + return 3.0 * cubic_bezier_a(a1, a2) * t * t + 2.0 * cubic_bezier_b(a1, a2) * t + cubic_bezier_c(a1); +}; +var subdivisionPrecision = 0.0000001; +var subdivisionMaxIterations = 10; +function binarySubdivide(aX, aA, aB, mX1, mX2) { + var currentX; + var currentT; + var i = 0; + do { + currentT = aA + (aB - aA) / 2.0; + currentX = calcBezier(currentT, mX1, mX2) - aX; + if (currentX > 0.0) { + aB = currentT; + } + else { + aA = currentT; + } + } while (Math.abs(currentX) > subdivisionPrecision && + ++i < subdivisionMaxIterations); + return currentT; +} +var newtonIterations = 8; +var newtonMinSlope = 0.001; +function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) { + for (var i = 0; i < newtonIterations; ++i) { + var currentSlope = getSlope(aGuessT, mX1, mX2); + if (currentSlope === 0.0) { + return aGuessT; + } + var currentX = calcBezier(aGuessT, mX1, mX2) - aX; + aGuessT -= currentX / currentSlope; + } + return aGuessT; +} +var kSplineTableSize = 11; +var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0); +function cubicBezier(mX1, mY1, mX2, mY2) { + if (mX1 === mY1 && mX2 === mY2) + return linear; + var sampleValues = new Float32Array(kSplineTableSize); + for (var i = 0; i < kSplineTableSize; ++i) { + sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2); + } + function getTForX(aX) { + var intervalStart = 0.0; + var currentSample = 1; + var lastSample = kSplineTableSize - 1; + for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) { + intervalStart += kSampleStepSize; + } + --currentSample; + var dist = (aX - sampleValues[currentSample]) / + (sampleValues[currentSample + 1] - sampleValues[currentSample]); + var guessForT = intervalStart + dist * kSampleStepSize; + var initialSlope = getSlope(guessForT, mX1, mX2); + if (initialSlope >= newtonMinSlope) { + return newtonRaphsonIterate(aX, guessForT, mX1, mX2); + } + else if (initialSlope === 0.0) { + return guessForT; + } + else { + return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2); + } + } + return function (t) { + return t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2); + }; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/animation/utils/easing.js + + + + +var easingLookup = { + linear: linear, + easeIn: easeIn, + easeInOut: easeInOut, + easeOut: easeOut, + circIn: circIn, + circInOut: circInOut, + circOut: circOut, + backIn: backIn, + backInOut: backInOut, + backOut: backOut, + anticipate: anticipate, + bounceIn: bounceIn, + bounceInOut: bounceInOut, + bounceOut: bounceOut, +}; +var easingDefinitionToFunction = function (definition) { + if (Array.isArray(definition)) { + // If cubic bezier definition, create bezier curve + invariant(definition.length === 4, "Cubic bezier arrays must contain four numerical values."); + var _a = __read(definition, 4), x1 = _a[0], y1 = _a[1], x2 = _a[2], y2 = _a[3]; + return cubicBezier(x1, y1, x2, y2); + } + else if (typeof definition === "string") { + // Else lookup from table + invariant(easingLookup[definition] !== undefined, "Invalid easing type '" + definition + "'"); + return easingLookup[definition]; + } + return definition; +}; +var isEasingArray = function (ease) { + return Array.isArray(ease) && typeof ease[0] !== "number"; +}; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/animation/utils/is-animatable.js + + +/** + * Check if a value is animatable. Examples: + * + * ✅: 100, "100px", "#fff" + * ❌: "block", "url(2.jpg)" + * @param value + * + * @internal + */ +var isAnimatable = function (key, value) { + // If the list of keys tat might be non-animatable grows, replace with Set + if (key === "zIndex") + return false; + // If it's a number or a keyframes array, we can animate it. We might at some point + // need to do a deep isAnimatable check of keyframes, or let Popmotion handle this, + // but for now lets leave it like this for performance reasons + if (typeof value === "number" || Array.isArray(value)) + return true; + if (typeof value === "string" && // It's animatable if we have a string + complex.test(value) && // And it contains numbers and/or colors + !value.startsWith("url(") // Unless it starts with "url(" + ) { + return true; + } + return false; +}; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/animation/utils/default-transitions.js + + + +var underDampedSpring = function () { return ({ + type: "spring", + stiffness: 500, + damping: 25, + restDelta: 0.5, + restSpeed: 10, +}); }; +var criticallyDampedSpring = function (to) { return ({ + type: "spring", + stiffness: 550, + damping: to === 0 ? 2 * Math.sqrt(550) : 30, + restDelta: 0.01, + restSpeed: 10, +}); }; +var linearTween = function () { return ({ + type: "keyframes", + ease: "linear", + duration: 0.3, +}); }; +var default_transitions_keyframes = function (values) { return ({ + type: "keyframes", + duration: 0.8, + values: values, +}); }; +var defaultTransitions = { + x: underDampedSpring, + y: underDampedSpring, + z: underDampedSpring, + rotate: underDampedSpring, + rotateX: underDampedSpring, + rotateY: underDampedSpring, + rotateZ: underDampedSpring, + scaleX: criticallyDampedSpring, + scaleY: criticallyDampedSpring, + scale: criticallyDampedSpring, + opacity: linearTween, + backgroundColor: linearTween, + color: linearTween, + default: criticallyDampedSpring, +}; +var getDefaultTransition = function (valueKey, to) { + var transitionFactory; + if (isKeyframesTarget(to)) { + transitionFactory = default_transitions_keyframes; + } + else { + transitionFactory = + defaultTransitions[valueKey] || defaultTransitions.default; + } + return __assign({ to: to }, transitionFactory(to)); +}; + + + +// CONCATENATED MODULE: ./node_modules/style-value-types/dist/es/complex/filter.js + + + + +var maxDefaults = new Set(['brightness', 'contrast', 'saturate', 'opacity']); +function applyDefaultFilter(v) { + var _a = v.slice(0, -1).split('('), name = _a[0], value = _a[1]; + if (name === 'drop-shadow') + return v; + var number = (value.match(floatRegex) || [])[0]; + if (!number) + return v; + var unit = value.replace(number, ''); + var defaultValue = maxDefaults.has(name) ? 1 : 0; + if (number !== value) + defaultValue *= 100; + return name + '(' + defaultValue + unit + ')'; +} +var functionRegex = /([a-z-]*)\(.*?\)/g; +var filter = tslib_es6_assign(tslib_es6_assign({}, complex), { getAnimatableNone: function (v) { + var functions = v.match(functionRegex); + return functions ? functions.map(applyDefaultFilter).join(' ') : v; + } }); + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/value-types/defaults.js + + + + +/** + * A map of default value types for common values + */ +var defaultValueTypes = __assign(__assign({}, numberValueTypes), { + // Color props + color: color_color, backgroundColor: color_color, outlineColor: color_color, fill: color_color, stroke: color_color, + // Border props + borderColor: color_color, borderTopColor: color_color, borderRightColor: color_color, borderBottomColor: color_color, borderLeftColor: color_color, filter: filter, WebkitFilter: filter }); +/** + * Gets the default ValueType for the provided value key + */ +var getDefaultValueType = function (key) { return defaultValueTypes[key]; }; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.js + + + +function animatable_none_getAnimatableNone(key, value) { + var _a; + var defaultValueType = getDefaultValueType(key); + if (defaultValueType !== filter) + defaultValueType = complex; + // If value is not recognised as animatable, ie "none", create an animatable version origin based on the target + return (_a = defaultValueType.getAnimatableNone) === null || _a === void 0 ? void 0 : _a.call(defaultValueType, value); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/animation/utils/transitions.js + + + + + + + + + +/** + * Decide whether a transition is defined on a given Transition. + * This filters out orchestration options and returns true + * if any options are left. + */ +function isTransitionDefined(_a) { + _a.when; _a.delay; _a.delayChildren; _a.staggerChildren; _a.staggerDirection; _a.repeat; _a.repeatType; _a.repeatDelay; _a.from; var transition = __rest(_a, ["when", "delay", "delayChildren", "staggerChildren", "staggerDirection", "repeat", "repeatType", "repeatDelay", "from"]); + return !!Object.keys(transition).length; +} +var legacyRepeatWarning = false; +/** + * Convert Framer Motion's Transition type into Popmotion-compatible options. + */ +function convertTransitionToAnimationOptions(_a) { + var ease = _a.ease, times = _a.times, yoyo = _a.yoyo, flip = _a.flip, loop = _a.loop, transition = __rest(_a, ["ease", "times", "yoyo", "flip", "loop"]); + var options = __assign({}, transition); + if (times) + options["offset"] = times; + /** + * Convert any existing durations from seconds to milliseconds + */ + if (transition.duration) + options["duration"] = secondsToMilliseconds(transition.duration); + if (transition.repeatDelay) + options.repeatDelay = secondsToMilliseconds(transition.repeatDelay); + /** + * Map easing names to Popmotion's easing functions + */ + if (ease) { + options["ease"] = isEasingArray(ease) + ? ease.map(easingDefinitionToFunction) + : easingDefinitionToFunction(ease); + } + /** + * Support legacy transition API + */ + if (transition.type === "tween") + options.type = "keyframes"; + /** + * TODO: These options are officially removed from the API. + */ + if (yoyo || loop || flip) { + warning(!legacyRepeatWarning, "yoyo, loop and flip have been removed from the API. Replace with repeat and repeatType options."); + legacyRepeatWarning = true; + if (yoyo) { + options.repeatType = "reverse"; + } + else if (loop) { + options.repeatType = "loop"; + } + else if (flip) { + options.repeatType = "mirror"; + } + options.repeat = loop || yoyo || flip || transition.repeat; + } + /** + * TODO: Popmotion 9 has the ability to automatically detect whether to use + * a keyframes or spring animation, but does so by detecting velocity and other spring options. + * It'd be good to introduce a similar thing here. + */ + if (transition.type !== "spring") + options.type = "keyframes"; + return options; +} +/** + * Get the delay for a value by checking Transition with decreasing specificity. + */ +function getDelayFromTransition(transition, key) { + var _a; + var valueTransition = getValueTransition(transition, key) || {}; + return (_a = valueTransition.delay) !== null && _a !== void 0 ? _a : 0; +} +function hydrateKeyframes(options) { + if (Array.isArray(options.to) && options.to[0] === null) { + options.to = __spreadArray([], __read(options.to)); + options.to[0] = options.from; + } + return options; +} +function getPopmotionAnimationOptions(transition, options, key) { + var _a; + if (Array.isArray(options.to)) { + (_a = transition.duration) !== null && _a !== void 0 ? _a : (transition.duration = 0.8); + } + hydrateKeyframes(options); + /** + * Get a default transition if none is determined to be defined. + */ + if (!isTransitionDefined(transition)) { + transition = __assign(__assign({}, transition), getDefaultTransition(key, options.to)); + } + return __assign(__assign({}, options), convertTransitionToAnimationOptions(transition)); +} +/** + * + */ +function transitions_getAnimation(key, value, target, transition, onComplete) { + var _a; + var valueTransition = getValueTransition(transition, key); + var origin = (_a = valueTransition.from) !== null && _a !== void 0 ? _a : value.get(); + var isTargetAnimatable = isAnimatable(key, target); + if (origin === "none" && isTargetAnimatable && typeof target === "string") { + /** + * If we're trying to animate from "none", try and get an animatable version + * of the target. This could be improved to work both ways. + */ + origin = animatable_none_getAnimatableNone(key, target); + } + else if (isZero(origin) && typeof target === "string") { + origin = getZeroUnit(target); + } + else if (!Array.isArray(target) && + isZero(target) && + typeof origin === "string") { + target = getZeroUnit(origin); + } + var isOriginAnimatable = isAnimatable(key, origin); + warning(isOriginAnimatable === isTargetAnimatable, "You are trying to animate " + key + " from \"" + origin + "\" to \"" + target + "\". " + origin + " is not an animatable value - to enable this animation set " + origin + " to a value animatable to " + target + " via the `style` property."); + function start() { + var options = { + from: origin, + to: target, + velocity: value.getVelocity(), + onComplete: onComplete, + onUpdate: function (v) { return value.set(v); }, + }; + return valueTransition.type === "inertia" || + valueTransition.type === "decay" + ? inertia_inertia(__assign(__assign({}, options), valueTransition)) + : animations_animate(__assign(__assign({}, getPopmotionAnimationOptions(valueTransition, options, key)), { onUpdate: function (v) { + var _a; + options.onUpdate(v); + (_a = valueTransition.onUpdate) === null || _a === void 0 ? void 0 : _a.call(valueTransition, v); + }, onComplete: function () { + var _a; + options.onComplete(); + (_a = valueTransition.onComplete) === null || _a === void 0 ? void 0 : _a.call(valueTransition); + } })); + } + function set() { + var _a; + value.set(target); + onComplete(); + (_a = valueTransition === null || valueTransition === void 0 ? void 0 : valueTransition.onComplete) === null || _a === void 0 ? void 0 : _a.call(valueTransition); + return { stop: function () { } }; + } + return !isOriginAnimatable || + !isTargetAnimatable || + valueTransition.type === false + ? set + : start; +} +function isZero(value) { + return (value === 0 || + (typeof value === "string" && + parseFloat(value) === 0 && + value.indexOf(" ") === -1)); +} +function getZeroUnit(potentialUnitType) { + return typeof potentialUnitType === "number" + ? 0 + : animatable_none_getAnimatableNone("", potentialUnitType); +} +function getValueTransition(transition, key) { + return transition[key] || transition["default"] || transition; +} +/** + * Start animation on a MotionValue. This function is an interface between + * Framer Motion and Popmotion + * + * @internal + */ +function transitions_startAnimation(key, value, target, transition) { + if (transition === void 0) { transition = {}; } + return value.start(function (onComplete) { + var delayTimer; + var controls; + var animation = transitions_getAnimation(key, value, target, transition, onComplete); + var delay = getDelayFromTransition(transition, key); + var start = function () { return (controls = animation()); }; + if (delay) { + delayTimer = setTimeout(start, secondsToMilliseconds(delay)); + } + else { + start(); + } + return function () { + clearTimeout(delayTimer); + controls === null || controls === void 0 ? void 0 : controls.stop(); + }; + }); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/utils/is-numerical-string.js +/** + * Check if value is a numerical string, ie a string that is purely a number eg "100" or "-100.1" + */ +var isNumericalString = function (v) { return /^\-?\d*\.?\d+$/.test(v); }; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/utils/array.js +function addUniqueItem(arr, item) { + arr.indexOf(item) === -1 && arr.push(item); +} +function array_removeItem(arr, item) { + var index = arr.indexOf(item); + index > -1 && arr.splice(index, 1); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/utils/subscription-manager.js + + +var subscription_manager_SubscriptionManager = /** @class */ (function () { + function SubscriptionManager() { + this.subscriptions = []; + } + SubscriptionManager.prototype.add = function (handler) { + var _this = this; + addUniqueItem(this.subscriptions, handler); + return function () { return array_removeItem(_this.subscriptions, handler); }; + }; + SubscriptionManager.prototype.notify = function (a, b, c) { + var numSubscriptions = this.subscriptions.length; + if (!numSubscriptions) + return; + if (numSubscriptions === 1) { + /** + * If there's only a single handler we can just call it without invoking a loop. + */ + this.subscriptions[0](a, b, c); + } + else { + for (var i = 0; i < numSubscriptions; i++) { + /** + * Check whether the handler exists before firing as it's possible + * the subscriptions were modified during this loop running. + */ + var handler = this.subscriptions[i]; + handler && handler(a, b, c); + } + } + }; + SubscriptionManager.prototype.getSize = function () { + return this.subscriptions.length; + }; + SubscriptionManager.prototype.clear = function () { + this.subscriptions.length = 0; + }; + return SubscriptionManager; +}()); + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/value/index.js + + + + +var isFloat = function (value) { + return !isNaN(parseFloat(value)); +}; +/** + * `MotionValue` is used to track the state and velocity of motion values. + * + * @public + */ +var value_MotionValue = /** @class */ (function () { + /** + * @param init - The initiating value + * @param config - Optional configuration options + * + * - `transformer`: A function to transform incoming values with. + * + * @internal + */ + function MotionValue(init) { + var _this = this; + /** + * Duration, in milliseconds, since last updating frame. + * + * @internal + */ + this.timeDelta = 0; + /** + * Timestamp of the last time this `MotionValue` was updated. + * + * @internal + */ + this.lastUpdated = 0; + /** + * Functions to notify when the `MotionValue` updates. + * + * @internal + */ + this.updateSubscribers = new subscription_manager_SubscriptionManager(); + /** + * Functions to notify when the velocity updates. + * + * @internal + */ + this.velocityUpdateSubscribers = new subscription_manager_SubscriptionManager(); + /** + * Functions to notify when the `MotionValue` updates and `render` is set to `true`. + * + * @internal + */ + this.renderSubscribers = new subscription_manager_SubscriptionManager(); + /** + * Tracks whether this value can output a velocity. Currently this is only true + * if the value is numerical, but we might be able to widen the scope here and support + * other value types. + * + * @internal + */ + this.canTrackVelocity = false; + this.updateAndNotify = function (v, render) { + if (render === void 0) { render = true; } + _this.prev = _this.current; + _this.current = v; + // Update timestamp + var _a = getFrameData(), delta = _a.delta, timestamp = _a.timestamp; + if (_this.lastUpdated !== timestamp) { + _this.timeDelta = delta; + _this.lastUpdated = timestamp; + dist_es.postRender(_this.scheduleVelocityCheck); + } + // Update update subscribers + if (_this.prev !== _this.current) { + _this.updateSubscribers.notify(_this.current); + } + // Update velocity subscribers + if (_this.velocityUpdateSubscribers.getSize()) { + _this.velocityUpdateSubscribers.notify(_this.getVelocity()); + } + // Update render subscribers + if (render) { + _this.renderSubscribers.notify(_this.current); + } + }; + /** + * Schedule a velocity check for the next frame. + * + * This is an instanced and bound function to prevent generating a new + * function once per frame. + * + * @internal + */ + this.scheduleVelocityCheck = function () { return dist_es.postRender(_this.velocityCheck); }; + /** + * Updates `prev` with `current` if the value hasn't been updated this frame. + * This ensures velocity calculations return `0`. + * + * This is an instanced and bound function to prevent generating a new + * function once per frame. + * + * @internal + */ + this.velocityCheck = function (_a) { + var timestamp = _a.timestamp; + if (timestamp !== _this.lastUpdated) { + _this.prev = _this.current; + _this.velocityUpdateSubscribers.notify(_this.getVelocity()); + } + }; + this.hasAnimated = false; + this.prev = this.current = init; + this.canTrackVelocity = isFloat(this.current); + } + /** + * Adds a function that will be notified when the `MotionValue` is updated. + * + * It returns a function that, when called, will cancel the subscription. + * + * When calling `onChange` inside a React component, it should be wrapped with the + * `useEffect` hook. As it returns an unsubscribe function, this should be returned + * from the `useEffect` function to ensure you don't add duplicate subscribers.. + * + * @library + * + * ```jsx + * function MyComponent() { + * const x = useMotionValue(0) + * const y = useMotionValue(0) + * const opacity = useMotionValue(1) + * + * useEffect(() => { + * function updateOpacity() { + * const maxXY = Math.max(x.get(), y.get()) + * const newOpacity = transform(maxXY, [0, 100], [1, 0]) + * opacity.set(newOpacity) + * } + * + * const unsubscribeX = x.onChange(updateOpacity) + * const unsubscribeY = y.onChange(updateOpacity) + * + * return () => { + * unsubscribeX() + * unsubscribeY() + * } + * }, []) + * + * return + * } + * ``` + * + * @motion + * + * ```jsx + * export const MyComponent = () => { + * const x = useMotionValue(0) + * const y = useMotionValue(0) + * const opacity = useMotionValue(1) + * + * useEffect(() => { + * function updateOpacity() { + * const maxXY = Math.max(x.get(), y.get()) + * const newOpacity = transform(maxXY, [0, 100], [1, 0]) + * opacity.set(newOpacity) + * } + * + * const unsubscribeX = x.onChange(updateOpacity) + * const unsubscribeY = y.onChange(updateOpacity) + * + * return () => { + * unsubscribeX() + * unsubscribeY() + * } + * }, []) + * + * return + * } + * ``` + * + * @internalremarks + * + * We could look into a `useOnChange` hook if the above lifecycle management proves confusing. + * + * ```jsx + * useOnChange(x, () => {}) + * ``` + * + * @param subscriber - A function that receives the latest value. + * @returns A function that, when called, will cancel this subscription. + * + * @public + */ + MotionValue.prototype.onChange = function (subscription) { + return this.updateSubscribers.add(subscription); + }; + MotionValue.prototype.clearListeners = function () { + this.updateSubscribers.clear(); + }; + /** + * Adds a function that will be notified when the `MotionValue` requests a render. + * + * @param subscriber - A function that's provided the latest value. + * @returns A function that, when called, will cancel this subscription. + * + * @internal + */ + MotionValue.prototype.onRenderRequest = function (subscription) { + // Render immediately + subscription(this.get()); + return this.renderSubscribers.add(subscription); + }; + /** + * Attaches a passive effect to the `MotionValue`. + * + * @internal + */ + MotionValue.prototype.attach = function (passiveEffect) { + this.passiveEffect = passiveEffect; + }; + /** + * Sets the state of the `MotionValue`. + * + * @remarks + * + * ```jsx + * const x = useMotionValue(0) + * x.set(10) + * ``` + * + * @param latest - Latest value to set. + * @param render - Whether to notify render subscribers. Defaults to `true` + * + * @public + */ + MotionValue.prototype.set = function (v, render) { + if (render === void 0) { render = true; } + if (!render || !this.passiveEffect) { + this.updateAndNotify(v, render); + } + else { + this.passiveEffect(v, this.updateAndNotify); + } + }; + /** + * Returns the latest state of `MotionValue` + * + * @returns - The latest state of `MotionValue` + * + * @public + */ + MotionValue.prototype.get = function () { + return this.current; + }; + /** + * @public + */ + MotionValue.prototype.getPrevious = function () { + return this.prev; + }; + /** + * Returns the latest velocity of `MotionValue` + * + * @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical. + * + * @public + */ + MotionValue.prototype.getVelocity = function () { + // This could be isFloat(this.prev) && isFloat(this.current), but that would be wasteful + return this.canTrackVelocity + ? // These casts could be avoided if parseFloat would be typed better + velocityPerSecond(parseFloat(this.current) - + parseFloat(this.prev), this.timeDelta) + : 0; + }; + /** + * Registers a new animation to control this `MotionValue`. Only one + * animation can drive a `MotionValue` at one time. + * + * ```jsx + * value.start() + * ``` + * + * @param animation - A function that starts the provided animation + * + * @internal + */ + MotionValue.prototype.start = function (animation) { + var _this = this; + this.stop(); + return new Promise(function (resolve) { + _this.hasAnimated = true; + _this.stopAnimation = animation(resolve); + }).then(function () { return _this.clearAnimation(); }); + }; + /** + * Stop the currently active animation. + * + * @public + */ + MotionValue.prototype.stop = function () { + if (this.stopAnimation) + this.stopAnimation(); + this.clearAnimation(); + }; + /** + * Returns `true` if this value is currently animating. + * + * @public + */ + MotionValue.prototype.isAnimating = function () { + return !!this.stopAnimation; + }; + MotionValue.prototype.clearAnimation = function () { + this.stopAnimation = null; + }; + /** + * Destroy and clean up subscribers to this `MotionValue`. + * + * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically + * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually + * created a `MotionValue` via the `motionValue` function. + * + * @public + */ + MotionValue.prototype.destroy = function () { + this.updateSubscribers.clear(); + this.renderSubscribers.clear(); + this.stop(); + }; + return MotionValue; +}()); +/** + * @internal + */ +function motionValue(init) { + return new value_MotionValue(init); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/value-types/test.js +/** + * Tests a provided value against a ValueType + */ +var testValueType = function (v) { return function (type) { return type.test(v); }; }; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.js +/** + * ValueType for "auto" + */ +var auto = { + test: function (v) { return v === "auto"; }, + parse: function (v) { return v; }, +}; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.js + + + + +/** + * A list of value types commonly used for dimensions + */ +var dimensionValueTypes = [numbers_number, px, percent, degrees, vw, vh, auto]; +/** + * Tests a dimensional value against the list of dimension ValueTypes + */ +var findDimensionValueType = function (v) { + return dimensionValueTypes.find(testValueType(v)); +}; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/dom/value-types/find.js + + + + + +/** + * A list of all ValueTypes + */ +var valueTypes = __spreadArray(__spreadArray([], __read(dimensionValueTypes)), [color_color, complex]); +/** + * Tests a value against the list of ValueTypes + */ +var findValueType = function (v) { return valueTypes.find(testValueType(v)); }; + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/utils/setters.js + + + + + + + + + +/** + * Set VisualElement's MotionValue, creating a new MotionValue for it if + * it doesn't exist. + */ +function setMotionValue(visualElement, key, value) { + if (visualElement.hasValue(key)) { + visualElement.getValue(key).set(value); + } + else { + visualElement.addValue(key, motionValue(value)); + } +} +function setTarget(visualElement, definition) { + var resolved = resolveVariant(visualElement, definition); + var _a = resolved + ? visualElement.makeTargetAnimatable(resolved, false) + : {}, _b = _a.transitionEnd, transitionEnd = _b === void 0 ? {} : _b; _a.transition; var target = __rest(_a, ["transitionEnd", "transition"]); + target = __assign(__assign({}, target), transitionEnd); + for (var key in target) { + var value = resolveFinalValueInKeyframes(target[key]); + setMotionValue(visualElement, key, value); + } +} +function setVariants(visualElement, variantLabels) { + var reversedLabels = __spreadArray([], __read(variantLabels)).reverse(); + reversedLabels.forEach(function (key) { + var _a; + var variant = visualElement.getVariant(key); + variant && setTarget(visualElement, variant); + (_a = visualElement.variantChildren) === null || _a === void 0 ? void 0 : _a.forEach(function (child) { + setVariants(child, variantLabels); + }); + }); +} +function setters_setValues(visualElement, definition) { + if (Array.isArray(definition)) { + return setVariants(visualElement, definition); + } + else if (typeof definition === "string") { + return setVariants(visualElement, [definition]); + } + else { + setTarget(visualElement, definition); + } +} +function checkTargetForNewValues(visualElement, target, origin) { + var _a, _b, _c; + var _d; + var newValueKeys = Object.keys(target).filter(function (key) { return !visualElement.hasValue(key); }); + var numNewValues = newValueKeys.length; + if (!numNewValues) + return; + for (var i = 0; i < numNewValues; i++) { + var key = newValueKeys[i]; + var targetValue = target[key]; + var value = null; + /** + * If the target is a series of keyframes, we can use the first value + * in the array. If this first value is null, we'll still need to read from the DOM. + */ + if (Array.isArray(targetValue)) { + value = targetValue[0]; + } + /** + * If the target isn't keyframes, or the first keyframe was null, we need to + * first check if an origin value was explicitly defined in the transition as "from", + * if not read the value from the DOM. As an absolute fallback, take the defined target value. + */ + if (value === null) { + value = (_b = (_a = origin[key]) !== null && _a !== void 0 ? _a : visualElement.readValue(key)) !== null && _b !== void 0 ? _b : target[key]; + } + /** + * If value is still undefined or null, ignore it. Preferably this would throw, + * but this was causing issues in Framer. + */ + if (value === undefined || value === null) + continue; + if (typeof value === "string" && isNumericalString(value)) { + // If this is a number read as a string, ie "0" or "200", convert it to a number + value = parseFloat(value); + } + else if (!findValueType(value) && complex.test(targetValue)) { + value = animatable_none_getAnimatableNone(key, targetValue); + } + visualElement.addValue(key, motionValue(value)); + (_c = (_d = origin)[key]) !== null && _c !== void 0 ? _c : (_d[key] = value); + visualElement.setBaseTarget(key, value); + } +} +function getOriginFromTransition(key, transition) { + if (!transition) + return; + var valueTransition = transition[key] || transition["default"] || transition; + return valueTransition.from; +} +function getOrigin(target, transition, visualElement) { + var _a, _b; + var origin = {}; + for (var key in target) { + origin[key] = + (_a = getOriginFromTransition(key, transition)) !== null && _a !== void 0 ? _a : (_b = visualElement.getValue(key)) === null || _b === void 0 ? void 0 : _b.get(); + } + return origin; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/utils/animation.js + + + + + +/** + * @internal + */ +function animateVisualElement(visualElement, definition, options) { + if (options === void 0) { options = {}; } + visualElement.notifyAnimationStart(); + var animation; + if (Array.isArray(definition)) { + var animations = definition.map(function (variant) { + return animateVariant(visualElement, variant, options); + }); + animation = Promise.all(animations); + } + else if (typeof definition === "string") { + animation = animateVariant(visualElement, definition, options); + } + else { + var resolvedDefinition = typeof definition === "function" + ? resolveVariant(visualElement, definition, options.custom) + : definition; + animation = animateTarget(visualElement, resolvedDefinition, options); + } + return animation.then(function () { + return visualElement.notifyAnimationComplete(definition); + }); +} +function animateVariant(visualElement, variant, options) { + var _a; + if (options === void 0) { options = {}; } + var resolved = resolveVariant(visualElement, variant, options.custom); + var _b = (resolved || {}).transition, transition = _b === void 0 ? visualElement.getDefaultTransition() || {} : _b; + if (options.transitionOverride) { + transition = options.transitionOverride; + } + /** + * If we have a variant, create a callback that runs it as an animation. + * Otherwise, we resolve a Promise immediately for a composable no-op. + */ + var getAnimation = resolved + ? function () { return animateTarget(visualElement, resolved, options); } + : function () { return Promise.resolve(); }; + /** + * If we have children, create a callback that runs all their animations. + * Otherwise, we resolve a Promise immediately for a composable no-op. + */ + var getChildAnimations = ((_a = visualElement.variantChildren) === null || _a === void 0 ? void 0 : _a.size) + ? function (forwardDelay) { + if (forwardDelay === void 0) { forwardDelay = 0; } + var _a = transition.delayChildren, delayChildren = _a === void 0 ? 0 : _a, staggerChildren = transition.staggerChildren, staggerDirection = transition.staggerDirection; + return animateChildren(visualElement, variant, delayChildren + forwardDelay, staggerChildren, staggerDirection, options); + } + : function () { return Promise.resolve(); }; + /** + * If the transition explicitly defines a "when" option, we need to resolve either + * this animation or all children animations before playing the other. + */ + var when = transition.when; + if (when) { + var _c = __read(when === "beforeChildren" + ? [getAnimation, getChildAnimations] + : [getChildAnimations, getAnimation], 2), first = _c[0], last = _c[1]; + return first().then(last); + } + else { + return Promise.all([getAnimation(), getChildAnimations(options.delay)]); + } +} +/** + * @internal + */ +function animateTarget(visualElement, definition, _a) { + var _b; + var _c = _a === void 0 ? {} : _a, _d = _c.delay, delay = _d === void 0 ? 0 : _d, transitionOverride = _c.transitionOverride, type = _c.type; + var _e = visualElement.makeTargetAnimatable(definition), _f = _e.transition, transition = _f === void 0 ? visualElement.getDefaultTransition() : _f, transitionEnd = _e.transitionEnd, target = __rest(_e, ["transition", "transitionEnd"]); + if (transitionOverride) + transition = transitionOverride; + var animations = []; + var animationTypeState = type && ((_b = visualElement.animationState) === null || _b === void 0 ? void 0 : _b.getState()[type]); + for (var key in target) { + var value = visualElement.getValue(key); + var valueTarget = target[key]; + if (!value || + valueTarget === undefined || + (animationTypeState && + shouldBlockAnimation(animationTypeState, key))) { + continue; + } + var animation = transitions_startAnimation(key, value, valueTarget, __assign({ delay: delay }, transition)); + animations.push(animation); + } + return Promise.all(animations).then(function () { + transitionEnd && setTarget(visualElement, transitionEnd); + }); +} +function animateChildren(visualElement, variant, delayChildren, staggerChildren, staggerDirection, options) { + if (delayChildren === void 0) { delayChildren = 0; } + if (staggerChildren === void 0) { staggerChildren = 0; } + if (staggerDirection === void 0) { staggerDirection = 1; } + var animations = []; + var maxStaggerDuration = (visualElement.variantChildren.size - 1) * staggerChildren; + var generateStaggerDuration = staggerDirection === 1 + ? function (i) { + if (i === void 0) { i = 0; } + return i * staggerChildren; + } + : function (i) { + if (i === void 0) { i = 0; } + return maxStaggerDuration - i * staggerChildren; + }; + Array.from(visualElement.variantChildren) + .sort(sortByTreeOrder) + .forEach(function (child, i) { + animations.push(animateVariant(child, variant, __assign(__assign({}, options), { delay: delayChildren + generateStaggerDuration(i) })).then(function () { return child.notifyAnimationComplete(variant); })); + }); + return Promise.all(animations); +} +function animation_stopAnimation(visualElement) { + visualElement.forEachValue(function (value) { return value.stop(); }); +} +function sortByTreeOrder(a, b) { + return a.sortNodePosition(b); +} +/** + * Decide whether we should block this animation. Previously, we achieved this + * just by checking whether the key was listed in protectedKeys, but this + * posed problems if an animation was triggered by afterChildren and protectedKeys + * had been set to true in the meantime. + */ +function shouldBlockAnimation(_a, key) { + var protectedKeys = _a.protectedKeys, needsAnimating = _a.needsAnimating; + var shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true; + needsAnimating[key] = false; + return shouldBlock; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/render/utils/animation-state.js + + + + + + + + +var variantPriorityOrder = [ + AnimationType.Animate, + AnimationType.Hover, + AnimationType.Tap, + AnimationType.Drag, + AnimationType.Focus, + AnimationType.Exit, +]; +var reversePriorityOrder = __spreadArray([], __read(variantPriorityOrder)).reverse(); +var numAnimationTypes = variantPriorityOrder.length; +function animateList(visualElement) { + return function (animations) { + return Promise.all(animations.map(function (_a) { + var animation = _a.animation, options = _a.options; + return animateVisualElement(visualElement, animation, options); + })); + }; +} +function createAnimationState(visualElement) { + var animate = animateList(visualElement); + var state = createState(); + var allAnimatedKeys = {}; + var isInitialRender = true; + /** + * This function will be used to reduce the animation definitions for + * each active animation type into an object of resolved values for it. + */ + var buildResolvedTypeValues = function (acc, definition) { + var resolved = resolveVariant(visualElement, definition); + if (resolved) { + resolved.transition; var transitionEnd = resolved.transitionEnd, target = __rest(resolved, ["transition", "transitionEnd"]); + acc = __assign(__assign(__assign({}, acc), target), transitionEnd); + } + return acc; + }; + function isAnimated(key) { + return allAnimatedKeys[key] !== undefined; + } + /** + * This just allows us to inject mocked animation functions + * @internal + */ + function setAnimateFunction(makeAnimator) { + animate = makeAnimator(visualElement); + } + /** + * When we receive new props, we need to: + * 1. Create a list of protected keys for each type. This is a directory of + * value keys that are currently being "handled" by types of a higher priority + * so that whenever an animation is played of a given type, these values are + * protected from being animated. + * 2. Determine if an animation type needs animating. + * 3. Determine if any values have been removed from a type and figure out + * what to animate those to. + */ + function animateChanges(options, changedActiveType) { + var _a; + var props = visualElement.getProps(); + var context = visualElement.getVariantContext(true) || {}; + /** + * A list of animations that we'll build into as we iterate through the animation + * types. This will get executed at the end of the function. + */ + var animations = []; + /** + * Keep track of which values have been removed. Then, as we hit lower priority + * animation types, we can check if they contain removed values and animate to that. + */ + var removedKeys = new Set(); + /** + * A dictionary of all encountered keys. This is an object to let us build into and + * copy it without iteration. Each time we hit an animation type we set its protected + * keys - the keys its not allowed to animate - to the latest version of this object. + */ + var encounteredKeys = {}; + /** + * If a variant has been removed at a given index, and this component is controlling + * variant animations, we want to ensure lower-priority variants are forced to animate. + */ + var removedVariantIndex = Infinity; + var _loop_1 = function (i) { + var type = reversePriorityOrder[i]; + var typeState = state[type]; + var prop = (_a = props[type]) !== null && _a !== void 0 ? _a : context[type]; + var propIsVariant = isVariantLabel(prop); + /** + * If this type has *just* changed isActive status, set activeDelta + * to that status. Otherwise set to null. + */ + var activeDelta = type === changedActiveType ? typeState.isActive : null; + if (activeDelta === false) + removedVariantIndex = i; + /** + * If this prop is an inherited variant, rather than been set directly on the + * component itself, we want to make sure we allow the parent to trigger animations. + * + * TODO: Can probably change this to a !isControllingVariants check + */ + var isInherited = prop === context[type] && prop !== props[type] && propIsVariant; + /** + * + */ + if (isInherited && + isInitialRender && + visualElement.manuallyAnimateOnMount) { + isInherited = false; + } + /** + * Set all encountered keys so far as the protected keys for this type. This will + * be any key that has been animated or otherwise handled by active, higher-priortiy types. + */ + typeState.protectedKeys = __assign({}, encounteredKeys); + // Check if we can skip analysing this prop early + if ( + // If it isn't active and hasn't *just* been set as inactive + (!typeState.isActive && activeDelta === null) || + // If we didn't and don't have any defined prop for this animation type + (!prop && !typeState.prevProp) || + // Or if the prop doesn't define an animation + isAnimationControls(prop) || + typeof prop === "boolean") { + return "continue"; + } + /** + * As we go look through the values defined on this type, if we detect + * a changed value or a value that was removed in a higher priority, we set + * this to true and add this prop to the animation list. + */ + var shouldAnimateType = variantsHaveChanged(typeState.prevProp, prop) || + // If we're making this variant active, we want to always make it active + (type === changedActiveType && + typeState.isActive && + !isInherited && + propIsVariant) || + // If we removed a higher-priority variant (i is in reverse order) + (i > removedVariantIndex && propIsVariant); + /** + * As animations can be set as variant lists, variants or target objects, we + * coerce everything to an array if it isn't one already + */ + var definitionList = Array.isArray(prop) ? prop : [prop]; + /** + * Build an object of all the resolved values. We'll use this in the subsequent + * animateChanges calls to determine whether a value has changed. + */ + var resolvedValues = definitionList.reduce(buildResolvedTypeValues, {}); + if (activeDelta === false) + resolvedValues = {}; + /** + * Now we need to loop through all the keys in the prev prop and this prop, + * and decide: + * 1. If the value has changed, and needs animating + * 2. If it has been removed, and needs adding to the removedKeys set + * 3. If it has been removed in a higher priority type and needs animating + * 4. If it hasn't been removed in a higher priority but hasn't changed, and + * needs adding to the type's protectedKeys list. + */ + var _b = typeState.prevResolvedValues, prevResolvedValues = _b === void 0 ? {} : _b; + var allKeys = __assign(__assign({}, prevResolvedValues), resolvedValues); + var markToAnimate = function (key) { + shouldAnimateType = true; + removedKeys.delete(key); + typeState.needsAnimating[key] = true; + }; + for (var key in allKeys) { + var next = resolvedValues[key]; + var prev = prevResolvedValues[key]; + // If we've already handled this we can just skip ahead + if (encounteredKeys.hasOwnProperty(key)) + continue; + /** + * If the value has changed, we probably want to animate it. + */ + if (next !== prev) { + /** + * If both values are keyframes, we need to shallow compare them to + * detect whether any value has changed. If it has, we animate it. + */ + if (isKeyframesTarget(next) && isKeyframesTarget(prev)) { + if (!shallowCompare(next, prev)) { + markToAnimate(key); + } + else { + /** + * If it hasn't changed, we want to ensure it doesn't animate by + * adding it to the list of protected keys. + */ + typeState.protectedKeys[key] = true; + } + } + else if (next !== undefined) { + // If next is defined and doesn't equal prev, it needs animating + markToAnimate(key); + } + else { + // If it's undefined, it's been removed. + removedKeys.add(key); + } + } + else if (next !== undefined && removedKeys.has(key)) { + /** + * If next hasn't changed and it isn't undefined, we want to check if it's + * been removed by a higher priority + */ + markToAnimate(key); + } + else { + /** + * If it hasn't changed, we add it to the list of protected values + * to ensure it doesn't get animated. + */ + typeState.protectedKeys[key] = true; + } + } + /** + * Update the typeState so next time animateChanges is called we can compare the + * latest prop and resolvedValues to these. + */ + typeState.prevProp = prop; + typeState.prevResolvedValues = resolvedValues; + /** + * + */ + if (typeState.isActive) { + encounteredKeys = __assign(__assign({}, encounteredKeys), resolvedValues); + } + if (isInitialRender && visualElement.blockInitialAnimation) { + shouldAnimateType = false; + } + /** + * If this is an inherited prop we want to hard-block animations + * TODO: Test as this should probably still handle animations triggered + * by removed values? + */ + if (shouldAnimateType && !isInherited) { + animations.push.apply(animations, __spreadArray([], __read(definitionList.map(function (animation) { return ({ + animation: animation, + options: __assign({ type: type }, options), + }); })))); + } + }; + /** + * Iterate through all animation types in reverse priority order. For each, we want to + * detect which values it's handling and whether or not they've changed (and therefore + * need to be animated). If any values have been removed, we want to detect those in + * lower priority props and flag for animation. + */ + for (var i = 0; i < numAnimationTypes; i++) { + _loop_1(i); + } + allAnimatedKeys = __assign({}, encounteredKeys); + /** + * If there are some removed value that haven't been dealt with, + * we need to create a new animation that falls back either to the value + * defined in the style prop, or the last read value. + */ + if (removedKeys.size) { + var fallbackAnimation_1 = {}; + removedKeys.forEach(function (key) { + var fallbackTarget = visualElement.getBaseTarget(key); + if (fallbackTarget !== undefined) { + fallbackAnimation_1[key] = fallbackTarget; + } + }); + animations.push({ animation: fallbackAnimation_1 }); + } + var shouldAnimate = Boolean(animations.length); + if (isInitialRender && + props.initial === false && + !visualElement.manuallyAnimateOnMount) { + shouldAnimate = false; + } + isInitialRender = false; + return shouldAnimate ? animate(animations) : Promise.resolve(); + } + /** + * Change whether a certain animation type is active. + */ + function setActive(type, isActive, options) { + var _a; + // If the active state hasn't changed, we can safely do nothing here + if (state[type].isActive === isActive) + return Promise.resolve(); + // Propagate active change to children + (_a = visualElement.variantChildren) === null || _a === void 0 ? void 0 : _a.forEach(function (child) { var _a; return (_a = child.animationState) === null || _a === void 0 ? void 0 : _a.setActive(type, isActive); }); + state[type].isActive = isActive; + return animateChanges(options, type); + } + return { + isAnimated: isAnimated, + animateChanges: animateChanges, + setActive: setActive, + setAnimateFunction: setAnimateFunction, + getState: function () { return state; }, + }; +} +function variantsHaveChanged(prev, next) { + if (typeof next === "string") { + return next !== prev; + } + else if (isVariantLabels(next)) { + return !shallowCompare(next, prev); + } + return false; +} +function createTypeState(isActive) { + if (isActive === void 0) { isActive = false; } + return { + isActive: isActive, + protectedKeys: {}, + needsAnimating: {}, + prevResolvedValues: {}, + }; +} +function createState() { + var _a; + return _a = {}, + _a[AnimationType.Animate] = createTypeState(true), + _a[AnimationType.Hover] = createTypeState(), + _a[AnimationType.Tap] = createTypeState(), + _a[AnimationType.Drag] = createTypeState(), + _a[AnimationType.Focus] = createTypeState(), + _a[AnimationType.Exit] = createTypeState(), + _a; +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/motion/features/animations.js + + + + + + + + + +var animations_animations = { + animation: makeRenderlessComponent(function (_a) { + var visualElement = _a.visualElement, animate = _a.animate; + /** + * We dynamically generate the AnimationState manager as it contains a reference + * to the underlying animation library. We only want to load that if we load this, + * so people can optionally code split it out using the `m` component. + */ + visualElement.animationState || (visualElement.animationState = createAnimationState(visualElement)); + /** + * Subscribe any provided AnimationControls to the component's VisualElement + */ + if (isAnimationControls(animate)) { + Object(external_React_["useEffect"])(function () { return animate.subscribe(visualElement); }, [animate]); + } + }), + exit: makeRenderlessComponent(function (props) { + var custom = props.custom, visualElement = props.visualElement; + var _a = __read(usePresence(), 2), isPresent = _a[0], onExitComplete = _a[1]; + var presenceContext = Object(external_React_["useContext"])(PresenceContext); + Object(external_React_["useEffect"])(function () { + var _a, _b; + var animation = (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Exit, !isPresent, { custom: (_b = presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.custom) !== null && _b !== void 0 ? _b : custom }); + !isPresent && (animation === null || animation === void 0 ? void 0 : animation.then(onExitComplete)); + }, [isPresent]); + }), +}; + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/utils/is-point.js +var isPoint = function (point) { + return point.hasOwnProperty('x') && point.hasOwnProperty('y'); +}; + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/utils/is-point-3d.js + + +var isPoint3D = function (point) { + return isPoint(point) && point.hasOwnProperty('z'); +}; + + + +// CONCATENATED MODULE: ./node_modules/popmotion/dist/es/utils/distance.js + + + + +var distance1D = function (a, b) { return Math.abs(a - b); }; +function distance_distance(a, b) { + if (isNum(a) && isNum(b)) { + return distance1D(a, b); + } + else if (isPoint(a) && isPoint(b)) { + var xDelta = distance1D(a.x, b.x); + var yDelta = distance1D(a.y, b.y); + var zDelta = isPoint3D(a) && isPoint3D(b) ? distance1D(a.z, b.z) : 0; + return Math.sqrt(Math.pow(xDelta, 2) + Math.pow(yDelta, 2) + Math.pow(zDelta, 2)); + } +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/gestures/PanSession.js + + + + + + + + +/** + * @internal + */ +var PanSession_PanSession = /** @class */ (function () { + function PanSession(event, handlers, _a) { + var _this = this; + var _b = _a === void 0 ? {} : _a, transformPagePoint = _b.transformPagePoint; + /** + * @internal + */ + this.startEvent = null; + /** + * @internal + */ + this.lastMoveEvent = null; + /** + * @internal + */ + this.lastMoveEventInfo = null; + /** + * @internal + */ + this.handlers = {}; + this.updatePoint = function () { + if (!(_this.lastMoveEvent && _this.lastMoveEventInfo)) + return; + var info = getPanInfo(_this.lastMoveEventInfo, _this.history); + var isPanStarted = _this.startEvent !== null; + // Only start panning if the offset is larger than 3 pixels. If we make it + // any larger than this we'll want to reset the pointer history + // on the first update to avoid visual snapping to the cursoe. + var isDistancePastThreshold = distance_distance(info.offset, { x: 0, y: 0 }) >= 3; + if (!isPanStarted && !isDistancePastThreshold) + return; + var point = info.point; + var timestamp = getFrameData().timestamp; + _this.history.push(__assign(__assign({}, point), { timestamp: timestamp })); + var _a = _this.handlers, onStart = _a.onStart, onMove = _a.onMove; + if (!isPanStarted) { + onStart && onStart(_this.lastMoveEvent, info); + _this.startEvent = _this.lastMoveEvent; + } + onMove && onMove(_this.lastMoveEvent, info); + }; + this.handlePointerMove = function (event, info) { + _this.lastMoveEvent = event; + _this.lastMoveEventInfo = PanSession_transformPoint(info, _this.transformPagePoint); + // Because Safari doesn't trigger mouseup events when it's above a ` elements would change it from a + * controlled component to an uncontrolled component. + * + * For now, to minimize unexpected regressions, we're going to + * preserve the undefined callback argument, except when a + * resetFallbackValue is defined. + */ + + onChange(onChangeResetValue); + }; + + const handleShowTooltip = () => setShowTooltip(true); + + const handleHideTooltip = () => setShowTooltip(false); + + const handleOnBlur = event => { + onBlur(event); + setIsFocused(false); + handleHideTooltip(); + }; + + const handleOnFocus = event => { + onFocus(event); + setIsFocused(true); + handleShowTooltip(); + }; + + const offsetStyle = { + [Object(external_wp_i18n_["isRTL"])() ? 'right' : 'left']: fillValueOffset + }; + return Object(external_wp_element_["createElement"])(base_control, { + className: classes, + label: label, + hideLabelFromVision: hideLabelFromVision, + id: id, + help: help + }, Object(external_wp_element_["createElement"])(range_control_styles_Root, { + className: "components-range-control__root" + }, beforeIcon && Object(external_wp_element_["createElement"])(BeforeIconWrapper, null, Object(external_wp_element_["createElement"])(components_build_module_icon["a" /* default */], { + icon: beforeIcon + })), Object(external_wp_element_["createElement"])(range_control_styles_Wrapper, { + className: wrapperClasses, + color: colorProp, + marks: !!marks + }, Object(external_wp_element_["createElement"])(input_range, Object(esm_extends["a" /* default */])({}, props, { + className: "components-range-control__slider", + describedBy: describedBy, + disabled: disabled, + id: id, + label: label, + max: max, + min: min, + onBlur: handleOnBlur, + onChange: handleOnRangeChange, + onFocus: handleOnFocus, + onMouseMove: onMouseMove, + onMouseLeave: onMouseLeave, + ref: setRef, + step: step, + value: inputSliderValue + })), Object(external_wp_element_["createElement"])(RangeRail, { + "aria-hidden": true, + disabled: disabled, + marks: marks, + max: max, + min: min, + railColor: railColor, + step: step, + value: rangeFillValue + }), Object(external_wp_element_["createElement"])(Track, { + "aria-hidden": true, + className: "components-range-control__track", + disabled: disabled, + style: { + width: fillValueOffset + }, + trackColor: trackColor + }), Object(external_wp_element_["createElement"])(ThumbWrapper, { + style: offsetStyle, + disabled: disabled + }, Object(external_wp_element_["createElement"])(Thumb, { + "aria-hidden": true, + isFocused: isThumbFocused, + disabled: disabled + })), enableTooltip && Object(external_wp_element_["createElement"])(SimpleTooltip, { + className: "components-range-control__tooltip", + inputRef: inputRef, + tooltipPosition: "bottom", + renderTooltipContent: renderTooltipContent, + show: isCurrentlyFocused || showTooltip, + style: offsetStyle, + value: value + })), afterIcon && Object(external_wp_element_["createElement"])(AfterIconWrapper, null, Object(external_wp_element_["createElement"])(components_build_module_icon["a" /* default */], { + icon: afterIcon + })), withInputField && Object(external_wp_element_["createElement"])(InputNumber, { + "aria-label": label, + className: "components-range-control__number", + disabled: disabled, + inputMode: "decimal", + isShiftStepEnabled: isShiftStepEnabled, + max: max, + min: min, + onBlur: handleOnInputNumberBlur, + onChange: handleOnChange, + shiftStep: shiftStep, + step: step, + value: inputSliderValue + }), allowReset && Object(external_wp_element_["createElement"])(ActionRightWrapper, null, Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { + className: "components-range-control__reset", + disabled: disabled || value === undefined, + variant: "secondary", + isSmall: true, + onClick: handleOnReset + }, Object(external_wp_i18n_["__"])('Reset'))))); +} + +const range_control_ForwardedComponent = Object(external_wp_element_["forwardRef"])(RangeControl); +/* harmony default export */ var range_control = (range_control_ForwardedComponent); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/styles.js + + +function color_picker_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } + +/** + * External dependencies + */ + +/** + * Internal dependencies + */ + + + + + + + + + +const NumberControlWrapper = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(number_control, true ? { + target: "ez9hsf46" +} : undefined)(Container, "{width:", space(24), ";}" + ( true ? "" : undefined)); +const styles_SelectControl = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(select_control, true ? { + target: "ez9hsf45" +} : undefined)("margin-left:", space(-2), ";width:5em;", BackdropUI, "{display:none;}" + ( true ? "" : undefined)); +const styles_RangeControl = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(range_control, true ? { + target: "ez9hsf44" +} : undefined)("flex:1;", StyledField, "{margin-bottom:0;}" + ( true ? "" : undefined)); // All inputs should be the same height so this should be changed at the component level. +// That involves changing heights of multiple input types probably buttons too etc. +// So until that is done we are already using the new height on the color picker so it matches the mockups. + +const inputHeightStyle = ` +&&& ${Input} { + height: 40px; +}`; // Make the Hue circle picker not go out of the bar + +const interactiveHueStyles = ` +.react-colorful__interactive { + width: calc( 100% - ${space(2)} ); + margin-left: ${space(1)}; +}`; +const AuxiliaryColorArtefactWrapper = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "ez9hsf43" +} : undefined)("padding:", space(2), " ", space(4), ";" + ( true ? "" : undefined)); +const ColorfulWrapper = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "ez9hsf42" +} : undefined)("width:216px;.react-colorful{display:flex;flex-direction:column;align-items:center;width:216px;height:auto;}.react-colorful__saturation{width:100%;border-radius:0;height:216px;margin-bottom:", space(4), ";border-bottom:none;}.react-colorful__hue,.react-colorful__alpha{width:184px;height:16px;border-radius:16px;margin-bottom:", space(2), ";}.react-colorful__pointer{height:16px;width:16px;border:none;box-shadow:0 0 2px 0 rgba( 0, 0, 0, 0.25 );outline:2px solid transparent;}.react-colorful__pointer-fill{box-shadow:inset 0 0 0 ", config_values.borderWidthFocus, " #fff;}", interactiveHueStyles, " ", StyledField, "{margin-bottom:0;}", inputHeightStyle, ";" + ( true ? "" : undefined)); +const DetailsControlButton = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(build_module_button["a" /* default */], true ? { + target: "ez9hsf41" +} : undefined)("&&&&&{min-width:", space(6), ";padding:0;}" + ( true ? "" : undefined)); +const ColorHexInputControl = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(input_control, true ? { + target: "ez9hsf40" +} : undefined)( true ? { + name: "1287a6j", + styles: "width:8em" +} : undefined); + +// EXTERNAL MODULE: ./node_modules/reakit-utils/es/shallowEqual.js +var shallowEqual = __webpack_require__("uqqE"); + +// EXTERNAL MODULE: ./node_modules/reakit-utils/es/dom.js +var dom = __webpack_require__("reMF"); + +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js +// import { isHTMLElement } from './instanceOf'; +function getBoundingClientRect(element, // eslint-disable-next-line unused-imports/no-unused-vars +includeScale) { + if (includeScale === void 0) { + includeScale = false; + } + + var rect = element.getBoundingClientRect(); + var scaleX = 1; + var scaleY = 1; // FIXME: + // `offsetWidth` returns an integer while `getBoundingClientRect` + // returns a float. This results in `scaleX` or `scaleY` being + // non-1 when it should be for elements that aren't a full pixel in + // width or height. + // if (isHTMLElement(element) && includeScale) { + // const offsetHeight = element.offsetHeight; + // const offsetWidth = element.offsetWidth; + // // Do not attempt to divide by 0, otherwise we get `Infinity` as scale + // // Fallback to 1 in case both values are `0` + // if (offsetWidth > 0) { + // scaleX = rect.width / offsetWidth || 1; + // } + // if (offsetHeight > 0) { + // scaleY = rect.height / offsetHeight || 1; + // } + // } + + return { + width: rect.width / scaleX, + height: rect.height / scaleY, + top: rect.top / scaleY, + right: rect.right / scaleX, + bottom: rect.bottom / scaleY, + left: rect.left / scaleX, + x: rect.left / scaleX, + y: rect.top / scaleY + }; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindow.js +function getWindow_getWindow(node) { + if (node == null) { + return window; + } + + if (node.toString() !== '[object Window]') { + var ownerDocument = node.ownerDocument; + return ownerDocument ? ownerDocument.defaultView || window : window; + } + + return node; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js + +function getWindowScroll(node) { + var win = getWindow_getWindow(node); + var scrollLeft = win.pageXOffset; + var scrollTop = win.pageYOffset; + return { + scrollLeft: scrollLeft, + scrollTop: scrollTop + }; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js + + +function isElement(node) { + var OwnElement = getWindow_getWindow(node).Element; + return node instanceof OwnElement || node instanceof Element; +} + +function isHTMLElement(node) { + var OwnElement = getWindow_getWindow(node).HTMLElement; + return node instanceof OwnElement || node instanceof HTMLElement; +} + +function isShadowRoot(node) { + // IE 11 has no ShadowRoot + if (typeof ShadowRoot === 'undefined') { + return false; + } + + var OwnElement = getWindow_getWindow(node).ShadowRoot; + return node instanceof OwnElement || node instanceof ShadowRoot; +} + + +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js +function getHTMLElementScroll(element) { + return { + scrollLeft: element.scrollLeft, + scrollTop: element.scrollTop + }; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js + + + + +function getNodeScroll(node) { + if (node === getWindow_getWindow(node) || !isHTMLElement(node)) { + return getWindowScroll(node); + } else { + return getHTMLElementScroll(node); + } +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js +function getNodeName(element) { + return element ? (element.nodeName || '').toLowerCase() : null; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js + +function getDocumentElement(element) { + // $FlowFixMe[incompatible-return]: assume body is always available + return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing] + element.document) || window.document).documentElement; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js + + + +function getWindowScrollBarX(element) { + // If has a CSS width greater than the viewport, then this will be + // incorrect for RTL. + // Popper 1 is broken in this case and never had a bug report so let's assume + // it's not an issue. I don't think anyone ever specifies width on + // anyway. + // Browsers where the left scrollbar doesn't cause an issue report `0` for + // this (e.g. Edge 2019, IE11, Safari) + return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js + +function getComputedStyle_getComputedStyle(element) { + return getWindow_getWindow(element).getComputedStyle(element); +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js + +function isScrollParent(element) { + // Firefox wants us to check `-x` and `-y` variations as well + var _getComputedStyle = getComputedStyle_getComputedStyle(element), + overflow = _getComputedStyle.overflow, + overflowX = _getComputedStyle.overflowX, + overflowY = _getComputedStyle.overflowY; + + return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js + + + + + + + + +function isElementScaled(element) { + var rect = element.getBoundingClientRect(); + var scaleX = rect.width / element.offsetWidth || 1; + var scaleY = rect.height / element.offsetHeight || 1; + return scaleX !== 1 || scaleY !== 1; +} // Returns the composite rect of an element relative to its offsetParent. +// Composite means it takes into account transforms as well as layout. + + +function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { + if (isFixed === void 0) { + isFixed = false; + } + + var isOffsetParentAnElement = isHTMLElement(offsetParent); + var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent); + var documentElement = getDocumentElement(offsetParent); + var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled); + var scroll = { + scrollLeft: 0, + scrollTop: 0 + }; + var offsets = { + x: 0, + y: 0 + }; + + if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { + if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078 + isScrollParent(documentElement)) { + scroll = getNodeScroll(offsetParent); + } + + if (isHTMLElement(offsetParent)) { + offsets = getBoundingClientRect(offsetParent, true); + offsets.x += offsetParent.clientLeft; + offsets.y += offsetParent.clientTop; + } else if (documentElement) { + offsets.x = getWindowScrollBarX(documentElement); + } + } + + return { + x: rect.left + scroll.scrollLeft - offsets.x, + y: rect.top + scroll.scrollTop - offsets.y, + width: rect.width, + height: rect.height + }; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js + // Returns the layout rect of an element relative to its offsetParent. Layout +// means it doesn't take into account transforms. + +function getLayoutRect(element) { + var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed. + // Fixes https://github.com/popperjs/popper-core/issues/1223 + + var width = element.offsetWidth; + var height = element.offsetHeight; + + if (Math.abs(clientRect.width - width) <= 1) { + width = clientRect.width; + } + + if (Math.abs(clientRect.height - height) <= 1) { + height = clientRect.height; + } + + return { + x: element.offsetLeft, + y: element.offsetTop, + width: width, + height: height + }; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js + + + +function getParentNode(element) { + if (getNodeName(element) === 'html') { + return element; + } + + return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle + // $FlowFixMe[incompatible-return] + // $FlowFixMe[prop-missing] + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || ( // DOM Element detected + isShadowRoot(element) ? element.host : null) || // ShadowRoot detected + // $FlowFixMe[incompatible-call]: HTMLElement is a Node + getDocumentElement(element) // fallback + + ); +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js + + + + +function getScrollParent(node) { + if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) { + // $FlowFixMe[incompatible-return]: assume body is always available + return node.ownerDocument.body; + } + + if (isHTMLElement(node) && isScrollParent(node)) { + return node; + } + + return getScrollParent(getParentNode(node)); +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js + + + + +/* +given a DOM element, return the list of all scroll parents, up the list of ancesors +until we get to the top window object. This list is what we attach scroll listeners +to, because if any of these parent elements scroll, we'll need to re-calculate the +reference element's position. +*/ + +function listScrollParents(element, list) { + var _element$ownerDocumen; + + if (list === void 0) { + list = []; + } + + var scrollParent = getScrollParent(element); + var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); + var win = getWindow_getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; + var updatedList = list.concat(target); + return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here + updatedList.concat(listScrollParents(getParentNode(target))); +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js + +function isTableElement(element) { + return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js + + + + + + + +function getTrueOffsetParent(element) { + if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837 + getComputedStyle_getComputedStyle(element).position === 'fixed') { + return null; + } + + return element.offsetParent; +} // `.offsetParent` reports `null` for fixed elements, while absolute elements +// return the containing block + + +function getContainingBlock(element) { + var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1; + var isIE = navigator.userAgent.indexOf('Trident') !== -1; + + if (isIE && isHTMLElement(element)) { + // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport + var elementCss = getComputedStyle_getComputedStyle(element); + + if (elementCss.position === 'fixed') { + return null; + } + } + + var currentNode = getParentNode(element); + + while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) { + var css = getComputedStyle_getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that + // create a containing block. + // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block + + if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') { + return currentNode; + } else { + currentNode = currentNode.parentNode; + } + } + + return null; +} // Gets the closest ancestor positioned element. Handles some edge cases, +// such as table ancestors and cross browser bugs. + + +function getOffsetParent(element) { + var window = getWindow_getWindow(element); + var offsetParent = getTrueOffsetParent(element); + + while (offsetParent && isTableElement(offsetParent) && getComputedStyle_getComputedStyle(offsetParent).position === 'static') { + offsetParent = getTrueOffsetParent(offsetParent); + } + + if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle_getComputedStyle(offsetParent).position === 'static')) { + return window; + } + + return offsetParent || getContainingBlock(element) || window; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/enums.js +var enums_top = 'top'; +var enums_bottom = 'bottom'; +var enums_right = 'right'; +var enums_left = 'left'; +var enums_auto = 'auto'; +var basePlacements = [enums_top, enums_bottom, enums_right, enums_left]; +var enums_start = 'start'; +var enums_end = 'end'; +var enums_clippingParents = 'clippingParents'; +var viewport = 'viewport'; +var enums_popper = 'popper'; +var enums_reference = 'reference'; +var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) { + return acc.concat([placement + "-" + enums_start, placement + "-" + enums_end]); +}, []); +var enums_placements = /*#__PURE__*/[].concat(basePlacements, [enums_auto]).reduce(function (acc, placement) { + return acc.concat([placement, placement + "-" + enums_start, placement + "-" + enums_end]); +}, []); // modifiers that need to read the DOM + +var beforeRead = 'beforeRead'; +var enums_read = 'read'; +var afterRead = 'afterRead'; // pure-logic modifiers + +var beforeMain = 'beforeMain'; +var main = 'main'; +var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state) + +var beforeWrite = 'beforeWrite'; +var enums_write = 'write'; +var afterWrite = 'afterWrite'; +var modifierPhases = [beforeRead, enums_read, afterRead, beforeMain, main, afterMain, beforeWrite, enums_write, afterWrite]; +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/orderModifiers.js + // source: https://stackoverflow.com/questions/49875255 + +function orderModifiers_order(modifiers) { + var map = new Map(); + var visited = new Set(); + var result = []; + modifiers.forEach(function (modifier) { + map.set(modifier.name, modifier); + }); // On visiting object, check for its dependencies and visit them recursively + + function sort(modifier) { + visited.add(modifier.name); + var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); + requires.forEach(function (dep) { + if (!visited.has(dep)) { + var depModifier = map.get(dep); + + if (depModifier) { + sort(depModifier); + } + } + }); + result.push(modifier); + } + + modifiers.forEach(function (modifier) { + if (!visited.has(modifier.name)) { + // check for visited object + sort(modifier); + } + }); + return result; +} + +function orderModifiers(modifiers) { + // order based on dependencies + var orderedModifiers = orderModifiers_order(modifiers); // order based on phase + + return modifierPhases.reduce(function (acc, phase) { + return acc.concat(orderedModifiers.filter(function (modifier) { + return modifier.phase === phase; + })); + }, []); +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/debounce.js +function debounce(fn) { + var pending; + return function () { + if (!pending) { + pending = new Promise(function (resolve) { + Promise.resolve().then(function () { + pending = undefined; + resolve(fn()); + }); + }); + } + + return pending; + }; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/mergeByName.js +function mergeByName(modifiers) { + var merged = modifiers.reduce(function (merged, current) { + var existing = merged[current.name]; + merged[current.name] = existing ? Object.assign({}, existing, current, { + options: Object.assign({}, existing.options, current.options), + data: Object.assign({}, existing.data, current.data) + }) : current; + return merged; + }, {}); // IE11 does not support Object.values + + return Object.keys(merged).map(function (key) { + return merged[key]; + }); +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/createPopper.js + + + + + + + + + + + + + + +var INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.'; +var INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.'; +var DEFAULT_OPTIONS = { + placement: 'bottom', + modifiers: [], + strategy: 'absolute' +}; + +function areValidElements() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return !args.some(function (element) { + return !(element && typeof element.getBoundingClientRect === 'function'); + }); +} + +function popperGenerator(generatorOptions) { + if (generatorOptions === void 0) { + generatorOptions = {}; + } + + var _generatorOptions = generatorOptions, + _generatorOptions$def = _generatorOptions.defaultModifiers, + defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, + _generatorOptions$def2 = _generatorOptions.defaultOptions, + defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; + return function createPopper(reference, popper, options) { + if (options === void 0) { + options = defaultOptions; + } + + var state = { + placement: 'bottom', + orderedModifiers: [], + options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), + modifiersData: {}, + elements: { + reference: reference, + popper: popper + }, + attributes: {}, + styles: {} + }; + var effectCleanupFns = []; + var isDestroyed = false; + var instance = { + state: state, + setOptions: function setOptions(setOptionsAction) { + var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction; + cleanupModifierEffects(); + state.options = Object.assign({}, defaultOptions, state.options, options); + state.scrollParents = { + reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [], + popper: listScrollParents(popper) + }; // Orders the modifiers based on their dependencies and `phase` + // properties + + var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers + + state.orderedModifiers = orderedModifiers.filter(function (m) { + return m.enabled; + }); // Validate the provided modifiers so that the consumer will get warned + // if one of the modifiers is invalid for any reason + + if (false) { var _getComputedStyle, marginTop, marginRight, marginBottom, marginLeft, flipModifier, modifiers; } + + runModifierEffects(); + return instance.update(); + }, + // Sync update – it will always be executed, even if not necessary. This + // is useful for low frequency updates where sync behavior simplifies the + // logic. + // For high frequency updates (e.g. `resize` and `scroll` events), always + // prefer the async Popper#update method + forceUpdate: function forceUpdate() { + if (isDestroyed) { + return; + } + + var _state$elements = state.elements, + reference = _state$elements.reference, + popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements + // anymore + + if (!areValidElements(reference, popper)) { + if (false) {} + + return; + } // Store the reference and popper rects to be read by modifiers + + + state.rects = { + reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'), + popper: getLayoutRect(popper) + }; // Modifiers have the ability to reset the current update cycle. The + // most common use case for this is the `flip` modifier changing the + // placement, which then needs to re-run all the modifiers, because the + // logic was previously ran for the previous placement and is therefore + // stale/incorrect + + state.reset = false; + state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier + // is filled with the initial data specified by the modifier. This means + // it doesn't persist and is fresh on each update. + // To ensure persistent data, use `${name}#persistent` + + state.orderedModifiers.forEach(function (modifier) { + return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); + }); + var __debug_loops__ = 0; + + for (var index = 0; index < state.orderedModifiers.length; index++) { + if (false) {} + + if (state.reset === true) { + state.reset = false; + index = -1; + continue; + } + + var _state$orderedModifie = state.orderedModifiers[index], + fn = _state$orderedModifie.fn, + _state$orderedModifie2 = _state$orderedModifie.options, + _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, + name = _state$orderedModifie.name; + + if (typeof fn === 'function') { + state = fn({ + state: state, + options: _options, + name: name, + instance: instance + }) || state; + } + } + }, + // Async and optimistically optimized update – it will not be executed if + // not necessary (debounced to run at most once-per-tick) + update: debounce(function () { + return new Promise(function (resolve) { + instance.forceUpdate(); + resolve(state); + }); + }), + destroy: function destroy() { + cleanupModifierEffects(); + isDestroyed = true; + } + }; + + if (!areValidElements(reference, popper)) { + if (false) {} + + return instance; + } + + instance.setOptions(options).then(function (state) { + if (!isDestroyed && options.onFirstUpdate) { + options.onFirstUpdate(state); + } + }); // Modifiers have the ability to execute arbitrary code before the first + // update cycle runs. They will be executed in the same order as the update + // cycle. This is useful when a modifier adds some persistent data that + // other modifiers need to use, but the modifier is run after the dependent + // one. + + function runModifierEffects() { + state.orderedModifiers.forEach(function (_ref3) { + var name = _ref3.name, + _ref3$options = _ref3.options, + options = _ref3$options === void 0 ? {} : _ref3$options, + effect = _ref3.effect; + + if (typeof effect === 'function') { + var cleanupFn = effect({ + state: state, + name: name, + instance: instance, + options: options + }); + + var noopFn = function noopFn() {}; + + effectCleanupFns.push(cleanupFn || noopFn); + } + }); + } + + function cleanupModifierEffects() { + effectCleanupFns.forEach(function (fn) { + return fn(); + }); + effectCleanupFns = []; + } + + return instance; + }; +} +var createPopper_createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules + + +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/eventListeners.js + // eslint-disable-next-line import/no-unused-modules + +var passive = { + passive: true +}; + +function eventListeners_effect(_ref) { + var state = _ref.state, + instance = _ref.instance, + options = _ref.options; + var _options$scroll = options.scroll, + scroll = _options$scroll === void 0 ? true : _options$scroll, + _options$resize = options.resize, + resize = _options$resize === void 0 ? true : _options$resize; + var window = getWindow_getWindow(state.elements.popper); + var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); + + if (scroll) { + scrollParents.forEach(function (scrollParent) { + scrollParent.addEventListener('scroll', instance.update, passive); + }); + } + + if (resize) { + window.addEventListener('resize', instance.update, passive); + } + + return function () { + if (scroll) { + scrollParents.forEach(function (scrollParent) { + scrollParent.removeEventListener('scroll', instance.update, passive); + }); + } + + if (resize) { + window.removeEventListener('resize', instance.update, passive); + } + }; +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ var eventListeners = ({ + name: 'eventListeners', + enabled: true, + phase: 'write', + fn: function fn() {}, + effect: eventListeners_effect, + data: {} +}); +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getBasePlacement.js + +function getBasePlacement(placement) { + return placement.split('-')[0]; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getVariation.js +function getVariation(placement) { + return placement.split('-')[1]; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js +function getMainAxisFromPlacement(placement) { + return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/computeOffsets.js + + + + +function computeOffsets(_ref) { + var reference = _ref.reference, + element = _ref.element, + placement = _ref.placement; + var basePlacement = placement ? getBasePlacement(placement) : null; + var variation = placement ? getVariation(placement) : null; + var commonX = reference.x + reference.width / 2 - element.width / 2; + var commonY = reference.y + reference.height / 2 - element.height / 2; + var offsets; + + switch (basePlacement) { + case enums_top: + offsets = { + x: commonX, + y: reference.y - element.height + }; + break; + + case enums_bottom: + offsets = { + x: commonX, + y: reference.y + reference.height + }; + break; + + case enums_right: + offsets = { + x: reference.x + reference.width, + y: commonY + }; + break; + + case enums_left: + offsets = { + x: reference.x - element.width, + y: commonY + }; + break; + + default: + offsets = { + x: reference.x, + y: reference.y + }; + } + + var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; + + if (mainAxis != null) { + var len = mainAxis === 'y' ? 'height' : 'width'; + + switch (variation) { + case enums_start: + offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2); + break; + + case enums_end: + offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2); + break; + + default: + } + } + + return offsets; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js + + +function popperOffsets_popperOffsets(_ref) { + var state = _ref.state, + name = _ref.name; + // Offsets are the actual position the popper needs to have to be + // properly positioned near its reference element + // This is the most basic placement, and will be adjusted by + // the modifiers in the next step + state.modifiersData[name] = computeOffsets({ + reference: state.rects.reference, + element: state.rects.popper, + strategy: 'absolute', + placement: state.placement + }); +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ var modifiers_popperOffsets = ({ + name: 'popperOffsets', + enabled: true, + phase: 'read', + fn: popperOffsets_popperOffsets, + data: {} +}); +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/math.js +var math_max = Math.max; +var math_min = Math.min; +var round = Math.round; +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/computeStyles.js + + + + + + + + // eslint-disable-next-line import/no-unused-modules + +var unsetSides = { + top: 'auto', + right: 'auto', + bottom: 'auto', + left: 'auto' +}; // Round the offsets to the nearest suitable subpixel based on the DPR. +// Zooming can change the DPR, but it seems to report a value that will +// cleanly divide the values into the appropriate subpixels. + +function roundOffsetsByDPR(_ref) { + var x = _ref.x, + y = _ref.y; + var win = window; + var dpr = win.devicePixelRatio || 1; + return { + x: round(round(x * dpr) / dpr) || 0, + y: round(round(y * dpr) / dpr) || 0 + }; +} + +function mapToStyles(_ref2) { + var _Object$assign2; + + var popper = _ref2.popper, + popperRect = _ref2.popperRect, + placement = _ref2.placement, + variation = _ref2.variation, + offsets = _ref2.offsets, + position = _ref2.position, + gpuAcceleration = _ref2.gpuAcceleration, + adaptive = _ref2.adaptive, + roundOffsets = _ref2.roundOffsets; + + var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets, + _ref3$x = _ref3.x, + x = _ref3$x === void 0 ? 0 : _ref3$x, + _ref3$y = _ref3.y, + y = _ref3$y === void 0 ? 0 : _ref3$y; + + var hasX = offsets.hasOwnProperty('x'); + var hasY = offsets.hasOwnProperty('y'); + var sideX = enums_left; + var sideY = enums_top; + var win = window; + + if (adaptive) { + var offsetParent = getOffsetParent(popper); + var heightProp = 'clientHeight'; + var widthProp = 'clientWidth'; + + if (offsetParent === getWindow_getWindow(popper)) { + offsetParent = getDocumentElement(popper); + + if (getComputedStyle_getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') { + heightProp = 'scrollHeight'; + widthProp = 'scrollWidth'; + } + } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it + + + offsetParent = offsetParent; + + if (placement === enums_top || (placement === enums_left || placement === enums_right) && variation === enums_end) { + sideY = enums_bottom; // $FlowFixMe[prop-missing] + + y -= offsetParent[heightProp] - popperRect.height; + y *= gpuAcceleration ? 1 : -1; + } + + if (placement === enums_left || (placement === enums_top || placement === enums_bottom) && variation === enums_end) { + sideX = enums_right; // $FlowFixMe[prop-missing] + + x -= offsetParent[widthProp] - popperRect.width; + x *= gpuAcceleration ? 1 : -1; + } + } + + var commonStyles = Object.assign({ + position: position + }, adaptive && unsetSides); + + if (gpuAcceleration) { + var _Object$assign; + + return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); + } + + return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2)); +} + +function computeStyles(_ref4) { + var state = _ref4.state, + options = _ref4.options; + var _options$gpuAccelerat = options.gpuAcceleration, + gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, + _options$adaptive = options.adaptive, + adaptive = _options$adaptive === void 0 ? true : _options$adaptive, + _options$roundOffsets = options.roundOffsets, + roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; + + if (false) { var transitionProperty; } + + var commonStyles = { + placement: getBasePlacement(state.placement), + variation: getVariation(state.placement), + popper: state.elements.popper, + popperRect: state.rects.popper, + gpuAcceleration: gpuAcceleration + }; + + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive: adaptive, + roundOffsets: roundOffsets + }))); + } + + if (state.modifiersData.arrow != null) { + state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.arrow, + position: 'absolute', + adaptive: false, + roundOffsets: roundOffsets + }))); + } + + state.attributes.popper = Object.assign({}, state.attributes.popper, { + 'data-popper-placement': state.placement + }); +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ var modifiers_computeStyles = ({ + name: 'computeStyles', + enabled: true, + phase: 'beforeWrite', + fn: computeStyles, + data: {} +}); +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/applyStyles.js + + // This modifier takes the styles prepared by the `computeStyles` modifier +// and applies them to the HTMLElements such as popper and arrow + +function applyStyles(_ref) { + var state = _ref.state; + Object.keys(state.elements).forEach(function (name) { + var style = state.styles[name] || {}; + var attributes = state.attributes[name] || {}; + var element = state.elements[name]; // arrow is optional + virtual elements + + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } // Flow doesn't support to extend this property, but it's the most + // effective way to apply styles to an HTMLElement + // $FlowFixMe[cannot-write] + + + Object.assign(element.style, style); + Object.keys(attributes).forEach(function (name) { + var value = attributes[name]; + + if (value === false) { + element.removeAttribute(name); + } else { + element.setAttribute(name, value === true ? '' : value); + } + }); + }); +} + +function applyStyles_effect(_ref2) { + var state = _ref2.state; + var initialStyles = { + popper: { + position: state.options.strategy, + left: '0', + top: '0', + margin: '0' + }, + arrow: { + position: 'absolute' + }, + reference: {} + }; + Object.assign(state.elements.popper.style, initialStyles.popper); + state.styles = initialStyles; + + if (state.elements.arrow) { + Object.assign(state.elements.arrow.style, initialStyles.arrow); + } + + return function () { + Object.keys(state.elements).forEach(function (name) { + var element = state.elements[name]; + var attributes = state.attributes[name] || {}; + var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them + + var style = styleProperties.reduce(function (style, property) { + style[property] = ''; + return style; + }, {}); // arrow is optional + virtual elements + + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + + Object.assign(element.style, style); + Object.keys(attributes).forEach(function (attribute) { + element.removeAttribute(attribute); + }); + }); + }; +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ var modifiers_applyStyles = ({ + name: 'applyStyles', + enabled: true, + phase: 'write', + fn: applyStyles, + effect: applyStyles_effect, + requires: ['computeStyles'] +}); +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/offset.js + + +function distanceAndSkiddingToXY(placement, rects, offset) { + var basePlacement = getBasePlacement(placement); + var invertDistance = [enums_left, enums_top].indexOf(basePlacement) >= 0 ? -1 : 1; + + var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, { + placement: placement + })) : offset, + skidding = _ref[0], + distance = _ref[1]; + + skidding = skidding || 0; + distance = (distance || 0) * invertDistance; + return [enums_left, enums_right].indexOf(basePlacement) >= 0 ? { + x: distance, + y: skidding + } : { + x: skidding, + y: distance + }; +} + +function offset_offset(_ref2) { + var state = _ref2.state, + options = _ref2.options, + name = _ref2.name; + var _options$offset = options.offset, + offset = _options$offset === void 0 ? [0, 0] : _options$offset; + var data = enums_placements.reduce(function (acc, placement) { + acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); + return acc; + }, {}); + var _data$state$placement = data[state.placement], + x = _data$state$placement.x, + y = _data$state$placement.y; + + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } + + state.modifiersData[name] = data; +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ var modifiers_offset = ({ + name: 'offset', + enabled: true, + phase: 'main', + requires: ['popperOffsets'], + fn: offset_offset +}); +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js +var hash = { + left: 'right', + right: 'left', + bottom: 'top', + top: 'bottom' +}; +function getOppositePlacement(placement) { + return placement.replace(/left|right|bottom|top/g, function (matched) { + return hash[matched]; + }); +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js +var getOppositeVariationPlacement_hash = { + start: 'end', + end: 'start' +}; +function getOppositeVariationPlacement(placement) { + return placement.replace(/start|end/g, function (matched) { + return getOppositeVariationPlacement_hash[matched]; + }); +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js + + + +function getViewportRect(element) { + var win = getWindow_getWindow(element); + var html = getDocumentElement(element); + var visualViewport = win.visualViewport; + var width = html.clientWidth; + var height = html.clientHeight; + var x = 0; + var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper + // can be obscured underneath it. + // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even + // if it isn't open, so if this isn't available, the popper will be detected + // to overflow the bottom of the screen too early. + + if (visualViewport) { + width = visualViewport.width; + height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently) + // In Chrome, it returns a value very close to 0 (+/-) but contains rounding + // errors due to floating point numbers, so we need to check precision. + // Safari returns a number <= 0, usually < -1 when pinch-zoomed + // Feature detection fails in mobile emulation mode in Chrome. + // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) < + // 0.001 + // Fallback here: "Not Safari" userAgent + + if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) { + x = visualViewport.offsetLeft; + y = visualViewport.offsetTop; + } + } + + return { + width: width, + height: height, + x: x + getWindowScrollBarX(element), + y: y + }; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js + + + + + // Gets the entire size of the scrollable document area, even extending outside +// of the `` and `` rect bounds if horizontally scrollable + +function getDocumentRect(element) { + var _element$ownerDocumen; + + var html = getDocumentElement(element); + var winScroll = getWindowScroll(element); + var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; + var width = math_max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); + var height = math_max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); + var x = -winScroll.scrollLeft + getWindowScrollBarX(element); + var y = -winScroll.scrollTop; + + if (getComputedStyle_getComputedStyle(body || html).direction === 'rtl') { + x += math_max(html.clientWidth, body ? body.clientWidth : 0) - width; + } + + return { + width: width, + height: height, + x: x, + y: y + }; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/contains.js + +function contains(parent, child) { + var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method + + if (parent.contains(child)) { + return true; + } // then fallback to custom implementation with Shadow DOM support + else if (rootNode && isShadowRoot(rootNode)) { + var next = child; + + do { + if (next && parent.isSameNode(next)) { + return true; + } // $FlowFixMe[prop-missing]: need a better way to handle this... + + + next = next.parentNode || next.host; + } while (next); + } // Give up, the result is false + + + return false; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/rectToClientRect.js +function rectToClientRect(rect) { + return Object.assign({}, rect, { + left: rect.x, + top: rect.y, + right: rect.x + rect.width, + bottom: rect.y + rect.height + }); +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js + + + + + + + + + + + + + + + +function getInnerBoundingClientRect(element) { + var rect = getBoundingClientRect(element); + rect.top = rect.top + element.clientTop; + rect.left = rect.left + element.clientLeft; + rect.bottom = rect.top + element.clientHeight; + rect.right = rect.left + element.clientWidth; + rect.width = element.clientWidth; + rect.height = element.clientHeight; + rect.x = rect.left; + rect.y = rect.top; + return rect; +} + +function getClientRectFromMixedType(element, clippingParent) { + return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element))); +} // A "clipping parent" is an overflowable container with the characteristic of +// clipping (or hiding) overflowing elements with a position different from +// `initial` + + +function getClippingParents(element) { + var clippingParents = listScrollParents(getParentNode(element)); + var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle_getComputedStyle(element).position) >= 0; + var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; + + if (!isElement(clipperElement)) { + return []; + } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414 + + + return clippingParents.filter(function (clippingParent) { + return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body'; + }); +} // Gets the maximum area that the element is visible in due to any number of +// clipping parents + + +function getClippingRect(element, boundary, rootBoundary) { + var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary); + var clippingParents = [].concat(mainClippingParents, [rootBoundary]); + var firstClippingParent = clippingParents[0]; + var clippingRect = clippingParents.reduce(function (accRect, clippingParent) { + var rect = getClientRectFromMixedType(element, clippingParent); + accRect.top = math_max(rect.top, accRect.top); + accRect.right = math_min(rect.right, accRect.right); + accRect.bottom = math_min(rect.bottom, accRect.bottom); + accRect.left = math_max(rect.left, accRect.left); + return accRect; + }, getClientRectFromMixedType(element, firstClippingParent)); + clippingRect.width = clippingRect.right - clippingRect.left; + clippingRect.height = clippingRect.bottom - clippingRect.top; + clippingRect.x = clippingRect.left; + clippingRect.y = clippingRect.top; + return clippingRect; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js +function getFreshSideObject() { + return { + top: 0, + right: 0, + bottom: 0, + left: 0 + }; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js + +function mergePaddingObject(paddingObject) { + return Object.assign({}, getFreshSideObject(), paddingObject); +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/expandToHashMap.js +function expandToHashMap(value, keys) { + return keys.reduce(function (hashMap, key) { + hashMap[key] = value; + return hashMap; + }, {}); +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/detectOverflow.js + + + + + + + + + // eslint-disable-next-line import/no-unused-modules + +function detectOverflow(state, options) { + if (options === void 0) { + options = {}; + } + + var _options = options, + _options$placement = _options.placement, + placement = _options$placement === void 0 ? state.placement : _options$placement, + _options$boundary = _options.boundary, + boundary = _options$boundary === void 0 ? enums_clippingParents : _options$boundary, + _options$rootBoundary = _options.rootBoundary, + rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, + _options$elementConte = _options.elementContext, + elementContext = _options$elementConte === void 0 ? enums_popper : _options$elementConte, + _options$altBoundary = _options.altBoundary, + altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, + _options$padding = _options.padding, + padding = _options$padding === void 0 ? 0 : _options$padding; + var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); + var altContext = elementContext === enums_popper ? enums_reference : enums_popper; + var popperRect = state.rects.popper; + var element = state.elements[altBoundary ? altContext : elementContext]; + var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary); + var referenceClientRect = getBoundingClientRect(state.elements.reference); + var popperOffsets = computeOffsets({ + reference: referenceClientRect, + element: popperRect, + strategy: 'absolute', + placement: placement + }); + var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets)); + var elementClientRect = elementContext === enums_popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect + // 0 or negative = within the clipping rect + + var overflowOffsets = { + top: clippingClientRect.top - elementClientRect.top + paddingObject.top, + bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, + left: clippingClientRect.left - elementClientRect.left + paddingObject.left, + right: elementClientRect.right - clippingClientRect.right + paddingObject.right + }; + var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element + + if (elementContext === enums_popper && offsetData) { + var offset = offsetData[placement]; + Object.keys(overflowOffsets).forEach(function (key) { + var multiply = [enums_right, enums_bottom].indexOf(key) >= 0 ? 1 : -1; + var axis = [enums_top, enums_bottom].indexOf(key) >= 0 ? 'y' : 'x'; + overflowOffsets[key] += offset[axis] * multiply; + }); + } + + return overflowOffsets; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js + + + + +function computeAutoPlacement(state, options) { + if (options === void 0) { + options = {}; + } + + var _options = options, + placement = _options.placement, + boundary = _options.boundary, + rootBoundary = _options.rootBoundary, + padding = _options.padding, + flipVariations = _options.flipVariations, + _options$allowedAutoP = _options.allowedAutoPlacements, + allowedAutoPlacements = _options$allowedAutoP === void 0 ? enums_placements : _options$allowedAutoP; + var variation = getVariation(placement); + var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { + return getVariation(placement) === variation; + }) : basePlacements; + var allowedPlacements = placements.filter(function (placement) { + return allowedAutoPlacements.indexOf(placement) >= 0; + }); + + if (allowedPlacements.length === 0) { + allowedPlacements = placements; + + if (false) {} + } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions... + + + var overflows = allowedPlacements.reduce(function (acc, placement) { + acc[placement] = detectOverflow(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding + })[getBasePlacement(placement)]; + return acc; + }, {}); + return Object.keys(overflows).sort(function (a, b) { + return overflows[a] - overflows[b]; + }); +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/flip.js + + + + + + + // eslint-disable-next-line import/no-unused-modules + +function getExpandedFallbackPlacements(placement) { + if (getBasePlacement(placement) === enums_auto) { + return []; + } + + var oppositePlacement = getOppositePlacement(placement); + return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; +} + +function flip_flip(_ref) { + var state = _ref.state, + options = _ref.options, + name = _ref.name; + + if (state.modifiersData[name]._skip) { + return; + } + + var _options$mainAxis = options.mainAxis, + checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, + _options$altAxis = options.altAxis, + checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, + specifiedFallbackPlacements = options.fallbackPlacements, + padding = options.padding, + boundary = options.boundary, + rootBoundary = options.rootBoundary, + altBoundary = options.altBoundary, + _options$flipVariatio = options.flipVariations, + flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, + allowedAutoPlacements = options.allowedAutoPlacements; + var preferredPlacement = state.options.placement; + var basePlacement = getBasePlacement(preferredPlacement); + var isBasePlacement = basePlacement === preferredPlacement; + var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); + var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) { + return acc.concat(getBasePlacement(placement) === enums_auto ? computeAutoPlacement(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding, + flipVariations: flipVariations, + allowedAutoPlacements: allowedAutoPlacements + }) : placement); + }, []); + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var checksMap = new Map(); + var makeFallbackChecks = true; + var firstFittingPlacement = placements[0]; + + for (var i = 0; i < placements.length; i++) { + var placement = placements[i]; + + var _basePlacement = getBasePlacement(placement); + + var isStartVariation = getVariation(placement) === enums_start; + var isVertical = [enums_top, enums_bottom].indexOf(_basePlacement) >= 0; + var len = isVertical ? 'width' : 'height'; + var overflow = detectOverflow(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + altBoundary: altBoundary, + padding: padding + }); + var mainVariationSide = isVertical ? isStartVariation ? enums_right : enums_left : isStartVariation ? enums_bottom : enums_top; + + if (referenceRect[len] > popperRect[len]) { + mainVariationSide = getOppositePlacement(mainVariationSide); + } + + var altVariationSide = getOppositePlacement(mainVariationSide); + var checks = []; + + if (checkMainAxis) { + checks.push(overflow[_basePlacement] <= 0); + } + + if (checkAltAxis) { + checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); + } + + if (checks.every(function (check) { + return check; + })) { + firstFittingPlacement = placement; + makeFallbackChecks = false; + break; + } + + checksMap.set(placement, checks); + } + + if (makeFallbackChecks) { + // `2` may be desired in some cases – research later + var numberOfChecks = flipVariations ? 3 : 1; + + var _loop = function _loop(_i) { + var fittingPlacement = placements.find(function (placement) { + var checks = checksMap.get(placement); + + if (checks) { + return checks.slice(0, _i).every(function (check) { + return check; + }); + } + }); + + if (fittingPlacement) { + firstFittingPlacement = fittingPlacement; + return "break"; + } + }; + + for (var _i = numberOfChecks; _i > 0; _i--) { + var _ret = _loop(_i); + + if (_ret === "break") break; + } + } + + if (state.placement !== firstFittingPlacement) { + state.modifiersData[name]._skip = true; + state.placement = firstFittingPlacement; + state.reset = true; + } +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ var modifiers_flip = ({ + name: 'flip', + enabled: true, + phase: 'main', + fn: flip_flip, + requiresIfExists: ['offset'], + data: { + _skip: false + } +}); +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getAltAxis.js +function getAltAxis(axis) { + return axis === 'x' ? 'y' : 'x'; +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/within.js + +function within(min, value, max) { + return math_max(min, math_min(value, max)); +} +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js + + + + + + + + + + + + +function preventOverflow_preventOverflow(_ref) { + var state = _ref.state, + options = _ref.options, + name = _ref.name; + var _options$mainAxis = options.mainAxis, + checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, + _options$altAxis = options.altAxis, + checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, + boundary = options.boundary, + rootBoundary = options.rootBoundary, + altBoundary = options.altBoundary, + padding = options.padding, + _options$tether = options.tether, + tether = _options$tether === void 0 ? true : _options$tether, + _options$tetherOffset = options.tetherOffset, + tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; + var overflow = detectOverflow(state, { + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding, + altBoundary: altBoundary + }); + var basePlacement = getBasePlacement(state.placement); + var variation = getVariation(state.placement); + var isBasePlacement = !variation; + var mainAxis = getMainAxisFromPlacement(basePlacement); + var altAxis = getAltAxis(mainAxis); + var popperOffsets = state.modifiersData.popperOffsets; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, { + placement: state.placement + })) : tetherOffset; + var data = { + x: 0, + y: 0 + }; + + if (!popperOffsets) { + return; + } + + if (checkMainAxis || checkAltAxis) { + var mainSide = mainAxis === 'y' ? enums_top : enums_left; + var altSide = mainAxis === 'y' ? enums_bottom : enums_right; + var len = mainAxis === 'y' ? 'height' : 'width'; + var offset = popperOffsets[mainAxis]; + var min = popperOffsets[mainAxis] + overflow[mainSide]; + var max = popperOffsets[mainAxis] - overflow[altSide]; + var additive = tether ? -popperRect[len] / 2 : 0; + var minLen = variation === enums_start ? referenceRect[len] : popperRect[len]; + var maxLen = variation === enums_start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go + // outside the reference bounds + + var arrowElement = state.elements.arrow; + var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { + width: 0, + height: 0 + }; + var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject(); + var arrowPaddingMin = arrowPaddingObject[mainSide]; + var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want + // to include its full size in the calculation. If the reference is small + // and near the edge of a boundary, the popper can overflow even if the + // reference is not overflowing as well (e.g. virtual elements with no + // width or height) + + var arrowLen = within(0, referenceRect[len], arrowRect[len]); + var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue; + var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue; + var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); + var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; + var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0; + var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset; + var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue; + + if (checkMainAxis) { + var preventedOffset = within(tether ? math_min(min, tetherMin) : min, offset, tether ? math_max(max, tetherMax) : max); + popperOffsets[mainAxis] = preventedOffset; + data[mainAxis] = preventedOffset - offset; + } + + if (checkAltAxis) { + var _mainSide = mainAxis === 'x' ? enums_top : enums_left; + + var _altSide = mainAxis === 'x' ? enums_bottom : enums_right; + + var _offset = popperOffsets[altAxis]; + + var _min = _offset + overflow[_mainSide]; + + var _max = _offset - overflow[_altSide]; + + var _preventedOffset = within(tether ? math_min(_min, tetherMin) : _min, _offset, tether ? math_max(_max, tetherMax) : _max); + + popperOffsets[altAxis] = _preventedOffset; + data[altAxis] = _preventedOffset - _offset; + } + } + + state.modifiersData[name] = data; +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ var modifiers_preventOverflow = ({ + name: 'preventOverflow', + enabled: true, + phase: 'main', + fn: preventOverflow_preventOverflow, + requiresIfExists: ['offset'] +}); +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/arrow.js + + + + + + + + + + // eslint-disable-next-line import/no-unused-modules + +var arrow_toPaddingObject = function toPaddingObject(padding, state) { + padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, { + placement: state.placement + })) : padding; + return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); +}; + +function arrow(_ref) { + var _state$modifiersData$; + + var state = _ref.state, + name = _ref.name, + options = _ref.options; + var arrowElement = state.elements.arrow; + var popperOffsets = state.modifiersData.popperOffsets; + var basePlacement = getBasePlacement(state.placement); + var axis = getMainAxisFromPlacement(basePlacement); + var isVertical = [enums_left, enums_right].indexOf(basePlacement) >= 0; + var len = isVertical ? 'height' : 'width'; + + if (!arrowElement || !popperOffsets) { + return; + } + + var paddingObject = arrow_toPaddingObject(options.padding, state); + var arrowRect = getLayoutRect(arrowElement); + var minProp = axis === 'y' ? enums_top : enums_left; + var maxProp = axis === 'y' ? enums_bottom : enums_right; + var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len]; + var startDiff = popperOffsets[axis] - state.rects.reference[axis]; + var arrowOffsetParent = getOffsetParent(arrowElement); + var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; + var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is + // outside of the popper bounds + + var min = paddingObject[minProp]; + var max = clientSize - arrowRect[len] - paddingObject[maxProp]; + var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; + var offset = within(min, center, max); // Prevents breaking syntax highlighting... + + var axisProp = axis; + state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$); +} + +function arrow_effect(_ref2) { + var state = _ref2.state, + options = _ref2.options; + var _options$element = options.element, + arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element; + + if (arrowElement == null) { + return; + } // CSS selector + + + if (typeof arrowElement === 'string') { + arrowElement = state.elements.popper.querySelector(arrowElement); + + if (!arrowElement) { + return; + } + } + + if (false) {} + + if (!contains(state.elements.popper, arrowElement)) { + if (false) {} + + return; + } + + state.elements.arrow = arrowElement; +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ var modifiers_arrow = ({ + name: 'arrow', + enabled: true, + phase: 'main', + fn: arrow, + effect: arrow_effect, + requires: ['popperOffsets'], + requiresIfExists: ['preventOverflow'] +}); +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/hide.js + + + +function getSideOffsets(overflow, rect, preventedOffsets) { + if (preventedOffsets === void 0) { + preventedOffsets = { + x: 0, + y: 0 + }; + } + + return { + top: overflow.top - rect.height - preventedOffsets.y, + right: overflow.right - rect.width + preventedOffsets.x, + bottom: overflow.bottom - rect.height + preventedOffsets.y, + left: overflow.left - rect.width - preventedOffsets.x + }; +} + +function isAnySideFullyClipped(overflow) { + return [enums_top, enums_right, enums_bottom, enums_left].some(function (side) { + return overflow[side] >= 0; + }); +} + +function hide_hide(_ref) { + var state = _ref.state, + name = _ref.name; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var preventedOffsets = state.modifiersData.preventOverflow; + var referenceOverflow = detectOverflow(state, { + elementContext: 'reference' + }); + var popperAltOverflow = detectOverflow(state, { + altBoundary: true + }); + var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); + var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); + var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); + var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); + state.modifiersData[name] = { + referenceClippingOffsets: referenceClippingOffsets, + popperEscapeOffsets: popperEscapeOffsets, + isReferenceHidden: isReferenceHidden, + hasPopperEscaped: hasPopperEscaped + }; + state.attributes.popper = Object.assign({}, state.attributes.popper, { + 'data-popper-reference-hidden': isReferenceHidden, + 'data-popper-escaped': hasPopperEscaped + }); +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ var modifiers_hide = ({ + name: 'hide', + enabled: true, + phase: 'main', + requiresIfExists: ['preventOverflow'], + fn: hide_hide +}); +// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/popper.js + + + + + + + + + + +var popper_defaultModifiers = [eventListeners, modifiers_popperOffsets, modifiers_computeStyles, modifiers_applyStyles, modifiers_offset, modifiers_flip, modifiers_preventOverflow, modifiers_arrow, modifiers_hide]; +var popper_createPopper = /*#__PURE__*/popperGenerator({ + defaultModifiers: popper_defaultModifiers +}); // eslint-disable-next-line import/no-unused-modules + + // eslint-disable-next-line import/no-unused-modules + + // eslint-disable-next-line import/no-unused-modules + + +// CONCATENATED MODULE: ./node_modules/reakit/es/Disclosure/DisclosureState.js + + + + + + + + +function useLastValue(value) { + var lastValue = Object(external_React_["useRef"])(null); + Object(useIsomorphicEffect["a" /* useIsomorphicEffect */])(function () { + lastValue.current = value; + }, [value]); + return lastValue; +} + +function useDisclosureState(initialState) { + if (initialState === void 0) { + initialState = {}; + } + + var _useSealedState = useSealedState(initialState), + _useSealedState$visib = _useSealedState.visible, + initialVisible = _useSealedState$visib === void 0 ? false : _useSealedState$visib, + _useSealedState$anima = _useSealedState.animated, + initialAnimated = _useSealedState$anima === void 0 ? false : _useSealedState$anima, + sealed = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_useSealedState, ["visible", "animated"]); + + var id = unstable_useIdState(sealed); + + var _React$useState = Object(external_React_["useState"])(initialVisible), + visible = _React$useState[0], + setVisible = _React$useState[1]; + + var _React$useState2 = Object(external_React_["useState"])(initialAnimated), + animated = _React$useState2[0], + setAnimated = _React$useState2[1]; + + var _React$useState3 = Object(external_React_["useState"])(false), + animating = _React$useState3[0], + setAnimating = _React$useState3[1]; + + var lastVisible = useLastValue(visible); + var visibleHasChanged = lastVisible.current != null && lastVisible.current !== visible; + + if (animated && !animating && visibleHasChanged) { + // Sets animating to true when when visible is updated + setAnimating(true); + } + + Object(external_React_["useEffect"])(function () { + if (typeof animated === "number" && animating) { + var timeout = setTimeout(function () { + return setAnimating(false); + }, animated); + return function () { + clearTimeout(timeout); + }; + } + + if (animated && animating && "production" === "development") { + var _timeout = setTimeout(function () { + false ? undefined : void 0; + }, 8000); + + return function () { + clearTimeout(_timeout); + }; + } + + return function () {}; + }, [animated, animating]); + var show = Object(external_React_["useCallback"])(function () { + return setVisible(true); + }, []); + var hide = Object(external_React_["useCallback"])(function () { + return setVisible(false); + }, []); + var toggle = Object(external_React_["useCallback"])(function () { + return setVisible(function (v) { + return !v; + }); + }, []); + var stopAnimation = Object(external_React_["useCallback"])(function () { + return setAnimating(false); + }, []); + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])(Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({}, id), {}, { + visible: visible, + animated: animated, + animating: animating, + show: show, + hide: hide, + toggle: toggle, + setVisible: setVisible, + setAnimated: setAnimated, + stopAnimation: stopAnimation + }); +} + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/Dialog/DialogState.js + + + + + + + + + +function useDialogState(initialState) { + if (initialState === void 0) { + initialState = {}; + } + + var _useSealedState = useSealedState(initialState), + _useSealedState$modal = _useSealedState.modal, + initialModal = _useSealedState$modal === void 0 ? true : _useSealedState$modal, + sealed = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_useSealedState, ["modal"]); + + var disclosure = useDisclosureState(sealed); + + var _React$useState = Object(external_React_["useState"])(initialModal), + modal = _React$useState[0], + setModal = _React$useState[1]; + + var disclosureRef = Object(external_React_["useRef"])(null); + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])(Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({}, disclosure), {}, { + modal: modal, + setModal: setModal, + unstable_disclosureRef: disclosureRef + }); +} + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/Popover/PopoverState.js + + + + + + + + + + + + + +var isSafari = Object(dom["a" /* isUA */])("Mac") && !Object(dom["a" /* isUA */])("Chrome") && Object(dom["a" /* isUA */])("Safari"); + +function PopoverState_applyStyles(styles) { + return function (prevStyles) { + if (styles && !Object(shallowEqual["a" /* shallowEqual */])(prevStyles, styles)) { + return styles; + } + + return prevStyles; + }; +} + +function usePopoverState(initialState) { + if (initialState === void 0) { + initialState = {}; + } + + var _useSealedState = useSealedState(initialState), + _useSealedState$gutte = _useSealedState.gutter, + gutter = _useSealedState$gutte === void 0 ? 12 : _useSealedState$gutte, + _useSealedState$place = _useSealedState.placement, + sealedPlacement = _useSealedState$place === void 0 ? "bottom" : _useSealedState$place, + _useSealedState$unsta = _useSealedState.unstable_flip, + flip = _useSealedState$unsta === void 0 ? true : _useSealedState$unsta, + sealedOffset = _useSealedState.unstable_offset, + _useSealedState$unsta2 = _useSealedState.unstable_preventOverflow, + preventOverflow = _useSealedState$unsta2 === void 0 ? true : _useSealedState$unsta2, + _useSealedState$unsta3 = _useSealedState.unstable_fixed, + fixed = _useSealedState$unsta3 === void 0 ? false : _useSealedState$unsta3, + _useSealedState$modal = _useSealedState.modal, + modal = _useSealedState$modal === void 0 ? false : _useSealedState$modal, + sealed = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_useSealedState, ["gutter", "placement", "unstable_flip", "unstable_offset", "unstable_preventOverflow", "unstable_fixed", "modal"]); + + var popper = Object(external_React_["useRef"])(null); + var referenceRef = Object(external_React_["useRef"])(null); + var popoverRef = Object(external_React_["useRef"])(null); + var arrowRef = Object(external_React_["useRef"])(null); + + var _React$useState = Object(external_React_["useState"])(sealedPlacement), + originalPlacement = _React$useState[0], + place = _React$useState[1]; + + var _React$useState2 = Object(external_React_["useState"])(sealedPlacement), + placement = _React$useState2[0], + setPlacement = _React$useState2[1]; + + var _React$useState3 = Object(external_React_["useState"])(sealedOffset || [0, gutter]), + offset = _React$useState3[0]; + + var _React$useState4 = Object(external_React_["useState"])({ + position: "fixed", + left: "100%", + top: "100%" + }), + popoverStyles = _React$useState4[0], + setPopoverStyles = _React$useState4[1]; + + var _React$useState5 = Object(external_React_["useState"])({}), + arrowStyles = _React$useState5[0], + setArrowStyles = _React$useState5[1]; + + var dialog = useDialogState(Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + modal: modal + }, sealed)); + var update = Object(external_React_["useCallback"])(function () { + if (popper.current) { + popper.current.forceUpdate(); + return true; + } + + return false; + }, []); + var updateState = Object(external_React_["useCallback"])(function (state) { + if (state.placement) { + setPlacement(state.placement); + } + + if (state.styles) { + setPopoverStyles(PopoverState_applyStyles(state.styles.popper)); + + if (arrowRef.current) { + setArrowStyles(PopoverState_applyStyles(state.styles.arrow)); + } + } + }, []); + Object(useIsomorphicEffect["a" /* useIsomorphicEffect */])(function () { + if (referenceRef.current && popoverRef.current) { + popper.current = popper_createPopper(referenceRef.current, popoverRef.current, { + // https://popper.js.org/docs/v2/constructors/#options + placement: originalPlacement, + strategy: fixed ? "fixed" : "absolute", + // Safari needs styles to be applied in the first render, otherwise + // hovering over the popover when it gets visible for the first time + // will change its dimensions unexpectedly. + onFirstUpdate: isSafari ? updateState : undefined, + modifiers: [{ + // https://popper.js.org/docs/v2/modifiers/event-listeners/ + name: "eventListeners", + enabled: dialog.visible + }, { + // https://popper.js.org/docs/v2/modifiers/apply-styles/ + name: "applyStyles", + enabled: false + }, { + // https://popper.js.org/docs/v2/modifiers/flip/ + name: "flip", + enabled: flip, + options: { + padding: 8 + } + }, { + // https://popper.js.org/docs/v2/modifiers/offset/ + name: "offset", + options: { + offset: offset + } + }, { + // https://popper.js.org/docs/v2/modifiers/prevent-overflow/ + name: "preventOverflow", + enabled: preventOverflow, + options: { + tetherOffset: function tetherOffset() { + var _arrowRef$current; + + return ((_arrowRef$current = arrowRef.current) === null || _arrowRef$current === void 0 ? void 0 : _arrowRef$current.clientWidth) || 0; + } + } + }, { + // https://popper.js.org/docs/v2/modifiers/arrow/ + name: "arrow", + enabled: !!arrowRef.current, + options: { + element: arrowRef.current + } + }, { + // https://popper.js.org/docs/v2/modifiers/#custom-modifiers + name: "updateState", + phase: "write", + requires: ["computeStyles"], + enabled: dialog.visible && "production" !== "test", + fn: function fn(_ref) { + var state = _ref.state; + return updateState(state); + } + }] + }); + } + + return function () { + if (popper.current) { + popper.current.destroy(); + popper.current = null; + } + }; + }, [originalPlacement, fixed, dialog.visible, flip, offset, preventOverflow]); // Ensure that the popover will be correctly positioned with an additional + // update. + + Object(external_React_["useEffect"])(function () { + if (!dialog.visible) return undefined; + var id = window.requestAnimationFrame(function () { + var _popper$current; + + (_popper$current = popper.current) === null || _popper$current === void 0 ? void 0 : _popper$current.forceUpdate(); + }); + return function () { + window.cancelAnimationFrame(id); + }; + }, [dialog.visible]); + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])(Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({}, dialog), {}, { + unstable_referenceRef: referenceRef, + unstable_popoverRef: popoverRef, + unstable_arrowRef: arrowRef, + unstable_popoverStyles: popoverStyles, + unstable_arrowStyles: arrowStyles, + unstable_update: update, + unstable_originalPlacement: originalPlacement, + placement: placement, + place: place + }); +} + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/__globalState-300469f0.js +var globalState = { + currentTooltipId: null, + listeners: new Set(), + subscribe: function subscribe(listener) { + var _this = this; + + this.listeners.add(listener); + return function () { + _this.listeners.delete(listener); + }; + }, + show: function show(id) { + this.currentTooltipId = id; + this.listeners.forEach(function (listener) { + return listener(id); + }); + }, + hide: function hide(id) { + if (this.currentTooltipId === id) { + this.currentTooltipId = null; + this.listeners.forEach(function (listener) { + return listener(null); + }); + } + } +}; + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/Tooltip/TooltipState.js + + + + + + + + + + + + + + + +function useTooltipState(initialState) { + if (initialState === void 0) { + initialState = {}; + } + + var _useSealedState = useSealedState(initialState), + _useSealedState$place = _useSealedState.placement, + placement = _useSealedState$place === void 0 ? "top" : _useSealedState$place, + _useSealedState$unsta = _useSealedState.unstable_timeout, + initialTimeout = _useSealedState$unsta === void 0 ? 0 : _useSealedState$unsta, + sealed = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_useSealedState, ["placement", "unstable_timeout"]); + + var _React$useState = Object(external_React_["useState"])(initialTimeout), + timeout = _React$useState[0], + setTimeout = _React$useState[1]; + + var showTimeout = Object(external_React_["useRef"])(null); + var hideTimeout = Object(external_React_["useRef"])(null); + + var _usePopoverState = usePopoverState(Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])(Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({}, sealed), {}, { + placement: placement + })), + modal = _usePopoverState.modal, + setModal = _usePopoverState.setModal, + popover = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_usePopoverState, ["modal", "setModal"]); + + var clearTimeouts = Object(external_React_["useCallback"])(function () { + if (showTimeout.current !== null) { + window.clearTimeout(showTimeout.current); + } + + if (hideTimeout.current !== null) { + window.clearTimeout(hideTimeout.current); + } + }, []); + var hide = Object(external_React_["useCallback"])(function () { + clearTimeouts(); + popover.hide(); // Let's give some time so people can move from a reference to another + // and still show tooltips immediately + + hideTimeout.current = window.setTimeout(function () { + globalState.hide(popover.baseId); + }, timeout); + }, [clearTimeouts, popover.hide, timeout, popover.baseId]); + var show = Object(external_React_["useCallback"])(function () { + clearTimeouts(); + + if (!timeout || globalState.currentTooltipId) { + // If there's no timeout or a tooltip visible already, we can show this + // immediately + globalState.show(popover.baseId); + popover.show(); + } else { + // There may be a reference with focus whose tooltip is still not visible + // In this case, we want to update it before it gets shown. + globalState.show(null); // Otherwise, wait a little bit to show the tooltip + + showTimeout.current = window.setTimeout(function () { + globalState.show(popover.baseId); + popover.show(); + }, timeout); + } + }, [clearTimeouts, timeout, popover.show, popover.baseId]); + Object(external_React_["useEffect"])(function () { + return globalState.subscribe(function (id) { + if (id !== popover.baseId) { + clearTimeouts(); + + if (popover.visible) { + // Make sure there will be only one tooltip visible + popover.hide(); + } + } + }); + }, [popover.baseId, clearTimeouts, popover.visible, popover.hide]); + Object(external_React_["useEffect"])(function () { + return function () { + clearTimeouts(); + globalState.hide(popover.baseId); + }; + }, [clearTimeouts, popover.baseId]); + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])(Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({}, popover), {}, { + hide: hide, + show: show, + unstable_timeout: timeout, + unstable_setTimeout: setTimeout + }); +} + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/__keys-d101cb3b.js +// Automatically generated +var TOOLTIP_STATE_KEYS = ["baseId", "unstable_idCountRef", "visible", "animated", "animating", "setBaseId", "show", "hide", "toggle", "setVisible", "setAnimated", "stopAnimation", "unstable_disclosureRef", "unstable_referenceRef", "unstable_popoverRef", "unstable_arrowRef", "unstable_popoverStyles", "unstable_arrowStyles", "unstable_originalPlacement", "unstable_update", "placement", "place", "unstable_timeout", "unstable_setTimeout"]; +var TOOLTIP_KEYS = [].concat(TOOLTIP_STATE_KEYS, ["unstable_portal"]); +var TOOLTIP_ARROW_KEYS = TOOLTIP_STATE_KEYS; +var TOOLTIP_REFERENCE_KEYS = TOOLTIP_ARROW_KEYS; + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/Tooltip/TooltipReference.js + + + + + + + + + + +var useTooltipReference = Object(createHook["a" /* createHook */])({ + name: "TooltipReference", + compose: Role["a" /* useRole */], + keys: TOOLTIP_REFERENCE_KEYS, + useProps: function useProps(options, _ref) { + var htmlRef = _ref.ref, + htmlOnFocus = _ref.onFocus, + htmlOnBlur = _ref.onBlur, + htmlOnMouseEnter = _ref.onMouseEnter, + htmlOnMouseLeave = _ref.onMouseLeave, + htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref, ["ref", "onFocus", "onBlur", "onMouseEnter", "onMouseLeave"]); + + var onFocusRef = Object(useLiveRef["a" /* useLiveRef */])(htmlOnFocus); + var onBlurRef = Object(useLiveRef["a" /* useLiveRef */])(htmlOnBlur); + var onMouseEnterRef = Object(useLiveRef["a" /* useLiveRef */])(htmlOnMouseEnter); + var onMouseLeaveRef = Object(useLiveRef["a" /* useLiveRef */])(htmlOnMouseLeave); + var onFocus = Object(external_React_["useCallback"])(function (event) { + var _onFocusRef$current, _options$show; + + (_onFocusRef$current = onFocusRef.current) === null || _onFocusRef$current === void 0 ? void 0 : _onFocusRef$current.call(onFocusRef, event); + if (event.defaultPrevented) return; + (_options$show = options.show) === null || _options$show === void 0 ? void 0 : _options$show.call(options); + }, [options.show]); + var onBlur = Object(external_React_["useCallback"])(function (event) { + var _onBlurRef$current, _options$hide; + + (_onBlurRef$current = onBlurRef.current) === null || _onBlurRef$current === void 0 ? void 0 : _onBlurRef$current.call(onBlurRef, event); + if (event.defaultPrevented) return; + (_options$hide = options.hide) === null || _options$hide === void 0 ? void 0 : _options$hide.call(options); + }, [options.hide]); + var onMouseEnter = Object(external_React_["useCallback"])(function (event) { + var _onMouseEnterRef$curr, _options$show2; + + (_onMouseEnterRef$curr = onMouseEnterRef.current) === null || _onMouseEnterRef$curr === void 0 ? void 0 : _onMouseEnterRef$curr.call(onMouseEnterRef, event); + if (event.defaultPrevented) return; + (_options$show2 = options.show) === null || _options$show2 === void 0 ? void 0 : _options$show2.call(options); + }, [options.show]); + var onMouseLeave = Object(external_React_["useCallback"])(function (event) { + var _onMouseLeaveRef$curr, _options$hide2; + + (_onMouseLeaveRef$curr = onMouseLeaveRef.current) === null || _onMouseLeaveRef$curr === void 0 ? void 0 : _onMouseLeaveRef$curr.call(onMouseLeaveRef, event); + if (event.defaultPrevented) return; + (_options$hide2 = options.hide) === null || _options$hide2 === void 0 ? void 0 : _options$hide2.call(options); + }, [options.hide]); + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + ref: Object(useForkRef["a" /* useForkRef */])(options.unstable_referenceRef, htmlRef), + tabIndex: 0, + onFocus: onFocus, + onBlur: onBlur, + onMouseEnter: onMouseEnter, + onMouseLeave: onMouseLeave, + "aria-describedby": options.baseId + }, htmlProps); + } +}); +var TooltipReference = Object(createComponent["a" /* createComponent */])({ + as: "div", + useHook: useTooltipReference +}); + + + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/ui/tooltip/context.js +/** + * WordPress dependencies + */ + +/** + * @type {import('react').Context<{ tooltip?: import('reakit').TooltipState }>} + */ + +const TooltipContext = Object(external_wp_element_["createContext"])({}); +const useTooltipContext = () => Object(external_wp_element_["useContext"])(TooltipContext); + +// CONCATENATED MODULE: ./node_modules/reakit/es/__keys-e6a5cfbe.js +// Automatically generated +var DISCLOSURE_STATE_KEYS = ["baseId", "unstable_idCountRef", "visible", "animated", "animating", "setBaseId", "show", "hide", "toggle", "setVisible", "setAnimated", "stopAnimation"]; +var DISCLOSURE_KEYS = DISCLOSURE_STATE_KEYS; +var DISCLOSURE_CONTENT_KEYS = DISCLOSURE_KEYS; + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/Disclosure/DisclosureContent.js + + + + + + + + + + +var useDisclosureContent = Object(createHook["a" /* createHook */])({ + name: "DisclosureContent", + compose: Role["a" /* useRole */], + keys: DISCLOSURE_CONTENT_KEYS, + useProps: function useProps(options, _ref) { + var htmlOnTransitionEnd = _ref.onTransitionEnd, + htmlOnAnimationEnd = _ref.onAnimationEnd, + htmlStyle = _ref.style, + htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref, ["onTransitionEnd", "onAnimationEnd", "style"]); + + var animating = options.animated && options.animating; + + var _React$useState = Object(external_React_["useState"])(null), + transition = _React$useState[0], + setTransition = _React$useState[1]; + + var hidden = !options.visible && !animating; + var style = hidden ? Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + display: "none" + }, htmlStyle) : htmlStyle; + var onTransitionEndRef = Object(useLiveRef["a" /* useLiveRef */])(htmlOnTransitionEnd); + var onAnimationEndRef = Object(useLiveRef["a" /* useLiveRef */])(htmlOnAnimationEnd); + var raf = Object(external_React_["useRef"])(0); + Object(external_React_["useEffect"])(function () { + if (!options.animated) return undefined; // Double RAF is needed so the browser has enough time to paint the + // default styles before processing the `data-enter` attribute. Otherwise + // it wouldn't be considered a transition. + // See https://github.com/reakit/reakit/issues/643 + + raf.current = window.requestAnimationFrame(function () { + raf.current = window.requestAnimationFrame(function () { + if (options.visible) { + setTransition("enter"); + } else if (animating) { + setTransition("leave"); + } else { + setTransition(null); + } + }); + }); + return function () { + return window.cancelAnimationFrame(raf.current); + }; + }, [options.animated, options.visible, animating]); + var onEnd = Object(external_React_["useCallback"])(function (event) { + if (!Object(isSelfTarget["a" /* isSelfTarget */])(event)) return; + if (!animating) return; // Ignores number animated + + if (options.animated === true) { + var _options$stopAnimatio; + + (_options$stopAnimatio = options.stopAnimation) === null || _options$stopAnimatio === void 0 ? void 0 : _options$stopAnimatio.call(options); + } + }, [options.animated, animating, options.stopAnimation]); + var onTransitionEnd = Object(external_React_["useCallback"])(function (event) { + var _onTransitionEndRef$c; + + (_onTransitionEndRef$c = onTransitionEndRef.current) === null || _onTransitionEndRef$c === void 0 ? void 0 : _onTransitionEndRef$c.call(onTransitionEndRef, event); + onEnd(event); + }, [onEnd]); + var onAnimationEnd = Object(external_React_["useCallback"])(function (event) { + var _onAnimationEndRef$cu; + + (_onAnimationEndRef$cu = onAnimationEndRef.current) === null || _onAnimationEndRef$cu === void 0 ? void 0 : _onAnimationEndRef$cu.call(onAnimationEndRef, event); + onEnd(event); + }, [onEnd]); + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + id: options.baseId, + "data-enter": transition === "enter" ? "" : undefined, + "data-leave": transition === "leave" ? "" : undefined, + onTransitionEnd: onTransitionEnd, + onAnimationEnd: onAnimationEnd, + hidden: hidden, + style: style + }, htmlProps); + } +}); +var DisclosureContent = Object(createComponent["a" /* createComponent */])({ + as: "div", + useHook: useDisclosureContent +}); + + + +// EXTERNAL MODULE: external "ReactDOM" +var external_ReactDOM_ = __webpack_require__("faye"); + +// CONCATENATED MODULE: ./node_modules/reakit/es/Portal/Portal.js + + + + + +function getBodyElement() { + return canUseDOM["a" /* canUseDOM */] ? document.body : null; +} + +var PortalContext = /*#__PURE__*/Object(external_React_["createContext"])(getBodyElement()); +function Portal(_ref) { + var children = _ref.children; + // if it's a nested portal, context is the parent portal + // otherwise it's document.body + // https://github.com/reakit/reakit/issues/513 + var context = Object(external_React_["useContext"])(PortalContext) || getBodyElement(); + + var _React$useState = Object(external_React_["useState"])(function () { + if (canUseDOM["a" /* canUseDOM */]) { + var element = document.createElement("div"); + element.className = Portal.__className; + return element; + } // ssr + + + return null; + }), + hostNode = _React$useState[0]; + + Object(useIsomorphicEffect["a" /* useIsomorphicEffect */])(function () { + if (!hostNode || !context) return undefined; + context.appendChild(hostNode); + return function () { + context.removeChild(hostNode); + }; + }, [hostNode, context]); + + if (hostNode) { + return /*#__PURE__*/Object(external_ReactDOM_["createPortal"])( /*#__PURE__*/Object(external_React_["createElement"])(PortalContext.Provider, { + value: hostNode + }, children), hostNode); + } // ssr + + + return null; +} +Portal.__className = "__reakit-portal"; +Portal.__selector = "." + Portal.__className; + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/Tooltip/Tooltip.js + + + + + + + + + + + + + + + + + + + +function globallyHideTooltipOnEscape(event) { + if (event.defaultPrevented) return; + + if (event.key === "Escape") { + globalState.show(null); + } +} + +var useTooltip = Object(createHook["a" /* createHook */])({ + name: "Tooltip", + compose: useDisclosureContent, + keys: TOOLTIP_KEYS, + useOptions: function useOptions(_ref) { + var _ref$unstable_portal = _ref.unstable_portal, + unstable_portal = _ref$unstable_portal === void 0 ? true : _ref$unstable_portal, + options = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref, ["unstable_portal"]); + + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + unstable_portal: unstable_portal + }, options); + }, + useProps: function useProps(options, _ref2) { + var htmlRef = _ref2.ref, + htmlStyle = _ref2.style, + htmlWrapElement = _ref2.wrapElement, + htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref2, ["ref", "style", "wrapElement"]); + + Object(external_React_["useEffect"])(function () { + var _options$unstable_pop; + + var document = Object(getDocument["a" /* getDocument */])((_options$unstable_pop = options.unstable_popoverRef) === null || _options$unstable_pop === void 0 ? void 0 : _options$unstable_pop.current); + document.addEventListener("keydown", globallyHideTooltipOnEscape); + }, []); + var wrapElement = Object(external_React_["useCallback"])(function (element) { + if (options.unstable_portal) { + element = /*#__PURE__*/Object(external_React_["createElement"])(Portal, null, element); + } + + if (htmlWrapElement) { + return htmlWrapElement(element); + } + + return element; + }, [options.unstable_portal, htmlWrapElement]); + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + ref: Object(useForkRef["a" /* useForkRef */])(options.unstable_popoverRef, htmlRef), + role: "tooltip", + style: Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])(Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({}, options.unstable_popoverStyles), {}, { + pointerEvents: "none" + }, htmlStyle), + wrapElement: wrapElement + }, htmlProps); + } +}); +var Tooltip_Tooltip = Object(createComponent["a" /* createComponent */])({ + as: "div", + memo: true, + useHook: useTooltip +}); + + + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/ui/shortcut/component.js + + + +/** + * External dependencies + */ +// eslint-disable-next-line no-restricted-imports + +/** + * Internal dependencies + */ + + + +function Shortcut(props, forwardedRef) { + const { + as: asProp = 'span', + shortcut, + className, + ...otherProps + } = Object(use_context_system["a" /* useContextSystem */])(props, 'Shortcut'); + + if (!shortcut) { + return null; + } + + let displayText; + let ariaLabel; + + if (typeof shortcut === 'string') { + displayText = shortcut; + } else { + displayText = shortcut.display; + ariaLabel = shortcut.ariaLabel; + } + + return Object(external_wp_element_["createElement"])(view_component["a" /* default */], Object(esm_extends["a" /* default */])({ + as: asProp, + className: className, + "aria-label": ariaLabel, + ref: forwardedRef + }, otherProps), displayText); +} + +const ConnectedShortcut = Object(context_connect["a" /* contextConnect */])(Shortcut, 'Shortcut'); +/* harmony default export */ var shortcut_component = (ConnectedShortcut); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/utils/z-index.js +const Flyout = 10000; +const z_index_Tooltip = 1000002; + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/ui/tooltip/styles.js + + +function tooltip_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + + + + + +const TooltipContent = /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("z-index:", z_index_Tooltip, ";box-sizing:border-box;opacity:0;outline:none;transform-origin:top center;transition:opacity ", config_values.transitionDurationFastest, " ease;&[data-enter]{opacity:1;}" + ( true ? "" : undefined), true ? "" : undefined); +const TooltipPopoverView = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "e7tfjmw1" +} : undefined)("background:rgba( 0, 0, 0, 0.8 );border-radius:2px;box-shadow:0 0 0 1px rgba( 255, 255, 255, 0.04 );color:", COLORS.white, ";padding:4px 8px;" + ( true ? "" : undefined)); +const noOutline = true ? { + name: "12mkfdx", + styles: "outline:none" +} : undefined; +const TooltipShortcut = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(shortcut_component, true ? { + target: "e7tfjmw0" +} : undefined)("display:inline-block;margin-left:", space(1), ";" + ( true ? "" : undefined)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/ui/tooltip/content.js + + + +/** + * External dependencies + */ +// eslint-disable-next-line no-restricted-imports + +/** + * Internal dependencies + */ + + + + + + +const { + TooltipPopoverView: content_TooltipPopoverView +} = tooltip_styles_namespaceObject; +/** + * + * @param {import('../context').WordPressComponentProps} props + * @param {import('react').Ref} forwardedRef + */ + +function content_TooltipContent(props, forwardedRef) { + const { + children, + className, + ...otherProps + } = Object(use_context_system["a" /* useContextSystem */])(props, 'TooltipContent'); + const { + tooltip + } = useTooltipContext(); + const cx = Object(use_cx["a" /* useCx */])(); + const classes = cx(TooltipContent, className); + return Object(external_wp_element_["createElement"])(Tooltip_Tooltip, Object(esm_extends["a" /* default */])({ + as: view_component["a" /* default */] + }, otherProps, tooltip, { + className: classes, + ref: forwardedRef + }), Object(external_wp_element_["createElement"])(content_TooltipPopoverView, null, children)); +} + +/* harmony default export */ var tooltip_content = (Object(context_connect["a" /* contextConnect */])(content_TooltipContent, 'TooltipContent')); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/ui/tooltip/component.js + + + +/** + * External dependencies + */ +// eslint-disable-next-line no-restricted-imports + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + + +/** + * @param {import('../context').WordPressComponentProps} props + * @param {import('react').Ref} forwardedRef + */ + +function component_Tooltip(props, forwardedRef) { + const { + animated = true, + animationDuration = 160, + baseId, + children, + content, + focusable = true, + gutter = 4, + id, + modal = true, + placement, + visible = false, + shortcut, + ...otherProps + } = Object(use_context_system["a" /* useContextSystem */])(props, 'Tooltip'); + const tooltip = useTooltipState({ + animated: animated ? animationDuration : undefined, + baseId: baseId || id, + gutter, + placement, + visible, + ...otherProps + }); + const contextProps = Object(external_wp_element_["useMemo"])(() => ({ + tooltip + }), [tooltip]); + return Object(external_wp_element_["createElement"])(TooltipContext.Provider, { + value: contextProps + }, content && Object(external_wp_element_["createElement"])(tooltip_content, { + unstable_portal: modal, + ref: forwardedRef + }, content, shortcut && Object(external_wp_element_["createElement"])(TooltipShortcut, { + shortcut: shortcut + })), children && Object(external_wp_element_["createElement"])(TooltipReference, Object(esm_extends["a" /* default */])({}, tooltip, children.props, { + // @ts-ignore If ref doesn't exist that's fine with us, it'll just be undefined, but it can exist on ReactElement and there's no reason to try to scope this (it'll just overcomplicate things) + ref: children === null || children === void 0 ? void 0 : children.ref + }), referenceProps => { + if (!focusable) { + referenceProps.tabIndex = undefined; + } + + return Object(external_wp_element_["cloneElement"])(children, referenceProps); + })); +} +/** + * `Tooltip` is a component that provides context for a user interface element. + * + * @example + * ```jsx + * import { Tooltip, Text } from `@wordpress/components/ui`; + * + * function Example() { + * return ( + * + * WordPress.org + * + * ) + * } + * ``` + */ + + +const ConnectedTooltip = Object(context_connect["a" /* contextConnect */])(component_Tooltip, 'Tooltip'); +/* harmony default export */ var tooltip_component = (ConnectedTooltip); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/color-display.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + + + +const ValueDisplay = ({ + values +}) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, values.map(([value, abbreviation]) => { + return Object(external_wp_element_["createElement"])(flex_item_component, { + key: abbreviation, + isBlock: true, + display: "flex" + }, Object(external_wp_element_["createElement"])(text_component, { + color: "blue" + }, abbreviation), Object(external_wp_element_["createElement"])(text_component, null, value)); +})); + +const HslDisplay = ({ + color, + enableAlpha +}) => { + const { + h, + s, + l, + a + } = color.toHsl(); + const values = [[Math.floor(h), 'H'], [Math.round(s * 100), 'S'], [Math.round(l * 100), 'L']]; + + if (enableAlpha) { + values.push([Math.round(a * 100), 'A']); + } + + return Object(external_wp_element_["createElement"])(ValueDisplay, { + values: values + }); +}; + +const RgbDisplay = ({ + color, + enableAlpha +}) => { + const { + r, + g, + b, + a + } = color.toRgb(); + const values = [[r, 'R'], [g, 'G'], [b, 'B']]; + + if (enableAlpha) { + values.push([Math.round(a * 100), 'A']); + } + + return Object(external_wp_element_["createElement"])(ValueDisplay, { + values: values + }); +}; + +const HexDisplay = ({ + color +}) => { + const colorWithoutHash = color.toHex().slice(1).toUpperCase(); + return Object(external_wp_element_["createElement"])(flex_item_component, null, Object(external_wp_element_["createElement"])(text_component, { + color: "blue" + }, "#"), Object(external_wp_element_["createElement"])(text_component, null, colorWithoutHash)); +}; + +const getComponent = colorType => { + switch (colorType) { + case 'hsl': + return HslDisplay; + + case 'rgb': + return RgbDisplay; + + default: + case 'hex': + return HexDisplay; + } +}; + +const ColorDisplay = ({ + color, + colorType, + enableAlpha +}) => { + const [copiedColor, setCopiedColor] = Object(external_wp_element_["useState"])(null); + const copyTimer = Object(external_wp_element_["useRef"])(); + const props = { + color, + enableAlpha + }; + const Component = getComponent(colorType); + const copyRef = Object(external_wp_compose_["useCopyToClipboard"])(() => { + switch (colorType) { + case 'hsl': + { + return color.toHslString(); + } + + case 'rgb': + { + return color.toRgbString(); + } + + default: + case 'hex': + { + return color.toHex(); + } + } + }, () => { + if (copyTimer.current) { + clearTimeout(copyTimer.current); + } + + setCopiedColor(color.toHex()); + copyTimer.current = setTimeout(() => { + setCopiedColor(null); + copyTimer.current = undefined; + }, 3000); + }); + Object(external_wp_element_["useEffect"])(() => { + // clear copyTimer on component unmount. + return () => { + if (copyTimer.current) { + clearTimeout(copyTimer.current); + } + }; + }, []); + return Object(external_wp_element_["createElement"])(tooltip_component, { + content: Object(external_wp_element_["createElement"])(text_component, { + color: "white" + }, copiedColor === color.toHex() ? Object(external_wp_i18n_["__"])('Copied!') : Object(external_wp_i18n_["__"])('Copy')) + }, Object(external_wp_element_["createElement"])(flex_component, { + justify: "flex-start", + gap: space(1), + ref: copyRef, + style: { + height: 30 + } + }, Object(external_wp_element_["createElement"])(Component, props))); +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/input-with-slider.js + + +/** + * Internal dependencies + */ + + + + + +const InputWithSlider = ({ + min, + max, + label, + abbreviation, + onChange, + value +}) => { + return Object(external_wp_element_["createElement"])(spacer_component, { + as: h_stack_component, + spacing: 4 + }, Object(external_wp_element_["createElement"])(NumberControlWrapper, { + min: min, + max: max, + label: label, + hideLabelFromVision: true, + value: value, + onChange: onChange, + prefix: Object(external_wp_element_["createElement"])(spacer_component, { + as: text_component, + paddingLeft: space(3.5), + color: "blue", + lineHeight: 1 + }, abbreviation), + hideHTMLArrows: true + }), Object(external_wp_element_["createElement"])(styles_RangeControl, { + label: label, + hideLabelFromVision: true, + min: min, + max: max, + value: value, + onChange: onChange, + withInputField: false + })); +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/rgb-input.js + + +/** + * External dependencies + */ + +/** + * Internal dependencies + */ + + +const RgbInput = ({ + color, + onChange, + enableAlpha +}) => { + const { + r, + g, + b, + a + } = color.toRgb(); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(InputWithSlider, { + min: 0, + max: 255, + label: "Red", + abbreviation: "R", + value: r, + onChange: nextR => onChange(Object(colord["a" /* colord */])({ + r: nextR, + g, + b, + a + })) + }), Object(external_wp_element_["createElement"])(InputWithSlider, { + min: 0, + max: 255, + label: "Green", + abbreviation: "G", + value: g, + onChange: nextG => onChange(Object(colord["a" /* colord */])({ + r, + g: nextG, + b, + a + })) + }), Object(external_wp_element_["createElement"])(InputWithSlider, { + min: 0, + max: 255, + label: "Blue", + abbreviation: "B", + value: b, + onChange: nextB => onChange(Object(colord["a" /* colord */])({ + r, + g, + b: nextB, + a + })) + }), enableAlpha && Object(external_wp_element_["createElement"])(InputWithSlider, { + min: 0, + max: 100, + label: "Alpha", + abbreviation: "A", + value: Math.trunc(a * 100), + onChange: nextA => onChange(Object(colord["a" /* colord */])({ + r, + g, + b, + a: nextA / 100 + })) + })); +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/hsl-input.js + + +/** + * External dependencies + */ + +/** + * Internal dependencies + */ + + +const HslInput = ({ + color, + onChange, + enableAlpha +}) => { + const { + h, + s, + l, + a + } = color.toHsl(); + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(InputWithSlider, { + min: 0, + max: 359, + label: "Hue", + abbreviation: "H", + value: h, + onChange: nextH => { + onChange(Object(colord["a" /* colord */])({ + h: nextH, + s, + l, + a + })); + } + }), Object(external_wp_element_["createElement"])(InputWithSlider, { + min: 0, + max: 100, + label: "Saturation", + abbreviation: "S", + value: s, + onChange: nextS => { + onChange(Object(colord["a" /* colord */])({ + h, + s: nextS, + l, + a + })); + } + }), Object(external_wp_element_["createElement"])(InputWithSlider, { + min: 0, + max: 100, + label: "Lightness", + abbreviation: "L", + value: l, + onChange: nextL => { + onChange(Object(colord["a" /* colord */])({ + h, + s, + l: nextL, + a + })); + } + }), enableAlpha && Object(external_wp_element_["createElement"])(InputWithSlider, { + min: 0, + max: 100, + label: "Alpha", + abbreviation: "A", + value: Math.trunc(100 * a), + onChange: nextA => { + onChange(Object(colord["a" /* colord */])({ + h, + s, + l, + a: nextA / 100 + })); + } + })); +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/hex-input.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + + +const HexInput = ({ + color, + onChange, + enableAlpha +}) => { + const handleValidate = value => { + if (!Object(colord["a" /* colord */])('#' + value).isValid()) { + throw new Error('Invalid hex color input'); + } + }; + + return Object(external_wp_element_["createElement"])(ColorHexInputControl, { + prefix: Object(external_wp_element_["createElement"])(spacer_component, { + as: text_component, + marginLeft: space(3.5), + color: "blue", + lineHeight: 1 + }, "#"), + value: color.toHex().slice(1).toUpperCase(), + onChange: nextValue => { + onChange(Object(colord["a" /* colord */])('#' + nextValue)); + }, + onValidate: handleValidate, + maxLength: enableAlpha ? 8 : 6, + label: Object(external_wp_i18n_["__"])('Hex color'), + hideLabelFromVision: true + }); +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/color-input.js + + +/** + * External dependencies + */ + +/** + * Internal dependencies + */ + + + +const ColorInput = ({ + colorType, + color, + onChange, + enableAlpha +}) => { + const props = { + color, + onChange, + enableAlpha + }; + + switch (colorType) { + case 'hsl': + return Object(external_wp_element_["createElement"])(HslInput, props); + + case 'rgb': + return Object(external_wp_element_["createElement"])(RgbInput, props); + + default: + case 'hex': + return Object(external_wp_element_["createElement"])(HexInput, props); + } +}; + +// CONCATENATED MODULE: ./node_modules/react-colorful/dist/index.module.js +function index_module_u(){return(index_module_u=Object.assign||function(e){for(var r=1;r=0||(o[t]=e[t]);return o}function index_module_i(e){var t=Object(external_React_["useRef"])(e),n=Object(external_React_["useRef"])(function(e){t.current&&t.current(e)});return t.current=e,n.current}var index_module_s=function(e,r,t){return void 0===r&&(r=0),void 0===t&&(t=1),e>t?t:e0:e.buttons>0)&&h.current?m(index_module_v(h.current,e,p.current)):t(!1)},r=function(){return t(!1)};function t(t){var n=b.current,o=t?self.addEventListener:self.removeEventListener;o(n?"touchmove":"mousemove",e),o(n?"touchend":"mouseup",r)}return[function(e){var r=e.nativeEvent,n=h.current;if(n&&(index_module_d(r),!function(e,r){return r&&!index_module_f(e)}(r,b.current)&&n)){if(index_module_f(r)){b.current=!0;var o=r.changedTouches||[];o.length&&(p.current=o[0].identifier)}n.focus(),m(index_module_v(n,r,p.current)),t(!0)}},function(e){var r=e.which||e.keyCode;r<37||r>40||(e.preventDefault(),g({left:39===r?.05:37===r?-.05:0,top:40===r?.05:38===r?-.05:0}))},t]},[g,m]),x=_[0],C=_[1],E=_[2];return Object(external_React_["useEffect"])(function(){return E},[E]),external_React_default.a.createElement("div",index_module_u({},s,{onTouchStart:x,onMouseDown:x,className:"react-colorful__interactive",ref:h,onKeyDown:C,tabIndex:0,role:"slider"}))}),index_module_m=function(e){return e.filter(Boolean).join(" ")},index_module_g=function(r){var t=r.color,n=r.left,o=r.top,a=void 0===o?.5:o,l=index_module_m(["react-colorful__pointer",r.className]);return external_React_default.a.createElement("div",{className:l,style:{top:100*a+"%",left:100*n+"%"}},external_React_default.a.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},index_module_p=function(e,r,t){return void 0===r&&(r=0),void 0===t&&(t=Math.pow(10,r)),Math.round(t*e)/t},index_module_b={grad:.9,turn:360,rad:360/(2*Math.PI)},index_module_=function(e){return"#"===e[0]&&(e=e.substr(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:1}:{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:1}},index_module_x=function(e,r){return void 0===r&&(r="deg"),Number(e)*(index_module_b[r]||1)},index_module_C=function(e){var r=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return r?index_module_H({h:index_module_x(r[1],r[2]),s:Number(r[3]),l:Number(r[4]),a:void 0===r[5]?1:Number(r[5])/(r[6]?100:1)}):{h:0,s:0,v:0,a:1}},index_module_E=index_module_C,index_module_H=function(e){var r=e.s,t=e.l;return{h:e.h,s:(r*=(t<50?t:100-t)/100)>0?2*r/(t+r)*100:0,v:t+r,a:e.a}},M=function(e){var r=e.s,t=e.v,n=e.a,o=(200-r)*t/100;return{h:index_module_p(e.h),s:index_module_p(o>0&&o<200?r*t/100/(o<=100?o:200-o)*100:0),l:index_module_p(o/2),a:index_module_p(n,2)}},N=function(e){var r=M(e);return"hsl("+r.h+", "+r.s+"%, "+r.l+"%)"},w=function(e){var r=M(e);return"hsla("+r.h+", "+r.s+"%, "+r.l+"%, "+r.a+")"},index_module_y=function(e){var r=e.h,t=e.s,n=e.v,o=e.a;r=r/360*6,t/=100,n/=100;var a=Math.floor(r),l=n*(1-t),u=n*(1-(r-a)*t),c=n*(1-(1-r+a)*t),i=a%6;return{r:index_module_p(255*[n,u,l,l,c,n][i]),g:index_module_p(255*[c,n,n,u,l,l][i]),b:index_module_p(255*[l,l,c,n,n,u][i]),a:index_module_p(o,2)}},q=function(e){var r=/hsva?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return r?B({h:index_module_x(r[1],r[2]),s:Number(r[3]),v:Number(r[4]),a:void 0===r[5]?1:Number(r[5])/(r[6]?100:1)}):{h:0,s:0,v:0,a:1}},k=q,O=function(e){var r=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return r?z({r:Number(r[1])/(r[2]?100/255:1),g:Number(r[3])/(r[4]?100/255:1),b:Number(r[5])/(r[6]?100/255:1),a:void 0===r[7]?1:Number(r[7])/(r[8]?100:1)}):{h:0,s:0,v:0,a:1}},I=O,j=function(e){var r=e.toString(16);return r.length<2?"0"+r:r},z=function(e){var r=e.r,t=e.g,n=e.b,o=e.a,a=Math.max(r,t,n),l=a-Math.min(r,t,n),u=l?a===r?(t-n)/l:a===t?2+(n-r)/l:4+(r-t)/l:0;return{h:index_module_p(60*(u<0?u+6:u)),s:index_module_p(a?l/a*100:0),v:index_module_p(a/255*100),a:o}},B=function(e){return{h:index_module_p(e.h),s:index_module_p(e.s),v:index_module_p(e.v),a:index_module_p(e.a,2)}},K=external_React_default.a.memo(function(r){var t=r.hue,n=r.onChange,o=index_module_m(["react-colorful__hue",r.className]);return external_React_default.a.createElement("div",{className:o},external_React_default.a.createElement(index_module_h,{onMove:function(e){n({h:360*e.left})},onKey:function(e){n({h:index_module_s(t+360*e.left,0,360)})},"aria-label":"Hue","aria-valuetext":index_module_p(t)},external_React_default.a.createElement(index_module_g,{className:"react-colorful__hue-pointer",left:t/360,color:N({h:t,s:100,v:100,a:1})})))}),L=external_React_default.a.memo(function(r){var t=r.hsva,n=r.onChange,o={backgroundColor:N({h:t.h,s:100,v:100,a:1})};return external_React_default.a.createElement("div",{className:"react-colorful__saturation",style:o},external_React_default.a.createElement(index_module_h,{onMove:function(e){n({s:100*e.left,v:100-100*e.top})},onKey:function(e){n({s:index_module_s(t.s+100*e.left,0,100),v:index_module_s(t.v-100*e.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+index_module_p(t.s)+"%, Brightness "+index_module_p(t.v)+"%"},external_React_default.a.createElement(index_module_g,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:N(t)})))}),A=function(e,r){if(e===r)return!0;for(var t in e)if(e[t]!==r[t])return!1;return!0},D=function(e,r){return e.replace(/\s/g,"")===r.replace(/\s/g,"")};function S(e,t,l){var u=index_module_i(l),c=Object(external_React_["useState"])(function(){return e.toHsva(t)}),s=c[0],f=c[1],v=Object(external_React_["useRef"])({color:t,hsva:s});Object(external_React_["useEffect"])(function(){if(!e.equal(t,v.current.color)){var r=e.toHsva(t);v.current={hsva:r,color:t},f(r)}},[t,e]),Object(external_React_["useEffect"])(function(){var r;A(s,v.current.hsva)||e.equal(r=e.fromHsva(s),v.current.color)||(v.current={hsva:s,color:r},u(r))},[s,e,u]);var d=Object(external_React_["useCallback"])(function(e){f(function(r){return Object.assign({},r,e)})},[]);return[s,d]}var T,F,P="undefined"!=typeof window?external_React_["useLayoutEffect"]:external_React_["useEffect"],X=function(){return T||( true?__webpack_require__.nc:undefined)},Y=function(e){T=e},R=function(){P(function(){if("undefined"!=typeof document&&!F){(F=document.createElement("style")).innerHTML='.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url(\'data:image/svg+xml;charset=utf-8,\')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}';var e=X();e&&F.setAttribute("nonce",e),document.head.appendChild(F)}},[])},$=function(r){var t=r.className,n=r.colorModel,o=r.color,a=void 0===o?n.defaultColor:o,l=r.onChange,i=index_module_c(r,["className","colorModel","color","onChange"]);R();var s=S(n,a,l),f=s[0],v=s[1],d=index_module_m(["react-colorful",t]);return external_React_default.a.createElement("div",index_module_u({},i,{className:d}),external_React_default.a.createElement(L,{hsva:f,onChange:v}),external_React_default.a.createElement(K,{hue:f.h,onChange:v,className:"react-colorful__last-control"}))},G={defaultColor:"000",toHsva:function(e){return z(index_module_(e))},fromHsva:function(e){return t=(r=index_module_y(e)).g,n=r.b,"#"+j(r.r)+j(t)+j(n);var r,t,n},equal:function(e,r){return e.toLowerCase()===r.toLowerCase()||A(index_module_(e),index_module_(r))}},J=function(r){return external_React_default.a.createElement($,index_module_u({},r,{colorModel:G}))},Q=function(r){var t=r.className,n=r.hsva,o=r.onChange,a={backgroundImage:"linear-gradient(90deg, "+w(Object.assign({},n,{a:0}))+", "+w(Object.assign({},n,{a:1}))+")"},l=index_module_m(["react-colorful__alpha",t]);return external_React_default.a.createElement("div",{className:l},external_React_default.a.createElement("div",{className:"react-colorful__alpha-gradient",style:a}),external_React_default.a.createElement(index_module_h,{onMove:function(e){o({a:e.left})},onKey:function(e){o({a:index_module_s(n.a+e.left)})},"aria-label":"Alpha","aria-valuetext":index_module_p(100*n.a)+"%"},external_React_default.a.createElement(index_module_g,{className:"react-colorful__alpha-pointer",left:n.a,color:w(n)})))},U=function(r){var t=r.className,n=r.colorModel,o=r.color,a=void 0===o?n.defaultColor:o,l=r.onChange,i=index_module_c(r,["className","colorModel","color","onChange"]);R();var s=S(n,a,l),f=s[0],v=s[1],d=index_module_m(["react-colorful",t]);return external_React_default.a.createElement("div",index_module_u({},i,{className:d}),external_React_default.a.createElement(L,{hsva:f,onChange:v}),external_React_default.a.createElement(K,{hue:f.h,onChange:v}),external_React_default.a.createElement(Q,{hsva:f,onChange:v,className:"react-colorful__last-control"}))},V={defaultColor:{h:0,s:0,l:0,a:1},toHsva:index_module_H,fromHsva:M,equal:A},W=function(r){return external_React_default.a.createElement(U,index_module_u({},r,{colorModel:V}))},Z={defaultColor:"hsla(0, 0%, 0%, 1)",toHsva:index_module_C,fromHsva:w,equal:D},ee=function(r){return external_React_default.a.createElement(U,index_module_u({},r,{colorModel:Z}))},re={defaultColor:{h:0,s:0,l:0},toHsva:function(e){return index_module_H({h:e.h,s:e.s,l:e.l,a:1})},fromHsva:function(e){return{h:(r=M(e)).h,s:r.s,l:r.l};var r},equal:A},te=function(r){return external_React_default.a.createElement($,index_module_u({},r,{colorModel:re}))},ne={defaultColor:"hsl(0, 0%, 0%)",toHsva:index_module_E,fromHsva:N,equal:D},oe=function(r){return external_React_default.a.createElement($,index_module_u({},r,{colorModel:ne}))},ae={defaultColor:{h:0,s:0,v:0,a:1},toHsva:function(e){return e},fromHsva:B,equal:A},le=function(r){return external_React_default.a.createElement(U,index_module_u({},r,{colorModel:ae}))},ue={defaultColor:"hsva(0, 0%, 0%, 1)",toHsva:q,fromHsva:function(e){var r=B(e);return"hsva("+r.h+", "+r.s+"%, "+r.v+"%, "+r.a+")"},equal:D},ce=function(r){return external_React_default.a.createElement(U,index_module_u({},r,{colorModel:ue}))},ie={defaultColor:{h:0,s:0,v:0},toHsva:function(e){return{h:e.h,s:e.s,v:e.v,a:1}},fromHsva:function(e){var r=B(e);return{h:r.h,s:r.s,v:r.v}},equal:A},se=function(r){return external_React_default.a.createElement($,index_module_u({},r,{colorModel:ie}))},fe={defaultColor:"hsv(0, 0%, 0%)",toHsva:k,fromHsva:function(e){var r=B(e);return"hsv("+r.h+", "+r.s+"%, "+r.v+"%)"},equal:D},ve=function(r){return external_React_default.a.createElement($,index_module_u({},r,{colorModel:fe}))},de={defaultColor:{r:0,g:0,b:0,a:1},toHsva:z,fromHsva:index_module_y,equal:A},he=function(r){return external_React_default.a.createElement(U,index_module_u({},r,{colorModel:de}))},me={defaultColor:"rgba(0, 0, 0, 1)",toHsva:O,fromHsva:function(e){var r=index_module_y(e);return"rgba("+r.r+", "+r.g+", "+r.b+", "+r.a+")"},equal:D},ge=function(r){return external_React_default.a.createElement(U,index_module_u({},r,{colorModel:me}))},pe={defaultColor:{r:0,g:0,b:0},toHsva:function(e){return z({r:e.r,g:e.g,b:e.b,a:1})},fromHsva:function(e){return{r:(r=index_module_y(e)).r,g:r.g,b:r.b};var r},equal:A},be=function(r){return external_React_default.a.createElement($,index_module_u({},r,{colorModel:pe}))},index_module_e={defaultColor:"rgb(0, 0, 0)",toHsva:I,fromHsva:function(e){var r=index_module_y(e);return"rgb("+r.r+", "+r.g+", "+r.b+")"},equal:D},xe=function(r){return external_React_default.a.createElement($,index_module_u({},r,{colorModel:index_module_e}))},Ce=/^#?([0-9A-F]{3,8})$/i,Ee=function(r){var t=r.color,l=void 0===t?"":t,s=r.onChange,f=r.onBlur,v=r.escape,d=r.validate,h=r.format,m=r.process,g=index_module_c(r,["color","onChange","onBlur","escape","validate","format","process"]),p=Object(external_React_["useState"])(function(){return v(l)}),b=p[0],_=p[1],x=index_module_i(s),C=index_module_i(f),E=Object(external_React_["useCallback"])(function(e){var r=v(e.target.value);_(r),d(r)&&x(m?m(r):r)},[v,m,d,x]),H=Object(external_React_["useCallback"])(function(e){d(e.target.value)||_(v(l)),C(e)},[l,v,d,C]);return Object(external_React_["useEffect"])(function(){_(v(l))},[l,v]),external_React_default.a.createElement("input",index_module_u({},g,{value:h?h(b):b,spellCheck:"false",onChange:E,onBlur:H}))},He=function(e){return"#"+e},Me=function(r){var t=r.prefixed,n=r.alpha,o=index_module_c(r,["prefixed","alpha"]),l=Object(external_React_["useCallback"])(function(e){return e.replace(/([^0-9A-F]+)/gi,"").substr(0,n?8:6)},[n]),i=Object(external_React_["useCallback"])(function(e){return function(e,r){var t=Ce.exec(e),n=t?t[1].length:0;return 3===n||6===n||!!r&&4===n||!!r&&8===n}(e,n)},[n]);return external_React_default.a.createElement(Ee,index_module_u({},o,{escape:l,format:t?He:void 0,process:He,validate:i}))}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/picker.js + + +/** + * External dependencies + */ + + +/** + * WordPress dependencies + */ + + +const Picker = ({ + color, + enableAlpha, + onChange +}) => { + const Component = enableAlpha ? ge : xe; + const rgbColor = Object(external_wp_element_["useMemo"])(() => color.toRgbString(), [color]); + return Object(external_wp_element_["createElement"])(Component, { + color: rgbColor, + onChange: nextColor => { + onChange(Object(colord["a" /* colord */])(nextColor)); + } + }); +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/component.js + + + +/** + * External dependencies + */ +// eslint-disable-next-line no-restricted-imports + + + +/** + * WordPress dependencies + */ + + + + +/** + * Internal dependencies + */ + + + + + + + + +Object(colord["b" /* extend */])([names["a" /* default */]]); +const component_options = [{ + label: 'RGB', + value: 'rgb' +}, { + label: 'HSL', + value: 'hsl' +}, { + label: 'Hex', + value: 'hex' +}]; + +const ColorPicker = (props, forwardedRef) => { + const { + enableAlpha = false, + color, + onChange, + defaultValue = '#fff', + copyFormat, + ...divProps + } = Object(use_context_system["a" /* useContextSystem */])(props, 'ColorPicker'); // Use a safe default value for the color and remove the possibility of `undefined`. + + const safeColordColor = Object(external_wp_element_["useMemo"])(() => { + return color ? Object(colord["a" /* colord */])(color) : Object(colord["a" /* colord */])(defaultValue); + }, [color, defaultValue]); + const handleChange = Object(external_React_["useCallback"])(nextValue => { + onChange(nextValue.toHex()); + }, [onChange]); + const [showInputs, setShowInputs] = Object(external_wp_element_["useState"])(false); + const [colorType, setColorType] = Object(external_wp_element_["useState"])(copyFormat || 'hex'); + return Object(external_wp_element_["createElement"])(ColorfulWrapper, Object(esm_extends["a" /* default */])({ + ref: forwardedRef + }, divProps), Object(external_wp_element_["createElement"])(Picker, { + onChange: handleChange, + color: safeColordColor, + enableAlpha: enableAlpha + }), Object(external_wp_element_["createElement"])(AuxiliaryColorArtefactWrapper, null, Object(external_wp_element_["createElement"])(h_stack_component, { + justify: "space-between" + }, showInputs ? Object(external_wp_element_["createElement"])(styles_SelectControl, { + options: component_options, + value: colorType, + onChange: nextColorType => setColorType(nextColorType), + label: Object(external_wp_i18n_["__"])('Color format'), + hideLabelFromVision: true + }) : Object(external_wp_element_["createElement"])(ColorDisplay, { + color: safeColordColor, + colorType: copyFormat || colorType, + enableAlpha: enableAlpha + }), Object(external_wp_element_["createElement"])(DetailsControlButton, { + isSmall: true, + onClick: () => setShowInputs(!showInputs), + icon: settings["a" /* default */], + isPressed: showInputs, + label: showInputs ? Object(external_wp_i18n_["__"])('Hide detailed inputs') : Object(external_wp_i18n_["__"])('Show detailed inputs') + })), Object(external_wp_element_["createElement"])(spacer_component, { + margin: 4 + }), showInputs && Object(external_wp_element_["createElement"])(ColorInput, { + colorType: colorType, + color: safeColordColor, + onChange: handleChange, + enableAlpha: enableAlpha + }))); +}; + +const ConnectedColorPicker = Object(context_connect["a" /* contextConnect */])(ColorPicker, 'ColorPicker'); +/* harmony default export */ var color_picker_component = (ConnectedColorPicker); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/use-deprecated-props.js +/** + * External dependencies + */ + // eslint-disable-next-line no-restricted-imports + + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + +function isLegacyProps(props) { + var _props$color; + + return typeof props.onChangeComplete !== 'undefined' || typeof props.disableAlpha !== 'undefined' || typeof ((_props$color = props.color) === null || _props$color === void 0 ? void 0 : _props$color.hex) === 'string'; +} + +function getColorFromLegacyProps(props) { + if (typeof (props === null || props === void 0 ? void 0 : props.color) === 'undefined') { + return undefined; + } + + if (typeof props.color === 'string') { + return props.color; + } + + if (props.color.hex) { + return props.color.hex; + } +} + +const transformColorStringToLegacyColor = memize_default()(color => { + const colordColor = Object(colord["a" /* colord */])(color); + const hex = colordColor.toHex(); + const rgb = colordColor.toRgb(); + const hsv = colordColor.toHsv(); + const hsl = colordColor.toHsl(); + return { + hex, + rgb, + hsv, + hsl, + source: 'hex', + oldHue: hsl.h + }; +}); +function use_deprecated_props_useDeprecatedProps(props) { + const onChange = Object(external_wp_element_["useCallback"])(color => { + var _props$onChange; + + if (isLegacyProps(props)) { + return props.onChangeComplete(transformColorStringToLegacyColor(color)); + } + + return (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, color); + }, [props.onChangeComplete, props.onChange]); + const color = Object(external_wp_element_["useMemo"])(() => { + return isLegacyProps(props) ? getColorFromLegacyProps(props) : props.color; + }, [props.color]); + const enableAlpha = Object(external_wp_element_["useMemo"])(() => { + return isLegacyProps(props) ? !props.disableAlpha : props.enableAlpha; + }, [props.disableAlpha, props.enableAlpha]); + return { ...(isLegacyProps(props) ? {} : props), + onChange, + color, + enableAlpha + }; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/legacy-adapter.js + + +/** + * Internal dependencies + */ + + +const LegacyAdapter = props => { + return Object(external_wp_element_["createElement"])(color_picker_component, use_deprecated_props_useDeprecatedProps(props)); +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/item-group/styles.js +function item_group_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } + +/** + * External dependencies + */ + +/** + * Internal dependencies + */ + + +const unstyledButton = /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("appearance:none;border:1px solid transparent;cursor:pointer;background:none;text-align:left;&:hover{color:", COLORS.admin.theme, ";}&:focus{background-color:transparent;color:", COLORS.admin.theme, ";border-color:", COLORS.admin.theme, ";outline:3px solid transparent;}" + ( true ? "" : undefined), true ? "" : undefined); +const itemWrapper = true ? { + name: "1bcj5ek", + styles: "width:100%;display:block" +} : undefined; +const styles_item = true ? { + name: "5vij5u", + styles: "width:100%;display:block;margin:0" +} : undefined; +const bordered = /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("border:1px solid ", config_values.surfaceBorderColor, ";" + ( true ? "" : undefined), true ? "" : undefined); +const separated = /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])(">*:not( marquee )>*{border-bottom:1px solid ", config_values.surfaceBorderColor, ";}>*:last-of-type>*:not( :focus ){border-bottom-color:transparent;}" + ( true ? "" : undefined), true ? "" : undefined); +const item_group_styles_borderRadius = config_values.controlBorderRadius; +const styles_spacedAround = /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("border-radius:", item_group_styles_borderRadius, ";" + ( true ? "" : undefined), true ? "" : undefined); +const item_group_styles_rounded = /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("border-radius:", item_group_styles_borderRadius, ";>*:first-of-type>*{border-top-left-radius:", item_group_styles_borderRadius, ";border-top-right-radius:", item_group_styles_borderRadius, ";}>*:last-of-type>*{border-bottom-left-radius:", item_group_styles_borderRadius, ";border-bottom-right-radius:", item_group_styles_borderRadius, ";}" + ( true ? "" : undefined), true ? "" : undefined); +const baseFontHeight = `calc(${config_values.fontSize} * ${config_values.fontLineHeightBase})`; +/* + * Math: + * - Use the desired height as the base value + * - Subtract the computed height of (default) text + * - Subtract the effects of border + * - Divide the calculated number by 2, in order to get an individual top/bottom padding + */ + +const styles_paddingY = `calc((${config_values.controlHeight} - ${baseFontHeight} - 2px) / 2)`; +const paddingYSmall = `calc((${config_values.controlHeightSmall} - ${baseFontHeight} - 2px) / 2)`; +const paddingYLarge = `calc((${config_values.controlHeightLarge} - ${baseFontHeight} - 2px) / 2)`; +const itemSizes = { + small: /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("padding:", paddingYSmall, " ", config_values.controlPaddingXSmall, ";" + ( true ? "" : undefined), true ? "" : undefined), + medium: /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("padding:", styles_paddingY, " ", config_values.controlPaddingX, ";" + ( true ? "" : undefined), true ? "" : undefined), + large: /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("padding:", paddingYLarge, " ", config_values.controlPaddingXLarge, ";" + ( true ? "" : undefined), true ? "" : undefined) +}; + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/item-group/item-group/hook.js +/** + * Internal dependencies + */ + +/** + * Internal dependencies + */ + + + +function useItemGroup(props) { + const { + className, + isBordered = false, + isRounded = true, + isSeparated = false, + role = 'list', + ...otherProps + } = Object(use_context_system["a" /* useContextSystem */])(props, 'ItemGroup'); + const cx = Object(use_cx["a" /* useCx */])(); + const classes = cx(isBordered && bordered, isSeparated && separated, isRounded && item_group_styles_rounded, className); + return { + isBordered, + className: classes, + role, + isSeparated, + ...otherProps + }; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/item-group/context.js +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + +const ItemGroupContext = Object(external_wp_element_["createContext"])({ + size: 'medium' +}); +const useItemGroupContext = () => Object(external_wp_element_["useContext"])(ItemGroupContext); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/item-group/item-group/component.js + + + +/** + * External dependencies + */ +// eslint-disable-next-line no-restricted-imports + +/** + * Internal dependencies + */ + + + + + +function ItemGroup(props, forwardedRef) { + const { + isBordered, + isSeparated, + size: sizeProp, + ...otherProps + } = useItemGroup(props); + const { + size: contextSize + } = useItemGroupContext(); + const spacedAround = !isBordered && !isSeparated; + const size = sizeProp || contextSize; + const contextValue = { + spacedAround, + size + }; + return Object(external_wp_element_["createElement"])(ItemGroupContext.Provider, { + value: contextValue + }, Object(external_wp_element_["createElement"])(view_component["a" /* default */], Object(esm_extends["a" /* default */])({}, otherProps, { + ref: forwardedRef + }))); +} + +/* harmony default export */ var item_group_component = (Object(context_connect["a" /* contextConnect */])(ItemGroup, 'ItemGroup')); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/v-stack/hook.js +/** + * Internal dependencies + */ + + +/** + * + * @param {import('../ui/context').WordPressComponentProps} props + */ + +function useVStack(props) { + const { + expanded = false, + ...otherProps + } = Object(use_context_system["a" /* useContextSystem */])(props, 'VStack'); + const hStackProps = useHStack({ + direction: 'column', + expanded, + ...otherProps + }); + return hStackProps; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/v-stack/component.js + + + +/** + * Internal dependencies + */ + + + +/** + * @param {import('../ui/context').WordPressComponentProps} props + * @param {import('react').Ref} forwardedRef + */ + +function VStack(props, forwardedRef) { + const vStackProps = useVStack(props); + return Object(external_wp_element_["createElement"])(view_component["a" /* default */], Object(esm_extends["a" /* default */])({}, vStackProps, { + ref: forwardedRef + })); +} +/** + * `VStack` (or Vertical Stack) is a layout component that arranges child elements in a vertical line. + * + * `VStack` can render anything inside. + * + * @example + * ```jsx + * import { + * __experimentalText as Text, + * __experimentalVStack as VStack, + * } from `@wordpress/components`; + * + * function Example() { + * return ( + * + * Code + * is + * Poetry + * + * ); + * } + * ``` + */ + + +const ConnectedVStack = Object(context_connect["a" /* contextConnect */])(VStack, 'VStack'); +/* harmony default export */ var v_stack_component = (ConnectedVStack); + +// EXTERNAL MODULE: ./node_modules/colord/plugins/a11y.mjs +var a11y = __webpack_require__("7bKH"); + // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/dropdown/index.js +// @ts-nocheck /** * External dependencies @@ -23198,11 +39328,10 @@ function Dropdown({ setIsOpen(!isOpen); } /** - * Closes the dropdown if a focus leaves the dropdown wrapper. This is - * intentionally distinct from `onClose` since focus loss from the popover - * is expected to occur when using the Dropdown's toggle button, in which - * case the correct behavior is to keep the dropdown closed. The same applies - * in case when focus is moved to the modal dialog. + * Closes the popover when focus leaves it unless the toggle was pressed or + * focus has moved to a separate dialog. The former is to let the toggle + * handle closing the popover and the latter is to preserve presence in + * case a dialog has opened, allowing focus to return when it's dismissed. */ @@ -23210,8 +39339,9 @@ function Dropdown({ const { ownerDocument } = containerRef.current; + const dialog = ownerDocument.activeElement.closest('[role="dialog"]'); - if (!containerRef.current.contains(ownerDocument.activeElement) && !ownerDocument.activeElement.closest('[role="dialog"]')) { + if (!containerRef.current.contains(ownerDocument.activeElement) && (!dialog || dialog.contains(containerRef.current))) { close(); } } @@ -23231,7 +39361,11 @@ function Dropdown({ }; return Object(external_wp_element_["createElement"])("div", { className: classnames_default()('components-dropdown', className), - ref: containerRef + ref: containerRef // Some UAs focus the closest focusable parent when the toggle is + // clicked. Making this div focusable ensures such UAs will focus + // it and `closeIfFocusOutside` can tell if the toggle was clicked. + , + tabIndex: "-1" }, renderToggle(args), isOpen && Object(external_wp_element_["createElement"])(build_module_popover["a" /* default */], Object(esm_extends["a" /* default */])({ position: position, onClose: close, @@ -23301,7 +39435,7 @@ function DropdownLinkAction({ "aria-expanded": isOpen, "aria-haspopup": "true", onClick: onToggle, - isLink: true + variant: "link" }, buttonProps), linkText) }, dropdownProps)); } @@ -23314,7 +39448,7 @@ function ButtonAction({ return Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], Object(esm_extends["a" /* default */])({ className: classnames_default()('components-circular-option-picker__clear', className), isSmall: true, - isSecondary: true + variant: "secondary" }, additionalProps), children); } @@ -23336,337 +39470,50 @@ CircularOptionPicker.Option = Option; CircularOptionPicker.ButtonAction = ButtonAction; CircularOptionPicker.DropdownLinkAction = DropdownLinkAction; -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/utils.js +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/heading/hook.js /** - * Parts of this source were derived and modified from react-color, - * released under the MIT license. - * - * https://github.com/casesandberg/react-color/ - * - * Copyright (c) 2015 Case Sandberg - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -/** - * External dependencies + * Internal dependencies */ -/** - * Given a hex color, get all other color properties (rgb, alpha, etc). - * - * @param {Object|string} data A hex color string or an object with a hex property - * @param {string} oldHue A reference to the hue of the previous color, otherwise dragging the saturation to zero will reset the current hue to zero as well. See https://github.com/casesandberg/react-color/issues/29#issuecomment-132686909. - * @return {Object} An object of different color representations. - */ -function colorToState(data = {}, oldHue = false) { - const color = data.hex ? tinycolor_default()(data.hex) : tinycolor_default()(data); - const hsl = color.toHsl(); - hsl.h = Math.round(hsl.h); - hsl.s = Math.round(hsl.s * 100); - hsl.l = Math.round(hsl.l * 100); - const hsv = color.toHsv(); - hsv.h = Math.round(hsv.h); - hsv.s = Math.round(hsv.s * 100); - hsv.v = Math.round(hsv.v * 100); - const rgb = color.toRgb(); - const hex = color.toHex(); - if (hsl.s === 0) { - hsl.h = oldHue || 0; - hsv.h = oldHue || 0; - } - - const transparent = hex === '000000' && rgb.a === 0; - return { - color, - hex: transparent ? 'transparent' : `#${hex}`, - hsl, - hsv, - oldHue: data.h || oldHue || hsl.h, - rgb, - source: data.source - }; -} -/** - * Get the top/left offsets of a point in a container, also returns the container width/height. - * - * @param {Event} e Mouse or touch event with a location coordinate. - * @param {HTMLElement} container The container div, returned point is relative to this container. - * @return {Object} An object of the offset positions & container size. - */ - -function getPointOffset(e, container) { - e.preventDefault(); +function useHeading(props) { const { - left: containerLeft, - top: containerTop, - width, - height - } = container.getBoundingClientRect(); - const x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX; - const y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY; - let left = x - (containerLeft + window.pageXOffset); - let top = y - (containerTop + window.pageYOffset); + as: asProp, + level = 2, + ...otherProps + } = Object(use_context_system["a" /* useContextSystem */])(props, 'Heading'); + const as = asProp || `h${level}`; + const a11yProps = {}; - if (left < 0) { - left = 0; - } else if (left > width) { - left = width; - } else if (top < 0) { - top = 0; - } else if (top > height) { - top = height; + if (typeof as === 'string' && as[0] !== 'h') { + // if not a semantic `h` element, add a11y props: + a11yProps.role = 'heading'; + a11yProps['aria-level'] = typeof level === 'string' ? parseInt(level) : level; } - return { - top, - left, - width, - height - }; -} -/** - * Check if a string is a valid hex color code. - * - * @param {string} hex A possible hex color. - * @return {boolean} True if the color is a valid hex color. - */ - - -function isValidHex(hex) { - // disable hex4 and hex8 - const lh = String(hex).charAt(0) === '#' ? 1 : 0; - return hex.length !== 4 + lh && hex.length < 7 + lh && tinycolor_default()(hex).isValid(); -} -/** - * Check an object for any valid color properties. - * - * @param {Object} data A possible object representing a color. - * @return {Object|boolean} If a valid representation of color, returns the data object. Otherwise returns false. - */ - -function simpleCheckForValidColor(data) { - const keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v']; - let checked = 0; - let passed = 0; - Object(external_lodash_["each"])(keysToCheck, letter => { - if (data[letter]) { - checked += 1; - - if (!isNaN(data[letter])) { - passed += 1; - } - } + const textProps = useText({ + color: COLORS.darkGray.heading, + size: getHeadingFontSize(level), + isBlock: true, + weight: config_values.fontWeightHeading, + ...otherProps }); - return checked === passed ? data : false; -} -/** - * Calculate the current alpha based on a mouse or touch event - * - * @param {Event} e A mouse or touch event on the alpha bar. - * @param {Object} props The current component props - * @param {HTMLElement} container The container div for the alpha bar graph. - * @return {Object|null} If the alpha value has changed, returns a new color object. - */ - -function calculateAlphaChange(e, props, container) { - const { - left, - width - } = getPointOffset(e, container); - const a = left < 0 ? 0 : Math.round(left * 100 / width) / 100; - - if (props.hsl.a !== a) { - return { - h: props.hsl.h, - s: props.hsl.s, - l: props.hsl.l, - a, - source: 'rgb' - }; - } - - return null; -} -/** - * Calculate the current hue based on a mouse or touch event - * - * @param {Event} e A mouse or touch event on the hue bar. - * @param {Object} props The current component props - * @param {HTMLElement} container The container div for the hue bar graph. - * @return {Object|null} If the hue value has changed, returns a new color object. - */ - -function calculateHueChange(e, props, container) { - const { - left, - width - } = getPointOffset(e, container); - const percent = left * 100 / width; - const h = left >= width ? 359 : 360 * percent / 100; - - if (props.hsl.h !== h) { - return { - h, - s: props.hsl.s, - l: props.hsl.l, - a: props.hsl.a, - source: 'rgb' - }; - } - - return null; -} -/** - * Calculate the current saturation & brightness based on a mouse or touch event - * - * @param {Event} e A mouse or touch event on the saturation graph. - * @param {Object} props The current component props - * @param {HTMLElement} container The container div for the 2D saturation graph. - * @return {Object} Returns a new color object. - */ - -function calculateSaturationChange(e, props, container) { - const { - top, - left, - width, - height - } = getPointOffset(e, container); - const saturation = left < 0 ? 0 : left * 100 / width; - let bright = top >= height ? 0 : -(top * 100 / height) + 100; // `v` values less than 1 are considered in the [0,1] range, causing unexpected behavior at the bottom - // of the chart. To fix this, we assume any value less than 1 should be 0 brightness. - - if (bright < 1) { - bright = 0; - } - - return { - h: props.hsl.h, - s: saturation, - v: bright, - a: props.hsl.a, - source: 'rgb' + return { ...textProps, + ...a11yProps, + as }; } -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/keyboard-shortcuts/index.js +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/heading/component.js + /** * External dependencies */ - -/** - * WordPress dependencies - */ - - - - -function KeyboardShortcut({ - target, - callback, - shortcut, - bindGlobal, - eventName -}) { - Object(external_wp_compose_["useKeyboardShortcut"])(shortcut, callback, { - bindGlobal, - target, - eventName - }); - return null; -} - -function KeyboardShortcuts({ - children, - shortcuts, - bindGlobal, - eventName -}) { - const target = Object(external_wp_element_["useRef"])(); - const element = Object(external_lodash_["map"])(shortcuts, (callback, shortcut) => Object(external_wp_element_["createElement"])(KeyboardShortcut, { - key: shortcut, - shortcut: shortcut, - callback: callback, - bindGlobal: bindGlobal, - eventName: eventName, - target: target - })); // Render as non-visual if there are no children pressed. Keyboard - // events will be bound to the document instead. - - if (!external_wp_element_["Children"].count(children)) { - return element; - } - - return Object(external_wp_element_["createElement"])("div", { - ref: target - }, element, children); -} - -/* harmony default export */ var keyboard_shortcuts = (KeyboardShortcuts); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/alpha.js - - -/** - * Parts of this source were derived and modified from react-color, - * released under the MIT license. - * - * https://github.com/casesandberg/react-color/ - * - * Copyright (c) 2015 Case Sandberg - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - +// eslint-disable-next-line no-restricted-imports /** * Internal dependencies @@ -23674,183 +39521,65 @@ function KeyboardShortcuts({ -class alpha_Alpha extends external_wp_element_["Component"] { - constructor() { - super(...arguments); - this.container = Object(external_wp_element_["createRef"])(); - this.increase = this.increase.bind(this); - this.decrease = this.decrease.bind(this); - this.handleChange = this.handleChange.bind(this); - this.handleMouseDown = this.handleMouseDown.bind(this); - this.handleMouseUp = this.handleMouseUp.bind(this); - } - - componentWillUnmount() { - this.unbindEventListeners(); - } - - increase(amount = 0.01) { - const { - hsl, - onChange = external_lodash_["noop"] - } = this.props; - amount = parseInt(amount * 100, 10); - const change = { - h: hsl.h, - s: hsl.s, - l: hsl.l, - a: (parseInt(hsl.a * 100, 10) + amount) / 100, - source: 'rgb' - }; - onChange(change); - } - - decrease(amount = 0.01) { - const { - hsl, - onChange = external_lodash_["noop"] - } = this.props; - const intValue = parseInt(hsl.a * 100, 10) - parseInt(amount * 100, 10); - const change = { - h: hsl.h, - s: hsl.s, - l: hsl.l, - a: hsl.a <= amount ? 0 : intValue / 100, - source: 'rgb' - }; - onChange(change); - } - - handleChange(e) { - const { - onChange = external_lodash_["noop"] - } = this.props; - const change = calculateAlphaChange(e, this.props, this.container.current); - - if (change) { - onChange(change, e); - } - } - - handleMouseDown(e) { - this.handleChange(e); - window.addEventListener('mousemove', this.handleChange); - window.addEventListener('mouseup', this.handleMouseUp); - } - - handleMouseUp() { - this.unbindEventListeners(); - } - - preventKeyEvents(event) { - if (event.keyCode === external_wp_keycodes_["TAB"]) { - return; - } - - event.preventDefault(); - } - - unbindEventListeners() { - window.removeEventListener('mousemove', this.handleChange); - window.removeEventListener('mouseup', this.handleMouseUp); - } - - render() { - const { - rgb - } = this.props; - const rgbString = `${rgb.r},${rgb.g},${rgb.b}`; - const gradient = { - background: `linear-gradient(to right, rgba(${rgbString}, 0) 0%, rgba(${rgbString}, 1) 100%)` - }; - const pointerLocation = { - left: `${rgb.a * 100}%` - }; - const shortcuts = { - up: () => this.increase(), - right: () => this.increase(), - 'shift+up': () => this.increase(0.1), - 'shift+right': () => this.increase(0.1), - pageup: () => this.increase(0.1), - end: () => this.increase(1), - down: () => this.decrease(), - left: () => this.decrease(), - 'shift+down': () => this.decrease(0.1), - 'shift+left': () => this.decrease(0.1), - pagedown: () => this.decrease(0.1), - home: () => this.decrease(1) - }; - return Object(external_wp_element_["createElement"])(keyboard_shortcuts, { - shortcuts: shortcuts - }, Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__alpha" - }, Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__alpha-gradient", - style: gradient - }), Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__alpha-bar", - ref: this.container, - onMouseDown: this.handleMouseDown, - onTouchMove: this.handleChange, - onTouchStart: this.handleChange - }, Object(external_wp_element_["createElement"])("div", { - tabIndex: "0", - role: "slider", - "aria-valuemax": "1", - "aria-valuemin": "0", - "aria-valuenow": rgb.a, - "aria-orientation": "horizontal", - "aria-label": Object(external_wp_i18n_["__"])('Alpha value, from 0 (transparent) to 1 (fully opaque).'), - className: "components-color-picker__alpha-pointer", - style: pointerLocation, - onKeyDown: this.preventKeyEvents - })))); - } +function Heading(props, forwardedRef) { + const headerProps = useHeading(props); + return Object(external_wp_element_["createElement"])(view_component["a" /* default */], Object(esm_extends["a" /* default */])({}, headerProps, { + ref: forwardedRef + })); } -/* harmony default export */ var color_picker_alpha = (Object(external_wp_compose_["pure"])(alpha_Alpha)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/hue.js - - /** - * Parts of this source were derived and modified from react-color, - * released under the MIT license. + * `Heading` renders headings and titles using the library's typography system. * - * https://github.com/casesandberg/react-color/ + * @example + * ```jsx + * import { Heading } from `@wordpress/components` * - * Copyright (c) 2015 Case Sandberg - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. + * function Example() { + * return Code is Poetry; + * } + * ``` */ + +const ConnectedHeading = Object(context_connect["a" /* contextConnect */])(Heading, 'Heading'); +/* harmony default export */ var heading_component = (ConnectedHeading); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-palette/styles.js + + +function color_palette_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } + /** * External dependencies */ /** - * WordPress dependencies + * Internal dependencies + */ + +const ColorHeading = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(heading_component, true ? { + target: "e1uu5br00" +} : undefined)( true ? { + name: "13lxv2o", + styles: "text-transform:uppercase;line-height:24px;font-weight:500;&&&{font-size:11px;margin-bottom:0;}" +} : undefined); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-palette/index.js + + +/** + * External dependencies */ +/** + * WordPress dependencies + */ + + /** * Internal dependencies @@ -23859,212 +39588,149 @@ class alpha_Alpha extends external_wp_element_["Component"] { -class hue_Hue extends external_wp_element_["Component"] { - constructor() { - super(...arguments); - this.container = Object(external_wp_element_["createRef"])(); - this.increase = this.increase.bind(this); - this.decrease = this.decrease.bind(this); - this.handleChange = this.handleChange.bind(this); - this.handleMouseDown = this.handleMouseDown.bind(this); - this.handleMouseUp = this.handleMouseUp.bind(this); - } - - componentWillUnmount() { - this.unbindEventListeners(); - } - - increase(amount = 1) { - const { - hsl, - onChange = external_lodash_["noop"] - } = this.props; - const change = { - h: hsl.h + amount >= 359 ? 359 : hsl.h + amount, - s: hsl.s, - l: hsl.l, - a: hsl.a, - source: 'rgb' - }; - onChange(change); - } - - decrease(amount = 1) { - const { - hsl, - onChange = external_lodash_["noop"] - } = this.props; - const change = { - h: hsl.h <= amount ? 0 : hsl.h - amount, - s: hsl.s, - l: hsl.l, - a: hsl.a, - source: 'rgb' - }; - onChange(change); - } - - handleChange(e) { - const { - onChange = external_lodash_["noop"] - } = this.props; - const change = calculateHueChange(e, this.props, this.container.current); - - if (change) { - onChange(change, e); - } - } - - handleMouseDown(e) { - this.handleChange(e); - window.addEventListener('mousemove', this.handleChange); - window.addEventListener('mouseup', this.handleMouseUp); - } - - handleMouseUp() { - this.unbindEventListeners(); - } - - preventKeyEvents(event) { - if (event.keyCode === external_wp_keycodes_["TAB"]) { - return; - } - - event.preventDefault(); - } - - unbindEventListeners() { - window.removeEventListener('mousemove', this.handleChange); - window.removeEventListener('mouseup', this.handleMouseUp); - } - - render() { - const { - hsl = {}, - instanceId - } = this.props; - const pointerLocation = { - left: `${hsl.h * 100 / 360}%` - }; - const shortcuts = { - up: () => this.increase(), - right: () => this.increase(), - 'shift+up': () => this.increase(10), - 'shift+right': () => this.increase(10), - pageup: () => this.increase(10), - end: () => this.increase(359), - down: () => this.decrease(), - left: () => this.decrease(), - 'shift+down': () => this.decrease(10), - 'shift+left': () => this.decrease(10), - pagedown: () => this.decrease(10), - home: () => this.decrease(359) - }; - return Object(external_wp_element_["createElement"])(keyboard_shortcuts, { - shortcuts: shortcuts - }, Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__hue" - }, Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__hue-gradient" - }), Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__hue-bar", - ref: this.container, - onMouseDown: this.handleMouseDown, - onTouchMove: this.handleChange, - onTouchStart: this.handleChange - }, Object(external_wp_element_["createElement"])("div", { - tabIndex: "0", - role: "slider", - "aria-valuemax": "1", - "aria-valuemin": "359", - "aria-valuenow": hsl.h, - "aria-orientation": "horizontal", - "aria-label": Object(external_wp_i18n_["__"])('Hue value in degrees, from 0 to 359.'), - "aria-describedby": `components-color-picker__hue-description-${instanceId}`, - className: "components-color-picker__hue-pointer", - style: pointerLocation, - onKeyDown: this.preventKeyEvents - }), Object(external_wp_element_["createElement"])(visually_hidden["a" /* default */], { - as: "p", - id: `components-color-picker__hue-description-${instanceId}` - }, Object(external_wp_i18n_["__"])('Move the arrow left or right to change hue.'))))); - } - -} -/* harmony default export */ var hue = (Object(external_wp_compose_["compose"])(external_wp_compose_["pure"], external_wp_compose_["withInstanceId"])(hue_Hue)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/text-control/index.js +Object(colord["b" /* extend */])([names["a" /* default */], a11y["a" /* default */]]); -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -/** - * @typedef OwnProps - * @property {string} label Label for the control. - * @property {boolean} [hideLabelFromVision] Whether to accessibly hide the label. - * @property {string} value Value of the input. - * @property {string} [help] Optional help text for the control. - * @property {string} [className] Classname passed to BaseControl wrapper - * @property {(value: string) => void} onChange Handle changes. - * @property {string} [type='text'] Type of the input. - */ - -/** @typedef {OwnProps & import('react').ComponentProps<'input'>} Props */ - -/** - * - * @param {Props} props Props - * @param {import('react').Ref} [ref] - */ - -function TextControl({ - label, - hideLabelFromVision, - value, - help, +function SinglePalette({ className, + clearColor, + colors, onChange, - type = 'text', - ...props -}, ref) { - const instanceId = Object(external_wp_compose_["useInstanceId"])(TextControl); - const id = `inspector-text-control-${instanceId}`; - - const onChangeValue = - /** @type {import('react').ChangeEvent} */ - event => onChange(event.target.value); - - return Object(external_wp_element_["createElement"])(base_control, { - label: label, - hideLabelFromVision: hideLabelFromVision, - id: id, - help: help, - className: className - }, Object(external_wp_element_["createElement"])("input", Object(esm_extends["a" /* default */])({ - className: "components-text-control__input", - type: type, - id: id, - value: value, - onChange: onChangeValue, - "aria-describedby": !!help ? id + '__help' : undefined, - ref: ref - }, props))); + value, + actions +}) { + const colorOptions = Object(external_wp_element_["useMemo"])(() => { + return Object(external_lodash_["map"])(colors, ({ + color, + name + }) => { + const colordColor = Object(colord["a" /* colord */])(color); + return Object(external_wp_element_["createElement"])(CircularOptionPicker.Option, { + key: color, + isSelected: value === color, + selectedIconProps: value === color ? { + fill: colordColor.contrast() > colordColor.contrast('#000') ? '#fff' : '#000' + } : {}, + tooltipText: name || // translators: %s: color hex code e.g: "#f00". + Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Color code: %s'), color), + style: { + backgroundColor: color, + color + }, + onClick: value === color ? clearColor : () => onChange(color), + "aria-label": name ? // translators: %s: The name of the color e.g: "vivid red". + Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Color: %s'), name) : // translators: %s: color hex code e.g: "#f00". + Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Color code: %s'), color) + }); + }); + }, [colors, value, onChange, clearColor]); + return Object(external_wp_element_["createElement"])(CircularOptionPicker, { + className: className, + options: colorOptions, + actions: actions + }); } -/* harmony default export */ var text_control = (Object(external_wp_element_["forwardRef"])(TextControl)); +function MultiplePalettes({ + className, + clearColor, + colors, + onChange, + value, + actions +}) { + return Object(external_wp_element_["createElement"])(v_stack_component, { + spacing: 3, + className: className + }, colors.map(({ + name, + colors: colorPalette + }, index) => { + return Object(external_wp_element_["createElement"])(v_stack_component, { + spacing: 2, + key: index + }, Object(external_wp_element_["createElement"])(ColorHeading, null, name), Object(external_wp_element_["createElement"])(SinglePalette, { + clearColor: clearColor, + colors: colorPalette, + onChange: onChange, + value: value, + actions: colors.length === index + 1 ? actions : null + })); + })); +} -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/inputs.js +function ColorPalette({ + clearable = true, + className, + colors, + disableCustomColors = false, + enableAlpha, + onChange, + value, + __experimentalHasMultipleOrigins = false +}) { + const clearColor = Object(external_wp_element_["useCallback"])(() => onChange(undefined), [onChange]); + const Component = __experimentalHasMultipleOrigins ? MultiplePalettes : SinglePalette; + + const renderCustomColorPicker = () => Object(external_wp_element_["createElement"])(LegacyAdapter, { + color: value, + onChange: color => onChange(color), + enableAlpha: enableAlpha + }); + + return Object(external_wp_element_["createElement"])(v_stack_component, { + spacing: 3, + className: className + }, !disableCustomColors && Object(external_wp_element_["createElement"])(Dropdown, { + renderContent: renderCustomColorPicker, + renderToggle: ({ + isOpen, + onToggle + }) => Object(external_wp_element_["createElement"])("button", { + className: "components-color-palette__custom-color", + "aria-expanded": isOpen, + "aria-haspopup": "true", + onClick: onToggle, + "aria-label": Object(external_wp_i18n_["__"])('Custom color picker'), + style: { + background: value + } + }, value) + }), Object(external_wp_element_["createElement"])(Component, { + clearable: clearable, + clearColor: clearColor, + colors: colors, + onChange: onChange, + value: value, + actions: !!clearable && Object(external_wp_element_["createElement"])(CircularOptionPicker.ButtonAction, { + onClick: clearColor + }, Object(external_wp_i18n_["__"])('Clear')) + })); +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/menu.js +/** + * WordPress dependencies + */ + +const menu_menu = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { + d: "M5 5v1.5h14V5H5zm0 7.8h14v-1.5H5v1.5zM5 19h14v-1.5H5V19z" +})); +/* harmony default export */ var library_menu = (menu_menu); + +// EXTERNAL MODULE: external ["wp","dom"] +var external_wp_dom_ = __webpack_require__("1CF3"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/navigable-container/container.js + + +// @ts-nocheck /** * External dependencies @@ -24076,774 +39742,227 @@ function TextControl({ +const MENU_ITEM_ROLES = ['menuitem', 'menuitemradio', 'menuitemcheckbox']; +function cycleValue(value, total, offset) { + const nextValue = value + offset; + if (nextValue < 0) { + return total + nextValue; + } else if (nextValue >= total) { + return nextValue - total; + } + return nextValue; +} -/** - * Internal dependencies - */ - - - - - -/* Wrapper for TextControl, only used to handle intermediate state while typing. */ - -class inputs_Input extends external_wp_element_["Component"] { +class container_NavigableContainer extends external_wp_element_["Component"] { constructor() { super(...arguments); - this.handleBlur = this.handleBlur.bind(this); - this.handleChange = this.handleChange.bind(this); - this.handleKeyDown = this.handleKeyDown.bind(this); + this.onKeyDown = this.onKeyDown.bind(this); + this.bindContainer = this.bindContainer.bind(this); + this.getFocusableContext = this.getFocusableContext.bind(this); + this.getFocusableIndex = this.getFocusableIndex.bind(this); } - handleBlur() { - const { - value, - valueKey, - onChange, - source - } = this.props; - onChange({ - source, - state: 'commit', - value, - valueKey - }); + componentDidMount() { + // We use DOM event listeners instead of React event listeners + // because we want to catch events from the underlying DOM tree + // The React Tree can be different from the DOM tree when using + // portals. Block Toolbars for instance are rendered in a separate + // React Trees. + this.container.addEventListener('keydown', this.onKeyDown); + this.container.addEventListener('focus', this.onFocus); } - handleChange(value) { - const { - valueKey, - onChange, - source - } = this.props; + componentWillUnmount() { + this.container.removeEventListener('keydown', this.onKeyDown); + this.container.removeEventListener('focus', this.onFocus); + } - if (value.length > 4 && isValidHex(value)) { - onChange({ - source, - state: 'commit', - value, - valueKey - }); - } else { - onChange({ - source, - state: 'draft', - value, - valueKey - }); + bindContainer(ref) { + const { + forwardedRef + } = this.props; + this.container = ref; + + if (Object(external_lodash_["isFunction"])(forwardedRef)) { + forwardedRef(ref); + } else if (forwardedRef && 'current' in forwardedRef) { + forwardedRef.current = ref; } } - handleKeyDown({ - keyCode - }) { - if (keyCode !== external_wp_keycodes_["ENTER"] && keyCode !== external_wp_keycodes_["UP"] && keyCode !== external_wp_keycodes_["DOWN"]) { - return; - } - + getFocusableContext(target) { const { - value, - valueKey, - onChange, - source + onlyBrowserTabstops } = this.props; - onChange({ - source, - state: 'commit', - value, - valueKey - }); - } + const finder = onlyBrowserTabstops ? external_wp_dom_["focus"].tabbable : external_wp_dom_["focus"].focusable; + const focusables = finder.find(this.container); + const index = this.getFocusableIndex(focusables, target); - render() { - const { - label, - value, - ...props - } = this.props; - return Object(external_wp_element_["createElement"])(text_control, Object(esm_extends["a" /* default */])({ - className: "components-color-picker__inputs-field", - label: label, - value: value, - onChange: newValue => this.handleChange(newValue), - onBlur: this.handleBlur, - onKeyDown: this.handleKeyDown - }, Object(external_lodash_["omit"])(props, ['onChange', 'valueKey', 'source']))); - } - -} -const PureButton = Object(external_wp_compose_["pure"])(build_module_button["a" /* default */]); -class inputs_Inputs extends external_wp_element_["Component"] { - constructor({ - hsl - }) { - super(...arguments); - const view = hsl.a === 1 ? 'hex' : 'rgb'; - this.state = { - view - }; - this.toggleViews = this.toggleViews.bind(this); - this.resetDraftValues = this.resetDraftValues.bind(this); - this.handleChange = this.handleChange.bind(this); - this.normalizeValue = this.normalizeValue.bind(this); - } - - static getDerivedStateFromProps(props, state) { - if (props.hsl.a !== 1 && state.view === 'hex') { + if (index > -1 && target) { return { - view: 'rgb' + index, + target, + focusables }; } return null; } - toggleViews() { - if (this.state.view === 'hex') { - this.setState({ - view: 'rgb' - }, this.resetDraftValues); - Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('RGB mode active')); - } else if (this.state.view === 'rgb') { - this.setState({ - view: 'hsl' - }, this.resetDraftValues); - Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('Hue/saturation/lightness mode active')); - } else if (this.state.view === 'hsl') { - if (this.props.hsl.a === 1) { - this.setState({ - view: 'hex' - }, this.resetDraftValues); - Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('Hex color mode active')); - } else { - this.setState({ - view: 'rgb' - }, this.resetDraftValues); - Object(external_wp_a11y_["speak"])(Object(external_wp_i18n_["__"])('RGB mode active')); + getFocusableIndex(focusables, target) { + const directIndex = focusables.indexOf(target); + + if (directIndex !== -1) { + return directIndex; + } + } + + onKeyDown(event) { + if (this.props.onKeyDown) { + this.props.onKeyDown(event); + } + + const { + getFocusableContext + } = this; + const { + cycle = true, + eventToOffset, + onNavigate = external_lodash_["noop"], + stopNavigationEvents + } = this.props; + const offset = eventToOffset(event); // eventToOffset returns undefined if the event is not handled by the component + + if (offset !== undefined && stopNavigationEvents) { + // Prevents arrow key handlers bound to the document directly interfering + event.stopImmediatePropagation(); // When navigating a collection of items, prevent scroll containers + // from scrolling. The preventDefault also prevents Voiceover from + // 'handling' the event, as voiceover will try to use arrow keys + // for highlighting text. + + const targetRole = event.target.getAttribute('role'); + + if (MENU_ITEM_ROLES.includes(targetRole)) { + event.preventDefault(); } } - } - resetDraftValues() { - return this.props.onChange({ - state: 'reset' - }); - } - - normalizeValue(valueKey, value) { - if (valueKey !== 'a') { - return value; - } - - if (value < 0) { - return 0; - } else if (value > 1) { - return 1; - } - - return Math.round(value * 100) / 100; - } - - handleChange({ - source, - state, - value, - valueKey - }) { - this.props.onChange({ - source, - state, - valueKey, - value: this.normalizeValue(valueKey, value) - }); - } - - renderFields() { - const { - disableAlpha = false - } = this.props; - - if (this.state.view === 'hex') { - return Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__inputs-fields" - }, Object(external_wp_element_["createElement"])(inputs_Input, { - source: this.state.view, - label: Object(external_wp_i18n_["__"])('Color value in hexadecimal'), - valueKey: "hex", - value: this.props.hex, - onChange: this.handleChange - })); - } else if (this.state.view === 'rgb') { - const legend = disableAlpha ? Object(external_wp_i18n_["__"])('Color value in RGB') : Object(external_wp_i18n_["__"])('Color value in RGBA'); - return Object(external_wp_element_["createElement"])("fieldset", null, Object(external_wp_element_["createElement"])(visually_hidden["a" /* default */], { - as: "legend" - }, legend), Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__inputs-fields" - }, Object(external_wp_element_["createElement"])(inputs_Input, { - source: this.state.view, - label: "r", - valueKey: "r", - value: this.props.rgb.r, - onChange: this.handleChange, - type: "number", - min: "0", - max: "255" - }), Object(external_wp_element_["createElement"])(inputs_Input, { - source: this.state.view, - label: "g", - valueKey: "g", - value: this.props.rgb.g, - onChange: this.handleChange, - type: "number", - min: "0", - max: "255" - }), Object(external_wp_element_["createElement"])(inputs_Input, { - source: this.state.view, - label: "b", - valueKey: "b", - value: this.props.rgb.b, - onChange: this.handleChange, - type: "number", - min: "0", - max: "255" - }), disableAlpha ? null : Object(external_wp_element_["createElement"])(inputs_Input, { - source: this.state.view, - label: "a", - valueKey: "a", - value: this.props.rgb.a, - onChange: this.handleChange, - type: "number", - min: "0", - max: "1", - step: "0.01" - }))); - } else if (this.state.view === 'hsl') { - const legend = disableAlpha ? Object(external_wp_i18n_["__"])('Color value in HSL') : Object(external_wp_i18n_["__"])('Color value in HSLA'); - return Object(external_wp_element_["createElement"])("fieldset", null, Object(external_wp_element_["createElement"])(visually_hidden["a" /* default */], { - as: "legend" - }, legend), Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__inputs-fields" - }, Object(external_wp_element_["createElement"])(inputs_Input, { - source: this.state.view, - label: "h", - valueKey: "h", - value: this.props.hsl.h, - onChange: this.handleChange, - type: "number", - min: "0", - max: "359" - }), Object(external_wp_element_["createElement"])(inputs_Input, { - source: this.state.view, - label: "s", - valueKey: "s", - value: this.props.hsl.s, - onChange: this.handleChange, - type: "number", - min: "0", - max: "100" - }), Object(external_wp_element_["createElement"])(inputs_Input, { - source: this.state.view, - label: "l", - valueKey: "l", - value: this.props.hsl.l, - onChange: this.handleChange, - type: "number", - min: "0", - max: "100" - }), disableAlpha ? null : Object(external_wp_element_["createElement"])(inputs_Input, { - source: this.state.view, - label: "a", - valueKey: "a", - value: this.props.hsl.a, - onChange: this.handleChange, - type: "number", - min: "0", - max: "1", - step: "0.05" - }))); - } - } - - render() { - return Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__inputs-wrapper" - }, this.renderFields(), Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__inputs-toggle-wrapper" - }, Object(external_wp_element_["createElement"])(PureButton, { - className: "components-color-picker__inputs-toggle", - icon: chevron_down["a" /* default */], - label: Object(external_wp_i18n_["__"])('Change color format'), - onClick: this.toggleViews - }))); - } - -} -/* harmony default export */ var inputs = (inputs_Inputs); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/saturation.js - - -/** - * Parts of this source were derived and modified from react-color, - * released under the MIT license. - * - * https://github.com/casesandberg/react-color/ - * - * Copyright (c) 2015 Case Sandberg - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - - -/** - * Internal dependencies - */ - - - - - -class saturation_Saturation extends external_wp_element_["Component"] { - constructor(props) { - super(props); - this.throttle = Object(external_lodash_["throttle"])((fn, data, e) => { - fn(data, e); - }, 50); - this.container = Object(external_wp_element_["createRef"])(); - this.saturate = this.saturate.bind(this); - this.brighten = this.brighten.bind(this); - this.handleChange = this.handleChange.bind(this); - this.handleMouseDown = this.handleMouseDown.bind(this); - this.handleMouseUp = this.handleMouseUp.bind(this); - } - - componentWillUnmount() { - this.throttle.cancel(); - this.unbindEventListeners(); - } - - saturate(amount = 0.01) { - const { - hsv, - onChange = external_lodash_["noop"] - } = this.props; - const intSaturation = Object(external_lodash_["clamp"])(hsv.s + Math.round(amount * 100), 0, 100); - const change = { - h: hsv.h, - s: intSaturation, - v: hsv.v, - a: hsv.a, - source: 'rgb' - }; - onChange(change); - } - - brighten(amount = 0.01) { - const { - hsv, - onChange = external_lodash_["noop"] - } = this.props; - const intValue = Object(external_lodash_["clamp"])(hsv.v + Math.round(amount * 100), 0, 100); - const change = { - h: hsv.h, - s: hsv.s, - v: intValue, - a: hsv.a, - source: 'rgb' - }; - onChange(change); - } - - handleChange(e) { - const { - onChange = external_lodash_["noop"] - } = this.props; - const change = calculateSaturationChange(e, this.props, this.container.current); - this.throttle(onChange, change, e); - } - - handleMouseDown(e) { - this.handleChange(e); - window.addEventListener('mousemove', this.handleChange); - window.addEventListener('mouseup', this.handleMouseUp); - } - - handleMouseUp() { - this.unbindEventListeners(); - } - - preventKeyEvents(event) { - if (event.keyCode === external_wp_keycodes_["TAB"]) { + if (!offset) { return; } - event.preventDefault(); - } + const context = getFocusableContext(event.target.ownerDocument.activeElement); - unbindEventListeners() { - window.removeEventListener('mousemove', this.handleChange); - window.removeEventListener('mouseup', this.handleMouseUp); + if (!context) { + return; + } + + const { + index, + focusables + } = context; + const nextIndex = cycle ? cycleValue(index, focusables.length, offset) : index + offset; + + if (nextIndex >= 0 && nextIndex < focusables.length) { + focusables[nextIndex].focus(); + onNavigate(nextIndex, focusables[nextIndex]); + } } render() { const { - hsv, - hsl, - instanceId + children, + ...props } = this.props; - const pointerLocation = { - top: `${-hsv.v + 100}%`, - left: `${hsv.s}%` - }; - const shortcuts = { - up: () => this.brighten(), - 'shift+up': () => this.brighten(0.1), - pageup: () => this.brighten(1), - down: () => this.brighten(-0.01), - 'shift+down': () => this.brighten(-0.1), - pagedown: () => this.brighten(-1), - right: () => this.saturate(), - 'shift+right': () => this.saturate(0.1), - end: () => this.saturate(1), - left: () => this.saturate(-0.01), - 'shift+left': () => this.saturate(-0.1), - home: () => this.saturate(-1) - }; - /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */ - - return Object(external_wp_element_["createElement"])(keyboard_shortcuts, { - shortcuts: shortcuts - }, Object(external_wp_element_["createElement"])("div", { - style: { - background: `hsl(${hsl.h},100%, 50%)` - }, - className: "components-color-picker__saturation-color", - ref: this.container, - onMouseDown: this.handleMouseDown, - onTouchMove: this.handleChange, - onTouchStart: this.handleChange, - role: "application" - }, Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__saturation-white" - }), Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__saturation-black" - }), Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { - "aria-label": Object(external_wp_i18n_["__"])('Choose a shade'), - "aria-describedby": `color-picker-saturation-${instanceId}`, - className: "components-color-picker__saturation-pointer", - style: pointerLocation, - onKeyDown: this.preventKeyEvents - }), Object(external_wp_element_["createElement"])(visually_hidden["a" /* default */], { - id: `color-picker-saturation-${instanceId}` - }, Object(external_wp_i18n_["__"])('Use your arrow keys to change the base color. Move up to lighten the color, down to darken, left to decrease saturation, and right to increase saturation.')))); - /* eslint-enable jsx-a11y/no-noninteractive-element-interactions */ + return Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({ + ref: this.bindContainer + }, Object(external_lodash_["omit"])(props, ['stopNavigationEvents', 'eventToOffset', 'onNavigate', 'onKeyDown', 'cycle', 'onlyBrowserTabstops', 'forwardedRef'])), children); } } -/* harmony default export */ var saturation = (Object(external_wp_compose_["compose"])(external_wp_compose_["pure"], external_wp_compose_["withInstanceId"])(saturation_Saturation)); -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-picker/index.js +const forwardedNavigableContainer = (props, ref) => { + return Object(external_wp_element_["createElement"])(container_NavigableContainer, Object(esm_extends["a" /* default */])({}, props, { + forwardedRef: ref + })); +}; + +forwardedNavigableContainer.displayName = 'NavigableContainer'; +/* harmony default export */ var navigable_container_container = (Object(external_wp_element_["forwardRef"])(forwardedNavigableContainer)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/navigable-container/menu.js -/** - * Parts of this source were derived and modified from react-color, - * released under the MIT license. - * - * https://github.com/casesandberg/react-color/ - * - * Copyright (c) 2015 Case Sandberg - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ +// @ts-nocheck /** * External dependencies */ - /** * WordPress dependencies */ + /** * Internal dependencies */ +function NavigableMenu({ + role = 'menu', + orientation = 'vertical', + ...rest +}, ref) { + const eventToOffset = evt => { + const { + keyCode + } = evt; + let next = [external_wp_keycodes_["DOWN"]]; + let previous = [external_wp_keycodes_["UP"]]; + if (orientation === 'horizontal') { + next = [external_wp_keycodes_["RIGHT"]]; + previous = [external_wp_keycodes_["LEFT"]]; + } + if (orientation === 'both') { + next = [external_wp_keycodes_["RIGHT"], external_wp_keycodes_["DOWN"]]; + previous = [external_wp_keycodes_["LEFT"], external_wp_keycodes_["UP"]]; + } - - -const toLowerCase = value => String(value).toLowerCase(); - -const color_picker_isValueEmpty = data => { - if (data.source === 'hex' && data.hex === undefined) { - return true; - } - - if (data.source === 'hsl' && (data.h === undefined || data.s === undefined || data.l === undefined)) { - return true; - } - /** - * Check that if source is `rgb`: - * `r`, `g` or `b` properties are not undefined - * OR (||) `h`, `s`, `v` or `a` properties are not undefined - * OR (||) `h`, `s`, `l` or `a` properties are not undefined - * - * before it was checking with NOT(!) statement witch for `0` (bool|int) values returns `true` - * this is a typecasting issue only visible for hex values that derive from #000000 - */ - - - return data.source === 'rgb' && (data.r === undefined || data.g === undefined || data.b === undefined) && (data.h === undefined || data.s === undefined || data.v === undefined || data.a === undefined) && (data.h === undefined || data.s === undefined || data.l === undefined || data.a === undefined); -}; - -const isValidColor = colors => colors.hex ? isValidHex(colors.hex) : simpleCheckForValidColor(colors); -/** - * Function that creates the new color object - * from old data and the new value. - * - * @param {Object} oldColors The old color object. - * @param {string} oldColors.hex - * @param {Object} oldColors.rgb - * @param {number} oldColors.rgb.r - * @param {number} oldColors.rgb.g - * @param {number} oldColors.rgb.b - * @param {number} oldColors.rgb.a - * @param {Object} oldColors.hsl - * @param {number} oldColors.hsl.h - * @param {number} oldColors.hsl.s - * @param {number} oldColors.hsl.l - * @param {number} oldColors.hsl.a - * @param {string} oldColors.draftHex Same format as oldColors.hex - * @param {Object} oldColors.draftRgb Same format as oldColors.rgb - * @param {Object} oldColors.draftHsl Same format as oldColors.hsl - * @param {Object} data Data containing the new value to update. - * @param {Object} data.source One of `hex`, `rgb`, `hsl`. - * @param {string|number} data.value Value to update. - * @param {string} data.valueKey Depends on `data.source` values: - * - when source = `rgb`, valuKey can be `r`, `g`, `b`, or `a`. - * - when source = `hsl`, valuKey can be `h`, `s`, `l`, or `a`. - * @return {Object} A new color object for a specific source. For example: - * { source: 'rgb', r: 1, g: 2, b:3, a:0 } - */ - - -const dataToColors = (oldColors, { - source, - valueKey, - value -}) => { - if (source === 'hex') { - return { - source, - [source]: value - }; - } - - return { - source, - ...{ ...oldColors[source], - ...{ - [valueKey]: value - } + if (Object(external_lodash_["includes"])(next, keyCode)) { + return 1; + } else if (Object(external_lodash_["includes"])(previous, keyCode)) { + return -1; + } else if (Object(external_lodash_["includes"])([external_wp_keycodes_["DOWN"], external_wp_keycodes_["UP"], external_wp_keycodes_["LEFT"], external_wp_keycodes_["RIGHT"]], keyCode)) { + // Key press should be handled, e.g. have event propagation and + // default behavior handled by NavigableContainer but not result + // in an offset. + return 0; } }; -}; - -class color_picker_ColorPicker extends external_wp_element_["Component"] { - constructor({ - color = '0071a1' - }) { - super(...arguments); - const colors = colorToState(color); - this.state = { ...colors, - draftHex: toLowerCase(colors.hex), - draftRgb: colors.rgb, - draftHsl: colors.hsl - }; - this.commitValues = this.commitValues.bind(this); - this.setDraftValues = this.setDraftValues.bind(this); - this.resetDraftValues = this.resetDraftValues.bind(this); - this.handleInputChange = this.handleInputChange.bind(this); - } - - commitValues(data) { - const { - oldHue, - onChangeComplete = external_lodash_["noop"] - } = this.props; - - if (isValidColor(data)) { - const colors = colorToState(data, data.h || oldHue); - this.setState({ ...colors, - draftHex: toLowerCase(colors.hex), - draftHsl: colors.hsl, - draftRgb: colors.rgb - }, Object(external_lodash_["debounce"])(Object(external_lodash_["partial"])(onChangeComplete, colors), 100)); - } - } - - resetDraftValues() { - this.setState({ - draftHex: this.state.hex, - draftHsl: this.state.hsl, - draftRgb: this.state.rgb - }); - } - - setDraftValues(data) { - switch (data.source) { - case 'hex': - this.setState({ - draftHex: toLowerCase(data.hex) - }); - break; - - case 'rgb': - this.setState({ - draftRgb: data - }); - break; - - case 'hsl': - this.setState({ - draftHsl: data - }); - break; - } - } - - handleInputChange(data) { - switch (data.state) { - case 'reset': - this.resetDraftValues(); - break; - - case 'commit': - const colors = dataToColors(this.state, data); - - if (!color_picker_isValueEmpty(colors)) { - this.commitValues(colors); - } - - break; - - case 'draft': - this.setDraftValues(dataToColors(this.state, data)); - break; - } - } - - render() { - const { - className, - disableAlpha - } = this.props; - const { - color, - hsl, - hsv, - rgb, - draftHex, - draftHsl, - draftRgb - } = this.state; - const classes = classnames_default()(className, { - 'components-color-picker': true, - 'is-alpha-disabled': disableAlpha, - 'is-alpha-enabled': !disableAlpha - }); - return Object(external_wp_element_["createElement"])("div", { - className: classes - }, Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__saturation" - }, Object(external_wp_element_["createElement"])(saturation, { - hsl: hsl, - hsv: hsv, - onChange: this.commitValues - })), Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__body" - }, Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__controls" - }, Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__swatch" - }, Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__active", - style: { - backgroundColor: color && color.toRgbString() - } - })), Object(external_wp_element_["createElement"])("div", { - className: "components-color-picker__toggles" - }, Object(external_wp_element_["createElement"])(hue, { - hsl: hsl, - onChange: this.commitValues - }), disableAlpha ? null : Object(external_wp_element_["createElement"])(color_picker_alpha, { - rgb: rgb, - hsl: hsl, - onChange: this.commitValues - }))), Object(external_wp_element_["createElement"])(inputs, { - rgb: draftRgb, - hsl: draftHsl, - hex: draftHex, - onChange: this.handleInputChange, - disableAlpha: disableAlpha - }))); - } + return Object(external_wp_element_["createElement"])(navigable_container_container, Object(esm_extends["a" /* default */])({ + ref: ref, + stopNavigationEvents: true, + onlyBrowserTabstops: false, + role: role, + "aria-orientation": role === 'presentation' ? null : orientation, + eventToOffset: eventToOffset + }, rest)); } +/* harmony default export */ var navigable_container_menu = (Object(external_wp_element_["forwardRef"])(NavigableMenu)); -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-edit/index.js +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/dropdown-menu/index.js +// @ts-nocheck + /** * External dependencies */ @@ -24855,7 +39974,6 @@ class color_picker_ColorPicker extends external_wp_element_["Component"] { - /** * Internal dependencies */ @@ -24864,224 +39982,134 @@ class color_picker_ColorPicker extends external_wp_element_["Component"] { +function mergeProps(defaultProps = {}, props = {}) { + const mergedProps = { ...defaultProps, + ...props + }; + if (props.className && defaultProps.className) { + mergedProps.className = classnames_default()(props.className, defaultProps.className); + } - -function DropdownOpenOnMount({ - shouldOpen, - isOpen, - onToggle -}) { - Object(external_wp_element_["useEffect"])(() => { - if (shouldOpen && !isOpen) { - onToggle(); - } - }, []); - return null; + return mergedProps; } -function ColorOption({ - color, - name, - slug, - onChange, - onRemove, - onConfirm, - confirmLabel = Object(external_wp_i18n_["__"])('OK'), - isEditingNameOnMount = false, - isEditingColorOnMount = false, - onCancel, - immutableColorSlugs = [] -}) { - const [isHover, setIsHover] = Object(external_wp_element_["useState"])(false); - const [isFocused, setIsFocused] = Object(external_wp_element_["useState"])(false); - const [isEditingName, setIsEditingName] = Object(external_wp_element_["useState"])(isEditingNameOnMount); - const [isShowingAdvancedPanel, setIsShowingAdvancedPanel] = Object(external_wp_element_["useState"])(false); - const isShowingControls = (isHover || isFocused || isEditingName || isShowingAdvancedPanel) && !immutableColorSlugs.includes(slug); - return Object(external_wp_element_["createElement"])("div", { - tabIndex: 0, - className: classnames_default()('components-color-edit__color-option', { - 'is-hover': isHover && !isEditingName && !isShowingAdvancedPanel - }), - onMouseEnter: () => setIsHover(true), - onMouseLeave: () => setIsHover(false), - onFocus: () => setIsFocused(true), - onBlur: () => setIsFocused(false), - "aria-label": name ? // translators: %s: The name of the color e.g: "vivid red". - Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Color: %s'), name) : // translators: %s: color hex code e.g: "#f00". - Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Color code: %s'), color) - }, Object(external_wp_element_["createElement"])("div", { - className: "components-color-edit__color-option-main-area" - }, Object(external_wp_element_["createElement"])(Dropdown, { +function DropdownMenu(dropdownMenuProps) { + const { + children, + className, + controls, + icon = library_menu, + label, + popoverProps, + toggleProps, + menuProps, + disableOpenOnArrowDown = false, + text, + noIcons + } = dropdownMenuProps; + + if (Object(external_lodash_["isEmpty"])(controls) && !Object(external_lodash_["isFunction"])(children)) { + return null; + } // Normalize controls to nested array of objects (sets of controls) + + + let controlSets; + + if (!Object(external_lodash_["isEmpty"])(controls)) { + controlSets = controls; + + if (!Array.isArray(controlSets[0])) { + controlSets = [controlSets]; + } + } + + const mergedPopoverProps = mergeProps({ + className: 'components-dropdown-menu__popover' + }, popoverProps); + return Object(external_wp_element_["createElement"])(Dropdown, { + className: classnames_default()('components-dropdown-menu', className), + popoverProps: mergedPopoverProps, renderToggle: ({ isOpen, onToggle - }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(DropdownOpenOnMount, { - shouldOpen: isEditingColorOnMount, - isOpen: isOpen, - onToggle: onToggle - }), Object(external_wp_element_["createElement"])(CircularOptionPicker.Option, { - style: { - backgroundColor: color, - color - }, - "aria-expanded": isOpen, - "aria-haspopup": "true", - onClick: onToggle, - "aria-label": Object(external_wp_i18n_["__"])('Edit color value') - })), - renderContent: () => Object(external_wp_element_["createElement"])(color_picker_ColorPicker, { - color: color, - onChangeComplete: newColor => onChange({ - color: newColor.hex, - slug, - name - }), - disableAlpha: true - }) - }), !isEditingName && Object(external_wp_element_["createElement"])("div", { - className: "components-color-edit__color-option-color-name" - }, name), isEditingName && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(text_control, { - className: "components-color-edit__color-option-color-name-input", - hideLabelFromVision: true, - onChange: newColorName => onChange({ - color, - slug: Object(external_lodash_["kebabCase"])(newColorName), - name: newColorName - }), - label: Object(external_wp_i18n_["__"])('Color name'), - placeholder: Object(external_wp_i18n_["__"])('Name'), - value: name - }), Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { - onClick: () => { - setIsEditingName(false); - setIsFocused(false); + }) => { + var _toggleProps$showTool; - if (onConfirm) { - onConfirm(); - } + const openOnArrowDown = event => { + if (disableOpenOnArrowDown) { + return; + } + + if (!isOpen && event.keyCode === external_wp_keycodes_["DOWN"]) { + event.preventDefault(); + onToggle(); + } + }; + + const mergedToggleProps = mergeProps({ + className: classnames_default()('components-dropdown-menu__toggle', { + 'is-opened': isOpen + }) + }, toggleProps); + return Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], Object(esm_extends["a" /* default */])({}, mergedToggleProps, { + icon: icon, + onClick: event => { + onToggle(event); + + if (mergedToggleProps.onClick) { + mergedToggleProps.onClick(event); + } + }, + onKeyDown: event => { + openOnArrowDown(event); + + if (mergedToggleProps.onKeyDown) { + mergedToggleProps.onKeyDown(event); + } + }, + "aria-haspopup": "true", + "aria-expanded": isOpen, + label: label, + text: text, + showTooltip: (_toggleProps$showTool = toggleProps === null || toggleProps === void 0 ? void 0 : toggleProps.showTooltip) !== null && _toggleProps$showTool !== void 0 ? _toggleProps$showTool : true + }), mergedToggleProps.children); }, - isPrimary: true - }, confirmLabel)), !isEditingName && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { - className: classnames_default()({ - 'components-color-edit__hidden-control': !isShowingControls - }), - icon: edit["a" /* default */], - label: Object(external_wp_i18n_["__"])('Edit color name'), - onClick: () => setIsEditingName(true) - }), Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { - className: classnames_default()({ - 'components-color-edit__hidden-control': !isShowingControls - }), - icon: library_close["a" /* default */], - label: Object(external_wp_i18n_["__"])('Remove color'), - onClick: onRemove - })), Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { - className: classnames_default()({ - 'components-color-edit__hidden-control': !isShowingControls - }), - icon: isShowingAdvancedPanel ? chevron_up["a" /* default */] : chevron_down["a" /* default */], - label: Object(external_wp_i18n_["__"])('Additional color settings'), - onClick: () => { - if (isShowingAdvancedPanel) { - setIsFocused(false); - } + renderContent: props => { + const mergedMenuProps = mergeProps({ + 'aria-label': label, + className: classnames_default()('components-dropdown-menu__menu', { + 'no-icons': noIcons + }) + }, menuProps); + return Object(external_wp_element_["createElement"])(navigable_container_menu, Object(esm_extends["a" /* default */])({}, mergedMenuProps, { + role: "menu" + }), Object(external_lodash_["isFunction"])(children) ? children(props) : null, Object(external_lodash_["flatMap"])(controlSets, (controlSet, indexOfSet) => controlSet.map((control, indexOfControl) => Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { + key: [indexOfSet, indexOfControl].join(), + onClick: event => { + event.stopPropagation(); + props.onClose(); - setIsShowingAdvancedPanel(!isShowingAdvancedPanel); - }, - "aria-expanded": isShowingAdvancedPanel - })), onCancel && Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { - className: "components-color-edit__cancel-button", - onClick: onCancel - }, Object(external_wp_i18n_["__"])('Cancel')), isShowingAdvancedPanel && Object(external_wp_element_["createElement"])(text_control, { - className: "components-color-edit__slug-input", - onChange: newSlug => onChange({ - color, - slug: newSlug, - name - }), - label: Object(external_wp_i18n_["__"])('Slug'), - value: slug - })); -} - -function ColorInserter({ - onInsert, - onCancel -}) { - const [color, setColor] = Object(external_wp_element_["useState"])({ - color: '#fff', - name: '', - slug: '' - }); - return Object(external_wp_element_["createElement"])(ColorOption, { - color: color.color, - name: color.name, - slug: color.slug, - onChange: setColor, - confirmLabel: Object(external_wp_i18n_["__"])('Save'), - onConfirm: () => onInsert(color), - isEditingNameOnMount: true, - isEditingColorOnMount: true, - onCancel: onCancel + if (control.onClick) { + control.onClick(); + } + }, + className: classnames_default()('components-dropdown-menu__menu-item', { + 'has-separator': indexOfSet > 0 && indexOfControl === 0, + 'is-active': control.isActive, + 'is-icon-only': !control.title + }), + icon: control.icon, + label: control.label, + "aria-checked": control.role === 'menuitemcheckbox' || control.role === 'menuitemradio' ? control.isActive : undefined, + role: control.role === 'menuitemcheckbox' || control.role === 'menuitemradio' ? control.role : 'menuitem', + disabled: control.isDisabled + }, control.title)))); + } }); } -function ColorEdit({ - colors, - onChange, - emptyUI, - immutableColorSlugs, - canReset = true -}) { - const [isInsertingColor, setIsInsertingColor] = Object(external_wp_element_["useState"])(false); - return Object(external_wp_element_["createElement"])(base_control, null, Object(external_wp_element_["createElement"])("fieldset", null, Object(external_wp_element_["createElement"])("div", { - className: "components-color-edit__label-and-insert-container" - }, Object(external_wp_element_["createElement"])("legend", null, Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(base_control.VisualLabel, null, Object(external_wp_i18n_["__"])('Color palette')))), !isInsertingColor && Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { - onClick: () => { - setIsInsertingColor(true); - }, - className: "components-color-edit__insert-button", - icon: plus["a" /* default */] - })), Object(external_wp_element_["createElement"])("div", null, !Object(external_lodash_["isEmpty"])(colors) && colors.map((color, index) => { - return Object(external_wp_element_["createElement"])(ColorOption, { - key: index, - color: color.color, - name: color.name, - slug: color.slug, - immutableColorSlugs: immutableColorSlugs, - onChange: newColor => { - onChange(colors.map((currentColor, currentIndex) => { - if (currentIndex === index) { - return newColor; - } - - return currentColor; - })); - }, - onRemove: () => { - onChange(colors.filter((_currentColor, currentIndex) => { - if (currentIndex === index) { - return false; - } - - return true; - })); - } - }); - }), isInsertingColor && Object(external_wp_element_["createElement"])(ColorInserter, { - onInsert: newColor => { - setIsInsertingColor(false); - onChange([...(colors || []), newColor]); - }, - onCancel: () => setIsInsertingColor(false) - }), !isInsertingColor && Object(external_lodash_["isEmpty"])(colors) && emptyUI), !!canReset && Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { - isSmall: true, - isSecondary: true, - className: "components-color-edit__reset-button", - onClick: () => onChange() - }, Object(external_wp_i18n_["__"])('Reset')))); -} +/* harmony default export */ var dropdown_menu = (DropdownMenu); // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-indicator/index.js @@ -25105,80 +40133,353 @@ const ColorIndicator = ({ /* harmony default export */ var color_indicator = (ColorIndicator); -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-palette/index.js +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/item-group/item/hook.js +/** + * External dependencies + */ +// eslint-disable-next-line no-restricted-imports + +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + + + + + +function useItem(props) { + const { + as: asProp, + className, + onClick, + role = 'listitem', + size: sizeProp, + ...otherProps + } = Object(use_context_system["a" /* useContextSystem */])(props, 'Item'); + const { + spacedAround, + size: contextSize + } = useItemGroupContext(); + const size = sizeProp || contextSize; + const as = asProp || (typeof onClick !== 'undefined' ? 'button' : 'div'); + const cx = Object(use_cx["a" /* useCx */])(); + const classes = Object(external_wp_element_["useMemo"])(() => cx(as === 'button' && unstyledButton, itemSizes[size] || itemSizes.medium, styles_item, spacedAround && styles_spacedAround, className), [as, className, size, spacedAround]); + const wrapperClassName = cx(itemWrapper); + return { + as, + className: classes, + onClick, + wrapperClassName, + role, + ...otherProps + }; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/item-group/item/component.js + + + +/** + * External dependencies + */ +// eslint-disable-next-line no-restricted-imports + +/** + * Internal dependencies + */ + + + + +function component_Item(props, forwardedRef) { + const { + role, + wrapperClassName, + ...otherProps + } = useItem(props); + return Object(external_wp_element_["createElement"])("div", { + role: role, + className: wrapperClassName + }, Object(external_wp_element_["createElement"])(view_component["a" /* default */], Object(esm_extends["a" /* default */])({}, otherProps, { + ref: forwardedRef + }))); +} + +/* harmony default export */ var item_component = (Object(context_connect["a" /* contextConnect */])(component_Item, 'Item')); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-edit/styles.js + + +function color_edit_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } + +/** + * External dependencies + */ + +/** + * Internal dependencies + */ + + + + + + + + + + +const ColorIndicatorStyled = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(color_indicator, true ? { + target: "e3doru19" +} : undefined)("&&{display:block;border-radius:50%;border:0;height:", space(6), ";width:", space(6), ";margin-left:0;padding:0;}" + ( true ? "" : undefined)); +const ColorNameInputControl = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(input_control, true ? { + target: "e3doru18" +} : undefined)(Container, "{background:", COLORS.gray[100], ";border-radius:2px;", Input, Input, Input, Input, "{height:", space(8), ";}", BackdropUI, BackdropUI, BackdropUI, "{border-color:transparent;box-shadow:none;}}" + ( true ? "" : undefined)); +const ColorItem = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(item_component, true ? { + target: "e3doru17" +} : undefined)("padding:3px 0 3px ", space(3), ";height:calc( 40px - ", config_values.borderWidth, " );" + ( true ? "" : undefined)); +const ColorNameContainer = Object(emotion_styled_base_browser_esm["a" /* default */])("span", true ? { + target: "e3doru16" +} : undefined)("line-height:", space(8), ";margin-left:", space(2), ";" + ( true ? "" : undefined)); +const styles_ColorHeading = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(heading_component, true ? { + target: "e3doru15" +} : undefined)("text-transform:uppercase;line-height:", space(6), ";font-weight:500;&&&{font-size:11px;margin-bottom:0;}" + ( true ? "" : undefined)); +const ColorActionsContainer = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(view_component["a" /* default */], true ? { + target: "e3doru14" +} : undefined)("height:", space(6), ";display:flex;" + ( true ? "" : undefined)); +const ColorHStackHeader = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(h_stack_component, true ? { + target: "e3doru13" +} : undefined)("margin-bottom:", space(2), ";" + ( true ? "" : undefined)); +const ColorEditStyles = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(view_component["a" /* default */], true ? { + target: "e3doru12" +} : undefined)( true ? { + name: "u6wnko", + styles: "&&&{.components-button.has-icon{min-width:0;padding:0;}}" +} : undefined); +const DoneButton = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(build_module_button["a" /* default */], true ? { + target: "e3doru11" +} : undefined)("&&{color:", COLORS.ui.theme, ";}" + ( true ? "" : undefined)); +const RemoveButton = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(build_module_button["a" /* default */], true ? { + target: "e3doru10" +} : undefined)("&&{margin-top:", space(1), ";}" + ( true ? "" : undefined)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/color-edit/index.js + /** * External dependencies */ - /** * WordPress dependencies */ + + /** * Internal dependencies */ -function ColorPalette({ - clearable = true, - className, - colors, - disableCustomColors = false, - onChange, - value + + + + + + + + + + +function ColorNameInput({ + value, + onChange }) { - const clearColor = Object(external_wp_element_["useCallback"])(() => onChange(undefined), [onChange]); - const colorOptions = Object(external_wp_element_["useMemo"])(() => { - return Object(external_lodash_["map"])(colors, ({ - color, - name - }) => Object(external_wp_element_["createElement"])(CircularOptionPicker.Option, { - key: color, - isSelected: value === color, - selectedIconProps: value === color ? { - fill: tinycolor_default.a.mostReadable(color, ['#000', '#fff']).toHexString() - } : {}, - tooltipText: name || // translators: %s: color hex code e.g: "#f00". - Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Color code: %s'), color), - style: { - backgroundColor: color, - color - }, - onClick: value === color ? clearColor : () => onChange(color), - "aria-label": name ? // translators: %s: The name of the color e.g: "vivid red". - Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Color: %s'), name) : // translators: %s: color hex code e.g: "#f00". - Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Color code: %s'), color) - })); - }, [colors, value, onChange, clearColor]); - - const renderCustomColorPicker = () => Object(external_wp_element_["createElement"])(color_picker_ColorPicker, { - color: value, - onChangeComplete: color => onChange(color.hex), - disableAlpha: true + return Object(external_wp_element_["createElement"])(ColorNameInputControl, { + label: Object(external_wp_i18n_["__"])('Color name'), + hideLabelFromVision: true, + value: value, + onChange: onChange }); +} - return Object(external_wp_element_["createElement"])(CircularOptionPicker, { - className: className, - options: colorOptions, - actions: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, !disableCustomColors && Object(external_wp_element_["createElement"])(CircularOptionPicker.DropdownLinkAction, { - dropdownProps: { - renderContent: renderCustomColorPicker, - contentClassName: 'components-color-palette__picker' - }, - buttonProps: { - 'aria-label': Object(external_wp_i18n_["__"])('Custom color picker') - }, - linkText: Object(external_wp_i18n_["__"])('Custom color') - }), !!clearable && Object(external_wp_element_["createElement"])(CircularOptionPicker.ButtonAction, { - onClick: clearColor - }, Object(external_wp_i18n_["__"])('Clear'))) - }); +function ColorOption({ + color, + onChange, + isEditing, + onStartEditing, + onRemove, + onStopEditing +}) { + const focusOutsideProps = Object(external_wp_compose_["__experimentalUseFocusOutside"])(onStopEditing); + return Object(external_wp_element_["createElement"])(ColorItem, Object(esm_extends["a" /* default */])({ + as: "div", + onClick: onStartEditing + }, isEditing ? focusOutsideProps : {}), Object(external_wp_element_["createElement"])(h_stack_component, { + justify: "flex-start" + }, Object(external_wp_element_["createElement"])(flex_item_component, null, Object(external_wp_element_["createElement"])(ColorIndicatorStyled, { + colorValue: color.color + })), Object(external_wp_element_["createElement"])(flex_item_component, null, isEditing ? Object(external_wp_element_["createElement"])(ColorNameInput, { + value: color.name, + onChange: nextName => onChange({ ...color, + name: nextName, + slug: external_lodash_default()(nextName) + }) + }) : Object(external_wp_element_["createElement"])(ColorNameContainer, null, color.name)), isEditing && Object(external_wp_element_["createElement"])(flex_item_component, null, Object(external_wp_element_["createElement"])(RemoveButton, { + isSmall: true, + icon: line_solid["a" /* default */], + label: Object(external_wp_i18n_["__"])('Remove color'), + onClick: onRemove + }))), isEditing && Object(external_wp_element_["createElement"])(build_module_popover["a" /* default */], { + position: "bottom left", + className: "components-color-edit__color-popover" + }, Object(external_wp_element_["createElement"])(LegacyAdapter, { + color: color.color, + onChange: newColor => onChange({ ...color, + color: newColor + }) + }))); +} + +function ColorPaletteEditListView({ + colors, + onChange, + editingColor, + setEditingColor +}) { + // When unmounting the component if there are empty colors (the user did not complete the insertion) clean them. + const colorReference = Object(external_wp_element_["useRef"])(); + Object(external_wp_element_["useEffect"])(() => { + colorReference.current = colors; + }, [colors]); + Object(external_wp_element_["useEffect"])(() => { + return () => { + if (colorReference.current.some(({ + slug + }) => !slug)) { + const newColors = colorReference.current.filter(({ + slug + }) => slug); + onChange(newColors.length ? newColors : undefined); + } + }; + }, []); + return Object(external_wp_element_["createElement"])(v_stack_component, { + spacing: 3 + }, Object(external_wp_element_["createElement"])(item_group_component, { + isBordered: true, + isSeparated: true + }, colors.map((color, index) => Object(external_wp_element_["createElement"])(ColorOption, { + key: index, + color: color, + onStartEditing: () => { + if (editingColor !== index) { + setEditingColor(index); + } + }, + onChange: newColor => { + onChange(colors.map((currentColor, currentIndex) => { + if (currentIndex === index) { + return newColor; + } + + return currentColor; + })); + }, + onRemove: () => { + setEditingColor(null); + const newColors = colors.filter((_currentColor, currentIndex) => { + if (currentIndex === index) { + return false; + } + + return true; + }); + onChange(newColors.length ? newColors : undefined); + }, + isEditing: index === editingColor, + onStopEditing: () => { + if (index === editingColor) { + setEditingColor(null); + } + } + })))); +} + +const EMPTY_ARRAY = []; +function ColorEdit({ + colors = EMPTY_ARRAY, + onChange +}) { + const [isEditing, setIsEditing] = Object(external_wp_element_["useState"])(false); + const [editingColor, setEditingColor] = Object(external_wp_element_["useState"])(null); + const isAdding = isEditing && editingColor && colors[editingColor] && !colors[editingColor].slug; + const hasColors = colors.length > 0; + return Object(external_wp_element_["createElement"])(ColorEditStyles, null, Object(external_wp_element_["createElement"])(ColorHStackHeader, null, Object(external_wp_element_["createElement"])(styles_ColorHeading, null, Object(external_wp_i18n_["__"])('Custom')), Object(external_wp_element_["createElement"])(ColorActionsContainer, null, isEditing && Object(external_wp_element_["createElement"])(DoneButton, { + isSmall: true, + onClick: () => { + setIsEditing(false); + setEditingColor(null); + } + }, Object(external_wp_i18n_["__"])('Done')), Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { + isSmall: true, + isPressed: isAdding, + icon: plus["a" /* default */], + label: Object(external_wp_i18n_["__"])('Add custom color'), + onClick: () => { + onChange([...colors, { + color: '#000', + name: '', + slug: '' + }]); + setIsEditing(true); + setEditingColor(colors.length); + } + }), !isEditing && Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { + disabled: !hasColors, + isSmall: true, + icon: more_vertical["a" /* default */], + label: Object(external_wp_i18n_["__"])('Edit colors'), + onClick: () => { + setIsEditing(true); + } + }), isEditing && Object(external_wp_element_["createElement"])(dropdown_menu, { + icon: more_vertical["a" /* default */], + label: Object(external_wp_i18n_["__"])('Custom color options'), + toggleProps: { + isSmall: true + } + }, ({ + onClose + }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(navigable_container_menu, { + role: "menu" + }, Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { + variant: "tertiary", + onClick: () => { + setEditingColor(null); + setIsEditing(false); + onChange(); + onClose(); + } + }, Object(external_wp_i18n_["__"])('Remove all custom colors'))))))), hasColors && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, isEditing && Object(external_wp_element_["createElement"])(ColorPaletteEditListView, { + colors: colors, + onChange: onChange, + editingColor: editingColor, + setEditingColor: setEditingColor + }), !isEditing && Object(external_wp_element_["createElement"])(ColorPalette, { + colors: colors, + onChange: () => {}, + clearable: false, + disableCustomColors: true + })), !hasColors && Object(external_wp_i18n_["__"])('Custom colors are empty! Add some colors to create your own color palette.')); } // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close-small.js @@ -25230,6 +40531,7 @@ class token_input_TokenInput extends external_wp_element_["Component"] { instanceId, selectedSuggestionIndex, className, + onChange, ...props } = this.props; const size = value ? value.length + 1 : 0; @@ -25239,7 +40541,7 @@ class token_input_TokenInput extends external_wp_element_["Component"] { type: "text" }, props, { value: value || '', - onChange: this.onChange, + onChange: onChange ? this.onChange : undefined, size: size, className: classnames_default()(className, 'components-form-token-field__input'), autoComplete: "off", @@ -25453,13 +40755,14 @@ function ComboboxControl({ }) { var _currentOption$label; - const instanceId = Object(external_wp_compose_["useInstanceId"])(ComboboxControl); - const [selectedSuggestion, setSelectedSuggestion] = Object(external_wp_element_["useState"])(null); - const [isExpanded, setIsExpanded] = Object(external_wp_element_["useState"])(false); - const [inputValue, setInputValue] = Object(external_wp_element_["useState"])(''); - const inputContainer = Object(external_wp_element_["useRef"])(); const currentOption = options.find(option => option.value === value); const currentLabel = (_currentOption$label = currentOption === null || currentOption === void 0 ? void 0 : currentOption.label) !== null && _currentOption$label !== void 0 ? _currentOption$label : ''; + const instanceId = Object(external_wp_compose_["useInstanceId"])(ComboboxControl); + const [selectedSuggestion, setSelectedSuggestion] = Object(external_wp_element_["useState"])(currentOption || null); + const [isExpanded, setIsExpanded] = Object(external_wp_element_["useState"])(false); + const [inputHasFocus, setInputHasFocus] = Object(external_wp_element_["useState"])(false); + const [inputValue, setInputValue] = Object(external_wp_element_["useState"])(''); + const inputContainer = Object(external_wp_element_["useRef"])(); const matchingSuggestions = Object(external_wp_element_["useMemo"])(() => { const startsWithMatch = []; const containsMatch = []; @@ -25501,6 +40804,10 @@ function ComboboxControl({ const onKeyDown = event => { let preventDefault = false; + if (event.defaultPrevented) { + return; + } + switch (event.keyCode) { case external_wp_keycodes_["ENTER"]: if (selectedSuggestion) { @@ -25524,7 +40831,6 @@ function ComboboxControl({ setIsExpanded(false); setSelectedSuggestion(null); preventDefault = true; - event.stopPropagation(); break; default: @@ -25536,7 +40842,12 @@ function ComboboxControl({ } }; + const onBlur = () => { + setInputHasFocus(false); + }; + const onFocus = () => { + setInputHasFocus(true); setIsExpanded(true); onFilterValueChange(''); setInputValue(''); @@ -25550,15 +40861,28 @@ function ComboboxControl({ const text = event.value; setInputValue(text); onFilterValueChange(text); - setIsExpanded(true); + + if (inputHasFocus) { + setIsExpanded(true); + } }; const handleOnReset = () => { onChange(null); inputContainer.current.input.focus(); - }; // Announcements + }; // Update current selections when the filter input changes. + Object(external_wp_element_["useEffect"])(() => { + const hasMatchingSuggestions = matchingSuggestions.length > 0; + const hasSelectedMatchingSuggestions = matchingSuggestions.indexOf(selectedSuggestion) > 0; + + if (hasMatchingSuggestions && !hasSelectedMatchingSuggestions) { + // If the current selection isn't present in the list of suggestions, then automatically select the first item from the list of suggestions. + setSelectedSuggestion(matchingSuggestions[0]); + } + }, [matchingSuggestions, selectedSuggestion]); // Announcements + Object(external_wp_element_["useEffect"])(() => { const hasMatchingSuggestions = matchingSuggestions.length > 0; @@ -25594,6 +40918,7 @@ function ComboboxControl({ value: isExpanded ? inputValue : currentLabel, "aria-label": currentLabel ? `${currentLabel}, ${label}` : null, onFocus: onFocus, + onBlur: onBlur, isExpanded: isExpanded, selectedSuggestionIndex: matchingSuggestions.indexOf(selectedSuggestion), onChange: onInputChange @@ -25620,7 +40945,7 @@ function ComboboxControl({ /* harmony default export */ var combobox_control = (ComboboxControl); -// CONCATENATED MODULE: ./node_modules/downshift/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js function objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; @@ -25635,25 +40960,7 @@ function objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(source, exclu return target; } -// CONCATENATED MODULE: ./node_modules/downshift/node_modules/@babel/runtime/helpers/esm/extends.js -function extends_extends() { - extends_extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; - }; - - return extends_extends.apply(this, arguments); -} -// CONCATENATED MODULE: ./node_modules/downshift/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js function assertThisInitialized_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); @@ -25661,21 +40968,21 @@ function assertThisInitialized_assertThisInitialized(self) { return self; } -// CONCATENATED MODULE: ./node_modules/downshift/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js -function setPrototypeOf_setPrototypeOf(o, p) { - setPrototypeOf_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { +// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; - return setPrototypeOf_setPrototypeOf(o, p); + return _setPrototypeOf(o, p); } -// CONCATENATED MODULE: ./node_modules/downshift/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js function inheritsLoose_inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - setPrototypeOf_setPrototypeOf(subClass, superClass); + _setPrototypeOf(subClass, superClass); } // EXTERNAL MODULE: ./node_modules/prop-types/index.js var prop_types = __webpack_require__("17x9"); @@ -25685,7 +40992,7 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types); var react_is = __webpack_require__("cD2C"); // CONCATENATED MODULE: ./node_modules/compute-scroll-into-view/dist/index.module.js -function t(t){return"object"==typeof t&&null!=t&&1===t.nodeType}function index_module_e(t,e){return(!e||"hidden"!==t)&&"visible"!==t&&"clip"!==t}function n(t,n){if(t.clientHeighte||o>t&&l=e&&d>=n?o-t-r:l>e&&dn?l-e+i:0}/* harmony default export */ var index_module = (function(e,i){var o=window,l=i.scrollMode,d=i.block,u=i.inline,h=i.boundary,a=i.skipOverflowHiddenElements,c="function"==typeof h?h:function(t){return t!==h};if(!t(e))throw new TypeError("Invalid target");for(var f=document.scrollingElement||document.documentElement,s=[],p=e;t(p)&&c(p);){if((p=p.parentElement)===f){s.push(p);break}null!=p&&p===document.body&&n(p)&&!n(document.documentElement)||null!=p&&n(p,a)&&s.push(p)}for(var m=o.visualViewport?o.visualViewport.width:innerWidth,g=o.visualViewport?o.visualViewport.height:innerHeight,w=window.scrollX||pageXOffset,v=window.scrollY||pageYOffset,W=e.getBoundingClientRect(),b=W.height,H=W.width,y=W.top,E=W.right,M=W.bottom,V=W.left,x="start"===d||"nearest"===d?y:"end"===d?M:y+b/2,I="center"===u?V+H/2:"end"===u?E:V,C=[],T=0;T=0&&V>=0&&M<=g&&E<=m&&y>=R&&M<=Y&&V>=L&&E<=X)return C;var S=getComputedStyle(k),j=parseInt(S.borderLeftWidth,10),q=parseInt(S.borderTopWidth,10),z=parseInt(S.borderRightWidth,10),A=parseInt(S.borderBottomWidth,10),F=0,G=0,J="offsetWidth"in k?k.offsetWidth-k.clientWidth-j-z:0,K="offsetHeight"in k?k.offsetHeight-k.clientHeight-q-A:0;if(f===k)F="start"===d?x:"end"===d?x-g:"nearest"===d?index_module_r(v,v+g,g,q,A,v+x,v+x+b,b):x-g/2,G="start"===u?I:"center"===u?I-m/2:"end"===u?I-m:index_module_r(w,w+m,m,j,z,w+I,w+I+H,H),F=Math.max(0,F+v),G=Math.max(0,G+w);else{F="start"===d?x-R-q:"end"===d?x-Y+A+K:"nearest"===d?index_module_r(R,Y,D,q,A+K,x,x+b,b):x-(R+D/2)+K/2,G="start"===u?I-L-j:"center"===u?I-(L+O/2)+J/2:"end"===u?I-X+z+J:index_module_r(L,X,O,j,z+J,I,I+H,H);var N=k.scrollLeft,P=k.scrollTop;x+=P-(F=Math.max(0,Math.min(P+F,k.scrollHeight-D+K))),I+=N-(G=Math.max(0,Math.min(N+G,k.scrollWidth-O+J)))}C.push({el:k,top:F,left:G})}return C}); +function index_module_t(t){return"object"==typeof t&&null!=t&&1===t.nodeType}function dist_index_module_e(t,e){return(!e||"hidden"!==t)&&"visible"!==t&&"clip"!==t}function index_module_n(t,n){if(t.clientHeighte||o>t&&l=e&&d>=n?o-t-r:l>e&&dn?l-e+i:0}/* harmony default export */ var index_module = (function(e,i){var o=window,l=i.scrollMode,d=i.block,u=i.inline,h=i.boundary,a=i.skipOverflowHiddenElements,c="function"==typeof h?h:function(t){return t!==h};if(!index_module_t(e))throw new TypeError("Invalid target");for(var f=document.scrollingElement||document.documentElement,s=[],p=e;index_module_t(p)&&c(p);){if((p=p.parentElement)===f){s.push(p);break}null!=p&&p===document.body&&index_module_n(p)&&!index_module_n(document.documentElement)||null!=p&&index_module_n(p,a)&&s.push(p)}for(var m=o.visualViewport?o.visualViewport.width:innerWidth,g=o.visualViewport?o.visualViewport.height:innerHeight,w=window.scrollX||pageXOffset,v=window.scrollY||pageYOffset,W=e.getBoundingClientRect(),b=W.height,H=W.width,y=W.top,E=W.right,M=W.bottom,V=W.left,x="start"===d||"nearest"===d?y:"end"===d?M:y+b/2,I="center"===u?V+H/2:"end"===u?E:V,C=[],T=0;T=0&&V>=0&&M<=g&&E<=m&&y>=R&&M<=Y&&V>=L&&E<=X)return C;var S=getComputedStyle(k),j=parseInt(S.borderLeftWidth,10),q=parseInt(S.borderTopWidth,10),z=parseInt(S.borderRightWidth,10),A=parseInt(S.borderBottomWidth,10),F=0,G=0,J="offsetWidth"in k?k.offsetWidth-k.clientWidth-j-z:0,K="offsetHeight"in k?k.offsetHeight-k.clientHeight-q-A:0;if(f===k)F="start"===d?x:"end"===d?x-g:"nearest"===d?index_module_r(v,v+g,g,q,A,v+x,v+x+b,b):x-g/2,G="start"===u?I:"center"===u?I-m/2:"end"===u?I-m:index_module_r(w,w+m,m,j,z,w+I,w+I+H,H),F=Math.max(0,F+v),G=Math.max(0,G+w);else{F="start"===d?x-R-q:"end"===d?x-Y+A+K:"nearest"===d?index_module_r(R,Y,D,q,A+K,x,x+b,b):x-(R+D/2)+K/2,G="start"===u?I-L-j:"center"===u?I-(L+O/2)+J/2:"end"===u?I-X+z+J:index_module_r(L,X,O,j,z+J,I,I+H,H);var N=k.scrollLeft,P=k.scrollTop;x+=P-(F=Math.max(0,Math.min(P+F,k.scrollHeight-D+K))),I+=N-(G=Math.max(0,Math.min(N+G,k.scrollWidth-O+J)))}C.push({el:k,top:F,left:G})}return C}); // CONCATENATED MODULE: ./node_modules/downshift/node_modules/tslib/tslib.es6.js /*! ***************************************************************************** @@ -25704,33 +41011,33 @@ PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise */ -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || +var node_modules_tslib_tslib_es6_extendStatics = function(d, b) { + node_modules_tslib_tslib_es6_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); + return node_modules_tslib_tslib_es6_extendStatics(d, b); }; -function __extends(d, b) { +function node_modules_tslib_tslib_es6_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); + node_modules_tslib_tslib_es6_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) { +var node_modules_tslib_tslib_es6_assign = function() { + node_modules_tslib_tslib_es6_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); + return node_modules_tslib_tslib_es6_assign.apply(this, arguments); } -function __rest(s, e) { +function node_modules_tslib_tslib_es6_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]; @@ -25742,22 +41049,22 @@ function __rest(s, e) { return t; } -function __decorate(decorators, target, key, desc) { +function node_modules_tslib_tslib_es6_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) { +function node_modules_tslib_tslib_es6_param(paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } } -function __metadata(metadataKey, metadataValue) { +function node_modules_tslib_tslib_es6_metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } -function __awaiter(thisArg, _arguments, P, generator) { +function node_modules_tslib_tslib_es6_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); } } @@ -25767,7 +41074,7 @@ function __awaiter(thisArg, _arguments, P, generator) { }); } -function __generator(thisArg, body) { +function node_modules_tslib_tslib_es6_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]); }; } @@ -25795,7 +41102,7 @@ function __generator(thisArg, body) { } } -var __createBinding = Object.create ? (function(o, m, k, k2) { +var node_modules_tslib_tslib_es6_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) { @@ -25803,11 +41110,11 @@ var __createBinding = Object.create ? (function(o, m, k, k2) { 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 node_modules_tslib_tslib_es6_exportStar(m, o) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) node_modules_tslib_tslib_es6_createBinding(o, m, p); } -function __values(o) { +function node_modules_tslib_tslib_es6_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 { @@ -25819,7 +41126,7 @@ function __values(o) { throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); } -function __read(o, n) { +function node_modules_tslib_tslib_es6_read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; @@ -25837,14 +41144,14 @@ function __read(o, n) { } /** @deprecated */ -function __spread() { +function node_modules_tslib_tslib_es6_spread() { for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); + ar = ar.concat(node_modules_tslib_tslib_es6_read(arguments[i])); return ar; } /** @deprecated */ -function __spreadArrays() { +function node_modules_tslib_tslib_es6_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++) @@ -25852,7 +41159,7 @@ function __spreadArrays() { return r; } -function __spreadArray(to, from, pack) { +function node_modules_tslib_tslib_es6_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); @@ -25862,66 +41169,66 @@ function __spreadArray(to, from, pack) { return to.concat(ar || Array.prototype.slice.call(from)); } -function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); +function node_modules_tslib_tslib_es6_await(v) { + return this instanceof node_modules_tslib_tslib_es6_await ? (this.v = v, this) : new node_modules_tslib_tslib_es6_await(v); } -function __asyncGenerator(thisArg, _arguments, generator) { +function node_modules_tslib_tslib_es6_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 step(r) { r.value instanceof node_modules_tslib_tslib_es6_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) { +function node_modules_tslib_tslib_es6_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: n === "return" } : f ? f(v) : v; } : f; } + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: node_modules_tslib_tslib_es6_await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } } -function __asyncValues(o) { +function node_modules_tslib_tslib_es6_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); + return m ? m.call(o) : (o = typeof node_modules_tslib_tslib_es6_values === "function" ? node_modules_tslib_tslib_es6_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) { +function node_modules_tslib_tslib_es6_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) { +var node_modules_tslib_tslib_es6_setModuleDefault = Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }; -function __importStar(mod) { +function node_modules_tslib_tslib_es6_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); + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) node_modules_tslib_tslib_es6_createBinding(result, mod, k); + node_modules_tslib_tslib_es6_setModuleDefault(result, mod); return result; } -function __importDefault(mod) { +function node_modules_tslib_tslib_es6_importDefault(mod) { return (mod && mod.__esModule) ? mod : { default: mod }; } -function __classPrivateFieldGet(receiver, state, kind, f) { +function node_modules_tslib_tslib_es6_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) { +function node_modules_tslib_tslib_es6_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"); @@ -26001,7 +41308,7 @@ function isOrContainsNode(parent, child, environment) { */ -function debounce(fn, time) { +function downshift_esm_debounce(fn, time) { var timeoutId; function cancel() { @@ -26360,7 +41667,7 @@ var validateControlledUnchanged = downshift_esm_noop; if (false) {} -var cleanupStatus = debounce(function (documentProp) { +var cleanupStatus = downshift_esm_debounce(function (documentProp) { getStatusDiv(documentProp).textContent = ''; }, 500); /** @@ -26516,7 +41823,7 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { otherStateToSet = pickState(otherStateToSet); - _this.internalSetState(extends_extends({ + _this.internalSetState(Object(esm_extends["a" /* default */])({ highlightedIndex: highlightedIndex }, otherStateToSet)); }; @@ -26533,7 +41840,7 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { _this.selectItem = function (item, otherStateToSet, cb) { otherStateToSet = pickState(otherStateToSet); - _this.internalSetState(extends_extends({ + _this.internalSetState(Object(esm_extends["a" /* default */])({ isOpen: _this.props.defaultIsOpen, highlightedIndex: _this.props.defaultHighlightedIndex, selectedItem: item, @@ -26565,7 +41872,7 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { // See https://github.com/downshift-js/downshift/issues/217 for more info. if (!isStateToSetFunction && stateToSet.hasOwnProperty('inputValue')) { - _this.props.onInputValueChange(stateToSet.inputValue, extends_extends({}, _this.getStateAndHelpers(), stateToSet)); + _this.props.onInputValueChange(stateToSet.inputValue, Object(esm_extends["a" /* default */])({}, _this.getStateAndHelpers(), stateToSet)); } return _this.setState(function (state) { @@ -26615,7 +41922,7 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { // earlier, so we'll call it now that we know what the inputValue state will be. if (isStateToSetFunction && newStateToSet.hasOwnProperty('inputValue')) { - _this.props.onInputValueChange(newStateToSet.inputValue, extends_extends({}, _this.getStateAndHelpers(), newStateToSet)); + _this.props.onInputValueChange(newStateToSet.inputValue, Object(esm_extends["a" /* default */])({}, _this.getStateAndHelpers(), newStateToSet)); } return nextState; @@ -26670,7 +41977,7 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { var _this$getState = _this.getState(), isOpen = _this$getState.isOpen; - return extends_extends((_extends2 = {}, _extends2[refKey] = handleRefs(ref, _this.rootRef), _extends2.role = 'combobox', _extends2['aria-expanded'] = isOpen, _extends2['aria-haspopup'] = 'listbox', _extends2['aria-owns'] = isOpen ? _this.menuId : null, _extends2['aria-labelledby'] = _this.labelId, _extends2), rest); + return Object(esm_extends["a" /* default */])((_extends2 = {}, _extends2[refKey] = handleRefs(ref, _this.rootRef), _extends2.role = 'combobox', _extends2['aria-expanded'] = isOpen, _extends2['aria-haspopup'] = 'listbox', _extends2['aria-owns'] = isOpen ? _this.menuId : null, _extends2['aria-labelledby'] = _this.labelId, _extends2), rest); }; _this.keyDownHandlers = { @@ -26763,7 +42070,7 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { }, Escape: function Escape(event) { event.preventDefault(); - this.reset(extends_extends({ + this.reset(Object(esm_extends["a" /* default */])({ type: keyDownEscape }, !this.state.isOpen && { selectedItem: null, @@ -26771,7 +42078,7 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { })); } }; - _this.buttonKeyDownHandlers = extends_extends({}, _this.keyDownHandlers, { + _this.buttonKeyDownHandlers = Object(esm_extends["a" /* default */])({}, _this.keyDownHandlers, { ' ': function _(event) { event.preventDefault(); this.toggleMenu({ @@ -26779,7 +42086,7 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { }); } }); - _this.inputKeyDownHandlers = extends_extends({}, _this.keyDownHandlers, { + _this.inputKeyDownHandlers = Object(esm_extends["a" /* default */])({}, _this.keyDownHandlers, { Home: function Home(event) { var _this4 = this; @@ -26851,7 +42158,7 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { onBlur: callAllEventHandlers(onBlur, _this.buttonHandleBlur) }; var eventHandlers = rest.disabled ? {} : enabledEventHandlers; - return extends_extends({ + return Object(esm_extends["a" /* default */])({ type: 'button', role: 'button', 'aria-label': isOpen ? 'close menu' : 'open menu', @@ -26911,7 +42218,7 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { }; _this.getLabelProps = function (props) { - return extends_extends({ + return Object(esm_extends["a" /* default */])({ htmlFor: _this.inputId, id: _this.labelId }, props); @@ -26945,7 +42252,7 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { eventHandlers = (_eventHandlers = {}, _eventHandlers[onChangeKey] = callAllEventHandlers(onChange, onInput, _this.inputHandleChange), _eventHandlers.onKeyDown = callAllEventHandlers(onKeyDown, _this.inputHandleKeyDown), _eventHandlers.onBlur = callAllEventHandlers(onBlur, _this.inputHandleBlur), _eventHandlers); } - return extends_extends({ + return Object(esm_extends["a" /* default */])({ 'aria-autocomplete': 'list', 'aria-activedescendant': isOpen && typeof highlightedIndex === 'number' && highlightedIndex >= 0 ? _this.getItemId(highlightedIndex) : null, 'aria-controls': isOpen ? _this.menuId : null, @@ -27008,7 +42315,7 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { _this.getMenuProps.called = true; _this.getMenuProps.refKey = refKey; _this.getMenuProps.suppressRefError = suppressRefError; - return extends_extends((_extends3 = {}, _extends3[refKey] = handleRefs(ref, _this.menuRef), _extends3.role = 'listbox', _extends3['aria-labelledby'] = props && props['aria-label'] ? null : _this.labelId, _extends3.id = _this.menuId, _extends3), props); + return Object(esm_extends["a" /* default */])((_extends3 = {}, _extends3[refKey] = handleRefs(ref, _this.menuRef), _extends3.role = 'listbox', _extends3['aria-labelledby'] = props && props['aria-label'] ? null : _this.labelId, _extends3.id = _this.menuId, _extends3), props); }; _this.getItemProps = function (_temp7) { @@ -27075,7 +42382,7 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { var eventHandlers = rest.disabled ? { onMouseDown: enabledEventHandlers.onMouseDown } : enabledEventHandlers; - return extends_extends({ + return Object(esm_extends["a" /* default */])({ id: _this.getItemId(index), role: 'option', 'aria-selected': _this.getState().highlightedIndex === index @@ -27095,7 +42402,7 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { _this.internalSetState(function (_ref8) { var selectedItem = _ref8.selectedItem; - return extends_extends({ + return Object(esm_extends["a" /* default */])({ isOpen: _this.props.defaultIsOpen, highlightedIndex: _this.props.defaultHighlightedIndex, inputValue: _this.props.itemToString(selectedItem) @@ -27112,7 +42419,7 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { _this.internalSetState(function (_ref9) { var isOpen = _ref9.isOpen; - return extends_extends({ + return Object(esm_extends["a" /* default */])({ isOpen: !isOpen }, isOpen && { highlightedIndex: _this.props.defaultHighlightedIndex @@ -27144,14 +42451,14 @@ var downshift_esm_Downshift = /*#__PURE__*/function () { }, cb); }; - _this.updateStatus = debounce(function () { + _this.updateStatus = downshift_esm_debounce(function () { var state = _this.getState(); var item = _this.items[state.highlightedIndex]; var resultCount = _this.getItemCount(); - var status = _this.props.getA11yStatusMessage(extends_extends({ + var status = _this.props.getA11yStatusMessage(Object(esm_extends["a" /* default */])({ itemToString: _this.props.itemToString, previousResultCount: _this.previousResultCount, resultCount: resultCount, @@ -27579,7 +42886,7 @@ function callOnChangeProps(action, state, newState) { }); if (props.onStateChange && Object.keys(changes).length) { - props.onStateChange(extends_extends({ + props.onStateChange(Object(esm_extends["a" /* default */])({ type: type }, changes)); } @@ -27591,7 +42898,7 @@ function invokeOnChangeHandler(key, action, state, newState) { var handler = "on" + capitalizeString(key) + "Change"; if (props[handler] && newState[key] !== undefined && newState[key] !== state[key]) { - props[handler](extends_extends({ + props[handler](Object(esm_extends["a" /* default */])({ type: type }, newState)); } @@ -27626,11 +42933,11 @@ function downshift_esm_getA11ySelectionMessage(selectionParameters) { */ -var updateA11yStatus = debounce(function (getA11yMessage, document) { +var updateA11yStatus = downshift_esm_debounce(function (getA11yMessage, document) { setStatus(getA11yMessage(), document); }, 200); // istanbul ignore next -var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? external_React_["useLayoutEffect"] : external_React_["useEffect"]; +var downshift_esm_useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? external_React_["useLayoutEffect"] : external_React_["useEffect"]; function useElementIds(_ref) { var _ref$id = _ref.id, @@ -27705,7 +43012,7 @@ function useEnhancedReducer(reducer, initialState, props) { actionRef.current = action; state = getState(state, action.props); var changes = reducer(state, action); - var newState = action.props.stateReducer(state, extends_extends({}, action, { + var newState = action.props.stateReducer(state, Object(esm_extends["a" /* default */])({}, action, { changes: changes })); return newState; @@ -27717,7 +43024,7 @@ function useEnhancedReducer(reducer, initialState, props) { var propsRef = useLatestRef(props); var dispatchWithProps = Object(external_React_["useCallback"])(function (action) { - return dispatch(extends_extends({ + return dispatch(Object(esm_extends["a" /* default */])({ props: propsRef.current }, action)); }, [propsRef]); @@ -27937,7 +43244,7 @@ function useA11yMessageSetter(getA11yMessage, dependencyArray, _ref2) { } updateA11yStatus(function () { - return getA11yMessage(extends_extends({ + return getA11yMessage(Object(esm_extends["a" /* default */])({ highlightedIndex: highlightedIndex, highlightedItem: items[highlightedIndex], resultCount: items.length @@ -27956,7 +43263,7 @@ function useScrollIntoView(_ref3) { // used not to scroll on highlight by mouse. var shouldScrollRef = Object(external_React_["useRef"])(true); // Scroll on highlighted item if change comes from keyboard. - useIsomorphicLayoutEffect(function () { + downshift_esm_useIsomorphicLayoutEffect(function () { if (highlightedIndex < 0 || !isOpen || !Object.keys(itemRefs.current).length) { return; } @@ -28043,7 +43350,7 @@ function downshiftCommonReducer(state, action, stateChangeTypes) { throw new Error('Reducer called without proper action type.'); } - return extends_extends({}, state, changes); + return Object(esm_extends["a" /* default */])({}, state, changes); } /* eslint-enable complexity */ @@ -28121,7 +43428,7 @@ function downshift_esm_getA11yStatusMessage(_a) { } return ''; } -var defaultProps$2 = __assign(__assign({}, defaultProps$3), { getA11yStatusMessage: downshift_esm_getA11yStatusMessage }); +var defaultProps$2 = node_modules_tslib_tslib_es6_assign(node_modules_tslib_tslib_es6_assign({}, defaultProps$3), { getA11yStatusMessage: downshift_esm_getA11yStatusMessage }); // eslint-disable-next-line import/no-mutable-exports var validatePropTypes$2 = downshift_esm_noop; /* istanbul ignore next */ @@ -28206,7 +43513,7 @@ function downshiftSelectReducer(state, action) { itemToString: props.itemToString, getItemNodeFromIndex: action.getItemNodeFromIndex }); - changes = extends_extends({ + changes = Object(esm_extends["a" /* default */])({ inputValue: inputValue }, itemIndex >= 0 && { selectedItem: props.items[itemIndex] @@ -28230,7 +43537,7 @@ function downshiftSelectReducer(state, action) { case MenuKeyDownEnter: case MenuKeyDownSpaceButton: - changes = extends_extends({ + changes = Object(esm_extends["a" /* default */])({ isOpen: getDefaultValue$1(props, 'isOpen'), highlightedIndex: getDefaultValue$1(props, 'highlightedIndex') }, state.highlightedIndex >= 0 && { @@ -28277,7 +43584,7 @@ function downshiftSelectReducer(state, action) { itemToString: props.itemToString, getItemNodeFromIndex: action.getItemNodeFromIndex }); - changes = extends_extends({ + changes = Object(esm_extends["a" /* default */])({ inputValue: _inputValue }, highlightedIndex >= 0 && { highlightedIndex: highlightedIndex @@ -28307,7 +43614,7 @@ function downshiftSelectReducer(state, action) { return downshiftCommonReducer(state, action, stateChangeTypes$2); } - return extends_extends({}, state, changes); + return Object(esm_extends["a" /* default */])({}, state, changes); } /* eslint-enable complexity */ @@ -28323,7 +43630,7 @@ function useSelect(userProps) { validatePropTypes$2(userProps, useSelect); // Props defaults and destructuring. - var props = extends_extends({}, defaultProps$2, userProps); + var props = Object(esm_extends["a" /* default */])({}, defaultProps$2, userProps); var items = props.items, scrollIntoView = props.scrollIntoView, @@ -28368,7 +43675,7 @@ function useSelect(userProps) { }, [elementIds]); // Effects. // Sets a11y status message on changes in state. - useA11yMessageSetter(getA11yStatusMessage, [isOpen, highlightedIndex, inputValue, items], extends_extends({ + useA11yMessageSetter(getA11yStatusMessage, [isOpen, highlightedIndex, inputValue, items], Object(esm_extends["a" /* default */])({ isInitialMount: isInitialMountRef.current, previousResultCount: previousResultCountRef.current, items: items, @@ -28376,7 +43683,7 @@ function useSelect(userProps) { itemToString: itemToString }, state)); // Sets a11y status message on changes in selectedItem. - useA11yMessageSetter(getA11ySelectionMessage, [selectedItem], extends_extends({ + useA11yMessageSetter(getA11ySelectionMessage, [selectedItem], Object(esm_extends["a" /* default */])({ isInitialMount: isInitialMountRef.current, previousResultCount: previousResultCountRef.current, items: items, @@ -28395,7 +43702,7 @@ function useSelect(userProps) { Object(external_React_["useEffect"])(function () { // init the clean function here as we need access to dispatch. - clearTimeoutRef.current = debounce(function (outerDispatch) { + clearTimeoutRef.current = downshift_esm_debounce(function (outerDispatch) { outerDispatch({ type: FunctionSetInputValue$1, inputValue: '' @@ -28589,7 +43896,7 @@ function useSelect(userProps) { }, [dispatch]); // Getter functions. var getLabelProps = Object(external_React_["useCallback"])(function (labelProps) { - return extends_extends({ + return Object(esm_extends["a" /* default */])({ id: elementIds.labelId, htmlFor: elementIds.toggleButtonId }, labelProps); @@ -28650,7 +43957,7 @@ function useSelect(userProps) { }; setGetterPropCallInfo('getMenuProps', suppressRefError, refKey, menuRef); - return extends_extends((_extends2 = {}, _extends2[refKey] = handleRefs(ref, function (menuNode) { + return Object(esm_extends["a" /* default */])((_extends2 = {}, _extends2[refKey] = handleRefs(ref, function (menuNode) { menuRef.current = menuNode; }), _extends2.id = elementIds.menuId, _extends2.role = 'listbox', _extends2['aria-labelledby'] = elementIds.labelId, _extends2.tabIndex = -1, _extends2), latestState.isOpen && latestState.highlightedIndex > -1 && { 'aria-activedescendant': elementIds.getItemId(latestState.highlightedIndex) @@ -28695,7 +44002,7 @@ function useSelect(userProps) { } }; - var toggleProps = extends_extends((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (toggleButtonNode) { + var toggleProps = Object(esm_extends["a" /* default */])((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (toggleButtonNode) { toggleButtonRef.current = toggleButtonNode; }), _extends3.id = elementIds.toggleButtonId, _extends3['aria-haspopup'] = 'listbox', _extends3['aria-expanded'] = latest.current.state.isOpen, _extends3['aria-labelledby'] = elementIds.labelId + " " + elementIds.toggleButtonId, _extends3), rest); @@ -28749,7 +44056,7 @@ function useSelect(userProps) { throw new Error('Pass either item or item index in getItemProps!'); } - var itemProps = extends_extends((_extends4 = { + var itemProps = Object(esm_extends["a" /* default */])((_extends4 = { role: 'option', 'aria-selected': "" + (itemIndex === latestState.highlightedIndex), id: elementIds.getItemId(itemIndex) @@ -28842,7 +44149,7 @@ function getInitialState$1(props) { inputValue = props.itemToString(selectedItem); } - return extends_extends({}, initialState, { + return Object(esm_extends["a" /* default */])({}, initialState, { inputValue: inputValue }); } @@ -28929,7 +44236,7 @@ var validatePropTypes$1 = downshift_esm_noop; if (false) {} -var defaultProps$1 = extends_extends({}, defaultProps$3, { +var defaultProps$1 = Object(esm_extends["a" /* default */])({}, defaultProps$3, { getA11yStatusMessage: getA11yStatusMessage$1, circularNavigation: true }); @@ -28981,7 +44288,7 @@ function downshiftUseComboboxReducer(state, action) { break; case InputKeyDownEnter: - changes = extends_extends({}, state.isOpen && state.highlightedIndex >= 0 && { + changes = Object(esm_extends["a" /* default */])({}, state.isOpen && state.highlightedIndex >= 0 && { selectedItem: props.items[state.highlightedIndex], isOpen: getDefaultValue$1(props, 'isOpen'), highlightedIndex: getDefaultValue$1(props, 'highlightedIndex'), @@ -28990,7 +44297,7 @@ function downshiftUseComboboxReducer(state, action) { break; case InputKeyDownEscape: - changes = extends_extends({ + changes = Object(esm_extends["a" /* default */])({ isOpen: false, highlightedIndex: -1 }, !state.isOpen && { @@ -29012,7 +44319,7 @@ function downshiftUseComboboxReducer(state, action) { break; case InputBlur: - changes = extends_extends({ + changes = Object(esm_extends["a" /* default */])({ isOpen: false, highlightedIndex: -1 }, state.highlightedIndex >= 0 && action.selectItem && { @@ -29046,7 +44353,7 @@ function downshiftUseComboboxReducer(state, action) { return downshiftCommonReducer(state, action, stateChangeTypes$1); } - return extends_extends({}, state, changes); + return Object(esm_extends["a" /* default */])({}, state, changes); } /* eslint-enable complexity */ @@ -29064,7 +44371,7 @@ function useCombobox(userProps) { validatePropTypes$1(userProps, useCombobox); // Props defaults and destructuring. - var props = extends_extends({}, defaultProps$1, userProps); + var props = Object(esm_extends["a" /* default */])({}, defaultProps$1, userProps); var initialIsOpen = props.initialIsOpen, defaultIsOpen = props.defaultIsOpen, @@ -29106,7 +44413,7 @@ function useCombobox(userProps) { }, [elementIds]); // Effects. // Sets a11y status message on changes in state. - useA11yMessageSetter(getA11yStatusMessage, [isOpen, highlightedIndex, inputValue, items], extends_extends({ + useA11yMessageSetter(getA11yStatusMessage, [isOpen, highlightedIndex, inputValue, items], Object(esm_extends["a" /* default */])({ isInitialMount: isInitialMountRef.current, previousResultCount: previousResultCountRef.current, items: items, @@ -29114,7 +44421,7 @@ function useCombobox(userProps) { itemToString: itemToString }, state)); // Sets a11y status message on changes in selectedItem. - useA11yMessageSetter(getA11ySelectionMessage, [selectedItem], extends_extends({ + useA11yMessageSetter(getA11ySelectionMessage, [selectedItem], Object(esm_extends["a" /* default */])({ isInitialMount: isInitialMountRef.current, previousResultCount: previousResultCountRef.current, items: items, @@ -29238,7 +44545,7 @@ function useCombobox(userProps) { }, [dispatch, latest, getItemNodeFromIndex]); // Getter props. var getLabelProps = Object(external_React_["useCallback"])(function (labelProps) { - return extends_extends({ + return Object(esm_extends["a" /* default */])({ id: elementIds.labelId, htmlFor: elementIds.inputId }, labelProps); @@ -29258,7 +44565,7 @@ function useCombobox(userProps) { suppressRefError = _ref2$suppressRefErro === void 0 ? false : _ref2$suppressRefErro; setGetterPropCallInfo('getMenuProps', suppressRefError, refKey, menuRef); - return extends_extends((_extends2 = {}, _extends2[refKey] = handleRefs(ref, function (menuNode) { + return Object(esm_extends["a" /* default */])((_extends2 = {}, _extends2[refKey] = handleRefs(ref, function (menuNode) { menuRef.current = menuNode; }), _extends2.id = elementIds.menuId, _extends2.role = 'listbox', _extends2['aria-labelledby'] = elementIds.labelId, _extends2.onMouseLeave = callAllEventHandlers(onMouseLeave, function () { dispatch({ @@ -29315,7 +44622,7 @@ function useCombobox(userProps) { } }; - return extends_extends((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (itemNode) { + return Object(esm_extends["a" /* default */])((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (itemNode) { if (itemNode) { itemRefs.current[elementIds.getItemId(itemIndex)] = itemNode; } @@ -29344,9 +44651,9 @@ function useCombobox(userProps) { } }; - return extends_extends((_extends4 = {}, _extends4[refKey] = handleRefs(ref, function (toggleButtonNode) { + return Object(esm_extends["a" /* default */])((_extends4 = {}, _extends4[refKey] = handleRefs(ref, function (toggleButtonNode) { toggleButtonRef.current = toggleButtonNode; - }), _extends4.id = elementIds.toggleButtonId, _extends4.tabIndex = -1, _extends4), !rest.disabled && extends_extends({}, { + }), _extends4.id = elementIds.toggleButtonId, _extends4.tabIndex = -1, _extends4), !rest.disabled && Object(esm_extends["a" /* default */])({}, { onClick: callAllEventHandlers(onClick, toggleButtonHandleClick) }), rest); }, [dispatch, latest, elementIds]); @@ -29407,7 +44714,7 @@ function useCombobox(userProps) { eventHandlers = (_eventHandlers = {}, _eventHandlers[onChangeKey] = callAllEventHandlers(onChange, onInput, inputHandleChange), _eventHandlers.onKeyDown = callAllEventHandlers(onKeyDown, inputHandleKeyDown), _eventHandlers.onBlur = callAllEventHandlers(onBlur, inputHandleBlur), _eventHandlers); } - return extends_extends((_extends5 = {}, _extends5[refKey] = handleRefs(ref, function (inputNode) { + return Object(esm_extends["a" /* default */])((_extends5 = {}, _extends5[refKey] = handleRefs(ref, function (inputNode) { inputRef.current = inputNode; }), _extends5.id = elementIds.inputId, _extends5['aria-autocomplete'] = 'list', _extends5['aria-controls'] = elementIds.menuId, _extends5), latestState.isOpen && latestState.highlightedIndex > -1 && { 'aria-activedescendant': elementIds.getItemId(latestState.highlightedIndex) @@ -29433,7 +44740,7 @@ function useCombobox(userProps) { suppressRefError = _ref9$suppressRefErro === void 0 ? false : _ref9$suppressRefErro; setGetterPropCallInfo('getComboboxProps', suppressRefError, refKey, comboboxRef); - return extends_extends((_extends6 = {}, _extends6[refKey] = handleRefs(ref, function (comboboxNode) { + return Object(esm_extends["a" /* default */])((_extends6 = {}, _extends6[refKey] = handleRefs(ref, function (comboboxNode) { comboboxRef.current = comboboxNode; }), _extends6.role = 'combobox', _extends6['aria-haspopup'] = 'listbox', _extends6['aria-owns'] = elementIds.menuId, _extends6['aria-expanded'] = latest.current.state.isOpen, _extends6), rest); }, [latest, setGetterPropCallInfo, elementIds]); // returns @@ -29696,7 +45003,7 @@ function downshiftMultipleSelectionReducer(state, action) { newActiveIndex = selectedItems.length - 2; } - changes = extends_extends({ + changes = Object(esm_extends["a" /* default */])({ selectedItems: [].concat(selectedItems.slice(0, activeIndex), selectedItems.slice(activeIndex + 1)) }, { activeIndex: newActiveIndex @@ -29739,7 +45046,7 @@ function downshiftMultipleSelectionReducer(state, action) { _newActiveIndex = selectedItems.length - 2; } - changes = extends_extends({ + changes = Object(esm_extends["a" /* default */])({ selectedItems: [].concat(selectedItems.slice(0, selectedItemIndex), selectedItems.slice(selectedItemIndex + 1)) }, { activeIndex: _newActiveIndex @@ -29776,7 +45083,7 @@ function downshiftMultipleSelectionReducer(state, action) { throw new Error('Reducer called without proper action type.'); } - return extends_extends({}, state, changes); + return Object(esm_extends["a" /* default */])({}, state, changes); } var _excluded = ["refKey", "ref", "onClick", "onKeyDown", "selectedItem", "index"], @@ -29790,7 +45097,7 @@ function useMultipleSelection(userProps) { validatePropTypes(userProps, useMultipleSelection); // Props defaults and destructuring. - var props = extends_extends({}, downshift_esm_defaultProps, userProps); + var props = Object(esm_extends["a" /* default */])({}, downshift_esm_defaultProps, userProps); var getA11yRemovalMessage = props.getA11yRemovalMessage, itemToString = props.itemToString, @@ -29934,7 +45241,7 @@ function useMultipleSelection(userProps) { } }; - return extends_extends((_extends2 = {}, _extends2[refKey] = handleRefs(ref, function (selectedItemNode) { + return Object(esm_extends["a" /* default */])((_extends2 = {}, _extends2[refKey] = handleRefs(ref, function (selectedItemNode) { if (selectedItemNode) { selectedItemRefs.current.push(selectedItemNode); } @@ -29973,7 +45280,7 @@ function useMultipleSelection(userProps) { }); }; - return extends_extends((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (dropdownNode) { + return Object(esm_extends["a" /* default */])((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (dropdownNode) { if (dropdownNode) { dropdownRef.current = dropdownNode; } @@ -30041,13 +45348,14 @@ function useMultipleSelection(userProps) { */ + /** * Internal dependencies */ -const custom_select_control_itemToString = item => item && item.name; // This is needed so that in Windows, where +const custom_select_control_itemToString = item => item === null || item === void 0 ? void 0 : item.name; // This is needed so that in Windows, where // the menu does not necessarily open on // key up/down, you can still switch between // options with the menu closed. @@ -30086,10 +45394,13 @@ function CustomSelectControl({ className, hideLabelFromVision, label, + describedBy, options: items, onChange: onSelectedItemChange, value: _selectedItem }) { + var _menuProps$ariaActiv; + const { getLabelProps, getToggleButtonProps, @@ -30103,22 +45414,37 @@ function CustomSelectControl({ items, itemToString: custom_select_control_itemToString, onSelectedItemChange, - selectedItem: _selectedItem, + ...(typeof _selectedItem !== 'undefined' && _selectedItem !== null ? { + selectedItem: _selectedItem + } : undefined), stateReducer: custom_select_control_stateReducer }); + + function getDescribedBy() { + if (describedBy) { + return describedBy; + } + + if (!selectedItem) { + return Object(external_wp_i18n_["__"])('No selection'); + } // translators: %s: The selected option. + + + return Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Currently selected: %s'), selectedItem.name); + } + const menuProps = getMenuProps({ className: 'components-custom-select-control__menu', 'aria-hidden': !isOpen - }); // We need this here, because the null active descendant is not - // fully ARIA compliant. + }); // We need this here, because the null active descendant is not fully ARIA compliant. - if (menuProps['aria-activedescendant'] && menuProps['aria-activedescendant'].slice(0, 'downshift-null'.length) === 'downshift-null') { + if ((_menuProps$ariaActiv = menuProps['aria-activedescendant']) !== null && _menuProps$ariaActiv !== void 0 && _menuProps$ariaActiv.startsWith('downshift-null')) { delete menuProps['aria-activedescendant']; } return Object(external_wp_element_["createElement"])("div", { className: classnames_default()('components-custom-select-control', className) - }, hideLabelFromVision ? Object(external_wp_element_["createElement"])(visually_hidden["a" /* default */], Object(esm_extends["a" /* default */])({ + }, hideLabelFromVision ? Object(external_wp_element_["createElement"])(component["a" /* default */], Object(esm_extends["a" /* default */])({ as: "label" }, getLabelProps()), label) : /* eslint-disable-next-line jsx-a11y/label-has-associated-control, jsx-a11y/label-has-for */ @@ -30129,7 +45455,8 @@ function CustomSelectControl({ 'aria-label': label, 'aria-labelledby': undefined, className: 'components-custom-select-control__button', - isSmall: true + isSmall: true, + describedBy: getDescribedBy() }), custom_select_control_itemToString(selectedItem), Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { icon: chevron_down["a" /* default */], className: "components-custom-select-control__button-icon" @@ -30139,10 +45466,13 @@ function CustomSelectControl({ index, key: item.key, className: classnames_default()(item.className, 'components-custom-select-control__item', { - 'is-highlighted': index === highlightedIndex + 'is-highlighted': index === highlightedIndex, + 'has-hint': !!item.__experimentalHint }), style: item.style - }), item.name, item === selectedItem && Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { + }), item.name, item.__experimentalHint && Object(external_wp_element_["createElement"])("span", { + className: "components-custom-select-control__item-hint" + }, item.__experimentalHint), item === selectedItem && Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { icon: check["a" /* default */], className: "components-custom-select-control__item-icon" }))))); @@ -30238,9 +45568,9 @@ class date_DatePicker extends external_wp_element_["Component"] { } onMonthPreviewedHandler(newMonthDate) { - var _this$props; + var _this$props$onMonthPr, _this$props; - (_this$props = this.props) === null || _this$props === void 0 ? void 0 : _this$props.onMonthPreviewed(newMonthDate.toISOString()); + (_this$props$onMonthPr = (_this$props = this.props).onMonthPreviewed) === null || _this$props$onMonthPr === void 0 ? void 0 : _this$props$onMonthPr.call(_this$props, newMonthDate.toISOString()); this.keepFocusInside(); } /* @@ -30643,18 +45973,16 @@ function TimePicker({ })), is12Hour && Object(external_wp_element_["createElement"])(button_group, { className: "components-datetime__time-field components-datetime__time-field-am-pm" }, Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { - isPrimary: am === 'AM', - isSecondary: am !== 'AM', + variant: am === 'AM' ? 'primary' : 'secondary', onClick: updateAmPm('AM'), className: "components-datetime__time-am-button" }, Object(external_wp_i18n_["__"])('AM')), Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { - isPrimary: am === 'PM', - isSecondary: am !== 'PM', + variant: am === 'PM' ? 'primary' : 'secondary', onClick: updateAmPm('PM'), className: "components-datetime__time-pm-button" }, Object(external_wp_i18n_["__"])('PM'))), Object(external_wp_element_["createElement"])(date_time_timezone, null)))); } -/* harmony default export */ var time = (TimePicker); +/* harmony default export */ var date_time_time = (TimePicker); // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/date-time/index.js @@ -30698,7 +46026,7 @@ function DateTimePicker({ return Object(external_wp_element_["createElement"])("div", { ref: ref, className: "components-datetime" - }, !calendarHelpIsVisible && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(time, { + }, !calendarHelpIsVisible && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(date_time_time, { currentTime: currentDate, onChange: onChange, is12Hour: is12Hour @@ -30730,218 +46058,21 @@ function DateTimePicker({ "aria-label": Object(external_wp_i18n_["__"])('Home and End') }, Object(external_wp_i18n_["__"])('Home/End')), ' ' /* JSX removes whitespace, but a space is required for screen readers. */ - , Object(external_wp_i18n_["__"])('Go to the first (home) or last (end) day of a week.'))))), Object(external_wp_element_["createElement"])("div", { + , Object(external_wp_i18n_["__"])('Go to the first (Home) or last (End) day of a week.'))))), Object(external_wp_element_["createElement"])("div", { className: "components-datetime__buttons" }, !calendarHelpIsVisible && currentDate && Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { className: "components-datetime__date-reset-button", - isLink: true, + variant: "link", onClick: () => onChange(null) }, Object(external_wp_i18n_["__"])('Reset')), Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { className: "components-datetime__date-help-toggle", - isLink: true, + variant: "link", onClick: onClickDescriptionToggle }, calendarHelpIsVisible ? Object(external_wp_i18n_["__"])('Close') : Object(external_wp_i18n_["__"])('Calendar Help')))); } /* harmony default export */ var date_time = (Object(external_wp_element_["forwardRef"])(DateTimePicker)); -// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/icon/index.js -var components_build_module_icon = __webpack_require__("9VDH"); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/select-control/styles/select-control-styles.js - - -/** - * External dependencies - */ - - -/** - * Internal dependencies - */ - - -const select_control_styles_disabledStyles = ({ - disabled -}) => { - if (!disabled) return ''; - return /*#__PURE__*/css_browser_esm({ - color: COLORS.ui.textDisabled - }, true ? "" : undefined); -}; - -const select_control_styles_fontSizeStyles = ({ - size -}) => { - const sizes = { - default: '13px', - small: '11px' - }; - const fontSize = sizes[size]; - const fontSizeMobile = '16px'; - if (!fontSize) return ''; - return /*#__PURE__*/css_browser_esm("font-size:", fontSizeMobile, ";@media ( min-width:600px ){font-size:", fontSize, ";}" + ( true ? "" : undefined)); -}; - -const select_control_styles_sizeStyles = ({ - size -}) => { - const sizes = { - default: { - height: 30, - lineHeight: 1, - minHeight: 30 - }, - small: { - height: 24, - lineHeight: 1, - minHeight: 24 - } - }; - const style = sizes[size] || sizes.default; - return /*#__PURE__*/css_browser_esm(style, true ? "" : undefined); -}; // TODO: Resolve need to use &&& to increase specificity -// https://github.com/WordPress/gutenberg/issues/18483 - - -const Select = styled_base_browser_esm("select", { - target: "e12x0a390", - label: "Select" -})("&&&{appearance:none;background:transparent;box-sizing:border-box;border:none;box-shadow:none !important;color:", COLORS.black, ";display:block;margin:0;width:100%;", select_control_styles_disabledStyles, ";", select_control_styles_fontSizeStyles, ";", select_control_styles_sizeStyles, ";", rtl_rtl({ - paddingLeft: 8, - paddingRight: 24 -})(), "}" + ( true ? "" : undefined)); -const DownArrowWrapper = styled_base_browser_esm("div", { - target: "e12x0a391", - label: "DownArrowWrapper" -})("align-items:center;bottom:0;box-sizing:border-box;display:flex;padding:0 4px;pointer-events:none;position:absolute;top:0;", rtl_rtl({ - right: 0 -})(), " svg{display:block;}" + ( true ? "" : undefined)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/select-control/index.js - - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - -function select_control_useUniqueId(idProp) { - const instanceId = Object(external_wp_compose_["useInstanceId"])(SelectControl); - const id = `inspector-select-control-${instanceId}`; - return idProp || id; -} - -function SelectControl({ - className, - disabled = false, - help, - hideLabelFromVision, - id: idProp, - label, - multiple = false, - onBlur = external_lodash_["noop"], - onChange = external_lodash_["noop"], - onFocus = external_lodash_["noop"], - options = [], - size = 'default', - value: valueProp, - labelPosition = 'top', - ...props -}, ref) { - const [isFocused, setIsFocused] = Object(external_wp_element_["useState"])(false); - const id = select_control_useUniqueId(idProp); - const helpId = help ? `${id}__help` : undefined; // Disable reason: A select with an onchange throws a warning - - if (Object(external_lodash_["isEmpty"])(options)) return null; - - const handleOnBlur = event => { - onBlur(event); - setIsFocused(false); - }; - - const handleOnFocus = event => { - onFocus(event); - setIsFocused(true); - }; - - const handleOnChange = event => { - if (multiple) { - const selectedOptions = [...event.target.options].filter(({ - selected - }) => selected); - const newValues = selectedOptions.map(({ - value - }) => value); - onChange(newValues); - return; - } - - onChange(event.target.value, { - event - }); - }; - - const classes = classnames_default()('components-select-control', className); - /* eslint-disable jsx-a11y/no-onchange */ - - return Object(external_wp_element_["createElement"])(base_control, { - help: help - }, Object(external_wp_element_["createElement"])(input_base, Object(esm_extends["a" /* default */])({ - className: classes, - disabled: disabled, - hideLabelFromVision: hideLabelFromVision, - id: id, - isFocused: isFocused, - label: label, - size: size, - suffix: Object(external_wp_element_["createElement"])(DownArrowWrapper, null, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { - icon: chevron_down["a" /* default */], - size: 18 - })), - labelPosition: labelPosition - }, props), Object(external_wp_element_["createElement"])(Select, Object(esm_extends["a" /* default */])({}, props, { - "aria-describedby": helpId, - className: "components-select-control__input", - disabled: disabled, - id: id, - multiple: multiple, - onBlur: handleOnBlur, - onChange: handleOnChange, - onFocus: handleOnFocus, - ref: ref, - size: size, - value: valueProp - }), options.map((option, index) => { - const key = option.id || `${option.label}-${option.value}-${index}`; - return Object(external_wp_element_["createElement"])("option", { - key: key, - value: option.value, - disabled: option.disabled - }, option.label); - })))); - /* eslint-enable jsx-a11y/no-onchange */ -} - -const select_control_ForwardedComponent = Object(external_wp_element_["forwardRef"])(SelectControl); -/* harmony default export */ var select_control = (select_control_ForwardedComponent); - // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/dimension-control/sizes.js /** * Sizes @@ -30960,26 +46091,27 @@ const select_control_ForwardedComponent = Object(external_wp_element_["forwardRe * Finds the correct size object from the provided sizes * table by size slug (eg: `medium`) * - * @param {Array} sizes containing objects for each size definition - * @param {string} slug a string representation of the size (eg: `medium`) - * @return {Object} the matching size definition + * @param {Array} sizes containing objects for each size definition. + * @param {string} slug a string representation of the size (eg: `medium`). + * + * @return {Object} the matching size definition. */ const findSizeBySlug = (sizes, slug) => sizes.find(size => slug === size.slug); /* harmony default export */ var dimension_control_sizes = ([{ - name: Object(external_wp_i18n_["__"])('None'), + name: Object(external_wp_i18n_["_x"])('None', 'Size of a UI element'), slug: 'none' }, { - name: Object(external_wp_i18n_["__"])('Small'), + name: Object(external_wp_i18n_["_x"])('Small', 'Size of a UI element'), slug: 'small' }, { - name: Object(external_wp_i18n_["__"])('Medium'), + name: Object(external_wp_i18n_["_x"])('Medium', 'Size of a UI element'), slug: 'medium' }, { - name: Object(external_wp_i18n_["__"])('Large'), + name: Object(external_wp_i18n_["_x"])('Large', 'Size of a UI element'), slug: 'large' }, { - name: Object(external_wp_i18n_["__"])('Extra Large'), + name: Object(external_wp_i18n_["_x"])('Extra Large', 'Size of a UI element'), slug: 'xlarge' }]); @@ -31055,18 +46187,17 @@ function DimensionControl(props) { } /* harmony default export */ var dimension_control = (DimensionControl); -// EXTERNAL MODULE: external ["wp","dom"] -var external_wp_dom_ = __webpack_require__("1CF3"); - // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/disabled/styles/disabled-styles.js function disabled_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } -const StyledWrapper = styled_base_browser_esm("div", { - target: "e1ac3xxk0", - label: "StyledWrapper" -})( true ? { +/** + * External dependencies + */ +const StyledWrapper = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "e1ac3xxk0" +} : undefined)( true ? { name: "u2jump", styles: "position:relative;pointer-events:none;&::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;}*{pointer-events:none;}" } : undefined); @@ -31094,7 +46225,7 @@ const StyledWrapper = styled_base_browser_esm("div", { const Context = Object(external_wp_element_["createContext"])(false); const { Consumer, - Provider: disabled_Provider + Provider } = Context; /** * Names of control nodes which qualify for disabled behavior. @@ -31107,6 +46238,17 @@ const { */ const DISABLED_ELIGIBLE_NODE_NAMES = ['BUTTON', 'FIELDSET', 'INPUT', 'OPTGROUP', 'OPTION', 'SELECT', 'TEXTAREA']; +/** + * @typedef OwnProps + * @property {string} [className] Classname for the disabled element. + * @property {import('react').ReactNode} children Children to disable. + * @property {boolean} [isDisabled=true] Whether to disable the children. + */ + +/** + * @param {OwnProps & import('react').HTMLAttributes} props + * @return {JSX.Element} Element wrapping the children to disable them when isDisabled is true. + */ function Disabled({ className, @@ -31114,16 +46256,21 @@ function Disabled({ isDisabled = true, ...props }) { - const node = Object(external_wp_element_["useRef"])(); + /** @type {import('react').RefObject} */ + const node = Object(external_wp_element_["useRef"])(null); const disable = () => { + if (!node.current) { + return; + } + external_wp_dom_["focus"].focusable.find(node.current).forEach(focusable => { if (Object(external_lodash_["includes"])(DISABLED_ELIGIBLE_NODE_NAMES, focusable.nodeName)) { focusable.setAttribute('disabled', ''); } if (focusable.nodeName === 'A') { - focusable.setAttribute('tabindex', -1); + focusable.setAttribute('tabindex', '-1'); } const tabIndex = focusable.getAttribute('tabindex'); @@ -31140,7 +46287,7 @@ function Disabled({ // additional mutations which should be ignored. - const debouncedDisable = Object(external_wp_element_["useCallback"])(Object(external_lodash_["debounce"])(disable, { + const debouncedDisable = Object(external_wp_element_["useCallback"])(Object(external_lodash_["debounce"])(disable, undefined, { leading: true }), []); Object(external_wp_element_["useLayoutEffect"])(() => { @@ -31149,25 +46296,35 @@ function Disabled({ } disable(); - const observer = new window.MutationObserver(debouncedDisable); - observer.observe(node.current, { - childList: true, - attributes: true, - subtree: true - }); + /** @type {MutationObserver | undefined} */ + + let observer; + + if (node.current) { + observer = new window.MutationObserver(debouncedDisable); + observer.observe(node.current, { + childList: true, + attributes: true, + subtree: true + }); + } + return () => { - observer.disconnect(); + if (observer) { + observer.disconnect(); + } + debouncedDisable.cancel(); }; }, []); if (!isDisabled) { - return Object(external_wp_element_["createElement"])(disabled_Provider, { + return Object(external_wp_element_["createElement"])(Provider, { value: false }, children); } - return Object(external_wp_element_["createElement"])(disabled_Provider, { + return Object(external_wp_element_["createElement"])(Provider, { value: true }, Object(external_wp_element_["createElement"])(StyledWrapper, Object(esm_extends["a" /* default */])({ ref: node, @@ -31179,235 +46336,6 @@ Disabled.Context = Context; Disabled.Consumer = Consumer; /* harmony default export */ var build_module_disabled = (Disabled); -// CONCATENATED MODULE: ./node_modules/reakit/es/__keys-e6a5cfbe.js -// Automatically generated -var DISCLOSURE_STATE_KEYS = ["baseId", "unstable_idCountRef", "visible", "animated", "animating", "setBaseId", "show", "hide", "toggle", "setVisible", "setAnimated", "stopAnimation"]; -var DISCLOSURE_KEYS = DISCLOSURE_STATE_KEYS; -var DISCLOSURE_CONTENT_KEYS = DISCLOSURE_KEYS; - - - -// CONCATENATED MODULE: ./node_modules/reakit/es/Disclosure/DisclosureContent.js - - - - - - - - - - -var useDisclosureContent = Object(createHook["a" /* createHook */])({ - name: "DisclosureContent", - compose: Role["a" /* useRole */], - keys: DISCLOSURE_CONTENT_KEYS, - useProps: function useProps(options, _ref) { - var htmlOnTransitionEnd = _ref.onTransitionEnd, - htmlOnAnimationEnd = _ref.onAnimationEnd, - htmlStyle = _ref.style, - htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref, ["onTransitionEnd", "onAnimationEnd", "style"]); - - var animating = options.animated && options.animating; - - var _React$useState = Object(external_React_["useState"])(null), - transition = _React$useState[0], - setTransition = _React$useState[1]; - - var hidden = !options.visible && !animating; - var style = hidden ? Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ - display: "none" - }, htmlStyle) : htmlStyle; - var onTransitionEndRef = Object(useLiveRef["a" /* useLiveRef */])(htmlOnTransitionEnd); - var onAnimationEndRef = Object(useLiveRef["a" /* useLiveRef */])(htmlOnAnimationEnd); - var raf = Object(external_React_["useRef"])(0); - Object(external_React_["useEffect"])(function () { - if (!options.animated) return undefined; // Double RAF is needed so the browser has enough time to paint the - // default styles before processing the `data-enter` attribute. Otherwise - // it wouldn't be considered a transition. - // See https://github.com/reakit/reakit/issues/643 - - raf.current = window.requestAnimationFrame(function () { - raf.current = window.requestAnimationFrame(function () { - if (options.visible) { - setTransition("enter"); - } else if (animating) { - setTransition("leave"); - } else { - setTransition(null); - } - }); - }); - return function () { - return window.cancelAnimationFrame(raf.current); - }; - }, [options.animated, options.visible, animating]); - var onEnd = Object(external_React_["useCallback"])(function (event) { - if (!Object(isSelfTarget["a" /* isSelfTarget */])(event)) return; - if (!animating) return; // Ignores number animated - - if (options.animated === true) { - var _options$stopAnimatio; - - (_options$stopAnimatio = options.stopAnimation) === null || _options$stopAnimatio === void 0 ? void 0 : _options$stopAnimatio.call(options); - } - }, [options.animated, animating, options.stopAnimation]); - var onTransitionEnd = Object(external_React_["useCallback"])(function (event) { - var _onTransitionEndRef$c; - - (_onTransitionEndRef$c = onTransitionEndRef.current) === null || _onTransitionEndRef$c === void 0 ? void 0 : _onTransitionEndRef$c.call(onTransitionEndRef, event); - onEnd(event); - }, [onEnd]); - var onAnimationEnd = Object(external_React_["useCallback"])(function (event) { - var _onAnimationEndRef$cu; - - (_onAnimationEndRef$cu = onAnimationEndRef.current) === null || _onAnimationEndRef$cu === void 0 ? void 0 : _onAnimationEndRef$cu.call(onAnimationEndRef, event); - onEnd(event); - }, [onEnd]); - return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ - id: options.baseId, - "data-enter": transition === "enter" ? "" : undefined, - "data-leave": transition === "leave" ? "" : undefined, - onTransitionEnd: onTransitionEnd, - onAnimationEnd: onAnimationEnd, - hidden: hidden, - style: style - }, htmlProps); - } -}); -var DisclosureContent = Object(createComponent["a" /* createComponent */])({ - as: "div", - useHook: useDisclosureContent -}); - - - -// CONCATENATED MODULE: ./node_modules/reakit/es/Separator/Separator.js - - - - - - -// Automatically generated -var SEPARATOR_KEYS = ["orientation"]; - -var useSeparator = Object(createHook["a" /* createHook */])({ - name: "Separator", - compose: Role["a" /* useRole */], - keys: SEPARATOR_KEYS, - useOptions: function useOptions(_ref) { - var _ref$orientation = _ref.orientation, - orientation = _ref$orientation === void 0 ? "horizontal" : _ref$orientation, - options = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref, ["orientation"]); - - return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ - orientation: orientation - }, options); - }, - useProps: function useProps(options, htmlProps) { - return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ - role: "separator", - "aria-orientation": options.orientation - }, htmlProps); - } -}); -var Separator = Object(createComponent["a" /* createComponent */])({ - as: "hr", - memo: true, - useHook: useSeparator -}); - - - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/divider/styles.js - - -/** - * Internal dependencies - */ - -const Divider = /*#__PURE__*/Object(emotion_esm["a" /* css */])("border-color:", config_values.colorDivider, ";border-width:0 0 1px 0;height:0;margin:0;width:auto;;label:Divider;" + ( true ? "" : undefined)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/divider/component.js - - - - -// eslint-disable-next-line no-restricted-imports - // eslint-disable-next-line no-restricted-imports, no-duplicate-imports - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - // eslint-disable-next-line no-duplicate-imports - - - - -function component_Divider(props, forwardedRef) { - const { - className, - margin, - marginBottom, - marginTop, - ...otherProps - } = Object(use_context_system["a" /* useContextSystem */])(props, 'Divider'); - const classes = Object(external_wp_element_["useMemo"])(() => { - const sx = {}; - - if (typeof margin !== 'undefined') { - sx.margin = /*#__PURE__*/Object(emotion_esm["a" /* css */])("margin-bottom:", space_space(margin), ";margin-top:", space_space(margin), ";" + ( true ? "" : undefined)); - } else { - if (typeof marginTop !== 'undefined') { - sx.marginTop = /*#__PURE__*/Object(emotion_esm["a" /* css */])("margin-top:", space_space(marginTop), ";" + ( true ? "" : undefined)); - } - - if (typeof marginBottom !== 'undefined') { - sx.marginBottom = /*#__PURE__*/Object(emotion_esm["a" /* css */])("margin-bottom:", space_space(marginBottom), ";" + ( true ? "" : undefined)); - } - } - - return Object(emotion_esm["b" /* cx */])(Divider, sx.marginBottom, sx.marginTop, sx.margin, className); - }, [className, margin, marginBottom, marginTop]); - return Object(external_wp_element_["createElement"])(Separator, Object(esm_extends["a" /* default */])({ - as: "hr" - }, otherProps, { - className: classes, - ref: forwardedRef - })); -} -/** - * `Divider` is a layout component that separates groups of related content. - * - * @example - * ```js - * import { - * __experimentalDivider as Divider, - * __experimentalText as Text } - * from `@wordpress/components`; - * - * function Example() { - * return ( - * - * ... - * - * ... - * - * ); - * } - * ``` - */ - - -const ConnectedDivider = Object(context_connect["a" /* contextConnect */])(component_Divider, 'Divider'); -/* harmony default export */ var divider_component = (ConnectedDivider); - // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/draggable/index.js @@ -31415,28 +46343,32 @@ const ConnectedDivider = Object(context_connect["a" /* contextConnect */])(compo * WordPress dependencies */ +/** + * External dependencies + */ + + const dragImageClass = 'components-draggable__invisible-drag-image'; const cloneWrapperClass = 'components-draggable__clone'; -const cloneHeightTransformationBreakpoint = 700; const clonePadding = 0; const bodyClass = 'is-dragging-components-draggable'; /** * @typedef RenderProp * @property {(event: import('react').DragEvent) => void} onDraggableStart `onDragStart` handler. - * @property {(event: import('react').DragEvent) => void} onDraggableEnd `onDragEnd` handler. + * @property {(event: import('react').DragEvent) => void} onDraggableEnd `onDragEnd` handler. */ /** * @typedef Props - * @property {(props: RenderProp) => JSX.Element | null} children Children. - * @property {(event: import('react').DragEvent) => void} [onDragStart] Callback when dragging starts. - * @property {(event: import('react').DragEvent) => void} [onDragOver] Callback when dragging happens over the document. - * @property {(event: import('react').DragEvent) => void} [onDragEnd] Callback when dragging ends. - * @property {string} [cloneClassname] Classname for the cloned element. - * @property {string} [elementId] ID for the element. - * @property {any} [transferData] Transfer data for the drag event. - * @property {string} [__experimentalTransferDataType] The transfer data type to set. - * @property {import('react').ReactNode} __experimentalDragComponent Component to show when dragging. + * @property {(props: RenderProp) => JSX.Element | null} children Children. + * @property {(event: import('react').DragEvent) => void} [onDragStart] Callback when dragging starts. + * @property {(event: import('react').DragEvent) => void} [onDragOver] Callback when dragging happens over the document. + * @property {(event: import('react').DragEvent) => void} [onDragEnd] Callback when dragging ends. + * @property {string} [cloneClassname] Classname for the cloned element. + * @property {string} [elementId] ID for the element. + * @property {any} [transferData] Transfer data for the drag event. + * @property {string} [__experimentalTransferDataType] The transfer data type to set. + * @property {import('react').ReactNode} __experimentalDragComponent Component to show when dragging. */ /** @@ -31490,7 +46422,10 @@ function Draggable({ ownerDocument } = event.target; event.dataTransfer.setData(transferDataType, JSON.stringify(transferData)); - const cloneWrapper = ownerDocument.createElement('div'); + const cloneWrapper = ownerDocument.createElement('div'); // Reset position to 0,0. Natural stacking order will position this lower, even with a transform otherwise. + + cloneWrapper.style.top = 0; + cloneWrapper.style.left = 0; const dragImage = ownerDocument.createElement('div'); // Set a fake drag image to avoid browser defaults. Remove from DOM // right after. event.dataTransfer.setDragImage is not supported yet in // IE, we need to check for its existence first. @@ -31505,14 +46440,17 @@ function Draggable({ if (cloneClassname) { cloneWrapper.classList.add(cloneClassname); - } // If a dragComponent is defined, the following logic will clone the - // HTML node and inject it into the cloneWrapper. + } + let x = 0; + let y = 0; // If a dragComponent is defined, the following logic will clone the + // HTML node and inject it into the cloneWrapper. if (dragComponentRef.current) { // Position dragComponent at the same position as the cursor. - cloneWrapper.style.top = `${event.clientY}px`; - cloneWrapper.style.left = `${event.clientX}px`; + x = event.clientX; + y = event.clientY; + cloneWrapper.style.transform = `translate( ${x}px, ${y}px )`; const clonedDragComponent = ownerDocument.createElement('div'); clonedDragComponent.innerHTML = dragComponentRef.current.innerHTML; cloneWrapper.appendChild(clonedDragComponent); // Inject the cloneWrapper into the DOM. @@ -31527,21 +46465,11 @@ function Draggable({ const elementLeftOffset = parseInt(elementRect.left, 10); cloneWrapper.style.width = `${elementRect.width + clonePadding * 2}px`; const clone = element.cloneNode(true); - clone.id = `clone-${elementId}`; - - if (elementRect.height > cloneHeightTransformationBreakpoint) { - // Scale down clone if original element is larger than 700px. - cloneWrapper.style.transform = 'scale(0.5)'; - cloneWrapper.style.transformOrigin = 'top left'; // Position clone near the cursor. - - cloneWrapper.style.top = `${event.clientY - 100}px`; - cloneWrapper.style.left = `${event.clientX}px`; - } else { - // Position clone right over the original element (20px padding). - cloneWrapper.style.top = `${elementTopOffset - clonePadding}px`; - cloneWrapper.style.left = `${elementLeftOffset - clonePadding}px`; - } // Hack: Remove iFrames as it's causing the embeds drag clone to freeze + clone.id = `clone-${elementId}`; // Position clone right over the original element (20px padding). + x = elementLeftOffset - clonePadding; + y = elementTopOffset - clonePadding; + cloneWrapper.style.transform = `translate( ${x}px, ${y}px )`; // Hack: Remove iFrames as it's causing the embeds drag clone to freeze Array.from(clone.querySelectorAll('iframe')).forEach(child => child.parentNode.removeChild(child)); cloneWrapper.appendChild(clone); // Inject the cloneWrapper into the DOM. @@ -31553,22 +46481,32 @@ function Draggable({ let cursorLeft = event.clientX; let cursorTop = event.clientY; /** - * @param {import('react').DragEvent} e + * @param {import('react').DragEvent} e */ function over(e) { - cloneWrapper.style.top = `${parseInt(cloneWrapper.style.top, 10) + e.clientY - cursorTop}px`; - cloneWrapper.style.left = `${parseInt(cloneWrapper.style.left, 10) + e.clientX - cursorLeft}px`; // Update cursor coordinates. + //Skip doing any work if mouse has not moved. + if (cursorLeft === e.clientX && cursorTop === e.clientY) { + return; + } + const nextX = x + e.clientX - cursorLeft; + const nextY = y + e.clientY - cursorTop; + cloneWrapper.style.transform = `translate( ${nextX}px, ${nextY}px )`; cursorLeft = e.clientX; cursorTop = e.clientY; + x = nextX; + y = nextY; if (onDragOver) { onDragOver(e); } - } + } // Aim for 60fps (16 ms per frame) for now. We can potentially use requestAnimationFrame (raf) instead, + // note that browsers may throttle raf below 60fps in certain conditions. - ownerDocument.addEventListener('dragover', over); // Update cursor to 'grabbing', document wide. + + const throttledDragOver = Object(external_lodash_["throttle"])(over, 16); + ownerDocument.addEventListener('dragover', throttledDragOver); // Update cursor to 'grabbing', document wide. ownerDocument.body.classList.add(bodyClass); // Allow the Synthetic Event to be accessed from asynchronous code. // https://reactjs.org/docs/events.html#event-pooling @@ -31594,7 +46532,7 @@ function Draggable({ ownerDocument.body.classList.remove(bodyClass); - ownerDocument.removeEventListener('dragover', over); + ownerDocument.removeEventListener('dragover', throttledDragOver); clearTimeout(timerId); }; } @@ -31617,6 +46555,261 @@ function Draggable({ // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/upload.js var upload = __webpack_require__("NTP4"); +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/utils/use-force-update.js + + + + +function useForceUpdate() { + var unloadingRef = Object(external_React_["useRef"])(false); + var _a = __read(Object(external_React_["useState"])(0), 2), forcedRenderCount = _a[0], setForcedRenderCount = _a[1]; + useUnmountEffect(function () { return (unloadingRef.current = true); }); + return Object(external_React_["useCallback"])(function () { + !unloadingRef.current && setForcedRenderCount(forcedRenderCount + 1); + }, [forcedRenderCount]); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.js + + + + + +var PresenceChild_presenceId = 0; +function getPresenceId() { + var id = PresenceChild_presenceId; + PresenceChild_presenceId++; + return id; +} +var PresenceChild = function (_a) { + var children = _a.children, initial = _a.initial, isPresent = _a.isPresent, onExitComplete = _a.onExitComplete, custom = _a.custom, presenceAffectsLayout = _a.presenceAffectsLayout; + var presenceChildren = useConstant(newChildrenMap); + var id = useConstant(getPresenceId); + var context = Object(external_React_["useMemo"])(function () { return ({ + id: id, + initial: initial, + isPresent: isPresent, + custom: custom, + onExitComplete: function (childId) { + presenceChildren.set(childId, true); + var allComplete = true; + presenceChildren.forEach(function (isComplete) { + if (!isComplete) + allComplete = false; + }); + allComplete && (onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete()); + }, + register: function (childId) { + presenceChildren.set(childId, false); + return function () { return presenceChildren.delete(childId); }; + }, + }); }, + /** + * If the presence of a child affects the layout of the components around it, + * we want to make a new context value to ensure they get re-rendered + * so they can detect that layout change. + */ + presenceAffectsLayout ? undefined : [isPresent]); + Object(external_React_["useMemo"])(function () { + presenceChildren.forEach(function (_, key) { return presenceChildren.set(key, false); }); + }, [isPresent]); + /** + * If there's no `motion` components to fire exit animations, we want to remove this + * component immediately. + */ + external_React_["useEffect"](function () { + !isPresent && !presenceChildren.size && (onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete()); + }, [isPresent]); + return (external_React_["createElement"](PresenceContext.Provider, { value: context }, children)); +}; +function newChildrenMap() { + return new Map(); +} + + + +// CONCATENATED MODULE: ./node_modules/framer-motion/dist/es/components/AnimatePresence/index.js + + + + + + + +function getChildKey(child) { + return child.key || ""; +} +function updateChildLookup(children, allChildren) { + var seenChildren = false ? undefined : null; + children.forEach(function (child) { + var key = getChildKey(child); + if (false) {} + allChildren.set(key, child); + }); +} +function onlyElements(children) { + var filtered = []; + // We use forEach here instead of map as map mutates the component key by preprending `.$` + external_React_["Children"].forEach(children, function (child) { + if (Object(external_React_["isValidElement"])(child)) + filtered.push(child); + }); + return filtered; +} +/** + * `AnimatePresence` enables the animation of components that have been removed from the tree. + * + * When adding/removing more than a single child, every child **must** be given a unique `key` prop. + * + * @library + * + * Any `Frame` components that have an `exit` property defined will animate out when removed from + * the tree. + * + * ```jsx + * import { Frame, AnimatePresence } from 'framer' + * + * // As items are added and removed from `items` + * export function Items({ items }) { + * return ( + * + * {items.map(item => ( + * + * ))} + * + * ) + * } + * ``` + * + * You can sequence exit animations throughout a tree using variants. + * + * @motion + * + * Any `motion` components that have an `exit` property defined will animate out when removed from + * the tree. + * + * ```jsx + * import { motion, AnimatePresence } from 'framer-motion' + * + * export const Items = ({ items }) => ( + * + * {items.map(item => ( + * + * ))} + * + * ) + * ``` + * + * You can sequence exit animations throughout a tree using variants. + * + * If a child contains multiple `motion` components with `exit` props, it will only unmount the child + * once all `motion` components have finished animating out. Likewise, any components using + * `usePresence` all need to call `safeToRemove`. + * + * @public + */ +var AnimatePresence = function (_a) { + var children = _a.children, custom = _a.custom, _b = _a.initial, initial = _b === void 0 ? true : _b, onExitComplete = _a.onExitComplete, exitBeforeEnter = _a.exitBeforeEnter, _c = _a.presenceAffectsLayout, presenceAffectsLayout = _c === void 0 ? true : _c; + // We want to force a re-render once all exiting animations have finished. We + // either use a local forceRender function, or one from a parent context if it exists. + var forceRender = useForceUpdate(); + var layoutContext = Object(external_React_["useContext"])(SharedLayoutContext); + if (isSharedLayout(layoutContext)) { + forceRender = layoutContext.forceUpdate; + } + var isInitialRender = Object(external_React_["useRef"])(true); + // Filter out any children that aren't ReactElements. We can only track ReactElements with a props.key + var filteredChildren = onlyElements(children); + // Keep a living record of the children we're actually rendering so we + // can diff to figure out which are entering and exiting + var presentChildren = Object(external_React_["useRef"])(filteredChildren); + // A lookup table to quickly reference components by key + var allChildren = Object(external_React_["useRef"])(new Map()) + .current; + // A living record of all currently exiting components. + var exiting = Object(external_React_["useRef"])(new Set()).current; + updateChildLookup(filteredChildren, allChildren); + // If this is the initial component render, just deal with logic surrounding whether + // we play onMount animations or not. + if (isInitialRender.current) { + isInitialRender.current = false; + return (external_React_["createElement"](external_React_["Fragment"], null, filteredChildren.map(function (child) { return (external_React_["createElement"](PresenceChild, { key: getChildKey(child), isPresent: true, initial: initial ? undefined : false, presenceAffectsLayout: presenceAffectsLayout }, child)); }))); + } + // If this is a subsequent render, deal with entering and exiting children + var childrenToRender = __spreadArray([], __read(filteredChildren)); + // Diff the keys of the currently-present and target children to update our + // exiting list. + var presentKeys = presentChildren.current.map(getChildKey); + var targetKeys = filteredChildren.map(getChildKey); + // Diff the present children with our target children and mark those that are exiting + var numPresent = presentKeys.length; + for (var i = 0; i < numPresent; i++) { + var key = presentKeys[i]; + if (targetKeys.indexOf(key) === -1) { + exiting.add(key); + } + else { + // In case this key has re-entered, remove from the exiting list + exiting.delete(key); + } + } + // If we currently have exiting children, and we're deferring rendering incoming children + // until after all current children have exiting, empty the childrenToRender array + if (exitBeforeEnter && exiting.size) { + childrenToRender = []; + } + // Loop through all currently exiting components and clone them to overwrite `animate` + // with any `exit` prop they might have defined. + exiting.forEach(function (key) { + // If this component is actually entering again, early return + if (targetKeys.indexOf(key) !== -1) + return; + var child = allChildren.get(key); + if (!child) + return; + var insertionIndex = presentKeys.indexOf(key); + var onExit = function () { + allChildren.delete(key); + exiting.delete(key); + // Remove this child from the present children + var removeIndex = presentChildren.current.findIndex(function (presentChild) { return presentChild.key === key; }); + presentChildren.current.splice(removeIndex, 1); + // Defer re-rendering until all exiting children have indeed left + if (!exiting.size) { + presentChildren.current = filteredChildren; + forceRender(); + onExitComplete && onExitComplete(); + } + }; + childrenToRender.splice(insertionIndex, 0, external_React_["createElement"](PresenceChild, { key: getChildKey(child), isPresent: false, onExitComplete: onExit, custom: custom, presenceAffectsLayout: presenceAffectsLayout }, child)); + }); + // Add `MotionContext` even to children that don't need it to ensure we're rendering + // the same tree between renders + childrenToRender = childrenToRender.map(function (child) { + var key = child.key; + return exiting.has(key) ? (child) : (external_React_["createElement"](PresenceChild, { key: getChildKey(child), isPresent: true, presenceAffectsLayout: presenceAffectsLayout }, child)); + }); + presentChildren.current = childrenToRender; + if (false) {} + return (external_React_["createElement"](external_React_["Fragment"], null, exiting.size + ? childrenToRender + : childrenToRender.map(function (child) { return Object(external_React_["cloneElement"])(child); }))); +}; + + + // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/drop-zone/index.js @@ -31634,6 +46827,11 @@ var upload = __webpack_require__("NTP4"); +/** + * Internal dependencies + */ + + function DropZoneComponent({ className, label, @@ -31687,17 +46885,62 @@ function DropZoneComponent({ } }); + const disableMotion = Object(external_wp_compose_["useReducedMotion"])(); let children; + const backdrop = { + hidden: { + scaleY: 0, + opacity: 0 + }, + show: { + scaleY: 1, + opacity: 1, + transition: { + type: 'tween', + duration: 0.2, + delay: 0.1, + delayChildren: 0.2 + } + }, + exit: { + scaleY: 1, + opacity: 0, + transition: { + duration: 0.3, + delayChildren: 0 + } + } + }; + const foreground = { + hidden: { + opacity: 0, + scale: 0.75 + }, + show: { + opacity: 1, + scale: 1 + }, + exit: { + opacity: 0, + scale: 0.9 + } + }; if (isDraggingOverElement) { - children = Object(external_wp_element_["createElement"])("div", { + children = Object(external_wp_element_["createElement"])(motion.div, { + variants: backdrop, + initial: disableMotion ? 'show' : 'hidden', + animate: "show", + exit: disableMotion ? 'show' : 'exit', className: "components-drop-zone__content" + }, Object(external_wp_element_["createElement"])(motion.div, { + variants: foreground }, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { icon: upload["a" /* default */], className: "components-drop-zone__content-icon" }), Object(external_wp_element_["createElement"])("span", { className: "components-drop-zone__content-text" - }, label ? label : Object(external_wp_i18n_["__"])('Drop files to upload'))); + }, label ? label : Object(external_wp_i18n_["__"])('Drop files to upload')))); } const classes = classnames_default()('components-drop-zone', className, { @@ -31709,7 +46952,7 @@ function DropZoneComponent({ return Object(external_wp_element_["createElement"])("div", { ref: ref, className: classes - }, children); + }, disableMotion ? children : Object(external_wp_element_["createElement"])(AnimatePresence, null, children)); } // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/drop-zone/provider.js @@ -31726,418 +46969,6 @@ function DropZoneProvider({ return children; } -// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/menu.js - - -/** - * WordPress dependencies - */ - -const menu_menu = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { - d: "M5 5v1.5h14V5H5zm0 7.8h14v-1.5H5v1.5zM5 19h14v-1.5H5V19z" -})); -/* harmony default export */ var library_menu = (menu_menu); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/navigable-container/container.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -const MENU_ITEM_ROLES = ['menuitem', 'menuitemradio', 'menuitemcheckbox']; - -function cycleValue(value, total, offset) { - const nextValue = value + offset; - - if (nextValue < 0) { - return total + nextValue; - } else if (nextValue >= total) { - return nextValue - total; - } - - return nextValue; -} - -class container_NavigableContainer extends external_wp_element_["Component"] { - constructor() { - super(...arguments); - this.onKeyDown = this.onKeyDown.bind(this); - this.bindContainer = this.bindContainer.bind(this); - this.getFocusableContext = this.getFocusableContext.bind(this); - this.getFocusableIndex = this.getFocusableIndex.bind(this); - } - - componentDidMount() { - // We use DOM event listeners instead of React event listeners - // because we want to catch events from the underlying DOM tree - // The React Tree can be different from the DOM tree when using - // portals. Block Toolbars for instance are rendered in a separate - // React Trees. - this.container.addEventListener('keydown', this.onKeyDown); - this.container.addEventListener('focus', this.onFocus); - } - - componentWillUnmount() { - this.container.removeEventListener('keydown', this.onKeyDown); - this.container.removeEventListener('focus', this.onFocus); - } - - bindContainer(ref) { - const { - forwardedRef - } = this.props; - this.container = ref; - - if (Object(external_lodash_["isFunction"])(forwardedRef)) { - forwardedRef(ref); - } else if (forwardedRef && 'current' in forwardedRef) { - forwardedRef.current = ref; - } - } - - getFocusableContext(target) { - const { - onlyBrowserTabstops - } = this.props; - const finder = onlyBrowserTabstops ? external_wp_dom_["focus"].tabbable : external_wp_dom_["focus"].focusable; - const focusables = finder.find(this.container); - const index = this.getFocusableIndex(focusables, target); - - if (index > -1 && target) { - return { - index, - target, - focusables - }; - } - - return null; - } - - getFocusableIndex(focusables, target) { - const directIndex = focusables.indexOf(target); - - if (directIndex !== -1) { - return directIndex; - } - } - - onKeyDown(event) { - if (this.props.onKeyDown) { - this.props.onKeyDown(event); - } - - const { - getFocusableContext - } = this; - const { - cycle = true, - eventToOffset, - onNavigate = external_lodash_["noop"], - stopNavigationEvents - } = this.props; - const offset = eventToOffset(event); // eventToOffset returns undefined if the event is not handled by the component - - if (offset !== undefined && stopNavigationEvents) { - // Prevents arrow key handlers bound to the document directly interfering - event.stopImmediatePropagation(); // When navigating a collection of items, prevent scroll containers - // from scrolling. The preventDefault also prevents Voiceover from - // 'handling' the event, as voiceover will try to use arrow keys - // for highlighting text. - - const targetRole = event.target.getAttribute('role'); - - if (MENU_ITEM_ROLES.includes(targetRole)) { - event.preventDefault(); - } - } - - if (!offset) { - return; - } - - const context = getFocusableContext(event.target.ownerDocument.activeElement); - - if (!context) { - return; - } - - const { - index, - focusables - } = context; - const nextIndex = cycle ? cycleValue(index, focusables.length, offset) : index + offset; - - if (nextIndex >= 0 && nextIndex < focusables.length) { - focusables[nextIndex].focus(); - onNavigate(nextIndex, focusables[nextIndex]); - } - } - - render() { - const { - children, - ...props - } = this.props; - return Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({ - ref: this.bindContainer - }, Object(external_lodash_["omit"])(props, ['stopNavigationEvents', 'eventToOffset', 'onNavigate', 'onKeyDown', 'cycle', 'onlyBrowserTabstops', 'forwardedRef'])), children); - } - -} - -const forwardedNavigableContainer = (props, ref) => { - return Object(external_wp_element_["createElement"])(container_NavigableContainer, Object(esm_extends["a" /* default */])({}, props, { - forwardedRef: ref - })); -}; - -forwardedNavigableContainer.displayName = 'NavigableContainer'; -/* harmony default export */ var navigable_container_container = (Object(external_wp_element_["forwardRef"])(forwardedNavigableContainer)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/navigable-container/menu.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - -/** - * Internal dependencies - */ - - -function NavigableMenu({ - role = 'menu', - orientation = 'vertical', - ...rest -}, ref) { - const eventToOffset = evt => { - const { - keyCode - } = evt; - let next = [external_wp_keycodes_["DOWN"]]; - let previous = [external_wp_keycodes_["UP"]]; - - if (orientation === 'horizontal') { - next = [external_wp_keycodes_["RIGHT"]]; - previous = [external_wp_keycodes_["LEFT"]]; - } - - if (orientation === 'both') { - next = [external_wp_keycodes_["RIGHT"], external_wp_keycodes_["DOWN"]]; - previous = [external_wp_keycodes_["LEFT"], external_wp_keycodes_["UP"]]; - } - - if (Object(external_lodash_["includes"])(next, keyCode)) { - return 1; - } else if (Object(external_lodash_["includes"])(previous, keyCode)) { - return -1; - } else if (Object(external_lodash_["includes"])([external_wp_keycodes_["DOWN"], external_wp_keycodes_["UP"], external_wp_keycodes_["LEFT"], external_wp_keycodes_["RIGHT"]], keyCode)) { - // Key press should be handled, e.g. have event propagation and - // default behavior handled by NavigableContainer but not result - // in an offset. - return 0; - } - }; - - return Object(external_wp_element_["createElement"])(navigable_container_container, Object(esm_extends["a" /* default */])({ - ref: ref, - stopNavigationEvents: true, - onlyBrowserTabstops: false, - role: role, - "aria-orientation": role === 'presentation' ? null : orientation, - eventToOffset: eventToOffset - }, rest)); -} -/* harmony default export */ var navigable_container_menu = (Object(external_wp_element_["forwardRef"])(NavigableMenu)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/dropdown-menu/index.js - - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - -function mergeProps(defaultProps = {}, props = {}) { - const mergedProps = { ...defaultProps, - ...props - }; - - if (props.className && defaultProps.className) { - mergedProps.className = classnames_default()(props.className, defaultProps.className); - } - - return mergedProps; -} - -function DropdownMenu({ - children, - className, - controls, - icon = library_menu, - label, - popoverProps, - toggleProps, - menuProps, - disableOpenOnArrowDown = false, - text, - // The following props exist for backward compatibility. - menuLabel, - position, - noIcons -}) { - if (menuLabel) { - external_wp_deprecated_default()('`menuLabel` prop in `DropdownComponent`', { - since: '5.3', - alternative: '`menuProps` object and its `aria-label` property' - }); - } - - if (position) { - external_wp_deprecated_default()('`position` prop in `DropdownComponent`', { - since: '5.3', - alternative: '`popoverProps` object and its `position` property' - }); - } - - if (Object(external_lodash_["isEmpty"])(controls) && !Object(external_lodash_["isFunction"])(children)) { - return null; - } // Normalize controls to nested array of objects (sets of controls) - - - let controlSets; - - if (!Object(external_lodash_["isEmpty"])(controls)) { - controlSets = controls; - - if (!Array.isArray(controlSets[0])) { - controlSets = [controlSets]; - } - } - - const mergedPopoverProps = mergeProps({ - className: 'components-dropdown-menu__popover', - position - }, popoverProps); - return Object(external_wp_element_["createElement"])(Dropdown, { - className: classnames_default()('components-dropdown-menu', className), - popoverProps: mergedPopoverProps, - renderToggle: ({ - isOpen, - onToggle - }) => { - var _toggleProps$showTool; - - const openOnArrowDown = event => { - if (disableOpenOnArrowDown) { - return; - } - - if (!isOpen && event.keyCode === external_wp_keycodes_["DOWN"]) { - event.preventDefault(); - event.stopPropagation(); - onToggle(); - } - }; - - const mergedToggleProps = mergeProps({ - className: classnames_default()('components-dropdown-menu__toggle', { - 'is-opened': isOpen - }) - }, toggleProps); - return Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], Object(esm_extends["a" /* default */])({}, mergedToggleProps, { - icon: icon, - onClick: event => { - onToggle(event); - - if (mergedToggleProps.onClick) { - mergedToggleProps.onClick(event); - } - }, - onKeyDown: event => { - openOnArrowDown(event); - - if (mergedToggleProps.onKeyDown) { - mergedToggleProps.onKeyDown(event); - } - }, - "aria-haspopup": "true", - "aria-expanded": isOpen, - label: label, - text: text, - showTooltip: (_toggleProps$showTool = toggleProps === null || toggleProps === void 0 ? void 0 : toggleProps.showTooltip) !== null && _toggleProps$showTool !== void 0 ? _toggleProps$showTool : true - }), mergedToggleProps.children); - }, - renderContent: props => { - const mergedMenuProps = mergeProps({ - 'aria-label': menuLabel || label, - className: classnames_default()('components-dropdown-menu__menu', { - 'no-icons': noIcons - }) - }, menuProps); - return Object(external_wp_element_["createElement"])(navigable_container_menu, Object(esm_extends["a" /* default */])({}, mergedMenuProps, { - role: "menu" - }), Object(external_lodash_["isFunction"])(children) ? children(props) : null, Object(external_lodash_["flatMap"])(controlSets, (controlSet, indexOfSet) => controlSet.map((control, indexOfControl) => Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { - key: [indexOfSet, indexOfControl].join(), - onClick: event => { - event.stopPropagation(); - props.onClose(); - - if (control.onClick) { - control.onClick(); - } - }, - className: classnames_default()('components-dropdown-menu__menu-item', { - 'has-separator': indexOfSet > 0 && indexOfControl === 0, - 'is-active': control.isActive - }), - icon: control.icon, - "aria-checked": control.role === 'menuitemcheckbox' || control.role === 'menuitemradio' ? control.isActive : undefined, - role: control.role === 'menuitemcheckbox' || control.role === 'menuitemradio' ? control.role : 'menuitem', - disabled: control.isDisabled - }, control.title)))); - } - }); -} - -/* harmony default export */ var dropdown_menu = (DropdownMenu); - // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/swatch.js @@ -32186,6 +47017,8 @@ function Swatch({ * External dependencies */ + +Object(colord["b" /* extend */])([names["a" /* default */]]); /** * Object representation for a color. * @@ -32210,7 +47043,7 @@ function getDefaultColors(palette) { color }) => ({ color, - brightness: tinycolor_default()(color).getBrightness() / 255 + brightness: Object(colord["a" /* colord */])(color).brightness() })).reduce(([min, max], current) => { return [current.brightness <= min.brightness ? current : min, current.brightness >= max.brightness ? current : max]; }, [{ @@ -32302,6 +47135,7 @@ function color_list_picker_ColorOption({ value, colors, disableCustomColors, + enableAlpha, onChange }) { const [isOpen, setIsOpen] = Object(external_wp_element_["useState"])(false); @@ -32312,11 +47146,13 @@ function color_list_picker_ColorOption({ }), onClick: () => setIsOpen(prev => !prev) }, label), isOpen && Object(external_wp_element_["createElement"])(ColorPalette, { + className: "components-color-list-picker__color-picker", colors: colors, value: value, clearable: false, onChange: onChange, - disableCustomColors: disableCustomColors + disableCustomColors: disableCustomColors, + enableAlpha: enableAlpha })); } @@ -32325,6 +47161,7 @@ function ColorListPicker({ labels, value = [], disableCustomColors, + enableAlpha, onChange }) { return Object(external_wp_element_["createElement"])("div", { @@ -32335,6 +47172,7 @@ function ColorListPicker({ value: value[index], colors: colors, disableCustomColors: disableCustomColors, + enableAlpha: enableAlpha, onChange: newColor => { const newColors = value.slice(); newColors[index] = newColor; @@ -32350,8 +47188,8 @@ const COLOR_POPOVER_PROPS = { className: 'components-custom-gradient-picker__color-picker-popover', position: 'top' }; -const GRADIENT_MARKERS_WIDTH = 18; -const INSERT_POINT_WIDTH = 23; +const GRADIENT_MARKERS_WIDTH = 16; +const INSERT_POINT_WIDTH = 16; const MINIMUM_ABSOLUTE_LEFT_POSITION = 5; const MINIMUM_DISTANCE_BETWEEN_INSERTER_AND_POINT = 10; const MINIMUM_DISTANCE_BETWEEN_POINTS = 0; @@ -32545,6 +47383,7 @@ function getHorizontalRelativeGradientPosition(mouseXCoordinate, containerElemen * External dependencies */ + /** * WordPress dependencies */ @@ -32553,6 +47392,7 @@ function getHorizontalRelativeGradientPosition(mouseXCoordinate, containerElemen + /** * Internal dependencies */ @@ -32564,48 +47404,15 @@ function getHorizontalRelativeGradientPosition(mouseXCoordinate, containerElemen - -function ControlPointKeyboardMove({ - value: position, - onChange, - children -}) { - const shortcuts = { - right(event) { - // Stop propagation of the key press event to avoid focus moving - // to another editor area. - event.stopPropagation(); - const newPosition = clampPercent(position + KEYBOARD_CONTROL_POINT_VARIATION); - onChange(newPosition); - }, - - left(event) { - // Stop propagation of the key press event to avoid focus moving - // to another editor area. - event.stopPropagation(); - const newPosition = clampPercent(position - KEYBOARD_CONTROL_POINT_VARIATION); - onChange(newPosition); - } - - }; - return Object(external_wp_element_["createElement"])(keyboard_shortcuts, { - shortcuts: shortcuts - }, children); -} - function ControlPointButton({ isOpen, position, color, - onChange, ...additionalProps }) { const instanceId = Object(external_wp_compose_["useInstanceId"])(ControlPointButton); const descriptionId = `components-custom-gradient-picker__control-point-button-description-${instanceId}`; - return Object(external_wp_element_["createElement"])(ControlPointKeyboardMove, { - value: position, - onChange: onChange - }, Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], Object(esm_extends["a" /* default */])({ + return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], Object(esm_extends["a" /* default */])({ "aria-label": Object(external_wp_i18n_["sprintf"])( // translators: %1$s: gradient position e.g: 70, %2$s: gradient color code e.g: rgb(52,121,151). Object(external_wp_i18n_["__"])('Gradient control point at position %1$s%% with color code %2$s.'), position, color), "aria-describedby": descriptionId, @@ -32617,7 +47424,7 @@ function ControlPointButton({ style: { left: `${position}%` } - }, additionalProps)), Object(external_wp_element_["createElement"])(visually_hidden["a" /* default */], { + }, additionalProps)), Object(external_wp_element_["createElement"])(component["a" /* default */], { id: descriptionId }, Object(external_wp_i18n_["__"])('Use your left or right arrow keys or drag and drop with the mouse to change the gradient position. Press the button to change the color or remove the control point.'))); } @@ -32699,22 +47506,30 @@ function ControlPoints({ window.addEventListener('mouseup', cleanEventListeners); } }, + onKeyDown: event => { + if (event.keyCode === external_wp_keycodes_["LEFT"]) { + // Stop propagation of the key press event to avoid focus moving + // to another editor area. + event.stopPropagation(); + onChange(updateControlPointPosition(controlPoints, index, clampPercent(point.position - KEYBOARD_CONTROL_POINT_VARIATION))); + } else if (event.keyCode === external_wp_keycodes_["RIGHT"]) { + // Stop propagation of the key press event to avoid focus moving + // to another editor area. + event.stopPropagation(); + onChange(updateControlPointPosition(controlPoints, index, clampPercent(point.position + KEYBOARD_CONTROL_POINT_VARIATION))); + } + }, isOpen: isOpen, position: point.position, - color: point.color, - onChange: newPosition => { - onChange(updateControlPointPosition(controlPoints, index, newPosition)); - } + color: point.color }), renderContent: ({ onClose - }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(color_picker_ColorPicker, { - disableAlpha: disableAlpha, + }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(LegacyAdapter, { + enableAlpha: !disableAlpha, color: point.color, - onChangeComplete: ({ - color - }) => { - onChange(updateControlPointColor(controlPoints, index, color.toRgbString())); + onChange: color => { + onChange(updateControlPointColor(controlPoints, index, Object(colord["a" /* colord */])(color).toRgbString())); } }), !disableRemove && Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { className: "components-custom-gradient-picker__remove-control-point", @@ -32722,7 +47537,7 @@ function ControlPoints({ onChange(removeControlPoint(controlPoints, index)); onClose(); }, - isLink: true + variant: "link" }, Object(external_wp_i18n_["__"])('Remove Control Point'))), popoverProps: COLOR_POPOVER_PROPS }); @@ -32765,16 +47580,14 @@ function InsertPoint({ left: insertPosition !== null ? `${insertPosition}%` : undefined } }), - renderContent: () => Object(external_wp_element_["createElement"])(color_picker_ColorPicker, { - disableAlpha: disableAlpha, - onChangeComplete: ({ - color - }) => { + renderContent: () => Object(external_wp_element_["createElement"])(LegacyAdapter, { + enableAlpha: !disableAlpha, + onChange: color => { if (!alreadyInsertedPoint) { - onChange(addControlPoint(controlPoints, insertPosition, color.toRgbString())); + onChange(addControlPoint(controlPoints, insertPosition, Object(colord["a" /* colord */])(color).toRgbString())); setAlreadyInsertedPoint(true); } else { - onChange(updateControlPointColorByPosition(controlPoints, insertPosition, color.toRgbString())); + onChange(updateControlPointColorByPosition(controlPoints, insertPosition, Object(colord["a" /* colord */])(color).toRgbString())); } } }), @@ -32980,7 +47793,6 @@ function CustomDuotoneBar({ const controlPoints = getColorStopsFromColors(values); return Object(external_wp_element_["createElement"])(CustomGradientBar, { disableInserter: true, - disableAlpha: true, background: background, hasGradient: hasGradient, value: controlPoints, @@ -33060,6 +47872,7 @@ function DuotonePicker({ colors: colorPalette, value: value, disableCustomColors: disableCustomColors, + enableAlpha: true, onChange: newColors => { if (!newColors[0]) { newColors[0] = defaultDark; @@ -33085,16 +47898,19 @@ var external = __webpack_require__("K+tz"); function external_link_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } +/** + * External dependencies + */ + /** * WordPress dependencies */ -const StyledIcon = /*#__PURE__*/styled_base_browser_esm(build_module_icon["a" /* default */], { - target: "etxm6pv0", - label: "StyledIcon" -})( true ? { - name: "i8uvf3", - styles: "width:1.4em;height:1.4em;margin:-0.2em 0.1em 0;vertical-align:middle;fill:currentColor;" +const StyledIcon = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(build_module_icon["a" /* default */], true ? { + target: "etxm6pv0" +} : undefined)( true ? { + name: "bqq7t3", + styles: "width:1.4em;height:1.4em;margin:-0.2em 0.1em 0;vertical-align:middle;fill:currentColor" } : undefined); // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/external-link/index.js @@ -33136,7 +47952,7 @@ function ExternalLink({ target: "_blank", rel: rel, ref: ref - }), children, Object(external_wp_element_["createElement"])(visually_hidden["a" /* default */], { + }), children, Object(external_wp_element_["createElement"])(component["a" /* default */], { as: "span" }, /* translators: accessibility text */ @@ -33150,10 +47966,1494 @@ function ExternalLink({ } /* harmony default export */ var external_link = (Object(external_wp_element_["forwardRef"])(ExternalLink)); -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/focal-point-picker/styles/focal-point-picker-style.js +// CONCATENATED MODULE: ./node_modules/reakit/es/__keys-26bb1730.js +// Automatically generated +var POPOVER_STATE_KEYS = ["baseId", "unstable_idCountRef", "visible", "animated", "animating", "setBaseId", "show", "hide", "toggle", "setVisible", "setAnimated", "stopAnimation", "modal", "unstable_disclosureRef", "setModal", "unstable_referenceRef", "unstable_popoverRef", "unstable_arrowRef", "unstable_popoverStyles", "unstable_arrowStyles", "unstable_originalPlacement", "unstable_update", "placement", "place"]; +var POPOVER_KEYS = POPOVER_STATE_KEYS; +var POPOVER_ARROW_KEYS = [].concat(POPOVER_KEYS, ["size"]); +var POPOVER_BACKDROP_KEYS = POPOVER_KEYS; +var POPOVER_DISCLOSURE_KEYS = POPOVER_BACKDROP_KEYS; -function focal_point_picker_style_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } + +// CONCATENATED MODULE: ./node_modules/reakit/es/__keys-ed7b48af.js +// Automatically generated +var DIALOG_STATE_KEYS = ["baseId", "unstable_idCountRef", "visible", "animated", "animating", "setBaseId", "show", "hide", "toggle", "setVisible", "setAnimated", "stopAnimation", "modal", "unstable_disclosureRef", "setModal"]; +var DIALOG_KEYS = [].concat(DIALOG_STATE_KEYS, ["hideOnEsc", "hideOnClickOutside", "preventBodyScroll", "unstable_initialFocusRef", "unstable_finalFocusRef", "unstable_orphan", "unstable_autoFocusOnShow", "unstable_autoFocusOnHide"]); +var DIALOG_BACKDROP_KEYS = DIALOG_STATE_KEYS; +var DIALOG_DISCLOSURE_KEYS = DIALOG_BACKDROP_KEYS; + + + +// EXTERNAL MODULE: ./node_modules/reakit-utils/es/isButton.js +var isButton = __webpack_require__("71Og"); + +// EXTERNAL MODULE: ./node_modules/reakit/es/Clickable/Clickable.js +var Clickable = __webpack_require__("JLmN"); + +// CONCATENATED MODULE: ./node_modules/reakit/es/Button/Button.js + + + + + + + + + + + + + + + + + + + +// Automatically generated +var BUTTON_KEYS = []; + +var useButton = Object(createHook["a" /* createHook */])({ + name: "Button", + compose: Clickable["a" /* useClickable */], + keys: BUTTON_KEYS, + useProps: function useProps(_, _ref) { + var htmlRef = _ref.ref, + htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref, ["ref"]); + + var ref = Object(external_React_["useRef"])(null); + + var _React$useState = Object(external_React_["useState"])(undefined), + role = _React$useState[0], + setRole = _React$useState[1]; + + var _React$useState2 = Object(external_React_["useState"])("button"), + type = _React$useState2[0], + setType = _React$useState2[1]; + + Object(external_React_["useEffect"])(function () { + var element = ref.current; + + if (!element) { + false ? undefined : void 0; + return; + } + + if (!Object(isButton["a" /* isButton */])(element)) { + if (element.tagName !== "A") { + setRole("button"); + } + + setType(undefined); + } + }, []); + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + ref: Object(useForkRef["a" /* useForkRef */])(ref, htmlRef), + role: role, + type: type + }, htmlProps); + } +}); +var Button = Object(createComponent["a" /* createComponent */])({ + as: "button", + memo: true, + useHook: useButton +}); + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/Disclosure/Disclosure.js + + + + + + + + + + + + + + + + + + + + + +var useDisclosure = Object(createHook["a" /* createHook */])({ + name: "Disclosure", + compose: useButton, + keys: DISCLOSURE_KEYS, + useProps: function useProps(options, _ref) { + var htmlOnClick = _ref.onClick, + ariaControls = _ref["aria-controls"], + htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref, ["onClick", "aria-controls"]); + + var onClickRef = Object(useLiveRef["a" /* useLiveRef */])(htmlOnClick); + var controls = ariaControls ? ariaControls + " " + options.baseId : options.baseId; + var onClick = Object(external_React_["useCallback"])(function (event) { + var _onClickRef$current, _options$toggle; + + (_onClickRef$current = onClickRef.current) === null || _onClickRef$current === void 0 ? void 0 : _onClickRef$current.call(onClickRef, event); + if (event.defaultPrevented) return; + (_options$toggle = options.toggle) === null || _options$toggle === void 0 ? void 0 : _options$toggle.call(options); + }, [options.toggle]); + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + "aria-expanded": !!options.visible, + "aria-controls": controls, + onClick: onClick + }, htmlProps); + } +}); +var Disclosure = Object(createComponent["a" /* createComponent */])({ + as: "button", + memo: true, + useHook: useDisclosure +}); + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/Dialog/DialogDisclosure.js + + + + + + + + + + + + + + + + + + + + + + + +var useDialogDisclosure = Object(createHook["a" /* createHook */])({ + name: "DialogDisclosure", + compose: useDisclosure, + keys: DIALOG_DISCLOSURE_KEYS, + useProps: function useProps(options, _ref) { + var htmlRef = _ref.ref, + htmlOnClick = _ref.onClick, + htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref, ["ref", "onClick"]); + + var ref = Object(external_React_["useRef"])(null); + var onClickRef = Object(useLiveRef["a" /* useLiveRef */])(htmlOnClick); + + var _React$useState = Object(external_React_["useState"])(false), + expanded = _React$useState[0], + setExpanded = _React$useState[1]; + + var disclosureRef = options.unstable_disclosureRef; // aria-expanded may be used for styling purposes, so we useLayoutEffect + + Object(useIsomorphicEffect["a" /* useIsomorphicEffect */])(function () { + var element = ref.current; + false ? undefined : void 0; + + if (disclosureRef && !disclosureRef.current) { + disclosureRef.current = element; + } + + var isCurrentDisclosure = !(disclosureRef !== null && disclosureRef !== void 0 && disclosureRef.current) || disclosureRef.current === element; + setExpanded(!!options.visible && isCurrentDisclosure); + }, [options.visible, disclosureRef]); + var onClick = Object(external_React_["useCallback"])(function (event) { + var _onClickRef$current; + + (_onClickRef$current = onClickRef.current) === null || _onClickRef$current === void 0 ? void 0 : _onClickRef$current.call(onClickRef, event); + if (event.defaultPrevented) return; + + if (disclosureRef) { + disclosureRef.current = event.currentTarget; + } + }, [disclosureRef]); + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + ref: Object(useForkRef["a" /* useForkRef */])(ref, htmlRef), + "aria-haspopup": "dialog", + "aria-expanded": expanded, + onClick: onClick + }, htmlProps); + } +}); +var DialogDisclosure = Object(createComponent["a" /* createComponent */])({ + as: "button", + memo: true, + useHook: useDialogDisclosure +}); + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/Popover/PopoverDisclosure.js + + + + + + + + + + + + + + + + + + + + + + + + + +var usePopoverDisclosure = Object(createHook["a" /* createHook */])({ + name: "PopoverDisclosure", + compose: useDialogDisclosure, + keys: POPOVER_DISCLOSURE_KEYS, + useProps: function useProps(options, _ref) { + var htmlRef = _ref.ref, + htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref, ["ref"]); + + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + ref: Object(useForkRef["a" /* useForkRef */])(options.unstable_referenceRef, htmlRef) + }, htmlProps); + } +}); +var PopoverDisclosure = Object(createComponent["a" /* createComponent */])({ + as: "button", + memo: true, + useHook: usePopoverDisclosure +}); + + + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/flyout/context.js +/** + * WordPress dependencies + */ + +/** + * @type {import('react').Context} + */ + +const FlyoutContext = Object(external_wp_element_["createContext"])({}); +const useFlyoutContext = () => Object(external_wp_element_["useContext"])(FlyoutContext); + +// EXTERNAL MODULE: ./node_modules/react-resize-aware/dist/index.js +var react_resize_aware_dist = __webpack_require__("SSiF"); +var react_resize_aware_dist_default = /*#__PURE__*/__webpack_require__.n(react_resize_aware_dist); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/flyout/utils.js +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + +/** + * + * @param { { onResize?: () => any } } onResize + */ + +function useFlyoutResizeUpdater({ + onResize +}) { + const [resizeListener, sizes] = react_resize_aware_dist_default()(); + Object(external_wp_compose_["useIsomorphicLayoutEffect"])(() => { + onResize === null || onResize === void 0 ? void 0 : onResize(); + }, [sizes.width, sizes.height]); + return resizeListener; +} + +// EXTERNAL MODULE: ./node_modules/reakit-utils/es/hasFocusWithin.js +var hasFocusWithin = __webpack_require__("PcHe"); + +// EXTERNAL MODULE: ./node_modules/reakit-utils/es/tabbable.js +var es_tabbable = __webpack_require__("kqkJ"); + +// CONCATENATED MODULE: ./node_modules/reakit-utils/es/useUpdateEffect.js + + +/** + * A `React.useEffect` that will not run on the first render. + */ + +function useUpdateEffect_useUpdateEffect(effect, deps) { + var mounted = Object(external_React_["useRef"])(false); + Object(external_React_["useEffect"])(function () { + if (mounted.current) { + return effect(); + } + + mounted.current = true; + return undefined; + }, deps); +} + + + +// EXTERNAL MODULE: ./node_modules/reakit-utils/es/ensureFocus.js + 1 modules +var ensureFocus = __webpack_require__("AClM"); + +// CONCATENATED MODULE: ./node_modules/reakit-utils/es/removeIndexFromArray.js +/** + * Immutably removes an index from an array. + * + * @example + * import { removeIndexFromArray } from "reakit-utils"; + * + * removeIndexFromArray(["a", "b", "c"], 1); // ["a", "c"] + * + * @returns {Array} A new array without the item in the passed index. + */ +function removeIndexFromArray(array, index) { + if (index === -1) return array; + return [].concat(array.slice(0, index), array.slice(index + 1)); +} + + + +// CONCATENATED MODULE: ./node_modules/reakit-utils/es/removeItemFromArray.js + + +/** + * Immutably removes an item from an array. + * + * @example + * import { removeItemFromArray } from "reakit-utils"; + * + * removeItemFromArray(["a", "b", "c"], "b"); // ["a", "c"] + * + * // This only works by reference + * const obj = {}; + * removeItemFromArray([obj], {}); // [obj] + * removeItemFromArray([obj], obj); // [] + * + * @returns {Array} A new array without the passed item. + */ + +function removeItemFromArray(array, item) { + var index = array.indexOf(item); + return removeIndexFromArray(array, index); +} + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/MenuContext-6af6cf92.js + + + +var MenuContext = /*#__PURE__*/Object(external_React_["createContext"])(null); +function useMenuContext(menuRef, role, options) { + var orphan = "unstable_orphan" in options && options.unstable_orphan; + var parent = Object(external_React_["useContext"])(MenuContext); + + var _React$useState = Object(external_React_["useState"])([]), + children = _React$useState[0], + setChildren = _React$useState[1]; + + var _ref = parent || {}, + addChildToParent = _ref.addChild, + removeChildFromParent = _ref.removeChild; + + var addChild = Object(external_React_["useCallback"])(function (ref) { + return setChildren(function (refs) { + return [].concat(refs, [ref]); + }); + }, []); + var removeChild = Object(external_React_["useCallback"])(function (ref) { + return setChildren(function (refs) { + return removeItemFromArray(refs, ref); + }); + }, []); // If it's a nested menu, add it to parent + + Object(external_React_["useEffect"])(function () { + if (!addChildToParent || orphan) return undefined; + addChildToParent(menuRef); + return function () { + removeChildFromParent === null || removeChildFromParent === void 0 ? void 0 : removeChildFromParent(menuRef); + }; + }, [menuRef, addChildToParent, removeChildFromParent, orphan]); + var providerValue = Object(external_React_["useMemo"])(function () { + return { + orientation: options.orientation, + next: options.next, + previous: options.previous, + ref: menuRef, + role: role, + parent: parent, + children: children, + addChild: addChild, + removeChild: removeChild + }; + }, [options.orientation, options.next, options.previous, menuRef, role, parent, children, addChild, removeChild]); + var wrapElement = Object(external_React_["useCallback"])(function (element) { + return /*#__PURE__*/Object(external_React_["createElement"])(MenuContext.Provider, { + value: providerValue + }, element); + }, [providerValue]); + return wrapElement; +} + + + +// CONCATENATED MODULE: ./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js +function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } + +// Older browsers don't support event options, feature detect it. + +// Adopted and modified solution from Bohdan Didukh (2017) +// https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi + +var hasPassiveEvents = false; +if (typeof window !== 'undefined') { + var passiveTestOptions = { + get passive() { + hasPassiveEvents = true; + return undefined; + } + }; + window.addEventListener('testPassive', null, passiveTestOptions); + window.removeEventListener('testPassive', null, passiveTestOptions); +} + +var isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1); + + +var locks = []; +var documentListenerAdded = false; +var initialClientY = -1; +var previousBodyOverflowSetting = void 0; +var previousBodyPaddingRight = void 0; + +// returns true if `el` should be allowed to receive touchmove events. +var allowTouchMove = function allowTouchMove(el) { + return locks.some(function (lock) { + if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) { + return true; + } + + return false; + }); +}; + +var bodyScrollLock_esm_preventDefault = function preventDefault(rawEvent) { + var e = rawEvent || window.event; + + // For the case whereby consumers adds a touchmove event listener to document. + // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false }) + // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then + // the touchmove event on document will break. + if (allowTouchMove(e.target)) { + return true; + } + + // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom). + if (e.touches.length > 1) return true; + + if (e.preventDefault) e.preventDefault(); + + return false; +}; + +var setOverflowHidden = function setOverflowHidden(options) { + // If previousBodyPaddingRight is already set, don't set it again. + if (previousBodyPaddingRight === undefined) { + var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true; + var scrollBarGap = window.innerWidth - document.documentElement.clientWidth; + + if (_reserveScrollBarGap && scrollBarGap > 0) { + previousBodyPaddingRight = document.body.style.paddingRight; + document.body.style.paddingRight = scrollBarGap + 'px'; + } + } + + // If previousBodyOverflowSetting is already set, don't set it again. + if (previousBodyOverflowSetting === undefined) { + previousBodyOverflowSetting = document.body.style.overflow; + document.body.style.overflow = 'hidden'; + } +}; + +var restoreOverflowSetting = function restoreOverflowSetting() { + if (previousBodyPaddingRight !== undefined) { + document.body.style.paddingRight = previousBodyPaddingRight; + + // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it + // can be set again. + previousBodyPaddingRight = undefined; + } + + if (previousBodyOverflowSetting !== undefined) { + document.body.style.overflow = previousBodyOverflowSetting; + + // Restore previousBodyOverflowSetting to undefined + // so setOverflowHidden knows it can be set again. + previousBodyOverflowSetting = undefined; + } +}; + +// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions +var isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) { + return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false; +}; + +var handleScroll = function handleScroll(event, targetElement) { + var clientY = event.targetTouches[0].clientY - initialClientY; + + if (allowTouchMove(event.target)) { + return false; + } + + if (targetElement && targetElement.scrollTop === 0 && clientY > 0) { + // element is at the top of its scroll. + return bodyScrollLock_esm_preventDefault(event); + } + + if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) { + // element is at the bottom of its scroll. + return bodyScrollLock_esm_preventDefault(event); + } + + event.stopPropagation(); + return true; +}; + +var disableBodyScroll = function disableBodyScroll(targetElement, options) { + // targetElement must be provided + if (!targetElement) { + // eslint-disable-next-line no-console + console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.'); + return; + } + + // disableBodyScroll must not have been called on this targetElement before + if (locks.some(function (lock) { + return lock.targetElement === targetElement; + })) { + return; + } + + var lock = { + targetElement: targetElement, + options: options || {} + }; + + locks = [].concat(_toConsumableArray(locks), [lock]); + + if (isIosDevice) { + targetElement.ontouchstart = function (event) { + if (event.targetTouches.length === 1) { + // detect single touch. + initialClientY = event.targetTouches[0].clientY; + } + }; + targetElement.ontouchmove = function (event) { + if (event.targetTouches.length === 1) { + // detect single touch. + handleScroll(event, targetElement); + } + }; + + if (!documentListenerAdded) { + document.addEventListener('touchmove', bodyScrollLock_esm_preventDefault, hasPassiveEvents ? { passive: false } : undefined); + documentListenerAdded = true; + } + } else { + setOverflowHidden(options); + } +}; + +var clearAllBodyScrollLocks = function clearAllBodyScrollLocks() { + if (isIosDevice) { + // Clear all locks ontouchstart/ontouchmove handlers, and the references. + locks.forEach(function (lock) { + lock.targetElement.ontouchstart = null; + lock.targetElement.ontouchmove = null; + }); + + if (documentListenerAdded) { + document.removeEventListener('touchmove', bodyScrollLock_esm_preventDefault, hasPassiveEvents ? { passive: false } : undefined); + documentListenerAdded = false; + } + + // Reset initial clientY. + initialClientY = -1; + } else { + restoreOverflowSetting(); + } + + locks = []; +}; + +var enableBodyScroll = function enableBodyScroll(targetElement) { + if (!targetElement) { + // eslint-disable-next-line no-console + console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.'); + return; + } + + locks = locks.filter(function (lock) { + return lock.targetElement !== targetElement; + }); + + if (isIosDevice) { + targetElement.ontouchstart = null; + targetElement.ontouchmove = null; + + if (documentListenerAdded && locks.length === 0) { + document.removeEventListener('touchmove', bodyScrollLock_esm_preventDefault, hasPassiveEvents ? { passive: false } : undefined); + documentListenerAdded = false; + } + } else if (!locks.length) { + restoreOverflowSetting(); + } +}; + + +// EXTERNAL MODULE: ./node_modules/reakit-utils/es/closest.js +var closest = __webpack_require__("APjL"); + +// EXTERNAL MODULE: ./node_modules/reakit-utils/es/contains.js +var es_contains = __webpack_require__("utzN"); + +// CONCATENATED MODULE: ./node_modules/reakit/es/DialogBackdropContext-8775f78b.js + + +var DialogBackdropContext = /*#__PURE__*/Object(external_React_["createContext"])(undefined); + + + +// EXTERNAL MODULE: ./node_modules/reakit-utils/es/isObject.js +var isObject = __webpack_require__("Ptb8"); + +// CONCATENATED MODULE: ./node_modules/reakit-utils/es/isEmpty.js + + +/** + * Checks whether `arg` is empty or not. + * + * @example + * import { isEmpty } from "reakit-utils"; + * + * isEmpty([]); // true + * isEmpty(["a"]); // false + * isEmpty({}); // true + * isEmpty({ a: "a" }); // false + * isEmpty(); // true + * isEmpty(null); // true + * isEmpty(undefined); // true + * isEmpty(""); // true + */ + +function isEmpty(arg) { + if (Array.isArray(arg)) return !arg.length; + if (Object(isObject["a" /* isObject */])(arg)) return !Object.keys(arg).length; + if (arg == null) return true; + if (arg === "") return true; + return false; +} + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/Dialog/Dialog.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +function useDisclosureRef(dialogRef, options) { + var ref = Object(external_React_["useRef"])(null); + var animating = !!(options.animated && options.animating); + Object(external_React_["useEffect"])(function () { + if (options.visible || animating) return undefined; // We get the last focused element before the dialog opens, so we can move + // focus back to it when the dialog closes. + + var onFocus = function onFocus(event) { + var target = event.target; + + if ("focus" in target) { + ref.current = target; + + if (options.unstable_disclosureRef) { + options.unstable_disclosureRef.current = target; + } + } + }; + + var document = Object(getDocument["a" /* getDocument */])(dialogRef.current); + document.addEventListener("focusin", onFocus); + return function () { + return document.removeEventListener("focusin", onFocus); + }; + }, [options.visible, animating, options.unstable_disclosureRef, dialogRef]); + Object(external_React_["useEffect"])(function () { + var _options$unstable_dis; + + if (!options.visible || animating) return undefined; // Safari and Firefox on MacOS don't focus on buttons on mouse down. + // Instead, they focus on the closest focusable parent (ultimately, the + // body element). This works around that by preventing that behavior and + // forcing focus on the disclosure button. Otherwise, we wouldn't be able + // to close the dialog by clicking again on the disclosure. + + var onMouseDown = function onMouseDown(event) { + var element = event.currentTarget; + if (!Object(isButton["a" /* isButton */])(element)) return; + event.preventDefault(); + element.focus(); + }; + + var disclosure = ((_options$unstable_dis = options.unstable_disclosureRef) === null || _options$unstable_dis === void 0 ? void 0 : _options$unstable_dis.current) || ref.current; + disclosure === null || disclosure === void 0 ? void 0 : disclosure.addEventListener("mousedown", onMouseDown); + return function () { + return disclosure === null || disclosure === void 0 ? void 0 : disclosure.removeEventListener("mousedown", onMouseDown); + }; + }, [options.visible, animating, options.unstable_disclosureRef]); + return options.unstable_disclosureRef || ref; +} + +function usePreventBodyScroll(targetRef, options) { + var shouldPrevent = Boolean(options.preventBodyScroll && options.visible); + Object(external_React_["useEffect"])(function () { + var element = targetRef.current; + if (!element || !shouldPrevent) return undefined; + disableBodyScroll(element, { + reserveScrollBarGap: true + }); + return function () { + return enableBodyScroll(element); + }; + }, [targetRef, shouldPrevent]); +} + +function useFocusOnShow(dialogRef, nestedDialogs, options) { + var initialFocusRef = options.unstable_initialFocusRef; + var shouldFocus = options.visible && options.unstable_autoFocusOnShow; + var animating = !!(options.animated && options.animating); + useUpdateEffect_useUpdateEffect(function () { + var dialog = dialogRef.current; + false ? undefined : void 0; + if (!shouldFocus) return; + if (!dialog) return; + if (animating) return; // If there're nested open dialogs, let them handle focus + + if (nestedDialogs.some(function (child) { + return child.current && !child.current.hidden; + })) { + return; + } + + if (initialFocusRef !== null && initialFocusRef !== void 0 && initialFocusRef.current) { + initialFocusRef.current.focus({ + preventScroll: true + }); + } else { + var tabbable = Object(es_tabbable["a" /* getFirstTabbableIn */])(dialog, true); + + var isActive = function isActive() { + return Object(hasFocusWithin["a" /* hasFocusWithin */])(dialog); + }; + + if (tabbable) { + Object(ensureFocus["a" /* ensureFocus */])(tabbable, { + preventScroll: true, + isActive: isActive + }); + } else { + Object(ensureFocus["a" /* ensureFocus */])(dialog, { + preventScroll: true, + isActive: isActive + }); + false ? undefined : void 0; + } + } + }, [dialogRef, shouldFocus, animating, nestedDialogs, initialFocusRef]); +} + +function usePortalRef(dialogRef, options) { + var portalRef = Object(external_React_["useRef"])(null); + Object(external_React_["useEffect"])(function () { + var dialog = dialogRef.current; + if (!dialog || !options.visible) return; + portalRef.current = Object(closest["a" /* closest */])(dialog, Portal.__selector); + }, [dialogRef, options.visible]); + return portalRef; +} + +function removeFromDOM(element) { + if (element.parentNode == null) return; + element.parentNode.removeChild(element); +} + +var focusTrapClassName = "__reakit-focus-trap"; +function isFocusTrap(element) { + var _element$classList; + + return (_element$classList = element.classList) === null || _element$classList === void 0 ? void 0 : _element$classList.contains(focusTrapClassName); +} +function useFocusTrap(dialogRef, visibleModals, options) { + var portalRef = usePortalRef(dialogRef, options); + var shouldTrap = options.visible && options.modal; + var beforeElement = Object(external_React_["useRef"])(null); + var afterElement = Object(external_React_["useRef"])(null); // Create before and after elements + // https://github.com/w3c/aria-practices/issues/545 + + Object(external_React_["useEffect"])(function () { + if (!shouldTrap) return undefined; + var portal = portalRef.current; + + if (!portal) { + false ? undefined : void 0; + return undefined; + } + + if (!beforeElement.current) { + var document = Object(getDocument["a" /* getDocument */])(portal); + beforeElement.current = document.createElement("div"); + beforeElement.current.className = focusTrapClassName; + beforeElement.current.tabIndex = 0; + beforeElement.current.style.position = "fixed"; + beforeElement.current.setAttribute("aria-hidden", "true"); + } + + if (!afterElement.current) { + afterElement.current = beforeElement.current.cloneNode(); + } + + portal.insertAdjacentElement("beforebegin", beforeElement.current); + portal.insertAdjacentElement("afterend", afterElement.current); + return function () { + if (beforeElement.current) removeFromDOM(beforeElement.current); + if (afterElement.current) removeFromDOM(afterElement.current); + }; + }, [portalRef, shouldTrap]); // Focus trap + + Object(external_React_["useEffect"])(function () { + var before = beforeElement.current; + var after = afterElement.current; + if (!shouldTrap || !before || !after) return undefined; + + var handleFocus = function handleFocus(event) { + var dialog = dialogRef.current; + if (!dialog || visibleModals.length) return; + event.preventDefault(); + var isAfter = event.target === after; + var tabbable = isAfter ? Object(es_tabbable["a" /* getFirstTabbableIn */])(dialog) : Object(es_tabbable["b" /* getLastTabbableIn */])(dialog); + + if (tabbable) { + tabbable.focus(); + } else { + // fallback to dialog + dialog.focus(); + } + }; + + before.addEventListener("focus", handleFocus); + after.addEventListener("focus", handleFocus); + return function () { + before.removeEventListener("focus", handleFocus); + after.removeEventListener("focus", handleFocus); + }; + }, [dialogRef, visibleModals, shouldTrap]); +} + +function hidByFocusingAnotherElement(dialogRef) { + var dialog = dialogRef.current; + if (!dialog) return false; + var activeElement = Object(getActiveElement["a" /* getActiveElement */])(dialog); + if (!activeElement) return false; + if (Object(es_contains["a" /* contains */])(dialog, activeElement)) return false; + if (Object(es_tabbable["d" /* isTabbable */])(activeElement)) return true; + if (activeElement.getAttribute("data-dialog") === "true") return true; + return false; +} + +function useFocusOnHide(dialogRef, disclosureRef, options) { + var shouldFocus = options.unstable_autoFocusOnHide && !options.visible; + var animating = !!(options.animated && options.animating); + useUpdateEffect_useUpdateEffect(function () { + var _options$unstable_fin; + + if (!shouldFocus) return; + if (animating) return; // Hide was triggered by a click/focus on a tabbable element outside + // the dialog or on another dialog. We won't change focus then. + + if (hidByFocusingAnotherElement(dialogRef)) { + return; + } + + var finalFocusEl = ((_options$unstable_fin = options.unstable_finalFocusRef) === null || _options$unstable_fin === void 0 ? void 0 : _options$unstable_fin.current) || disclosureRef.current; + + if (finalFocusEl) { + if (finalFocusEl.id) { + var document = Object(getDocument["a" /* getDocument */])(finalFocusEl); + var compositeElement = document.querySelector("[aria-activedescendant='" + finalFocusEl.id + "']"); + + if (compositeElement) { + Object(ensureFocus["a" /* ensureFocus */])(compositeElement); + return; + } + } + + Object(ensureFocus["a" /* ensureFocus */])(finalFocusEl); + return; + } + + false ? undefined : void 0; + }, [shouldFocus, animating, dialogRef, disclosureRef]); +} + +var DialogContext = /*#__PURE__*/Object(external_React_["createContext"])({}); +function useNestedDialogs(dialogRef, options) { + var context = Object(external_React_["useContext"])(DialogContext); + + var _React$useState = Object(external_React_["useState"])([]), + dialogs = _React$useState[0], + setDialogs = _React$useState[1]; + + var _React$useState2 = Object(external_React_["useState"])(dialogs), + visibleModals = _React$useState2[0], + setVisibleModals = _React$useState2[1]; + + var addDialog = Object(external_React_["useCallback"])(function (ref) { + var _context$addDialog; + + (_context$addDialog = context.addDialog) === null || _context$addDialog === void 0 ? void 0 : _context$addDialog.call(context, ref); + setDialogs(function (prevDialogs) { + return [].concat(prevDialogs, [ref]); + }); + }, [context.addDialog]); + var removeDialog = Object(external_React_["useCallback"])(function (ref) { + var _context$removeDialog; + + (_context$removeDialog = context.removeDialog) === null || _context$removeDialog === void 0 ? void 0 : _context$removeDialog.call(context, ref); + setDialogs(function (prevDialogs) { + return removeItemFromArray(prevDialogs, ref); + }); + }, [context.removeDialog]); + var showDialog = Object(external_React_["useCallback"])(function (ref) { + var _context$showDialog; + + (_context$showDialog = context.showDialog) === null || _context$showDialog === void 0 ? void 0 : _context$showDialog.call(context, ref); + setVisibleModals(function (prevDialogs) { + return [].concat(prevDialogs, [ref]); + }); + }, [context.showDialog]); + var hideDialog = Object(external_React_["useCallback"])(function (ref) { + var _context$hideDialog; + + (_context$hideDialog = context.hideDialog) === null || _context$hideDialog === void 0 ? void 0 : _context$hideDialog.call(context, ref); + setVisibleModals(function (prevDialogs) { + return removeItemFromArray(prevDialogs, ref); + }); + }, [context.hideDialog]); // If it's a nested dialog, add it to context + + Object(external_React_["useEffect"])(function () { + var _context$addDialog2; + + if (options.unstable_orphan) return undefined; + (_context$addDialog2 = context.addDialog) === null || _context$addDialog2 === void 0 ? void 0 : _context$addDialog2.call(context, dialogRef); + return function () { + var _context$removeDialog2; + + (_context$removeDialog2 = context.removeDialog) === null || _context$removeDialog2 === void 0 ? void 0 : _context$removeDialog2.call(context, dialogRef); + }; + }, [options.unstable_orphan, context.addDialog, dialogRef, context.removeDialog]); + Object(external_React_["useEffect"])(function () { + var _context$showDialog2; + + if (options.unstable_orphan) return undefined; + if (!options.modal) return undefined; + if (!options.visible) return undefined; + (_context$showDialog2 = context.showDialog) === null || _context$showDialog2 === void 0 ? void 0 : _context$showDialog2.call(context, dialogRef); + return function () { + var _context$hideDialog2; + + (_context$hideDialog2 = context.hideDialog) === null || _context$hideDialog2 === void 0 ? void 0 : _context$hideDialog2.call(context, dialogRef); + }; + }, [options.unstable_orphan, options.modal, options.visible, context.showDialog, dialogRef, context.hideDialog]); // Close all nested dialogs when parent dialog closes + + Object(external_React_["useEffect"])(function () { + if (context.visible === false && options.visible && !options.unstable_orphan) { + var _options$hide; + + (_options$hide = options.hide) === null || _options$hide === void 0 ? void 0 : _options$hide.call(options); + } + }, [context.visible, options.visible, options.hide, options.unstable_orphan]); // Provider + + var providerValue = Object(external_React_["useMemo"])(function () { + return { + visible: options.visible, + addDialog: addDialog, + removeDialog: removeDialog, + showDialog: showDialog, + hideDialog: hideDialog + }; + }, [options.visible, addDialog, removeDialog, showDialog, hideDialog]); + var wrap = Object(external_React_["useCallback"])(function (element) { + return /*#__PURE__*/Object(external_React_["createElement"])(DialogContext.Provider, { + value: providerValue + }, element); + }, [providerValue]); + return { + dialogs: dialogs, + visibleModals: visibleModals, + wrap: wrap + }; +} + +function dialogContains(target) { + return function (dialogRef) { + var dialog = dialogRef.current; + if (!dialog) return false; + if (Object(es_contains["a" /* contains */])(dialog, target)) return true; + var document = Object(getDocument["a" /* getDocument */])(dialog); + var backdrop = document.querySelector("[data-dialog-ref=\"" + dialog.id + "\"]"); + + if (backdrop) { + return Object(es_contains["a" /* contains */])(backdrop, target); + } + + return false; + }; +} + +function isDisclosure(target, disclosure) { + return Object(es_contains["a" /* contains */])(disclosure, target); +} + +function isInDocument(target) { + var document = Object(getDocument["a" /* getDocument */])(target); + + if (target.tagName === "HTML") { + return true; + } + + return Object(es_contains["a" /* contains */])(document.body, target); +} + +function useEventListenerOutside(containerRef, disclosureRef, nestedDialogs, eventType, listener, shouldListen, capture) { + var listenerRef = Object(useLiveRef["a" /* useLiveRef */])(listener); + Object(external_React_["useEffect"])(function () { + if (!shouldListen) return undefined; + + var onEvent = function onEvent(event) { + if (!listenerRef.current) return; + var container = containerRef.current; + var disclosure = disclosureRef.current; + var target = event.target; + + if (!container) { + false ? undefined : void 0; + return; + } // When an element is unmounted right after it receives focus, the focus + // event is triggered after that, when the element isn't part of the + // current document anymore. So we ignore it. + + + if (!isInDocument(target)) return; // Event inside dialog + + if (Object(es_contains["a" /* contains */])(container, target)) return; // Event on disclosure + + if (disclosure && isDisclosure(target, disclosure)) return; // Event inside a nested dialog or focus trap + + if (isFocusTrap(target) || nestedDialogs.some(dialogContains(target))) { + return; + } + + listenerRef.current(event); + }; + + var document = Object(getDocument["a" /* getDocument */])(containerRef.current); + document.addEventListener(eventType, onEvent, capture); + return function () { + return document.removeEventListener(eventType, onEvent, capture); + }; + }, [containerRef, disclosureRef, nestedDialogs, eventType, shouldListen, listenerRef]); +} + +function useMouseDownRef(dialogRef, options) { + var mouseDownRef = Object(external_React_["useRef"])(); + Object(external_React_["useEffect"])(function () { + if (!options.visible) return undefined; + if (!options.hideOnClickOutside) return undefined; + var document = Object(getDocument["a" /* getDocument */])(dialogRef.current); + + var onMouseDown = function onMouseDown(event) { + mouseDownRef.current = event.target; + }; + + document.addEventListener("mousedown", onMouseDown); + return function () { + return document.removeEventListener("mousedown", onMouseDown); + }; + }, [options.visible, options.hideOnClickOutside, dialogRef]); + return mouseDownRef; +} + +function useHideOnClickOutside(dialogRef, disclosureRef, nestedDialogs, options) { + var mouseDownRef = useMouseDownRef(dialogRef, options); + useEventListenerOutside(dialogRef, disclosureRef, nestedDialogs, "click", function (event) { + // Make sure the element that has been clicked is the same that last + // triggered the mousedown event. This prevents the dialog from closing + // by dragging the cursor (for example, selecting some text inside the + // dialog and releasing the mouse outside of it). + if (mouseDownRef.current === event.target) { + var _options$hide; + + (_options$hide = options.hide) === null || _options$hide === void 0 ? void 0 : _options$hide.call(options); + } + }, options.visible && options.hideOnClickOutside); + useEventListenerOutside(dialogRef, disclosureRef, nestedDialogs, "focusin", function (event) { + var document = Object(getDocument["a" /* getDocument */])(dialogRef.current); // Fix for https://github.com/reakit/reakit/issues/619 + // On IE11, calling element.blur() triggers the focus event on + // document.body, so we make sure to ignore it as well. + + if (event.target !== document && event.target !== document.body) { + var _options$hide2; + + (_options$hide2 = options.hide) === null || _options$hide2 === void 0 ? void 0 : _options$hide2.call(options); + } + }, options.visible && options.hideOnClickOutside); +} + +function useDisableHoverOutside(portalRef, nestedDialogs, options) { + var useEvent = function useEvent(eventType) { + return useEventListenerOutside(portalRef, { + current: null + }, nestedDialogs, eventType, function (event) { + event.stopPropagation(); + event.preventDefault(); + }, options.visible && options.modal, true); + }; + + useEvent("mouseover"); + useEvent("mousemove"); + useEvent("mouseout"); +} + +/** + * When the focused child gets removed from the DOM, we make sure to move focus + * to the dialog. + */ +function useFocusOnChildUnmount(dialogRef, options) { + Object(external_React_["useEffect"])(function () { + var dialog = dialogRef.current; + if (!options.visible || !dialog) return undefined; + var observer = new MutationObserver(function (mutations) { + var target = mutations[0].target; // If target is not this dialog, then this observer was triggered by a + // nested dialog, so we just ignore it here and let the nested dialog + // handle it there. + + if (target !== dialog) return; + var document = Object(getDocument["a" /* getDocument */])(dialog); + var activeElement = Object(getActiveElement["a" /* getActiveElement */])(dialog); // We can check if the current focused element is the document body. On + // IE 11, it's an empty object when the current document is in a frame or + // iframe. + + if (activeElement === document.body || isEmpty(activeElement)) { + dialog.focus(); + } + }); + observer.observe(dialog, { + childList: true, + subtree: true + }); + return function () { + observer.disconnect(); + }; + }, [options.visible, dialogRef]); +} + +function isActualElement(element) { + return element && element.tagName && element.tagName !== "HTML" && element !== Object(getDocument["a" /* getDocument */])(element).body; +} + +function useFocusOnBlur(dialogRef, options) { + var _React$useReducer = Object(external_React_["useReducer"])(function (n) { + return n + 1; + }, 0), + blurred = _React$useReducer[0], + scheduleFocus = _React$useReducer[1]; + + Object(useIsomorphicEffect["a" /* useIsomorphicEffect */])(function () { + var dialog = dialogRef.current; + if (!options.visible) return; + if (!blurred) return; // After blur, if the active element isn't an actual element, this probably + // means that element.blur() was called on an element inside the dialog. + // In this case, the browser will automatically focus the body element. + // So we move focus back to the dialog. + + if (!isActualElement(Object(getActiveElement["a" /* getActiveElement */])(dialog))) { + false ? undefined : void 0; + dialog === null || dialog === void 0 ? void 0 : dialog.focus(); + } + }, [blurred, dialogRef]); + var onBlur = Object(external_React_["useCallback"])(function (event) { + if (!options.visible) return; + var nextActiveElement = getNextActiveElementOnBlur(event); + + if (!isActualElement(nextActiveElement)) { + scheduleFocus(); + } + }, [options.visible]); + return onBlur; +} + +var useDialog = Object(createHook["a" /* createHook */])({ + name: "Dialog", + compose: useDisclosureContent, + keys: DIALOG_KEYS, + useOptions: function useOptions(_ref) { + var _ref$modal = _ref.modal, + modal = _ref$modal === void 0 ? true : _ref$modal, + _ref$hideOnEsc = _ref.hideOnEsc, + hideOnEsc = _ref$hideOnEsc === void 0 ? true : _ref$hideOnEsc, + _ref$hideOnClickOutsi = _ref.hideOnClickOutside, + hideOnClickOutside = _ref$hideOnClickOutsi === void 0 ? true : _ref$hideOnClickOutsi, + _ref$preventBodyScrol = _ref.preventBodyScroll, + preventBodyScroll = _ref$preventBodyScrol === void 0 ? modal : _ref$preventBodyScrol, + _ref$unstable_autoFoc = _ref.unstable_autoFocusOnShow, + unstable_autoFocusOnShow = _ref$unstable_autoFoc === void 0 ? true : _ref$unstable_autoFoc, + _ref$unstable_autoFoc2 = _ref.unstable_autoFocusOnHide, + unstable_autoFocusOnHide = _ref$unstable_autoFoc2 === void 0 ? true : _ref$unstable_autoFoc2, + unstable_orphan = _ref.unstable_orphan, + options = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref, ["modal", "hideOnEsc", "hideOnClickOutside", "preventBodyScroll", "unstable_autoFocusOnShow", "unstable_autoFocusOnHide", "unstable_orphan"]); + + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + modal: modal, + hideOnEsc: hideOnEsc, + hideOnClickOutside: hideOnClickOutside, + preventBodyScroll: modal && preventBodyScroll, + unstable_autoFocusOnShow: unstable_autoFocusOnShow, + unstable_autoFocusOnHide: unstable_autoFocusOnHide, + unstable_orphan: modal && unstable_orphan + }, options); + }, + useProps: function useProps(options, _ref2) { + var htmlRef = _ref2.ref, + htmlOnKeyDown = _ref2.onKeyDown, + htmlOnBlur = _ref2.onBlur, + htmlWrapElement = _ref2.wrapElement, + tabIndex = _ref2.tabIndex, + htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref2, ["ref", "onKeyDown", "onBlur", "wrapElement", "tabIndex"]); + + var dialog = Object(external_React_["useRef"])(null); + var backdrop = Object(external_React_["useContext"])(DialogBackdropContext); + var hasBackdrop = backdrop && backdrop === options.baseId; + var disclosure = useDisclosureRef(dialog, options); + var onKeyDownRef = Object(useLiveRef["a" /* useLiveRef */])(htmlOnKeyDown); + var onBlurRef = Object(useLiveRef["a" /* useLiveRef */])(htmlOnBlur); + var focusOnBlur = useFocusOnBlur(dialog, options); + + var _useNestedDialogs = useNestedDialogs(dialog, options), + dialogs = _useNestedDialogs.dialogs, + visibleModals = _useNestedDialogs.visibleModals, + wrap = _useNestedDialogs.wrap; // VoiceOver/Safari accepts only one `aria-modal` container, so if there + // are visible child modals, then we don't want to set aria-modal on the + // parent modal (this component). + + + var modal = options.modal && !visibleModals.length ? true : undefined; + usePreventBodyScroll(dialog, options); + useFocusTrap(dialog, visibleModals, options); + useFocusOnChildUnmount(dialog, options); + useFocusOnShow(dialog, dialogs, options); + useFocusOnHide(dialog, disclosure, options); + useHideOnClickOutside(dialog, disclosure, dialogs, options); + useDisableHoverOutside(dialog, dialogs, options); + var onKeyDown = Object(external_React_["useCallback"])(function (event) { + var _onKeyDownRef$current; + + (_onKeyDownRef$current = onKeyDownRef.current) === null || _onKeyDownRef$current === void 0 ? void 0 : _onKeyDownRef$current.call(onKeyDownRef, event); + if (event.defaultPrevented) return; + if (event.key !== "Escape") return; + if (!options.hideOnEsc) return; + + if (!options.hide) { + false ? undefined : void 0; + return; + } + + event.stopPropagation(); + options.hide(); + }, [options.hideOnEsc, options.hide]); + var onBlur = Object(external_React_["useCallback"])(function (event) { + var _onBlurRef$current; + + (_onBlurRef$current = onBlurRef.current) === null || _onBlurRef$current === void 0 ? void 0 : _onBlurRef$current.call(onBlurRef, event); + focusOnBlur(event); + }, [focusOnBlur]); + var wrapElement = Object(external_React_["useCallback"])(function (element) { + element = wrap(element); + + if (options.modal && !hasBackdrop) { + element = /*#__PURE__*/Object(external_React_["createElement"])(Portal, null, element); + } + + if (htmlWrapElement) { + element = htmlWrapElement(element); + } + + return ( + /*#__PURE__*/ + // Prevents Menu > Dialog > Menu to behave as a sub menu + Object(external_React_["createElement"])(MenuContext.Provider, { + value: null + }, element) + ); + }, [wrap, options.modal, hasBackdrop, htmlWrapElement]); + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + ref: Object(useForkRef["a" /* useForkRef */])(dialog, htmlRef), + role: "dialog", + tabIndex: tabIndex != null ? tabIndex : -1, + "aria-modal": modal, + "data-dialog": true, + onKeyDown: onKeyDown, + onBlur: onBlur, + wrapElement: wrapElement + }, htmlProps); + } +}); +var Dialog = Object(createComponent["a" /* createComponent */])({ + as: "div", + useHook: useDialog, + useCreateElement: function useCreateElement$1(type, props, children) { + false ? undefined : void 0; + return Object(useCreateElement["a" /* useCreateElement */])(type, props, children); + } +}); + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/Popover/Popover.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +var usePopover = Object(createHook["a" /* createHook */])({ + name: "Popover", + compose: useDialog, + keys: POPOVER_KEYS, + useOptions: function useOptions(_ref) { + var _ref$modal = _ref.modal, + modal = _ref$modal === void 0 ? false : _ref$modal, + options = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref, ["modal"]); + + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + modal: modal + }, options); + }, + useProps: function useProps(options, _ref2) { + var htmlRef = _ref2.ref, + htmlStyle = _ref2.style, + htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref2, ["ref", "style"]); + + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + ref: Object(useForkRef["a" /* useForkRef */])(options.unstable_popoverRef, htmlRef), + style: Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])(Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({}, options.unstable_popoverStyles), htmlStyle) + }, htmlProps); + } +}); +var Popover = Object(createComponent["a" /* createComponent */])({ + as: "div", + useHook: usePopover, + useCreateElement: function useCreateElement$1(type, props, children) { + false ? undefined : void 0; + return Object(useCreateElement["a" /* useCreateElement */])(type, props, children); + } +}); + + + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/flyout/styles.js + + +/** + * External dependencies + */ +// eslint-disable-next-line no-restricted-imports /** * Internal dependencies @@ -33161,66 +49461,267 @@ function focal_point_picker_style_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You -const MediaWrapper = styled_base_browser_esm("div", { - target: "e11wezi70", - label: "MediaWrapper" -})( true ? { - name: "4wwkjz", - styles: "background-color:transparent;box-sizing:border-box;text-align:center;width:100%;" + +const FlyoutContentView = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(Popover, true ? { + target: "e1vtu5161" +} : undefined)("z-index:", Flyout, ";box-sizing:border-box;opacity:0;outline:none;position:relative;transform-origin:center center;transition:opacity ", config_values.transitionDurationFastest, " linear;width:100%;&[data-enter]{opacity:1;}&::before,&::after{display:none;}" + ( true ? "" : undefined)); +const CardView = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(card_component, true ? { + target: "e1vtu5160" +} : undefined)(card_body_component.selector, "{max-height:80vh;}" + ( true ? "" : undefined)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/flyout/flyout-content/component.js + + + +/** + * Internal dependencies + */ + + + +/** + * + * @param {import('../../ui/context').WordPressComponentProps} props + * @param {import('react').Ref} forwardedRef + */ + +function FlyoutContent(props, forwardedRef) { + const { + children, + elevation, + maxWidth, + style = {}, + ...otherProps + } = Object(use_context_system["a" /* useContextSystem */])(props, 'FlyoutContent'); + const { + label, + flyoutState + } = useFlyoutContext(); + + if (!flyoutState) { + throw new Error('`FlyoutContent` must only be used inside a `Flyout`.'); + } + + const showContent = flyoutState.visible || flyoutState.animating; + return Object(external_wp_element_["createElement"])(FlyoutContentView, Object(esm_extends["a" /* default */])({ + "aria-label": label // maxWidth is applied via inline styles in order to avoid the `React does + // not recognize the maxWidth prop on a DOM element` error that comes from + // passing `maxWidth` as a prop to `FlyoutContentView` + , + style: { + maxWidth, + ...style + } + }, otherProps, flyoutState), showContent && Object(external_wp_element_["createElement"])(CardView, { + elevation: elevation, + ref: forwardedRef + }, children)); +} + +const ConnectedFlyoutContent = Object(context_connect["a" /* contextConnect */])(FlyoutContent, 'FlyoutContent'); +/* harmony default export */ var flyout_content_component = (ConnectedFlyoutContent); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/flyout/flyout/hook.js +/** + * External dependencies + */ +// eslint-disable-next-line no-restricted-imports + +/** + * Internal dependencies + */ + + +/** + * @param {import('../../ui/context').WordPressComponentProps} props + */ + +function useFlyout(props) { + const { + animated = true, + animationDuration = 160, + baseId, + elevation = 5, + id, + maxWidth = 360, + placement, + state, + visible, + ...otherProps + } = Object(use_context_system["a" /* useContextSystem */])(props, 'Flyout'); + + const _flyoutState = usePopoverState({ + animated: animated ? animationDuration : undefined, + baseId: baseId || id, + placement, + visible, + ...otherProps + }); + + const flyoutState = state || _flyoutState; + return { ...otherProps, + elevation, + maxWidth, + flyoutState + }; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/flyout/flyout/component.js + + + +/** + * External dependencies + */ +// eslint-disable-next-line no-restricted-imports + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + + + + +/** + * + * @param {import('../../ui/context').WordPressComponentProps} props + * @param {import('react').Ref} forwardedRef + */ + +function component_Flyout(props, forwardedRef) { + const { + children, + elevation, + label, + maxWidth, + onVisibleChange, + trigger, + flyoutState, + ...otherProps + } = useFlyout(props); + const resizeListener = useFlyoutResizeUpdater({ + onResize: flyoutState.unstable_update + }); + const uniqueId = `flyout-${flyoutState.baseId}`; + const labelId = label || uniqueId; + const contextProps = Object(external_wp_element_["useMemo"])(() => ({ + label: labelId, + flyoutState + }), [labelId, flyoutState]); + const triggerContent = Object(external_wp_element_["useCallback"])(triggerProps => { + return Object(external_wp_element_["cloneElement"])(trigger, triggerProps); + }, [trigger]); + use_update_effect(() => { + onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(flyoutState.visible); + }, [flyoutState.visible]); + return Object(external_wp_element_["createElement"])(FlyoutContext.Provider, { + value: contextProps + }, trigger && Object(external_wp_element_["createElement"])(PopoverDisclosure, Object(esm_extends["a" /* default */])({}, flyoutState, { + ref: trigger.ref + }, trigger.props), triggerContent), Object(external_wp_element_["createElement"])(Portal, null, Object(external_wp_element_["createElement"])(flyout_content_component, Object(esm_extends["a" /* default */])({ + ref: forwardedRef + }, otherProps, { + elevation: elevation, + maxWidth: maxWidth + }), resizeListener, children))); +} +/** + * `Flyout` is a component to render a floating content modal. + * It is similar in purpose to a tooltip, but renders content of any sort, + * not only simple text. + * + * @example + * ```jsx + * import { Button, __experimentalFlyout as Flyout, __experimentalText as } from '@wordpress/components'; + * + * function Example() { + * return ( + * Show/Hide content }> + * Code is Poetry + * + * ); + * } + * ``` + */ + + +const ConnectedFlyout = Object(context_connect["a" /* contextConnect */])(component_Flyout, 'Flyout'); +/* harmony default export */ var flyout_component = (ConnectedFlyout); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/focal-point-picker/styles/focal-point-picker-style.js + + +function focal_point_picker_style_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } + +/** + * External dependencies + */ + +/** + * Internal dependencies + */ + + + +const MediaWrapper = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "e11wezi78" +} : undefined)( true ? { + name: "1g31405", + styles: "background-color:transparent;box-sizing:border-box;text-align:center;width:100%" } : undefined); -const MediaContainer = styled_base_browser_esm("div", { - target: "e11wezi71", - label: "MediaContainer" -})( true ? { - name: "1q0l1fq", - styles: "align-items:center;box-sizing:border-box;box-shadow:0 0 0 1px rgba( 0,0,0,0.2 );cursor:pointer;display:inline-flex;justify-content:center;margin:auto;position:relative;height:100%;img,video{box-sizing:border-box;display:block;height:auto;margin:0;max-height:100%;max-width:100%;pointer-events:none;user-select:none;width:auto;}" +const MediaContainer = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "e11wezi77" +} : undefined)( true ? { + name: "v0nrlz", + styles: "align-items:center;box-sizing:border-box;box-shadow:0 0 0 1px rgba( 0, 0, 0, 0.2 );cursor:pointer;display:inline-flex;justify-content:center;margin:auto;position:relative;height:100%;img,video{box-sizing:border-box;display:block;height:auto;margin:0;max-height:100%;max-width:100%;pointer-events:none;user-select:none;width:auto;}" } : undefined); -const MediaPlaceholder = styled_base_browser_esm("div", { - target: "e11wezi72", - label: "MediaPlaceholder" -})("background:", COLORS.lightGray[300], ";box-sizing:border-box;height:170px;max-width:280px;min-width:200px;width:100%;" + ( true ? "" : undefined)); -const focal_point_picker_style_UnitControl = /*#__PURE__*/styled_base_browser_esm(unit_control, { - target: "e11wezi73", - label: "UnitControl" -})( true ? { - name: "v7v99c", - styles: "width:100px;" +const MediaPlaceholder = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "e11wezi76" +} : undefined)("background:", COLORS.lightGray[300], ";box-sizing:border-box;height:170px;max-width:280px;min-width:200px;width:100%;" + ( true ? "" : undefined)); +const focal_point_picker_style_UnitControl = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(unit_control, true ? { + target: "e11wezi75" +} : undefined)( true ? { + name: "1pzk433", + styles: "width:100px" } : undefined); -const ControlWrapper = /*#__PURE__*/styled_base_browser_esm(flex_component, { - target: "e11wezi74", - label: "ControlWrapper" -})( true ? { - name: "lqoi1w", - styles: "max-width:320px;padding:1em 0;" +const ControlWrapper = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(flex_component, true ? { + target: "e11wezi74" +} : undefined)( true ? { + name: "ox4xcy", + styles: "max-width:320px;padding:1em 0" } : undefined); -const GridView = styled_base_browser_esm("div", { - target: "e11wezi75", - label: "GridView" -})("box-sizing:border-box;left:50%;opacity:0;overflow:hidden;pointer-events:none;position:absolute;top:50%;transform:translate3d( -50%,-50%,0 );transition:opacity 120ms linear;z-index:1;", ({ +const GridView = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "e11wezi73" +} : undefined)("box-sizing:border-box;left:50%;opacity:0;overflow:hidden;pointer-events:none;position:absolute;top:50%;transform:translate3d( -50%, -50%, 0 );transition:opacity 120ms linear;z-index:1;", ({ isActive }) => isActive && ` opacity: 1; - `, true ? "" : undefined); -const GridLine = styled_base_browser_esm("div", { - target: "e11wezi76", - label: "GridLine" -})( true ? { - name: "18dz4sk", - styles: "box-sizing:border-box;background:white;box-shadow:0 0 2px rgba( 0,0,0,0.6 );position:absolute;opacity:0.4;transform:translateZ( 0 );" + `, ";" + ( true ? "" : undefined)); +const GridLine = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "e11wezi72" +} : undefined)( true ? { + name: "1sy4ch9", + styles: "box-sizing:border-box;background:white;box-shadow:0 0 2px rgba( 0, 0, 0, 0.6 );position:absolute;opacity:0.4;transform:translateZ( 0 )" } : undefined); -const GridLineX = /*#__PURE__*/styled_base_browser_esm(GridLine, { - target: "e11wezi77", - label: "GridLineX" -})( true ? { - name: "1u4twh6", - styles: "height:1px;left:0;right:0;" +const GridLineX = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(GridLine, true ? { + target: "e11wezi71" +} : undefined)( true ? { + name: "1qp910y", + styles: "height:1px;left:0;right:0" } : undefined); -const GridLineY = /*#__PURE__*/styled_base_browser_esm(GridLine, { - target: "e11wezi78", - label: "GridLineY" -})( true ? { - name: "13gvipf", - styles: "width:1px;top:0;bottom:0;" +const GridLineY = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(GridLine, true ? { + target: "e11wezi70" +} : undefined)( true ? { + name: "1oz3zka", + styles: "width:1px;top:0;bottom:0" } : undefined); // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/focal-point-picker/utils.js @@ -33297,16 +49798,14 @@ function FocalPointPickerControls({ const valueX = fractionToPercentage(percentages.x); const valueY = fractionToPercentage(percentages.y); - const handleOnXChange = next => { - onChange({ ...percentages, - x: parseInt(next) / 100 - }); - }; + const handleChange = (value, axis) => { + const num = parseInt(value, 10); - const handleOnYChange = next => { - onChange({ ...percentages, - y: parseInt(next) / 100 - }); + if (!isNaN(num)) { + onChange({ ...percentages, + [axis]: num / 100 + }); + } }; return Object(external_wp_element_["createElement"])(ControlWrapper, { @@ -33314,12 +49813,12 @@ function FocalPointPickerControls({ }, Object(external_wp_element_["createElement"])(controls_UnitControl, { label: Object(external_wp_i18n_["__"])('Left'), value: valueX, - onChange: handleOnXChange, + onChange: next => handleChange(next, 'x'), dragDirection: "e" }), Object(external_wp_element_["createElement"])(controls_UnitControl, { label: Object(external_wp_i18n_["__"])('Top'), value: valueY, - onChange: handleOnYChange, + onChange: next => handleChange(next, 'y'), dragDirection: "s" })); } @@ -33327,7 +49826,7 @@ function FocalPointPickerControls({ function controls_UnitControl(props) { return Object(external_wp_element_["createElement"])(focal_point_picker_style_UnitControl, Object(esm_extends["a" /* default */])({ className: "focal-point-picker__controls-position-unit-control", - labelPosition: "side", + labelPosition: "top", max: TEXTCONTROL_MAX, min: TEXTCONTROL_MIN, unit: "%", @@ -33343,6 +49842,10 @@ function controls_UnitControl(props) { function focal_point_style_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } +/** + * External dependencies + */ + /** * WordPress dependencies */ @@ -33352,30 +49855,26 @@ function focal_point_style_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have t */ -const FocalPointWrapper = styled_base_browser_esm("div", { - target: "eas61re0", - label: "FocalPointWrapper" -})("background-color:transparent;box-sizing:border-box;cursor:grab;height:30px;margin:-15px 0 0 -15px;opacity:0.8;position:absolute;user-select:none;width:30px;will-change:transform;z-index:10000;", ({ +const FocalPointWrapper = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "eas61re3" +} : undefined)("background-color:transparent;box-sizing:border-box;cursor:grab;height:30px;margin:-15px 0 0 -15px;opacity:0.8;position:absolute;user-select:none;width:30px;will-change:transform;z-index:10000;", ({ isDragging -}) => isDragging && 'cursor: grabbing;', true ? "" : undefined); -const PointerIconSVG = /*#__PURE__*/styled_base_browser_esm(external_wp_primitives_["SVG"], { - target: "eas61re1", - label: "PointerIconSVG" -})( true ? { - name: "1fp1hff", - styles: "display:block;height:100%;left:0;position:absolute;top:0;width:100%;" +}) => isDragging && 'cursor: grabbing;', ";" + ( true ? "" : undefined)); +const PointerIconSVG = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(external_wp_primitives_["SVG"], true ? { + target: "eas61re2" +} : undefined)( true ? { + name: "qkx60y", + styles: "display:block;height:100%;left:0;position:absolute;top:0;width:100%" } : undefined); -const PointerIconPathOutline = /*#__PURE__*/styled_base_browser_esm(external_wp_primitives_["Path"], { - target: "eas61re2", - label: "PointerIconPathOutline" -})( true ? { - name: "j4aqsr", - styles: "fill:white;" +const PointerIconPathOutline = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(external_wp_primitives_["Path"], true ? { + target: "eas61re1" +} : undefined)( true ? { + name: "1b3qpiw", + styles: "fill:white" } : undefined); -const PointerIconPathFill = /*#__PURE__*/styled_base_browser_esm(external_wp_primitives_["Path"], { - target: "eas61re3", - label: "PointerIconPathFill" -})("fill:", COLORS.blue.wordpress[700], ";fill:", COLORS.ui.theme, ";" + ( true ? "" : undefined)); +const PointerIconPathFill = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(external_wp_primitives_["Path"], true ? { + target: "eas61re0" +} : undefined)("fill:", COLORS.blue.wordpress[700], ";fill:", COLORS.ui.theme, ";" + ( true ? "" : undefined)); // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/focal-point-picker/focal-point.js @@ -33506,7 +50005,7 @@ function useRevealAnimation(value) { -function Media({ +function media_Media({ alt, autoPlay, src, @@ -33908,7 +50407,7 @@ class focal_point_picker_FocalPointPicker extends external_wp_element_["Componen }, Object(external_wp_element_["createElement"])(FocalPointPickerGrid, { bounds: bounds, value: percentages.x + percentages.y - }), Object(external_wp_element_["createElement"])(Media, { + }), Object(external_wp_element_["createElement"])(media_Media, { alt: Object(external_wp_i18n_["__"])('Media preview'), autoPlay: autoPlay, mediaRef: this.mediaRef, @@ -33947,34 +50446,10 @@ function FocusableIframe({ iframeRef, ...props }) { - const fallbackRef = Object(external_wp_element_["useRef"])(); - const ref = Object(external_wp_compose_["useMergeRefs"])([iframeRef, fallbackRef]); - Object(external_wp_element_["useEffect"])(() => { - const iframe = fallbackRef.current; - const { - ownerDocument - } = iframe; - const { - defaultView - } = ownerDocument; - /** - * Checks whether the iframe is the activeElement, inferring that it has - * then received focus, and calls the `onFocus` prop callback. - */ - - function checkFocus() { - if (ownerDocument.activeElement !== iframe) { - return; - } - - iframe.focus(); - } - - defaultView.addEventListener('blur', checkFocus); - return () => { - defaultView.removeEventListener('blur', checkFocus); - }; - }, []); // Disable reason: The rendered iframe is a pass-through component, + const ref = Object(external_wp_compose_["useMergeRefs"])([iframeRef, Object(external_wp_compose_["useFocusableIframe"])()]); + external_wp_deprecated_default()('wp.components.FocusableIframe', { + alternative: 'wp.compose.useFocusableIframe' + }); // Disable reason: The rendered iframe is a pass-through component, // assigning props inherited from the rendering parent. It's the // responsibility of the parent to assign a title. // eslint-disable-next-line jsx-a11y/iframe-has-title @@ -33984,914 +50459,750 @@ function FocusableIframe({ }, props)); } -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/text-color.js -var text_color = __webpack_require__("uGfJ"); +// CONCATENATED MODULE: ./node_modules/reakit/es/Radio/RadioState.js + + + + + + + + + + + + + +function useRadioState(initialState) { + if (initialState === void 0) { + initialState = {}; + } + + var _useSealedState = useSealedState(initialState), + initialValue = _useSealedState.state, + _useSealedState$loop = _useSealedState.loop, + loop = _useSealedState$loop === void 0 ? true : _useSealedState$loop, + sealed = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_useSealedState, ["state", "loop"]); + + var _React$useState = Object(external_React_["useState"])(initialValue), + state = _React$useState[0], + setState = _React$useState[1]; + + var composite = useCompositeState(Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])(Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({}, sealed), {}, { + loop: loop + })); + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])(Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({}, composite), {}, { + state: state, + setState: setState + }); +} + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/__keys-d251e56b.js +// Automatically generated +var RADIO_STATE_KEYS = ["baseId", "unstable_idCountRef", "unstable_virtual", "rtl", "orientation", "items", "groups", "currentId", "loop", "wrap", "shift", "unstable_moves", "unstable_hasActiveWidget", "unstable_includesBaseElement", "state", "setBaseId", "registerItem", "unregisterItem", "registerGroup", "unregisterGroup", "move", "next", "previous", "up", "down", "first", "last", "sort", "unstable_setVirtual", "setRTL", "setOrientation", "setCurrentId", "setLoop", "setWrap", "setShift", "reset", "unstable_setIncludesBaseElement", "unstable_setHasActiveWidget", "setState"]; +var RADIO_KEYS = [].concat(RADIO_STATE_KEYS, ["value", "checked", "unstable_checkOnFocus"]); +var RADIO_GROUP_KEYS = RADIO_STATE_KEYS; + + + +// CONCATENATED MODULE: ./node_modules/reakit/es/Radio/RadioGroup.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +var useRadioGroup = Object(createHook["a" /* createHook */])({ + name: "RadioGroup", + compose: useComposite, + keys: RADIO_GROUP_KEYS, + useProps: function useProps(_, htmlProps) { + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + role: "radiogroup" + }, htmlProps); + } +}); +var RadioGroup = Object(createComponent["a" /* createComponent */])({ + as: "div", + useHook: useRadioGroup, + useCreateElement: function useCreateElement$1(type, props, children) { + false ? undefined : void 0; + return Object(useCreateElement["a" /* useCreateElement */])(type, props, children); + } +}); + + + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/toggle-group-control/toggle-group-control/styles.js + + +function toggle_group_control_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/range-control/utils.js /** * External dependencies */ -/** - * WordPress dependencies - */ - /** * Internal dependencies */ +const ToggleGroupControl = /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("background:", COLORS.ui.background, ";border:1px solid;border-color:", COLORS.ui.border, ";border-radius:", config_values.controlBorderRadius, ";display:inline-flex;min-height:", config_values.controlHeight, ";min-width:0;padding:2px;position:relative;transition:transform ", config_values.transitionDurationFastest, " linear;", reduceMotion('transition'), " &:hover{border-color:", COLORS.ui.borderHover, ";}&:focus-within{border-color:", COLORS.ui.borderFocus, ";box-shadow:", config_values.controlBoxShadowFocus, ";outline:none;z-index:1;}" + ( true ? "" : undefined), true ? "" : undefined); +const toggle_group_control_styles_block = true ? { + name: "7whenc", + styles: "display:flex;width:100%" +} : undefined; +const BackdropView = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "eakva830" +} : undefined)("background:", COLORS.gray[900], ";border-radius:", config_values.controlBorderRadius, ";box-shadow:", config_values.toggleGroupControlBackdropBoxShadow, ";left:0;position:absolute;top:2px;bottom:2px;transition:transform ", config_values.transitionDurationFast, " ease;", reduceMotion('transition'), " z-index:1;" + ( true ? "" : undefined)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js + /** - * A float supported clamp function for a specific value. - * - * @param {number|null} value The value to clamp. - * @param {number} min The minimum value. - * @param {number} max The maximum value. - * - * @return {number} A (float) number + * WordPress dependencies */ -function floatClamp(value, min, max) { - if (typeof value !== 'number') { - return null; - } - - return parseFloat(Object(external_lodash_["clamp"])(value, min, max)); -} /** - * Hook to store a clamped value, derived from props. - * - * @param {Object} settings Hook settings. - * @param {number} settings.min The minimum value. - * @param {number} settings.max The maximum value. - * @param {number} settings.value The current value. - * @param {any} settings.initial The initial value. - * - * @return {[*, Function]} The controlled value and the value setter. + * Internal dependencies */ -function useControlledRangeValue({ - min, - max, - value: valueProp, - initial + + +function ToggleGroupControlBackdrop({ + containerRef, + containerWidth, + isAdaptiveWidth, + state }) { - const [state, setInternalState] = use_controlled_state(floatClamp(valueProp, min, max), { - initial, - fallback: null - }); - const setState = Object(external_wp_element_["useCallback"])(nextValue => { - if (nextValue === null) { - setInternalState(null); - } else { - setInternalState(floatClamp(nextValue, min, max)); - } - }, [min, max]); - return [state, setState]; -} -/** - * Hook to encapsulate the debouncing "hover" to better handle the showing - * and hiding of the Tooltip. - * - * @param {Object} settings Hook settings. - * @param {Function} [settings.onShow=noop] A callback function invoked when the element is shown. - * @param {Function} [settings.onHide=noop] A callback function invoked when the element is hidden. - * @param {Function} [settings.onMouseMove=noop] A callback function invoked when the mouse is moved. - * @param {Function} [settings.onMouseLeave=noop] A callback function invoked when the mouse is moved out of the element. - * @param {number} [settings.timeout=300] Timeout before the element is shown or hidden. - * - * @return {Object} Bound properties for use on a React.Node. - */ - -function useDebouncedHoverInteraction({ - onHide = external_lodash_["noop"], - onMouseLeave = external_lodash_["noop"], - onMouseMove = external_lodash_["noop"], - onShow = external_lodash_["noop"], - timeout = 300 -}) { - const [show, setShow] = Object(external_wp_element_["useState"])(false); - const timeoutRef = Object(external_wp_element_["useRef"])(); - const setDebouncedTimeout = Object(external_wp_element_["useCallback"])(callback => { - window.clearTimeout(timeoutRef.current); - timeoutRef.current = setTimeout(callback, timeout); - }, [timeout]); - const handleOnMouseMove = Object(external_wp_element_["useCallback"])(event => { - onMouseMove(event); - setDebouncedTimeout(() => { - if (!show) { - setShow(true); - onShow(); - } - }); - }, []); - const handleOnMouseLeave = Object(external_wp_element_["useCallback"])(event => { - onMouseLeave(event); - setDebouncedTimeout(() => { - setShow(false); - onHide(); - }); - }, []); + const [left, setLeft] = Object(external_wp_element_["useState"])(0); + const [width, setWidth] = Object(external_wp_element_["useState"])(0); + const [canAnimate, setCanAnimate] = Object(external_wp_element_["useState"])(false); + const [renderBackdrop, setRenderBackdrop] = Object(external_wp_element_["useState"])(false); Object(external_wp_element_["useEffect"])(() => { - return () => { - window.clearTimeout(timeoutRef.current); - }; - }); - return { - onMouseMove: handleOnMouseMove, - onMouseLeave: handleOnMouseLeave - }; -} + const containerNode = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current; + if (!containerNode) return; + /** + * Workaround for Reakit + */ -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/range-control/styles/range-control-styles.js + const targetNode = containerNode.querySelector(`[data-value="${state}"]`); + setRenderBackdrop(!!targetNode); - -function range_control_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } - -/** - * External dependencies - */ - - -/** - * Internal dependencies - */ - - - -var range_control_styles_ref = true ? { - name: "tdik1c", - styles: "height:30px;min-height:30px;" -} : undefined; - -const rangeHeight = () => range_control_styles_ref; - -const thumbSize = 20; -const range_control_styles_Root = styled_base_browser_esm("div", { - target: "exqw8y20", - label: "Root" -})( true ? { - name: "44oaj8", - styles: "-webkit-tap-highlight-color:transparent;box-sizing:border-box;align-items:flex-start;display:inline-flex;justify-content:flex-start;padding:0;position:relative;touch-action:none;width:100%;" -} : undefined); - -const wrapperColor = ({ - color: colorProp = COLORS.ui.borderFocus -}) => { - return /*#__PURE__*/css_browser_esm({ - color: colorProp - }, true ? "" : undefined); -}; - -const wrapperMargin = ({ - marks -}) => /*#__PURE__*/css_browser_esm({ - marginBottom: marks ? 16 : null -}, true ? "" : undefined); - -const range_control_styles_Wrapper = styled_base_browser_esm("div", { - target: "exqw8y21", - label: "Wrapper" -})("box-sizing:border-box;color:", COLORS.blue.medium.focus, ";display:block;flex:1;padding-top:15px;position:relative;width:100%;", wrapperColor, ";", rangeHeight, ";", wrapperMargin, ";", rtl_rtl({ - marginLeft: 10 -}), true ? "" : undefined); -const BeforeIconWrapper = styled_base_browser_esm("span", { - target: "exqw8y22", - label: "BeforeIconWrapper" -})("margin-top:3px;", rtl_rtl({ - marginRight: 6 -}), true ? "" : undefined); -const AfterIconWrapper = styled_base_browser_esm("span", { - target: "exqw8y23", - label: "AfterIconWrapper" -})("margin-top:3px;", rtl_rtl({ - marginLeft: 16 -}), true ? "" : undefined); - -const railBackgroundColor = ({ - disabled, - railColor -}) => { - let background = railColor || null; - - if (disabled) { - background = COLORS.lightGray[400]; - } - - return /*#__PURE__*/css_browser_esm({ - background - }, true ? "" : undefined); -}; - -const Rail = styled_base_browser_esm("span", { - target: "exqw8y24", - label: "Rail" -})("background-color:", COLORS.lightGray[600], ";box-sizing:border-box;left:0;pointer-events:none;right:0;display:block;height:3px;position:absolute;margin-top:14px;top:0;", railBackgroundColor, ";" + ( true ? "" : undefined)); - -const trackBackgroundColor = ({ - disabled, - trackColor -}) => { - let background = trackColor || 'currentColor'; - - if (disabled) { - background = COLORS.lightGray[800]; - } - - return /*#__PURE__*/css_browser_esm({ - background - }, true ? "" : undefined); -}; - -const Track = styled_base_browser_esm("span", { - target: "exqw8y25", - label: "Track" -})("background-color:currentColor;border-radius:1px;box-sizing:border-box;height:3px;pointer-events:none;display:block;position:absolute;margin-top:14px;top:0;", trackBackgroundColor, ";" + ( true ? "" : undefined)); -const MarksWrapper = styled_base_browser_esm("span", { - target: "exqw8y26", - label: "MarksWrapper" -})( true ? { - name: "8d21nl", - styles: "box-sizing:border-box;display:block;pointer-events:none;position:relative;width:100%;user-select:none;" -} : undefined); - -const markFill = ({ - disabled, - isFilled -}) => { - let backgroundColor = isFilled ? 'currentColor' : COLORS.lightGray[600]; - - if (disabled) { - backgroundColor = COLORS.lightGray[800]; - } - - return /*#__PURE__*/css_browser_esm({ - backgroundColor - }, true ? "" : undefined); -}; - -const Mark = styled_base_browser_esm("span", { - target: "exqw8y27", - label: "Mark" -})("box-sizing:border-box;height:9px;left:0;position:absolute;top:-4px;width:1px;", markFill, ";" + ( true ? "" : undefined)); - -const markLabelFill = ({ - isFilled -}) => { - return /*#__PURE__*/css_browser_esm({ - color: isFilled ? COLORS.darkGray[300] : COLORS.lightGray[600] - }, true ? "" : undefined); -}; - -const MarkLabel = styled_base_browser_esm("span", { - target: "exqw8y28", - label: "MarkLabel" -})("box-sizing:border-box;color:", COLORS.lightGray[600], ";left:0;font-size:11px;position:absolute;top:12px;transform:translateX( -50% );white-space:nowrap;", markLabelFill, ";" + ( true ? "" : undefined)); -const ThumbWrapper = styled_base_browser_esm("span", { - target: "exqw8y29", - label: "ThumbWrapper" -})("align-items:center;box-sizing:border-box;display:flex;height:", thumbSize, "px;justify-content:center;margin-top:5px;outline:0;pointer-events:none;position:absolute;top:0;user-select:none;width:", thumbSize, "px;", rtl_rtl({ - marginLeft: -10 -}), true ? "" : undefined); - -const thumbFocus = ({ - isFocused -}) => { - return /*#__PURE__*/css_browser_esm({ - borderColor: isFocused ? COLORS.ui.borderFocus : COLORS.darkGray[200], - boxShadow: isFocused ? ` - 0 0 0 1px ${COLORS.ui.borderFocus} - ` : ` - 0 0 0 rgba(0, 0, 0, 0) - ` - }, true ? "" : undefined); -}; - -const Thumb = styled_base_browser_esm("span", { - target: "exqw8y210", - label: "Thumb" -})("align-items:center;background-color:white;border-radius:50%;border:1px solid ", COLORS.darkGray[200], ";box-sizing:border-box;height:100%;outline:0;position:absolute;user-select:none;width:100%;", thumbFocus, ";" + ( true ? "" : undefined)); -const InputRange = styled_base_browser_esm("input", { - target: "exqw8y211", - label: "InputRange" -})("box-sizing:border-box;cursor:pointer;display:block;height:100%;left:0;margin:0 -", thumbSize / 2, "px;opacity:0;outline:none;position:absolute;right:0;top:0;width:calc( 100% + ", thumbSize, "px );" + ( true ? "" : undefined)); - -const tooltipShow = ({ - show -}) => { - return /*#__PURE__*/css_browser_esm({ - opacity: show ? 1 : 0 - }, true ? "" : undefined); -}; - -var range_control_styles_ref2 = true ? { - name: "5qqmyx", - styles: "top:-80%;" -} : undefined; - -var range_control_styles_ref3 = true ? { - name: "eda4eg", - styles: "bottom:-80%;" -} : undefined; - -const tooltipPosition = ({ - position -}) => { - const isTop = position === 'top'; - - if (isTop) { - return range_control_styles_ref2; - } - - return range_control_styles_ref3; -}; - -const range_control_styles_Tooltip = styled_base_browser_esm("span", { - target: "exqw8y212", - label: "Tooltip" -})("background:", COLORS.ui.border, ";border-radius:2px;box-sizing:border-box;color:white;display:inline-block;font-size:12px;min-width:32px;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;text-align:center;transition:opacity 120ms ease;user-select:none;line-height:1.4;", tooltipShow, ";", tooltipPosition, ";", reduceMotion('transition'), ";", rtl_rtl({ - transform: 'translateX(-50%)' -}, { - transform: 'translateX(50%)' -}), true ? "" : undefined); // @todo: Refactor RangeControl with latest HStack configuration -// @wordpress/components/ui/hstack - -const InputNumber = /*#__PURE__*/styled_base_browser_esm(number_control, { - target: "exqw8y213", - label: "InputNumber" -})("box-sizing:border-box;display:inline-block;font-size:13px;margin-top:0;width:", space(8), " !important;input[type='number']&{", rangeHeight, ";}", rtl_rtl({ - marginLeft: `${space(2)} !important` -}), true ? "" : undefined); -const ActionRightWrapper = styled_base_browser_esm("span", { - target: "exqw8y214", - label: "ActionRightWrapper" -})("box-sizing:border-box;display:block;margin-top:0;button,button.is-small{margin-left:0;", rangeHeight, ";}", rtl_rtl({ - marginLeft: 8 -}), true ? "" : undefined); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/range-control/input-range.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - - - -function input_range_InputRange({ - describedBy, - isShiftStepEnabled = true, - label, - onHideTooltip = external_lodash_["noop"], - onMouseLeave = external_lodash_["noop"], - step = 1, - onBlur = external_lodash_["noop"], - onChange = external_lodash_["noop"], - onFocus = external_lodash_["noop"], - onMouseMove = external_lodash_["noop"], - onShowTooltip = external_lodash_["noop"], - shiftStep = 10, - value, - ...props -}, ref) { - const jumpStep = use_jump_step({ - step, - shiftStep, - isShiftStepEnabled - }); - const hoverInteractions = useDebouncedHoverInteraction({ - onHide: onHideTooltip, - onMouseLeave, - onMouseMove, - onShow: onShowTooltip - }); - return Object(external_wp_element_["createElement"])(InputRange, Object(esm_extends["a" /* default */])({}, props, hoverInteractions, { - "aria-describedby": describedBy, - "aria-label": label, - "aria-hidden": false, - onBlur: onBlur, - onChange: onChange, - onFocus: onFocus, - ref: ref, - step: jumpStep, - tabIndex: 0, - type: "range", - value: value - })); -} - -const input_range_ForwardedComponent = Object(external_wp_element_["forwardRef"])(input_range_InputRange); -/* harmony default export */ var input_range = (input_range_ForwardedComponent); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/range-control/mark.js - - - -/** - * External dependencies - */ - -/** - * Internal dependencies - */ - - -function RangeMark({ - className, - isFilled = false, - label, - style = {}, - ...props -}) { - const classes = classnames_default()('components-range-control__mark', isFilled && 'is-filled', className); - const labelClasses = classnames_default()('components-range-control__mark-label', isFilled && 'is-filled'); - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(Mark, Object(esm_extends["a" /* default */])({}, props, { - "aria-hidden": "true", - className: classes, - isFilled: isFilled, - style: style - })), label && Object(external_wp_element_["createElement"])(MarkLabel, { - "aria-hidden": "true", - className: labelClasses, - isFilled: isFilled, - style: style - }, label)); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/range-control/rail.js - - - -/** - * WordPress dependencies - */ - -/** - * Internal dependencies - */ - - - -function RangeRail({ - disabled = false, - marks = false, - min = 0, - max = 100, - step = 1, - value = 0, - ...restProps -}) { - return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(Rail, Object(esm_extends["a" /* default */])({ - disabled: disabled - }, restProps)), marks && Object(external_wp_element_["createElement"])(Marks, { - disabled: disabled, - marks: marks, - min: min, - max: max, - step: step, - value: value - })); -} - -function Marks({ - disabled = false, - marks = false, - min = 0, - max = 100, - step = 1, - value = 0 -}) { - const marksData = useMarks({ - marks, - min, - max, - step, - value - }); - return Object(external_wp_element_["createElement"])(MarksWrapper, { - "aria-hidden": "true", - className: "components-range-control__marks" - }, marksData.map(mark => Object(external_wp_element_["createElement"])(RangeMark, Object(esm_extends["a" /* default */])({}, mark, { - key: mark.key, - "aria-hidden": "true", - disabled: disabled - })))); -} - -function useMarks({ - marks, - min = 0, - max = 100, - step = 1, - value = 0 -}) { - if (!marks) { - return []; - } - - const range = max - min; - - if (!Array.isArray(marks)) { - marks = []; - const count = 1 + Math.round(range / step); - - while (count > marks.push({ - value: step * marks.length + min - })); - } - - const placedMarks = []; - marks.forEach((mark, index) => { - if (mark.value < min || mark.value > max) { + if (!targetNode) { return; } - const key = `mark-${index}`; - const isFilled = mark.value <= value; - const offset = `${(mark.value - min) / range * 100}%`; - const offsetStyle = { - [Object(external_wp_i18n_["isRTL"])() ? 'right' : 'left']: offset - }; - placedMarks.push({ ...mark, - isFilled, - key, - style: offsetStyle - }); - }); - return placedMarks; -} + const { + x: parentX + } = containerNode.getBoundingClientRect(); + const { + width: offsetWidth, + x + } = targetNode.getBoundingClientRect(); + const borderWidth = 1; + const offsetLeft = x - parentX - borderWidth; + setLeft(offsetLeft); + setWidth(offsetWidth); + let requestId; -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/range-control/tooltip.js - - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - -const TOOLTIP_OFFSET_HEIGHT = 32; -function SimpleTooltip({ - className, - inputRef, - position: positionProp = 'auto', - show = false, - style = {}, - value = 0, - renderTooltipContent = v => v, - zIndex = 100, - ...restProps -}) { - const position = useTooltipPosition({ - inputRef, - position: positionProp - }); - const classes = classnames_default()('components-simple-tooltip', className); - const styles = { ...style, - zIndex - }; - return Object(external_wp_element_["createElement"])(range_control_styles_Tooltip, Object(esm_extends["a" /* default */])({}, restProps, { - "aria-hidden": show, - className: classes, - position: position, - show: show, - role: "tooltip", - style: styles - }), renderTooltipContent(value)); -} - -function useTooltipPosition({ - inputRef, - position: positionProp -}) { - const [position, setPosition] = Object(external_wp_element_["useState"])('top'); - const calculatePosition = Object(external_wp_element_["useCallback"])(() => { - if (inputRef && inputRef.current) { - let nextPosition = positionProp; - - if (positionProp === 'auto') { - const { - top - } = inputRef.current.getBoundingClientRect(); - const isOffscreenTop = top - TOOLTIP_OFFSET_HEIGHT < 0; - nextPosition = isOffscreenTop ? 'bottom' : 'top'; - } - - setPosition(nextPosition); - } - }, [positionProp]); - Object(external_wp_element_["useEffect"])(() => { - calculatePosition(); - }, [calculatePosition]); - Object(external_wp_element_["useEffect"])(() => { - window.addEventListener('resize', calculatePosition); - return () => { - window.removeEventListener('resize', calculatePosition); - }; - }); - return position; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/range-control/index.js - - - -/** - * External dependencies - */ - - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - - - - - - - - - -function RangeControl({ - afterIcon, - allowReset = false, - beforeIcon, - className, - currentInput, - color: colorProp = COLORS.ui.theme, - disabled = false, - help, - initialPosition, - isShiftStepEnabled = true, - label, - marks = false, - max = 100, - min = 0, - onBlur = external_lodash_["noop"], - onChange = external_lodash_["noop"], - onFocus = external_lodash_["noop"], - onMouseMove = external_lodash_["noop"], - onMouseLeave = external_lodash_["noop"], - railColor, - resetFallbackValue, - renderTooltipContent = v => v, - showTooltip: showTooltipProp, - shiftStep = 10, - step = 1, - trackColor, - value: valueProp, - withInputField = true, - ...props -}, ref) { - var _inputRef$current; - - const [value, setValue] = useControlledRangeValue({ - min, - max, - value: valueProp, - initial: initialPosition - }); - const isResetPendent = Object(external_wp_element_["useRef"])(false); - const [showTooltip, setShowTooltip] = Object(external_wp_element_["useState"])(showTooltipProp); - const [isFocused, setIsFocused] = Object(external_wp_element_["useState"])(false); - const inputRef = Object(external_wp_element_["useRef"])(); - - const setRef = nodeRef => { - inputRef.current = nodeRef; - - if (ref) { - ref(nodeRef); - } - }; - - const isCurrentlyFocused = (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.matches(':focus'); - const isThumbFocused = !disabled && isFocused; - const isValueReset = value === null; - const currentValue = value !== undefined ? value : currentInput; - const inputSliderValue = isValueReset ? '' : currentValue; - const rangeFillValue = isValueReset ? (max - min) / 2 + min : value; - const calculatedFillValue = (value - min) / (max - min) * 100; - const fillValue = isValueReset ? 50 : calculatedFillValue; - const fillValueOffset = `${Object(external_lodash_["clamp"])(fillValue, 0, 100)}%`; - const classes = classnames_default()('components-range-control', className); - const wrapperClasses = classnames_default()('components-range-control__wrapper', !!marks && 'is-marked'); - const id = Object(external_wp_compose_["useInstanceId"])(RangeControl, 'inspector-range-control'); - const describedBy = !!help ? `${id}__help` : undefined; - const enableTooltip = showTooltipProp !== false && Object(external_lodash_["isFinite"])(value); - - const handleOnRangeChange = event => { - const nextValue = parseFloat(event.target.value); - setValue(nextValue); - onChange(nextValue); - }; - - const handleOnChange = nextValue => { - nextValue = parseFloat(nextValue); - setValue(nextValue); - /* - * Calls onChange only when nextValue is numeric - * otherwise may queue a reset for the blur event. - */ - - if (!isNaN(nextValue)) { - if (nextValue < min || nextValue > max) { - nextValue = floatClamp(nextValue, min, max); - } - - onChange(nextValue); - isResetPendent.current = false; - } else if (allowReset) { - isResetPendent.current = true; - } - }; - - const handleOnInputNumberBlur = () => { - if (isResetPendent.current) { - handleOnReset(); - isResetPendent.current = false; - } - }; - - const handleOnReset = () => { - let resetValue = parseFloat(resetFallbackValue); - let onChangeResetValue = resetValue; - - if (isNaN(resetValue)) { - resetValue = null; - onChangeResetValue = undefined; + if (!canAnimate) { + requestId = window.requestAnimationFrame(() => { + setCanAnimate(true); + }); } - setValue(resetValue); - /** - * Previously, this callback would always receive undefined as - * an argument. This behavior is unexpected, specifically - * when resetFallbackValue is defined. - * - * The value of undefined is not ideal. Passing it through - * to internal elements would change it from a - * controlled component to an uncontrolled component. - * - * For now, to minimize unexpected regressions, we're going to - * preserve the undefined callback argument, except when a - * resetFallbackValue is defined. - */ + return () => window.cancelAnimationFrame(requestId); + }, [canAnimate, containerRef, containerWidth, state, isAdaptiveWidth]); - onChange(onChangeResetValue); - }; + if (!renderBackdrop) { + return null; + } - const handleShowTooltip = () => setShowTooltip(true); - - const handleHideTooltip = () => setShowTooltip(false); - - const handleOnBlur = event => { - onBlur(event); - setIsFocused(false); - handleHideTooltip(); - }; - - const handleOnFocus = event => { - onFocus(event); - setIsFocused(true); - handleShowTooltip(); - }; - - const offsetStyle = { - [Object(external_wp_i18n_["isRTL"])() ? 'right' : 'left']: fillValueOffset - }; - return Object(external_wp_element_["createElement"])(base_control, { - className: classes, - label: label, - id: id, - help: help - }, Object(external_wp_element_["createElement"])(range_control_styles_Root, { - className: "components-range-control__root" - }, beforeIcon && Object(external_wp_element_["createElement"])(BeforeIconWrapper, null, Object(external_wp_element_["createElement"])(components_build_module_icon["a" /* default */], { - icon: beforeIcon - })), Object(external_wp_element_["createElement"])(range_control_styles_Wrapper, { - className: wrapperClasses, - color: colorProp, - marks: !!marks - }, Object(external_wp_element_["createElement"])(input_range, Object(esm_extends["a" /* default */])({}, props, { - className: "components-range-control__slider", - describedBy: describedBy, - disabled: disabled, - id: id, - isShiftStepEnabled: isShiftStepEnabled, - label: label, - max: max, - min: min, - onBlur: handleOnBlur, - onChange: handleOnRangeChange, - onFocus: handleOnFocus, - onMouseMove: onMouseMove, - onMouseLeave: onMouseLeave, - ref: setRef, - shiftStep: shiftStep, - step: step, - value: inputSliderValue - })), Object(external_wp_element_["createElement"])(RangeRail, { - "aria-hidden": true, - disabled: disabled, - marks: marks, - max: max, - min: min, - railColor: railColor, - step: step, - value: rangeFillValue - }), Object(external_wp_element_["createElement"])(Track, { - "aria-hidden": true, - className: "components-range-control__track", - disabled: disabled, + return Object(external_wp_element_["createElement"])(BackdropView, { + role: "presentation", style: { - width: fillValueOffset - }, - trackColor: trackColor - }), Object(external_wp_element_["createElement"])(ThumbWrapper, { - style: offsetStyle - }, Object(external_wp_element_["createElement"])(Thumb, { - "aria-hidden": true, - isFocused: isThumbFocused - })), enableTooltip && Object(external_wp_element_["createElement"])(SimpleTooltip, { - className: "components-range-control__tooltip", - inputRef: inputRef, - renderTooltipContent: renderTooltipContent, - show: isCurrentlyFocused || showTooltip, - style: offsetStyle, - value: value - })), afterIcon && Object(external_wp_element_["createElement"])(AfterIconWrapper, null, Object(external_wp_element_["createElement"])(components_build_module_icon["a" /* default */], { - icon: afterIcon - })), withInputField && Object(external_wp_element_["createElement"])(InputNumber, { - "aria-label": label, - className: "components-range-control__number", - disabled: disabled, - inputMode: "decimal", - isShiftStepEnabled: isShiftStepEnabled, - max: max, - min: min, - onBlur: handleOnInputNumberBlur, - onChange: handleOnChange, - shiftStep: shiftStep, - step: step, - value: inputSliderValue - }), allowReset && Object(external_wp_element_["createElement"])(ActionRightWrapper, null, Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { - className: "components-range-control__reset", - disabled: disabled || value === undefined, - isSecondary: true, - isSmall: true, - onClick: handleOnReset - }, Object(external_wp_i18n_["__"])('Reset'))))); + transform: `translateX(${left}px)`, + transition: canAnimate ? undefined : 'none', + width + } + }); } -const range_control_ForwardedComponent = Object(external_wp_element_["forwardRef"])(RangeControl); -/* harmony default export */ var range_control = (range_control_ForwardedComponent); +/* harmony default export */ var toggle_group_control_backdrop = (Object(external_wp_element_["memo"])(ToggleGroupControlBackdrop)); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/toggle-group-control/context.js +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + +const ToggleGroupControlContext = Object(external_wp_element_["createContext"])({}); +const useToggleGroupControlContext = () => Object(external_wp_element_["useContext"])(ToggleGroupControlContext); +/* harmony default export */ var toggle_group_control_context = (ToggleGroupControlContext); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/toggle-group-control/toggle-group-control/component.js + + + +/** + * External dependencies + */ +// eslint-disable-next-line no-restricted-imports +// eslint-disable-next-line no-restricted-imports + + +/** + * WordPress dependencies + */ + + + +/** + * Internal dependencies + */ + + + + + + + + + +const component_noop = () => {}; + +function component_ToggleGroupControl(props, forwardedRef) { + const { + className, + isAdaptiveWidth = false, + isBlock = false, + label, + hideLabelFromVision = false, + help, + onChange = component_noop, + value, + children, + ...otherProps + } = Object(use_context_system["a" /* useContextSystem */])(props, 'ToggleGroupControl'); + const cx = Object(use_cx["a" /* useCx */])(); + const containerRef = Object(external_wp_element_["useRef"])(); + const [resizeListener, sizes] = react_resize_aware_dist_default()(); + const baseId = Object(external_wp_compose_["useInstanceId"])(component_ToggleGroupControl, 'toggle-group-control').toString(); + const radio = useRadioState({ + baseId, + state: value + }); // Propagate radio.state change + + use_update_effect(() => { + onChange(radio.state); + }, [radio.state]); // Sync incoming value with radio.state + + use_update_effect(() => { + if (value !== radio.state) { + radio.setState(value); + } + }, [value]); + const classes = Object(external_wp_element_["useMemo"])(() => cx(ToggleGroupControl, isBlock && toggle_group_control_styles_block, 'medium', className), [className, isBlock]); + return Object(external_wp_element_["createElement"])(base_control, { + help: help + }, Object(external_wp_element_["createElement"])(toggle_group_control_context.Provider, { + value: { ...radio, + isBlock: !isAdaptiveWidth + } + }, !hideLabelFromVision && Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(base_control.VisualLabel, null, label)), Object(external_wp_element_["createElement"])(RadioGroup, Object(esm_extends["a" /* default */])({}, radio, { + "aria-label": label, + as: view_component["a" /* default */], + className: classes + }, otherProps, { + ref: Object(external_wp_compose_["useMergeRefs"])([containerRef, forwardedRef]) + }), resizeListener, Object(external_wp_element_["createElement"])(toggle_group_control_backdrop, Object(esm_extends["a" /* default */])({}, radio, { + containerRef: containerRef, + containerWidth: sizes.width, + isAdaptiveWidth: isAdaptiveWidth + })), children))); +} +/** + * `ToggleGroupControl` is a form component that lets users choose options + * represented in horizontal segments. To render options for this control use + * `ToggleGroupControlOption` component. + * + * Only use this control when you know for sure the labels of items inside won't + * wrap. For items with longer labels, you can consider a `SelectControl` or a + * `CustomSelectControl` component instead. + * + * @example + * ```jsx + * import { + * __experimentalToggleGroupControl as ToggleGroupControl, + * __experimentalToggleGroupControlOption as ToggleGroupControlOption, + * } from '@wordpress/components'; + * + * function Example() { + * return ( + * + * + * + * + * ); + * } + * ``` + */ + + +const ConnectedToggleGroupControl = Object(context_connect["a" /* contextConnect */])(component_ToggleGroupControl, 'ToggleGroupControl'); +/* harmony default export */ var toggle_group_control_component = (ConnectedToggleGroupControl); + +// EXTERNAL MODULE: ./node_modules/reakit-warning/es/warning.js +var es_warning = __webpack_require__("WnOg"); + +// CONCATENATED MODULE: ./node_modules/reakit/es/Radio/Radio.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +function getChecked(options) { + if (typeof options.checked !== "undefined") { + return options.checked; + } + + return typeof options.value !== "undefined" && options.state === options.value; +} + +function useInitialChecked(options) { + var _React$useState = Object(external_React_["useState"])(function () { + return getChecked(options); + }), + initialChecked = _React$useState[0]; + + var _React$useState2 = Object(external_React_["useState"])(options.currentId), + initialCurrentId = _React$useState2[0]; + + var id = options.id, + setCurrentId = options.setCurrentId; + Object(external_React_["useEffect"])(function () { + if (initialChecked && id && initialCurrentId !== id) { + setCurrentId === null || setCurrentId === void 0 ? void 0 : setCurrentId(id); + } + }, [initialChecked, id, setCurrentId, initialCurrentId]); +} + +function fireChange(element, onChange) { + var event = Object(createEvent["a" /* createEvent */])(element, "change"); + Object.defineProperties(event, { + type: { + value: "change" + }, + target: { + value: element + }, + currentTarget: { + value: element + } + }); + onChange === null || onChange === void 0 ? void 0 : onChange(event); +} + +var useRadio = Object(createHook["a" /* createHook */])({ + name: "Radio", + compose: CompositeItem["b" /* useCompositeItem */], + keys: RADIO_KEYS, + useOptions: function useOptions(_ref, _ref2) { + var _options$value; + + var value = _ref2.value, + checked = _ref2.checked; + + var _ref$unstable_clickOn = _ref.unstable_clickOnEnter, + unstable_clickOnEnter = _ref$unstable_clickOn === void 0 ? false : _ref$unstable_clickOn, + _ref$unstable_checkOn = _ref.unstable_checkOnFocus, + unstable_checkOnFocus = _ref$unstable_checkOn === void 0 ? true : _ref$unstable_checkOn, + options = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref, ["unstable_clickOnEnter", "unstable_checkOnFocus"]); + + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])(Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + checked: checked, + unstable_clickOnEnter: unstable_clickOnEnter, + unstable_checkOnFocus: unstable_checkOnFocus + }, options), {}, { + value: (_options$value = options.value) != null ? _options$value : value + }); + }, + useProps: function useProps(options, _ref3) { + var htmlRef = _ref3.ref, + htmlOnChange = _ref3.onChange, + htmlOnClick = _ref3.onClick, + htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref3, ["ref", "onChange", "onClick"]); + + var ref = Object(external_React_["useRef"])(null); + + var _React$useState3 = Object(external_React_["useState"])(true), + isNativeRadio = _React$useState3[0], + setIsNativeRadio = _React$useState3[1]; + + var checked = getChecked(options); + var isCurrentItemRef = Object(useLiveRef["a" /* useLiveRef */])(options.currentId === options.id); + var onChangeRef = Object(useLiveRef["a" /* useLiveRef */])(htmlOnChange); + var onClickRef = Object(useLiveRef["a" /* useLiveRef */])(htmlOnClick); + useInitialChecked(options); + Object(external_React_["useEffect"])(function () { + var element = ref.current; + + if (!element) { + false ? undefined : void 0; + return; + } + + if (element.tagName !== "INPUT" || element.type !== "radio") { + setIsNativeRadio(false); + } + }, []); + var onChange = Object(external_React_["useCallback"])(function (event) { + var _onChangeRef$current, _options$setState; + + (_onChangeRef$current = onChangeRef.current) === null || _onChangeRef$current === void 0 ? void 0 : _onChangeRef$current.call(onChangeRef, event); + if (event.defaultPrevented) return; + if (options.disabled) return; + (_options$setState = options.setState) === null || _options$setState === void 0 ? void 0 : _options$setState.call(options, options.value); + }, [options.disabled, options.setState, options.value]); + var onClick = Object(external_React_["useCallback"])(function (event) { + var _onClickRef$current; + + (_onClickRef$current = onClickRef.current) === null || _onClickRef$current === void 0 ? void 0 : _onClickRef$current.call(onClickRef, event); + if (event.defaultPrevented) return; + if (isNativeRadio) return; + fireChange(event.currentTarget, onChange); + }, [onChange, isNativeRadio]); + Object(external_React_["useEffect"])(function () { + var element = ref.current; + if (!element) return; + + if (options.unstable_moves && isCurrentItemRef.current && options.unstable_checkOnFocus) { + fireChange(element, onChange); + } + }, [options.unstable_moves, options.unstable_checkOnFocus, onChange]); + return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({ + ref: Object(useForkRef["a" /* useForkRef */])(ref, htmlRef), + role: !isNativeRadio ? "radio" : undefined, + type: isNativeRadio ? "radio" : undefined, + value: isNativeRadio ? options.value : undefined, + name: isNativeRadio ? options.baseId : undefined, + "aria-checked": checked, + checked: checked, + onChange: onChange, + onClick: onClick + }, htmlProps); + } +}); +var Radio = Object(createComponent["a" /* createComponent */])({ + as: "input", + memo: true, + useHook: useRadio +}); + + + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/toggle-group-control/toggle-group-control-option/styles.js + + +function toggle_group_control_option_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } + +/** + * External dependencies + */ + + +/** + * Internal dependencies + */ + +const LabelView = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "eu1cvm72" +} : undefined)( true ? { + name: "sln1fl", + styles: "display:inline-flex;max-width:100%;min-width:0;position:relative" +} : undefined); +const labelBlock = true ? { + name: "82a6rk", + styles: "flex:1" +} : undefined; +const buttonView = /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("align-items:center;appearance:none;background:transparent;border:none;border-radius:", config_values.controlBorderRadius, ";color:", COLORS.gray[700], ";cursor:pointer;display:flex;height:100%;justify-content:center;line-height:100%;outline:none;padding:0 12px;position:relative;text-align:center;transition:background ", config_values.transitionDurationFast, " linear,color ", config_values.transitionDurationFast, " linear,font-weight 60ms linear;", reduceMotion('transition'), " user-select:none;width:100%;z-index:2;&::-moz-focus-inner{border:0;}&:active{background:", config_values.toggleGroupControlBackgroundColor, ";}" + ( true ? "" : undefined), true ? "" : undefined); +const buttonActive = /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("color:", COLORS.white, ";" + ( true ? "" : undefined), true ? "" : undefined); +const ButtonContentView = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "eu1cvm71" +} : undefined)("font-size:", config_values.fontSize, ";line-height:1;position:absolute;top:50%;left:50%;transform:translate( -50%, -50% );" + ( true ? "" : undefined)); +const separatorActive = true ? { + name: "1qsuvl4", + styles: "background:transparent" +} : undefined; +const LabelPlaceholderView = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "eu1cvm70" +} : undefined)("font-size:", config_values.fontSize, ";font-weight:bold;height:0;overflow:hidden;visibility:hidden;" + ( true ? "" : undefined)); +const medium = /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])("min-height:", config_values.controlHeight, ";" + ( true ? "" : undefined), true ? "" : undefined); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/toggle-group-control/toggle-group-control-option/component.js + + + +/** + * External dependencies + */ +// eslint-disable-next-line no-restricted-imports +// eslint-disable-next-line no-restricted-imports + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + + +const { + ButtonContentView: component_ButtonContentView, + LabelPlaceholderView: component_LabelPlaceholderView, + LabelView: component_LabelView +} = toggle_group_control_option_styles_namespaceObject; + +function ToggleGroupControlOption(props, forwardedRef) { + var _radioProps$ariaLabe; + + const toggleGroupControlContext = useToggleGroupControlContext(); + const id = Object(external_wp_compose_["useInstanceId"])(ToggleGroupControlOption, toggleGroupControlContext.baseId || 'toggle-group-control-option'); + const buttonProps = Object(use_context_system["a" /* useContextSystem */])({ ...props, + id + }, 'ToggleGroupControlOption'); + const { + className, + isBlock = false, + label, + value, + ...radioProps + } = { ...toggleGroupControlContext, + ...buttonProps + }; + const isActive = radioProps.state === value; + const cx = Object(use_cx["a" /* useCx */])(); + const labelViewClasses = cx(isBlock && labelBlock); + const classes = cx(buttonView, className, isActive && buttonActive); + return Object(external_wp_element_["createElement"])(component_LabelView, { + className: labelViewClasses, + "data-active": isActive + }, Object(external_wp_element_["createElement"])(Radio, Object(esm_extends["a" /* default */])({}, radioProps, { + as: "button", + "aria-label": (_radioProps$ariaLabe = radioProps['aria-label']) !== null && _radioProps$ariaLabe !== void 0 ? _radioProps$ariaLabe : label, + className: classes, + "data-value": value, + ref: forwardedRef, + value: value + }), Object(external_wp_element_["createElement"])(component_ButtonContentView, null, label), Object(external_wp_element_["createElement"])(component_LabelPlaceholderView, { + "aria-hidden": true + }, label))); +} +/** + * `ToggleGroupControlOption` is a form component and is meant to be used as a + * child of `ToggleGroupControl`. + * + * @example + * ```jsx + * import { + * __experimentalToggleGroupControl as ToggleGroupControl, + * __experimentalToggleGroupControlOption as ToggleGroupControlOption, + * } from '@wordpress/components'; + * + * function Example() { + * return ( + * + * + * + * + * ); + * } + * ``` + */ + + +const ConnectedToggleGroupControlOption = Object(context_connect["a" /* contextConnect */])(ToggleGroupControlOption, 'ToggleGroupControlOption'); +/* harmony default export */ var toggle_group_control_option_component = (ConnectedToggleGroupControlOption); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/font-size-picker/utils.js +/** + * WordPress dependencies + */ + +const DEFAULT_FONT_SIZE = 'default'; +const DEFAULT_FONT_SIZE_OPTION = { + slug: DEFAULT_FONT_SIZE, + name: Object(external_wp_i18n_["__"])('Default') +}; +const CUSTOM_FONT_SIZE = 'custom'; +const CUSTOM_FONT_SIZE_OPTION = { + slug: CUSTOM_FONT_SIZE, + name: Object(external_wp_i18n_["__"])('Custom') +}; +/** + * Helper util to split a font size to its numeric value + * and its `unit`, if exists. + * + * @param {string|number} size Font size. + * @return {[number, string]} An array with the numeric value and the unit if exists. + */ + +function splitValueAndUnitFromSize(size) { + /** + * The first matched result is ignored as it's the left + * hand side of the capturing group in the regex. + */ + const [, numericValue, unit] = size.split(/(\d+)/); + return [numericValue, unit]; +} +/** + * Some themes use css vars for their font sizes, so until we + * have the way of calculating them don't display them. + * + * @param {string|number} value The value that is checked. + * @return {boolean} Whether the value is a simple css value. + */ + +function isSimpleCssValue(value) { + const sizeRegex = /^(?!0)\d+(px|em|rem|vw|vh|%)?$/i; + return sizeRegex.test(value); +} +/** + * Return font size options in the proper format depending + * on the currently used control (select, toggle group). + * + * @param {boolean} useSelectControl Whether to use a select control. + * @param {Object[]} optionsArray Array of available font sizes objects. + * @param {*} disableCustomFontSizes Flag that indicates if custom font sizes are disabled. + * @return {Object[]|null} Array of font sizes in proper format for the used control. + */ + +function getFontSizeOptions(useSelectControl, optionsArray, disableCustomFontSizes) { + if (disableCustomFontSizes && !optionsArray.length) { + return null; + } + + return useSelectControl ? getSelectOptions(optionsArray, disableCustomFontSizes) : getToggleGroupOptions(optionsArray); +} + +function getSelectOptions(optionsArray, disableCustomFontSizes) { + const options = [DEFAULT_FONT_SIZE_OPTION, ...optionsArray, ...(disableCustomFontSizes ? [] : [CUSTOM_FONT_SIZE_OPTION])]; + return options.map(({ + slug, + name, + size + }) => ({ + key: slug, + name, + size, + __experimentalHint: size && isSimpleCssValue(size) && parseInt(size) + })); +} + +function getToggleGroupOptions(optionsArray) { + return optionsArray.map(({ + slug, + size, + name + }) => { + let label = size; + + if (typeof size === 'string') { + const [numericValue] = splitValueAndUnitFromSize(size); + label = numericValue; + } + + return { + key: slug, + value: size, + label, + name + }; + }); +} + +function getSelectedOption(fontSizes, value) { + if (!value) { + return DEFAULT_FONT_SIZE_OPTION; + } + + return fontSizes.find(font => font.size === value) || CUSTOM_FONT_SIZE_OPTION; +} // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/font-size-picker/index.js -/** - * External dependencies - */ - /** * WordPress dependencies */ - /** * Internal dependencies */ @@ -34901,40 +51212,9 @@ const range_control_ForwardedComponent = Object(external_wp_element_["forwardRef -const DEFAULT_FONT_SIZE = 'default'; -const CUSTOM_FONT_SIZE = 'custom'; -const MAX_FONT_SIZE_DISPLAY = '25px'; -function getSelectValueFromFontSize(fontSizes, value) { - if (value) { - const fontSizeValue = fontSizes.find(font => font.size === value); - return fontSizeValue ? fontSizeValue.slug : CUSTOM_FONT_SIZE; - } - return DEFAULT_FONT_SIZE; -} -function getSelectOptions(optionsArray, disableCustomFontSizes) { - if (disableCustomFontSizes && !optionsArray.length) { - return null; - } - - optionsArray = [{ - slug: DEFAULT_FONT_SIZE, - name: Object(external_wp_i18n_["__"])('Default') - }, ...optionsArray, ...(disableCustomFontSizes ? [] : [{ - slug: CUSTOM_FONT_SIZE, - name: Object(external_wp_i18n_["__"])('Custom') - }])]; - return optionsArray.map(option => ({ - key: option.slug, - name: option.name, - size: option.size, - style: { - fontSize: `min( ${option.size}, ${MAX_FONT_SIZE_DISPLAY} )` - } - })); -} function FontSizePicker({ fallbackFontSize, @@ -34942,54 +51222,124 @@ function FontSizePicker({ disableCustomFontSizes = false, onChange, value, - withSlider = false + withSlider = false, + withReset = true }, ref) { - const hasUnits = Object(external_lodash_["isString"])(value) || fontSizes[0] && Object(external_lodash_["isString"])(fontSizes[0].size); - let noUnitsValue; + var _fontSizes$, _value$endsWith; - if (!hasUnits) { - noUnitsValue = value; - } else { - noUnitsValue = parseInt(value); - } - - const isPixelValue = Object(external_lodash_["isNumber"])(value) || Object(external_lodash_["isString"])(value) && value.endsWith('px'); + const hasUnits = [typeof value, typeof (fontSizes === null || fontSizes === void 0 ? void 0 : (_fontSizes$ = fontSizes[0]) === null || _fontSizes$ === void 0 ? void 0 : _fontSizes$.size)].includes('string'); + const noUnitsValue = !hasUnits ? value : parseInt(value); + const isPixelValue = typeof value === 'number' || (value === null || value === void 0 ? void 0 : (_value$endsWith = value.endsWith) === null || _value$endsWith === void 0 ? void 0 : _value$endsWith.call(value, 'px')); const units = useCustomUnits({ availableUnits: ['px', 'em', 'rem'] - }); - const options = Object(external_wp_element_["useMemo"])(() => getSelectOptions(fontSizes, disableCustomFontSizes), [fontSizes, disableCustomFontSizes]); + }); // The main font size UI displays a toggle group when the presets are less + // than six and a select control when they are more. + // + // A select control is also used when the value of a preset cannot be + // immediately computed (eg. 'calc', 'var'). + + const shouldUseSelectControl = fontSizes.length > 5 || fontSizes.some(({ + size + }) => !isSimpleCssValue(size)); + const options = Object(external_wp_element_["useMemo"])(() => getFontSizeOptions(shouldUseSelectControl, fontSizes, disableCustomFontSizes), [shouldUseSelectControl, fontSizes, disableCustomFontSizes]); + const selectedOption = getSelectedOption(fontSizes, value); + const isCustomValue = selectedOption.slug === CUSTOM_FONT_SIZE; + const [showCustomValueControl, setShowCustomValueControl] = Object(external_wp_element_["useState"])(!disableCustomFontSizes && isCustomValue); + const headerHint = Object(external_wp_element_["useMemo"])(() => { + if (showCustomValueControl) { + return `(${Object(external_wp_i18n_["__"])('Custom')})`; + } // If we have a custom value that is not available in the font sizes, + // show it as a hint as long as it's a simple CSS value. + + + if (isCustomValue) { + return isSimpleCssValue(value) && `(${value})`; + } + + if (shouldUseSelectControl) { + return isSimpleCssValue(selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.size) && `(${selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.size})`; + } // Calculate the `hint` for toggle group control. + + + let hint = selectedOption.name; + + if (typeof selectedOption.size === 'string') { + const [, unit] = splitValueAndUnitFromSize(selectedOption.size); + hint += `(${unit})`; + } + + return hint; + }, [showCustomValueControl, selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.slug, value, isCustomValue]); if (!options) { return null; - } + } // This is used for select control only. We need to add support + // for ToggleGroupControl. - const selectedFontSizeSlug = getSelectValueFromFontSize(fontSizes, value); + + const currentFontSizeSR = Object(external_wp_i18n_["sprintf"])( // translators: %s: Currently selected font size. + Object(external_wp_i18n_["__"])('Currently selected font size: %s'), selectedOption.name); + const baseClassName = 'components-font-size-picker'; return Object(external_wp_element_["createElement"])("fieldset", Object(esm_extends["a" /* default */])({ - className: "components-font-size-picker" + className: baseClassName }, ref ? {} : { ref - }), Object(external_wp_element_["createElement"])(visually_hidden["a" /* default */], { + }), Object(external_wp_element_["createElement"])(component["a" /* default */], { as: "legend" - }, Object(external_wp_i18n_["__"])('Font size')), Object(external_wp_element_["createElement"])("div", { - className: "components-font-size-picker__controls" - }, fontSizes.length > 0 && Object(external_wp_element_["createElement"])(CustomSelectControl, { - className: 'components-font-size-picker__select', + }, Object(external_wp_i18n_["__"])('Font size')), Object(external_wp_element_["createElement"])(flex_component, { + justify: "space-between", + className: `${baseClassName}__header` + }, Object(external_wp_element_["createElement"])(flex_item_component, null, Object(external_wp_i18n_["__"])('Size'), headerHint && Object(external_wp_element_["createElement"])("span", { + className: `${baseClassName}__header__hint` + }, headerHint)), !disableCustomFontSizes && Object(external_wp_element_["createElement"])(flex_item_component, null, Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { + label: showCustomValueControl ? Object(external_wp_i18n_["__"])('Use size preset') : Object(external_wp_i18n_["__"])('Set custom size'), + showTooltip: false, + icon: settings["a" /* default */], + onClick: () => { + setShowCustomValueControl(!showCustomValueControl); + }, + isPressed: showCustomValueControl, + isSmall: true + }))), Object(external_wp_element_["createElement"])("div", { + className: `${baseClassName}__controls` + }, !!fontSizes.length && shouldUseSelectControl && !showCustomValueControl && Object(external_wp_element_["createElement"])(CustomSelectControl, { + className: `${baseClassName}__select`, label: Object(external_wp_i18n_["__"])('Font size'), + hideLabelFromVision: true, + describedBy: currentFontSizeSR, options: options, - value: options.find(option => option.key === selectedFontSizeSlug), + value: options.find(option => option.key === selectedOption.slug), onChange: ({ selectedItem }) => { - if (hasUnits) { - onChange(selectedItem.size); - } else { - onChange(Number(selectedItem.size)); + onChange(hasUnits ? selectedItem.size : Number(selectedItem.size)); + + if (selectedItem.key === CUSTOM_FONT_SIZE) { + setShowCustomValueControl(true); } } - }), !withSlider && !disableCustomFontSizes && Object(external_wp_element_["createElement"])(unit_control, { + }), !shouldUseSelectControl && !showCustomValueControl && Object(external_wp_element_["createElement"])(toggle_group_control_component, { + label: Object(external_wp_i18n_["__"])('Font size'), + hideLabelFromVision: true, + value: value, + onChange: newValue => { + onChange(hasUnits ? newValue : Number(newValue)); + }, + isBlock: true + }, options.map(option => Object(external_wp_element_["createElement"])(toggle_group_control_option_component, { + key: option.key, + value: option.value, + label: option.label, + "aria-label": option.name + }))), !withSlider && !disableCustomFontSizes && showCustomValueControl && Object(external_wp_element_["createElement"])(flex_component, { + justify: "space-between", + className: `${baseClassName}__custom-size-control` + }, Object(external_wp_element_["createElement"])(flex_item_component, { + isBlock: true + }, Object(external_wp_element_["createElement"])(unit_control, { label: Object(external_wp_i18n_["__"])('Custom'), labelPosition: "top", - __unstableInputWidth: "60px", + hideLabelFromVision: true, value: value, onChange: nextSize => { if (0 === parseFloat(nextSize) || !nextSize) { @@ -34999,16 +51349,18 @@ function FontSizePicker({ } }, units: hasUnits ? units : false - }), Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { + })), withReset && Object(external_wp_element_["createElement"])(flex_item_component, { + isBlock: true + }, Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { className: "components-color-palette__clear", disabled: value === undefined, onClick: () => { onChange(undefined); }, isSmall: true, - isSecondary: true - }, Object(external_wp_i18n_["__"])('Reset'))), withSlider && Object(external_wp_element_["createElement"])(range_control, { - className: "components-font-size-picker__custom-input", + variant: "secondary" + }, Object(external_wp_i18n_["__"])('Reset'))))), withSlider && Object(external_wp_element_["createElement"])(range_control, { + className: `${baseClassName}__custom-input`, label: Object(external_wp_i18n_["__"])('Custom Size'), value: isPixelValue && noUnitsValue || '', initialPosition: fallbackFontSize, @@ -35016,9 +51368,7 @@ function FontSizePicker({ onChange(hasUnits ? newValue + 'px' : newValue); }, min: 12, - max: 100, - beforeIcon: text_color["a" /* default */], - afterIcon: text_color["a" /* default */] + max: 100 })); } @@ -35177,7 +51527,7 @@ function Token({ }, Object(external_wp_element_["createElement"])("span", { className: "components-form-token-field__token-text", id: `components-form-token-field__token-text-${instanceId}` - }, Object(external_wp_element_["createElement"])(visually_hidden["a" /* default */], { + }, Object(external_wp_element_["createElement"])(component["a" /* default */], { as: "span" }, termPositionAndCount), Object(external_wp_element_["createElement"])("span", { "aria-hidden": "true" @@ -35346,6 +51696,10 @@ class form_token_field_FormTokenField extends external_wp_element_["Component"] onKeyDown(event) { let preventDefault = false; + if (event.defaultPrevented) { + return; + } + switch (event.keyCode) { case external_wp_keycodes_["BACKSPACE"]: preventDefault = this.handleDeleteKey(this.deleteTokenBeforeInput); @@ -35384,7 +51738,6 @@ class form_token_field_FormTokenField extends external_wp_element_["Component"] case external_wp_keycodes_["ESCAPE"]: preventDefault = this.handleEscapeKey(event); - event.stopPropagation(); break; default: @@ -35955,13 +52308,15 @@ function serializeGradient({ */ + /** * Internal dependencies */ -function getLinearGradientRepresentationOfARadial(gradientAST) { +Object(colord["b" /* extend */])([names["a" /* default */]]); +function getLinearGradientRepresentation(gradientAST) { return serializeGradient({ type: 'linear-gradient', orientation: HORIZONTAL_GRADIENT_ORIENTATION, @@ -36020,7 +52375,7 @@ function getGradientAstWithControlPoints(gradientAST, newControlPoints) { g, b, a - } = tinycolor_default()(color).toRgb(); + } = Object(colord["a" /* colord */])(color).toRgb(); return { length: { type: '%', @@ -36056,23 +52411,25 @@ function getStopCssColor(colorStop) { function custom_gradient_picker_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } +/** + * External dependencies + */ + /** * Internal dependencies */ -const SelectWrapper = /*#__PURE__*/styled_base_browser_esm(flex_block_component, { - target: "e99xvul0", - label: "SelectWrapper" -})( true ? { - name: "otv6bo", - styles: "flex-grow:5;" +const SelectWrapper = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(flex_block_component, true ? { + target: "e99xvul1" +} : undefined)( true ? { + name: "1gvx10y", + styles: "flex-grow:5" } : undefined); -const AccessoryWrapper = /*#__PURE__*/styled_base_browser_esm(flex_block_component, { - target: "e99xvul1", - label: "AccessoryWrapper" -})( true ? { - name: "gmtefn", - styles: "flex-grow:4;" +const AccessoryWrapper = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(flex_block_component, true ? { + target: "e99xvul0" +} : undefined)( true ? { + name: "1gvx10y", + styles: "flex-grow:5" } : undefined); // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/custom-gradient-picker/index.js @@ -36117,8 +52474,8 @@ const GradientAnglePicker = ({ }; return Object(external_wp_element_["createElement"])(AnglePickerControl, { - hideLabelFromVision: true, onChange: onAngleChange, + labelPosition: "top", value: hasGradient ? angle : '' }); }; @@ -36160,7 +52517,7 @@ const GradientTypePicker = ({ return Object(external_wp_element_["createElement"])(select_control, { className: "components-custom-gradient-picker__type-picker", label: Object(external_wp_i18n_["__"])('Type'), - labelPosition: 'side', + labelPosition: "top", onChange: handleOnChange, options: GRADIENT_OPTIONS, value: hasGradient && type @@ -36173,8 +52530,9 @@ function CustomGradientPicker({ }) { const gradientAST = getGradientAstWithDefault(value); // On radial gradients the bar should display a linear gradient. // On radial gradients the bar represents a slice of the gradient from the center until the outside. + // On liner gradients the bar represents the color stops from left to right independently of the angle. - const background = gradientAST.type === 'radial-gradient' ? getLinearGradientRepresentationOfARadial(gradientAST) : gradientAST.value; + const background = getLinearGradientRepresentation(gradientAST); const hasGradient = gradientAST.value !== DEFAULT_GRADIENT; // Control points color option may be hex from presets, custom colors will be rgb. // The position should always be a percentage. @@ -36208,6 +52566,7 @@ function CustomGradientPicker({ // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/gradient-picker/index.js + /** * External dependencies */ @@ -36224,15 +52583,18 @@ function CustomGradientPicker({ -function GradientPicker({ + + + +function SingleOrigin({ className, + clearGradient, gradients, onChange, value, - clearable = true, - disableCustomGradients = false + actions, + content }) { - const clearGradient = Object(external_wp_element_["useCallback"])(() => onChange(undefined), [onChange]); const gradientOptions = Object(external_wp_element_["useMemo"])(() => { return Object(external_lodash_["map"])(gradients, ({ gradient, @@ -36256,17 +52618,71 @@ function GradientPicker({ return Object(external_wp_element_["createElement"])(CircularOptionPicker, { className: className, options: gradientOptions, - actions: clearable && Object(external_wp_element_["createElement"])(CircularOptionPicker.ButtonAction, { - onClick: clearGradient - }, Object(external_wp_i18n_["__"])('Clear')) - }, !disableCustomGradients && Object(external_wp_element_["createElement"])(CustomGradientPicker, { - value: value, - onChange: onChange + actions: actions + }, content); +} + +function MultipleOrigin({ + className, + clearGradient, + gradients, + onChange, + value, + actions, + content +}) { + return Object(external_wp_element_["createElement"])(v_stack_component, { + spacing: 3, + className: className + }, gradients.map(({ + name, + gradients: gradientSet + }, index) => { + return Object(external_wp_element_["createElement"])(v_stack_component, { + spacing: 2, + key: index + }, Object(external_wp_element_["createElement"])(ColorHeading, null, name), Object(external_wp_element_["createElement"])(SingleOrigin, Object(esm_extends["a" /* default */])({ + clearGradient: clearGradient, + gradients: gradientSet, + onChange: onChange, + value: value + }, gradients.length === index + 1 ? { + actions, + content + } : {}))); })); } +function GradientPicker({ + className, + gradients, + onChange, + value, + clearable = true, + disableCustomGradients = false, + __experimentalHasMultipleOrigins +}) { + const clearGradient = Object(external_wp_element_["useCallback"])(() => onChange(undefined), [onChange]); + const Component = __experimentalHasMultipleOrigins ? MultipleOrigin : SingleOrigin; + return Object(external_wp_element_["createElement"])(Component, { + className: className, + clearable: clearable, + clearGradient: clearGradient, + gradients: gradients, + onChange: onChange, + value: value, + actions: clearable && Object(external_wp_element_["createElement"])(CircularOptionPicker.ButtonAction, { + onClick: clearGradient + }, Object(external_wp_i18n_["__"])('Clear')), + content: !disableCustomGradients && Object(external_wp_element_["createElement"])(CustomGradientPicker, { + value: value, + onChange: onChange + }) + }); +} + // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/grid/utils.js -const utils_ALIGNMENTS = { +const grid_utils_ALIGNMENTS = { bottom: { alignItems: 'flex-end', justifyContent: 'center' @@ -36318,20 +52734,22 @@ const utils_ALIGNMENTS = { * @return {{ alignItems?: import('react').CSSProperties['alignItems'], justifyContent?: import('react').CSSProperties['justifyContent']}} CSS props for alignment */ -function getAlignmentProps(alignment) { - const alignmentProps = alignment ? utils_ALIGNMENTS[alignment] : {}; +function utils_getAlignmentProps(alignment) { + const alignmentProps = alignment ? grid_utils_ALIGNMENTS[alignment] : {}; return alignmentProps; } /* eslint-enable jsdoc/valid-types */ // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/grid/hook.js - - +/** + * External dependencies + */ /** * WordPress dependencies */ + /** * Internal dependencies */ @@ -36340,8 +52758,9 @@ function getAlignmentProps(alignment) { + /** - * @param {import('../ui/context').ViewOwnProps} props + * @param {import('../ui/context').WordPressComponentProps} props */ function useGrid(props) { @@ -36364,12 +52783,12 @@ function useGrid(props) { const column = useResponsiveValue(columnsAsArray); const rowsAsArray = Array.isArray(rows) ? rows : [rows]; const row = useResponsiveValue(rowsAsArray); - const gridTemplateColumns = templateColumns || !!columns && `repeat(${column}, 1fr)`; - const gridTemplateRows = templateRows || !!rows && `repeat(${row}, 1fr)`; + const gridTemplateColumns = templateColumns || !!columns && `repeat( ${column}, 1fr )`; + const gridTemplateRows = templateRows || !!rows && `repeat( ${row}, 1fr )`; + const cx = Object(use_cx["a" /* useCx */])(); const classes = Object(external_wp_element_["useMemo"])(() => { - const alignmentProps = getAlignmentProps(alignment); - - const gridClasses = /*#__PURE__*/Object(emotion_esm["a" /* css */])({ + const alignmentProps = utils_getAlignmentProps(alignment); + const gridClasses = /*#__PURE__*/Object(emotion_react_browser_esm["a" /* css */])({ alignItems: align, display: isInline ? 'inline-grid' : 'grid', gap: `calc( ${config_values.gridBase} * ${gap} )`, @@ -36380,9 +52799,8 @@ function useGrid(props) { justifyContent: justify, verticalAlign: isInline ? 'middle' : undefined, ...alignmentProps - }, ";label:gridClasses;" + ( true ? "" : undefined)); - - return Object(emotion_esm["b" /* cx */])(gridClasses, className); + }, true ? "" : undefined, true ? "" : undefined); + return cx(gridClasses, className); }, [align, alignment, className, columnGap, gap, gridTemplateColumns, gridTemplateRows, isInline, justify, rowGap]); return { ...otherProps, className: classes @@ -36390,11 +52808,26 @@ function useGrid(props) { } // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/grid/component.js + + + /** * Internal dependencies */ + +/** + * @param {import('../ui/context').WordPressComponentProps} props + * @param {import('react').Ref} forwardedRef + */ + +function Grid(props, forwardedRef) { + const gridProps = useGrid(props); + return Object(external_wp_element_["createElement"])(view_component["a" /* default */], Object(esm_extends["a" /* default */])({}, gridProps, { + ref: forwardedRef + })); +} /** * `Grid` is a primitive layout component that can arrange content in a grid configuration. * @@ -36417,151 +52850,9 @@ function useGrid(props) { * ``` */ -const Grid = create_component_createComponent({ - as: 'div', - useHook: useGrid, - name: 'Grid' -}); -/* harmony default export */ var grid_component = (Grid); -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/modal/frame.js - - -/** - * External dependencies - */ - -/** - * WordPress dependencies - */ - - - - -/** - * Internal dependencies - */ - - - -function ModalFrameContent({ - overlayClassName, - contentLabel, - aria: { - describedby, - labelledby - }, - children, - className, - role, - style, - focusOnMount, - shouldCloseOnEsc, - onRequestClose -}) { - function handleEscapeKeyDown(event) { - if (shouldCloseOnEsc && event.keyCode === external_wp_keycodes_["ESCAPE"]) { - event.stopPropagation(); - - if (onRequestClose) { - onRequestClose(event); - } - } - } - - const focusOnMountRef = Object(external_wp_compose_["useFocusOnMount"])(focusOnMount); - const constrainedTabbingRef = Object(external_wp_compose_["useConstrainedTabbing"])(); - const focusReturnRef = Object(external_wp_compose_["useFocusReturn"])(); - return (// eslint-disable-next-line jsx-a11y/no-static-element-interactions - Object(external_wp_element_["createElement"])("div", { - className: classnames_default()('components-modal__screen-overlay', overlayClassName), - onKeyDown: handleEscapeKeyDown - }, Object(external_wp_element_["createElement"])("div", { - className: classnames_default()('components-modal__frame', className), - style: style, - ref: Object(external_wp_compose_["useMergeRefs"])([constrainedTabbingRef, focusReturnRef, focusOnMountRef]), - role: role, - "aria-label": contentLabel, - "aria-labelledby": contentLabel ? null : labelledby, - "aria-describedby": describedby, - tabIndex: "-1" - }, children)) - ); -} - -class frame_ModalFrame extends external_wp_element_["Component"] { - constructor() { - super(...arguments); - this.handleFocusOutside = this.handleFocusOutside.bind(this); - } - /** - * Callback function called when clicked outside the modal. - * - * @param {Object} event Mouse click event. - */ - - - handleFocusOutside(event) { - if (this.props.shouldCloseOnClickOutside && this.props.onRequestClose) { - this.props.onRequestClose(event); - } - } - /** - * Renders the modal frame element. - * - * @return {WPElement} The modal frame element. - */ - - - render() { - return Object(external_wp_element_["createElement"])(ModalFrameContent, this.props); - } - -} - -/* harmony default export */ var modal_frame = (with_focus_outside(frame_ModalFrame)); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/modal/header.js - - -/** - * WordPress dependencies - */ - - -/** - * Internal dependencies - */ - - - -const ModalHeader = ({ - icon, - title, - onClose, - closeLabel, - headingId, - isDismissible -}) => { - const label = closeLabel ? closeLabel : Object(external_wp_i18n_["__"])('Close dialog'); - return Object(external_wp_element_["createElement"])("div", { - className: "components-modal__header" - }, Object(external_wp_element_["createElement"])("div", { - className: "components-modal__header-heading-container" - }, icon && Object(external_wp_element_["createElement"])("span", { - className: "components-modal__icon-container", - "aria-hidden": true - }, icon), title && Object(external_wp_element_["createElement"])("h1", { - id: headingId, - className: "components-modal__header-heading" - }, title)), isDismissible && Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { - onClick: onClose, - icon: close_small["a" /* default */], - label: label - })); -}; - -/* harmony default export */ var modal_header = (ModalHeader); +const ConnectedGrid = Object(context_connect["a" /* contextConnect */])(Grid, 'Grid'); +/* harmony default export */ var grid_component = (ConnectedGrid); // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/modal/aria-helper.js /** @@ -36631,16 +52922,72 @@ function showApp() { isHidden = false; } +// EXTERNAL MODULE: ./node_modules/@emotion/react/dist/emotion-element-99289b21.browser.esm.js +var emotion_element_99289b21_browser_esm = __webpack_require__("jgtX"); + +// EXTERNAL MODULE: ./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js + 1 modules +var emotion_cache_browser_esm = __webpack_require__("+1VY"); + +// EXTERNAL MODULE: ./node_modules/uuid/dist/esm-browser/v4.js + 4 modules +var v4 = __webpack_require__("7Cbv"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/style-provider/index.js + + +/** + * External dependencies + */ + + + + +const uuidCache = new Set(); +const memoizedCreateCacheWithContainer = memize_default()(container => { + // emotion only accepts alphabetical and hyphenated keys so we just strip the numbers from the UUID. It _should_ be fine. + let key = v4["a" /* default */]().replace(/[0-9]/g, ''); + + while (uuidCache.has(key)) { + key = v4["a" /* default */]().replace(/[0-9]/g, ''); + } + + uuidCache.add(key); + return Object(emotion_cache_browser_esm["a" /* default */])({ + container, + key + }); +}); +function StyleProvider({ + children, + document +}) { + if (!document) { + return null; + } + + const cache = memoizedCreateCacheWithContainer(document.head); + return Object(external_wp_element_["createElement"])(emotion_element_99289b21_browser_esm["a" /* C */], { + value: cache + }, children); +} + // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/modal/index.js +/** + * External dependencies + */ + /** * WordPress dependencies */ + + + + /** * Internal dependencies */ @@ -36649,166 +52996,116 @@ function showApp() { // Used to count the number of open modals. -let modal_parentElement, - openModalCount = 0; +let openModalCount = 0; +function Modal({ + bodyOpenClassName = 'modal-open', + role = 'dialog', + title = null, + focusOnMount = true, + shouldCloseOnEsc = true, + shouldCloseOnClickOutside = true, + isDismissable, + // Deprecated + isDismissible = isDismissable || true, -class modal_Modal extends external_wp_element_["Component"] { - constructor(props) { - super(props); - this.prepareDOM(); - } - /** - * Appends the modal's node to the DOM, so the portal can render the - * modal in it. Also calls the openFirstModal when this is the first modal to be - * opened. - */ - - - componentDidMount() { + /* accessibility */ + aria = { + labelledby: null, + describedby: null + }, + onRequestClose, + icon, + closeButtonLabel, + children, + style, + overlayClassName, + className, + contentLabel, + onKeyDown, + isFullScreen = false +}) { + const ref = Object(external_wp_element_["useRef"])(); + const instanceId = Object(external_wp_compose_["useInstanceId"])(Modal); + const headingId = title ? `components-modal-header-${instanceId}` : aria.labelledby; + const focusOnMountRef = Object(external_wp_compose_["useFocusOnMount"])(focusOnMount); + const constrainedTabbingRef = Object(external_wp_compose_["useConstrainedTabbing"])(); + const focusReturnRef = Object(external_wp_compose_["useFocusReturn"])(); + const focusOutsideProps = Object(external_wp_compose_["__experimentalUseFocusOutside"])(onRequestClose); + Object(external_wp_element_["useEffect"])(() => { openModalCount++; if (openModalCount === 1) { - this.openFirstModal(); - } - } - /** - * Removes the modal's node from the DOM. Also calls closeLastModal when this is - * the last modal to be closed. - */ - - - componentWillUnmount() { - openModalCount--; - - if (openModalCount === 0) { - this.closeLastModal(); + hideApp(ref.current); + document.body.classList.add(bodyOpenClassName); } - this.cleanDOM(); - } - /** - * Prepares the DOM for the modals to be rendered. - * - * Every modal is mounted in a separate div appended to a parent div - * that is appended to the document body. - * - * The parent div will be created if it does not yet exist, and the - * separate div for this specific modal will be appended to that. - */ + return () => { + openModalCount--; - - prepareDOM() { - if (!modal_parentElement) { - modal_parentElement = document.createElement('div'); - document.body.appendChild(modal_parentElement); - } - - this.node = document.createElement('div'); - modal_parentElement.appendChild(this.node); - } - /** - * Removes the specific mounting point for this modal from the DOM. - */ - - - cleanDOM() { - modal_parentElement.removeChild(this.node); - } - /** - * Prepares the DOM for this modal and any additional modal to be mounted. - * - * It appends an additional div to the body for the modals to be rendered in, - * it hides any other elements from screen-readers and adds an additional class - * to the body to prevent scrolling while the modal is open. - */ - - - openFirstModal() { - hideApp(modal_parentElement); - document.body.classList.add(this.props.bodyOpenClassName); - } - /** - * Cleans up the DOM after the last modal is closed and makes the app available - * for screen-readers again. - */ - - - closeLastModal() { - document.body.classList.remove(this.props.bodyOpenClassName); - showApp(); - } - /** - * Renders the modal. - * - * @return {WPElement} The modal element. - */ - - - render() { - const { - onRequestClose, - title, - icon, - closeButtonLabel, - children, - aria, - instanceId, - isDismissible, - isDismissable, - //Deprecated - // Many of the documented props for Modal are passed straight through - // to the ModalFrame component and handled there. - ...otherProps - } = this.props; - const headingId = title ? `components-modal-header-${instanceId}` : aria.labelledby; - - if (isDismissable) { - external_wp_deprecated_default()('isDismissable prop of the Modal component', { - since: '5.4', - alternative: 'isDismissible prop (renamed) of the Modal component' - }); - } // Disable reason: this stops mouse events from triggering tooltips and - // other elements underneath the modal overlay. - - - return Object(external_wp_element_["createPortal"])(Object(external_wp_element_["createElement"])(modal_frame, Object(esm_extends["a" /* default */])({ - onRequestClose: onRequestClose, - aria: { - labelledby: headingId, - describedby: aria.describedby + if (openModalCount === 0) { + document.body.classList.remove(bodyOpenClassName); + showApp(); } - }, otherProps), Object(external_wp_element_["createElement"])("div", { - className: 'components-modal__content', - role: "document" - }, Object(external_wp_element_["createElement"])(modal_header, { - closeLabel: closeButtonLabel, - headingId: title && headingId, - icon: icon, - isDismissible: isDismissible || isDismissable, - onClose: onRequestClose, - title: title - }), children)), this.node); + }; + }, []); + + if (isDismissable) { + external_wp_deprecated_default()('isDismissable prop of the Modal component', { + since: '5.4', + alternative: 'isDismissible prop (renamed) of the Modal component' + }); } + function handleEscapeKeyDown(event) { + if (shouldCloseOnEsc && event.keyCode === external_wp_keycodes_["ESCAPE"] && !event.defaultPrevented) { + event.preventDefault(); + + if (onRequestClose) { + onRequestClose(event); + } + } + } + + return Object(external_wp_element_["createPortal"])( // eslint-disable-next-line jsx-a11y/no-static-element-interactions + Object(external_wp_element_["createElement"])("div", { + ref: ref, + className: classnames_default()('components-modal__screen-overlay', overlayClassName), + onKeyDown: handleEscapeKeyDown + }, Object(external_wp_element_["createElement"])(StyleProvider, { + document: document + }, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({ + className: classnames_default()('components-modal__frame', className, { + 'is-full-screen': isFullScreen + }), + style: style, + ref: Object(external_wp_compose_["useMergeRefs"])([constrainedTabbingRef, focusReturnRef, focusOnMountRef]), + role: role, + "aria-label": contentLabel, + "aria-labelledby": contentLabel ? null : headingId, + "aria-describedby": aria.describedby, + tabIndex: "-1" + }, shouldCloseOnClickOutside ? focusOutsideProps : {}, { + onKeyDown: onKeyDown + }), Object(external_wp_element_["createElement"])("div", { + className: 'components-modal__content', + role: "document" + }, Object(external_wp_element_["createElement"])("div", { + className: "components-modal__header" + }, Object(external_wp_element_["createElement"])("div", { + className: "components-modal__header-heading-container" + }, icon && Object(external_wp_element_["createElement"])("span", { + className: "components-modal__icon-container", + "aria-hidden": true + }, icon), title && Object(external_wp_element_["createElement"])("h1", { + id: headingId, + className: "components-modal__header-heading" + }, title)), isDismissible && Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { + onClick: onRequestClose, + icon: close_small["a" /* default */], + label: closeButtonLabel || Object(external_wp_i18n_["__"])('Close dialog') + })), children)))), document.body); } -modal_Modal.defaultProps = { - bodyOpenClassName: 'modal-open', - role: 'dialog', - title: null, - focusOnMount: true, - shouldCloseOnEsc: true, - shouldCloseOnClickOutside: true, - isDismissible: true, - - /* accessibility */ - aria: { - labelledby: null, - describedby: null - } -}; -/* harmony default export */ var modal = (Object(external_wp_compose_["withInstanceId"])(modal_Modal)); - // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/guide/icons.js @@ -36921,6 +53218,7 @@ function FinishButton(props) { + /** * Internal dependencies */ @@ -36929,7 +53227,6 @@ function FinishButton(props) { - function Guide({ children, className, @@ -36973,17 +53270,18 @@ function Guide({ return null; } - return Object(external_wp_element_["createElement"])(modal, { + return Object(external_wp_element_["createElement"])(Modal, { className: classnames_default()('components-guide', className), contentLabel: contentLabel, - onRequestClose: onFinish - }, Object(external_wp_element_["createElement"])(keyboard_shortcuts, { - key: currentPage, - shortcuts: { - left: goBack, - right: goForward + onRequestClose: onFinish, + onKeyDown: event => { + if (event.keyCode === external_wp_keycodes_["LEFT"]) { + goBack(); + } else if (event.keyCode === external_wp_keycodes_["RIGHT"]) { + goForward(); + } } - }), Object(external_wp_element_["createElement"])("div", { + }, Object(external_wp_element_["createElement"])("div", { className: "components-guide__container" }, Object(external_wp_element_["createElement"])("div", { className: "components-guide__page" @@ -37026,311 +53324,10 @@ function GuidePage(props) { return Object(external_wp_element_["createElement"])("div", props); } -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/heading/hook.js -/** - * Internal dependencies - */ - // eslint-disable-next-line no-duplicate-imports - - - - -function useHeading(props) { - const { - as: asProp, - level = 2, - ...otherProps - } = Object(use_context_system["a" /* useContextSystem */])(props, 'Heading'); - const as = asProp || `h${level}`; - const a11yProps = {}; - - if (typeof as === 'string' && as[0] !== 'h') { - // if not a semantic `h` element, add a11y props: - a11yProps.role = 'heading'; - a11yProps['aria-level'] = level; - } - - const textProps = useText({ - color: COLORS.darkGray.heading, - size: getHeadingFontSize(level), - isBlock: true, - weight: config_values.fontWeightHeading, - ...otherProps - }); - return { ...textProps, - ...a11yProps, - as - }; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/heading/component.js -/** - * Internal dependencies - */ - - -/** - * `Heading` renders headings and titles using the library's typography system. - * - * @example - * ```jsx - * import { Heading } from `@wordpress/components/ui` - * - * function Example() { - * return Code is Poetry; - * } - * ``` - */ - -const Heading = create_component_createComponent({ - as: 'h1', - useHook: useHeading, - name: 'Heading' -}); -/* harmony default export */ var heading_component = (Heading); - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/h-stack/utils.js -/** - * External dependencies - */ - -/** @type {import('./types').Alignments} */ - -const h_stack_utils_ALIGNMENTS = { - bottom: { - align: 'flex-end', - justify: 'center' - }, - bottomLeft: { - align: 'flex-start', - justify: 'flex-end' - }, - bottomRight: { - align: 'flex-end', - justify: 'flex-end' - }, - center: { - align: 'center', - justify: 'center' - }, - edge: { - align: 'center', - justify: 'space-between' - }, - left: { - align: 'center', - justify: 'flex-start' - }, - right: { - align: 'center', - justify: 'flex-end' - }, - stretch: { - align: 'stretch' - }, - top: { - align: 'flex-start', - justify: 'center' - }, - topLeft: { - align: 'flex-start', - justify: 'flex-start' - }, - topRight: { - align: 'flex-start', - justify: 'flex-end' - } -}; -/** @type {import('./types').Alignments} */ - -const V_ALIGNMENTS = { - bottom: { - justify: 'flex-end', - align: 'center' - }, - bottomLeft: { - justify: 'flex-start', - align: 'flex-end' - }, - bottomRight: { - justify: 'flex-end', - align: 'flex-end' - }, - center: { - justify: 'center', - align: 'center' - }, - edge: { - justify: 'space-between', - align: 'center' - }, - left: { - justify: 'center', - align: 'flex-start' - }, - right: { - justify: 'center', - align: 'flex-end' - }, - stretch: { - justify: 'stretch' - }, - top: { - justify: 'flex-start', - align: 'center' - }, - topLeft: { - justify: 'flex-start', - align: 'flex-start' - }, - topRight: { - justify: 'flex-start', - align: 'flex-end' - } -}; -/* eslint-disable jsdoc/valid-types */ - -/** - * @param {import('./types').HStackAlignment | import('react').CSSProperties[ 'alignItems' ]} alignment Where to align. - * @param {import('../flex/types').FlexDirection} [direction='row'] Direction to align. - * @return {import('./types').AlignmentProps} Alignment props. - */ - -/* eslint-enable jsdoc/valid-types */ - -function utils_getAlignmentProps(alignment, direction = 'row') { - if (Object(external_lodash_["isNil"])(alignment)) { - return {}; - } - - const isVertical = direction === 'column'; - const props = isVertical ? V_ALIGNMENTS : h_stack_utils_ALIGNMENTS; - const alignmentProps = alignment in props ? props[ - /** @type {keyof typeof ALIGNMENTS} */ - alignment] : { - align: alignment - }; - return alignmentProps; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/ui/utils/get-valid-children.js -/** - * External dependencies - */ -// eslint-disable-next-line no-restricted-imports - -/** - * WordPress dependencies - */ - -/** - * Gets a collection of available children elements from a React component's children prop. - * - * @param {import('react').ReactNode} children - * - * @return {import('react').ReactNodeArray} An array of available children. - */ - -function getValidChildren(children) { - if (typeof children === 'string') return [children]; - return external_wp_element_["Children"].toArray(children).filter(child => Object(external_wp_element_["isValidElement"])(child)); -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/h-stack/hook.js - - - -/** - * Internal dependencies - */ - - - - -/** - * - * @param {import('../ui/context').ViewOwnProps} props - */ - -function useHStack(props) { - const { - alignment = 'edge', - children, - direction, - spacing = 2, - ...otherProps - } = Object(use_context_system["a" /* useContextSystem */])(props, 'HStack'); - const align = utils_getAlignmentProps(alignment, direction); - const validChildren = getValidChildren(children); - const clonedChildren = validChildren.map( // @ts-ignore - ( - /** @type {import('react').ReactElement} */ - child, index) => { - const _key = child.key || `hstack-${index}`; - - const _isSpacer = Object(context_connect["b" /* hasConnectNamespace */])(child, ['Spacer']); - - if (_isSpacer) { - return Object(external_wp_element_["createElement"])(flex_item_component, Object(esm_extends["a" /* default */])({ - isBlock: true, - key: _key - }, child.props)); - } - - return child; - }); - const propsForFlex = { - children: clonedChildren, - direction, - justify: 'center', - ...align, - ...otherProps, - gap: spacing - }; - const flexProps = useFlex(propsForFlex); - return flexProps; -} - -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/h-stack/component.js -/** - * Internal dependencies - */ - - -/** - * `HStack` (Horizontal Stack) arranges child elements in a horizontal line. - * - * `HStack` can render anything inside. - * - * @example - * ```jsx - * import { - * __experimentalHStack as HStack, - * __experimentalText as Text, - * } from `@wordpress/components`; - * - * function Example() { - * return ( - * - * Code - * is - * Poetry - * - * ); - * } - * ``` - */ - -const HStack = create_component_createComponent({ - as: 'div', - useHook: useHStack, - name: 'HStack' -}); -/* harmony default export */ var h_stack_component = (HStack); - // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/button/deprecated.js +// @ts-nocheck /** * WordPress dependencies @@ -37365,7 +53362,7 @@ function IconButton({ /* harmony default export */ var deprecated = (Object(external_wp_element_["forwardRef"])(IconButton)); -// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/menu-group/index.js +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/keyboard-shortcuts/index.js /** @@ -37378,12 +53375,71 @@ function IconButton({ -function MenuGroup({ - children, - className = '', - label, - hideSeparator + +function KeyboardShortcut({ + target, + callback, + shortcut, + bindGlobal, + eventName }) { + Object(external_wp_compose_["useKeyboardShortcut"])(shortcut, callback, { + bindGlobal, + target, + eventName + }); + return null; +} + +function KeyboardShortcuts({ + children, + shortcuts, + bindGlobal, + eventName +}) { + const target = Object(external_wp_element_["useRef"])(); + const element = Object(external_lodash_["map"])(shortcuts, (callback, shortcut) => Object(external_wp_element_["createElement"])(KeyboardShortcut, { + key: shortcut, + shortcut: shortcut, + callback: callback, + bindGlobal: bindGlobal, + eventName: eventName, + target: target + })); // Render as non-visual if there are no children pressed. Keyboard + // events will be bound to the document instead. + + if (!external_wp_element_["Children"].count(children)) { + return element; + } + + return Object(external_wp_element_["createElement"])("div", { + ref: target + }, element, children); +} + +/* harmony default export */ var keyboard_shortcuts = (KeyboardShortcuts); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/menu-group/index.js + +// @ts-nocheck + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + +function MenuGroup(props) { + const { + children, + className = '', + label, + hideSeparator + } = props; const instanceId = Object(external_wp_compose_["useInstanceId"])(MenuGroup); if (!external_wp_element_["Children"].count(children)) { @@ -37413,6 +53469,7 @@ var build_module_shortcut = __webpack_require__("Cw+6"); // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/menu-item/index.js +// @ts-nocheck /** * External dependencies @@ -37431,32 +53488,18 @@ var build_module_shortcut = __webpack_require__("Cw+6"); -/** - * Renders a generic menu item for use inside the more menu. - * - * @param {Object} props Component props. - * @param {WPElement} props.children Element to render as child of button. - * @param {string} props.info Text to use as description for button text. - * @param {string} props.className Class to set on the container. - * @param {WPIcon} props.icon Button's `icon` prop. - * @param {string|Object} props.shortcut Shortcut's `shortcut` prop. - * @param {boolean} props.isSelected Whether or not the menu item is currently selected. - * @param {string} [props.role="menuitem"] ARIA role of the menu item. - * @param {Object} ref React Element ref. - * - * @return {WPComponent} The component to be rendered. - */ - -function MenuItem({ - children, - info, - className, - icon, - shortcut, - isSelected, - role = 'menuitem', - ...props -}, ref) { +function MenuItem(props, ref) { + let { + children, + info, + className, + icon, + iconPosition = 'right', + shortcut, + isSelected, + role = 'menuitem', + ...buttonProps + } = props; className = classnames_default()('components-menu-item__button', className); if (info) { @@ -37471,7 +53514,9 @@ function MenuItem({ if (icon && !Object(external_lodash_["isString"])(icon)) { icon = Object(external_wp_element_["cloneElement"])(icon, { - className: 'components-menu-items__item-icon' + className: classnames_default()('components-menu-items__item-icon', { + 'has-icon-right': iconPosition === 'right' + }) }); } @@ -37480,13 +53525,14 @@ function MenuItem({ , "aria-checked": role === 'menuitemcheckbox' || role === 'menuitemradio' ? isSelected : undefined, role: role, + icon: iconPosition === 'left' ? icon : undefined, className: className - }, props), Object(external_wp_element_["createElement"])("span", { + }, buttonProps), Object(external_wp_element_["createElement"])("span", { className: "components-menu-item__item" }, children), Object(external_wp_element_["createElement"])(build_module_shortcut["a" /* default */], { className: "components-menu-item__shortcut", shortcut: shortcut - }), icon && Object(external_wp_element_["createElement"])(components_build_module_icon["a" /* default */], { + }), icon && iconPosition === 'right' && Object(external_wp_element_["createElement"])(components_build_module_icon["a" /* default */], { icon: icon })); } @@ -37543,6 +53589,7 @@ var scroll_lock = __webpack_require__("k8OV"); // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/navigable-container/tabbable.js +// @ts-nocheck /** * WordPress dependencies @@ -37591,7 +53638,7 @@ function TabbableContainer({ eventToOffset: innerEventToOffset }, props)); } -/* harmony default export */ var tabbable = (Object(external_wp_element_["forwardRef"])(TabbableContainer)); +/* harmony default export */ var navigable_container_tabbable = (Object(external_wp_element_["forwardRef"])(TabbableContainer)); // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/navigation/constants.js const ROOT_MENU = 'root'; @@ -37633,11 +53680,132 @@ const NavigationContext = Object(external_wp_element_["createContext"])({ }); const useNavigationContext = () => Object(external_wp_element_["useContext"])(NavigationContext); +// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/search.js +var library_search = __webpack_require__("cGtP"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/utils/hooks/use-combined-ref.js +/** + * WordPress dependencies + */ + +/** + * External dependencies + */ +// eslint-disable-next-line no-restricted-imports + +function useCombinedRef(...refs) { + const targetRef = Object(external_wp_element_["useRef"])(null); + Object(external_wp_element_["useEffect"])(() => { + refs.forEach(ref => { + if (!ref) return; + + if (typeof ref === 'function') { + ref(targetRef.current); + } else { + ref.current = targetRef.current; + } + }); + }, [refs]); + return targetRef; +} + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/search-control/index.js + + +/** + * External dependencies + */ + +/** + * WordPress dependencies + */ + + + + + +/** + * Internal dependencies + */ + + + + + +function SearchControl({ + className, + onChange, + onKeyDown, + value, + label, + placeholder = Object(external_wp_i18n_["__"])('Search'), + hideLabelFromVision = true, + help, + onClose +}, ref) { + const instanceId = Object(external_wp_compose_["useInstanceId"])(SearchControl); + const searchInput = useCombinedRef(ref); + const id = `components-search-control-${instanceId}`; + + const renderRightButton = () => { + if (onClose) { + return Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { + icon: close_small["a" /* default */], + label: Object(external_wp_i18n_["__"])('Close search'), + onClick: onClose + }); + } + + if (!!value) { + return Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { + icon: close_small["a" /* default */], + label: Object(external_wp_i18n_["__"])('Reset search'), + onClick: () => { + onChange(''); + searchInput.current.focus(); + } + }); + } + + return Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { + icon: library_search["a" /* default */] + }); + }; + + return Object(external_wp_element_["createElement"])(base_control, { + label: label, + id: id, + hideLabelFromVision: hideLabelFromVision, + help: help, + className: classnames_default()(className, 'components-search-control') + }, Object(external_wp_element_["createElement"])("div", { + className: "components-search-control__input-wrapper" + }, Object(external_wp_element_["createElement"])("input", { + ref: searchInput, + className: "components-search-control__input", + id: id, + type: "search", + placeholder: placeholder, + onChange: event => onChange(event.target.value), + onKeyDown: onKeyDown, + autoComplete: "off", + value: value || '' + }), Object(external_wp_element_["createElement"])("div", { + className: "components-search-control__icon" + }, renderRightButton()))); +} + +/* harmony default export */ var search_control = (Object(external_wp_element_["forwardRef"])(SearchControl)); + // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/navigation/styles/navigation-styles.js function navigation_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } +/** + * External dependencies + */ + /** * WordPress dependencies */ @@ -37650,61 +53818,55 @@ function navigation_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have t -const NavigationUI = styled_base_browser_esm("div", { - target: "ejwewyf0", - label: "NavigationUI" -})("width:100%;background-color:", G2.darkGray.primary, ";box-sizing:border-box;color:#f0f0f0;padding:0 ", space(2), ";overflow:hidden;" + ( true ? "" : undefined)); -const MenuUI = styled_base_browser_esm("div", { - target: "ejwewyf1", - label: "MenuUI" -})("margin-top:", space(3), ";margin-bottom:", space(3), ";display:flex;flex-direction:column;ul{padding:0;margin:0;list-style:none;}.components-navigation__back-button{margin-bottom:", space(3), ";}.components-navigation__group + .components-navigation__group{margin-top:", space(3), ";}" + ( true ? "" : undefined)); -const MenuBackButtonUI = /*#__PURE__*/styled_base_browser_esm(build_module_button["a" /* default */], { - target: "ejwewyf2", - label: "MenuBackButtonUI" -})("&.is-tertiary{color:", G2.lightGray.ui, ";&:hover:not(:disabled ){color:#ddd;box-shadow:none;}&:active:not(:disabled ){background:transparent;color:#ddd;}}" + ( true ? "" : undefined)); -const MenuTitleUI = styled_base_browser_esm("div", { - target: "ejwewyf3", - label: "MenuTitleUI" -})( true ? { - name: "16agjqd", - styles: "overflow:hidden;width:100%;" + + + +const NavigationUI = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "ejwewyf10" +} : undefined)("width:100%;box-sizing:border-box;padding:0 ", space(4), ";overflow:hidden;" + ( true ? "" : undefined)); +const MenuUI = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "ejwewyf9" +} : undefined)("margin-top:", space(6), ";margin-bottom:", space(6), ";display:flex;flex-direction:column;ul{padding:0;margin:0;list-style:none;}.components-navigation__back-button{margin-bottom:", space(6), ";}.components-navigation__group+.components-navigation__group{margin-top:", space(6), ";}" + ( true ? "" : undefined)); +const MenuBackButtonUI = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(build_module_button["a" /* default */], true ? { + target: "ejwewyf8" +} : undefined)( true ? { + name: "26l0q2", + styles: "&.is-tertiary{color:inherit;opacity:0.7;&:hover:not( :disabled ){opacity:1;box-shadow:none;color:inherit;}&:active:not( :disabled ){background:transparent;opacity:1;color:inherit;}}" } : undefined); -const MenuTitleHeadingUI = /*#__PURE__*/styled_base_browser_esm(text_component, { - target: "ejwewyf4", - label: "MenuTitleHeadingUI" -})("align-items:center;color:", G2.gray[100], ";display:flex;justify-content:space-between;margin-bottom:", space(1), ";padding:", () => Object(external_wp_i18n_["isRTL"])() ? `${space(0.5)} ${space(2)} ${space(0.5)} ${space(1.5)}` : `${space(0.5)} ${space(1.5)} ${space(0.5)} ${space(2)}`, ";" + ( true ? "" : undefined)); -const MenuTitleActionsUI = styled_base_browser_esm("span", { - target: "ejwewyf5", - label: "MenuTitleActionsUI" -})("height:", space(3), ";.components-button.is-small{color:", G2.lightGray.ui, ";margin-right:", space(0.5), ";padding:0;&:active:not(:disabled ){background:none;color:", G2.gray[200], ";}&:hover:not(:disabled ){box-shadow:none;color:", G2.gray[200], ";}}" + ( true ? "" : undefined)); -const MenuTitleSearchUI = styled_base_browser_esm("div", { - target: "ejwewyf6", - label: "MenuTitleSearchUI" -})("padding:0;position:relative;input{height:", space(4.5), ";margin-bottom:", space(1), ";padding-left:", space(4), ";padding-right:", space(4), ";&::-webkit-search-decoration,&::-webkit-search-cancel-button,&::-webkit-search-results-button,&::-webkit-search-results-decoration{-webkit-appearance:none;}}> svg{left:", space(0.5), ";position:absolute;top:6px;}.components-button.is-small{height:30px;padding:0;position:absolute;right:", space(1), ";top:3px;&:active:not(:disabled ){background:none;}&:hover:not(:disabled ){box-shadow:none;}}" + ( true ? "" : undefined)); -const GroupTitleUI = /*#__PURE__*/styled_base_browser_esm(text_component, { - target: "ejwewyf7", - label: "GroupTitleUI" -})("margin-top:", space(1), ";padding:", () => Object(external_wp_i18n_["isRTL"])() ? `${space(0.5)} ${space(2)} ${space(0.5)} 0` : `${space(0.5)} 0 ${space(0.5)} ${space(2)}`, ";text-transform:uppercase;color:", G2.gray[100], ";" + ( true ? "" : undefined)); -const ItemBaseUI = styled_base_browser_esm("li", { - target: "ejwewyf8", - label: "ItemBaseUI" -})("border-radius:2px;color:", G2.lightGray.ui, ";margin-bottom:0;button,a.components-button,a{width:100%;color:", G2.lightGray.ui, ";padding:", space(1), " ", space(2), ";", rtl_rtl({ +const MenuTitleUI = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "ejwewyf7" +} : undefined)( true ? { + name: "1aubja5", + styles: "overflow:hidden;width:100%" +} : undefined); +const MenuTitleActionsUI = Object(emotion_styled_base_browser_esm["a" /* default */])("span", true ? { + target: "ejwewyf6" +} : undefined)("height:", space(6), ";.components-button.is-small{color:inherit;opacity:0.7;margin-right:", space(1), ";padding:0;&:active:not( :disabled ){background:none;opacity:1;color:inherit;}&:hover:not( :disabled ){box-shadow:none;opacity:1;color:inherit;}}" + ( true ? "" : undefined)); +const MenuTitleSearchUI = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(search_control, true ? { + target: "ejwewyf5" +} : undefined)( true ? { + name: "za3n3e", + styles: "input[type='search'].components-search-control__input{margin:0;background:#303030;color:#fff;&:focus{background:#434343;color:#fff;}&::placeholder{color:rgba( 255, 255, 255, 0.6 );}}svg{fill:white;}.components-button.has-icon{padding:0;min-width:auto;}" +} : undefined); +const GroupTitleUI = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(heading_component, true ? { + target: "ejwewyf4" +} : undefined)("min-height:", space(12), ";align-items:center;color:inherit;display:flex;justify-content:space-between;margin-bottom:", space(2), ";padding:", () => Object(external_wp_i18n_["isRTL"])() ? `${space(1)} ${space(4)} ${space(1)} ${space(2)}` : `${space(1)} ${space(2)} ${space(1)} ${space(4)}`, ";" + ( true ? "" : undefined)); +const ItemBaseUI = Object(emotion_styled_base_browser_esm["a" /* default */])("li", true ? { + target: "ejwewyf3" +} : undefined)("border-radius:2px;color:inherit;margin-bottom:0;>button,>a.components-button,>a{width:100%;color:inherit;opacity:0.7;padding:", space(2), " ", space(4), ";", rtl_rtl({ textAlign: 'left' }, { textAlign: 'right' -}), " &:hover,&:focus:not( [aria-disabled='true'] ):active,&:active:not( [aria-disabled='true'] ):active{color:#ddd;}}&.is-active{background-color:", UI.theme, ";color:", UI.textDark, ";button,a{color:", UI.textDark, ";}}svg path{color:", G2.lightGray.ui, ";}" + ( true ? "" : undefined)); -const ItemUI = styled_base_browser_esm("div", { - target: "ejwewyf9", - label: "ItemUI" -})("display:flex;align-items:center;height:auto;min-height:40px;margin:0;padding:", space(0.75), " ", space(2), ";font-weight:400;line-height:20px;width:100%;color:", G2.lightGray.ui, ";" + ( true ? "" : undefined)); -const ItemBadgeUI = styled_base_browser_esm("span", { - target: "ejwewyf10", - label: "ItemBadgeUI" -})("margin-left:", () => Object(external_wp_i18n_["isRTL"])() ? '0' : space(1), ";margin-right:", () => Object(external_wp_i18n_["isRTL"])() ? space(1) : '0', ";display:inline-flex;padding:", space(0.5), " ", space(1.5), ";border-radius:2px;animation:fade-in 250ms ease-out;@keyframes fade-in{from{opacity:0;}to{opacity:1;}}", reduceMotion('animation'), ";" + ( true ? "" : undefined)); -const ItemTitleUI = /*#__PURE__*/styled_base_browser_esm(text_component, { - target: "ejwewyf11", - label: "ItemTitleUI" -})(() => Object(external_wp_i18n_["isRTL"])() ? 'margin-left: auto;' : 'margin-right: auto;', " font-size:14px;line-height:20px;color:inherit;" + ( true ? "" : undefined)); +}), " &:hover,&:focus:not( [aria-disabled='true'] ):active,&:active:not( [aria-disabled='true'] ):active{color:inherit;opacity:1;}}&.is-active{background-color:", UI.theme, ";color:", BASE.white, ";>button,>a{color:", BASE.white, ";opacity:1;}}>svg path{color:", G2.lightGray.ui, ";}" + ( true ? "" : undefined)); +const ItemUI = Object(emotion_styled_base_browser_esm["a" /* default */])("div", true ? { + target: "ejwewyf2" +} : undefined)("display:flex;align-items:center;height:auto;min-height:40px;margin:0;padding:", space(1.5), " ", space(4), ";font-weight:400;line-height:20px;width:100%;color:inherit;opacity:0.7;" + ( true ? "" : undefined)); +const ItemBadgeUI = Object(emotion_styled_base_browser_esm["a" /* default */])("span", true ? { + target: "ejwewyf1" +} : undefined)("margin-left:", () => Object(external_wp_i18n_["isRTL"])() ? '0' : space(2), ";margin-right:", () => Object(external_wp_i18n_["isRTL"])() ? space(2) : '0', ";display:inline-flex;padding:", space(1), " ", space(3), ";border-radius:2px;animation:fade-in 250ms ease-out;@keyframes fade-in{from{opacity:0;}to{opacity:1;}}", reduceMotion('animation'), ";" + ( true ? "" : undefined)); +const ItemTitleUI = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(text_component, true ? { + target: "ejwewyf0" +} : undefined)(() => Object(external_wp_i18n_["isRTL"])() ? 'margin-left: auto;' : 'margin-right: auto;', " font-size:14px;line-height:20px;color:inherit;" + ( true ? "" : undefined)); // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/navigation/use-navigation-tree-nodes.js /** @@ -37894,7 +54056,7 @@ function Navigation({ navigationTree }; const classes = classnames_default()('components-navigation', className); - const animateClassName = Object(animate["b" /* getAnimateClassName */])({ + const animateClassName = Object(build_module_animate["b" /* getAnimateClassName */])({ type: 'slide-in', origin: slideOrigin }); @@ -37969,7 +54131,7 @@ function NavigationBackButton({ return Object(external_wp_element_["createElement"])(MenuBackButtonUI, { className: classes, href: href, - isTertiary: true, + variant: "tertiary", ref: ref, onClick: handleOnClick }, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { @@ -38040,10 +54202,9 @@ function NavigationGroup({ }, Object(external_wp_element_["createElement"])("li", { className: classes }, title && Object(external_wp_element_["createElement"])(GroupTitleUI, { - as: "h3", className: "components-navigation__group-title", id: groupTitleId, - variant: "caption" + level: 3 }, title), Object(external_wp_element_["createElement"])("ul", { "aria-labelledby": groupTitleId, role: "group" @@ -38243,15 +54404,18 @@ function NavigationItem(props) { }; const icon = Object(external_wp_i18n_["isRTL"])() ? chevron_left["a" /* default */] : chevron_right["a" /* default */]; - const baseProps = isText ? restProps : { + const baseProps = children ? props : { ...props, + onClick: undefined + }; + const itemProps = isText ? restProps : { as: build_module_button["a" /* default */], href, onClick: onItemClick, ...restProps }; - return Object(external_wp_element_["createElement"])(NavigationItemBase, Object(esm_extends["a" /* default */])({}, props, { + return Object(external_wp_element_["createElement"])(NavigationItemBase, Object(esm_extends["a" /* default */])({}, baseProps, { className: classes - }), children || Object(external_wp_element_["createElement"])(ItemUI, baseProps, Object(external_wp_element_["createElement"])(NavigationItemBaseContent, { + }), children || Object(external_wp_element_["createElement"])(ItemUI, itemProps, Object(external_wp_element_["createElement"])(NavigationItemBaseContent, { title: title, badge: badge }), navigateToMenu && Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { @@ -38288,9 +54452,6 @@ const useNavigationTreeMenu = props => { }, []); }; -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/search.js -var library_search = __webpack_require__("cGtP"); - // CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/navigation/menu/menu-title-search.js @@ -38305,7 +54466,6 @@ var library_search = __webpack_require__("cGtP"); - /** * Internal dependencies */ @@ -38316,8 +54476,6 @@ var library_search = __webpack_require__("cGtP"); - - function MenuTitleSearch({ debouncedSpeak, onCloseSearch, @@ -38362,43 +54520,30 @@ function MenuTitleSearch({ }; function onKeyDown(event) { - if (event.keyCode === external_wp_keycodes_["ESCAPE"]) { - event.stopPropagation(); + if (event.keyCode === external_wp_keycodes_["ESCAPE"] && !event.defaultPrevented) { + event.preventDefault(); onClose(); } } - const menuTitleId = `components-navigation__menu-title-${menu}`; const inputId = `components-navigation__menu-title-search-${menu}`; + const placeholder = Object(external_wp_i18n_["sprintf"])( /* translators: placeholder for menu search box. %s: menu title */ - - const placeholder = Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Search in %s'), title); - return Object(external_wp_element_["createElement"])(MenuTitleSearchUI, { + Object(external_wp_i18n_["__"])('Search %s'), title === null || title === void 0 ? void 0 : title.toLowerCase()).trim(); + return Object(external_wp_element_["createElement"])("div", { className: "components-navigation__menu-title-search" - }, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { - icon: library_search["a" /* default */] - }), Object(external_wp_element_["createElement"])(visually_hidden["a" /* default */], { - as: "label", - htmlFor: inputId, - id: menuTitleId - }, placeholder), Object(external_wp_element_["createElement"])("input", { + }, Object(external_wp_element_["createElement"])(MenuTitleSearchUI, { autoComplete: "off", - className: "components-text-control__input", + className: "components-navigation__menu-search-input", id: inputId, - onChange: event => onSearch(event.target.value), + onChange: value => onSearch(value), onKeyDown: onKeyDown, placeholder: placeholder, + onClose: onClose, ref: inputRef, type: "search", value: search - }), Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { - isSmall: true, - isTertiary: true, - label: Object(external_wp_i18n_["__"])('Close search'), - onClick: onClose - }, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { - icon: close_small["a" /* default */] - }))); + })); } /* harmony default export */ var menu_title_search = (with_spoken_messages(MenuTitleSearch)); @@ -38454,22 +54599,22 @@ function NavigationMenuTitle({ const searchButtonLabel = Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Search in %s'), title); return Object(external_wp_element_["createElement"])(MenuTitleUI, { className: "components-navigation__menu-title" - }, !isSearching && Object(external_wp_element_["createElement"])(MenuTitleHeadingUI, { + }, !isSearching && Object(external_wp_element_["createElement"])(GroupTitleUI, { as: "h2", className: "components-navigation__menu-title-heading", - variant: "title.small" + level: 3 }, Object(external_wp_element_["createElement"])("span", { id: menuTitleId }, title), (hasSearch || titleAction) && Object(external_wp_element_["createElement"])(MenuTitleActionsUI, null, titleAction, hasSearch && Object(external_wp_element_["createElement"])(build_module_button["a" /* default */], { isSmall: true, - isTertiary: true, + variant: "tertiary", label: searchButtonLabel, onClick: () => setIsSearching(true), ref: searchButtonRef }, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { icon: library_search["a" /* default */] })))), isSearching && Object(external_wp_element_["createElement"])("div", { - className: Object(animate["b" /* getAnimateClassName */])({ + className: Object(build_module_animate["b" /* getAnimateClassName */])({ type: 'slide-in', origin: 'left' }) @@ -38585,7 +54730,7 @@ function NavigationMenu(props) { backButtonLabel: backButtonLabel, parentMenu: parentMenu, onClick: onBackButtonClick - }), Object(external_wp_element_["createElement"])(NavigationMenuTitle, { + }), title && Object(external_wp_element_["createElement"])(NavigationMenuTitle, { hasSearch: hasSearch, onSearch: onSearch, search: search, @@ -38598,6 +54743,301 @@ function NavigationMenu(props) { }))))); } +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/navigator/context.js +/** + * WordPress dependencies + */ + +/** + * Internal dependencies + */ + +const initialContextValue = [{}, () => {}]; +const NavigatorContext = Object(external_wp_element_["createContext"])(initialContextValue); + +// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/navigator/navigator-provider/component.js + + + +function component_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } + +/** + * External dependencies + */ +// eslint-disable-next-line no-restricted-imports + +/** + * WordPress dependencies + */ + + +/** + * Internal dependencies + */ + + + + + + +var component_ref = true ? { + name: "15bx5k", + styles: "overflow-x:hidden" +} : undefined; + +function NavigatorProvider(props, forwardedRef) { + const { + initialPath, + children, + className, + ...otherProps + } = Object(use_context_system["a" /* useContextSystem */])(props, 'NavigatorProvider'); + const [path, setPath] = Object(external_wp_element_["useState"])({ + path: initialPath + }); + const cx = Object(use_cx["a" /* useCx */])(); + const classes = Object(external_wp_element_["useMemo"])( // Prevents horizontal overflow while animating screen transitions + () => cx(component_ref, className), [className]); + return Object(external_wp_element_["createElement"])(view_component["a" /* default */], Object(esm_extends["a" /* default */])({ + ref: forwardedRef, + className: classes + }, otherProps), Object(external_wp_element_["createElement"])(NavigatorContext.Provider, { + value: [path, setPath] + }, children)); +} +/** + * The `NavigatorProvider` component allows rendering nested panels or menus (via the `NavigatorScreen` component) and navigate between these different states (via the `useNavigator` hook). + * The Global Styles sidebar is an example of this. The `Navigator*` family of components is _not_ opinionated in terms of UI, and can be composed with any UI components to navigate between the nested screens. + * + * @example + * ```jsx + * import { + * __experimentalNavigatorProvider as NavigatorProvider, + * __experimentalNavigatorScreen as NavigatorScreen, + * __experimentalUseNavigator as useNavigator, + * } from '@wordpress/components'; + * + * function NavigatorButton( { + * path, + * isBack = false, + * ...props + * } ) { + * const navigator = useNavigator(); + * return ( + *