UNPKG

@yandex/ymaps3-types

Version:

Types for ymaps3 maps library

56 lines (55 loc) 1.79 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; }; /** * 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 {};