From 395bc022e3bafe9e930bb0310e387d011ec356df Mon Sep 17 00:00:00 2001 From: Nathan Walker Date: Wed, 23 Nov 2022 21:16:40 -0800 Subject: [PATCH] chore: cleanup font-variation-settings --- packages/core/ui/styling/font-common.ts | 16 ++++++++-------- packages/core/ui/styling/font.android.ts | 6 ++---- packages/core/ui/styling/font.d.ts | 10 +++++----- packages/core/ui/styling/font.ios.ts | 8 ++++---- packages/core/ui/styling/style-properties.ts | 4 ++-- 5 files changed, 21 insertions(+), 23 deletions(-) diff --git a/packages/core/ui/styling/font-common.ts b/packages/core/ui/styling/font-common.ts index a6d1b4993..20d0b3b86 100644 --- a/packages/core/ui/styling/font-common.ts +++ b/packages/core/ui/styling/font-common.ts @@ -1,4 +1,4 @@ -import { Font as FontDefinition, FontVariationSettings as FontVariationSettingsType } from './font'; +import { Font as FontDefinition, FontVariationSettingsType } from './font'; import { ParsedFont } from './font-interfaces'; import { makeValidator, makeParser } from '../core/properties'; @@ -19,7 +19,7 @@ export abstract class Font implements FontDefinition { return this.fontWeight === FontWeight.SEMI_BOLD || this.fontWeight === FontWeight.BOLD || this.fontWeight === '700' || this.fontWeight === FontWeight.EXTRA_BOLD || this.fontWeight === FontWeight.BLACK; } - protected constructor(public readonly fontFamily: string, public readonly fontSize: number, fontStyle?: FontStyleType, fontWeight?: FontWeightType, fontScale?: number, public readonly fontVariationSettings?: FontVariationSettingsType[]) { + protected constructor(public readonly fontFamily: string, public readonly fontSize: number, fontStyle?: FontStyleType, fontWeight?: FontWeightType, fontScale?: number, public readonly fontVariationSettings?: Array) { this.fontStyle = fontStyle ?? FontStyle.NORMAL; this.fontWeight = fontWeight ?? FontWeight.NORMAL; this.fontScale = fontScale ?? 1; @@ -32,7 +32,7 @@ export abstract class Font implements FontDefinition { public abstract withFontWeight(weight: FontWeightType): Font; public abstract withFontSize(size: number): Font; public abstract withFontScale(scale: number): Font; - public abstract withFontVariationSettings(variationSettings: FontVariationSettingsType[] | null): Font; + public abstract withFontVariationSettings(variationSettings: Array | null): Font; public static equals(value1: Font, value2: Font): boolean { // both values are falsy @@ -74,7 +74,7 @@ export namespace FontWeight { // eslint-disable-next-line @typescript-eslint/no-namespace export namespace FontVariationSettings { - export function parse(fontVariationSettings: string): FontVariationSettingsType[] | null { + export function parse(fontVariationSettings: string): Array | null { const allowedValues = ['normal', 'inherit', 'initial', 'revert', 'revert-layer', 'unset']; const lower = fontVariationSettings?.toLowerCase().trim(); if (allowedValues.indexOf(lower) !== -1) { @@ -83,7 +83,7 @@ export namespace FontVariationSettings { const chunks = lower.split(','); if (chunks.length) { - const parsed: FontVariationSettingsType[] = []; + const parsed: Array = []; for (const chunk of chunks) { const axisChunks = chunk.trim(); if (axisChunks.length === 2) { @@ -94,17 +94,17 @@ export namespace FontVariationSettings { if (!isNaN(axisValue) && axisName.length === 6 && ((axisName.startsWith("'") && axisName.endsWith("'")) || (axisName.startsWith('"') && axisName.endsWith('"')))) { parsed.push({ axis: axisName, value: axisValue }); } else { - throw new Error('Invalid value (font-variation-settings): ' + fontVariationSettings); + console.error('Invalid value (font-variation-settings): ' + fontVariationSettings); } } else { - throw new Error('Invalid value (font-variation-settings): ' + fontVariationSettings); + console.error('Invalid value (font-variation-settings): ' + fontVariationSettings); } } return parsed; } - throw new Error('Invalid value (font-variation-settings): ' + fontVariationSettings); + console.error('Invalid value (font-variation-settings): ' + fontVariationSettings); } export function toString(fontVariationSettings: FontVariationSettingsType[] | null): string | null { diff --git a/packages/core/ui/styling/font.android.ts b/packages/core/ui/styling/font.android.ts index 088c1b238..7af1a4e3b 100644 --- a/packages/core/ui/styling/font.android.ts +++ b/packages/core/ui/styling/font.android.ts @@ -1,9 +1,7 @@ import { Font as FontBase, parseFontFamily, genericFontFamilies, FontStyleType, FontWeight, FontWeightType, FontVariationSettingsType, FontVariationSettings } from './font-common'; import { Trace } from '../../trace'; import { SDK_VERSION } from '../../utils'; -import * as application from '../../application'; import * as fs from '../../file-system'; -import { Trace } from '../../trace'; import { ad } from '../../utils'; export * from './font-common'; @@ -17,7 +15,7 @@ export class Font extends FontBase { private _typeface: android.graphics.Typeface; - constructor(family: string, size: number, style?: FontStyleType, weight?: FontWeightType, fontVariationSettings?: FontVariationSettingsType[]) { + constructor(family: string, size: number, style?: FontStyleType, weight?: FontWeightType, fontVariationSettings?: Array) { super(family, size, style, weight, 1, fontVariationSettings); } @@ -41,7 +39,7 @@ export class Font extends FontBase { return new Font(this.fontFamily, this.fontSize, this.fontStyle, this.fontWeight, this.fontVariationSettings); } - public withFontVariationSettings(variationSettings: FontVariationSettingsType[] | null): Font { + public withFontVariationSettings(variationSettings: Array | null): Font { return new Font(this.fontFamily, this.fontSize, this.fontStyle, this.fontWeight, variationSettings); } diff --git a/packages/core/ui/styling/font.d.ts b/packages/core/ui/styling/font.d.ts index de5de3fe0..8acbe6948 100644 --- a/packages/core/ui/styling/font.d.ts +++ b/packages/core/ui/styling/font.d.ts @@ -49,14 +49,14 @@ export namespace FontWeight { export function parse(value: string): FontWeightType; } -export interface FontVariationSettings { +export type FontVariationSettingsType = { axis: string; value: number; -} +}; export namespace FontVariationSettings { - export function parse(fontVariationSettings: string): FontVariationSettings[] | null; - export function toString(fontVariationSettings: FontVariationSettings[] | null): string | null; + export function parse(fontVariationSettings: string): Array | null; + export function toString(fontVariationSettings: Array | null): string | null; } export interface ParsedFont { @@ -66,7 +66,7 @@ export interface ParsedFont { lineHeight?: string; fontSize?: string; fontFamily?: string; - fontVariationSettings?: FontVariationSettings[]; + fontVariationSettings?: Array; } export function parseFont(fontValue: string): ParsedFont; diff --git a/packages/core/ui/styling/font.ios.ts b/packages/core/ui/styling/font.ios.ts index 0f56d35a3..7d685a68e 100644 --- a/packages/core/ui/styling/font.ios.ts +++ b/packages/core/ui/styling/font.ios.ts @@ -1,4 +1,4 @@ -import { Font as FontBase, parseFontFamily, FontWeight, FontStyleType, FontWeightType, FontVariationSettingsType, FontVariationSettings } from './font-common'; +import { Font as FontBase, parseFontFamily, FontWeight, FontStyleType, FontWeightType, FontVariationSettingsType, FontVariationSettings, fuzzySearch } from './font-common'; import { Trace } from '../../trace'; import * as fs from '../../file-system'; export * from './font-common'; @@ -7,7 +7,7 @@ interface FontDescriptor { fontFamily: string[]; fontSize: number; fontWeight: number; - fontVariationSettings: FontVariationSettingsType[] | null; + fontVariationSettings: Array | null; isBold: boolean; isItalic: boolean; } @@ -59,7 +59,7 @@ function getUIFontCached(fontDescriptor: FontDescriptor) { export class Font extends FontBase { public static default = new Font(undefined, undefined); - constructor(family: string, size: number, style?: FontStyleType, weight?: FontWeightType, scale?: number, variationSettings?: FontVariationSettingsType[]) { + constructor(family: string, size: number, style?: FontStyleType, weight?: FontWeightType, scale?: number, variationSettings?: Array) { super(family, size, style, weight, scale, variationSettings); } @@ -83,7 +83,7 @@ export class Font extends FontBase { return new Font(this.fontFamily, this.fontSize, this.fontStyle, this.fontWeight, scale, this.fontVariationSettings); } - public withFontVariationSettings(variationSettings: FontVariationSettingsType[] | null): Font { + public withFontVariationSettings(variationSettings: Array | null): Font { return new Font(this.fontFamily, this.fontSize, this.fontStyle, this.fontWeight, this.fontScale, variationSettings); } diff --git a/packages/core/ui/styling/style-properties.ts b/packages/core/ui/styling/style-properties.ts index 43205373b..94788678f 100644 --- a/packages/core/ui/styling/style-properties.ts +++ b/packages/core/ui/styling/style-properties.ts @@ -4,7 +4,7 @@ import { Style } from '../styling/style'; import { Transformation, TransformationValue, TransformFunctionsInfo } from '../animation'; import { Color } from '../../color'; -import { Font, parseFont, FontStyle, FontWeight, FontVariationSettings } from '../../ui/styling/font'; +import { Font, parseFont, FontStyle, FontWeight, FontVariationSettings, FontVariationSettingsType } from '../../ui/styling/font'; import { layout, hasDuplicates } from '../../utils'; import { Background } from '../../ui/styling/background'; @@ -1424,7 +1424,7 @@ const fontProperty = new ShorthandProperty({ }); fontProperty.register(Style); -export const fontVariationSettingsProperty = new InheritedCssProperty({ +export const fontVariationSettingsProperty = new InheritedCssProperty | null>({ name: 'fontVariationSettings', cssName: 'font-variation-settings', affectsLayout: global.isIOS,