<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@empathyco/x-components](./x-components.md) &gt; [BaseIdModal](./x-components.baseidmodal.md)

## BaseIdModal variable

Component containing a modal expecting a required prop, named `modalId`<!-- -->. It reacts to `UserClickedOpenModal`<!-- -->, `UserClickedCloseModal` and `UserClickedOutOfModal` events, when their payload matches the component's 'modalId' prop, to handle its open/close state. The default slot offers the possibility to customise the modal content.

**Signature:**

```typescript
_default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    animation: {
        type: (StringConstructor | ObjectConstructor | FunctionConstructor)[];
    };
    modalId: {
        type: StringConstructor;
        required: true;
    };
}>, {
    el: Readonly<import("vue").ShallowRef<any>>;
    isOpen: import("vue").Ref<boolean, boolean>;
    emitClickOutOfModal: (event: MouseEvent | FocusEvent) => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    animation: {
        type: (StringConstructor | ObjectConstructor | FunctionConstructor)[];
    };
    modalId: {
        type: StringConstructor;
        required: true;
    };
}>> & Readonly<{}>, {}, {}, {
    BaseModal: import("vue").DefineComponent<{}, {}, any>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>
```
