mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-15 02:54:11 +08:00
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
/**
|
|
* @module "ui/styling/css-selector-parser"
|
|
* @private
|
|
*/ /** */
|
|
|
|
//@private
|
|
export interface SimpleSelector {
|
|
pos: number;
|
|
type: "" | "*" | "#" | "." | ":" | "[]";
|
|
comb?: "+" | "~" | ">" | " ";
|
|
}
|
|
export interface SimpleIdentifierSelector extends SimpleSelector {
|
|
ident: string;
|
|
}
|
|
export interface UniversalSelector extends SimpleSelector {
|
|
type: "*";
|
|
}
|
|
export interface TypeSelector extends SimpleIdentifierSelector {
|
|
type: "";
|
|
}
|
|
export interface ClassSelector extends SimpleIdentifierSelector {
|
|
type: ".";
|
|
}
|
|
export interface IdSelector extends SimpleIdentifierSelector {
|
|
type: "#";
|
|
}
|
|
export interface PseudoClassSelector extends SimpleIdentifierSelector {
|
|
type: ":";
|
|
}
|
|
export interface AttributeSelector extends SimpleSelector {
|
|
type: "[]";
|
|
prop: string;
|
|
test?: "=" | "^=" | "$=" | "*=" | "=" | "~=" | "|=";
|
|
value?: string;
|
|
}
|
|
export function isUniversal(sel: SimpleSelector): sel is UniversalSelector;
|
|
export function isType(sel: SimpleSelector): sel is TypeSelector;
|
|
export function isClass(sel: SimpleSelector): sel is ClassSelector;
|
|
export function isId(sel: SimpleSelector): sel is IdSelector;
|
|
export function isPseudo(sel: SimpleSelector): sel is PseudoClassSelector;
|
|
export function isAttribute(sel: SimpleSelector): sel is AttributeSelector;
|
|
export function parse(selector: string): SimpleSelector[];
|