Skip to content

Commit

Permalink
choose proper numberOfLines prop name based on native config
Browse files Browse the repository at this point in the history
  • Loading branch information
Szymon20000 committed Jun 15, 2023
1 parent 5a90e0d commit 908eeca
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
12 changes: 10 additions & 2 deletions packages/react-native/Libraries/Text/Text.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import processColor from '../StyleSheet/processColor';
import {getAccessibilityRoleFromRole} from '../Utilities/AcessibilityMapping';
import Platform from '../Utilities/Platform';
import TextAncestor from './TextAncestor';
import {NativeText, NativeVirtualText} from './TextNativeComponent';
import {NativeText, NativeVirtualText, CONTAINS_MAX_NUMBER_OF_LINES_RENAME} from './TextNativeComponent';
import * as React from 'react';
import {useContext, useMemo, useState} from 'react';

Expand Down Expand Up @@ -201,6 +201,14 @@ const Text: React.AbstractComponent<
numberOfLinesValue = 0;
}

const numberOfLinesProps = useMemo(() => {
return {
[CONTAINS_MAX_NUMBER_OF_LINES_RENAME
? 'maximumNumberOfLines'
: 'numberOfLines']: numberOfLinesValue,
};
}, [numberOfLinesValue]);

const hasTextAncestor = useContext(TextAncestor);

const _accessible = Platform.select({
Expand Down Expand Up @@ -252,6 +260,7 @@ const Text: React.AbstractComponent<
<NativeText
{...restProps}
{...eventHandlersForText}
{...numberOfLinesProps}
accessibilityLabel={ariaLabel ?? accessibilityLabel}
accessibilityRole={
role ? getAccessibilityRoleFromRole(role) : accessibilityRole
Expand All @@ -267,7 +276,6 @@ const Text: React.AbstractComponent<
ellipsizeMode={ellipsizeMode ?? 'tail'}
isHighlighted={isHighlighted}
nativeID={id ?? nativeID}
maximumNumberOfLines={numberOfLinesValue}
ref={forwardedRef}
selectable={_selectable}
selectionColor={selectionColor}
Expand Down
5 changes: 5 additions & 0 deletions packages/react-native/Libraries/Text/TextNativeComponent.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import {type HostComponent} from '../Renderer/shims/ReactNativeTypes';
import {type ProcessedColorValue} from '../StyleSheet/processColor';
import {type PressEvent} from '../Types/CoreEventTypes';
import {type TextProps} from './TextProps';
import getNativeComponentAttributes from '../ReactNative/getNativeComponentAttributes';

type NativeTextProps = $ReadOnly<{
...TextProps,
Expand Down Expand Up @@ -74,6 +75,10 @@ export const NativeText: HostComponent<NativeTextProps> =
createViewConfig(textViewConfig),
): any);

export const CONTAINS_MAX_NUMBER_OF_LINES_RENAME =
getNativeComponentAttributes('RCTText')?.NativeProps?.maximumNumberOfLines ===
'number';

export const NativeVirtualText: HostComponent<NativeTextProps> =
!global.RN$Bridgeless && !UIManager.hasViewManagerConfig('RCTVirtualText')
? NativeText
Expand Down

0 comments on commit 908eeca

Please sign in to comment.