@empathyco/x-components
Version:
Empathy X Components
61 lines • 2.78 kB
TypeScript
import type { PropType } from 'vue';
import type { XEvent } from '../../wiring/events.types';
/**
* Component containing a modal that emits a {@link XEventsTypes.UserClickedCloseEventsModal} when
* clicking outside the content rendered in the default slot and can receive, through the
* eventsToCloseModal prop, a list of {@link XEvent} to listen to in order to close
* also the modal, eventsToOpenModal prop, another list of {@link XEvent} to customize
* the events to listen to open the modal and a prop, displayOverlay, to display an
* overlay over the rest of the html. The default slot offers the possibility to customize the
* modal content.
*
* @public
*/
declare const _default: import("vue").DefineComponent<{
/** Array of {@link XEvent} to listen to open the modal. */
eventsToOpenModal: {
type: PropType<XEvent[]>;
default: () => XEvent[];
};
/** Array of {@link XEvent} to listen to close the modal. */
eventsToCloseModal: {
type: PropType<XEvent[]>;
default: () => XEvent[];
};
/** Event to emit when any part of the website out of the modal has been clicked. */
bodyClickEvent: {
type: PropType<XEvent>;
default: string;
};
/** Animation to use for opening/closing the modal. */
animation: (StringConstructor | ObjectConstructor | FunctionConstructor)[];
}, {
isOpen: import("vue").Ref<boolean>;
openerElement: import("vue").Ref<HTMLElement | undefined>;
baseModalEl: import("vue").Ref<HTMLElement | undefined>;
emitBodyClickEvent: (event: MouseEvent | FocusEvent) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
/** Array of {@link XEvent} to listen to open the modal. */
eventsToOpenModal: {
type: PropType<XEvent[]>;
default: () => XEvent[];
};
/** Array of {@link XEvent} to listen to close the modal. */
eventsToCloseModal: {
type: PropType<XEvent[]>;
default: () => XEvent[];
};
/** Event to emit when any part of the website out of the modal has been clicked. */
bodyClickEvent: {
type: PropType<XEvent>;
default: string;
};
/** Animation to use for opening/closing the modal. */
animation: (StringConstructor | ObjectConstructor | FunctionConstructor)[];
}>>, {
eventsToOpenModal: (keyof import("../../wiring/events.types").XEventsTypes)[];
eventsToCloseModal: (keyof import("../../wiring/events.types").XEventsTypes)[];
bodyClickEvent: keyof import("../../wiring/events.types").XEventsTypes;
}, {}>;
export default _default;
//# sourceMappingURL=base-events-modal.vue?vue&type=script&lang.d.ts.map