diff --git a/docs/reference-guides/core-blocks.md b/docs/reference-guides/core-blocks.md
index fa84686d82d32..1bdab5acf3788 100644
--- a/docs/reference-guides/core-blocks.md
+++ b/docs/reference-guides/core-blocks.md
@@ -680,7 +680,7 @@ Give quoted text visual emphasis. "In quoting others, we cite ourselves." — Ju
- **Name:** core/quote
- **Category:** text
-- **Supports:** anchor, typography (fontSize, lineHeight)
+- **Supports:** anchor, color (background, gradients, link, text), typography (fontSize, lineHeight)
- **Attributes:** align, citation, value
## Read More
diff --git a/packages/block-editor/src/components/block-list/block.native.js b/packages/block-editor/src/components/block-list/block.native.js
index 2ee69691ab5a0..33317778e66b2 100644
--- a/packages/block-editor/src/components/block-list/block.native.js
+++ b/packages/block-editor/src/components/block-list/block.native.js
@@ -47,6 +47,7 @@ function BlockForType( {
onDeleteBlock,
onReplace,
parentWidth,
+ parentBlockAlignment,
wrapperProps,
blockWidth,
baseGlobalStyles,
@@ -95,6 +96,7 @@ function BlockForType( {
contentStyle={ contentStyle }
onDeleteBlock={ onDeleteBlock }
blockWidth={ blockWidth }
+ parentBlockAlignment={ parentBlockAlignment }
/>
diff --git a/packages/block-library/src/index.native.js b/packages/block-library/src/index.native.js
index e155be94edbaf..984e5c290135d 100644
--- a/packages/block-library/src/index.native.js
+++ b/packages/block-library/src/index.native.js
@@ -179,6 +179,14 @@ const devOnly = ( block ) => ( !! __DEV__ ? block : null );
const iOSOnly = ( block ) =>
Platform.OS === 'ios' ? block : devOnly( block );
+// To be removed once Quote V2 is released on the web editor.
+function quoteCheck( quoteBlock, blocksFlags ) {
+ if ( blocksFlags?.__experimentalEnableQuoteBlockV2 ) {
+ quoteBlock.settings = quoteBlock?.settingsV2;
+ }
+ return quoteBlock;
+}
+
// Hide the Classic block and SocialLink block
addFilter(
'blocks.registerBlockType',
@@ -230,8 +238,10 @@ addFilter(
*
* registerCoreBlocks();
* ```
+ * @param {Object} [blocksFlags] Experimental flags
+ *
*/
-export const registerCoreBlocks = () => {
+export const registerCoreBlocks = ( blocksFlags ) => {
// When adding new blocks to this list please also consider updating /src/block-support/supported-blocks.json in the Gutenberg-Mobile repo
[
paragraph,
@@ -244,7 +254,7 @@ export const registerCoreBlocks = () => {
nextpage,
separator,
list,
- quote,
+ quoteCheck( quote, blocksFlags ),
mediaText,
preformatted,
gallery,
diff --git a/packages/block-library/src/paragraph/edit.native.js b/packages/block-library/src/paragraph/edit.native.js
index 65b0b0fac14fc..98662ba21c884 100644
--- a/packages/block-library/src/paragraph/edit.native.js
+++ b/packages/block-library/src/paragraph/edit.native.js
@@ -14,6 +14,8 @@ import { useSelect } from '@wordpress/data';
const name = 'core/paragraph';
+const allowedParentBlockAlignments = [ 'left', 'center', 'right' ];
+
function ParagraphBlock( {
attributes,
mergeBlocks,
@@ -21,6 +23,7 @@ function ParagraphBlock( {
setAttributes,
style,
clientId,
+ parentBlockAlignment,
} ) {
const isRTL = useSelect( ( select ) => {
return !! select( blockEditorStore ).getSettings().isRTL;
@@ -40,6 +43,15 @@ function ParagraphBlock( {
const onAlignmentChange = useCallback( ( nextAlign ) => {
setAttributes( { align: nextAlign } );
}, [] );
+
+ const parentTextAlignment = allowedParentBlockAlignments.includes(
+ parentBlockAlignment
+ )
+ ? parentBlockAlignment
+ : undefined;
+
+ const textAlignment = align || parentTextAlignment;
+
return (
<>
@@ -82,7 +94,7 @@ function ParagraphBlock( {
onReplace={ onReplace }
onRemove={ onReplace ? () => onReplace( [] ) : undefined }
placeholder={ placeholder || __( 'Start writing…' ) }
- textAlign={ align }
+ textAlign={ textAlignment }
__unstableEmbedURLOnPaste
/>
>
diff --git a/packages/block-library/src/quote/block.json b/packages/block-library/src/quote/block.json
index 28eb25f93d21b..74b72078c5c45 100644
--- a/packages/block-library/src/quote/block.json
+++ b/packages/block-library/src/quote/block.json
@@ -41,6 +41,14 @@
"fontSize": true,
"fontAppearance": true
}
+ },
+ "color": {
+ "gradients": true,
+ "link": true,
+ "__experimentalDefaultControls": {
+ "background": true,
+ "text": true
+ }
}
},
"styles": [
diff --git a/packages/block-library/src/quote/index.js b/packages/block-library/src/quote/index.js
index 13876d46974b9..1021e06f4e756 100644
--- a/packages/block-library/src/quote/index.js
+++ b/packages/block-library/src/quote/index.js
@@ -16,7 +16,7 @@ import settingsV2 from './v2';
const { name } = metadata;
-export { metadata, name };
+export { metadata, name, settingsV2 };
export const settingsV1 = {
icon,
diff --git a/packages/block-library/src/quote/style.scss b/packages/block-library/src/quote/style.scss
index 23b5f8dd36932..835dc56afaf5e 100644
--- a/packages/block-library/src/quote/style.scss
+++ b/packages/block-library/src/quote/style.scss
@@ -1,4 +1,5 @@
.wp-block-quote {
+ box-sizing: border-box;
overflow-wrap: break-word; // Break long strings of text without spaces so they don't overflow the block.
// .is-style-large and .is-large are kept for backwards compatibility. The :not pseudo-class is used to enable switching styles. See PR #37580.
&.is-style-large:not(.is-style-plain),
diff --git a/packages/block-library/src/quote/v2/edit.js b/packages/block-library/src/quote/v2/edit.js
index 9bbb72ea47737..4d9edb0758adc 100644
--- a/packages/block-library/src/quote/v2/edit.js
+++ b/packages/block-library/src/quote/v2/edit.js
@@ -74,6 +74,7 @@ export default function QuoteEdit( {
insertBlocksAfter,
clientId,
className,
+ style,
} ) {
const { citation, align } = attributes;
@@ -88,6 +89,7 @@ export default function QuoteEdit( {
className: classNames( className, {
[ `has-text-align-${ align }` ]: align,
} ),
+ ...( ! isWebPlatform && { style } ),
} );
const innerBlocksProps = useInnerBlocksProps( blockProps, {
template: TEMPLATE,
@@ -128,6 +130,7 @@ export default function QuoteEdit( {
__unstableOnSplitAtEnd={ () =>
insertBlocksAfter( createBlock( 'core/paragraph' ) )
}
+ { ...( ! isWebPlatform ? { textAlign: align } : {} ) }
/>
) }
diff --git a/packages/block-library/src/spacer/controls.native.js b/packages/block-library/src/spacer/controls.native.js
index 73d69e5ea7b4a..7c48be32a2d5c 100644
--- a/packages/block-library/src/spacer/controls.native.js
+++ b/packages/block-library/src/spacer/controls.native.js
@@ -14,7 +14,7 @@ import { __ } from '@wordpress/i18n';
/**
* Internal dependencies
*/
-import { MIN_SPACER_SIZE } from './edit';
+import { MIN_SPACER_SIZE } from './edit.js';
import styles from './style.scss';
const DEFAULT_VALUES = { px: 100, em: 10, rem: 10, vw: 10, vh: 25 };
diff --git a/packages/block-library/src/spacer/test/__snapshots__/index.native.js.snap b/packages/block-library/src/spacer/test/__snapshots__/index.native.js.snap
new file mode 100644
index 0000000000000..61e51af766f8c
--- /dev/null
+++ b/packages/block-library/src/spacer/test/__snapshots__/index.native.js.snap
@@ -0,0 +1,31 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Spacer block decrements height 1`] = `
+"
+
+"
+`;
+
+exports[`Spacer block increments height 1`] = `
+"
+
+"
+`;
+
+exports[`Spacer block inserts block 1`] = `
+"
+
+"
+`;
+
+exports[`Spacer block updates height to 25vh 1`] = `
+"
+
+"
+`;
+
+exports[`Spacer block updates height to 50px 1`] = `
+"
+
+"
+`;
diff --git a/packages/block-library/src/spacer/test/index.native.js b/packages/block-library/src/spacer/test/index.native.js
new file mode 100644
index 0000000000000..cbd5b4c034f7c
--- /dev/null
+++ b/packages/block-library/src/spacer/test/index.native.js
@@ -0,0 +1,180 @@
+/**
+ * External dependencies
+ */
+import {
+ fireEvent,
+ getEditorHtml,
+ initializeEditor,
+ waitFor,
+} from 'test/helpers';
+
+/**
+ * WordPress dependencies
+ */
+import { getBlockTypes, unregisterBlockType } from '@wordpress/blocks';
+import { registerCoreBlocks } from '@wordpress/block-library';
+
+beforeAll( () => {
+ // Register all core blocks
+ registerCoreBlocks();
+} );
+
+afterAll( () => {
+ // Clean up registered blocks
+ getBlockTypes().forEach( ( block ) => {
+ unregisterBlockType( block.name );
+ } );
+} );
+
+describe( 'Spacer block', () => {
+ it( 'inserts block', async () => {
+ const {
+ getByA11yLabel,
+ getByTestId,
+ getByText,
+ } = await initializeEditor();
+
+ fireEvent.press( getByA11yLabel( 'Add block' ) );
+
+ const blockList = getByTestId( 'InserterUI-Blocks' );
+ // onScroll event used to force the FlatList to render all items
+ fireEvent.scroll( blockList, {
+ nativeEvent: {
+ contentOffset: { y: 0, x: 0 },
+ contentSize: { width: 100, height: 100 },
+ layoutMeasurement: { width: 100, height: 100 },
+ },
+ } );
+
+ fireEvent.press( await waitFor( () => getByText( 'Spacer' ) ) );
+
+ expect( getByA11yLabel( /Spacer Block\. Row 1/ ) ).toBeVisible();
+ expect( getEditorHtml() ).toMatchSnapshot();
+ } );
+
+ it( 'updates height to 50px', async () => {
+ const initialHtml = `
+
+ `;
+ const {
+ getByA11yLabel,
+ getByDisplayValue,
+ getByTestId,
+ getByText,
+ } = await initializeEditor( {
+ initialHtml,
+ } );
+
+ // Select Spacer block
+ const spacerBlock = getByA11yLabel( /Spacer Block\. Row 1/ );
+ fireEvent.press( spacerBlock );
+
+ // Open block settings
+ fireEvent.press( getByA11yLabel( 'Open Settings' ) );
+ await waitFor(
+ () => getByTestId( 'block-settings-modal' ).props.isVisible
+ );
+
+ // Update height attribute
+ fireEvent.press( getByText( '100' ) );
+ const heightTextInput = getByDisplayValue( '100' );
+ fireEvent.changeText( heightTextInput, '50' );
+
+ expect( getEditorHtml() ).toMatchSnapshot();
+ } );
+
+ it( 'updates height to 25vh', async () => {
+ const initialHtml = `
+
+ `;
+ const {
+ getByA11yLabel,
+ getByDisplayValue,
+ getByTestId,
+ getByText,
+ } = await initializeEditor( {
+ initialHtml,
+ } );
+
+ // Select Spacer block
+ const spacerBlock = getByA11yLabel( /Spacer Block\. Row 1/ );
+ fireEvent.press( spacerBlock );
+
+ // Open block settings
+ fireEvent.press( getByA11yLabel( 'Open Settings' ) );
+ await waitFor(
+ () => getByTestId( 'block-settings-modal' ).props.isVisible
+ );
+
+ // Set vh unit
+ fireEvent.press( getByText( 'px' ) );
+ fireEvent.press( getByText( 'Viewport height (vh)' ) );
+
+ // Update height attribute
+ fireEvent.press( getByText( '100' ) );
+ const heightTextInput = getByDisplayValue( '100' );
+ fireEvent.changeText( heightTextInput, '25' );
+
+ expect( getEditorHtml() ).toMatchSnapshot();
+ } );
+
+ it( 'increments height', async () => {
+ const initialHtml = `
+
+ `;
+ const { getByA11yLabel, getByTestId } = await initializeEditor( {
+ initialHtml,
+ } );
+
+ // Select Spacer block
+ const spacerBlock = getByA11yLabel( /Spacer Block\. Row 1/ );
+ fireEvent.press( spacerBlock );
+
+ // Open block settings
+ fireEvent.press( getByA11yLabel( 'Open Settings' ) );
+ await waitFor(
+ () => getByTestId( 'block-settings-modal' ).props.isVisible
+ );
+
+ // Increment height
+ fireEvent(
+ getByA11yLabel( /Height\. Value is 100 Pixels \(px\)/ ),
+ 'accessibilityAction',
+ {
+ nativeEvent: { actionName: 'increment' },
+ }
+ );
+
+ expect( getEditorHtml() ).toMatchSnapshot();
+ } );
+
+ it( 'decrements height', async () => {
+ const initialHtml = `
+
+ `;
+ const { getByA11yLabel, getByTestId } = await initializeEditor( {
+ initialHtml,
+ } );
+
+ // Select Spacer block
+ const spacerBlock = getByA11yLabel( /Spacer Block\. Row 1/ );
+ fireEvent.press( spacerBlock );
+
+ // Open block settings
+ fireEvent.press( getByA11yLabel( 'Open Settings' ) );
+ await waitFor(
+ () => getByTestId( 'block-settings-modal' ).props.isVisible
+ );
+
+ // Increment height
+ fireEvent(
+ getByA11yLabel( /Height\. Value is 100 Pixels \(px\)/ ),
+ 'accessibilityAction',
+ {
+ nativeEvent: { actionName: 'decrement' },
+ }
+ );
+
+ expect( getEditorHtml() ).toMatchSnapshot();
+ } );
+} );
diff --git a/packages/edit-post/src/test/editor.native.js b/packages/edit-post/src/test/editor.native.js
index 5293cf35c12ab..b1eee7eb1234b 100644
--- a/packages/edit-post/src/test/editor.native.js
+++ b/packages/edit-post/src/test/editor.native.js
@@ -28,7 +28,9 @@ const unsupportedBlock = `
jest.useFakeTimers( 'legacy' );
describe( 'Editor', () => {
- beforeAll( registerCoreBlocks );
+ beforeAll( () => {
+ registerCoreBlocks();
+ } );
it( 'detects unsupported block and sends hasUnsupportedBlocks true to native', () => {
RNReactNativeGutenbergBridge.editorDidMount = jest.fn();
diff --git a/packages/primitives/src/block-quotation/index.native.js b/packages/primitives/src/block-quotation/index.native.js
index 8f97ed8dc43d8..01e8b7cdb4c50 100644
--- a/packages/primitives/src/block-quotation/index.native.js
+++ b/packages/primitives/src/block-quotation/index.native.js
@@ -5,24 +5,26 @@ import { View } from 'react-native';
/**
* WordPress dependencies
*/
-import { Children, cloneElement } from '@wordpress/element';
-import { withPreferredColorScheme } from '@wordpress/compose';
+import { Children, cloneElement, forwardRef } from '@wordpress/element';
+import { usePreferredColorSchemeStyle } from '@wordpress/compose';
/**
* Internal dependencies
*/
import styles from './style.scss';
-export const BlockQuotation = withPreferredColorScheme( ( props ) => {
- const { getStylesFromColorScheme, style } = props;
+export const BlockQuotation = forwardRef( ( { ...props }, ref ) => {
+ const { style } = props;
const blockQuoteStyle = [
- getStylesFromColorScheme(
+ usePreferredColorSchemeStyle(
styles.wpBlockQuoteLight,
styles.wpBlockQuoteDark
),
style?.color && {
borderLeftColor: style.color,
},
+ style,
+ style?.backgroundColor && styles.paddingWithBackground,
];
const colorStyle = style?.color ? { color: style.color } : {};
@@ -43,5 +45,9 @@ export const BlockQuotation = withPreferredColorScheme( ( props ) => {
}
return child;
} );
- return { newChildren };
+ return (
+
+ { newChildren }
+
+ );
} );
diff --git a/packages/primitives/src/block-quotation/style.native.scss b/packages/primitives/src/block-quotation/style.native.scss
index 76dba07c13247..a755027cb9845 100644
--- a/packages/primitives/src/block-quotation/style.native.scss
+++ b/packages/primitives/src/block-quotation/style.native.scss
@@ -1,7 +1,8 @@
%wpBlockQuote-shared {
border-left-width: 4px;
border-left-style: solid;
- padding-left: 8px;
+ padding-left: $block-edge-to-content;
+ padding-top: $dashed-border-space;
margin-left: 0;
}
@@ -19,3 +20,7 @@
margin-top: 16px;
font-size: 14px;
}
+
+.paddingWithBackground {
+ padding-top: $block-edge-to-content - $block-selected-margin;
+}
diff --git a/packages/react-native-aztec/package.json b/packages/react-native-aztec/package.json
index 09e7663b40231..07ce5dd3a305d 100644
--- a/packages/react-native-aztec/package.json
+++ b/packages/react-native-aztec/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/react-native-aztec",
- "version": "1.72.1",
+ "version": "1.73.2",
"description": "Aztec view for react-native.",
"private": true,
"author": "The WordPress Contributors",
diff --git a/packages/react-native-bridge/android/react-native-bridge/src/main/java/org/wordpress/mobile/WPAndroidGlue/GutenbergProps.kt b/packages/react-native-bridge/android/react-native-bridge/src/main/java/org/wordpress/mobile/WPAndroidGlue/GutenbergProps.kt
index 33ca536e49b07..80ca12c370ca3 100644
--- a/packages/react-native-bridge/android/react-native-bridge/src/main/java/org/wordpress/mobile/WPAndroidGlue/GutenbergProps.kt
+++ b/packages/react-native-bridge/android/react-native-bridge/src/main/java/org/wordpress/mobile/WPAndroidGlue/GutenbergProps.kt
@@ -50,6 +50,8 @@ data class GutenbergProps @JvmOverloads constructor(
?.let { putSerializable(PROP_IS_FSE_THEME, it) }
theme.getSerializable(PROP_GALLERY_WITH_IMAGE_BLOCKS)
?.let { putSerializable(PROP_GALLERY_WITH_IMAGE_BLOCKS, it) }
+ theme.getSerializable(PROP_QUOTE_BLOCK_V2)
+ ?.let { putSerializable(PROP_QUOTE_BLOCK_V2, it) }
}
}
@@ -90,6 +92,7 @@ data class GutenbergProps @JvmOverloads constructor(
private const val PROP_FEATURES = "rawFeatures"
private const val PROP_IS_FSE_THEME = "isFSETheme"
private const val PROP_GALLERY_WITH_IMAGE_BLOCKS = "galleryWithImageBlocks"
+ private const val PROP_QUOTE_BLOCK_V2 = "quoteBlockV2"
const val PROP_LOCALE = "locale"
const val PROP_CAPABILITIES = "capabilities"
diff --git a/packages/react-native-bridge/ios/Gutenberg.swift b/packages/react-native-bridge/ios/Gutenberg.swift
index 8ff1455862159..167d2f194e7bf 100644
--- a/packages/react-native-bridge/ios/Gutenberg.swift
+++ b/packages/react-native-bridge/ios/Gutenberg.swift
@@ -204,6 +204,10 @@ public class Gutenberg: UIResponder {
settingsUpdates["galleryWithImageBlocks"] = galleryWithImageBlocks
}
+ if let quoteBlockV2 = editorSettings?.quoteBlockV2 {
+ settingsUpdates["quoteBlockV2"] = quoteBlockV2
+ }
+
if let rawStyles = editorSettings?.rawStyles {
settingsUpdates["rawStyles"] = rawStyles
}
diff --git a/packages/react-native-bridge/ios/GutenbergBridgeDataSource.swift b/packages/react-native-bridge/ios/GutenbergBridgeDataSource.swift
index d2cb398a36bc9..1671abb11383c 100644
--- a/packages/react-native-bridge/ios/GutenbergBridgeDataSource.swift
+++ b/packages/react-native-bridge/ios/GutenbergBridgeDataSource.swift
@@ -78,6 +78,7 @@ public extension GutenbergBridgeDataSource {
public protocol GutenbergEditorSettings {
var isFSETheme: Bool { get }
var galleryWithImageBlocks: Bool { get }
+ var quoteBlockV2: Bool { get }
var rawStyles: String? { get }
var rawFeatures: String? { get }
var colors: [[String: String]]? { get }
diff --git a/packages/react-native-bridge/package.json b/packages/react-native-bridge/package.json
index 5ec902c73bcfd..712a3e04d4bff 100644
--- a/packages/react-native-bridge/package.json
+++ b/packages/react-native-bridge/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/react-native-bridge",
- "version": "1.72.1",
+ "version": "1.73.2",
"description": "Native bridge library used to integrate the block editor into a native App.",
"private": true,
"author": "The WordPress Contributors",
diff --git a/packages/react-native-editor/CHANGELOG.md b/packages/react-native-editor/CHANGELOG.md
index 3b1372dda29c1..9e50680335f5c 100644
--- a/packages/react-native-editor/CHANGELOG.md
+++ b/packages/react-native-editor/CHANGELOG.md
@@ -11,6 +11,20 @@ For each user feature we should also add a importance categorization label to i
## Unreleased
+## 1.73.2
+
+- [**] [Quote block] Adds support for V2 behind a feature flag [#40133]
+
+## 1.73.1
+
+- [*] [Spacer block] Fix crash when changing the height value using the text input [#40053]
+
+## 1.73.0
+
+- [*] Update react-native-reanimated version to 2.4.1 [#39430]
+- [*] Upgrade Gradle to 7.4 & AGP to 7.1.1 [#39508]
+- [*] Add waits to fix editor test flakiness [#39668]
+
## 1.72.1
- [*] Detect GIF badge during render [#39882]
diff --git a/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj b/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj
index 65506b8af1e28..a08280d71e173 100644
--- a/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj
+++ b/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj
@@ -764,7 +764,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
- "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 ";
+ "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -808,7 +808,7 @@
COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
- "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 ";
+ "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
diff --git a/packages/react-native-editor/ios/Podfile.lock b/packages/react-native-editor/ios/Podfile.lock
index 64597da3be543..165fbbf66719e 100644
--- a/packages/react-native-editor/ios/Podfile.lock
+++ b/packages/react-native-editor/ios/Podfile.lock
@@ -13,7 +13,7 @@ PODS:
- ReactCommon/turbomodule/core (= 0.66.2)
- fmt (6.2.1)
- glog (0.3.5)
- - Gutenberg (1.72.1):
+ - Gutenberg (1.73.2):
- React-Core (= 0.66.2)
- React-CoreModules (= 0.66.2)
- React-RCTImage (= 0.66.2)
@@ -337,7 +337,7 @@ PODS:
- React-Core
- RNSVG (9.13.6):
- React-Core
- - RNTAztecView (1.72.1):
+ - RNTAztecView (1.73.2):
- React-Core
- WordPress-Aztec-iOS (~> 1.19.8)
- WordPress-Aztec-iOS (1.19.8)
@@ -503,7 +503,7 @@ SPEC CHECKSUMS:
FBReactNativeSpec: 18438b1c04ce502ed681cd19db3f4508964c082a
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
glog: 5337263514dd6f09803962437687240c5dc39aa4
- Gutenberg: bf1ec0f78562515216d0631f5ce21341e761a72c
+ Gutenberg: d4f2aeeb584486622bfceb3ef2986a7adb71c215
RCT-Folly: a21c126816d8025b547704b777a2ba552f3d9fa9
RCTRequired: 5e9e85f48da8dd447f5834ce14c6799ea8c7f41a
RCTTypeSafety: aba333d04d88d1f954e93666a08d7ae57a87ab30
@@ -542,7 +542,7 @@ SPEC CHECKSUMS:
RNReanimated: ae78e43201015a3fb2982a6e3ffe3507ee7f2d81
RNScreens: 953633729a42e23ad0c93574d676b361e3335e8b
RNSVG: 36a7359c428dcb7c6bce1cc546fbfebe069809b0
- RNTAztecView: ccaa997033b4ea947224062f042b1ca2edb3f4e9
+ RNTAztecView: b3b398195ed9a8280eaa5af6d229463c8723134d
WordPress-Aztec-iOS: 7d11d598f14c82c727c08b56bd35fbeb7dafb504
Yoga: 9a08effa851c1d8cc1647691895540bc168ea65f
diff --git a/packages/react-native-editor/package.json b/packages/react-native-editor/package.json
index 8d6024181c42b..a13ed1637d23d 100644
--- a/packages/react-native-editor/package.json
+++ b/packages/react-native-editor/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/react-native-editor",
- "version": "1.72.1",
+ "version": "1.73.2",
"description": "Mobile WordPress gutenberg editor.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/react-native-editor/src/setup.js b/packages/react-native-editor/src/setup.js
index b974fc530ab27..b55b9a4253cec 100644
--- a/packages/react-native-editor/src/setup.js
+++ b/packages/react-native-editor/src/setup.js
@@ -58,9 +58,13 @@ const gutenbergSetup = () => {
const setupInitHooks = () => {
addAction( 'native.pre-render', 'core/react-native-editor', ( props ) => {
- registerBlocks();
-
const capabilities = props.capabilities ?? {};
+ const blocksFlags = {
+ __experimentalEnableQuoteBlockV2: props?.quoteBlockV2,
+ };
+
+ registerBlocks( blocksFlags );
+
// Unregister non-supported blocks by capabilities
if (
getBlockType( 'core/block' ) !== undefined &&
@@ -115,12 +119,12 @@ const setupInitHooks = () => {
};
let blocksRegistered = false;
-const registerBlocks = () => {
+const registerBlocks = ( blocksFlags ) => {
if ( blocksRegistered ) {
return;
}
- registerCoreBlocks();
+ registerCoreBlocks( blocksFlags );
blocksRegistered = true;
};