@empathyco/x-components
Version:
Empathy X Components
67 lines (45 loc) • 2.31 kB
Markdown
title: BaseEventsModalClose
# BaseEventsModalClose
Component contains an event button that emits XEventsTypes.UserClickedCloseEventsModal
when clicked. It has a default slot to customize its contents.
## Props
| Name | Description | Type | Default |
| ------------------------- | ---------------------------------------- | ---------------------------------------------- | ------------------------------------------ |
| <code>closingEvent</code> | Event name to use for closing the modal. | <code>PropsWithType<XEventsTypes, void></code> | <code>'UserClickedCloseEventsModal'</code> |
## Slots
| Name | Description | Bindings<br />(name - type - description) |
| -------------------- | ------------------------------------------------------ | ----------------------------------------- |
| <code>default</code> | (Required) Button content with a text, an icon or both | None |
## Events
A list of events that the component will emit:
- [`UserClickedCloseEventsModal`](https://github.com/empathyco/x/blob/main/packages/x-components/src/wiring/events.types.ts):
the event is emitted after the user clicks the button.
## Examples
The `BaseEventsModalClose` component can be used to close the `BaseEventsModal` component.
### Basic example
On click, the component closes the `BaseEventsModal`. The only required part is the content that
the button should render, which can be anything: text, image, icon, or a combination.
```vue
<template>
<BaseEventsModalClose>
<img src="./close-button-icon.svg" />
</BaseEventsModalClose>
</template>
<script setup>
import { BaseEventsModalClose } from "@empathyco/x-components";
</script>
```
### Defining another event to emit when clicking the button
By default, it uses the same `closingEvent` that the `BaseEventsModal` is listening to. This event can be changed using the `closingEvent` prop.
```vue
<template>
<BaseEventsModalClose closingEvent="UserClosedEmpathize"
>×</BaseEventsModalClose
>
</template>
<script setup>
import { BaseEventsModalClose } from "@empathyco/x-components";
</script>
```