mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-16 11:42:04 +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
37 lines
1.4 KiB
TypeScript
37 lines
1.4 KiB
TypeScript
//@private
|
|
declare module "ui/styling/style-scope" {
|
|
import view = require("ui/core/view");
|
|
import cssParser = require("css");
|
|
import {RuleSet, Node, SelectorCore, ChangeMap} from "ui/styling/css-selector";
|
|
import {KeyframeAnimationInfo} from "ui/animation/keyframe-animation";
|
|
|
|
export class CssState {
|
|
/**
|
|
* Re-evaluate the selectors and apply any changes to the underlying view.
|
|
*/
|
|
public apply(): void;
|
|
|
|
/**
|
|
* Gets the static selectors that match the view and the dynamic selectors that may potentially match the view.
|
|
*/
|
|
public changeMap: ChangeMap<view.View>;
|
|
}
|
|
|
|
export class StyleScope {
|
|
public css: string;
|
|
public addCss(cssString: string, cssFileName: string): void;
|
|
|
|
public static createSelectorsFromCss(css: string, cssFileName: string, keyframes: Object): RuleSet[];
|
|
public static createSelectorsFromImports(tree: cssParser.SyntaxTree, keyframes: Object): RuleSet[];
|
|
public ensureSelectors(): boolean;
|
|
|
|
public applySelectors(view: view.View): void
|
|
public query(options: Node): SelectorCore[];
|
|
|
|
public getKeyframeAnimationWithName(animationName: string): KeyframeAnimationInfo;
|
|
public getAnimations(ruleset: RuleSet): KeyframeAnimationInfo[];
|
|
}
|
|
|
|
export function applyInlineSyle(view: view.View, style: string): void;
|
|
}
|