mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-15 19:26:42 +08:00
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
This commit is contained in:
39
tns-core-modules/ui/styling/css-selector-parser.d.ts
vendored
Normal file
39
tns-core-modules/ui/styling/css-selector-parser.d.ts
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
//@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[];
|
||||
}
|
Reference in New Issue
Block a user