/** * Main entry point for @cognigy/chat-components-vue * Exports all public components, composables, and utilities */ export { default as Message } from './components/Message.vue'; export { default as TypingIndicator } from './components/common/TypingIndicator.vue'; export { default as ChatEvent } from './components/common/ChatEvent.vue'; export { default as Typography } from './components/common/Typography.vue'; export { default as ActionButtons } from './components/common/ActionButtons.vue'; export { default as ActionButton } from './components/common/ActionButton.vue'; export { default as ChatBubble } from './components/common/ChatBubble.vue'; export { default as TextMessage } from './components/messages/TextMessage.vue'; export { default as ImageMessage } from './components/messages/ImageMessage.vue'; export { default as VideoMessage } from './components/messages/VideoMessage.vue'; export { default as AudioMessage } from './components/messages/AudioMessage.vue'; export { default as TextWithButtons } from './components/messages/TextWithButtons.vue'; export { default as Gallery } from './components/messages/Gallery.vue'; export { default as List } from './components/messages/List.vue'; export { default as FileMessage } from './components/messages/FileMessage.vue'; export { default as DatePicker } from './components/messages/DatePicker.vue'; export { default as AdaptiveCard } from './components/messages/AdaptiveCard.vue'; export { useMessageContext, useMessageContextOptional, provideMessageContext, MessageContextKey } from './composables/useMessageContext'; export { useSanitize } from './composables/useSanitize'; export { useImageContext, provideImageContext, ImageContextKey } from './composables/useImageContext'; export { useChannelPayload, type UseChannelPayloadReturn } from './composables/useChannelPayload'; export { useCollation, type UseCollationReturn, type CollatedMessage } from './composables/useCollation'; export { useLiveRegion } from './composables/useLiveRegion'; export { DownloadIcon, CloseIcon, VideoPlayIcon, AudioPlayIcon, AudioPauseIcon, ArrowBackIcon, LinkIcon } from './assets/svg'; export { match, getChannelPayload } from './utils/matcher'; export { sanitizeHTMLWithConfig, sanitizeContent } from './utils/sanitize'; export { configColorsToCssVariables, themeFontToCssVariable, themeFontSizeToCssVariable } from './utils/theme'; export { getWebchatButtonLabel, interpolateString, getRandomId, moveFocusToMessageFocusTarget, replaceUrlsWithHTMLanchorElem, getBackgroundImage, getFileName, getFileExtension, getSizeLabel, isImageAttachment, VALID_IMAGE_MIME_TYPES } from './utils/helpers'; export type { ChatConfig, ChatSettings, ChatTheme, MessageProps, MessageSender, MessagePlugin, MessagePluginOptions, MessageContext, MessageParams, IMessage, IStreamingMessage, IWebchatButton, IWebchatQuickReply, IWebchatTemplateAttachment, IWebchatAttachmentElement, IWebchatAudioAttachment, IWebchatImageAttachment, IWebchatVideoAttachment, IUploadFileAttachmentData, IDatePickerData, IWebchatChannelPayload, } from './types'; export type { TagVariant } from './components/common/Typography.vue';