mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-15 11:01:21 +08:00

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
39 lines
1.5 KiB
TypeScript
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[];
|
|
} |