vue-chat-button-simple
Version:
Vue 3 chat button components with badge support, modal popup, fixed positioning, environment configuration, and customizable themes
82 lines • 2.85 kB
TypeScript
interface Props {
autoFetch?: boolean;
fetchInterval?: number;
enablePolling?: boolean;
pollingInterval?: number;
params?: any;
iconUrl?: string;
themeColor?: string;
badgeColor?: string;
environment?: 'development' | 'production';
showBadge?: boolean;
modalUrl?: string;
modalTitle?: string;
modalPosition?: 'right' | 'center' | 'fullscreen';
modalWidth?: string;
modalHeight?: string;
closeOnOverlay?: boolean;
closeOnEscape?: boolean;
autoOpenModal?: boolean;
isFixed?: boolean;
fixedPosition?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
fixedOffset?: {
x?: number;
y?: number;
};
autoPosition?: boolean;
mobilePosition?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
desktopPosition?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
}
declare const _default: import('vue').DefineComponent<Props, {
fetchBadgeCount: () => Promise<void>;
setBadgeCount: (count: number) => void;
startPolling: () => void;
stopPolling: () => void;
updatePollingInterval: (newInterval: number) => void;
isPolling: () => boolean;
openModal: () => void;
closeModal: () => void;
toggleModal: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
click: () => any;
error: (error: any) => any;
badgeUpdate: (count: number) => any;
pollingStart: () => any;
pollingStop: () => any;
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
onClick?: (() => any) | undefined;
onError?: ((error: any) => any) | undefined;
onBadgeUpdate?: ((count: number) => any) | undefined;
onPollingStart?: (() => any) | undefined;
onPollingStop?: (() => any) | undefined;
}>, {
modalTitle: string;
closeOnOverlay: boolean;
closeOnEscape: boolean;
autoFetch: boolean;
fetchInterval: number;
enablePolling: boolean;
pollingInterval: number;
params: any;
iconUrl: string;
themeColor: string;
badgeColor: string;
environment: "development" | "production";
showBadge: boolean;
modalUrl: string;
modalPosition: "right" | "center" | "fullscreen";
modalWidth: string;
modalHeight: string;
autoOpenModal: boolean;
isFixed: boolean;
fixedPosition: "bottom-right" | "bottom-left" | "top-right" | "top-left";
fixedOffset: {
x?: number;
y?: number;
};
autoPosition: boolean;
mobilePosition: "bottom-right" | "bottom-left" | "top-right" | "top-left";
desktopPosition: "bottom-right" | "bottom-left" | "top-right" | "top-left";
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
export default _default;
//# sourceMappingURL=ChatButtonWithBadge.vue.d.ts.map