Files
NativeScript/tns-core-modules/ui/styling/css-selector-parser.d.ts
Panayot Cankov c1aeeb51a7 Inital by-type split
Split type.class from CssTypeSelector to CssCompositeSelector, probably support type#id.class selectors

Apply review comments, refactor css-selectors internally

Applied refactoring, all tests pass, button does not notify changes

Add tests for the css selectors parser.

Added tests for css-selectors

Added basic implementation of mayMatch and changeMap for css match state

Implemented TKUnit.assertDeepEqual to check key and key/values in Map and Set

Watch for property and pseudoClass changes

Add one child group test

Add typings for animations

Added mechanism to enable/disable listeners for pseudo classes

Count listeners instead of checking handlers, reverse subscription and unsubscription
2016-07-18 17:24:09 +03:00

39 lines
1.5 KiB
TypeScript

//@private
declare module "ui/styling/css-selector-parser" {
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[];
}