Update public API for intrinsic sizing setters (#1722)
Summary: X-link: https://github.com/facebook/react-native/pull/46939 Pull Request resolved: https://github.com/facebook/yoga/pull/1722 tsia! opted for one function for each keyword just like auto. This is kinda annoying and not the most sustainable, so maybe it makes more sense to make a new enum here and just add one function Changelog: [Internal] Reviewed By: NickGerleman Differential Revision: D64002837 fbshipit-source-id: f15fae9fc0103175e1d85850fc9aa68579989fd3
This commit is contained in:
committed by
Facebook GitHub Bot
parent
f52ec78584
commit
488288e291
@@ -134,17 +134,41 @@ export type Node = {
|
||||
setDirection(direction: Direction): void;
|
||||
setDisplay(display: Display): void;
|
||||
setFlex(flex: number | undefined): void;
|
||||
setFlexBasis(flexBasis: number | 'auto' | `${number}%` | undefined): void;
|
||||
setFlexBasis(
|
||||
flexBasis:
|
||||
| number
|
||||
| 'auto'
|
||||
| 'fit-content'
|
||||
| 'max-content'
|
||||
| 'stretch'
|
||||
| `${number}%`
|
||||
| undefined,
|
||||
): void;
|
||||
setFlexBasisPercent(flexBasis: number | undefined): void;
|
||||
setFlexBasisAuto(): void;
|
||||
setFlexBasisFitContent(): void;
|
||||
setFlexBasisMaxContent(): void;
|
||||
setFlexBasisStretch(): void;
|
||||
setFlexDirection(flexDirection: FlexDirection): void;
|
||||
setFlexGrow(flexGrow: number | undefined): void;
|
||||
setFlexShrink(flexShrink: number | undefined): void;
|
||||
setFlexWrap(flexWrap: Wrap): void;
|
||||
setHeight(height: number | 'auto' | `${number}%` | undefined): void;
|
||||
setHeight(
|
||||
height:
|
||||
| number
|
||||
| 'auto'
|
||||
| 'fit-content'
|
||||
| 'max-content'
|
||||
| 'stretch'
|
||||
| `${number}%`
|
||||
| undefined,
|
||||
): void;
|
||||
setIsReferenceBaseline(isReferenceBaseline: boolean): void;
|
||||
setHeightAuto(): void;
|
||||
setHeightFitContent(): void;
|
||||
setHeightMaxContent(): void;
|
||||
setHeightPercent(height: number | undefined): void;
|
||||
setHeightStretch(): void;
|
||||
setJustifyContent(justifyContent: Justify): void;
|
||||
setGap(gutter: Gutter, gapLength: number | `${number}%` | undefined): Value;
|
||||
setGapPercent(gutter: Gutter, gapLength: number | undefined): Value;
|
||||
@@ -154,16 +178,60 @@ export type Node = {
|
||||
): void;
|
||||
setMarginAuto(edge: Edge): void;
|
||||
setMarginPercent(edge: Edge, margin: number | undefined): void;
|
||||
setMaxHeight(maxHeight: number | `${number}%` | undefined): void;
|
||||
setMaxHeight(
|
||||
maxHeight:
|
||||
| number
|
||||
| 'fit-content'
|
||||
| 'max-content'
|
||||
| 'stretch'
|
||||
| `${number}%`
|
||||
| undefined,
|
||||
): void;
|
||||
setMaxHeightFitContent(): void;
|
||||
setMaxHeightMaxContent(): void;
|
||||
setMaxHeightPercent(maxHeight: number | undefined): void;
|
||||
setMaxWidth(maxWidth: number | `${number}%` | undefined): void;
|
||||
setMaxHeightStretch(): void;
|
||||
setMaxWidth(
|
||||
maxWidth:
|
||||
| number
|
||||
| 'fit-content'
|
||||
| 'max-content'
|
||||
| 'stretch'
|
||||
| `${number}%`
|
||||
| undefined,
|
||||
): void;
|
||||
setMaxWidthFitContent(): void;
|
||||
setMaxWidthMaxContent(): void;
|
||||
setMaxWidthPercent(maxWidth: number | undefined): void;
|
||||
setMaxWidthStretch(): void;
|
||||
setDirtiedFunc(dirtiedFunc: DirtiedFunction | null): void;
|
||||
setMeasureFunc(measureFunc: MeasureFunction | null): void;
|
||||
setMinHeight(minHeight: number | `${number}%` | undefined): void;
|
||||
setMinHeight(
|
||||
minHeight:
|
||||
| number
|
||||
| 'fit-content'
|
||||
| 'max-content'
|
||||
| 'stretch'
|
||||
| `${number}%`
|
||||
| undefined,
|
||||
): void;
|
||||
setMinHeightFitContent(): void;
|
||||
setMinHeightMaxContent(): void;
|
||||
setMinHeightPercent(minHeight: number | undefined): void;
|
||||
setMinWidth(minWidth: number | `${number}%` | undefined): void;
|
||||
setMinHeightStretch(): void;
|
||||
setMinWidth(
|
||||
minWidth:
|
||||
| number
|
||||
| 'fit-content'
|
||||
| 'max-content'
|
||||
| 'stretch'
|
||||
| `${number}%`
|
||||
| undefined,
|
||||
): void;
|
||||
setMinWidthFitContent(): void;
|
||||
setMinWidthMaxContent(): void;
|
||||
setMinWidthPercent(minWidth: number | undefined): void;
|
||||
setMinWidthStretch(): void;
|
||||
setOverflow(overflow: Overflow): void;
|
||||
setPadding(edge: Edge, padding: number | `${number}%` | undefined): void;
|
||||
setPaddingPercent(edge: Edge, padding: number | undefined): void;
|
||||
@@ -172,9 +240,21 @@ export type Node = {
|
||||
setPositionType(positionType: PositionType): void;
|
||||
setPositionAuto(edge: Edge): void;
|
||||
setBoxSizing(boxSizing: BoxSizing): void;
|
||||
setWidth(width: number | 'auto' | `${number}%` | undefined): void;
|
||||
setWidth(
|
||||
width:
|
||||
| number
|
||||
| 'auto'
|
||||
| 'fit-content'
|
||||
| 'max-content'
|
||||
| 'stretch'
|
||||
| `${number}%`
|
||||
| undefined,
|
||||
): void;
|
||||
setWidthAuto(): void;
|
||||
setWidthFitContent(): void;
|
||||
setWidthMaxContent(): void;
|
||||
setWidthPercent(width: number | undefined): void;
|
||||
setWidthStretch(): void;
|
||||
unsetDirtiedFunc(): void;
|
||||
unsetMeasureFunc(): void;
|
||||
setAlwaysFormsContainingBlock(alwaysFormsContainingBlock: boolean): void;
|
||||
@@ -220,6 +300,9 @@ export default function wrapAssembly(lib: any): Yoga {
|
||||
[Unit.Point]: lib.Node.prototype[fnName],
|
||||
[Unit.Percent]: lib.Node.prototype[`${fnName}Percent`],
|
||||
[Unit.Auto]: lib.Node.prototype[`${fnName}Auto`],
|
||||
[Unit.MaxContent]: lib.Node.prototype[`${fnName}MaxContent`],
|
||||
[Unit.FitContent]: lib.Node.prototype[`${fnName}FitContent`],
|
||||
[Unit.Stretch]: lib.Node.prototype[`${fnName}Stretch`],
|
||||
};
|
||||
|
||||
patch(lib.Node.prototype, fnName, function (original, ...args) {
|
||||
@@ -232,6 +315,15 @@ export default function wrapAssembly(lib: any): Yoga {
|
||||
if (value === 'auto') {
|
||||
unit = Unit.Auto;
|
||||
asNumber = undefined;
|
||||
} else if (value == 'max-content') {
|
||||
unit = Unit.MaxContent;
|
||||
asNumber = undefined;
|
||||
} else if (value == 'fit-content') {
|
||||
unit = Unit.FitContent;
|
||||
asNumber = undefined;
|
||||
} else if (value == 'stretch') {
|
||||
unit = Unit.Stretch;
|
||||
asNumber = undefined;
|
||||
} else if (typeof value === 'object') {
|
||||
unit = value.unit;
|
||||
asNumber = value.valueOf();
|
||||
|
Reference in New Issue
Block a user