import { BoxProps } from "@chakra-ui/react"; import { CommonComponentProps } from "@open-pioneer/react-utils"; import { ReactNode } from "react"; import { MapPadding } from "../model/MapModel"; import { MapModelProps } from "./hooks/useMapModel"; /** * @group UI Components and Hooks */ export interface MapContainerProps extends CommonComponentProps, MapModelProps { /** * Sets the map's padding directly. * Do not use the view's padding property directly on the OL map. * * See: https://openlayers.org/en/latest/apidoc/module-ol_View-View.html#padding) */ viewPadding?: MapPadding | undefined; /** * Behavior performed by the map when the view padding changes. * * - `none`: Do nothing. * - `preserve-center`: Ensures that the center point remains the same by animating the view. * - `preserve-extent`: Ensures that the extent remains the same by zooming. * * @default "preserve-center" */ viewPaddingChangeBehavior?: "none" | "preserve-center" | "preserve-extent"; children?: ReactNode; /** * Optional role property. * * This property is directly applied to the map's container div element. * * @default "application" */ role?: string; /** * Optional aria-labelledby property. * Do not use together with aria-label. * * This property is directly applied to the map's container div element. */ "aria-labelledby"?: string; /** * Optional aria-label property. * Do not use together with aria-label. * * This property is directly applied to the map's container div element. */ "aria-label"?: string; /** * Arbitrary html properties that will be applied to the map container's _root_ element. * This is the element that contains the map container and any UI elements (like map anchors, for example). * * Use these at your own risk since they may be overwritten by the map container root itself. * * Use cases: setting custom data attributes, registering custom event handlers, ... */ rootProps?: BoxProps; /** * Arbitrary html properties that will be applied to the map container's element. * This is the element that _renders_ the OpenLayers map. * * Use these at your own risk since they may be overwritten by the map container itself. * * Use cases: setting custom data attributes, registering custom event handlers, ... */ containerProps?: BoxProps; } /** * Displays the map with the given id. * * There can only be at most one MapContainer for every map. * * @group UI Components and Hooks */ export declare function MapContainer(props: MapContainerProps): import("react").JSX.Element;