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