@burdenoff/website-sdk 2026.826.1 → 2026.828.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +88 -0
  2. package/dist/client/index.d.mts +2 -2
  3. package/dist/client/index.d.ts +2 -2
  4. package/dist/client/index.js +13 -7
  5. package/dist/client/index.js.map +1 -1
  6. package/dist/client/index.mjs +13 -7
  7. package/dist/client/index.mjs.map +1 -1
  8. package/dist/components/contact.js +13 -7
  9. package/dist/components/contact.js.map +1 -1
  10. package/dist/components/contact.mjs +13 -7
  11. package/dist/components/contact.mjs.map +1 -1
  12. package/dist/components/explore-cta.d.mts +26 -0
  13. package/dist/components/explore-cta.d.ts +26 -0
  14. package/dist/components/explore-cta.js +108 -0
  15. package/dist/components/explore-cta.js.map +1 -0
  16. package/dist/components/explore-cta.mjs +106 -0
  17. package/dist/components/explore-cta.mjs.map +1 -0
  18. package/dist/components/explore.d.mts +43 -0
  19. package/dist/components/explore.d.ts +43 -0
  20. package/dist/components/explore.js +2219 -0
  21. package/dist/components/explore.js.map +1 -0
  22. package/dist/components/explore.mjs +2193 -0
  23. package/dist/components/explore.mjs.map +1 -0
  24. package/dist/components/newsletter.js +13 -7
  25. package/dist/components/newsletter.js.map +1 -1
  26. package/dist/components/newsletter.mjs +13 -7
  27. package/dist/components/newsletter.mjs.map +1 -1
  28. package/dist/components/partners.js +13 -7
  29. package/dist/components/partners.js.map +1 -1
  30. package/dist/components/partners.mjs +13 -7
  31. package/dist/components/partners.mjs.map +1 -1
  32. package/dist/components/pricing.js +13 -7
  33. package/dist/components/pricing.js.map +1 -1
  34. package/dist/components/pricing.mjs +13 -7
  35. package/dist/components/pricing.mjs.map +1 -1
  36. package/dist/components/resource-links.js +13 -7
  37. package/dist/components/resource-links.js.map +1 -1
  38. package/dist/components/resource-links.mjs +13 -7
  39. package/dist/components/resource-links.mjs.map +1 -1
  40. package/dist/components/social-links.js +13 -7
  41. package/dist/components/social-links.js.map +1 -1
  42. package/dist/components/social-links.mjs +13 -7
  43. package/dist/components/social-links.mjs.map +1 -1
  44. package/dist/components/unsubscribe.js +13 -7
  45. package/dist/components/unsubscribe.js.map +1 -1
  46. package/dist/components/unsubscribe.mjs +13 -7
  47. package/dist/components/unsubscribe.mjs.map +1 -1
  48. package/dist/components/waitlist.js +13 -7
  49. package/dist/components/waitlist.js.map +1 -1
  50. package/dist/components/waitlist.mjs +13 -7
  51. package/dist/components/waitlist.mjs.map +1 -1
  52. package/dist/content/index.d.mts +2 -2
  53. package/dist/content/index.d.ts +2 -2
  54. package/dist/content/index.js +13 -7
  55. package/dist/content/index.js.map +1 -1
  56. package/dist/content/index.mjs +13 -7
  57. package/dist/content/index.mjs.map +1 -1
  58. package/dist/{graphql-client-Cv6TO6hn.d.mts → graphql-client-BXn6RYV0.d.mts} +31 -4
  59. package/dist/{graphql-client-Cv6TO6hn.d.ts → graphql-client-BXn6RYV0.d.ts} +31 -4
  60. package/dist/hooks/index.d.mts +1 -0
  61. package/dist/hooks/index.d.ts +1 -0
  62. package/dist/hooks/index.js +1145 -0
  63. package/dist/hooks/index.js.map +1 -0
  64. package/dist/hooks/index.mjs +1140 -0
  65. package/dist/hooks/index.mjs.map +1 -0
  66. package/dist/{index-Cts2CAMO.d.ts → index-BXg7cQLm.d.ts} +1 -1
  67. package/dist/index-CUJTTlYx.d.mts +244 -0
  68. package/dist/index-CUJTTlYx.d.ts +244 -0
  69. package/dist/{index-B36goDSY.d.mts → index-DYxQiEm5.d.mts} +1 -1
  70. package/dist/index.d.mts +9 -6
  71. package/dist/index.d.ts +9 -6
  72. package/dist/index.js +2000 -426
  73. package/dist/index.js.map +1 -1
  74. package/dist/index.mjs +1990 -428
  75. package/dist/index.mjs.map +1 -1
  76. package/dist/product/index.js +13 -7
  77. package/dist/product/index.js.map +1 -1
  78. package/dist/product/index.mjs +13 -7
  79. package/dist/product/index.mjs.map +1 -1
  80. package/dist/{provider-BZlnZDBb.d.mts → provider-CUfI8meE.d.mts} +1 -1
  81. package/dist/{provider-CRLmsW5h.d.ts → provider-D_uUM7_e.d.ts} +1 -1
  82. package/dist/store/index.js +13 -7
  83. package/dist/store/index.js.map +1 -1
  84. package/dist/store/index.mjs +13 -7
  85. package/dist/store/index.mjs.map +1 -1
  86. package/dist/utils/index.d.mts +49 -1
  87. package/dist/utils/index.d.ts +49 -1
  88. package/dist/utils/index.js +70 -0
  89. package/dist/utils/index.js.map +1 -1
  90. package/dist/utils/index.mjs +68 -1
  91. package/dist/utils/index.mjs.map +1 -1
  92. package/package.json +6 -1
@@ -0,0 +1,244 @@
1
+ /**
2
+ * Explore chat — TypeScript mirror of the public `/explore` GraphQL contract.
3
+ *
4
+ * Canonical source: `~/products/dev/platform/context/explore/CONTRACT.md` §1
5
+ * (global-support-svc, served through the global PUBLIC gateway with
6
+ * `@rbac(public: true, scopeType: "global")`).
7
+ *
8
+ * Nothing in this file may drift from that document. If a shape here looks
9
+ * wrong, fix CONTRACT.md first and tell the backend workstreams — never patch
10
+ * it locally.
11
+ *
12
+ * Nullability note: the contract marks `title`, `description`, `product`,
13
+ * `imageUrl`, `partialContent`, `errorCode`, `completedAt`, `productSlug`,
14
+ * `recaptchaSiteKey` and `remainingToday` as nullable, so every one of them is
15
+ * `?: T | null` here — a GraphQL `null` and an omitted selection both have to
16
+ * be representable.
17
+ */
18
+ type ExploreMessageRole = "USER" | "ASSISTANT";
19
+ type ExploreMessageStatus = "PENDING" | "RUNNING" | "COMPLETED" | "FAILED";
20
+ /**
21
+ * The `ExploreCta.kind` values enumerated in CONTRACT.md §1.
22
+ *
23
+ * `ExploreCtaLink.kind` is deliberately typed `string`, not this union: the
24
+ * field is `String!` on the wire, and a kind added server-side must render
25
+ * (falling back to the neutral CTA style) rather than break the build of 38
26
+ * websites. Use this union when you are *producing* a kind.
27
+ */
28
+ type ExploreCtaKind = "CONTACT" | "PARTNERS" | "PRICING" | "SERVICES" | "WAITLIST" | "STORE" | "APP" | "DOCS" | "OTHER";
29
+ /**
30
+ * Error codes surfaced through `extensions.code`. `HTTP_429` is what the
31
+ * gateway emits when it rate-limits at the edge; the SDK client also produces
32
+ * `TIMEOUT` / `NETWORK_ERROR` for transport failures.
33
+ */
34
+ type ExploreErrorCode = "EXPLORE_DISABLED" | "RATE_LIMITED" | "EXPLORE_GLOBAL_LIMIT" | "CAPTCHA_REQUIRED" | "CAPTCHA_FAILED" | "MESSAGE_TOO_LONG" | "MESSAGE_EMPTY" | "CONVERSATION_LIMIT" | "CONVERSATION_BUSY" | "UPSTREAM_UNAVAILABLE" | "NOT_FOUND" | "HTTP_429" | "TIMEOUT" | "NETWORK_ERROR";
35
+ /** `type ExploreReference` — a cited source page for an answer. */
36
+ interface ExploreReference {
37
+ url: string;
38
+ title?: string | null;
39
+ description?: string | null;
40
+ product?: string | null;
41
+ imageUrl?: string | null;
42
+ }
43
+ /**
44
+ * `type ExploreCta` — a suggested next step attached to an answer.
45
+ *
46
+ * Named `ExploreCtaLink` in the SDK because `ExploreCta` is taken by the
47
+ * exported nav component (`<ExploreCta variant="header" />`). Same shape,
48
+ * different name; the GraphQL type is unchanged.
49
+ */
50
+ interface ExploreCtaLink {
51
+ /** One of {@link ExploreCtaKind}; unknown values render with the neutral style. */
52
+ kind: string;
53
+ label: string;
54
+ url: string;
55
+ product?: string | null;
56
+ }
57
+ /** `type ExploreMessage`. `content` is `""` while the turn is PENDING. */
58
+ interface ExploreMessage {
59
+ id: string;
60
+ conversationId: string;
61
+ role: ExploreMessageRole;
62
+ status: ExploreMessageStatus;
63
+ /** Final answer, markdown. Empty string until the turn completes. */
64
+ content: string;
65
+ /** Streaming preview while PENDING/RUNNING. */
66
+ partialContent?: string | null;
67
+ /** Human-readable progress lines, e.g. "Searching vibecontrols…". */
68
+ activity: string[];
69
+ references: ExploreReference[];
70
+ ctas: ExploreCtaLink[];
71
+ errorCode?: string | null;
72
+ createdAt: string;
73
+ completedAt?: string | null;
74
+ }
75
+ /** `type ExploreConversation`. `token` is the client's only handle. */
76
+ interface ExploreConversation {
77
+ id: string;
78
+ token: string;
79
+ productSlug?: string | null;
80
+ turnCount: number;
81
+ createdAt: string;
82
+ }
83
+ /** `type ExploreProduct` — one product the harness can answer about. */
84
+ interface ExploreProduct {
85
+ slug: string;
86
+ name: string;
87
+ tagline?: string | null;
88
+ website: string;
89
+ }
90
+ /** `type ExploreLimits` — server-owned caps the composer enforces locally. */
91
+ interface ExploreLimits {
92
+ maxMessageLength: number;
93
+ maxTurnsPerConversation: number;
94
+ messagesPerDay: number;
95
+ historyTurns: number;
96
+ }
97
+ /**
98
+ * `type ExploreCatalog` — everything the page needs before the first message.
99
+ *
100
+ * `captchaRequired` + `recaptchaSiteKey` are what turn reCAPTCHA v3 on: it is
101
+ * a backend secret change, and no website redeploy is involved.
102
+ */
103
+ interface ExploreCatalog {
104
+ enabled: boolean;
105
+ products: ExploreProduct[];
106
+ examplePrompts: string[];
107
+ welcomeTitle: string;
108
+ welcomeBody: string;
109
+ limits: ExploreLimits;
110
+ captchaRequired: boolean;
111
+ recaptchaSiteKey?: string | null;
112
+ }
113
+ /** `input SendExploreMessageInput`. */
114
+ interface SendExploreMessageInput {
115
+ /** Omit to start a new conversation. */
116
+ conversationToken?: string;
117
+ /** The site the visitor is on — a soft hint, not a hard filter. */
118
+ productSlug?: string;
119
+ message: string;
120
+ /** Only sent when `catalog.captchaRequired`. */
121
+ recaptchaToken?: string;
122
+ locale?: string;
123
+ pageUrl?: string;
124
+ }
125
+ /**
126
+ * `type SendExploreMessageResult`.
127
+ *
128
+ * **`assistantMessage.id` is the id to poll** — it comes back `PENDING`.
129
+ */
130
+ interface SendExploreMessageResult {
131
+ conversation: ExploreConversation;
132
+ userMessage: ExploreMessage;
133
+ assistantMessage: ExploreMessage;
134
+ remainingToday?: number | null;
135
+ }
136
+ /** Loaded once per page. Safe to serve from the SDK's 5-minute query cache. */
137
+ declare const EXPLORE_CATALOG_QUERY = "\n query ExploreCatalog($productSlug: String) {\n exploreCatalog(productSlug: $productSlug) {\n enabled\n products {\n slug\n name\n tagline\n website\n }\n examplePrompts\n welcomeTitle\n welcomeBody\n limits {\n maxMessageLength\n maxTurnsPerConversation\n messagesPerDay\n historyTurns\n }\n captchaRequired\n recaptchaSiteKey\n }\n }\n";
138
+ /**
139
+ * The poll. MUST be issued with `client.query(..., { cache: false })` — the
140
+ * default 5-minute cache would return the first PENDING snapshot forever and
141
+ * the answer would never appear.
142
+ */
143
+ declare const EXPLORE_MESSAGE_QUERY = "\n query ExploreMessage($conversationToken: String!, $id: ID!) {\n exploreMessage(conversationToken: $conversationToken, id: $id) {\n \n id\n conversationId\n role\n status\n content\n partialContent\n activity\n references {\n url\n title\n description\n product\n imageUrl\n }\n ctas {\n kind\n label\n url\n product\n }\n errorCode\n createdAt\n completedAt\n\n }\n }\n";
144
+ /** Submit half of the submit + poll pair. */
145
+ declare const SEND_EXPLORE_MESSAGE_MUTATION = "\n mutation SendExploreMessage($input: SendExploreMessageInput!) {\n sendExploreMessage(input: $input) {\n conversation {\n id\n token\n productSlug\n turnCount\n createdAt\n }\n userMessage {\n \n id\n conversationId\n role\n status\n content\n partialContent\n activity\n references {\n url\n title\n description\n product\n imageUrl\n }\n ctas {\n kind\n label\n url\n product\n }\n errorCode\n createdAt\n completedAt\n\n }\n assistantMessage {\n \n id\n conversationId\n role\n status\n content\n partialContent\n activity\n references {\n url\n title\n description\n product\n imageUrl\n }\n ctas {\n kind\n label\n url\n product\n }\n errorCode\n createdAt\n completedAt\n\n }\n remainingToday\n }\n }\n";
146
+ interface ExploreCatalogQueryData {
147
+ exploreCatalog: ExploreCatalog;
148
+ }
149
+ interface ExploreMessageQueryData {
150
+ exploreMessage: ExploreMessage | null;
151
+ }
152
+ interface SendExploreMessageMutationData {
153
+ sendExploreMessage: SendExploreMessageResult;
154
+ }
155
+
156
+ /**
157
+ * Where the conversation is right now.
158
+ *
159
+ * - `loading` — catalog request in flight (the fallback catalog is already
160
+ * rendered, so this is a refinement, not a blank screen).
161
+ * - `ready` — idle; the composer accepts input.
162
+ * - `sending` — `sendExploreMessage` in flight.
163
+ * - `streaming` — polling the assistant turn; `activity` is live.
164
+ * - `error` — the last turn failed; `retry()` is meaningful and the
165
+ * composer stays usable.
166
+ * - `limited` — rate limited; the composer is disabled.
167
+ * - `disabled` — `exploreCatalog.enabled === false`.
168
+ */
169
+ type ExploreChatPhase = "loading" | "ready" | "sending" | "streaming" | "error" | "limited" | "disabled";
170
+ /** Coarse bucket the UI switches its banner copy and affordances on. */
171
+ type ExploreChatErrorKind = "rate-limit" | "captcha" | "timeout" | "network" | "disabled" | "validation" | "unknown";
172
+ interface ExploreChatError {
173
+ /** UI bucket. */
174
+ kind: ExploreChatErrorKind;
175
+ /** Raw `extensions.code` (or a client-side code such as `TIMEOUT`). */
176
+ code: string;
177
+ /** Human-readable, safe to render. */
178
+ message: string;
179
+ /** Whether re-sending the same message could plausibly succeed. */
180
+ retryable: boolean;
181
+ }
182
+ interface UseExploreChatOptions {
183
+ /** Slug of the product site this page is on — a soft hint to the harness. */
184
+ productSlug?: string;
185
+ /** Full URL of the page, forwarded as `pageUrl`. */
186
+ pageUrl?: string;
187
+ /** BCP-47 locale, forwarded as `locale`. */
188
+ locale?: string;
189
+ /** Poll cadence in ms. Default 1500 (CONTRACT.md §1). */
190
+ pollIntervalMs?: number;
191
+ /** Give up on a turn after this long. Default 90000 (the edge poll timeout). */
192
+ pollTimeoutMs?: number;
193
+ /**
194
+ * Prompts to offer when `exploreCatalog` supplies none. Resolution order is
195
+ * catalog → this option → {@link DEFAULT_EXPLORE_EXAMPLE_PROMPTS}, so a site
196
+ * can ship product-specific prompts without waiting on the backend and still
197
+ * be overridden centrally once the catalog carries them.
198
+ */
199
+ examplePrompts?: string[];
200
+ /** sessionStorage key. Default `boff.explore.v1`. */
201
+ storageKey?: string;
202
+ /** Persist the conversation across reloads within the tab. Default true. */
203
+ persist?: boolean;
204
+ /** Called with the message text each time a send is accepted locally. */
205
+ onSend?: (message: string) => void;
206
+ }
207
+ interface UseExploreChatResult {
208
+ phase: ExploreChatPhase;
209
+ /** Never null — starts as the static fallback, upgraded by the server. */
210
+ catalog: ExploreCatalog;
211
+ messages: ExploreMessage[];
212
+ /** Latest progress line of the in-flight turn, or null when idle. */
213
+ activity: string | null;
214
+ /** Messages left today for this visitor, when the server reports it. */
215
+ remainingToday: number | null;
216
+ error: ExploreChatError | null;
217
+ /** Product the visitor pinned the conversation to, or null for "all". */
218
+ focusProduct: string | null;
219
+ setFocusProduct: (slug: string | null) => void;
220
+ send: (message: string) => Promise<void>;
221
+ /** Stop polling and keep whatever text has streamed so far. */
222
+ stop: () => void;
223
+ /** Re-send the last message after a failed turn. */
224
+ retry: () => void;
225
+ /** Clear the conversation and the persisted session. */
226
+ reset: () => void;
227
+ canSend: boolean;
228
+ }
229
+ /** Fallback limits, mirroring the server defaults in CONTRACT.md §3. */
230
+ declare const FALLBACK_EXPLORE_LIMITS: ExploreLimits;
231
+ /**
232
+ * Prompts shown when neither the catalog nor the consumer supplies any.
233
+ * Deliberately product-agnostic — this SDK renders on 38 different sites.
234
+ */
235
+ declare const DEFAULT_EXPLORE_EXAMPLE_PROMPTS: string[];
236
+ /**
237
+ * Map a `extensions.code` (or a client-side transport code) onto the bucket the
238
+ * UI renders. Unknown codes are treated as retryable — a transient backend
239
+ * condition we have not enumerated is far more likely than a permanent one.
240
+ */
241
+ declare function classifyExploreError(code: string | null | undefined, serverMessage?: string | null): ExploreChatError;
242
+ declare function useExploreChat(options?: UseExploreChatOptions): UseExploreChatResult;
243
+
244
+ export { DEFAULT_EXPLORE_EXAMPLE_PROMPTS as D, EXPLORE_CATALOG_QUERY as E, FALLBACK_EXPLORE_LIMITS as F, SEND_EXPLORE_MESSAGE_MUTATION as S, type UseExploreChatOptions as U, EXPLORE_MESSAGE_QUERY as a, type ExploreCatalog as b, type ExploreCatalogQueryData as c, type ExploreChatError as d, type ExploreChatErrorKind as e, type ExploreChatPhase as f, type ExploreConversation as g, type ExploreCtaKind as h, type ExploreCtaLink as i, type ExploreErrorCode as j, type ExploreLimits as k, type ExploreMessage as l, type ExploreMessageQueryData as m, type ExploreMessageRole as n, type ExploreMessageStatus as o, type ExploreProduct as p, type ExploreReference as q, type SendExploreMessageInput as r, type SendExploreMessageMutationData as s, type SendExploreMessageResult as t, type UseExploreChatResult as u, classifyExploreError as v, useExploreChat as w };
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode } from 'react';
3
3
  import { Components } from 'react-markdown';
4
- import { W as WebSDKClient } from './graphql-client-Cv6TO6hn.mjs';
4
+ import { W as WebSDKClient } from './graphql-client-BXn6RYV0.mjs';
5
5
 
6
6
  /** A job posting option for the CareersApplyForm dropdown. */
7
7
  interface CareersPostingOption {
package/dist/index.d.mts CHANGED
@@ -1,9 +1,9 @@
1
- export { W as WebSDKClient, a as WebSDKClientConfig } from './graphql-client-Cv6TO6hn.mjs';
2
- export { W as WebSDKProvider, a as WebSDKProviderProps, u as useWebSDK, b as useWebSDKConfig } from './provider-BZlnZDBb.mjs';
1
+ export { G as GraphQLResponse, W as WebSDKClient, a as WebSDKClientConfig, b as WebSDKMutateOptions, c as WebSDKQueryOptions } from './graphql-client-BXn6RYV0.mjs';
2
+ export { W as WebSDKProvider, a as WebSDKProviderProps, u as useWebSDK, b as useWebSDKConfig } from './provider-CUfI8meE.mjs';
3
3
  export { ContactCategory, ContactPage, ContactPageProps, DEFAULT_CONTACT_CATEGORIES } from './components/contact.mjs';
4
4
  export { PartnersPage, PartnersPageProps } from './components/partners.mjs';
5
- import { C as CareersPostingOption } from './index-B36goDSY.mjs';
6
- export { B as BlogListPage, a as BlogListPageProps, b as BlogPostPage, c as BlogPostPageProps, d as CareersApplyForm, e as CareersApplyFormProps, f as CaseStudiesListPage, g as CaseStudiesListPageProps, h as CaseStudyPage, i as CaseStudyPageProps, j as ChangelogEntry, k as ChangelogPage, l as ChangelogPageProps, m as ContentPageData, n as ContentPageListData, o as ContentPageListItem, p as ContentRenderer, q as ContractAsset, r as ContractsPage, s as ContractsPageProps, M as Markdown, t as MarkdownProps, P as PressKitAsset, u as PressKitAssetCategory, v as PressKitPage, w as PressKitPageProps, x as PublicInterviewRoundConfig, y as PublicJobPosting, U as UsePublicJobPostingOptions, z as UsePublicJobPostingsOptions, A as fetchPublicJobPosting, D as fetchPublicJobPostings, E as fetchPublicJobPostingsForSubmission, F as useContentPage, G as useContentPages, H as usePublicJobPosting, I as usePublicJobPostings, J as usePublicJobPostingsForSubmission } from './index-B36goDSY.mjs';
5
+ import { C as CareersPostingOption } from './index-DYxQiEm5.mjs';
6
+ export { B as BlogListPage, a as BlogListPageProps, b as BlogPostPage, c as BlogPostPageProps, d as CareersApplyForm, e as CareersApplyFormProps, f as CaseStudiesListPage, g as CaseStudiesListPageProps, h as CaseStudyPage, i as CaseStudyPageProps, j as ChangelogEntry, k as ChangelogPage, l as ChangelogPageProps, m as ContentPageData, n as ContentPageListData, o as ContentPageListItem, p as ContentRenderer, q as ContractAsset, r as ContractsPage, s as ContractsPageProps, M as Markdown, t as MarkdownProps, P as PressKitAsset, u as PressKitAssetCategory, v as PressKitPage, w as PressKitPageProps, x as PublicInterviewRoundConfig, y as PublicJobPosting, U as UsePublicJobPostingOptions, z as UsePublicJobPostingsOptions, A as fetchPublicJobPosting, D as fetchPublicJobPostings, E as fetchPublicJobPostingsForSubmission, F as useContentPage, G as useContentPages, H as usePublicJobPosting, I as usePublicJobPostings, J as usePublicJobPostingsForSubmission } from './index-DYxQiEm5.mjs';
7
7
  import * as react from 'react';
8
8
  export { NewsletterForm, NewsletterFormProps, NewsletterPage, NewsletterPageProps } from './components/newsletter.mjs';
9
9
  export { PlanCard, PricingPage, PricingProps, PricingSection } from './components/pricing.mjs';
@@ -16,6 +16,9 @@ export { WebsiteSwitcher, WebsiteSwitcherProps } from './components/website-swit
16
16
  export { LaunchCountdown, LaunchCountdownProps } from './components/launch-countdown.mjs';
17
17
  export { ProblemSolved, ProblemsSolvedSection, ProblemsSolvedSectionProps } from './components/problems-solved.mjs';
18
18
  export { DetectedPlatform, ElectronDownloadLink, ElectronDownloadLinkProps, detectElectronPlatform } from './components/electron-download.mjs';
19
+ export { ExplorePage, ExplorePageProps } from './components/explore.mjs';
20
+ export { ExploreCta, ExploreCtaProps } from './components/explore-cta.mjs';
21
+ export { D as DEFAULT_EXPLORE_EXAMPLE_PROMPTS, E as EXPLORE_CATALOG_QUERY, a as EXPLORE_MESSAGE_QUERY, b as ExploreCatalog, c as ExploreCatalogQueryData, d as ExploreChatError, e as ExploreChatErrorKind, f as ExploreChatPhase, g as ExploreConversation, h as ExploreCtaKind, i as ExploreCtaLink, j as ExploreErrorCode, k as ExploreLimits, l as ExploreMessage, m as ExploreMessageQueryData, n as ExploreMessageRole, o as ExploreMessageStatus, p as ExploreProduct, q as ExploreReference, F as FALLBACK_EXPLORE_LIMITS, S as SEND_EXPLORE_MESSAGE_MUTATION, r as SendExploreMessageInput, s as SendExploreMessageMutationData, t as SendExploreMessageResult, U as UseExploreChatOptions, u as UseExploreChatResult, v as classifyExploreError, w as useExploreChat } from './index-CUJTTlYx.mjs';
19
22
  export { RybbitAnalytics, RybbitAnalyticsProps } from './analytics/index.mjs';
20
23
  export { PageHead, PageHeadProps } from './seo/index.mjs';
21
24
  export { ProductData, ProductProvider, ProductProviderProps, useProduct, useProductConfig } from './product/index.mjs';
@@ -23,7 +26,7 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
23
26
  import { VariantProps } from 'class-variance-authority';
24
27
  import * as LabelPrimitive from '@radix-ui/react-label';
25
28
  export { B as BrowseStoreResult, G as GroupedStoreProducts, P as ProductCard, a as ProductCategory, R as RatingDistribution, S as SearchSuggestion, b as StarRating, c as StoreBrowsePage, d as StoreBrowsePageProps, e as StoreFacet, f as StoreFacets, g as StoreHomePage, h as StoreHomePageProps, i as StorePageProps, j as StoreProduct, k as StoreProductDetailPage, l as StoreProductDetailPageProps, m as StoreProductDetails, n as StorePublisher, o as StoreReview, p as StoreTerminology, q as StoreTypeFilter, T as TypeBadge, r as formatDownloads, s as formatPrice } from './product-card-CGxETsFa.mjs';
26
- export { cn } from './utils/index.mjs';
29
+ export { EXPLORE_RECAPTCHA_ACTION, RecaptchaV3, cn, getRecaptchaV3Token, loadRecaptchaV3 } from './utils/index.mjs';
27
30
  import 'react-markdown';
28
31
  import 'clsx';
29
32
 
@@ -59,7 +62,7 @@ declare function CareersSubmissionForm({ productName, recaptchaSiteKey, postings
59
62
 
60
63
  declare const buttonVariants: (props?: ({
61
64
  variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
62
- size?: "icon" | "default" | "sm" | "lg" | null | undefined;
65
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
63
66
  } & class_variance_authority_types.ClassProp) | undefined) => string;
64
67
  interface ButtonProps extends react.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
65
68
  asChild?: boolean;
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- export { W as WebSDKClient, a as WebSDKClientConfig } from './graphql-client-Cv6TO6hn.js';
2
- export { W as WebSDKProvider, a as WebSDKProviderProps, u as useWebSDK, b as useWebSDKConfig } from './provider-CRLmsW5h.js';
1
+ export { G as GraphQLResponse, W as WebSDKClient, a as WebSDKClientConfig, b as WebSDKMutateOptions, c as WebSDKQueryOptions } from './graphql-client-BXn6RYV0.js';
2
+ export { W as WebSDKProvider, a as WebSDKProviderProps, u as useWebSDK, b as useWebSDKConfig } from './provider-D_uUM7_e.js';
3
3
  export { ContactCategory, ContactPage, ContactPageProps, DEFAULT_CONTACT_CATEGORIES } from './components/contact.js';
4
4
  export { PartnersPage, PartnersPageProps } from './components/partners.js';
5
- import { C as CareersPostingOption } from './index-Cts2CAMO.js';
6
- export { B as BlogListPage, a as BlogListPageProps, b as BlogPostPage, c as BlogPostPageProps, d as CareersApplyForm, e as CareersApplyFormProps, f as CaseStudiesListPage, g as CaseStudiesListPageProps, h as CaseStudyPage, i as CaseStudyPageProps, j as ChangelogEntry, k as ChangelogPage, l as ChangelogPageProps, m as ContentPageData, n as ContentPageListData, o as ContentPageListItem, p as ContentRenderer, q as ContractAsset, r as ContractsPage, s as ContractsPageProps, M as Markdown, t as MarkdownProps, P as PressKitAsset, u as PressKitAssetCategory, v as PressKitPage, w as PressKitPageProps, x as PublicInterviewRoundConfig, y as PublicJobPosting, U as UsePublicJobPostingOptions, z as UsePublicJobPostingsOptions, A as fetchPublicJobPosting, D as fetchPublicJobPostings, E as fetchPublicJobPostingsForSubmission, F as useContentPage, G as useContentPages, H as usePublicJobPosting, I as usePublicJobPostings, J as usePublicJobPostingsForSubmission } from './index-Cts2CAMO.js';
5
+ import { C as CareersPostingOption } from './index-BXg7cQLm.js';
6
+ export { B as BlogListPage, a as BlogListPageProps, b as BlogPostPage, c as BlogPostPageProps, d as CareersApplyForm, e as CareersApplyFormProps, f as CaseStudiesListPage, g as CaseStudiesListPageProps, h as CaseStudyPage, i as CaseStudyPageProps, j as ChangelogEntry, k as ChangelogPage, l as ChangelogPageProps, m as ContentPageData, n as ContentPageListData, o as ContentPageListItem, p as ContentRenderer, q as ContractAsset, r as ContractsPage, s as ContractsPageProps, M as Markdown, t as MarkdownProps, P as PressKitAsset, u as PressKitAssetCategory, v as PressKitPage, w as PressKitPageProps, x as PublicInterviewRoundConfig, y as PublicJobPosting, U as UsePublicJobPostingOptions, z as UsePublicJobPostingsOptions, A as fetchPublicJobPosting, D as fetchPublicJobPostings, E as fetchPublicJobPostingsForSubmission, F as useContentPage, G as useContentPages, H as usePublicJobPosting, I as usePublicJobPostings, J as usePublicJobPostingsForSubmission } from './index-BXg7cQLm.js';
7
7
  import * as react from 'react';
8
8
  export { NewsletterForm, NewsletterFormProps, NewsletterPage, NewsletterPageProps } from './components/newsletter.js';
9
9
  export { PlanCard, PricingPage, PricingProps, PricingSection } from './components/pricing.js';
@@ -16,6 +16,9 @@ export { WebsiteSwitcher, WebsiteSwitcherProps } from './components/website-swit
16
16
  export { LaunchCountdown, LaunchCountdownProps } from './components/launch-countdown.js';
17
17
  export { ProblemSolved, ProblemsSolvedSection, ProblemsSolvedSectionProps } from './components/problems-solved.js';
18
18
  export { DetectedPlatform, ElectronDownloadLink, ElectronDownloadLinkProps, detectElectronPlatform } from './components/electron-download.js';
19
+ export { ExplorePage, ExplorePageProps } from './components/explore.js';
20
+ export { ExploreCta, ExploreCtaProps } from './components/explore-cta.js';
21
+ export { D as DEFAULT_EXPLORE_EXAMPLE_PROMPTS, E as EXPLORE_CATALOG_QUERY, a as EXPLORE_MESSAGE_QUERY, b as ExploreCatalog, c as ExploreCatalogQueryData, d as ExploreChatError, e as ExploreChatErrorKind, f as ExploreChatPhase, g as ExploreConversation, h as ExploreCtaKind, i as ExploreCtaLink, j as ExploreErrorCode, k as ExploreLimits, l as ExploreMessage, m as ExploreMessageQueryData, n as ExploreMessageRole, o as ExploreMessageStatus, p as ExploreProduct, q as ExploreReference, F as FALLBACK_EXPLORE_LIMITS, S as SEND_EXPLORE_MESSAGE_MUTATION, r as SendExploreMessageInput, s as SendExploreMessageMutationData, t as SendExploreMessageResult, U as UseExploreChatOptions, u as UseExploreChatResult, v as classifyExploreError, w as useExploreChat } from './index-CUJTTlYx.js';
19
22
  export { RybbitAnalytics, RybbitAnalyticsProps } from './analytics/index.js';
20
23
  export { PageHead, PageHeadProps } from './seo/index.js';
21
24
  export { ProductData, ProductProvider, ProductProviderProps, useProduct, useProductConfig } from './product/index.js';
@@ -23,7 +26,7 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
23
26
  import { VariantProps } from 'class-variance-authority';
24
27
  import * as LabelPrimitive from '@radix-ui/react-label';
25
28
  export { B as BrowseStoreResult, G as GroupedStoreProducts, P as ProductCard, a as ProductCategory, R as RatingDistribution, S as SearchSuggestion, b as StarRating, c as StoreBrowsePage, d as StoreBrowsePageProps, e as StoreFacet, f as StoreFacets, g as StoreHomePage, h as StoreHomePageProps, i as StorePageProps, j as StoreProduct, k as StoreProductDetailPage, l as StoreProductDetailPageProps, m as StoreProductDetails, n as StorePublisher, o as StoreReview, p as StoreTerminology, q as StoreTypeFilter, T as TypeBadge, r as formatDownloads, s as formatPrice } from './product-card-CGxETsFa.js';
26
- export { cn } from './utils/index.js';
29
+ export { EXPLORE_RECAPTCHA_ACTION, RecaptchaV3, cn, getRecaptchaV3Token, loadRecaptchaV3 } from './utils/index.js';
27
30
  import 'react-markdown';
28
31
  import 'clsx';
29
32
 
@@ -59,7 +62,7 @@ declare function CareersSubmissionForm({ productName, recaptchaSiteKey, postings
59
62
 
60
63
  declare const buttonVariants: (props?: ({
61
64
  variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
62
- size?: "icon" | "default" | "sm" | "lg" | null | undefined;
65
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
63
66
  } & class_variance_authority_types.ClassProp) | undefined) => string;
64
67
  interface ButtonProps extends react.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
65
68
  asChild?: boolean;