Merge branch 'master' into release/8.2.0

This commit is contained in:
Nathan Walker
2022-03-01 13:21:10 -08:00
committed by GitHub
3 changed files with 12 additions and 12 deletions

View File

@@ -3,7 +3,7 @@ import { isCssVariable } from '../../core/properties';
import { isNullOrUndefined } from '../../../utils/types'; import { isNullOrUndefined } from '../../../utils/types';
import * as cssParser from '../../../css'; import * as cssParser from '../../../css';
import * as parser from '../../../css/parser'; import { Combinator as ICombinator , SimpleSelectorSequence as ISimpleSelectorSequence, Selector as ISelector, SimpleSelector as ISimpleSelector, parseSelector} from '../../../css/parser';
/** /**
* An interface describing the shape of a type on which the selectors may apply. * An interface describing the shape of a type on which the selectors may apply.
@@ -527,7 +527,7 @@ function createDeclaration(decl: cssParser.Declaration): any {
return { property: isCssVariable(decl.property) ? decl.property : decl.property.toLowerCase(), value: decl.value }; return { property: isCssVariable(decl.property) ? decl.property : decl.property.toLowerCase(), value: decl.value };
} }
function createSimpleSelectorFromAst(ast: parser.SimpleSelector): SimpleSelector { function createSimpleSelectorFromAst(ast: ISimpleSelector): SimpleSelector {
if (ast.type === '.') { if (ast.type === '.') {
return new ClassSelector(ast.identifier); return new ClassSelector(ast.identifier);
} }
@@ -553,7 +553,7 @@ function createSimpleSelectorFromAst(ast: parser.SimpleSelector): SimpleSelector
} }
} }
function createSimpleSelectorSequenceFromAst(ast: parser.SimpleSelectorSequence): SimpleSelectorSequence | SimpleSelector { function createSimpleSelectorSequenceFromAst(ast: ISimpleSelectorSequence): SimpleSelectorSequence | SimpleSelector {
if (ast.length === 0) { if (ast.length === 0) {
return new InvalidSelector(new Error('Empty simple selector sequence.')); return new InvalidSelector(new Error('Empty simple selector sequence.'));
} else if (ast.length === 1) { } else if (ast.length === 1) {
@@ -563,7 +563,7 @@ function createSimpleSelectorSequenceFromAst(ast: parser.SimpleSelectorSequence)
} }
} }
function createSelectorFromAst(ast: parser.Selector): SimpleSelector | SimpleSelectorSequence | Selector { function createSelectorFromAst(ast: ISelector): SimpleSelector | SimpleSelectorSequence | Selector {
if (ast.length === 0) { if (ast.length === 0) {
return new InvalidSelector(new Error('Empty selector.')); return new InvalidSelector(new Error('Empty selector.'));
} else if (ast.length === 1) { } else if (ast.length === 1) {
@@ -571,10 +571,10 @@ function createSelectorFromAst(ast: parser.Selector): SimpleSelector | SimpleSel
} else { } else {
const simpleSelectorSequences = []; const simpleSelectorSequences = [];
let simpleSelectorSequence: SimpleSelectorSequence | SimpleSelector; let simpleSelectorSequence: SimpleSelectorSequence | SimpleSelector;
let combinator: parser.Combinator; let combinator: ICombinator;
for (let i = 0; i < ast.length; i++) { for (let i = 0; i < ast.length; i++) {
simpleSelectorSequence = createSimpleSelectorSequenceFromAst(<parser.SimpleSelectorSequence>ast[i][0]); simpleSelectorSequence = createSimpleSelectorSequenceFromAst(<ISimpleSelectorSequence>ast[i][0]);
combinator = <parser.Combinator>ast[i][1]; combinator = <ICombinator>ast[i][1];
if (combinator) { if (combinator) {
simpleSelectorSequence.combinator = combinator; simpleSelectorSequence.combinator = combinator;
} }
@@ -587,7 +587,7 @@ function createSelectorFromAst(ast: parser.Selector): SimpleSelector | SimpleSel
export function createSelector(sel: string): SimpleSelector | SimpleSelectorSequence | Selector { export function createSelector(sel: string): SimpleSelector | SimpleSelectorSequence | Selector {
try { try {
const parsedSelector = parser.parseSelector(sel); const parsedSelector = parseSelector(sel);
if (!parsedSelector) { if (!parsedSelector) {
return new InvalidSelector(new Error('Empty selector')); return new InvalidSelector(new Error('Empty selector'));
} }

View File

@@ -1,6 +1,6 @@
import { CoreTypes } from '../../core-types'; import { CoreTypes } from '../../core-types';
import { Color } from '../../color'; import { Color } from '../../color';
import { LinearGradient as CSSLinearGradient } from '../../css/parser'; import type { LinearGradient as CSSLinearGradient } from '../../css/parser';
export interface ColorStop { export interface ColorStop {
color: Color; color: Color;

View File

@@ -14,7 +14,7 @@ import { decompose2DTransformMatrix, getTransformMatrix, matrixArrayToCssMatrix,
import { Trace } from '../../trace'; import { Trace } from '../../trace';
import { CoreTypes } from '../../core-types'; import { CoreTypes } from '../../core-types';
import * as parser from '../../css/parser'; import { parseBackground } from '../../css/parser';
import { LinearGradient } from './linear-gradient'; import { LinearGradient } from './linear-gradient';
import { CSSShadow, parseCSSShadow } from './css-shadow'; import { CSSShadow, parseCSSShadow } from './css-shadow';
@@ -785,7 +785,7 @@ export const backgroundImageProperty = new CssProperty<Style, string | LinearGra
}, },
valueConverter: (value: any) => { valueConverter: (value: any) => {
if (typeof value === 'string') { if (typeof value === 'string') {
const parsed = parser.parseBackground(value); const parsed = parseBackground(value);
if (parsed) { if (parsed) {
value = typeof parsed.value.image === 'object' ? LinearGradient.parse(parsed.value.image) : value; value = typeof parsed.value.image === 'object' ? LinearGradient.parse(parsed.value.image) : value;
} }
@@ -837,7 +837,7 @@ backgroundPositionProperty.register(Style);
function convertToBackgrounds(this: void, value: string): [CssProperty<any, any>, any][] { function convertToBackgrounds(this: void, value: string): [CssProperty<any, any>, any][] {
if (typeof value === 'string') { if (typeof value === 'string') {
const backgrounds = parser.parseBackground(value).value; const backgrounds = parseBackground(value).value;
let backgroundColor = unsetValue; let backgroundColor = unsetValue;
if (backgrounds.color) { if (backgrounds.color) {
backgroundColor = backgrounds.color instanceof Color ? backgrounds.color : new Color(backgrounds.color); backgroundColor = backgrounds.color instanceof Color ? backgrounds.color : new Color(backgrounds.color);