From 9a0acc54649596fb60e8bdb9e77d11093085ab4b Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Tue, 25 Aug 2020 11:00:27 -0700 Subject: [PATCH] [fix] Layout of nested Text elements Remove the 'dir=auto' attribute from nested Text elements as this can cause browsers to produce broken text layouts. Fix #1714 --- .../Text/__tests__/__snapshots__/index-test.js.snap | 1 - packages/react-native-web/src/exports/Text/index.js | 7 +++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap b/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap index 47271731..8cf24067 100644 --- a/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap +++ b/packages/react-native-web/src/exports/Text/__tests__/__snapshots__/index-test.js.snap @@ -22,7 +22,6 @@ exports[`components/Text nested 1`] = ` `; diff --git a/packages/react-native-web/src/exports/Text/index.js b/packages/react-native-web/src/exports/Text/index.js index 29647d97..a14585c4 100644 --- a/packages/react-native-web/src/exports/Text/index.js +++ b/packages/react-native-web/src/exports/Text/index.js @@ -153,8 +153,11 @@ const Text = forwardRef((props, forwardedRef) => { const component = hasTextAncestor ? 'span' : 'div'; const supportedProps = pickProps(props); supportedProps.classList = classList; - // 'auto' by default allows browsers to infer writing direction - supportedProps.dir = dir !== undefined ? dir : 'auto'; + supportedProps.dir = dir; + // 'auto' by default allows browsers to infer writing direction (root elements only) + if (!hasTextAncestor) { + supportedProps.dir = dir != null ? dir : 'auto'; + } supportedProps.onClick = handleClick; supportedProps.ref = setRef; supportedProps.style = style;