{"version":3,"file":"react-Dqwy_Pi8.d.ts","names":["TicketPriority","SubmitTicketData","Record","TagInfo","TicketResult","TicketDetail","PublicReply","AttachmentMeta","TicketListItem","TrackedTicketResult","CategoryItem","WidgetAuthMode","WidgetConfig","ProjectListItem","ApiKeyInfo","WidgetUser","ThemeConfig","CustomerConfig","OidcAuthConfig","WidgetError","Array","WidgetEvent","EventCallback","SupportedLanguage","AuthState","AuthProvider","Promise","ApiClientConfig","ApiClient","File","createApiClient","StorageBackend","T","createLocalStorageBackend","DEFAULT_THEME","Omit","Required","resolveThemeMode","hexToHsl","themeToVars","themeToStyle","en","ar","getTranslations","t","MetadataPreferences","collectMinimalMetadata","collectDiagnosticMetadata","collectAllMetadata","getMetadataPreferences","saveMetadataPreferences","isDiagnosticEnabled","DIAGNOSTIC_FIELDS","react1","ButtonHTMLAttributes","CSSProperties","HTMLAttributes","InputHTMLAttributes","ReactNode","TextareaHTMLAttributes","react_jsx_runtime12","_tanstack_react_query0","QueryClient","_reqdesk_sdk_core0","ApiClient","AuthProvider","CustomerConfig","StorageBackend","SubmitTicketData","SupportedLanguage","ThemeConfig","TicketResult","TrackedTicketResult","WidgetError","LedgerEyebrowProps","LedgerEyebrow","children","counter","className","JSX","Element","LedgerInputProps","HTMLInputElement","Omit","LedgerInput","RefAttributes","ForwardRefExoticComponent","LedgerTextAreaProps","HTMLTextAreaElement","LedgerTextArea","LedgerButtonProps","HTMLButtonElement","LedgerButton","LedgerSegmentedOption","T","LedgerSegmentedProps","ReadonlyArray","LedgerSegmented","value","options","onChange","ariaLabel","LedgerLivingDotProps","LedgerLivingDot","tone","LedgerDividerProps","LedgerDivider","soft","LedgerSectionProps","LedgerSection","eyebrow","LedgerCardProps","HTMLDivElement","LedgerCard","inset","LedgerBadgeProps","LedgerBadge","LedgerErrorTextProps","LedgerErrorText","LedgerToggleRowProps","LedgerToggleRow","label","description","checked","LedgerIconButtonProps","LedgerIconButton","ensureLedgerStylesInjected","ReqdeskProviderProps","Record","React","ReqdeskContextValue","useReqdeskContext","ReqdeskProvider","apiClient","authProvider","storage","projectId","language","theme","translations","customer","queryClient","PageMetadataPayload","ScreenshotScope","CapturedScreenshot","ScreenRecordingState","ScreenRecordOptions","ScreenRecordingController","Blob","Promise","ResolvedProject","DraftPartial","HostAdapter","noopHostAdapter","HostAdapterProviderProps","HostAdapterProvider","adapter","useHostAdapter","ProjectAutoDetectBadgeProps","ProjectAutoDetectBadge","resolvedOverride","onSwitchRequested","onChooseRequested","variant","noEntryAnimation","style","ScreenRecorderProps","ScreenRecorder","onClipReady","onCancel","recordOptions","enabled","RecordedClipPreviewProps","RecordedClipPreview","blob","onRemove","ContextSummaryProps","ContextSummary","metaOverride","defaultOpen","RecordedStep","RecordedStepsListProps","RecordedStepsList","steps","emptyHint","InstanceStatus","InstanceCard","InstanceCardListProps","ReadonlySet","InstanceCardList","cards","activeId","onSelect","onEdit","onValidate","validatingIds","emptyCtaLabel","onEmptyCta","SubmitTicketViewProps","SubmitTicketView","onSuccess","onError","isAuthenticated","userEmail","attachments","onDraftChange","MyTicketsViewProps","MyTicketsView","onSelectTicket","TicketDetailViewProps","TicketDetailView","ticketId","onBack","TrackTicketViewProps","TrackTicketView","onTrackSuccess","UseReqdeskReturn","useReqdesk","reqdeskTicketDetailOptions","TicketDetail","Error","UseQueryOptions","OmitKeyof","QueryFunction","dataTagSymbol","dataTagErrorSymbol","reqdeskMyTicketsOptions","TicketListItem","reqdeskUserOptions","WidgetUser","reqdeskTrackTicketOptions","reqdeskCategoriesOptions","CategoryItem"],"sources":["../../core/dist/index-C1IHzQeU.d.ts","../src/react/types.ts","../src/react/ReqdeskProvider.tsx","../src/react/TicketForm.tsx","../src/react/SupportPortal.tsx","../src/react/FloatingWidget.tsx","../src/react/useReqdesk.ts","../src/react/Trigger.tsx","../src/react/useReqdeskTrigger.ts","../src/registry.ts","../src/react/registry-context.tsx","../src/react/shadow-root.tsx","../src/storage.ts","../src/react/form-errors.tsx","../src/react/notifications.tsx","../src/ofetch-client.ts","../../react/dist/index-CqlucMJW.d.ts"],"sourcesContent":["//#region src/types.d.ts\ntype TicketPriority = 'low' | 'medium' | 'high' | 'critical';\ninterface SubmitTicketData {\n title: string;\n description?: string;\n priority?: TicketPriority;\n categoryId?: string;\n email: string;\n clientMetadata?: Record;\n /** Optional pre-validated tag ids to attach. Server cross-checks\n * every id against the project's tags and rejects 422 if any\n * doesn't exist — so the widget never creates partially-tagged\n * tickets. */\n tagIds?: string[];\n}\n/** Tag returned by the widget's tag endpoints (list + create).\n * Promoted from sdk/widget/src/types.ts so sdk-core consumers can\n * use it without depending on the widget bundle. */\ninterface TagInfo {\n id: string;\n name: string;\n color: string;\n}\ninterface TicketResult {\n id: string;\n ticketNumber: string;\n trackingToken?: string;\n status: string;\n}\ninterface TicketDetail {\n id: string;\n ticketNumber: string;\n title: string;\n description?: string;\n status: string;\n priority: string;\n createdAt: string;\n replies: PublicReply[];\n attachments: AttachmentMeta[];\n /** Tags currently attached to the ticket. Empty array when none / when the backend\n * doesn't emit the tag relationship. */\n tags: TagInfo[];\n}\ninterface TicketListItem {\n id: string;\n ticketNumber: string;\n title: string;\n status: string;\n priority: string;\n createdAt: string;\n}\ninterface TrackedTicketResult {\n id: string;\n ticketNumber: string;\n title: string;\n status: string;\n priority: string;\n createdAt: string;\n replies: PublicReply[];\n}\ninterface PublicReply {\n id: string;\n body: string;\n authorName: string;\n isStaff: boolean;\n createdAt: string;\n /** Per-reply attachments when the backend emits a reply-attachment relationship. */\n attachments?: AttachmentMeta[];\n}\ninterface AttachmentMeta {\n id: string;\n fileName: string;\n contentType: string;\n fileSize: number;\n downloadUrl?: string;\n downloadUrlExpiresAt?: string;\n}\ninterface CategoryItem {\n id: string;\n name: string;\n parentId?: string;\n hasChildren: boolean;\n}\ntype WidgetAuthMode = 'sso' | 'email' | 'signed';\ninterface WidgetConfig {\n id: string;\n projectName: string;\n brandName: string | null;\n logoUrl: string | null;\n authIssuerUri: string | null;\n authClientId: string | null;\n showAllTickets: boolean;\n workspaceId: string | null;\n /** Auth modes the project allows; defaults to `['sso', 'email']` when the backend\n * omits the field (older deployments). Order is preserved for UI mode-picker layout. */\n allowedAuthModes: WidgetAuthMode[];\n /** Staleness threshold (in minutes) for signed-identity userHashTimestamps; defaults\n * to 10 (the backend default) when missing or non-positive. */\n signedIdentityTtlMinutes: number;\n}\ninterface ProjectListItem {\n id: string;\n name: string;\n slug: string;\n url?: string | null;\n}\ninterface ApiKeyInfo {\n entityType: string;\n entityId: string;\n workspaceName: string;\n scopes: string | null;\n}\ninterface WidgetUser {\n userId: string;\n email: string;\n displayName: string;\n}\ninterface ThemeConfig {\n primaryColor?: string;\n mode?: 'light' | 'dark' | 'auto';\n borderRadius?: string;\n fontFamily?: string;\n zIndex?: number;\n logo?: string;\n brandName?: string;\n hideBranding?: boolean;\n}\ninterface CustomerConfig {\n email?: string;\n name?: string;\n externalId?: string;\n}\ninterface OidcAuthConfig {\n issuerUri: string;\n clientId: string;\n}\ninterface WidgetError {\n code: string;\n message: string;\n errors?: Array<{\n code?: string;\n detail?: string;\n source?: {\n pointer?: string;\n };\n }>;\n}\ntype WidgetEvent = 'open' | 'close' | 'ticket:created' | 'ticket:tracked' | 'reply:sent' | 'error';\ntype EventCallback = (data?: unknown) => void;\ntype SupportedLanguage = 'en' | 'ar';\n//# sourceMappingURL=types.d.ts.map\n//#endregion\n//#region src/auth.d.ts\ninterface AuthState {\n isAuthenticated: boolean;\n isLoading: boolean;\n userEmail?: string;\n userName?: string;\n}\ninterface AuthProvider {\n getAccessToken(): Promise;\n isAuthenticated(): boolean;\n login(): Promise;\n logout(): Promise;\n onAuthStateChange(listener: (state: AuthState) => void): () => void;\n}\n//# sourceMappingURL=auth.d.ts.map\n//#endregion\n//#region src/api-client.d.ts\ninterface ApiClientConfig {\n apiUrl: string;\n apiKey: string;\n authProvider?: AuthProvider;\n timeout?: number;\n}\ninterface ApiClient {\n submitTicket(projectId: string, data: SubmitTicketData): Promise;\n getTicketDetail(ticketId: string, includeMedia?: boolean): Promise;\n listMyTickets(projectId: string, userId: string, page?: number, pageSize?: number, showAll?: boolean): Promise;\n /** Mark a ticket as resolved using the widget-friendly status PUT endpoint\n * (matches the surface the embedded widget has shipped since 1.0). */\n closeTicket(ticketId: string): Promise;\n /** @deprecated since v1.4 — calls the agent-style POST /resolve endpoint and is kept for\n * back-compat. New code should use {@link closeTicket} which uses the widget status PUT. */\n resolveTicket(ticketId: string): Promise;\n submitReply(ticketId: string, body: string): Promise<{\n id: string;\n }>;\n submitTrackingReply(token: string, body: string): Promise;\n trackTicket(token: string): Promise;\n getCategories(projectId: string, parentId?: string | null): Promise;\n createCategory(projectId: string, name: string, parentId?: string | null): Promise;\n listProjectTags(projectId: string): Promise;\n createTag(projectId: string, name: string, color?: string): Promise;\n getWidgetConfig(projectId: string): Promise;\n listProjects(workspaceId?: string): Promise;\n uploadAttachment(ticketId: string, file: File, onProgress?: (pct: number) => void): Promise;\n uploadReplyAttachment(ticketId: string, replyId: string, file: File, onProgress?: (pct: number) => void): Promise;\n getAttachmentDownloadUrl(attachmentId: string): Promise<{\n downloadUrl: string;\n expiresAt: string;\n }>;\n validateKey(): Promise;\n checkServerIdentity(baseUrl: string): Promise<{\n name: string;\n version: string;\n signature: string;\n }>;\n resolveWidgetUser(projectId: string, email: string): Promise;\n}\ndeclare function createApiClient(config: ApiClientConfig): ApiClient;\n//# sourceMappingURL=api-client.d.ts.map\n//#endregion\n//#region src/storage.d.ts\ninterface StorageBackend {\n get(key: string): Promise;\n set(key: string, value: T): Promise;\n remove(key: string): Promise;\n}\ndeclare function createLocalStorageBackend(): StorageBackend;\n//# sourceMappingURL=storage.d.ts.map\n\n//#endregion\n//#region src/theme.d.ts\n/**\n * Default theme for the Reqdesk embeddable widget.\n *\n * Ships with the Reqdesk brand — Cedar primary, Bone/Ink surfaces,\n * editorial type — but host customers can override any of these via\n * `ThemeConfig` at widget init. The `--rqd-*` CSS variable public API\n * is unchanged from previous versions.\n *\n * Brand source of truth: `@reqdesk/brand`. Hex values below are kept\n * in sync with `sdk/brand/src/tokens.ts`.\n */\ndeclare const DEFAULT_THEME: Required> & {\n logo?: string;\n brandName?: string;\n hideBranding?: boolean;\n};\ndeclare function resolveThemeMode(mode: ThemeConfig['mode']): 'light' | 'dark';\ndeclare function hexToHsl(hex: string): {\n h: number;\n s: number;\n l: number;\n};\ndeclare function themeToVars(theme?: ThemeConfig): string;\ndeclare function themeToStyle(theme?: ThemeConfig): Record;\n//# sourceMappingURL=theme.d.ts.map\n//#endregion\n//#region src/i18n/en.d.ts\ndeclare const en: Record;\n//# sourceMappingURL=en.d.ts.map\n//#endregion\n//#region src/i18n/ar.d.ts\ndeclare const ar: Record;\n//# sourceMappingURL=ar.d.ts.map\n\n//#endregion\n//#region src/i18n/index.d.ts\ndeclare function getTranslations(lang: SupportedLanguage): Record;\ndeclare function t(key: string, lang: SupportedLanguage, overrides?: Record): string;\n//#endregion\n//#region src/client-metadata.d.ts\ninterface MetadataPreferences {\n screenResolution: boolean;\n deviceType: boolean;\n timezone: boolean;\n referrerUrl: boolean;\n language: boolean;\n platform: boolean;\n}\n/** Always collected — minimal, non-sensitive */\ndeclare function collectMinimalMetadata(): Record;\n/** Full diagnostic set — only included for opted-in fields */\ndeclare function collectDiagnosticMetadata(prefs: MetadataPreferences): Record;\n/** Combine minimal + opted-in diagnostic metadata */\ndeclare function collectAllMetadata(apiKey: string): Record;\ndeclare function getMetadataPreferences(apiKey: string): MetadataPreferences;\ndeclare function saveMetadataPreferences(apiKey: string, prefs: MetadataPreferences): void;\ndeclare function isDiagnosticEnabled(apiKey: string): boolean;\ndeclare const DIAGNOSTIC_FIELDS: readonly [{\n readonly key: \"screenResolution\";\n readonly labelKey: \"diag.screenResolution\";\n}, {\n readonly key: \"deviceType\";\n readonly labelKey: \"diag.deviceType\";\n}, {\n readonly key: \"timezone\";\n readonly labelKey: \"diag.timezone\";\n}, {\n readonly key: \"referrerUrl\";\n readonly labelKey: \"diag.referrerUrl\";\n}, {\n readonly key: \"language\";\n readonly labelKey: \"diag.language\";\n}, {\n readonly key: \"platform\";\n readonly labelKey: \"diag.platform\";\n}];\n//# sourceMappingURL=client-metadata.d.ts.map\n\n//#endregion\nexport { type ApiClient, type ApiClientConfig, type ApiKeyInfo, type AttachmentMeta, type AuthProvider, type AuthState, type CategoryItem, type CustomerConfig, DEFAULT_THEME, DIAGNOSTIC_FIELDS, type EventCallback, type MetadataPreferences, type OidcAuthConfig, type ProjectListItem, type PublicReply, type StorageBackend, type SubmitTicketData, type SupportedLanguage, type TagInfo, type ThemeConfig, type TicketDetail, type TicketListItem, type TicketPriority, type TicketResult, type TrackedTicketResult, type WidgetAuthMode, type WidgetConfig, type WidgetError, type WidgetEvent, type WidgetUser, ar, collectAllMetadata, collectDiagnosticMetadata, collectMinimalMetadata, createApiClient, createLocalStorageBackend, en, getMetadataPreferences, getTranslations, hexToHsl, isDiagnosticEnabled, resolveThemeMode, saveMetadataPreferences, t, themeToStyle, themeToVars };\n//# sourceMappingURL=index-C1IHzQeU.d.ts.map","import * as react1 from \"react\";\nimport { ButtonHTMLAttributes, CSSProperties, HTMLAttributes, InputHTMLAttributes, ReactNode, TextareaHTMLAttributes } from \"react\";\nimport * as react_jsx_runtime12 from \"react/jsx-runtime\";\nimport * as _tanstack_react_query0 from \"@tanstack/react-query\";\nimport { QueryClient } from \"@tanstack/react-query\";\nimport * as _reqdesk_sdk_core0 from \"@reqdesk/sdk-core\";\nimport { ApiClient, AuthProvider, CustomerConfig, StorageBackend, SubmitTicketData, SupportedLanguage, ThemeConfig, TicketResult, TrackedTicketResult, WidgetError } from \"@reqdesk/sdk-core\";\n\n//#region src/primitives/LedgerEyebrow.d.ts\ninterface LedgerEyebrowProps {\n /** The label text. Will be uppercased + tracked by CSS. */\n children: ReactNode;\n /** Optional counter rendered to the right (e.g. \"12 / 4000\"). */\n counter?: ReactNode;\n className?: string;\n}\n/**\n * Numbered/labelled eyebrow — Geist Mono uppercase, letter-spaced.\n * The system's primary \"what is this section?\" label. Pairs with a\n * counter for character/file counts.\n */\ndeclare function LedgerEyebrow({\n children,\n counter,\n className\n}: LedgerEyebrowProps): react_jsx_runtime12.JSX.Element;\n//# sourceMappingURL=LedgerEyebrow.d.ts.map\n//#endregion\n//#region src/primitives/LedgerInput.d.ts\ninterface LedgerInputProps extends Omit, 'className'> {\n error?: boolean;\n mono?: boolean;\n className?: string;\n}\n/**\n * Bare input with a cedar hairline underline that thickens on focus.\n * Ember underline when error=true. Mono variant for URLs / hex codes\n * / api keys. No background, no border-radius — the whole input IS\n * the underline.\n */\ndeclare const LedgerInput: react1.ForwardRefExoticComponent>;\n//# sourceMappingURL=LedgerInput.d.ts.map\n//#endregion\n//#region src/primitives/LedgerTextArea.d.ts\ninterface LedgerTextAreaProps extends Omit, 'className'> {\n error?: boolean;\n className?: string;\n}\n/**\n * Multi-line companion to LedgerInput. Same hairline aesthetic;\n * resizes vertically by default. Use for descriptions, allowed-origin\n * blocks, anything that needs > 1 line.\n */\ndeclare const LedgerTextArea: react1.ForwardRefExoticComponent>;\n//# sourceMappingURL=LedgerTextArea.d.ts.map\n//#endregion\n//#region src/primitives/LedgerButton.d.ts\ninterface LedgerButtonProps extends Omit, 'className'> {\n /** 'primary' = cedar bg / paper fg (default action).\n * 'ghost' = transparent bg / hairline border (secondary). */\n variant?: 'primary' | 'ghost';\n fullWidth?: boolean;\n className?: string;\n}\n/**\n * Cedar-filled primary button or hairline-bordered ghost button.\n * Mono uppercase letter-spaced label. No shadow, no border-radius\n * pomp — it sits on the surface as a deliberate ledger entry.\n */\ndeclare const LedgerButton: react1.ForwardRefExoticComponent>;\n//# sourceMappingURL=LedgerButton.d.ts.map\n//#endregion\n//#region src/primitives/LedgerSegmented.d.ts\ninterface LedgerSegmentedOption {\n value: T;\n label: ReactNode;\n}\ninterface LedgerSegmentedProps {\n value: T;\n options: ReadonlyArray>;\n onChange: (next: T) => void;\n ariaLabel?: string;\n}\n/**\n * Segmented control — used wherever the user picks one of N values.\n * Cedar fill + paper text on the selected option, mono uppercase\n * labels. RTL-aware.\n */\ndeclare function LedgerSegmented({\n value,\n options,\n onChange,\n ariaLabel\n}: LedgerSegmentedProps): react_jsx_runtime12.JSX.Element;\n//# sourceMappingURL=LedgerSegmented.d.ts.map\n//#endregion\n//#region src/primitives/LedgerLivingDot.d.ts\ninterface LedgerLivingDotProps {\n /** Visual variant. 'cedar' (default, brand primary), 'ember' (alert\n * / recording), 'muted' (idle, no pulse). */\n tone?: 'cedar' | 'ember' | 'muted';\n className?: string;\n ariaLabel?: string;\n}\n/**\n * The \"I am alive / connected\" pulse — a small dot with a slow ripple\n * matching the VPN-style auto-detect surface. Reserved for genuine\n * live-state signals; don't decorate with it.\n */\ndeclare function LedgerLivingDot({\n tone,\n className,\n ariaLabel\n}: LedgerLivingDotProps): react_jsx_runtime12.JSX.Element;\n//# sourceMappingURL=LedgerLivingDot.d.ts.map\n//#endregion\n//#region src/primitives/LedgerDivider.d.ts\ninterface LedgerDividerProps {\n /** 'soft' uses the lower-opacity hair token for in-section breaks;\n * default uses the standard hair for between-section breaks. */\n soft?: boolean;\n className?: string;\n}\n/**\n * Hairline divider — the single visual seam the system uses to\n * separate content. Never shadows.\n */\ndeclare function LedgerDivider({\n soft,\n className\n}: LedgerDividerProps): react_jsx_runtime12.JSX.Element;\n//# sourceMappingURL=LedgerDivider.d.ts.map\n//#endregion\n//#region src/primitives/LedgerSection.d.ts\ninterface LedgerSectionProps {\n /** Section eyebrow (e.g. \"01 SUBJECT\"). */\n eyebrow: ReactNode;\n /** Optional counter rendered on the right of the eyebrow. */\n counter?: ReactNode;\n children: ReactNode;\n className?: string;\n}\n/**\n * Numbered ledger section — the building block of the form aesthetic.\n * Eyebrow on top, content below, hairline divider between siblings.\n * Use as a direct child stack inside a column container.\n */\ndeclare function LedgerSection({\n eyebrow,\n counter,\n children,\n className\n}: LedgerSectionProps): react_jsx_runtime12.JSX.Element;\n//# sourceMappingURL=LedgerSection.d.ts.map\n//#endregion\n//#region src/primitives/LedgerCard.d.ts\ninterface LedgerCardProps extends HTMLAttributes {\n inset?: boolean;\n}\n/**\n * Hairline-bordered container, no shadow. Use for grouped content\n * that needs to read as a discrete unit — attachments rows, status\n * panels, the ProjectAutoDetectBadge body. `inset` swaps to\n * transparent + soft hairline for nested cards.\n */\ndeclare function LedgerCard({\n inset,\n className,\n ...rest\n}: LedgerCardProps): react_jsx_runtime12.JSX.Element;\n//# sourceMappingURL=LedgerCard.d.ts.map\n//#endregion\n//#region src/primitives/LedgerBadge.d.ts\ninterface LedgerBadgeProps {\n children: ReactNode;\n /** Tone signals semantic colour:\n * - 'neutral' (default) — muted text on bone background\n * - 'cedar' — primary / connected / open\n * - 'ember' — action / pending / warning\n * - 'moss' — done / resolved / success\n * - 'oxblood' — error / closed / dangerous */\n tone?: 'neutral' | 'cedar' | 'ember' | 'moss' | 'oxblood';\n className?: string;\n}\n/**\n * Status pill — mono uppercase micro label. Reserved for genuine\n * status semantics; don't decorate with badges that don't carry\n * meaning.\n */\ndeclare function LedgerBadge({\n children,\n tone,\n className\n}: LedgerBadgeProps): react_jsx_runtime12.JSX.Element;\n//# sourceMappingURL=LedgerBadge.d.ts.map\n//#endregion\n//#region src/primitives/LedgerErrorText.d.ts\ninterface LedgerErrorTextProps {\n children: ReactNode;\n className?: string;\n}\n/**\n * Field-level error message — Geist Mono, ember-coloured, sized to\n * sit beneath a LedgerInput / LedgerTextArea. Supplements the input's\n * ember underline.\n */\ndeclare function LedgerErrorText({\n children,\n className\n}: LedgerErrorTextProps): react_jsx_runtime12.JSX.Element;\n//# sourceMappingURL=LedgerErrorText.d.ts.map\n//#endregion\n//#region src/primitives/LedgerToggleRow.d.ts\ninterface LedgerToggleRowProps {\n label: ReactNode;\n description?: ReactNode;\n checked: boolean;\n onChange: (next: boolean) => void;\n ariaLabel?: string;\n}\n/**\n * Row with a label + description on the left and a switch on the\n * right. The switch uses the cedar fill + paper thumb language.\n * RTL-aware via inset-inline-start positioning.\n */\ndeclare function LedgerToggleRow({\n label,\n description,\n checked,\n onChange,\n ariaLabel\n}: LedgerToggleRowProps): react_jsx_runtime12.JSX.Element;\n//# sourceMappingURL=LedgerToggleRow.d.ts.map\n//#endregion\n//#region src/primitives/LedgerIconButton.d.ts\ninterface LedgerIconButtonProps extends Omit, 'className'> {\n className?: string;\n}\n/**\n * 28×28 transparent button with a hairline-on-hover border. Use for\n * header utilities (cog, language toggle, close, refresh) where the\n * affordance is glyphic. Inherits currentColor for SVG children.\n */\ndeclare const LedgerIconButton: react1.ForwardRefExoticComponent>;\n//# sourceMappingURL=LedgerIconButton.d.ts.map\n//#endregion\n//#region src/primitives/styles.d.ts\ndeclare function ensureLedgerStylesInjected(): void;\n//# sourceMappingURL=styles.d.ts.map\n//#endregion\n//#region src/ReqdeskProvider.d.ts\ninterface ReqdeskProviderProps {\n apiClient: ApiClient;\n authProvider?: AuthProvider;\n storage: StorageBackend;\n projectId: string;\n language?: SupportedLanguage;\n theme?: ThemeConfig;\n translations?: Record;\n customer?: CustomerConfig;\n queryClient?: QueryClient;\n children: React.ReactNode;\n}\ninterface ReqdeskContextValue {\n apiClient: ApiClient;\n authProvider: AuthProvider | null;\n storage: StorageBackend;\n projectId: string;\n language: SupportedLanguage;\n theme: ThemeConfig;\n translations?: Record;\n customer?: CustomerConfig;\n isAuthenticated: boolean;\n userEmail: string | null;\n userName: string | null;\n}\ndeclare function useReqdeskContext(): ReqdeskContextValue;\ndeclare function ReqdeskProvider({\n apiClient,\n authProvider,\n storage,\n projectId,\n language,\n theme,\n translations,\n customer,\n queryClient,\n children\n}: ReqdeskProviderProps): react_jsx_runtime12.JSX.Element;\n//# sourceMappingURL=ReqdeskProvider.d.ts.map\n//#endregion\n//#region src/host-adapter/types.d.ts\ninterface PageMetadataPayload {\n pageUrl?: string;\n pageTitle?: string;\n userAgent?: string;\n viewport?: {\n width: number;\n height: number;\n };\n /** Free-form bag for host-supplied diagnostic context. */\n [key: string]: unknown;\n}\ntype ScreenshotScope = 'visible' | 'fullPage';\ninterface CapturedScreenshot {\n /** Data URL — image/png. */\n dataUrl: string;\n /** Optional metadata about the capture (dimensions, source tab, etc). */\n meta?: {\n width?: number;\n height?: number;\n sourceUrl?: string;\n };\n}\ntype ScreenRecordingState = 'inactive' | 'recording' | 'paused';\ninterface ScreenRecordOptions {\n /** Include audio in the recording. Default: false. */\n audio?: boolean;\n /** Hint for the source — 'tab' is extension-friendly; 'window' or\n * 'screen' work everywhere. The host adapter may downgrade if the\n * requested source isn't supported in its context. */\n source?: 'tab' | 'window' | 'screen';\n /** Soft cap (ms) — adapter is free to enforce or ignore. */\n maxDurationMs?: number;\n}\ninterface ScreenRecordingController {\n /** Stops recording and resolves with the captured Blob. */\n stop(): Promise;\n /** Aborts without producing output. */\n cancel(): void;\n /** Pauses the underlying MediaRecorder; recording can be resumed. */\n pause(): void;\n /** Resumes a paused recording. */\n resume(): void;\n /** Returns the controller's current state. Polled by the UI. */\n getState(): ScreenRecordingState;\n /** Subscribe to state transitions. Returns an unsubscribe function. */\n onStateChange(handler: (state: ScreenRecordingState) => void): () => void;\n}\ninterface ResolvedProject {\n projectId: string | null;\n /** Why the resolver returned what it did — useful for the\n * ProjectAutoDetectBadge's status messaging. */\n reason: 'matched' | 'no-match' | 'multiple-equal' | 'no-projects' | 'pk-key-scope';\n /** When matched, the project's display name. Optional — the badge\n * will fall back to fetching it via the regular project endpoint\n * if absent. */\n projectName?: string;\n /** When matched, the URL prefix that won the match. Useful for\n * the badge's secondary line. */\n matchedUrl?: string;\n /** Project's marketing/display brand name. Overrides the eyebrow\n * copy from \"Project · Detected\" to \"Project · \". */\n brandName?: string | null;\n /** URL of the project logo (raster, served via the media host).\n * Rendered as a small monochrome glyph beside the signal mark. */\n logoUrl?: string | null;\n /** 7-char hex (#RRGGBB). Drives the \"Switch project\" link colour\n * and the primary-CTA hover bar reveal. */\n accentColor?: string | null;\n}\ninterface DraftPartial {\n title?: string;\n description?: string;\n email?: string;\n priority?: string;\n categoryId?: string;\n tagIds?: string[];\n}\ninterface HostAdapter {\n /** Returns a data URL for the current page's screenshot. */\n captureScreenshot?(scope: ScreenshotScope): Promise;\n /** Optional — hosts that support video recording implement this. */\n recordScreen?(opts?: ScreenRecordOptions): Promise;\n /** Returns metadata about whatever URL the host considers \"current\".\n * Web: window.location + document.title + navigator.userAgent.\n * Extension: chrome.tabs.query active+currentWindow + content\n * script's GET_PAGE_METADATA. */\n getCurrentPageMetadata?(): Promise;\n /** Returns the project the server resolved for the current URL.\n * Both adapters call the same server endpoint; the difference is\n * which URL they pass. The server is the trust anchor — the apiKey\n * scopes which workspaces are even resolvable, so a tampered URL\n * can't grant access outside the caller's workspace. */\n resolveProjectByCurrentUrl?(): Promise;\n /** Optional — extension persists drafts to chrome.storage.local;\n * web persists to localStorage. Either may decline. */\n persistDraft?(key: string, partial: DraftPartial): Promise;\n loadDraft?(key: string): Promise;\n clearDraft?(key: string): Promise;\n}\n/** No-op adapter used as the default when no provider is mounted.\n * Every method is undefined so feature detection naturally hides\n * affordances that the host doesn't support. */\ndeclare const noopHostAdapter: HostAdapter;\n//# sourceMappingURL=types.d.ts.map\n//#endregion\n//#region src/host-adapter/context.d.ts\ninterface HostAdapterProviderProps {\n adapter: HostAdapter;\n /** Optional in the type so `createElement(Provider, { adapter }, ...kids)` works without\n * threading children through the props object — React populates them from positional\n * args at runtime. JSX consumers continue to pass children the normal way. */\n children?: ReactNode;\n}\n/** Wraps consumers in a HostAdapter. Each host (sdk/widget,\n * sdk/extension) instantiates its own adapter and provides it\n * near the top of its tree. Components inside the tree call\n * useHostAdapter() to reach host-specific capabilities. */\ndeclare function HostAdapterProvider({\n adapter,\n children\n}: HostAdapterProviderProps): react_jsx_runtime12.JSX.Element;\ndeclare function useHostAdapter(): HostAdapter;\n//# sourceMappingURL=context.d.ts.map\n//#endregion\n//#region src/components/ProjectAutoDetectBadge.d.ts\ninterface ProjectAutoDetectBadgeProps {\n /** Optional override — when provided, the badge skips its own\n * resolveProjectByCurrentUrl() call and renders this directly.\n * Useful for tests and for hosts that already know the answer. */\n resolved?: ResolvedProject;\n /** Called when the user clicks \"Switch\" — host opens a project\n * picker. If undefined, the Switch action is hidden. */\n onSwitchRequested?: () => void;\n /** Called when the user clicks \"Choose a project →\" in no-match\n * state. Defaults to the same handler as onSwitchRequested. */\n onChooseRequested?: () => void;\n /** Layout density. `inline` (default) is the standalone card with\n * its own background; `inset` blends into a parent surface (no\n * background, just the eyebrow + name + URL — for use inside\n * the widget panel header where the panel already provides the\n * surface). */\n variant?: 'inline' | 'inset';\n /** When true, suppresses the entry animation on mount. Useful\n * for navigations where the card is already visible. */\n noEntryAnimation?: boolean;\n className?: string;\n style?: CSSProperties;\n}\ndeclare function ProjectAutoDetectBadge({\n resolved: resolvedOverride,\n onSwitchRequested,\n onChooseRequested,\n variant,\n noEntryAnimation,\n className,\n style\n}: ProjectAutoDetectBadgeProps): react_jsx_runtime12.JSX.Element;\n//# sourceMappingURL=ProjectAutoDetectBadge.d.ts.map\n//#endregion\n//#region src/components/ScreenRecorder.d.ts\ninterface ScreenRecorderProps {\n /** Called when the user stops a recording — host can attach the Blob\n * to the form's queued attachments via preAttachedFiles. */\n onClipReady: (blob: Blob) => void;\n /** Called when the user discards a recording. Optional. */\n onCancel?: () => void;\n /** Forwarded to the host adapter. Use 'tab' for extension flows. */\n recordOptions?: ScreenRecordOptions;\n /** When false, the component renders a disabled state (host has\n * declared the feature unavailable). */\n enabled?: boolean;\n className?: string;\n style?: CSSProperties;\n}\ndeclare function ScreenRecorder({\n onClipReady,\n onCancel,\n recordOptions,\n enabled,\n className,\n style\n}: ScreenRecorderProps): react_jsx_runtime12.JSX.Element;\n//# sourceMappingURL=ScreenRecorder.d.ts.map\n//#endregion\n//#region src/components/RecordedClipPreview.d.ts\ninterface RecordedClipPreviewProps {\n blob: Blob;\n /** Called when the user removes the clip. Host should drop it from\n * its preAttachedFiles list. */\n onRemove?: () => void;\n className?: string;\n style?: CSSProperties;\n}\ndeclare function RecordedClipPreview({\n blob,\n onRemove,\n className,\n style\n}: RecordedClipPreviewProps): react_jsx_runtime12.JSX.Element;\n//# sourceMappingURL=RecordedClipPreview.d.ts.map\n//#endregion\n//#region src/components/ContextSummary.d.ts\ninterface ContextSummaryProps {\n /** Override the host-fetched metadata. Useful for tests and for\n * hosts that already collected the data through another path. */\n metadata?: PageMetadataPayload | null;\n /** Called when the user clicks \"Remove\" — typically the host\n * unsets the metadata so it doesn't ship with the ticket. */\n onRemove?: () => void;\n /** Render in collapsed state by default. */\n defaultOpen?: boolean;\n className?: string;\n style?: CSSProperties;\n}\ndeclare function ContextSummary({\n metadata: metaOverride,\n onRemove,\n defaultOpen,\n className,\n style\n}: ContextSummaryProps): react_jsx_runtime12.JSX.Element | null;\n//# sourceMappingURL=ContextSummary.d.ts.map\n//#endregion\n//#region src/components/RecordedStepsList.d.ts\ninterface RecordedStep {\n sequence: number;\n description: string;\n selector: string;\n url: string;\n timestamp: string;\n}\ninterface RecordedStepsListProps {\n steps: RecordedStep[];\n /** Called when the user removes a step. Steps are renumbered\n * sequentially when the host updates the array. */\n onRemove?: (sequence: number) => void;\n /** Empty-state message when steps.length === 0. */\n emptyHint?: string;\n className?: string;\n style?: CSSProperties;\n}\ndeclare function RecordedStepsList({\n steps,\n onRemove,\n emptyHint,\n className,\n style\n}: RecordedStepsListProps): react_jsx_runtime12.JSX.Element;\n//# sourceMappingURL=RecordedStepsList.d.ts.map\n//#endregion\n//#region src/components/InstanceCardList.d.ts\ntype InstanceStatus = 'valid' | 'invalid' | 'unchecked';\ninterface InstanceCard {\n id: string;\n /** Display name — project name OR connection profile name. */\n name: string;\n /** Secondary line under the name — workspace name OR URL hint. */\n secondary?: string;\n /** Status dot — drives the colour + sr-only label. */\n status: InstanceStatus;\n /** Validation message shown only when status === 'invalid'. */\n statusMessage?: string | null;\n}\ninterface InstanceCardListProps {\n cards: InstanceCard[];\n /** Currently-active card id — gets an \"active\" affordance. */\n activeId?: string | null;\n /** Click on a card body — typically host's \"switch to this\". */\n onSelect?: (id: string) => void;\n /** Edit pencil on a card — typically opens InstanceCardDetail. */\n onEdit?: (id: string) => void;\n /** Trash on a card — typically removes the card. */\n onRemove?: (id: string) => void;\n /** Re-validate a card (refresh its status dot). */\n onValidate?: (id: string) => void;\n /** Currently-validating card ids (shows a spinner-style state). */\n validatingIds?: ReadonlySet;\n /** Empty-state message + CTA. */\n emptyHint?: string;\n emptyCtaLabel?: string;\n onEmptyCta?: () => void;\n className?: string;\n style?: CSSProperties;\n}\ndeclare function InstanceCardList({\n cards,\n activeId,\n onSelect,\n onEdit,\n onRemove,\n onValidate,\n validatingIds,\n emptyHint,\n emptyCtaLabel,\n onEmptyCta,\n className,\n style\n}: InstanceCardListProps): react_jsx_runtime12.JSX.Element;\n//# sourceMappingURL=InstanceCardList.d.ts.map\n//#endregion\n//#region src/views/SubmitTicketView.d.ts\ninterface SubmitTicketViewProps {\n onSuccess?: (result: TicketResult) => void;\n onError?: (error: WidgetError) => void;\n isAuthenticated?: boolean;\n userEmail?: string;\n /** Pre-attached file dataURLs — typically the auto-captured\n * screenshot from the host (extension) or any host-supplied\n * artefact. Hydrated into the files queue on mount alongside the\n * user's manual uploads, so all attachments live in one mental\n * model. */\n attachments?: string[];\n /** Optional draft change callback — host persists drafts across\n * popup close/reopen. */\n onDraftChange?: (partial: {\n title?: string;\n description?: string;\n email?: string;\n }) => void;\n}\ndeclare function SubmitTicketView({\n onSuccess,\n onError,\n isAuthenticated,\n userEmail,\n attachments,\n onDraftChange\n}: SubmitTicketViewProps): react_jsx_runtime12.JSX.Element;\n//#endregion\n//#region src/views/MyTicketsView.d.ts\ninterface MyTicketsViewProps {\n onSelectTicket: (ticketId: string) => void;\n isAuthenticated?: boolean;\n userEmail?: string;\n}\ndeclare function MyTicketsView({\n onSelectTicket,\n isAuthenticated,\n userEmail\n}: MyTicketsViewProps): react_jsx_runtime12.JSX.Element;\n//#endregion\n//#region src/views/TicketDetailView.d.ts\ninterface TicketDetailViewProps {\n ticketId: string;\n onBack: () => void;\n}\ndeclare function TicketDetailView({\n ticketId,\n onBack\n}: TicketDetailViewProps): react_jsx_runtime12.JSX.Element;\n//#endregion\n//#region src/views/TrackTicketView.d.ts\ninterface TrackTicketViewProps {\n onTrackSuccess: (ticketId: string) => void;\n}\ndeclare function TrackTicketView({\n onTrackSuccess\n}: TrackTicketViewProps): react_jsx_runtime12.JSX.Element;\n//#endregion\n//#region src/hooks/useReqdesk.d.ts\ninterface UseReqdeskReturn {\n submitTicket(data: SubmitTicketData): Promise;\n trackTicket(token: string): Promise;\n submitTrackingReply(token: string, body: string): Promise;\n submitReply(ticketId: string, body: string): Promise<{\n id: string;\n }>;\n resolveTicket(ticketId: string): Promise;\n isLoading: boolean;\n error: WidgetError | null;\n}\ndeclare function useReqdesk(): UseReqdeskReturn;\n//# sourceMappingURL=useReqdesk.d.ts.map\n//#endregion\n//#region src/queries.d.ts\ndeclare const reqdeskTicketDetailOptions: (client: ApiClient, ticketId: string) => _tanstack_react_query0.OmitKeyof<_tanstack_react_query0.UseQueryOptions<_reqdesk_sdk_core0.TicketDetail, Error, _reqdesk_sdk_core0.TicketDetail, string[]>, \"queryFn\"> & {\n queryFn?: _tanstack_react_query0.QueryFunction<_reqdesk_sdk_core0.TicketDetail, string[], never> | undefined;\n} & {\n queryKey: string[] & {\n [dataTagSymbol]: _reqdesk_sdk_core0.TicketDetail;\n [dataTagErrorSymbol]: Error;\n };\n};\ndeclare const reqdeskMyTicketsOptions: (client: ApiClient, projectId: string, userId: string, showAll?: boolean) => _tanstack_react_query0.OmitKeyof<_tanstack_react_query0.UseQueryOptions<_reqdesk_sdk_core0.TicketListItem[], Error, _reqdesk_sdk_core0.TicketListItem[], (string | boolean)[]>, \"queryFn\"> & {\n queryFn?: _tanstack_react_query0.QueryFunction<_reqdesk_sdk_core0.TicketListItem[], (string | boolean)[], never> | undefined;\n} & {\n queryKey: (string | boolean)[] & {\n [dataTagSymbol]: _reqdesk_sdk_core0.TicketListItem[];\n [dataTagErrorSymbol]: Error;\n };\n};\ndeclare const reqdeskUserOptions: (client: ApiClient, projectId: string, email: string) => _tanstack_react_query0.OmitKeyof<_tanstack_react_query0.UseQueryOptions<_reqdesk_sdk_core0.WidgetUser | null, Error, _reqdesk_sdk_core0.WidgetUser | null, string[]>, \"queryFn\"> & {\n queryFn?: _tanstack_react_query0.QueryFunction<_reqdesk_sdk_core0.WidgetUser | null, string[], never> | undefined;\n} & {\n queryKey: string[] & {\n [dataTagSymbol]: _reqdesk_sdk_core0.WidgetUser | null;\n [dataTagErrorSymbol]: Error;\n };\n};\ndeclare const reqdeskTrackTicketOptions: (client: ApiClient, token: string) => _tanstack_react_query0.OmitKeyof<_tanstack_react_query0.UseQueryOptions<_reqdesk_sdk_core0.TrackedTicketResult, Error, _reqdesk_sdk_core0.TrackedTicketResult, string[]>, \"queryFn\"> & {\n queryFn?: _tanstack_react_query0.QueryFunction<_reqdesk_sdk_core0.TrackedTicketResult, string[], never> | undefined;\n} & {\n queryKey: string[] & {\n [dataTagSymbol]: _reqdesk_sdk_core0.TrackedTicketResult;\n [dataTagErrorSymbol]: Error;\n };\n};\ndeclare const reqdeskCategoriesOptions: (client: ApiClient, projectId: string, parentId?: string | null) => _tanstack_react_query0.OmitKeyof<_tanstack_react_query0.UseQueryOptions<_reqdesk_sdk_core0.CategoryItem[], Error, _reqdesk_sdk_core0.CategoryItem[], string[]>, \"queryFn\"> & {\n queryFn?: _tanstack_react_query0.QueryFunction<_reqdesk_sdk_core0.CategoryItem[], string[], never> | undefined;\n} & {\n queryKey: string[] & {\n [dataTagSymbol]: _reqdesk_sdk_core0.CategoryItem[];\n [dataTagErrorSymbol]: Error;\n };\n};\n//#endregion\nexport { type CapturedScreenshot, ContextSummary, type ContextSummaryProps, type DraftPartial, type HostAdapter, HostAdapterProvider, type InstanceCard, InstanceCardList, type InstanceCardListProps, type InstanceStatus, LedgerBadge, LedgerBadgeProps, LedgerButton, LedgerButtonProps, LedgerCard, LedgerCardProps, LedgerDivider, LedgerDividerProps, LedgerErrorText, LedgerErrorTextProps, LedgerEyebrow, LedgerEyebrowProps, LedgerIconButton, LedgerIconButtonProps, LedgerInput, LedgerInputProps, LedgerLivingDot, LedgerLivingDotProps, LedgerSection, LedgerSectionProps, LedgerSegmented, LedgerSegmentedOption, LedgerSegmentedProps, LedgerTextArea, LedgerTextAreaProps, LedgerToggleRow, LedgerToggleRowProps, MyTicketsView, type PageMetadataPayload, ProjectAutoDetectBadge, type ProjectAutoDetectBadgeProps, RecordedClipPreview, type RecordedClipPreviewProps, type RecordedStep, RecordedStepsList, type RecordedStepsListProps, type ReqdeskContextValue, ReqdeskProvider, type ReqdeskProviderProps, type ResolvedProject, type ScreenRecordOptions, ScreenRecorder, type ScreenRecorderProps, type ScreenRecordingController, type ScreenRecordingState, type ScreenshotScope, SubmitTicketView, TicketDetailView, TrackTicketView, type UseReqdeskReturn, ensureLedgerStylesInjected, noopHostAdapter, reqdeskCategoriesOptions, reqdeskMyTicketsOptions, reqdeskTicketDetailOptions, reqdeskTrackTicketOptions, reqdeskUserOptions, useHostAdapter, useReqdesk, useReqdeskContext };\n//# sourceMappingURL=index-CqlucMJW.d.ts.map"],"mappings":"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"}