react-naver-maps
Version:
React Navermaps API integration for modern development.
60 lines (57 loc) • 2.88 kB
TypeScript
import * as react from 'react';
import { UIEventHandlers } from '../types/event.js';
import { UncontrolledKey } from '../utils/uncontrolled.js';
declare const locationalKeys: readonly ["position"];
declare const uiEvents: readonly ["mousedown", "mouseup", "click", "dblclick", "rightclick", "mouseover", "mouseout", "dragstart", "drag", "dragend"];
declare type MarkerKVO = {
/** Animation??? */
animation: naver.maps.Animation;
position: naver.maps.Coord | naver.maps.CoordLiteral;
icon: string | naver.maps.ImageIcon | naver.maps.SymbolIcon | naver.maps.HtmlIcon;
shape: naver.maps.MarkerShape;
title: string;
cursor: string;
clickable: boolean;
draggable: boolean;
visible: boolean;
zIndex: number;
};
declare type UncontrolledProps = {
[key in typeof locationalKeys[number] as UncontrolledKey<key>]: MarkerKVO[key];
};
declare type MarkerOptions = Partial<MarkerKVO>;
declare type Props = MarkerOptions & Partial<UncontrolledProps> & UIEventHandlers<typeof uiEvents> & {
onAnimationChanged?: (value: naver.maps.Animation) => void;
onPositionChanged?: (value: naver.maps.Coord) => void;
onIconChanged?: (value: string | naver.maps.ImageIcon | naver.maps.HtmlIcon | naver.maps.SymbolIcon) => void;
onShapeChanged?: (event: naver.maps.MarkerShape) => void;
onTitleChanged?: (event: string) => void;
onCursorChanged?: (event: string) => void;
onClickableChanged?: (event: boolean) => void;
onDraggableChanged?: (event: boolean) => void;
onVisibleChanged?: (event: boolean) => void;
/**
* hello yeah
* @param event helo?
* @returns
*/
onZIndexChanged?: (event: number) => void;
};
declare const Marker: react.ForwardRefExoticComponent<Partial<MarkerKVO> & Partial<UncontrolledProps> & Partial<Record<"onClick" | "onDrag" | "onMousedown" | "onMouseup" | "onDblclick" | "onRightclick" | "onMouseover" | "onMouseout" | "onDragstart" | "onDragend", (e: naver.maps.PointerEvent) => void>> & {
onAnimationChanged?: ((value: naver.maps.Animation) => void) | undefined;
onPositionChanged?: ((value: naver.maps.Coord) => void) | undefined;
onIconChanged?: ((value: string | naver.maps.ImageIcon | naver.maps.HtmlIcon | naver.maps.SymbolIcon) => void) | undefined;
onShapeChanged?: ((event: naver.maps.MarkerShape) => void) | undefined;
onTitleChanged?: ((event: string) => void) | undefined;
onCursorChanged?: ((event: string) => void) | undefined;
onClickableChanged?: ((event: boolean) => void) | undefined;
onDraggableChanged?: ((event: boolean) => void) | undefined;
onVisibleChanged?: ((event: boolean) => void) | undefined;
/**
* hello yeah
* @param event helo?
* @returns
*/
onZIndexChanged?: ((event: number) => void) | undefined;
} & react.RefAttributes<naver.maps.Marker>>;
export { Marker, Props };