UNPKG

@nativescript/core

Version:

A JavaScript library providing an easy to use api for interacting with iOS and Android platform APIs.

109 lines (108 loc) • 4.74 kB
import { Color } from '../color'; export type Parsed<V> = { start: number; end: number; value: V; }; export type URL = string; export type Angle = number; export interface Unit<T> { value: number; unit: string; } export type Length = Unit<'px' | 'dip'>; export type Percentage = Unit<'%'>; export type LengthPercentage = Length | Percentage; export type Keyword = string; export interface ColorStop { color: Color; offset?: LengthPercentage; } export interface LinearGradient { angle: number; colors: ColorStop[]; } export interface Background { readonly color?: number | Color; readonly image?: URL | LinearGradient; readonly repeat?: BackgroundRepeat; readonly position?: BackgroundPosition; readonly size?: BackgroundSize; } export type BackgroundRepeat = 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat'; export type BackgroundSize = 'auto' | 'cover' | 'contain' | { x: LengthPercentage; y: 'auto' | LengthPercentage; }; export type HorizontalAlign = 'left' | 'center' | 'right'; export type VerticalAlign = 'top' | 'center' | 'bottom'; export interface HorizontalAlignWithOffset { readonly align: 'left' | 'right'; readonly offset: LengthPercentage; } export interface VerticalAlignWithOffset { readonly align: 'top' | 'bottom'; readonly offset: LengthPercentage; } export interface BackgroundPosition { readonly x: HorizontalAlign | HorizontalAlignWithOffset; readonly y: VerticalAlign | VerticalAlignWithOffset; text?: string; } export declare function parseURL(text: string, start?: number): Parsed<URL>; export declare function parseHexColor(text: string, start?: number): Parsed<Color>; export declare function parseCssColor(text: string, start?: number): Parsed<Color>; export declare function convertHSLToRGBColor(hue: number, saturation: number, lightness: number): { r: number; g: number; b: number; }; export declare function parseColorKeyword(value: any, start: number, keyword?: Parsed<string>): Parsed<Color>; export declare function parseColor(value: string, start?: number, keyword?: Parsed<string>): Parsed<Color>; export declare function parseRepeat(value: string, start?: number, keyword?: Parsed<string>): Parsed<BackgroundRepeat>; export declare function parseUnit(text: string, start?: number): Parsed<Unit<string>>; export declare function parsePercentageOrLength(text: string, start?: number): Parsed<LengthPercentage>; export declare function parseAngle(value: string, start?: number): Parsed<Angle>; export declare function parseBackgroundSize(value: string, start?: number, keyword?: Parsed<string>): Parsed<BackgroundSize>; export declare function parseBackgroundPosition(text: string, start?: number, keyword?: Parsed<string>): Parsed<BackgroundPosition>; export declare function parseColorStop(text: string, start?: number): Parsed<ColorStop>; export declare function parseLinearGradient(text: string, start?: number): Parsed<LinearGradient>; export declare function parseBackground(text: string, start?: number): Parsed<Background>; export type Combinator = '+' | '~' | '>' | ' '; export interface UniversalSelector { type: '*'; } export interface TypeSelector { type: ''; identifier: string; } export interface ClassSelector { type: '.'; identifier: string; } export interface IdSelector { type: '#'; identifier: string; } export interface PseudoClassSelector { type: ':'; identifier: string; } export type AttributeSelectorTest = '=' | '^=' | '$=' | '*=' | '~=' | '|='; export interface AttributeSelector { type: '[]'; property: string; test?: AttributeSelectorTest; value?: string; } export type SimpleSelector = UniversalSelector | TypeSelector | ClassSelector | IdSelector | PseudoClassSelector | AttributeSelector; export type SimpleSelectorSequence = SimpleSelector[]; export type SelectorCombinatorPair = [SimpleSelectorSequence, Combinator]; export type Selector = SelectorCombinatorPair[]; export declare function parseUniversalSelector(text: string, start?: number): Parsed<UniversalSelector>; export declare function parseSimpleIdentifierSelector(text: string, start?: number): Parsed<TypeSelector | ClassSelector | IdSelector | PseudoClassSelector>; export declare function parseAttributeSelector(text: string, start: number): Parsed<AttributeSelector>; export declare function parseSimpleSelector(text: string, start?: number): Parsed<SimpleSelector>; export declare function parseSimpleSelectorSequence(text: string, start: number): Parsed<SimpleSelector[]>; export declare function parseCombinator(text: string, start?: number): Parsed<Combinator>; export declare function parseSelector(text: string, start?: number): Parsed<Selector>;