From 8ea1c5c74350f6a89133593e6548539af2380ad1 Mon Sep 17 00:00:00 2001 From: Vladimir Enchev Date: Thu, 26 Mar 2015 11:49:25 +0200 Subject: [PATCH] missing TS defs added --- CrossPlatformModules.csproj | 22 +++++++------ ui/styling/css-selector.d.ts | 56 ++++++++++++++++++++++++++++++++++ ui/styling/style-property.d.ts | 19 ++++++++++++ 3 files changed, 87 insertions(+), 10 deletions(-) create mode 100644 ui/styling/css-selector.d.ts create mode 100644 ui/styling/style-property.d.ts diff --git a/CrossPlatformModules.csproj b/CrossPlatformModules.csproj index 32ae99e50..862f8445a 100644 --- a/CrossPlatformModules.csproj +++ b/CrossPlatformModules.csproj @@ -250,15 +250,15 @@ - - location.d.ts - - - location.d.ts - - - location.d.ts - + + location.d.ts + + + location.d.ts + + + location.d.ts + @@ -394,7 +394,9 @@ + + @@ -1513,7 +1515,7 @@ False - + \ No newline at end of file diff --git a/ui/styling/css-selector.d.ts b/ui/styling/css-selector.d.ts new file mode 100644 index 000000000..f524d6363 --- /dev/null +++ b/ui/styling/css-selector.d.ts @@ -0,0 +1,56 @@ +declare module "ui/styling/css-selector" { + import view = require("ui/core/view"); + import cssParser = require("js-libs/reworkcss"); + import styleProperty = require("ui/styling/style-property"); + + export class CssSelector { + constructor(expression: string, declarations: cssParser.Declaration[]); + + expression: string; + + declarations(): Array<{ property: string; value: any }>; + + specificity: number; + + matches(view: view.View): boolean; + + apply(view: view.View); + + eachSetter(callback: (property: styleProperty.Property, resolvedValue: any) => void); + } + + class CssTypeSelector extends CssSelector { + specificity: number; + matches(view: view.View): boolean; + } + + class CssIdSelector extends CssSelector { + specificity: number; + matches(view: view.View): boolean; + } + + class CssClassSelector extends CssSelector { + specificity: number; + matches(view: view.View): boolean; + } + + export class CssVisualStateSelector extends CssSelector { + specificity: number; + + key: string; + + state: string; + + constructor(expression: string, declarations: cssParser.Declaration[]); + matches(view: view.View): boolean; + } + + export function createSelector(expression: string, declarations: cssParser.Declaration[]): CssSelector; + + class InlineStyleSelector extends CssSelector { + constructor(declarations: cssParser.Declaration[]); + apply(view: view.View); + } + + export function applyInlineSyle(view: view.View, declarations: cssParser.Declaration[]); +} \ No newline at end of file diff --git a/ui/styling/style-property.d.ts b/ui/styling/style-property.d.ts new file mode 100644 index 000000000..b2c9a27f2 --- /dev/null +++ b/ui/styling/style-property.d.ts @@ -0,0 +1,19 @@ +declare module "ui/styling/style-property" { + import definition = require("ui/styling"); + import observable = require("ui/core/dependency-observable"); + + export function getPropertyByName(name: string): Property; + + export function getPropertyByCssName(name: string): Property; + + export function eachProperty(callback: (property: Property) => void); + + export function eachInheritableProperty(callback: (property: Property) => void); + + export class Property extends observable.Property implements definition.Property { + + constructor(name: string, cssName: string, metadata: observable.PropertyMetadata, valueConverter?: (value: any) => any); + + cssName: string; + } +} \ No newline at end of file