import { EditableTextBase as EditableTextBaseDefinition } from "ui/editable-text-base"; import { Property, CssProperty } from "ui/core/properties"; import { TextBase } from "ui/text-base"; import { Style } from "ui/styling/style"; import { Color } from "color"; export * from "ui/text-base"; export abstract class EditableTextBase extends TextBase implements EditableTextBaseDefinition { public keyboardType: "datetime" | "phone" | "number" | "url" | "email"; public returnKeyType: "done" | "next" | "go" | "search" | "send"; public updateTextTrigger: "focusLost" | "textChanged"; public autocapitalizationType: "none" | "words" | "sentences" | "allCharacters"; public editable: boolean; public autocorrect: boolean; public hint: string; public abstract dismissSoftInput(); } export let placeholderColorProperty = new CssProperty({ name: "placeholderColor", cssName: "placeholder-color", equalityComparer: Color.equals, valueConverter: (v: string) => new Color(v) }); placeholderColorProperty.register(Style); export let keyboardTypeProperty = new Property({ name: "keyboardType" }); keyboardTypeProperty.register(EditableTextBase); export let returnKeyTypeProperty = new Property({ name: "returnKeyType" }); returnKeyTypeProperty.register(EditableTextBase); export let editableProperty = new Property({ name: "editable", defaultValue: true }); editableProperty.register(EditableTextBase); export let updateTextTriggerProperty = new Property({ name: "updateTextTrigger", defaultValue: "textChanged" }); updateTextTriggerProperty.register(EditableTextBase); export let autocapitalizationTypeProperty = new Property({ name: "autocapitalizationType", defaultValue: "sentences" }); autocapitalizationTypeProperty.register(EditableTextBase); export let autocorrectProperty = new Property({ name: "autocorrect" }); autocorrectProperty.register(EditableTextBase); export let hintProperty = new Property({ name: "hint", defaultValue: "" }); hintProperty.register(EditableTextBase);