{"version":3,"sources":["../src/hooks/internal/WebChatAPIContext.ts","../src/hooks/internal/useWebChatAPIContext.ts"],"sourcesContent":["import {\n  type DirectLineJSBotConnection,\n  type Observable,\n  type WebChatActivity,\n  type sendFiles,\n  type sendMessage,\n  type setSendBoxAttachments\n} from 'botframework-webchat-core';\nimport { createContext } from 'react';\n\nimport { StrictStyleOptions } from '../../StyleOptions';\nimport { LegacyActivityRenderer } from '../../types/ActivityMiddleware';\nimport { RenderActivityStatus } from '../../types/ActivityStatusMiddleware';\nimport { AttachmentForScreenReaderComponentFactory } from '../../types/AttachmentForScreenReaderMiddleware';\nimport { RenderAttachment } from '../../types/AttachmentMiddleware';\nimport { AvatarComponentFactory } from '../../types/AvatarMiddleware';\nimport { PerformCardAction } from '../../types/CardActionMiddleware';\nimport { GroupActivities } from '../../types/GroupActivitiesMiddleware';\nimport LocalizedStrings from '../../types/LocalizedStrings';\nimport { type Notification } from '../../types/Notification';\nimport PrecompiledGlobalize from '../../types/PrecompiledGlobalize';\nimport { ScrollToEndButtonComponentFactory } from '../../types/ScrollToEndButtonMiddleware';\nimport TelemetryMeasurementEvent from '../../types/TelemetryMeasurementEvent';\nimport { RenderToast } from '../../types/ToastMiddleware';\n\ntype WebChatAPIContext = {\n  activityRenderer?: LegacyActivityRenderer;\n  activityStatusRenderer: RenderActivityStatus;\n  attachmentForScreenReaderRenderer?: AttachmentForScreenReaderComponentFactory;\n  attachmentRenderer?: RenderAttachment;\n  avatarRenderer: AvatarComponentFactory;\n  clearSuggestedActions?: () => void;\n  dir?: string;\n  directLine?: DirectLineJSBotConnection;\n  disabled?: boolean;\n  dismissNotification?: (id: string) => void;\n  downscaleImageToDataURL?: (\n    blob: Blob,\n    maxWidth: number,\n    maxHeight: number,\n    type: string,\n    quality: number\n  ) => Promise<URL>;\n  emitTypingIndicator?: () => void;\n  grammars?: any;\n  groupActivities?: GroupActivities;\n  internalErrorBoxClass?: React.Component | Function;\n  language?: string;\n  localizedGlobalizeState?: PrecompiledGlobalize[];\n  localizedStrings?: { [language: string]: LocalizedStrings };\n  markActivity?: (activity: { id: string }, name: string, value?: any) => void;\n  onCardAction?: PerformCardAction;\n  onTelemetry?: (event: TelemetryMeasurementEvent) => void;\n  postActivity?: (activity: WebChatActivity) => Observable<string>;\n  renderMarkdown?: (\n    markdown: string,\n    newLineOptions: { markdownRespectCRLF: boolean },\n    linkOptions: { externalLinkAlt: string }\n  ) => string;\n  scrollToEndButtonRenderer?: ScrollToEndButtonComponentFactory;\n  selectVoice?: (\n    voices: (typeof window.SpeechSynthesisVoice)[],\n    activity: WebChatActivity\n  ) => typeof window.SpeechSynthesisVoice;\n  sendEvent?: (name: string, value: any) => void;\n  sendFiles?: (...args: Parameters<typeof sendFiles>) => void;\n  sendMessage?: (...args: Parameters<typeof sendMessage>) => void;\n  sendMessageBack?: (value: any, text?: string, displayText?: string) => void;\n  sendPostBack?: (value?: any) => void;\n  sendTypingIndicator?: boolean;\n  setDictateInterims?: (interims: string[]) => void;\n  setDictateState?: (dictateState: number) => void;\n  setNotification?: (notification: Notification) => void;\n  setSendBox?: (value: string) => void;\n  setSendBoxAttachments?: (...args: Parameters<typeof setSendBoxAttachments>) => void;\n  setSendTimeout?: (timeout: number) => void;\n  startDictate?: () => void;\n  startSpeakingActivity?: () => void;\n  stopDictate?: () => void;\n  stopSpeakingActivity?: () => void;\n  styleOptions?: StrictStyleOptions;\n  submitSendBox?: (method?: string, { channelData }?: { channelData: any }) => void;\n  telemetryDimensionsRef?: React.Ref<any>;\n  toastRenderer?: RenderToast;\n  trackDimension?: (name: string, data: any) => void;\n  typingIndicatorRenderer?: any; // TODO\n  userID?: string;\n  username?: string;\n};\n\nconst context = createContext<WebChatAPIContext>(undefined);\n\ncontext.displayName = 'WebChatAPIContext';\n\nexport default context;\n","import { useContext } from 'react';\n\nimport WebChatAPIContext from './WebChatAPIContext';\n\nexport default function useWebChatAPIContext() {\n  const context = useContext(WebChatAPIContext);\n\n  if (!context) {\n    throw new Error('This hook can only be used on a component that is a descendant of <Composer>');\n  }\n\n  return context;\n}\n"],"mappings":"AAQA,OAAS,iBAAAA,MAAqB,QAkF9B,IAAMC,EAAUD,EAAiC,MAAS,EAE1DC,EAAQ,YAAc,oBAEtB,IAAOC,EAAQD,EC9Ff,OAAS,cAAAE,MAAkB,QAIZ,SAARC,GAAwC,CAC7C,IAAMC,EAAUC,EAAWC,CAAiB,EAE5C,GAAI,CAACF,EACH,MAAM,IAAI,MAAM,8EAA8E,EAGhG,OAAOA,CACT","names":["createContext","context","WebChatAPIContext_default","useContext","useWebChatAPIContext","context","useContext","WebChatAPIContext_default"]}