UNPKG

@yandex/ymaps3-types

Version:

Types for ymaps3 maps library

61 lines (60 loc) 1.95 kB
import { Context } from '../Entities'; import { YMapEntity, YMapGroupEntity } from '../YMapEnities'; type VerticalPosition = 'top' | 'bottom'; type ComputedVerticalPosition = 'top' | 'center' | 'bottom'; type HorizontalPosition = 'left' | 'right'; type ComputedHorizontalPosition = 'left' | 'center' | 'right'; type Orientation = 'horizontal' | 'vertical'; export type YMapControlContext = { position: [ ComputedVerticalPosition, ComputedHorizontalPosition, Orientation ]; }; export declare const ControlContext: Context<YMapControlContext>; /** * Describes controls position. */ type Position = VerticalPosition | HorizontalPosition | `${VerticalPosition} ${HorizontalPosition}` | `${HorizontalPosition} ${VerticalPosition}`; /** * YMapControls props */ export type YMapControlsProps = { /** Controls position. */ position: Position; /** Controls orientation. */ orientation?: Orientation; }; export declare function prepareProps(props: YMapControlsProps): [ ComputedVerticalPosition, ComputedHorizontalPosition, Orientation ] | null; /** * DOM container for grouping a number of controls to group and position them * @example *```javascript * const map = new YMap(document.getElementById('map-root'), { * location: [37.622504, 55.753215], * mode: 'raster' * }); * const controls = new YMapControls({position: 'top left horizontal'}); * const button = text => new YMapControlButton({ * text: 'Click me', * onClick: () => { * alert('Click'); * } * }); * map.addChild(controls); * ``` */ export declare class YMapControls extends YMapGroupEntity<YMapControlsProps> { private _element?; private _detachDom?; constructor(props: YMapControlsProps, children?: YMapEntity<unknown>[]); protected _onAttach(): void; protected _onUpdate(diffProps: Partial<YMapControlsProps>): void; protected _onDetach(): void; } export {};