diff --git a/assets/css/amp-stories-editor.css b/assets/css/amp-stories-editor.css index fffa54ec71d..1bf53421b1d 100644 --- a/assets/css/amp-stories-editor.css +++ b/assets/css/amp-stories-editor.css @@ -12,9 +12,8 @@ padding-right: 50px; } -#amp-story-editor, -.amp-story-page-preview .editor-styles-wrapper, -.amp-story-resize-container, +.editor-styles-wrapper .wp-block:not([data-font-family]), +.editor-styles-wrapper #amp-story-editor, .block-editor-block-preview .block-editor-block-preview__content > div { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; } diff --git a/assets/src/stories-editor/blocks/amp-story-text/edit.js b/assets/src/stories-editor/blocks/amp-story-text/edit.js index c37e7c67ebd..c1c7a00d376 100644 --- a/assets/src/stories-editor/blocks/amp-story-text/edit.js +++ b/assets/src/stories-editor/blocks/amp-story-text/edit.js @@ -42,11 +42,14 @@ class TextBlockEdit extends Component { width, content, ampFitText, + ampFontFamily, } = attributes; - const checkFontSize = ( - prevProps.attributes.height !== height || + const checkFontSize = ampFitText && ( + prevProps.attributes.ampFitText !== ampFitText || + prevProps.attributes.ampFontFamily !== ampFontFamily || prevProps.attributes.width !== width || + prevProps.attributes.height !== height || prevProps.attributes.content !== content ); @@ -54,9 +57,11 @@ class TextBlockEdit extends Component { maybeUpdateFontSize( this.props ); } - const checkBlockDimensions = ( + const checkBlockDimensions = ! ampFitText && ( ! isEqual( prevProps.fontSize, fontSize ) || - ( prevProps.attributes.ampFitText !== ampFitText && ! ampFitText ) + prevProps.attributes.ampFitText !== ampFitText || + prevProps.attributes.ampFontFamily !== ampFontFamily || + prevProps.attributes.content !== content ); if ( checkBlockDimensions ) { @@ -183,6 +188,7 @@ TextBlockEdit.propTypes = { tagName: PropTypes.string, opacity: PropTypes.number, className: PropTypes.string, + ampFontFamily: PropTypes.string, } ).isRequired, isSelected: PropTypes.bool.isRequired, onReplace: PropTypes.func.isRequired, diff --git a/assets/src/stories-editor/components/with-meta-block-edit.js b/assets/src/stories-editor/components/with-meta-block-edit.js index a93f4dc599b..36d00c77153 100644 --- a/assets/src/stories-editor/components/with-meta-block-edit.js +++ b/assets/src/stories-editor/components/with-meta-block-edit.js @@ -32,27 +32,31 @@ class MetaBlockEdit extends Component { } componentDidUpdate( prevProps ) { - const { attributes, isSelected, fontSize } = this.props; + const { attributes, fontSize, blockContent } = this.props; const { height, width, ampFitText, + ampFontFamily, } = attributes; - // If not selected, only change font size if height or width has changed. - const checkFontSize = ( - isSelected || + const checkFontSize = ampFitText && ( + prevProps.attributes.ampFitText !== ampFitText || + prevProps.attributes.ampFontFamily !== ampFontFamily || + prevProps.attributes.width !== width || prevProps.attributes.height !== height || - prevProps.attributes.width !== width + prevProps.blockContent !== blockContent ); if ( checkFontSize ) { maybeUpdateFontSize( this.props ); } - const checkBlockDimensions = ( + const checkBlockDimensions = ! ampFitText && ( ! isEqual( prevProps.fontSize, fontSize ) || - ( prevProps.attributes.ampFitText !== ampFitText && ! ampFitText ) + prevProps.attributes.ampFitText !== ampFitText || + prevProps.attributes.ampFontFamily !== ampFontFamily || + prevProps.blockContent !== blockContent ); if ( checkBlockDimensions ) { @@ -128,6 +132,7 @@ MetaBlockEdit.propTypes = { align: PropTypes.string, opacity: PropTypes.number, autoFontSize: PropTypes.number, + ampFontFamily: PropTypes.string, } ).isRequired, setAttributes: PropTypes.func.isRequired, blockContent: PropTypes.string,