diff --git a/package-lock.json b/package-lock.json
index ea29fafb92e230..f78a8f5c48ebd4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -53456,7 +53456,6 @@
"@wordpress/autop": "file:../autop",
"@wordpress/blob": "file:../blob",
"@wordpress/block-serialization-default-parser": "file:../block-serialization-default-parser",
- "@wordpress/compose": "file:../compose",
"@wordpress/data": "file:../data",
"@wordpress/deprecated": "file:../deprecated",
"@wordpress/dom": "file:../dom",
@@ -68824,7 +68823,6 @@
"@wordpress/autop": "file:../autop",
"@wordpress/blob": "file:../blob",
"@wordpress/block-serialization-default-parser": "file:../block-serialization-default-parser",
- "@wordpress/compose": "file:../compose",
"@wordpress/data": "file:../data",
"@wordpress/deprecated": "file:../deprecated",
"@wordpress/dom": "file:../dom",
diff --git a/packages/block-editor/src/components/inserter/library.js b/packages/block-editor/src/components/inserter/library.js
index 6be31f49b5fbe1..4e10a051996a9f 100644
--- a/packages/block-editor/src/components/inserter/library.js
+++ b/packages/block-editor/src/components/inserter/library.js
@@ -7,7 +7,7 @@ import { forwardRef } from '@wordpress/element';
/**
* Internal dependencies
*/
-import InserterMenu from './menu';
+import { PrivateInserterMenu } from './menu';
import { store as blockEditorStore } from '../../store';
const noop = () => {};
@@ -23,7 +23,7 @@ function InserterLibrary(
__experimentalInitialTab,
__experimentalInitialCategory,
__experimentalFilterValue,
- __experimentalOnPatternCategorySelection,
+ onPatternCategorySelection,
onSelect = noop,
shouldFocusBlock = false,
onClose,
@@ -43,7 +43,7 @@ function InserterLibrary(
);
return (
-
+ );
+}
+
+export default forwardRef( PublicInserterLibrary );
diff --git a/packages/block-editor/src/components/inserter/menu.js b/packages/block-editor/src/components/inserter/menu.js
index bda1584c22149f..3abaee330ed22b 100644
--- a/packages/block-editor/src/components/inserter/menu.js
+++ b/packages/block-editor/src/components/inserter/menu.js
@@ -45,7 +45,7 @@ function InserterMenu(
showMostUsedBlocks,
__experimentalFilterValue = '',
shouldFocusBlock = true,
- __experimentalOnPatternCategorySelection = NOOP,
+ onPatternCategorySelection,
onClose,
__experimentalInitialTab,
__experimentalInitialCategory,
@@ -128,9 +128,9 @@ function InserterMenu(
( patternCategory, filter ) => {
setSelectedPatternCategory( patternCategory );
setPatternFilter( filter );
- __experimentalOnPatternCategorySelection();
+ onPatternCategorySelection?.();
},
- [ setSelectedPatternCategory, __experimentalOnPatternCategorySelection ]
+ [ setSelectedPatternCategory, onPatternCategorySelection ]
);
const showPatternPanel =
@@ -341,4 +341,16 @@ function InserterMenu(
);
}
-export default forwardRef( InserterMenu );
+export const PrivateInserterMenu = forwardRef( InserterMenu );
+
+function PublicInserterMenu( props, ref ) {
+ return (
+
+ );
+}
+
+export default forwardRef( PublicInserterMenu );
diff --git a/packages/block-editor/src/private-apis.js b/packages/block-editor/src/private-apis.js
index a064d7a389ecf8..d55139c8bcdc54 100644
--- a/packages/block-editor/src/private-apis.js
+++ b/packages/block-editor/src/private-apis.js
@@ -40,6 +40,7 @@ import {
import { requiresWrapperOnCopy } from './components/writing-flow/utils';
import { PrivateRichText } from './components/rich-text/';
import { PrivateBlockPopover } from './components/block-popover';
+import { PrivateInserterLibrary } from './components/inserter/library';
/**
* Private @wordpress/block-editor APIs.
@@ -78,6 +79,7 @@ lock( privateApis, {
selectBlockPatternsKey,
requiresWrapperOnCopy,
PrivateRichText,
+ PrivateInserterLibrary,
reusableBlocksSelectKey,
PrivateBlockPopover,
} );
diff --git a/packages/blocks/package.json b/packages/blocks/package.json
index 7e1efc8cfeb16f..f27afe5f5033b5 100644
--- a/packages/blocks/package.json
+++ b/packages/blocks/package.json
@@ -33,7 +33,6 @@
"@wordpress/autop": "file:../autop",
"@wordpress/blob": "file:../blob",
"@wordpress/block-serialization-default-parser": "file:../block-serialization-default-parser",
- "@wordpress/compose": "file:../compose",
"@wordpress/data": "file:../data",
"@wordpress/deprecated": "file:../deprecated",
"@wordpress/dom": "file:../dom",
diff --git a/packages/blocks/src/api/parser/get-block-attributes.js b/packages/blocks/src/api/parser/get-block-attributes.js
index 24faae73704636..36ea86399329e1 100644
--- a/packages/blocks/src/api/parser/get-block-attributes.js
+++ b/packages/blocks/src/api/parser/get-block-attributes.js
@@ -7,7 +7,6 @@ import memoize from 'memize';
/**
* WordPress dependencies
*/
-import { pipe } from '@wordpress/compose';
import { applyFilters } from '@wordpress/hooks';
import { RichTextData } from '@wordpress/rich-text';
@@ -37,24 +36,8 @@ import { normalizeBlockType, getDefault } from '../utils';
*
* @return {Function} Enhanced hpq matcher.
*/
-export const toBooleanAttributeMatcher = ( matcher ) =>
- pipe( [
- matcher,
- // Expected values from `attr( 'disabled' )`:
- //
- //
- // - Value: `undefined`
- // - Transformed: `false`
- //
- //
- // - Value: `''`
- // - Transformed: `true`
- //
- //
- // - Value: `'disabled'`
- // - Transformed: `true`
- ( value ) => value !== undefined,
- ] );
+export const toBooleanAttributeMatcher = ( matcher ) => ( value ) =>
+ matcher( value ) !== undefined;
/**
* Returns true if value is of the given JSON schema type, or false otherwise.
@@ -214,13 +197,13 @@ export function isValidByEnum( value, enumSet ) {
*/
export const matcherFromSource = memoize( ( sourceConfig ) => {
switch ( sourceConfig.source ) {
- case 'attribute':
+ case 'attribute': {
let matcher = attr( sourceConfig.selector, sourceConfig.attribute );
if ( sourceConfig.type === 'boolean' ) {
matcher = toBooleanAttributeMatcher( matcher );
}
-
return matcher;
+ }
case 'html':
return html( sourceConfig.selector, sourceConfig.multiline );
case 'text':
@@ -244,12 +227,10 @@ export const matcherFromSource = memoize( ( sourceConfig ) => {
)
);
return query( sourceConfig.selector, subMatchers );
- case 'tag':
- return pipe( [
- prop( sourceConfig.selector, 'nodeName' ),
- ( nodeName ) =>
- nodeName ? nodeName.toLowerCase() : undefined,
- ] );
+ case 'tag': {
+ const matcher = prop( sourceConfig.selector, 'nodeName' );
+ return ( domNode ) => matcher( domNode )?.toLowerCase();
+ }
default:
// eslint-disable-next-line no-console
console.error( `Unknown source type "${ sourceConfig.source }"` );
diff --git a/packages/blocks/src/store/selectors.js b/packages/blocks/src/store/selectors.js
index a69879809ab1a6..1fc6eb72d4c378 100644
--- a/packages/blocks/src/store/selectors.js
+++ b/packages/blocks/src/store/selectors.js
@@ -6,7 +6,6 @@ import removeAccents from 'remove-accents';
/**
* WordPress dependencies
*/
-import { pipe } from '@wordpress/compose';
import { createSelector } from '@wordpress/data';
/**
@@ -645,6 +644,18 @@ export function hasBlockSupport( state, nameOrType, feature, defaultSupports ) {
return !! getBlockSupport( state, nameOrType, feature, defaultSupports );
}
+/**
+ * Normalizes a search term string: removes accents, converts to lowercase, removes extra whitespace.
+ *
+ * @param {string|null|undefined} term Search term to normalize.
+ * @return {string} Normalized search term.
+ */
+function getNormalizedSearchTerm( term ) {
+ return removeAccents( term ?? '' )
+ .toLowerCase()
+ .trim();
+}
+
/**
* Returns true if the block type by the given name or object value matches a
* search term, or false otherwise.
@@ -684,30 +695,12 @@ export function hasBlockSupport( state, nameOrType, feature, defaultSupports ) {
*
* @return {Object[]} Whether block type matches search term.
*/
-export function isMatchingSearchTerm( state, nameOrType, searchTerm ) {
+export function isMatchingSearchTerm( state, nameOrType, searchTerm = '' ) {
const blockType = getNormalizedBlockType( state, nameOrType );
-
- const getNormalizedSearchTerm = pipe( [
- // Disregard diacritics.
- // Input: "média"
- ( term ) => removeAccents( term ?? '' ),
-
- // Lowercase.
- // Input: "MEDIA"
- ( term ) => term.toLowerCase(),
-
- // Strip leading and trailing whitespace.
- // Input: " media "
- ( term ) => term.trim(),
- ] );
-
const normalizedSearchTerm = getNormalizedSearchTerm( searchTerm );
- const isSearchMatch = pipe( [
- getNormalizedSearchTerm,
- ( normalizedCandidate ) =>
- normalizedCandidate.includes( normalizedSearchTerm ),
- ] );
+ const isSearchMatch = ( candidate ) =>
+ getNormalizedSearchTerm( candidate ).includes( normalizedSearchTerm );
return (
isSearchMatch( blockType.title ) ||
diff --git a/packages/dataviews/src/style.scss b/packages/dataviews/src/style.scss
index 66ba61147bc882..bfff3786b1112c 100644
--- a/packages/dataviews/src/style.scss
+++ b/packages/dataviews/src/style.scss
@@ -119,7 +119,8 @@
th:first-child {
padding-left: $grid-unit-60;
- .dataviews-view-table-header-button {
+ .dataviews-view-table-header-button,
+ .dataviews-view-table-header {
margin-left: - #{$grid-unit-10};
}
}
@@ -235,6 +236,10 @@
}
}
+ .dataviews-view-table-header {
+ padding-left: $grid-unit-05;
+ }
+
.dataviews-view-table__actions-column {
width: 1%;
}
diff --git a/packages/dataviews/src/view-table.tsx b/packages/dataviews/src/view-table.tsx
index dcfb8a67bf3636..075a60fccd129c 100644
--- a/packages/dataviews/src/view-table.tsx
+++ b/packages/dataviews/src/view-table.tsx
@@ -15,7 +15,6 @@ import {
privateApis as componentsPrivateApis,
CheckboxControl,
Spinner,
- VisuallyHidden,
} from '@wordpress/components';
import {
forwardRef,
@@ -549,9 +548,9 @@ function ViewTable< Item extends AnyItem >( {
data-field-id="actions"
className="dataviews-view-table__actions-column"
>
-
+
{ __( 'Actions' ) }
-
+
) }
diff --git a/packages/edit-site/src/components/add-new-pattern/index.js b/packages/edit-site/src/components/add-new-pattern/index.js
index bca37df9715004..95823c20748bd0 100644
--- a/packages/edit-site/src/components/add-new-pattern/index.js
+++ b/packages/edit-site/src/components/add-new-pattern/index.js
@@ -108,7 +108,11 @@ export default function AddNewPattern() {
diff --git a/packages/edit-site/src/components/add-new-template/index.js b/packages/edit-site/src/components/add-new-template/index.js
index 90d40a013b82ec..75d69f32e823d2 100644
--- a/packages/edit-site/src/components/add-new-template/index.js
+++ b/packages/edit-site/src/components/add-new-template/index.js
@@ -354,6 +354,7 @@ function NewTemplate() {
variant="primary"
onClick={ () => setShowModal( true ) }
label={ postType.labels.add_new_item }
+ __next40pxDefaultSize
>
{ postType.labels.add_new_item }
diff --git a/packages/edit-site/src/components/global-styles/font-families.js b/packages/edit-site/src/components/global-styles/font-families.js
index 7fd07cce8ce7d1..9f381d9d86f182 100644
--- a/packages/edit-site/src/components/global-styles/font-families.js
+++ b/packages/edit-site/src/components/global-styles/font-families.js
@@ -7,7 +7,6 @@ import {
__experimentalVStack as VStack,
__experimentalHStack as HStack,
Button,
- Tooltip,
} from '@wordpress/components';
import { settings } from '@wordpress/icons';
import { useContext } from '@wordpress/element';
@@ -40,18 +39,12 @@ function FontFamilies() {
{ __( 'Fonts' ) }
-
-
-
-
+
{ hasFonts ? (
diff --git a/packages/edit-site/src/components/layout/router.js b/packages/edit-site/src/components/layout/router.js
index f3c0f40c73c95b..25ab81d9a173cc 100644
--- a/packages/edit-site/src/components/layout/router.js
+++ b/packages/edit-site/src/components/layout/router.js
@@ -87,7 +87,7 @@ export default function useLayoutAreas() {
areas: {
sidebar: (
}
/>
diff --git a/packages/edit-site/src/components/page-pages/index.js b/packages/edit-site/src/components/page-pages/index.js
index 391db38fbc51b6..c20fff8851c829 100644
--- a/packages/edit-site/src/components/page-pages/index.js
+++ b/packages/edit-site/src/components/page-pages/index.js
@@ -498,7 +498,11 @@ export default function PagePages() {
actions={
addNewLabel && (
<>
-
diff --git a/packages/editor/src/components/post-publish-panel/test/__snapshots__/index.js.snap b/packages/editor/src/components/post-publish-panel/test/__snapshots__/index.js.snap
index 470fadec4be2bd..7f31c97018d092 100644
--- a/packages/editor/src/components/post-publish-panel/test/__snapshots__/index.js.snap
+++ b/packages/editor/src/components/post-publish-panel/test/__snapshots__/index.js.snap
@@ -447,7 +447,7 @@ exports[`PostPublishPanel should render the pre-publish panel if post status is
class="editor-post-publish-panel__header-cancel-button"
>
Cancel
@@ -600,7 +600,7 @@ exports[`PostPublishPanel should render the pre-publish panel if the post is not
class="editor-post-publish-panel__header-cancel-button"
>
Cancel
@@ -797,7 +797,7 @@ exports[`PostPublishPanel should render the spinner if the post is being saved 1
class="editor-post-publish-panel__header-cancel-button"
>
Cancel