POLAR reference
    Preparing search index...

    Plugin store for the icon menu.

    • Returns a store, creates it if necessary.

      Parameters

      • Optionalpinia: Pinia | null

        Pinia instance to retrieve the store

      • Optionalhot: StoreGeneric

        dev only hot module replacement

      Returns PiniaStore<useIconMenuStore>

    Index

    Properties

    _instance: Pinia
    buttonComponent:
        | Raw<
            | FunctionalComponent<any, {}, any, {}>
            | ComponentPublicInstanceConstructor<
                any,
                any,
                any,
                any,
                ComputedOptions,
                MethodOptions,
            >
            | {
                __defaults?: {};
                __differentiator?: string
                | number
                | symbol;
                __file?: string;
                __isBuiltIn?: boolean;
                __isFragment?: undefined;
                __isSuspense?: undefined;
                __isTeleport?: undefined;
                __name?: string;
                activated?: () => any;
                beforeCreate?: () => any;
                beforeDestroy?: () => any;
                beforeMount?: () => any;
                beforeUnmount?: () => any;
                beforeUpdate?: () => any;
                call?: (this: unknown, ...args: unknown[]) => never;
                compatConfig?: {
                    ATTR_ENUMERATED_COERCION?: boolean | "suppress-warning";
                    ATTR_FALSE_VALUE?: boolean | "suppress-warning";
                    COMPONENT_ASYNC?: boolean | "suppress-warning";
                    COMPONENT_FUNCTIONAL?: boolean | "suppress-warning";
                    COMPONENT_V_MODEL?: boolean | "suppress-warning";
                    CONFIG_DEVTOOLS?: boolean | "suppress-warning";
                    CONFIG_IGNORED_ELEMENTS?: boolean | "suppress-warning";
                    CONFIG_KEY_CODES?: boolean | "suppress-warning";
                    CONFIG_OPTION_MERGE_STRATS?: boolean | "suppress-warning";
                    CONFIG_PRODUCTION_TIP?: boolean | "suppress-warning";
                    CONFIG_SILENT?: boolean | "suppress-warning";
                    CONFIG_WHITESPACE?: boolean | "suppress-warning";
                    CUSTOM_DIR?: boolean | "suppress-warning";
                    FILTERS?: boolean | "suppress-warning";
                    GLOBAL_DELETE?: boolean | "suppress-warning";
                    GLOBAL_EXTEND?: boolean | "suppress-warning";
                    GLOBAL_MOUNT?: boolean | "suppress-warning";
                    GLOBAL_MOUNT_CONTAINER?: boolean | "suppress-warning";
                    GLOBAL_OBSERVABLE?: boolean | "suppress-warning";
                    GLOBAL_PRIVATE_UTIL?: boolean | "suppress-warning";
                    GLOBAL_PROTOTYPE?: boolean | "suppress-warning";
                    GLOBAL_SET?: boolean | "suppress-warning";
                    INSTANCE_ATTRS_CLASS_STYLE?: boolean | "suppress-warning";
                    INSTANCE_CHILDREN?: boolean | "suppress-warning";
                    INSTANCE_DELETE?: boolean | "suppress-warning";
                    INSTANCE_DESTROY?: boolean | "suppress-warning";
                    INSTANCE_EVENT_EMITTER?: boolean | "suppress-warning";
                    INSTANCE_EVENT_HOOKS?: boolean | "suppress-warning";
                    INSTANCE_LISTENERS?: boolean | "suppress-warning";
                    INSTANCE_SCOPED_SLOTS?: boolean | "suppress-warning";
                    INSTANCE_SET?: boolean | "suppress-warning";
                    MODE?:
                        | 2
                        | 3
                        | (
                            (
                                comp: Component<any, any, any, ComputedOptions, MethodOptions, {}, any> | null,
                            ) => 2 | 3
                        );
                    OPTIONS_BEFORE_DESTROY?: boolean | "suppress-warning";
                    OPTIONS_DATA_FN?: boolean | "suppress-warning";
                    OPTIONS_DATA_MERGE?: boolean | "suppress-warning";
                    OPTIONS_DESTROYED?: boolean | "suppress-warning";
                    PRIVATE_APIS?: boolean | "suppress-warning";
                    PROPS_DEFAULT_THIS?: boolean | "suppress-warning";
                    RENDER_FUNCTION?: boolean | "suppress-warning";
                    TRANSITION_CLASSES?: boolean | "suppress-warning";
                    TRANSITION_GROUP_ROOT?: boolean | "suppress-warning";
                    V_ON_KEYCODE_MODIFIER?: boolean | "suppress-warning";
                    WATCH_ARRAY?: boolean | "suppress-warning";
                };
                compilerOptions?: {
                    comments?: boolean;
                    delimiters?: [string, string];
                    isCustomElement?: (tag: string) => boolean;
                    whitespace?: "preserve" | "condense";
                };
                components?: Record<
                    string,
                    Component<any, any, any, ComputedOptions, MethodOptions, {}, any>,
                >;
                computed?: ComputedOptions;
                created?: () => any;
                data?: (this: any, vm: any) => any;
                deactivated?: () => any;
                delimiters?: [string, string];
                destroyed?: () => any;
                directives?: Record<string, Directive<any, any, string, any>>;
                emits?: any;
                errorCaptured?: ErrorCapturedHook<unknown>;
                expose?: string[];
                extends?: any;
                filters?: Record<string, Function>;
                inheritAttrs?: boolean;
                inject?: {} | string[];
                methods?: MethodOptions;
                mixins?: any[];
                mounted?: () => any;
                name?: string;
                provide?: ComponentProvideOptions | undefined;
                render?: Function;
                renderTracked?: DebuggerHook;
                renderTriggered?: DebuggerHook;
                serverPrefetch?: () => void | Promise<any>;
                setup?: (
                    this: void,
                    props: LooseRequired<
                        Props & Prettify<UnwrapMixinsType<(...) & (...), "P">>,
                    >,
                    ctx: {
                        attrs: Data;
                        emit:
                            | ((event: unknown, ...args: any[]) => void)
                            | ((event: string, ...args: any[]) => void);
                        expose: <Exposed extends Record<string, any> = Record<string, any>>(
                            exposed?: Exposed,
                        ) => void;
                        slots: UnwrapSlotsType<S>;
                    },
                ) => any;
                slots?: {};
                template?: string
                | object;
                unmounted?: () => any;
                updated?: () => any;
                watch?: ComponentWatchOptions;
                [key: string]: any;
            },
        >
        | null
    focusMenus: {
        icon: string;
        plugin: {
            id: PluginId;
            component?:
                | FunctionalComponent<any, {}, any, {}>
                | ComponentPublicInstanceConstructor<
                    any,
                    any,
                    any,
                    any,
                    ComputedOptions,
                    MethodOptions,
                >
                | {
                    __defaults?: {};
                    __differentiator?: string
                    | number
                    | symbol;
                    __file?: string;
                    __isBuiltIn?: boolean;
                    __isFragment?: undefined;
                    __isSuspense?: undefined;
                    __isTeleport?: undefined;
                    __name?: string;
                    activated?: () => any;
                    beforeCreate?: () => any;
                    beforeDestroy?: () => any;
                    beforeMount?: () => any;
                    beforeUnmount?: () => any;
                    beforeUpdate?: () => any;
                    call?: (this: unknown, ...args: unknown[]) => never;
                    compatConfig?: {
                        ATTR_ENUMERATED_COERCION?: boolean | "suppress-warning";
                        ATTR_FALSE_VALUE?: boolean | "suppress-warning";
                        COMPONENT_ASYNC?: boolean | "suppress-warning";
                        COMPONENT_FUNCTIONAL?: boolean | "suppress-warning";
                        COMPONENT_V_MODEL?: boolean | "suppress-warning";
                        CONFIG_DEVTOOLS?: boolean | "suppress-warning";
                        CONFIG_IGNORED_ELEMENTS?: boolean | "suppress-warning";
                        CONFIG_KEY_CODES?: boolean | "suppress-warning";
                        CONFIG_OPTION_MERGE_STRATS?: boolean | "suppress-warning";
                        CONFIG_PRODUCTION_TIP?: boolean | "suppress-warning";
                        CONFIG_SILENT?: boolean | "suppress-warning";
                        CONFIG_WHITESPACE?: boolean | "suppress-warning";
                        CUSTOM_DIR?: boolean | "suppress-warning";
                        FILTERS?: boolean | "suppress-warning";
                        GLOBAL_DELETE?: boolean | "suppress-warning";
                        GLOBAL_EXTEND?: boolean | "suppress-warning";
                        GLOBAL_MOUNT?: boolean | "suppress-warning";
                        GLOBAL_MOUNT_CONTAINER?: boolean | "suppress-warning";
                        GLOBAL_OBSERVABLE?: boolean | "suppress-warning";
                        GLOBAL_PRIVATE_UTIL?: boolean | "suppress-warning";
                        GLOBAL_PROTOTYPE?: boolean | "suppress-warning";
                        GLOBAL_SET?: boolean | "suppress-warning";
                        INSTANCE_ATTRS_CLASS_STYLE?: boolean | "suppress-warning";
                        INSTANCE_CHILDREN?: boolean | "suppress-warning";
                        INSTANCE_DELETE?: boolean | "suppress-warning";
                        INSTANCE_DESTROY?: boolean | "suppress-warning";
                        INSTANCE_EVENT_EMITTER?: boolean | "suppress-warning";
                        INSTANCE_EVENT_HOOKS?: boolean | "suppress-warning";
                        INSTANCE_LISTENERS?: boolean | "suppress-warning";
                        INSTANCE_SCOPED_SLOTS?: boolean | "suppress-warning";
                        INSTANCE_SET?: boolean | "suppress-warning";
                        MODE?:
                            | 2
                            | 3
                            | (
                                (
                                    comp:
                                        | Component<(...), (...), (...), (...), (...), (...), (...)>
                                        | null,
                                ) => 2 | 3
                            );
                        OPTIONS_BEFORE_DESTROY?: boolean | "suppress-warning";
                        OPTIONS_DATA_FN?: boolean | "suppress-warning";
                        OPTIONS_DATA_MERGE?: boolean | "suppress-warning";
                        OPTIONS_DESTROYED?: boolean | "suppress-warning";
                        PRIVATE_APIS?: boolean | "suppress-warning";
                        PROPS_DEFAULT_THIS?: boolean | "suppress-warning";
                        RENDER_FUNCTION?: boolean | "suppress-warning";
                        TRANSITION_CLASSES?: boolean | "suppress-warning";
                        TRANSITION_GROUP_ROOT?: boolean | "suppress-warning";
                        V_ON_KEYCODE_MODIFIER?: boolean | "suppress-warning";
                        WATCH_ARRAY?: boolean | "suppress-warning";
                    };
                    compilerOptions?: {
                        comments?: boolean;
                        delimiters?: [string, string];
                        isCustomElement?: (tag: string) => boolean;
                        whitespace?: "preserve" | "condense";
                    };
                    components?: Record<
                        string,
                        Component<any, any, any, ComputedOptions, MethodOptions, {}, any>,
                    >;
                    computed?: ComputedOptions;
                    created?: () => any;
                    data?: (this: any, vm: any) => any;
                    deactivated?: () => any;
                    delimiters?: [string, string];
                    destroyed?: () => any;
                    directives?: Record<string, Directive<any, any, string, any>>;
                    emits?: any;
                    errorCaptured?: ErrorCapturedHook<unknown>;
                    expose?: string[];
                    extends?: any;
                    filters?: Record<string, Function>;
                    inheritAttrs?: boolean;
                    inject?: {} | string[];
                    methods?: MethodOptions;
                    mixins?: any[];
                    mounted?: () => any;
                    name?: string;
                    provide?: ComponentProvideOptions;
                    render?: Function;
                    renderTracked?: DebuggerHook;
                    renderTriggered?: DebuggerHook;
                    serverPrefetch?: () => void | Promise<any>;
                    setup?: (
                        this: void,
                        props: LooseRequired<Props & Prettify<UnwrapMixinsType<(...), (...)>>>,
                        ctx: {
                            attrs: Data;
                            emit:
                                | ((event: unknown, ...args: (...)[]) => void)
                                | ((event: string, ...args: (...)[]) => void);
                            expose: <Exposed extends Record<string, any> = Record<string, any>>(
                                exposed?: Exposed,
                            ) => void;
                            slots: UnwrapSlotsType<S>;
                        },
                    ) => any;
                    slots?: {};
                    template?: string
                    | object;
                    unmounted?: () => any;
                    updated?: () => any;
                    watch?: ComponentWatchOptions;
                    [key: string]: any;
                };
            icon?: string;
            locales?: { resources: Record<string, ResourceKey>; type: string }[];
            options?: {
                displayComponent?: boolean;
                layoutTag?:
                    | "TOP_LEFT"
                    | "TOP_MIDDLE"
                    | "TOP_RIGHT"
                    | "MIDDLE_LEFT"
                    | "MIDDLE_MIDDLE"
                    | "MIDDLE_RIGHT"
                    | "BOTTOM_LEFT"
                    | "BOTTOM_MIDDLE"
                    | "BOTTOM_RIGHT";
            };
            storeModule?: PolarPluginStore<
                { setupPlugin?: () => void; teardownPlugin?: () => void },
            >;
        };
    }[]

    Type Declaration

    • icon: string

      Icon for icon menu button. If given, render a button with the icon. When clicked, open the content of the configured plugin. If not given, render the plugin content as is inside the IconMenu.

      Current examples for the usage without icon include Zoom and Fullscreen if MapConfiguration.layout | mapConfiguration.layers is set to 'nineRegions'

    • plugin: {
          id: PluginId;
          component?:
              | FunctionalComponent<any, {}, any, {}>
              | ComponentPublicInstanceConstructor<
                  any,
                  any,
                  any,
                  any,
                  ComputedOptions,
                  MethodOptions,
              >
              | {
                  __defaults?: {};
                  __differentiator?: string
                  | number
                  | symbol;
                  __file?: string;
                  __isBuiltIn?: boolean;
                  __isFragment?: undefined;
                  __isSuspense?: undefined;
                  __isTeleport?: undefined;
                  __name?: string;
                  activated?: () => any;
                  beforeCreate?: () => any;
                  beforeDestroy?: () => any;
                  beforeMount?: () => any;
                  beforeUnmount?: () => any;
                  beforeUpdate?: () => any;
                  call?: (this: unknown, ...args: unknown[]) => never;
                  compatConfig?: {
                      ATTR_ENUMERATED_COERCION?: boolean | "suppress-warning";
                      ATTR_FALSE_VALUE?: boolean | "suppress-warning";
                      COMPONENT_ASYNC?: boolean | "suppress-warning";
                      COMPONENT_FUNCTIONAL?: boolean | "suppress-warning";
                      COMPONENT_V_MODEL?: boolean | "suppress-warning";
                      CONFIG_DEVTOOLS?: boolean | "suppress-warning";
                      CONFIG_IGNORED_ELEMENTS?: boolean | "suppress-warning";
                      CONFIG_KEY_CODES?: boolean | "suppress-warning";
                      CONFIG_OPTION_MERGE_STRATS?: boolean | "suppress-warning";
                      CONFIG_PRODUCTION_TIP?: boolean | "suppress-warning";
                      CONFIG_SILENT?: boolean | "suppress-warning";
                      CONFIG_WHITESPACE?: boolean | "suppress-warning";
                      CUSTOM_DIR?: boolean | "suppress-warning";
                      FILTERS?: boolean | "suppress-warning";
                      GLOBAL_DELETE?: boolean | "suppress-warning";
                      GLOBAL_EXTEND?: boolean | "suppress-warning";
                      GLOBAL_MOUNT?: boolean | "suppress-warning";
                      GLOBAL_MOUNT_CONTAINER?: boolean | "suppress-warning";
                      GLOBAL_OBSERVABLE?: boolean | "suppress-warning";
                      GLOBAL_PRIVATE_UTIL?: boolean | "suppress-warning";
                      GLOBAL_PROTOTYPE?: boolean | "suppress-warning";
                      GLOBAL_SET?: boolean | "suppress-warning";
                      INSTANCE_ATTRS_CLASS_STYLE?: boolean | "suppress-warning";
                      INSTANCE_CHILDREN?: boolean | "suppress-warning";
                      INSTANCE_DELETE?: boolean | "suppress-warning";
                      INSTANCE_DESTROY?: boolean | "suppress-warning";
                      INSTANCE_EVENT_EMITTER?: boolean | "suppress-warning";
                      INSTANCE_EVENT_HOOKS?: boolean | "suppress-warning";
                      INSTANCE_LISTENERS?: boolean | "suppress-warning";
                      INSTANCE_SCOPED_SLOTS?: boolean | "suppress-warning";
                      INSTANCE_SET?: boolean | "suppress-warning";
                      MODE?:
                          | 2
                          | 3
                          | (
                              (
                                  comp:
                                      | Component<(...), (...), (...), (...), (...), (...), (...)>
                                      | null,
                              ) => 2 | 3
                          );
                      OPTIONS_BEFORE_DESTROY?: boolean | "suppress-warning";
                      OPTIONS_DATA_FN?: boolean | "suppress-warning";
                      OPTIONS_DATA_MERGE?: boolean | "suppress-warning";
                      OPTIONS_DESTROYED?: boolean | "suppress-warning";
                      PRIVATE_APIS?: boolean | "suppress-warning";
                      PROPS_DEFAULT_THIS?: boolean | "suppress-warning";
                      RENDER_FUNCTION?: boolean | "suppress-warning";
                      TRANSITION_CLASSES?: boolean | "suppress-warning";
                      TRANSITION_GROUP_ROOT?: boolean | "suppress-warning";
                      V_ON_KEYCODE_MODIFIER?: boolean | "suppress-warning";
                      WATCH_ARRAY?: boolean | "suppress-warning";
                  };
                  compilerOptions?: {
                      comments?: boolean;
                      delimiters?: [string, string];
                      isCustomElement?: (tag: string) => boolean;
                      whitespace?: "preserve" | "condense";
                  };
                  components?: Record<
                      string,
                      Component<any, any, any, ComputedOptions, MethodOptions, {}, any>,
                  >;
                  computed?: ComputedOptions;
                  created?: () => any;
                  data?: (this: any, vm: any) => any;
                  deactivated?: () => any;
                  delimiters?: [string, string];
                  destroyed?: () => any;
                  directives?: Record<string, Directive<any, any, string, any>>;
                  emits?: any;
                  errorCaptured?: ErrorCapturedHook<unknown>;
                  expose?: string[];
                  extends?: any;
                  filters?: Record<string, Function>;
                  inheritAttrs?: boolean;
                  inject?: {} | string[];
                  methods?: MethodOptions;
                  mixins?: any[];
                  mounted?: () => any;
                  name?: string;
                  provide?: ComponentProvideOptions;
                  render?: Function;
                  renderTracked?: DebuggerHook;
                  renderTriggered?: DebuggerHook;
                  serverPrefetch?: () => void | Promise<any>;
                  setup?: (
                      this: void,
                      props: LooseRequired<Props & Prettify<UnwrapMixinsType<(...), (...)>>>,
                      ctx: {
                          attrs: Data;
                          emit:
                              | ((event: unknown, ...args: (...)[]) => void)
                              | ((event: string, ...args: (...)[]) => void);
                          expose: <Exposed extends Record<string, any> = Record<string, any>>(
                              exposed?: Exposed,
                          ) => void;
                          slots: UnwrapSlotsType<S>;
                      },
                  ) => any;
                  slots?: {};
                  template?: string
                  | object;
                  unmounted?: () => any;
                  updated?: () => any;
                  watch?: ComponentWatchOptions;
                  [key: string]: any;
              };
          icon?: string;
          locales?: { resources: Record<string, ResourceKey>; type: string }[];
          options?: {
              displayComponent?: boolean;
              layoutTag?:
                  | "TOP_LEFT"
                  | "TOP_MIDDLE"
                  | "TOP_RIGHT"
                  | "MIDDLE_LEFT"
                  | "MIDDLE_MIDDLE"
                  | "MIDDLE_RIGHT"
                  | "BOTTOM_LEFT"
                  | "BOTTOM_MIDDLE"
                  | "BOTTOM_RIGHT";
          };
          storeModule?: PolarPluginStore<
              { setupPlugin?: () => void; teardownPlugin?: () => void },
          >;
      }

      The plugin that should be part of the icon menu.

      • id: PluginId

        Unique technical identifier.

        For bundled plugins, this is its name, e.g. fullscreen.

        For external plugins, use external- as a prefix and ensure uniqueness. For publicly published plugins, it is recommended to use polar-plugin-X as your package name and use external-X as ID.

        Please do not use external-X when X is a bundled plugin.

        `fullscreen`
        
      • Optionalcomponent?:
            | FunctionalComponent<any, {}, any, {}>
            | ComponentPublicInstanceConstructor<
                any,
                any,
                any,
                any,
                ComputedOptions,
                MethodOptions,
            >
            | {
                __defaults?: {};
                __differentiator?: string
                | number
                | symbol;
                __file?: string;
                __isBuiltIn?: boolean;
                __isFragment?: undefined;
                __isSuspense?: undefined;
                __isTeleport?: undefined;
                __name?: string;
                activated?: () => any;
                beforeCreate?: () => any;
                beforeDestroy?: () => any;
                beforeMount?: () => any;
                beforeUnmount?: () => any;
                beforeUpdate?: () => any;
                call?: (this: unknown, ...args: unknown[]) => never;
                compatConfig?: {
                    ATTR_ENUMERATED_COERCION?: boolean | "suppress-warning";
                    ATTR_FALSE_VALUE?: boolean | "suppress-warning";
                    COMPONENT_ASYNC?: boolean | "suppress-warning";
                    COMPONENT_FUNCTIONAL?: boolean | "suppress-warning";
                    COMPONENT_V_MODEL?: boolean | "suppress-warning";
                    CONFIG_DEVTOOLS?: boolean | "suppress-warning";
                    CONFIG_IGNORED_ELEMENTS?: boolean | "suppress-warning";
                    CONFIG_KEY_CODES?: boolean | "suppress-warning";
                    CONFIG_OPTION_MERGE_STRATS?: boolean | "suppress-warning";
                    CONFIG_PRODUCTION_TIP?: boolean | "suppress-warning";
                    CONFIG_SILENT?: boolean | "suppress-warning";
                    CONFIG_WHITESPACE?: boolean | "suppress-warning";
                    CUSTOM_DIR?: boolean | "suppress-warning";
                    FILTERS?: boolean | "suppress-warning";
                    GLOBAL_DELETE?: boolean | "suppress-warning";
                    GLOBAL_EXTEND?: boolean | "suppress-warning";
                    GLOBAL_MOUNT?: boolean | "suppress-warning";
                    GLOBAL_MOUNT_CONTAINER?: boolean | "suppress-warning";
                    GLOBAL_OBSERVABLE?: boolean | "suppress-warning";
                    GLOBAL_PRIVATE_UTIL?: boolean | "suppress-warning";
                    GLOBAL_PROTOTYPE?: boolean | "suppress-warning";
                    GLOBAL_SET?: boolean | "suppress-warning";
                    INSTANCE_ATTRS_CLASS_STYLE?: boolean | "suppress-warning";
                    INSTANCE_CHILDREN?: boolean | "suppress-warning";
                    INSTANCE_DELETE?: boolean | "suppress-warning";
                    INSTANCE_DESTROY?: boolean | "suppress-warning";
                    INSTANCE_EVENT_EMITTER?: boolean | "suppress-warning";
                    INSTANCE_EVENT_HOOKS?: boolean | "suppress-warning";
                    INSTANCE_LISTENERS?: boolean | "suppress-warning";
                    INSTANCE_SCOPED_SLOTS?: boolean | "suppress-warning";
                    INSTANCE_SET?: boolean | "suppress-warning";
                    MODE?:
                        | 2
                        | 3
                        | (
                            (
                                comp:
                                    | Component<(...), (...), (...), (...), (...), (...), (...)>
                                    | null,
                            ) => 2 | 3
                        );
                    OPTIONS_BEFORE_DESTROY?: boolean | "suppress-warning";
                    OPTIONS_DATA_FN?: boolean | "suppress-warning";
                    OPTIONS_DATA_MERGE?: boolean | "suppress-warning";
                    OPTIONS_DESTROYED?: boolean | "suppress-warning";
                    PRIVATE_APIS?: boolean | "suppress-warning";
                    PROPS_DEFAULT_THIS?: boolean | "suppress-warning";
                    RENDER_FUNCTION?: boolean | "suppress-warning";
                    TRANSITION_CLASSES?: boolean | "suppress-warning";
                    TRANSITION_GROUP_ROOT?: boolean | "suppress-warning";
                    V_ON_KEYCODE_MODIFIER?: boolean | "suppress-warning";
                    WATCH_ARRAY?: boolean | "suppress-warning";
                };
                compilerOptions?: {
                    comments?: boolean;
                    delimiters?: [string, string];
                    isCustomElement?: (tag: string) => boolean;
                    whitespace?: "preserve" | "condense";
                };
                components?: Record<
                    string,
                    Component<any, any, any, ComputedOptions, MethodOptions, {}, any>,
                >;
                computed?: ComputedOptions;
                created?: () => any;
                data?: (this: any, vm: any) => any;
                deactivated?: () => any;
                delimiters?: [string, string];
                destroyed?: () => any;
                directives?: Record<string, Directive<any, any, string, any>>;
                emits?: any;
                errorCaptured?: ErrorCapturedHook<unknown>;
                expose?: string[];
                extends?: any;
                filters?: Record<string, Function>;
                inheritAttrs?: boolean;
                inject?: {} | string[];
                methods?: MethodOptions;
                mixins?: any[];
                mounted?: () => any;
                name?: string;
                provide?: ComponentProvideOptions;
                render?: Function;
                renderTracked?: DebuggerHook;
                renderTriggered?: DebuggerHook;
                serverPrefetch?: () => void | Promise<any>;
                setup?: (
                    this: void,
                    props: LooseRequired<Props & Prettify<UnwrapMixinsType<(...), (...)>>>,
                    ctx: {
                        attrs: Data;
                        emit:
                            | ((event: unknown, ...args: (...)[]) => void)
                            | ((event: string, ...args: (...)[]) => void);
                        expose: <Exposed extends Record<string, any> = Record<string, any>>(
                            exposed?: Exposed,
                        ) => void;
                        slots: UnwrapSlotsType<S>;
                    },
                ) => any;
                slots?: {};
                template?: string
                | object;
                unmounted?: () => any;
                updated?: () => any;
                watch?: ComponentWatchOptions;
                [key: string]: any;
            }

        A Vue component if required.

        The component will be rendered by POLAR over the map. The position is either to be determined by the plugin if layout === 'standard' or will be determined by the layout.

      • Optionalicon?: string

        Icon class for the plugin. This icon will be used as the default for rendering in menus.

      • Optionallocales?: { resources: Record<string, ResourceKey>; type: string }[]

        Locales used in the plugin.

        The locales will be loaded to the namespace that equals the plugin's ID.

      • Optionaloptions?: {
            displayComponent?: boolean;
            layoutTag?:
                | "TOP_LEFT"
                | "TOP_MIDDLE"
                | "TOP_RIGHT"
                | "MIDDLE_LEFT"
                | "MIDDLE_MIDDLE"
                | "MIDDLE_RIGHT"
                | "BOTTOM_LEFT"
                | "BOTTOM_MIDDLE"
                | "BOTTOM_RIGHT";
        }

        Configuration options. Please also note that all configuration added via plugin constructors can be overridden in the createMap | createMap's parameter mapConfiguration .

        You may use either object (or a mix of them) to create the configuration, e.g. use the constructors for a base configuration and the mapConfiguration object to override it for various use cases.

        How exactly you do this is up to you and influences the minimum API call requirements your client has.

      • OptionalstoreModule?: PolarPluginStore<{ setupPlugin?: () => void; teardownPlugin?: () => void }>

        Pinia store module if required. If the storeModule features a setupPlugin action, it will be executed automatically after initialization. If the storeModule features a teardownPlugin action, it will be executed automatically before unloading.

    focusOpen: number
    menus: {
        plugin: {
            id: PluginId;
            component?:
                | FunctionalComponent<any, {}, any, {}>
                | ComponentPublicInstanceConstructor<
                    any,
                    any,
                    any,
                    any,
                    ComputedOptions,
                    MethodOptions,
                >
                | {
                    __defaults?: {};
                    __differentiator?: string
                    | number
                    | symbol;
                    __file?: string;
                    __isBuiltIn?: boolean;
                    __isFragment?: undefined;
                    __isSuspense?: undefined;
                    __isTeleport?: undefined;
                    __name?: string;
                    activated?: () => any;
                    beforeCreate?: () => any;
                    beforeDestroy?: () => any;
                    beforeMount?: () => any;
                    beforeUnmount?: () => any;
                    beforeUpdate?: () => any;
                    call?: (this: unknown, ...args: unknown[]) => never;
                    compatConfig?: {
                        ATTR_ENUMERATED_COERCION?: boolean | "suppress-warning";
                        ATTR_FALSE_VALUE?: boolean | "suppress-warning";
                        COMPONENT_ASYNC?: boolean | "suppress-warning";
                        COMPONENT_FUNCTIONAL?: boolean | "suppress-warning";
                        COMPONENT_V_MODEL?: boolean | "suppress-warning";
                        CONFIG_DEVTOOLS?: boolean | "suppress-warning";
                        CONFIG_IGNORED_ELEMENTS?: boolean | "suppress-warning";
                        CONFIG_KEY_CODES?: boolean | "suppress-warning";
                        CONFIG_OPTION_MERGE_STRATS?: boolean | "suppress-warning";
                        CONFIG_PRODUCTION_TIP?: boolean | "suppress-warning";
                        CONFIG_SILENT?: boolean | "suppress-warning";
                        CONFIG_WHITESPACE?: boolean | "suppress-warning";
                        CUSTOM_DIR?: boolean | "suppress-warning";
                        FILTERS?: boolean | "suppress-warning";
                        GLOBAL_DELETE?: boolean | "suppress-warning";
                        GLOBAL_EXTEND?: boolean | "suppress-warning";
                        GLOBAL_MOUNT?: boolean | "suppress-warning";
                        GLOBAL_MOUNT_CONTAINER?: boolean | "suppress-warning";
                        GLOBAL_OBSERVABLE?: boolean | "suppress-warning";
                        GLOBAL_PRIVATE_UTIL?: boolean | "suppress-warning";
                        GLOBAL_PROTOTYPE?: boolean | "suppress-warning";
                        GLOBAL_SET?: boolean | "suppress-warning";
                        INSTANCE_ATTRS_CLASS_STYLE?: boolean | "suppress-warning";
                        INSTANCE_CHILDREN?: boolean | "suppress-warning";
                        INSTANCE_DELETE?: boolean | "suppress-warning";
                        INSTANCE_DESTROY?: boolean | "suppress-warning";
                        INSTANCE_EVENT_EMITTER?: boolean | "suppress-warning";
                        INSTANCE_EVENT_HOOKS?: boolean | "suppress-warning";
                        INSTANCE_LISTENERS?: boolean | "suppress-warning";
                        INSTANCE_SCOPED_SLOTS?: boolean | "suppress-warning";
                        INSTANCE_SET?: boolean | "suppress-warning";
                        MODE?: 2 | 3 | ((comp: (...) | (...)) => (...) | (...));
                        OPTIONS_BEFORE_DESTROY?: boolean | "suppress-warning";
                        OPTIONS_DATA_FN?: boolean | "suppress-warning";
                        OPTIONS_DATA_MERGE?: boolean | "suppress-warning";
                        OPTIONS_DESTROYED?: boolean | "suppress-warning";
                        PRIVATE_APIS?: boolean | "suppress-warning";
                        PROPS_DEFAULT_THIS?: boolean | "suppress-warning";
                        RENDER_FUNCTION?: boolean | "suppress-warning";
                        TRANSITION_CLASSES?: boolean | "suppress-warning";
                        TRANSITION_GROUP_ROOT?: boolean | "suppress-warning";
                        V_ON_KEYCODE_MODIFIER?: boolean | "suppress-warning";
                        WATCH_ARRAY?: boolean | "suppress-warning";
                    };
                    compilerOptions?: {
                        comments?: boolean;
                        delimiters?: [string, string];
                        isCustomElement?: (tag: string) => boolean;
                        whitespace?: "preserve" | "condense";
                    };
                    components?: Record<
                        string,
                        Component<any, any, any, ComputedOptions, MethodOptions, {}, any>,
                    >;
                    computed?: ComputedOptions;
                    created?: () => any;
                    data?: (this: any, vm: any) => any;
                    deactivated?: () => any;
                    delimiters?: [string, string];
                    destroyed?: () => any;
                    directives?: Record<string, Directive<any, any, string, any>>;
                    emits?: any;
                    errorCaptured?: ErrorCapturedHook<unknown>;
                    expose?: string[];
                    extends?: any;
                    filters?: Record<string, Function>;
                    inheritAttrs?: boolean;
                    inject?: {} | string[];
                    methods?: MethodOptions;
                    mixins?: any[];
                    mounted?: () => any;
                    name?: string;
                    provide?: ComponentProvideOptions;
                    render?: Function;
                    renderTracked?: DebuggerHook;
                    renderTriggered?: DebuggerHook;
                    serverPrefetch?: () => void | Promise<any>;
                    setup?: (
                        this: void,
                        props: LooseRequired<Props & Prettify<(...)>>,
                        ctx: {
                            attrs: Data;
                            emit:
                                | ((event: ..., ...args: ...) => ...)
                                | ((event: ..., ...args: ...) => ...);
                            expose: <Exposed extends Record<(...), (...)> = Record<(...), (...)>>(
                                exposed?: (...) | (...),
                            ) => void;
                            slots: UnwrapSlotsType<S>;
                        },
                    ) => any;
                    slots?: {};
                    template?: string
                    | object;
                    unmounted?: () => any;
                    updated?: () => any;
                    watch?: ComponentWatchOptions;
                    [key: string]: any;
                };
            icon?: string;
            locales?: { resources: Record<string, ResourceKey>; type: string }[];
            options?: {
                displayComponent?: boolean;
                layoutTag?:
                    | "TOP_LEFT"
                    | "TOP_MIDDLE"
                    | "TOP_RIGHT"
                    | "MIDDLE_LEFT"
                    | "MIDDLE_MIDDLE"
                    | "MIDDLE_RIGHT"
                    | "BOTTOM_LEFT"
                    | "BOTTOM_MIDDLE"
                    | "BOTTOM_RIGHT";
            };
            storeModule?: PolarPluginStore<
                { setupPlugin?: () => void; teardownPlugin?: () => void },
            >;
        };
        icon?: string;
    }[][]

    Type Declaration

    • plugin: {
          id: PluginId;
          component?:
              | FunctionalComponent<any, {}, any, {}>
              | ComponentPublicInstanceConstructor<
                  any,
                  any,
                  any,
                  any,
                  ComputedOptions,
                  MethodOptions,
              >
              | {
                  __defaults?: {};
                  __differentiator?: string
                  | number
                  | symbol;
                  __file?: string;
                  __isBuiltIn?: boolean;
                  __isFragment?: undefined;
                  __isSuspense?: undefined;
                  __isTeleport?: undefined;
                  __name?: string;
                  activated?: () => any;
                  beforeCreate?: () => any;
                  beforeDestroy?: () => any;
                  beforeMount?: () => any;
                  beforeUnmount?: () => any;
                  beforeUpdate?: () => any;
                  call?: (this: unknown, ...args: unknown[]) => never;
                  compatConfig?: {
                      ATTR_ENUMERATED_COERCION?: boolean | "suppress-warning";
                      ATTR_FALSE_VALUE?: boolean | "suppress-warning";
                      COMPONENT_ASYNC?: boolean | "suppress-warning";
                      COMPONENT_FUNCTIONAL?: boolean | "suppress-warning";
                      COMPONENT_V_MODEL?: boolean | "suppress-warning";
                      CONFIG_DEVTOOLS?: boolean | "suppress-warning";
                      CONFIG_IGNORED_ELEMENTS?: boolean | "suppress-warning";
                      CONFIG_KEY_CODES?: boolean | "suppress-warning";
                      CONFIG_OPTION_MERGE_STRATS?: boolean | "suppress-warning";
                      CONFIG_PRODUCTION_TIP?: boolean | "suppress-warning";
                      CONFIG_SILENT?: boolean | "suppress-warning";
                      CONFIG_WHITESPACE?: boolean | "suppress-warning";
                      CUSTOM_DIR?: boolean | "suppress-warning";
                      FILTERS?: boolean | "suppress-warning";
                      GLOBAL_DELETE?: boolean | "suppress-warning";
                      GLOBAL_EXTEND?: boolean | "suppress-warning";
                      GLOBAL_MOUNT?: boolean | "suppress-warning";
                      GLOBAL_MOUNT_CONTAINER?: boolean | "suppress-warning";
                      GLOBAL_OBSERVABLE?: boolean | "suppress-warning";
                      GLOBAL_PRIVATE_UTIL?: boolean | "suppress-warning";
                      GLOBAL_PROTOTYPE?: boolean | "suppress-warning";
                      GLOBAL_SET?: boolean | "suppress-warning";
                      INSTANCE_ATTRS_CLASS_STYLE?: boolean | "suppress-warning";
                      INSTANCE_CHILDREN?: boolean | "suppress-warning";
                      INSTANCE_DELETE?: boolean | "suppress-warning";
                      INSTANCE_DESTROY?: boolean | "suppress-warning";
                      INSTANCE_EVENT_EMITTER?: boolean | "suppress-warning";
                      INSTANCE_EVENT_HOOKS?: boolean | "suppress-warning";
                      INSTANCE_LISTENERS?: boolean | "suppress-warning";
                      INSTANCE_SCOPED_SLOTS?: boolean | "suppress-warning";
                      INSTANCE_SET?: boolean | "suppress-warning";
                      MODE?: 2 | 3 | ((comp: (...) | (...)) => (...) | (...));
                      OPTIONS_BEFORE_DESTROY?: boolean | "suppress-warning";
                      OPTIONS_DATA_FN?: boolean | "suppress-warning";
                      OPTIONS_DATA_MERGE?: boolean | "suppress-warning";
                      OPTIONS_DESTROYED?: boolean | "suppress-warning";
                      PRIVATE_APIS?: boolean | "suppress-warning";
                      PROPS_DEFAULT_THIS?: boolean | "suppress-warning";
                      RENDER_FUNCTION?: boolean | "suppress-warning";
                      TRANSITION_CLASSES?: boolean | "suppress-warning";
                      TRANSITION_GROUP_ROOT?: boolean | "suppress-warning";
                      V_ON_KEYCODE_MODIFIER?: boolean | "suppress-warning";
                      WATCH_ARRAY?: boolean | "suppress-warning";
                  };
                  compilerOptions?: {
                      comments?: boolean;
                      delimiters?: [string, string];
                      isCustomElement?: (tag: string) => boolean;
                      whitespace?: "preserve" | "condense";
                  };
                  components?: Record<
                      string,
                      Component<any, any, any, ComputedOptions, MethodOptions, {}, any>,
                  >;
                  computed?: ComputedOptions;
                  created?: () => any;
                  data?: (this: any, vm: any) => any;
                  deactivated?: () => any;
                  delimiters?: [string, string];
                  destroyed?: () => any;
                  directives?: Record<string, Directive<any, any, string, any>>;
                  emits?: any;
                  errorCaptured?: ErrorCapturedHook<unknown>;
                  expose?: string[];
                  extends?: any;
                  filters?: Record<string, Function>;
                  inheritAttrs?: boolean;
                  inject?: {} | string[];
                  methods?: MethodOptions;
                  mixins?: any[];
                  mounted?: () => any;
                  name?: string;
                  provide?: ComponentProvideOptions;
                  render?: Function;
                  renderTracked?: DebuggerHook;
                  renderTriggered?: DebuggerHook;
                  serverPrefetch?: () => void | Promise<any>;
                  setup?: (
                      this: void,
                      props: LooseRequired<Props & Prettify<(...)>>,
                      ctx: {
                          attrs: Data;
                          emit:
                              | ((event: ..., ...args: ...) => ...)
                              | ((event: ..., ...args: ...) => ...);
                          expose: <Exposed extends Record<(...), (...)> = Record<(...), (...)>>(
                              exposed?: (...) | (...),
                          ) => void;
                          slots: UnwrapSlotsType<S>;
                      },
                  ) => any;
                  slots?: {};
                  template?: string
                  | object;
                  unmounted?: () => any;
                  updated?: () => any;
                  watch?: ComponentWatchOptions;
                  [key: string]: any;
              };
          icon?: string;
          locales?: { resources: Record<string, ResourceKey>; type: string }[];
          options?: {
              displayComponent?: boolean;
              layoutTag?:
                  | "TOP_LEFT"
                  | "TOP_MIDDLE"
                  | "TOP_RIGHT"
                  | "MIDDLE_LEFT"
                  | "MIDDLE_MIDDLE"
                  | "MIDDLE_RIGHT"
                  | "BOTTOM_LEFT"
                  | "BOTTOM_MIDDLE"
                  | "BOTTOM_RIGHT";
          };
          storeModule?: PolarPluginStore<
              { setupPlugin?: () => void; teardownPlugin?: () => void },
          >;
      }

      The plugin that should be part of the icon menu.

      • id: PluginId

        Unique technical identifier.

        For bundled plugins, this is its name, e.g. fullscreen.

        For external plugins, use external- as a prefix and ensure uniqueness. For publicly published plugins, it is recommended to use polar-plugin-X as your package name and use external-X as ID.

        Please do not use external-X when X is a bundled plugin.

        `fullscreen`
        
      • Optionalcomponent?:
            | FunctionalComponent<any, {}, any, {}>
            | ComponentPublicInstanceConstructor<
                any,
                any,
                any,
                any,
                ComputedOptions,
                MethodOptions,
            >
            | {
                __defaults?: {};
                __differentiator?: string
                | number
                | symbol;
                __file?: string;
                __isBuiltIn?: boolean;
                __isFragment?: undefined;
                __isSuspense?: undefined;
                __isTeleport?: undefined;
                __name?: string;
                activated?: () => any;
                beforeCreate?: () => any;
                beforeDestroy?: () => any;
                beforeMount?: () => any;
                beforeUnmount?: () => any;
                beforeUpdate?: () => any;
                call?: (this: unknown, ...args: unknown[]) => never;
                compatConfig?: {
                    ATTR_ENUMERATED_COERCION?: boolean | "suppress-warning";
                    ATTR_FALSE_VALUE?: boolean | "suppress-warning";
                    COMPONENT_ASYNC?: boolean | "suppress-warning";
                    COMPONENT_FUNCTIONAL?: boolean | "suppress-warning";
                    COMPONENT_V_MODEL?: boolean | "suppress-warning";
                    CONFIG_DEVTOOLS?: boolean | "suppress-warning";
                    CONFIG_IGNORED_ELEMENTS?: boolean | "suppress-warning";
                    CONFIG_KEY_CODES?: boolean | "suppress-warning";
                    CONFIG_OPTION_MERGE_STRATS?: boolean | "suppress-warning";
                    CONFIG_PRODUCTION_TIP?: boolean | "suppress-warning";
                    CONFIG_SILENT?: boolean | "suppress-warning";
                    CONFIG_WHITESPACE?: boolean | "suppress-warning";
                    CUSTOM_DIR?: boolean | "suppress-warning";
                    FILTERS?: boolean | "suppress-warning";
                    GLOBAL_DELETE?: boolean | "suppress-warning";
                    GLOBAL_EXTEND?: boolean | "suppress-warning";
                    GLOBAL_MOUNT?: boolean | "suppress-warning";
                    GLOBAL_MOUNT_CONTAINER?: boolean | "suppress-warning";
                    GLOBAL_OBSERVABLE?: boolean | "suppress-warning";
                    GLOBAL_PRIVATE_UTIL?: boolean | "suppress-warning";
                    GLOBAL_PROTOTYPE?: boolean | "suppress-warning";
                    GLOBAL_SET?: boolean | "suppress-warning";
                    INSTANCE_ATTRS_CLASS_STYLE?: boolean | "suppress-warning";
                    INSTANCE_CHILDREN?: boolean | "suppress-warning";
                    INSTANCE_DELETE?: boolean | "suppress-warning";
                    INSTANCE_DESTROY?: boolean | "suppress-warning";
                    INSTANCE_EVENT_EMITTER?: boolean | "suppress-warning";
                    INSTANCE_EVENT_HOOKS?: boolean | "suppress-warning";
                    INSTANCE_LISTENERS?: boolean | "suppress-warning";
                    INSTANCE_SCOPED_SLOTS?: boolean | "suppress-warning";
                    INSTANCE_SET?: boolean | "suppress-warning";
                    MODE?: 2 | 3 | ((comp: (...) | (...)) => (...) | (...));
                    OPTIONS_BEFORE_DESTROY?: boolean | "suppress-warning";
                    OPTIONS_DATA_FN?: boolean | "suppress-warning";
                    OPTIONS_DATA_MERGE?: boolean | "suppress-warning";
                    OPTIONS_DESTROYED?: boolean | "suppress-warning";
                    PRIVATE_APIS?: boolean | "suppress-warning";
                    PROPS_DEFAULT_THIS?: boolean | "suppress-warning";
                    RENDER_FUNCTION?: boolean | "suppress-warning";
                    TRANSITION_CLASSES?: boolean | "suppress-warning";
                    TRANSITION_GROUP_ROOT?: boolean | "suppress-warning";
                    V_ON_KEYCODE_MODIFIER?: boolean | "suppress-warning";
                    WATCH_ARRAY?: boolean | "suppress-warning";
                };
                compilerOptions?: {
                    comments?: boolean;
                    delimiters?: [string, string];
                    isCustomElement?: (tag: string) => boolean;
                    whitespace?: "preserve" | "condense";
                };
                components?: Record<
                    string,
                    Component<any, any, any, ComputedOptions, MethodOptions, {}, any>,
                >;
                computed?: ComputedOptions;
                created?: () => any;
                data?: (this: any, vm: any) => any;
                deactivated?: () => any;
                delimiters?: [string, string];
                destroyed?: () => any;
                directives?: Record<string, Directive<any, any, string, any>>;
                emits?: any;
                errorCaptured?: ErrorCapturedHook<unknown>;
                expose?: string[];
                extends?: any;
                filters?: Record<string, Function>;
                inheritAttrs?: boolean;
                inject?: {} | string[];
                methods?: MethodOptions;
                mixins?: any[];
                mounted?: () => any;
                name?: string;
                provide?: ComponentProvideOptions;
                render?: Function;
                renderTracked?: DebuggerHook;
                renderTriggered?: DebuggerHook;
                serverPrefetch?: () => void | Promise<any>;
                setup?: (
                    this: void,
                    props: LooseRequired<Props & Prettify<(...)>>,
                    ctx: {
                        attrs: Data;
                        emit:
                            | ((event: ..., ...args: ...) => ...)
                            | ((event: ..., ...args: ...) => ...);
                        expose: <Exposed extends Record<(...), (...)> = Record<(...), (...)>>(
                            exposed?: (...) | (...),
                        ) => void;
                        slots: UnwrapSlotsType<S>;
                    },
                ) => any;
                slots?: {};
                template?: string
                | object;
                unmounted?: () => any;
                updated?: () => any;
                watch?: ComponentWatchOptions;
                [key: string]: any;
            }

        A Vue component if required.

        The component will be rendered by POLAR over the map. The position is either to be determined by the plugin if layout === 'standard' or will be determined by the layout.

      • Optionalicon?: string

        Icon class for the plugin. This icon will be used as the default for rendering in menus.

      • Optionallocales?: { resources: Record<string, ResourceKey>; type: string }[]

        Locales used in the plugin.

        The locales will be loaded to the namespace that equals the plugin's ID.

      • Optionaloptions?: {
            displayComponent?: boolean;
            layoutTag?:
                | "TOP_LEFT"
                | "TOP_MIDDLE"
                | "TOP_RIGHT"
                | "MIDDLE_LEFT"
                | "MIDDLE_MIDDLE"
                | "MIDDLE_RIGHT"
                | "BOTTOM_LEFT"
                | "BOTTOM_MIDDLE"
                | "BOTTOM_RIGHT";
        }

        Configuration options. Please also note that all configuration added via plugin constructors can be overridden in the createMap | createMap's parameter mapConfiguration .

        You may use either object (or a mix of them) to create the configuration, e.g. use the constructors for a base configuration and the mapConfiguration object to override it for various use cases.

        How exactly you do this is up to you and influences the minimum API call requirements your client has.

      • OptionalstoreModule?: PolarPluginStore<{ setupPlugin?: () => void; teardownPlugin?: () => void }>

        Pinia store module if required. If the storeModule features a setupPlugin action, it will be executed automatically after initialization. If the storeModule features a teardownPlugin action, it will be executed automatically before unloading.

    • Optionalicon?: string

      Icon for icon menu button. If given, render a button with the icon. When clicked, open the content of the configured plugin. If not given, render the plugin content as is inside the IconMenu.

      Current examples for the usage without icon include Zoom and Fullscreen if MapConfiguration.layout | mapConfiguration.layers is set to 'nineRegions'

    open: number
    openFocusMenuById: (openId: string) => void
    openInMoveHandle: (index: number, focusMenu?: boolean) => void
    openMenuById: (openId: string) => void