{"version":3,"sources":["../../protocol/src/index.ts","../src/index.ts"],"names":["OnrampMessageType","DATA_ATTR","GLOBAL_NAME","DEFAULT_LOADING_LABEL","DEFAULT_READY_TIMEOUT_MS","appendQueryFlag","src","key","value","beforeHashPart","hashPart","beforeHash","hash","basePart","queryPart","base","query","params","nextQuery","nextHash","buildIframeSrc","config","_a","_b","iframeSrc","host","hostedRoot","createMissingIframeTargetError","applyIframeLayout","iframe","options","createIframe","hasKeys","normalizeTheme","theme","normalized","vars","colors","typography","layout","mergeThemes","override","readCssTheme","target","styles","read","name","primary","secondary","background","text","muted","border","shadow","fontFamily","radius","resolveThemePayload","prefersDark","cssTheme","merged","mode","resolvedMode","schemeColors","payload","resolveTargetOrigin","fallback","error","resolveReadyTimeoutMs","createLoadingElement","loading","wrapper","label","element","createDefaultErrorElement","emitAnalytics","event","reportError","status","message","createStatusController","loadingEl","errorEl","showLoading","hideLoading","showError","resolved","clearError","cleanup","coercePayload","coerceReadyPayload","coerceDealRegisteredPayload","mountIntoTarget","targetEl","_c","_d","targetOrigin","originError","partnerId","attribution","mediaQuery","removeMediaListener","resolveTheme","validateTheme","missing","sendTheme","readyTimeoutId","startReadyTimer","timeoutMs","clearReadyTimer","sendInit","onIframeLoad","onIframeError","setupThemeListener","handler","messageHandler","_e","data","mount","preload","onLoad","attachIframe","mounted","overrides","autoMount","partnerName","brandingName","brandingLogo","brandingLogoDark","brandingLogoHeightAttr","brandingLogoHeight","snapshotEndpoint","referralCode","attributionSource","utmSource","utmMedium","utmCampaign","utmContent","utmTerm","skipStorageAttr","skipStorage","allowUrlPiiAttr","allowUrlPii","themeMode","loadingAttr","branding","shouldAutoMount","processGlobalQueue","existing","api","queue","entry","args","method","rest","registerGlobal","win"],"mappings":"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","file":"widget.mjs","sourcesContent":["export const OnrampMessageType = {\n  Init: 'deepFathom.onramp.init',\n  Theme: 'deepFathom.onramp.theme',\n  Ready: 'deepFathom.onramp.ready',\n  Step: 'deepFathom.onramp.step',\n  Complete: 'deepFathom.onramp.complete',\n  DealRegistered: 'deepFathom.onramp.dealRegistered',\n  Share: 'deepFathom.onramp.share',\n  Resize: 'deepFathom.onramp.resize',\n} as const;\n\nexport type OnrampMessageTypeValue = (typeof OnrampMessageType)[keyof typeof OnrampMessageType];\n\nexport type ThemeMode = 'auto' | 'light' | 'dark' | 'partner' | 'df';\n\nexport type ThemeColors = {\n  primary?: string;\n  secondary?: string;\n  background?: string;\n  text?: string;\n  muted?: string;\n  border?: string;\n  shadow?: string;\n};\n\nexport type ThemeConfig = {\n  mode?: ThemeMode;\n  colors?: ThemeColors;\n  colorsLight?: ThemeColors;\n  colorsDark?: ThemeColors;\n  variables?: {\n    primary?: string;\n    secondary?: string;\n    bg?: string;\n    text?: string;\n    muted?: string;\n    border?: string;\n    shadow?: string;\n    font?: string;\n    radius?: string;\n  };\n  brand?: {\n    logoUrl?: string;\n    primary?: string;\n    secondary?: string;\n  };\n  typography?: {\n    fontFamily?: string;\n    scale?: 'sm' | 'md' | 'lg';\n  };\n  layout?: {\n    density?: 'compact' | 'standard' | 'spacious';\n    radius?: 'sm' | 'md' | 'lg' | string;\n    shadow?: string;\n  };\n};\n\nexport type AttributionConfig = {\n  partnerId?: string;\n  referralCode?: string;\n  source?: string;\n  utmSource?: string;\n  utmMedium?: string;\n  utmCampaign?: string;\n  utmContent?: string;\n  utmTerm?: string;\n};\n\nexport type PartnerBranding = {\n  /** Partner display name - used as fallback if logo fails, and for accessibility */\n  name: string;\n  /** URL to partner logo (SVG recommended, PNG/JPG supported) */\n  logo?: string;\n  /** URL to dark mode variant of logo (optional, falls back to logo) */\n  logoDark?: string;\n  /** Logo height in pixels (default: 28, max: 48) */\n  logoHeight?: number;\n};\n\nexport type OnrampInitPayload = {\n  partnerId?: string;\n  partnerName?: string;\n  theme?: ThemeConfig;\n  branding?: PartnerBranding;\n  snapshotEndpoint?: string;\n  attribution?: AttributionConfig;\n  allowUrlPii?: boolean;\n};\n\nexport type OnrampReadyPayload = {\n  sessionId: string;\n  timestamp: string;\n};\n\nexport type OnrampStepPayload = {\n  sessionId: string;\n  stepId: string;\n  stepIndex: number;\n  timestamp: string;\n};\n\nexport type OnrampCompletePayload = {\n  sessionId: string;\n  summary: Record<string, unknown>;\n  snapshotId?: string;\n  attribution?: AttributionConfig;\n  timestamp: string;\n};\n\nexport type DealWarning = {\n  field: string;\n  code: string;\n  message: string;\n};\n\nexport type OnrampDealRegisteredPayload = {\n  sessionId: string;\n  dealId: string;\n  partnerVerified: boolean;\n  warnings: DealWarning[];\n  lead: {\n    email: string;\n    company?: string;\n  };\n  context?: Record<string, unknown>;\n  attribution?: AttributionConfig;\n  timestamp: string;\n};\n\nexport type OnrampSharePayload = {\n  sessionId: string;\n  url?: string;\n  snapshotId?: string;\n  attribution?: AttributionConfig;\n  timestamp: string;\n};\n\nexport type OnrampResizePayload = {\n  height: number;\n};\n\nexport type OnrampMessage =\n  | { type: typeof OnrampMessageType.Init; payload: OnrampInitPayload }\n  | { type: typeof OnrampMessageType.Theme; payload: ThemeConfig }\n  | { type: typeof OnrampMessageType.Ready; payload: OnrampReadyPayload }\n  | { type: typeof OnrampMessageType.Step; payload: OnrampStepPayload }\n  | { type: typeof OnrampMessageType.Complete; payload: OnrampCompletePayload }\n  | { type: typeof OnrampMessageType.DealRegistered; payload: OnrampDealRegisteredPayload }\n  | { type: typeof OnrampMessageType.Share; payload: OnrampSharePayload }\n  | { type: typeof OnrampMessageType.Resize; payload: OnrampResizePayload };\n","import {\n  OnrampMessageType,\n  type OnrampCompletePayload,\n  type OnrampDealRegisteredPayload,\n  type OnrampReadyPayload,\n  type OnrampResizePayload,\n  type OnrampSharePayload,\n  type OnrampStepPayload,\n  type ThemeColors,\n  type ThemeConfig,\n} from '@onramp-kit/protocol';\nimport type {\n  AnalyticsEvent,\n  DealRegisteredPayload,\n  EmbedConfig,\n  EmbedError,\n  EmbedEventPayload,\n  EmbedHandle,\n  PreloadHandle,\n  ReadyPayload,\n} from './types.js';\n\nexport type {\n  AnalyticsEvent,\n  AttributionConfig,\n  DealRegisteredPayload,\n  DealWarning,\n  EmbedError,\n  EmbedConfig,\n  EmbedEventPayload,\n  EmbedHandle,\n  EmbedMode,\n  LoadingConfig,\n  PartnerBranding,\n  PreloadHandle,\n  ReadyPayload,\n  ThemeConfig,\n} from './types.js';\n\nconst DATA_ATTR = {\n  target: 'data-deep-fathom-onramp',\n  auto: 'data-deep-fathom-auto',\n  partnerId: 'data-partner-id',\n  partnerName: 'data-partner-name',\n  brandingName: 'data-branding-name',\n  brandingLogo: 'data-branding-logo',\n  brandingLogoDark: 'data-branding-logo-dark',\n  brandingLogoHeight: 'data-branding-logo-height',\n  host: 'data-host',\n  mode: 'data-mode',\n  iframe: 'data-iframe-src',\n  snapshotEndpoint: 'data-snapshot-endpoint',\n  referralCode: 'data-referral-code',\n  attributionSource: 'data-attribution-source',\n  utmSource: 'data-utm-source',\n  utmMedium: 'data-utm-medium',\n  utmCampaign: 'data-utm-campaign',\n  utmContent: 'data-utm-content',\n  utmTerm: 'data-utm-term',\n  skipStorage: 'data-skip-storage',\n  allowUrlPii: 'data-allow-url-pii',\n  themeMode: 'data-theme-mode',\n  loading: 'data-loading',\n};\n\nconst GLOBAL_NAME = 'DeepFathomOnramp';\nconst DEFAULT_LOADING_LABEL = 'Loading assessment...';\nconst DEFAULT_READY_TIMEOUT_MS = 20000;\n\nconst appendQueryFlag = (src: string, key: string, value: string) => {\n  const [beforeHashPart, hashPart] = src.split('#', 2);\n  const beforeHash = beforeHashPart ?? src;\n  const hash = hashPart ?? '';\n  const [basePart, queryPart] = beforeHash.split('?', 2);\n  const base = basePart ?? beforeHash;\n  const query = queryPart ?? '';\n  const params = new URLSearchParams(query);\n  params.set(key, value);\n  const nextQuery = params.toString();\n  const nextHash = hash ? `#${hash}` : '';\n  return `${base}${nextQuery ? `?${nextQuery}` : ''}${nextHash}`;\n};\n\nconst buildIframeSrc = (config: EmbedConfig) => {\n  const iframeSrc = config.iframeSrc?.trim();\n  if (iframeSrc) {\n    return config.skipStorage ? appendQueryFlag(iframeSrc, 'skipStorage', '1') : iframeSrc;\n  }\n  const host = config.host?.trim();\n  if (host) {\n    const hostedRoot = `${host.replace(/\\/$/, '')}/`;\n    return config.skipStorage ? appendQueryFlag(hostedRoot, 'skipStorage', '1') : hostedRoot;\n  }\n  return undefined;\n};\n\nconst createMissingIframeTargetError = (): EmbedError => ({\n  code: 'MISSING_IFRAME_TARGET',\n  message:\n    'DeepFathom Onramp requires `host` or `iframeSrc` to mount. Set `host`/`iframeSrc` (or `data-host`/`data-iframe-src`).',\n  recoverable: false,\n});\n\nconst applyIframeLayout = (\n  iframe: HTMLIFrameElement,\n  options: { allowFullHeight?: boolean; hidden?: boolean } = {},\n) => {\n  iframe.style.width = '100%';\n  iframe.style.border = '0';\n  iframe.style.borderRadius = '16px';\n  iframe.style.minHeight = '720px';\n  iframe.style.display = options.hidden ? 'none' : 'block';\n  iframe.style.position = '';\n  iframe.style.left = '';\n  iframe.style.top = '';\n  iframe.style.opacity = '';\n  iframe.style.pointerEvents = '';\n  if (options.allowFullHeight) {\n    iframe.style.height = '1px';\n    iframe.style.overflow = 'hidden';\n  } else {\n    iframe.style.height = '';\n    iframe.style.overflow = '';\n  }\n};\n\nconst createIframe = (src: string) => {\n  const iframe = document.createElement('iframe');\n  iframe.src = src;\n  iframe.title = 'DeepFathom Onramp';\n  iframe.loading = 'lazy';\n  applyIframeLayout(iframe);\n  iframe.allow = 'clipboard-write; fullscreen';\n  iframe.referrerPolicy = 'strict-origin-when-cross-origin';\n  return iframe;\n};\n\nconst hasKeys = (value?: object) => Boolean(value && Object.keys(value).length > 0);\n\nconst normalizeTheme = (theme?: ThemeConfig): ThemeConfig | undefined => {\n  if (!theme) return undefined;\n  const normalized: ThemeConfig = { ...theme };\n  const vars = theme.variables;\n  if (vars) {\n    const colors: ThemeColors = { ...(theme.colors || {}) };\n    if (vars.primary && !colors.primary) colors.primary = vars.primary;\n    if (vars.secondary && !colors.secondary) colors.secondary = vars.secondary;\n    if (vars.bg && !colors.background) colors.background = vars.bg;\n    if (vars.text && !colors.text) colors.text = vars.text;\n    if (vars.muted && !colors.muted) colors.muted = vars.muted;\n    if (vars.border && !colors.border) colors.border = vars.border;\n    if (vars.shadow && !colors.shadow) colors.shadow = vars.shadow;\n    if (hasKeys(colors)) normalized.colors = colors;\n\n    const typography = { ...(theme.typography || {}) };\n    if (vars.font && !typography.fontFamily) typography.fontFamily = vars.font;\n    if (hasKeys(typography)) normalized.typography = typography;\n\n    const layout = { ...(theme.layout || {}) };\n    if (vars.radius && !layout.radius) layout.radius = vars.radius;\n    if (vars.shadow && !layout.shadow) layout.shadow = vars.shadow;\n    if (hasKeys(layout)) normalized.layout = layout;\n  }\n  return normalized;\n};\n\nconst mergeThemes = (base?: ThemeConfig, override?: ThemeConfig): ThemeConfig | undefined => {\n  if (!base && !override) return undefined;\n  return {\n    ...base,\n    ...override,\n    colors: { ...(base?.colors || {}), ...(override?.colors || {}) },\n    colorsLight: { ...(base?.colorsLight || {}), ...(override?.colorsLight || {}) },\n    colorsDark: { ...(base?.colorsDark || {}), ...(override?.colorsDark || {}) },\n    brand: { ...(base?.brand || {}), ...(override?.brand || {}) },\n    typography: { ...(base?.typography || {}), ...(override?.typography || {}) },\n    layout: { ...(base?.layout || {}), ...(override?.layout || {}) },\n  };\n};\n\nconst readCssTheme = (target: HTMLElement): ThemeConfig | undefined => {\n  const styles = getComputedStyle(target);\n  const colors: ThemeColors = {};\n  const read = (name: string) => styles.getPropertyValue(name).trim();\n\n  const primary = read('--deep-fathom-primary');\n  if (primary) colors.primary = primary;\n  const secondary = read('--deep-fathom-secondary');\n  if (secondary) colors.secondary = secondary;\n  const background = read('--deep-fathom-bg');\n  if (background) colors.background = background;\n  const text = read('--deep-fathom-text');\n  if (text) colors.text = text;\n  const muted = read('--deep-fathom-muted');\n  if (muted) colors.muted = muted;\n  const border = read('--deep-fathom-border');\n  if (border) colors.border = border;\n  const shadow = read('--deep-fathom-shadow');\n  if (shadow) colors.shadow = shadow;\n\n  const typography: ThemeConfig['typography'] = {};\n  const fontFamily = read('--deep-fathom-font');\n  if (fontFamily) typography.fontFamily = fontFamily;\n\n  const layout: ThemeConfig['layout'] = {};\n  const radius = read('--deep-fathom-radius');\n  if (radius) layout.radius = radius;\n  if (shadow) layout.shadow = shadow;\n\n  const theme: ThemeConfig = {};\n  if (hasKeys(colors)) theme.colors = colors;\n  if (hasKeys(typography)) theme.typography = typography;\n  if (hasKeys(layout)) theme.layout = layout;\n  return hasKeys(theme) ? theme : undefined;\n};\n\nconst resolveThemePayload = (\n  theme: ThemeConfig | undefined,\n  target: HTMLElement | null,\n  prefersDark: boolean,\n): ThemeConfig | undefined => {\n  if (!theme && !target) return undefined;\n  const normalized = normalizeTheme(theme);\n  const cssTheme = target ? readCssTheme(target) : undefined;\n  const merged = mergeThemes(cssTheme, normalized);\n  const mode = normalized?.mode ?? merged?.mode ?? 'auto';\n\n  if (mode === 'df') {\n    return { mode };\n  }\n\n  const resolvedMode = mode === 'auto' ? (prefersDark ? 'dark' : 'light') : mode;\n  const schemeColors =\n    resolvedMode === 'dark' ? normalized?.colorsDark : normalized?.colorsLight;\n  const colors = schemeColors && hasKeys(schemeColors) ? schemeColors : merged?.colors;\n\n  const payload: ThemeConfig = { mode: resolvedMode };\n  if (merged?.brand && hasKeys(merged.brand)) payload.brand = merged.brand;\n  if (merged?.typography && hasKeys(merged.typography)) payload.typography = merged.typography;\n  if (merged?.layout && hasKeys(merged.layout)) payload.layout = merged.layout;\n  if (colors && hasKeys(colors)) payload.colors = colors;\n\n  return payload;\n};\n\nconst resolveTargetOrigin = (iframeSrc: string, fallback?: string) => {\n  if (fallback) return { origin: fallback, error: null as unknown };\n  try {\n    return { origin: new URL(iframeSrc, window.location.href).origin, error: null as unknown };\n  } catch (error) {\n    return { origin: '*', error };\n  }\n};\n\nconst resolveReadyTimeoutMs = (config: EmbedConfig) => {\n  if (config.readyTimeoutMs === 0) return 0;\n  if (typeof config.readyTimeoutMs === 'number') return config.readyTimeoutMs;\n  return DEFAULT_READY_TIMEOUT_MS;\n};\n\nconst createLoadingElement = (config: EmbedConfig) => {\n  const loading = config.loading;\n  if (!loading) return null;\n\n  if (typeof loading === 'object') {\n    if (loading.element) return loading.element;\n    if (loading.html) {\n      const wrapper = document.createElement('div');\n      wrapper.innerHTML = loading.html;\n      return wrapper;\n    }\n  }\n\n  const label =\n    typeof loading === 'object' && loading.label ? loading.label : DEFAULT_LOADING_LABEL;\n  const element = document.createElement('div');\n  element.textContent = label;\n  element.setAttribute('role', 'status');\n  element.setAttribute('aria-live', 'polite');\n  element.style.cssText =\n    'padding:12px 16px;font-size:14px;line-height:1.4;color:#6b7280;background:#f8fafc;border:1px dashed #e5e7eb;border-radius:12px;text-align:center;';\n  if (typeof loading === 'object' && loading.className) {\n    element.className = loading.className;\n  }\n  return element;\n};\n\nconst createDefaultErrorElement = (error: EmbedError) => {\n  const element = document.createElement('div');\n  element.setAttribute('role', 'alert');\n  element.style.cssText =\n    'padding:12px 16px;font-size:14px;line-height:1.4;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;';\n  element.textContent = error.message;\n  return element;\n};\n\nconst emitAnalytics = (config: EmbedConfig, name: AnalyticsEvent['name'], payload?: Record<string, unknown>) => {\n  if (!config.onAnalyticsEvent) return;\n  const event: AnalyticsEvent = {\n    name,\n    payload,\n    timestamp: new Date().toISOString(),\n  };\n  config.onAnalyticsEvent(event);\n};\n\nconst reportError = (\n  config: EmbedConfig,\n  error: EmbedError,\n  status?: { showError?: (err: EmbedError) => void },\n) => {\n  config.onError?.(error);\n  emitAnalytics(config, 'error', error as unknown as Record<string, unknown>);\n\n  if (config.errorPolicy !== 'silent') {\n    const message = `DeepFathom Onramp: ${error.message}`;\n    if (config.errorPolicy === 'throw') {\n      throw new Error(message);\n    } else {\n      console.warn(message, error);\n    }\n  }\n\n  status?.showError?.(error);\n};\n\nconst createStatusController = (target: HTMLElement, config: EmbedConfig) => {\n  let loadingEl: HTMLElement | null = null;\n  let errorEl: HTMLElement | null = null;\n\n  const showLoading = () => {\n    if (!config.loading || loadingEl) return;\n    loadingEl = createLoadingElement(config);\n    if (loadingEl) {\n      loadingEl.setAttribute('data-deep-fathom-loading', 'true');\n      target.appendChild(loadingEl);\n      target.setAttribute('aria-busy', 'true');\n    }\n  };\n\n  const hideLoading = () => {\n    if (loadingEl) loadingEl.remove();\n    loadingEl = null;\n    target.removeAttribute('aria-busy');\n  };\n\n  const showError = (error: EmbedError) => {\n    hideLoading();\n    if (errorEl) errorEl.remove();\n    let element: HTMLElement | null = null;\n    if (config.errorUI) {\n      const resolved =\n        typeof config.errorUI === 'function' ? config.errorUI(error) : config.errorUI;\n      if (typeof resolved === 'string') {\n        const wrapper = document.createElement('div');\n        wrapper.innerHTML = resolved;\n        element = wrapper;\n      } else if (resolved instanceof HTMLElement) {\n        element = resolved;\n      }\n    } else if (config.useDefaultErrorUI) {\n      element = createDefaultErrorElement(error);\n    }\n    if (element) {\n      element.setAttribute('data-deep-fathom-error', 'true');\n      errorEl = element;\n      target.appendChild(element);\n    }\n  };\n\n  const clearError = () => {\n    if (errorEl) errorEl.remove();\n    errorEl = null;\n  };\n\n  const cleanup = () => {\n    hideLoading();\n    clearError();\n  };\n\n  showLoading();\n\n  return {\n    showLoading,\n    hideLoading,\n    showError,\n    clearError,\n    cleanup,\n  };\n};\n\nconst coercePayload = (payload: Record<string, unknown>): EmbedEventPayload => ({\n  sessionId: String(payload['sessionId'] || ''),\n  stepId: payload['stepId'] ? String(payload['stepId']) : undefined,\n  stepIndex: typeof payload['stepIndex'] === 'number' ? payload['stepIndex'] : undefined,\n  url: payload['url'] ? String(payload['url']) : undefined,\n  snapshotId: payload['snapshotId'] ? String(payload['snapshotId']) : undefined,\n  attribution: payload['attribution'] as EmbedEventPayload['attribution'],\n  summary: payload['summary'] as Record<string, unknown> | undefined,\n  rawState: payload['rawState'] as Record<string, unknown> | undefined,\n  timestamp: String(payload['timestamp'] || new Date().toISOString()),\n});\n\nconst coerceReadyPayload = (payload: OnrampReadyPayload): ReadyPayload => ({\n  sessionId: String(payload.sessionId || ''),\n  timestamp: String(payload.timestamp || new Date().toISOString()),\n});\n\nconst coerceDealRegisteredPayload = (payload: OnrampDealRegisteredPayload): DealRegisteredPayload => ({\n  sessionId: payload.sessionId,\n  dealId: payload.dealId,\n  partnerVerified: payload.partnerVerified,\n  warnings: payload.warnings,\n  lead: {\n    email: payload.lead.email,\n    company: payload.lead.company,\n  },\n  context: payload.context,\n  attribution: payload.attribution,\n  timestamp: payload.timestamp,\n});\n\nconst mountIntoTarget = (\n  targetEl: HTMLElement,\n  config: EmbedConfig,\n  options: { iframe?: HTMLIFrameElement } = {},\n): EmbedHandle => {\n  if (config.mode === 'inline') {\n    console.warn('DeepFathom Onramp inline mode is not yet available; falling back to iframe.');\n  }\n\n  const status = createStatusController(targetEl, config);\n\n  const iframeSrc = buildIframeSrc(config);\n  if (!iframeSrc) {\n    const error = createMissingIframeTargetError();\n    reportError(config, error, status);\n    throw new Error(error.message);\n  }\n  let iframe = options.iframe ?? createIframe(iframeSrc);\n  if (options.iframe && iframe.src !== iframeSrc) {\n    iframe.src = iframeSrc;\n  }\n  applyIframeLayout(iframe, { allowFullHeight: config.allowFullHeight, hidden: false });\n  if (iframe.parentElement !== targetEl) {\n    targetEl.appendChild(iframe);\n  }\n\n  const { origin: targetOrigin, error: originError } = resolveTargetOrigin(\n    iframeSrc,\n    config.targetOrigin,\n  );\n  if (originError) {\n    reportError(\n      config,\n      {\n        code: 'INVALID_IFRAME_SRC',\n        message: 'Unable to resolve iframe origin; set targetOrigin explicitly.',\n        cause: originError,\n        recoverable: true,\n      },\n      status,\n    );\n  }\n\n  const partnerId = config.partnerId ?? config.attribution?.partnerId;\n  const hasAttribution = Boolean(config.attribution || partnerId);\n  const attribution = hasAttribution ? { ...config.attribution, partnerId } : undefined;\n\n  const mediaQuery =\n    typeof window !== 'undefined' && typeof window.matchMedia === 'function'\n      ? window.matchMedia('(prefers-color-scheme: dark)')\n      : null;\n  let removeMediaListener = () => {};\n\n  const resolveTheme = () =>\n    resolveThemePayload(config.theme, targetEl, mediaQuery?.matches ?? false);\n\n  const validateTheme = (theme?: ThemeConfig) => {\n    if (theme?.mode !== 'partner') return;\n    const missing: string[] = [];\n    const colors = theme.colors || {};\n    if (!colors.primary) missing.push('primary');\n    if (!colors.background) missing.push('background');\n    if (!colors.text) missing.push('text');\n    if (missing.length) {\n      reportError(\n        config,\n        {\n          code: 'THEME_MISSING',\n          message: `Missing theme tokens: ${missing.join(', ')}.`,\n          details: { missing },\n          recoverable: true,\n        },\n        status,\n      );\n    }\n  };\n\n  const sendTheme = (theme?: ThemeConfig) => {\n    if (!theme) return;\n    iframe.contentWindow?.postMessage(\n      {\n        type: OnrampMessageType.Theme,\n        payload: theme,\n      },\n      targetOrigin,\n    );\n  };\n\n  let readyTimeoutId: number | undefined;\n  const startReadyTimer = () => {\n    const timeoutMs = resolveReadyTimeoutMs(config);\n    if (!timeoutMs) return;\n    if (readyTimeoutId) window.clearTimeout(readyTimeoutId);\n    readyTimeoutId = window.setTimeout(() => {\n      reportError(\n        config,\n        {\n          code: 'READY_TIMEOUT',\n          message: `Configurator did not signal ready within ${timeoutMs}ms.`,\n          recoverable: true,\n        },\n        status,\n      );\n    }, timeoutMs);\n  };\n\n  const clearReadyTimer = () => {\n    if (!readyTimeoutId) return;\n    window.clearTimeout(readyTimeoutId);\n    readyTimeoutId = undefined;\n  };\n\n  const sendInit = () => {\n    const theme = resolveTheme();\n    validateTheme(theme);\n    iframe.contentWindow?.postMessage(\n      {\n        type: OnrampMessageType.Init,\n        payload: {\n          partnerId,\n          partnerName: config.partnerName,\n          theme,\n          branding: config.branding,\n          snapshotEndpoint: config.snapshotEndpoint,\n          attribution,\n          allowUrlPii: config.allowUrlPii,\n        },\n      },\n      targetOrigin,\n    );\n    startReadyTimer();\n  };\n\n  const onIframeLoad = () => {\n    sendInit();\n  };\n\n  const onIframeError = () => {\n    reportError(\n      config,\n      {\n        code: 'IFRAME_ERROR',\n        message: 'Failed to load configurator iframe.',\n        recoverable: true,\n      },\n      status,\n    );\n  };\n\n  const setupThemeListener = () => {\n    removeMediaListener();\n    const mode = config.theme?.mode ?? 'auto';\n    if (!mediaQuery || (mode !== 'auto' && mode !== 'partner')) return;\n\n    const handler = () => {\n      const theme = resolveThemePayload(config.theme, targetEl, mediaQuery.matches);\n      sendTheme(theme);\n    };\n\n    if (typeof mediaQuery.addEventListener === 'function') {\n      mediaQuery.addEventListener('change', handler);\n      removeMediaListener = () => mediaQuery.removeEventListener('change', handler);\n    } else if (typeof mediaQuery.addListener === 'function') {\n      mediaQuery.addListener(handler);\n      removeMediaListener = () => mediaQuery.removeListener(handler);\n    }\n  };\n\n  const messageHandler = (event: MessageEvent) => {\n    if (event.source !== iframe.contentWindow) return;\n    if (targetOrigin !== '*' && event.origin !== targetOrigin) return;\n\n    const data = event.data as { type?: string; payload?: Record<string, unknown> };\n    if (!data?.type || !data.payload) return;\n\n    switch (data.type) {\n      case OnrampMessageType.Ready: {\n        const payload = coerceReadyPayload(data.payload as OnrampReadyPayload);\n        status.hideLoading();\n        clearReadyTimer();\n        config.onReady?.(payload);\n        emitAnalytics(config, 'ready', payload as unknown as Record<string, unknown>);\n        break;\n      }\n      case OnrampMessageType.Step: {\n        const payload = coercePayload(data.payload as OnrampStepPayload);\n        config.onStepChange?.(payload);\n        emitAnalytics(config, 'step', payload as unknown as Record<string, unknown>);\n        break;\n      }\n      case OnrampMessageType.Complete: {\n        const payload = coercePayload(data.payload as OnrampCompletePayload);\n        config.onComplete?.(payload);\n        emitAnalytics(config, 'complete', payload as unknown as Record<string, unknown>);\n        break;\n      }\n      case OnrampMessageType.Share: {\n        const payload = coercePayload(data.payload as OnrampSharePayload);\n        config.onShare?.(payload);\n        emitAnalytics(config, 'share', payload as unknown as Record<string, unknown>);\n        break;\n      }\n      case OnrampMessageType.DealRegistered: {\n        const payload = coerceDealRegisteredPayload(data.payload as OnrampDealRegisteredPayload);\n        config.onDealRegistered?.(payload);\n        emitAnalytics(config, 'dealRegistered', payload as unknown as Record<string, unknown>);\n        break;\n      }\n      case OnrampMessageType.Resize: {\n        const payload = data.payload as OnrampResizePayload;\n        if (config.allowFullHeight && payload?.height) {\n          iframe.style.height = `${payload.height}px`;\n        }\n        emitAnalytics(config, 'resize', payload as unknown as Record<string, unknown>);\n        break;\n      }\n      default:\n        break;\n    }\n  };\n\n  setupThemeListener();\n\n  window.addEventListener('message', messageHandler);\n  iframe.addEventListener('load', onIframeLoad);\n  iframe.addEventListener('error', onIframeError);\n\n  if (iframe.dataset?.['dfOnrampLoaded'] === 'true') {\n    sendInit();\n  }\n\n  return {\n    destroy: () => {\n      window.removeEventListener('message', messageHandler);\n      iframe.removeEventListener('load', onIframeLoad);\n      iframe.removeEventListener('error', onIframeError);\n      removeMediaListener();\n      clearReadyTimer();\n      status.cleanup();\n      iframe.remove();\n    },\n    setTheme: (theme: ThemeConfig) => {\n      config.theme = theme;\n      setupThemeListener();\n      const resolved = resolveThemePayload(theme, targetEl, mediaQuery?.matches ?? false);\n      validateTheme(resolved);\n      sendTheme(resolved);\n    },\n    reload: () => {\n      status.clearError();\n      status.showLoading();\n      clearReadyTimer();\n      iframe.removeEventListener('load', onIframeLoad);\n      iframe.removeEventListener('error', onIframeError);\n      iframe.remove();\n      iframe = createIframe(iframeSrc);\n      applyIframeLayout(iframe, { allowFullHeight: config.allowFullHeight, hidden: false });\n      targetEl.appendChild(iframe);\n      iframe.addEventListener('load', onIframeLoad);\n      iframe.addEventListener('error', onIframeError);\n    },\n  };\n};\n\nexport const mount = (target: string | HTMLElement, config: EmbedConfig): EmbedHandle => {\n  const targetEl =\n    typeof target === 'string' ? (document.querySelector(target) as HTMLElement | null) : target;\n  if (!targetEl) {\n    reportError(config, {\n      code: 'TARGET_NOT_FOUND',\n      message: 'DeepFathom Onramp target element not found.',\n      recoverable: false,\n    });\n    throw new Error('DeepFathom Onramp target element not found');\n  }\n\n  return mountIntoTarget(targetEl, config);\n};\n\nexport const preload = (config: EmbedConfig): PreloadHandle => {\n  const iframeSrc = buildIframeSrc(config);\n  if (!iframeSrc) {\n    const error = createMissingIframeTargetError();\n    reportError(config, error);\n    throw new Error(error.message);\n  }\n  const iframe = createIframe(iframeSrc);\n  iframe.dataset['dfOnrampPreload'] = 'true';\n  iframe.style.position = 'absolute';\n  iframe.style.left = '-9999px';\n  iframe.style.top = '-9999px';\n  iframe.style.width = '1px';\n  iframe.style.height = '1px';\n  iframe.style.opacity = '0';\n  iframe.style.pointerEvents = 'none';\n\n  const onLoad = () => {\n    iframe.dataset['dfOnrampLoaded'] = 'true';\n  };\n\n  iframe.addEventListener('load', onLoad);\n  const attachIframe = () => {\n    (document.body || document.documentElement).appendChild(iframe);\n  };\n  if (document.body) {\n    attachIframe();\n  } else {\n    document.addEventListener('DOMContentLoaded', attachIframe, { once: true });\n  }\n\n  let mounted = false;\n\n  return {\n    mount: (target: string | HTMLElement, overrides?: EmbedConfig) => {\n      if (mounted) {\n        return mount(target, { ...config, ...(overrides || {}) });\n      }\n      mounted = true;\n      const targetEl =\n        typeof target === 'string' ? (document.querySelector(target) as HTMLElement | null) : target;\n      if (!targetEl) {\n        reportError(config, {\n          code: 'TARGET_NOT_FOUND',\n          message: 'DeepFathom Onramp target element not found.',\n          recoverable: false,\n        });\n        throw new Error('DeepFathom Onramp target element not found');\n      }\n      return mountIntoTarget(targetEl, { ...config, ...(overrides || {}) }, { iframe });\n    },\n    destroy: () => {\n      iframe.removeEventListener('load', onLoad);\n      document.removeEventListener('DOMContentLoaded', attachIframe);\n      iframe.remove();\n    },\n  };\n};\n\nexport const autoMount = () => {\n  const targets = document.querySelectorAll<HTMLElement>(`[${DATA_ATTR.target}]`);\n  targets.forEach((target) => {\n    const partnerId = target.getAttribute(DATA_ATTR.partnerId) || undefined;\n    const partnerName = target.getAttribute(DATA_ATTR.partnerName) || undefined;\n    const brandingName = target.getAttribute(DATA_ATTR.brandingName) || undefined;\n    const brandingLogo = target.getAttribute(DATA_ATTR.brandingLogo) || undefined;\n    const brandingLogoDark = target.getAttribute(DATA_ATTR.brandingLogoDark) || undefined;\n    const brandingLogoHeightAttr = target.getAttribute(DATA_ATTR.brandingLogoHeight);\n    const brandingLogoHeight = brandingLogoHeightAttr ? parseInt(brandingLogoHeightAttr, 10) : undefined;\n    const host = target.getAttribute(DATA_ATTR.host) || undefined;\n    const mode = (target.getAttribute(DATA_ATTR.mode) as 'iframe' | 'inline') || 'iframe';\n    const iframeSrc = target.getAttribute(DATA_ATTR.iframe) || undefined;\n    const snapshotEndpoint = target.getAttribute(DATA_ATTR.snapshotEndpoint) || undefined;\n    const referralCode = target.getAttribute(DATA_ATTR.referralCode) || undefined;\n    const attributionSource = target.getAttribute(DATA_ATTR.attributionSource) || undefined;\n    const utmSource = target.getAttribute(DATA_ATTR.utmSource) || undefined;\n    const utmMedium = target.getAttribute(DATA_ATTR.utmMedium) || undefined;\n    const utmCampaign = target.getAttribute(DATA_ATTR.utmCampaign) || undefined;\n    const utmContent = target.getAttribute(DATA_ATTR.utmContent) || undefined;\n    const utmTerm = target.getAttribute(DATA_ATTR.utmTerm) || undefined;\n    const skipStorageAttr = target.getAttribute(DATA_ATTR.skipStorage);\n    const skipStorage =\n      skipStorageAttr === '' || skipStorageAttr === 'true' || skipStorageAttr === '1';\n    const allowUrlPiiAttr = target.getAttribute(DATA_ATTR.allowUrlPii);\n    const allowUrlPii = allowUrlPiiAttr === '' || allowUrlPiiAttr === 'true';\n    const themeMode = (target.getAttribute(DATA_ATTR.themeMode) as ThemeConfig['mode']) || undefined;\n    const loadingAttr = target.getAttribute(DATA_ATTR.loading);\n    const loading = loadingAttr === '' || loadingAttr === 'true';\n    const hasAttribution =\n      referralCode ||\n      attributionSource ||\n      utmSource ||\n      utmMedium ||\n      utmCampaign ||\n      utmContent ||\n      utmTerm;\n    const attribution = hasAttribution\n      ? {\n          partnerId,\n          referralCode,\n          source: attributionSource,\n          utmSource,\n          utmMedium,\n          utmCampaign,\n          utmContent,\n          utmTerm,\n        }\n      : undefined;\n    const hasBranding = brandingName || brandingLogo;\n    const branding = hasBranding\n      ? {\n          name: brandingName || partnerName || 'Partner',\n          logo: brandingLogo,\n          logoDark: brandingLogoDark,\n          logoHeight: brandingLogoHeight,\n        }\n      : undefined;\n\n    try {\n      mount(target, {\n        partnerId,\n        partnerName,\n        branding,\n        host,\n        iframeSrc,\n        skipStorage,\n        snapshotEndpoint,\n        attribution,\n        theme: themeMode ? { mode: themeMode } : undefined,\n        allowUrlPii,\n        loading,\n        mode,\n        allowFullHeight: true,\n      });\n    } catch (error) {\n      console.warn('DeepFathom Onramp: autoMount failed for target', target, error);\n    }\n  });\n};\n\nconst shouldAutoMount = () =>\n  Array.from(document.querySelectorAll(`script[${DATA_ATTR.auto}]`)).length > 0;\n\ntype GlobalApi = Record<string, (...args: unknown[]) => unknown>;\n\nconst processGlobalQueue = (existing: { q?: ArrayLike<unknown> } | undefined, api: GlobalApi) => {\n  if (!existing || !existing.q) return;\n  const queue = Array.from(existing.q);\n  if (!queue.length) return;\n  if ((existing as { _dfProcessed?: boolean })._dfProcessed) return;\n  (existing as { _dfProcessed?: boolean })._dfProcessed = true;\n\n  queue.forEach((entry) => {\n    const args = Array.from(entry as ArrayLike<unknown>);\n    if (!args.length) return;\n    const [method, ...rest] = args;\n    if (typeof method === 'string' && method in api) {\n      api[method]?.(...rest);\n      return;\n    }\n    if (typeof method === 'function') {\n      (method as (...values: unknown[]) => unknown)(...rest);\n      return;\n    }\n    console.warn('DeepFathom Onramp: Unsupported queued call', args);\n  });\n};\n\nconst registerGlobal = () => {\n  if (typeof window === 'undefined') return;\n  const win = window as unknown as Record<string, unknown>;\n  const existing = win[GLOBAL_NAME];\n  const api = { mount, autoMount, preload } as GlobalApi;\n  win[GLOBAL_NAME] = api;\n  if (typeof existing === 'function') {\n    processGlobalQueue(existing as { q?: ArrayLike<unknown> }, api);\n  } else if (existing && typeof existing === 'object') {\n    processGlobalQueue(existing as { q?: ArrayLike<unknown> }, api);\n  }\n};\n\nif (typeof window !== 'undefined') {\n  registerGlobal();\n}\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined') {\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', () => {\n      if (shouldAutoMount()) autoMount();\n    });\n  } else if (shouldAutoMount()) {\n    autoMount();\n  }\n}\n"]}