Files
Kirill Goncharov 9217094a8e feat(html-view): Additional properties for HtmlView component (#8207)
* feat(html-view): Additional properties for HtmlView component

- Allow to set text color with `color` CSS property.
- Allow to set link color with `link-color` CSS property.
- Allow to set font attributes with `font-family` and `font-size` CSS properties.
- Make text selectable on Android by default (for consistency with IOS).
- Remove extra padding on IOS.

* refactor: Move uiColorToHex function to nativescript-core/color module

* test: adding test for new HtmlView css properties

Co-authored-by: Vasil Trifonov <v.trifonov@gmail.com>
2020-01-08 18:48:29 +02:00

26 lines
871 B
TypeScript

import { Color } from "../../color";
import { Style, CssProperty } from "../core/properties";
import { View, Property, CSSType } from "../core/view";
import { HtmlView as HtmlViewDefinition } from ".";
export * from "../core/view";
@CSSType("HtmlView")
export class HtmlViewBase extends View implements HtmlViewDefinition {
public html: string;
}
HtmlViewBase.prototype.recycleNativeView = "auto";
// TODO: Can we use Label.ios optimization for affectsLayout???
export const htmlProperty = new Property<HtmlViewBase, string>({ name: "html", defaultValue: "", affectsLayout: true });
htmlProperty.register(HtmlViewBase);
export const linkColorProperty = new CssProperty<Style, Color>({
name: "linkColor",
cssName: "link-color",
equalityComparer: Color.equals,
valueConverter: (value) => new Color(value),
});
linkColorProperty.register(Style);