@yandex/ymaps3-types
Version:
Types for ymaps3 maps library
65 lines (64 loc) • 2.17 kB
TypeScript
import { overrideKeyReactify } from "../wrappers";
import { YMapGroupEntity } from "../YMapEnities";
/**
* YMapControl props
*/
export type YMapControlProps = {
/** Makes the control transparent by removing background color and shadows */
transparent?: boolean;
};
declare const defaultProps: Readonly<{
transparent: false;
}>;
type DefaultProps = typeof defaultProps;
/**
* DOM wrapper for creating custom controls. Connects the styles required by the control.
*
* @example
* ```javascript
* const control = new YMapControl();
* class YMapSomeController extends DomEntity {
* _createDom() {
* const element = document.createElement('button');
* this._updateDom(element, this._props, true);
* return element;
* }
* _updateDom(element, props, init = false) {
* element.innerText = props.title;
* }
* }
* const button = new YMapSomeController({
* title: 'Click me!'
* });
* control.addChild(button);
* map.addChild(control);
* @see [[YMapControlCommonButton]]
* ```
*
* @module YMapControl
*/
export declare class YMapControl extends YMapGroupEntity<YMapControlProps, DefaultProps> {
static defaultProps: Readonly<{
transparent: false;
}>;
static [overrideKeyReactify]: import("../../reactify/reactify").CustomReactify<YMapControl, import("react").ForwardRefExoticComponent<{
transparent?: boolean | undefined;
children?: import("react").ReactNode;
ref?: import("react").Ref<import("../Entities").GenericEntity<YMapControlProps & {
controlElement: HTMLElement;
}, {}, import("../Entities").GenericRootEntity<unknown, {}>>> | undefined;
key?: import("react").Key | null | undefined;
}>>;
private _element?;
private _innerElement?;
private _detachDom?;
private _unwatchThemeContext?;
constructor(props?: YMapControlProps, element?: HTMLElement);
protected _createDom(): HTMLElement;
protected _onAttach(): void;
protected _onUpdate(props: Partial<YMapControlProps>): void;
private __watchThemeContext;
protected _onDetach(): void;
private _updateTheme;
}
export {};